驱动代码中命令约定
class ComandosSet
{
public:
CComando version;
CComando setSpeed;
CComando getSpeed;
CComando setOdometry;
CComando getOdometry;
CComando wheelMovement;
CComando floorDistance;
CComando battery;
CComando baseInfraRed;
CComando setEncoders;
CComando getEncoders;
CComando distanceSensors;
CComando distanceSensor;
CComando setAutoupdateSensors;
CComando adcReads;
CComando lcd;
CComando pid;
CComando pidAdjustment;
CComando srfContinuousUpdate;
CComando powerOff;
CComando mouth;
CComando nose;
CComando setServo;
CComando getServo;
CComando getHeadServos;
CComando getEyeServos;
CComando setMic;
CComando getMics;
CComando getIMU;
CComando resetStall;
CComando getMotorsState;
CComando getI2cDevicesState;
ComandosSet() :
version(0x40,0,2),
setSpeed(0x4d,2,0,"f"),
getSpeed(0x56,0,2,"b","f"),
setOdometry(0x42,3,0,"f"),---------------------------------------------------------
getOdometry(0x59,0,3,"b","f"), ---------------------------------------------------
wheelMovement(0x51,0,2,"b","f"),
floorDistance(0x48,0,1,"b","f"),
battery(0x57,0,2),
baseInfraRed(0x46,0,3),
setEncoders(0x70,2,0,"l"),
getEncoders(0x4f,0,2,"b","l"),
distanceSensors(0x4e,0,-1,"b","xbh"),---------------------------------------
distanceSensor(0x52,1,1,"b","h"),---------------------------------------------
setAutoupdateSensors(0x72,-1,0),
adcReads(0x73,-1,-1,"b","h"),
lcd(0x4c,1,0,"s"),
pid(0x50,1,0),
pidAdjustment(0x71,4,0,"f"),
srfContinuousUpdate(0x5d,1,0),
powerOff(0x5a,1,0),
mouth(0x44,3,0),
nose(0x45,1,0),
setServo(0x53,3,0,"bhh"),
getServo(0x5d,1,1,"b","h"),
getHeadServos(0x5c,0,2,"b","h"),
getEyeServos(0x5f,0,2,"b","h"),
setMic(0x4a,1,0),
getMics(0x4b,0,3,"b","h"),
getIMU(0x74,0,6,"b","hhhbbb"),
resetStall(0x80,0,0),
getMotorsState(0x81,0,1),
getI2cDevicesState(0x82,0,1)
{}
};
控制器单板上命令约定
#define GET_VERSION 0x40
#define ALL_SRF_UPDATE 0x41 //A
//#define GET_BRUJULA 0x42 //B //Ya no está
#define RESET_ODOMETRY 0x42
#define CHANGE_I2C_DIR 0x43 //C
//#define SET_MOUTH_VALUE 0x44 //D //Para la PR2
#define RESET 0x45 //E
#define GET_BASE_INFRARED 0x46 //IR
#define GET_I2C 0x47 //G
#define GET_GP2D12 0x48 //H
#define SRF_UPDATE 0x49 //I
//#define SET_MIC_INPUT 0x4A //J //Para la PR2
//#define GET_MIC_REPORT 0x4B //K //Para la PR2
#define SET_LCD 0x4C //L
#define SET_MOTOR 0x4D //M
#define GET_ALL_SRF 0x4E //N ----------------------------------------------------------------
#define GET_ENCODERS 0x4F //O
#define SET_PID 0x50 //PID
//#define NEW_FIRMWARE_PR1 0x51 //Q
#define GET_WEEL_MOVEMENT 0x51
#define GET_SRF 0x52 //R--------------------------------------------------------------------------
//#define SET_SERVO 0x53 //S
#define TEST 0x54 //TEST
#define SET_I2C 0x55 //U
#define GET_SPEED 0x56 //V
#define GET_BATTERY 0x57 //W
#define I2C_EXTENDED 0x58 //X
//#define NEW_FIRMWARE_PR2 0x59 //Y
#define GET_POSITION 0x59
//#define TURN_OFF 0x5A //Z
//-----
//#define SET_MOTOR_EASY 0x5B
//-----
//#define GET_SERVOS 0x5C
#define SET_SRF_CONTINUOUS_UPDATE 0x5D
//#define SET_RADIOCONTROL 0x63 //CTRL
#define SET_ENCODER 0x70 //P
#define SET_K 0x71
#define SET_AUTOUPDATE_SRFS 0x72
#define GET_ANALOG_PINS 0x73
#define GET_IMU 0x74
#define RESET_STALL 0x80
#define GET_MOTORS_STATE 0x81
#define GET_I2C_STATE 0x82