Pioneer 2TM User Manual

Page of 85
ActivMedia Robotics 
For example, here’s the AROS client command to set digital output ports one and three 
(OD1 and OD3), reset port four (OD4), and leave all the rest alone (hexadecimal notation): 
0xFA, 0xFB, 0x06, 0x1E, 0x1B, 0x19, 0x09, 0x37, 0x24   
Bumper and IR I/O 
Two 10-position latching IDC connectors on the H8S controller provide 16 digital input 
ports, normally used for the bumper accessory, but also available for your own 
attachments.   See Appendix A for connector details. 
Similarly, the Motor-Power connector on the H8S controller contains eight digital inputs 
that we normally use for IR sensors on the Performance PeopleBot and PowerBot, and 
whose states are digitally mapped.  See Appendix B for connector details. 
Normally pulled high (digital 1), all the bumper and IR bit-mapped switches go low 
(digital 0) when the respective port gets triggered.  Bumper inputs also appear with the 
stall bits in the standard SIP, but unlike in the IOpac, are modified by the InvertBumps 
mask.  All the bumper and IR data bits appear in the IOpac packet. 
IO packets 
Table 13.  IOpac packet contents 
LABEL
 
BYTES
 
CURRENT VALUE
 
DESCRIPTION
 
HEADER
 
0xFA, 0xFB 
Common header 
B
YTE COUNT
 
22 
Number of data bytes + 2 
TYPE
 1 
0xF0 
Packet 
type 
N DIGIN
 
Number of digital input bytes 
DIGIN
 
varies 0-255 
ID0-8 bits mapped 
FRONTBUMP
varies 0-255 
Front bumper bits mapped 
REARBUMP
varies 0-255 
Rear bumper bits mapped 
IR
 
varies 0-255 
IR inputs 
N DIGOUT
 
Number of digital output bytes 
DIGOUT
 
varies 0-255 
Digital output byte(s) 
AN
 
Number of A/D values 
A/D 10 
integers 
varying 0-2047 
A/D ports 1-5 input values at 12-
bit resolution = 0-5 VDC 
CHECKSUM
 2  varies 
Computed 
checksum 
Not all analog and digital I/O appears in the standard  SIP.    Accordingly,  your  client 
software may request the IOpac SIP (type = 240; 0xF0), which contains all common I/O 
associated with the H8S controller and which appear on the various connectors, 
including User IO, General IO, Bumpers, and IRs. 
Use the AROS client IOREQUEST command number 40 with an argument value of zero, 
one, or two.  The argument value one requests a single packet to be sent by the next 
client-server communications cycle.  The request argument value of two tells AROS to 
send IOpac packets continuously, at approximately one per cycle depending on serial 
port speed and other pending SIPs.  Use the IOREQUEST argument value zero to stop 
continuous IOpac packets. 
* Actual bits, not affected by InvertBumps since bumper bits may be used for other 
digital input besides bumpers. 
 
49