In order to be able to move, the ASM robot have propeller systems along the 3 different axis. There is one propeller for each axis, so 3 of them. In addition to this, the robot have the ability to light up an internal light to "flash".
In order to control the robot displacement, there is some feedback sensor fiving an information when the robot have effectively advanced of one cube.
Activation of the propeller and information feedback is done by the means of a VPIA interface circuit located at the memory address 0x80000000.
This is what are the functions of the communication lines and respective bit in the data register of the VPIA circuit :
Bit | in/out | Name | Function |
---|---|---|---|
0 | out | X_AXIS_SERVO_POWER | Set to 0 to activate the X-axis servo propeller power. |
1 | out | X_AXIS_SERVO_DIRECTION | Set the direction for displacement along the X-Axis. |
2 | out | Y_AXIS_SERVO_POWER | Set to 0 to activate the Y-axis servo propeller power. |
3 | out | Y_AXIS_SERVO_DIRECTION | Set the direction for displacement along the Y-Axis. |
4 | out | Z_AXIS_SERVO_POWER | Set to 0 to activate the Z-axis servo propeller power. |
5 | out | Z_AXIS_SERVO_DIRECTION | Set the direction for displacement along the Z-Axis. |
6 | in | X_SERVO_FEEDBACK | Change state when robot has moved one cube along X-axis. |
7 | in | Y_SERVO_FEEDBACK | Change state when robot has moved one cube along Y-axis |
8 | in | Z_SERVO_FEEDBACK | Change state when robot has moved one cube along Z-axis |
9 |
out | ROBOT_LIGHT_FLASH | Set to 0 to turn the robot light on. |
10 | in | FRAME_CYCLE | Changed when virtual machine run a new time quantum. |
11-31 | -- |
reserved |
Reserved for futur use, these bit should be left to input mode. |