This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
product:usb2ax:dynamixel_protocol_notes [2015/02/09 10:38] xevel |
product:usb2ax:dynamixel_protocol_notes [2015/02/10 18:39] (current) xevel |
||
---|---|---|---|
Line 50: | Line 50: | ||
Depending on when the motor-control interrupt fires, these time can increase by up to the duration of that interrupt (see below). | Depending on when the motor-control interrupt fires, these time can increase by up to the duration of that interrupt (see below). | ||
- | WRITE_DATA to EEPROM memory will answer with the same delay, but then the servo will not answer to another command before many milliseconds (up to 9*N **ms** based on the ATMega8 datasheet, though experimental verification put it at around 6 +/-1 ms per byte). | + | WRITE_DATA to EEPROM memory will answer with the same delay, but then the servo will not answer to another command before many milliseconds (up to 9 **ms** per byte based on the ATMega8 datasheet, though experimental verification put it at around 6 +/-1 ms per byte). |
+ | |||
+ | It seems that for most operations, the status packet is sent after everything has been checked but applied after the status packet. | ||
+ | |||
== Motor-control interrupt == | == Motor-control interrupt == | ||
The motor control interrupt runs every 1ms on an AX servo, and lasts about 130µs. during that time, no communication can occur, though incoming bytes are not lost. If it occurs in the middle of a packet, then that delay will be observed between two bytes, that would have been otherwise back to back. | The motor control interrupt runs every 1ms on an AX servo, and lasts about 130µs. during that time, no communication can occur, though incoming bytes are not lost. If it occurs in the middle of a packet, then that delay will be observed between two bytes, that would have been otherwise back to back. |