SOLVED: Devantech SD21 servo contr. and desperate programmer, after one year...

A little tidbit from Devantech if you are running version 7 of the firmware you can save your servo start positions

you write 0x5A to register 126 (dec)/7E (hex)

I use a different Ic2 library but I included an example here of my servo save function. I have a little function that checks for the SD21 and returns the address, firmware version and battery voltage. The voltage is a little useless as I use a BEC but it does confirm the BEC is functioning correctly.

Code notes:

The Address of the SD 21 is set globally
The delay is there to give the communication time to complete,
it is a debugging and testing setting only.

// Firmware Version 7 allows saving servo info

void Save_servo()
{
 // we write 0x5A to register 126 Decimal (7E hex)
 // fixed value
 
  err_c = I2c.write(SD21,0x7E);  // set the register pointer 
  if (err_c != 0)
    {
      Serial.print(err_c);
      Serial.println("  Save_Servo - Error setting Servo pointer");
    }  

 err_c = I2c.write(SD21,0x7E,0x5A);
  if (err_c != 0)
    {
      Serial.print(err_c);
      Serial.println("   Save_Servo - Error Saving Servo setting");
    }  
 
 delay (10);
}