|
The program for the main board was written in C. We used proved technique of access to all low level variables. Daisy had following outputs from iPAQ: PWM for the left and right motors, positions of four servos, watch dog, digital outputs. The inputs were: timer, encoders status, digital inputs, analog inputs. All communication was block oriented. The main board was always slave and the iPAQ master. Each block was protected with an extra checksum. The main board had only one task - directly realize commands from the master. There was one exception: if the time given by the watch dog elapsed turn both motors off. This feature was very useful for the moments when a cable was disconnected or the program was waiting on a forgotten breakpoint.
|