Pioneer Module Mobile Manual page 26

Gripper & experimenter's module mobile robot manual
Table of Contents

Advertisement

/* gripper control bits (DIGOUTPUT) */
#define sfGRIPSTATEMASK 0x05
#define sfGRIPMOTORBIT 0x02
#define sfGRIPDIRBIT 0x01
#define sfSPEAKERBIT 0x04
#define sfRIGHTLEDBIT 0x08
#define sfLEFTLEDBIT 0x10
/* gripper sense bits (DIGINPUT) */
#define sfGRIPTOPBIT
#define sfGRIPMIDBIT
#define sfGRIPBOTBIT
#define sfGRIPINIRBIT 0x08
#define sfGRIPOUTIRBIT 0x10
#define sfGRIPBUMPBIT 0x20
#define sfGRIPMOMBIT
#define sfGRIPSPSTBIT 0x80
int
sfGripperGetState(void)
{
if (flakey.digoutput & sfGRIPMOTORBIT)
return sfMOVING;
else
return flakey.digoutput & sfGRIPSTATEMASK;
}
void
sfGripperSetState(int state)
{
sfRobotComInt(sfCOMGRIPPER, state & sfGRIPSTATEMASK);
}
void
sfGripperSetLed(int which, int state)
{
switch(which)
{
case sfLEFT:
which = sfLEFTLEDBIT;
break;
22
/* picks out state bits in DIGOUTPUT */
/* motor bit, 0 is off, 1 is on */
/* direction bit, 0 is down, 1 is up */
/* 0 is off, 1 is on */
0x01
/* top limit, 0 if hit */
0x02
/* mid-level, 0 if hit */
0x04
/* bottom limit, 0 if hit */
/* inner IR, 0 is beam break */
/* outer IR */
/* gripper bumpers, 0 is bump */
0x40
/* momentary switch, 0 is pressed */
/* SPST switch, 0 is up */
/* returns the robot gripper state setpoint */
/* sets robot gripper state setpoint */
/* sfLEFT, sfRIGHT, sfON, sfOFF */
(continued)

Advertisement

Table of Contents
loading

Table of Contents