by chrisvo » Wed Dec 23, 2009 11:20 pm
by chrisvo
Wed Dec 23, 2009 11:20 pm
Here's some various data I gathered about the serial servo byte codes from HTH4 regarding ICS 3.0 commands (I have never tried these so I'm not sure about the accuracy of them or the process you need to use to communicate with the servos):
Commands appear to be 4 bytes long.
Main commands:
Get parameter: 0xa0
Set parameter: 0xc0
ID (base): 0xe0
Position (base): 0x80
Sub commands (for get/set parameter):
Get/Set EEPROM: 0x0
Get/Set Stretch: 0x1
Get/Set Speed: 0x2
Get/Set Temperature: 0x3
Example get / set position:
Get: {0x80 & id, 0, 0, 0}
Set: {0x80 & id, (pos >> 0x7) & 0x1f, pos & 0x1f, 0, 0}
Example using subcommands:
Get: {0xa0 & id, subcommand, 0, 0}
Set: {0xc0 & id, subcommand, data, 0}
Example getting / setting ID:
Get: {0xe0 & id, 0, 0, 0}
Set: {0xe0 & id, 1, 1, 1}
Here's some various data I gathered about the serial servo byte codes from HTH4 regarding ICS 3.0 commands (I have never tried these so I'm not sure about the accuracy of them or the process you need to use to communicate with the servos):
Commands appear to be 4 bytes long.
Main commands:
Get parameter: 0xa0
Set parameter: 0xc0
ID (base): 0xe0
Position (base): 0x80
Sub commands (for get/set parameter):
Get/Set EEPROM: 0x0
Get/Set Stretch: 0x1
Get/Set Speed: 0x2
Get/Set Temperature: 0x3
Example get / set position:
Get: {0x80 & id, 0, 0, 0}
Set: {0x80 & id, (pos >> 0x7) & 0x1f, pos & 0x1f, 0, 0}
Example using subcommands:
Get: {0xa0 & id, subcommand, 0, 0}
Set: {0xc0 & id, subcommand, data, 0}
Example getting / setting ID:
Get: {0xe0 & id, 0, 0, 0}
Set: {0xe0 & id, 1, 1, 1}