oklm
Dependents: RoboClaw TestMyPathFind Robot2016_2-0_STATIC Stressed ... more
Diff: RoboClaw.cpp
- Revision:
- 9:0fc5514faed9
- Parent:
- 6:ece8a8cdf4b0
- Child:
- 10:f82bc24e3bd4
--- a/RoboClaw.cpp Sat Feb 06 11:55:10 2016 +0000 +++ b/RoboClaw.cpp Thu Apr 28 08:22:13 2016 +0000 @@ -5,8 +5,9 @@ #define SetDWORDval(arg) (uint8_t)(arg>>24),(uint8_t)(arg>>16),(uint8_t)(arg>>8),(uint8_t)arg #define SetWORDval(arg) (uint8_t)(arg>>8),(uint8_t)arg -RoboClaw::RoboClaw(int baudrate, PinName rx, PinName tx) : _roboclaw(rx, tx){ +RoboClaw::RoboClaw(uint8_t adr, int baudrate, PinName rx, PinName tx) : _roboclaw(rx, tx){ _roboclaw.baud(baudrate); + address = adr; } void RoboClaw::crc_clear(){ @@ -46,7 +47,7 @@ //} while(_roboclaw.getc() != 0xFF); } -void RoboClaw::write_(uint8_t address, uint8_t command, uint8_t data, bool reading, bool crcon){ +void RoboClaw::write_(uint8_t command, uint8_t data, bool reading, bool crcon){ _roboclaw.putc(address); _roboclaw.putc(command); @@ -85,35 +86,35 @@ return(_roboclaw.getc()); } -void RoboClaw::ForwardM1(uint8_t address, int speed){ - write_(address,M1FORWARD,speed,false,false); +void RoboClaw::ForwardM1(int speed){ + write_(M1FORWARD,speed,false,false); } -void RoboClaw::BackwardM1(uint8_t address, int speed){ - write_(address,M1BACKWARD,speed,false,false); +void RoboClaw::BackwardM1(int speed){ + write_(M1BACKWARD,speed,false,false); } -void RoboClaw::ForwardM2(uint8_t address, int speed){ - write_(address,M2FORWARD,speed,false,false); +void RoboClaw::ForwardM2(int speed){ + write_(M2FORWARD,speed,false,false); } -void RoboClaw::BackwardM2(uint8_t address, int speed){ - write_(address,M2BACKWARD,speed,false,false); +void RoboClaw::BackwardM2(int speed){ + write_(M2BACKWARD,speed,false,false); } -void RoboClaw::Forward(uint8_t address, int speed){ - write_(address,MIXEDFORWARD,speed,false,false); +void RoboClaw::Forward(int speed){ + write_(MIXEDFORWARD,speed,false,false); } -void RoboClaw::Backward(uint8_t address, int speed){ - write_(address,MIXEDBACKWARD,speed,false,false); +void RoboClaw::Backward(int speed){ + write_(MIXEDBACKWARD,speed,false,false); } -void RoboClaw::ReadFirm(uint8_t address){ - write_(address,GETVERSION,0x00,true,false); +void RoboClaw::ReadFirm(){ + write_(GETVERSION,0x00,true,false); } -int32_t RoboClaw::ReadEncM1(uint8_t address){ +int32_t RoboClaw::ReadEncM1(){ int32_t enc1; uint16_t read_byte[7]; write_n(2,address,GETM1ENC); @@ -134,10 +135,10 @@ return enc1; } -int32_t RoboClaw::ReadEncM2(uint8_t address){ +int32_t RoboClaw::ReadEncM2(){ int32_t enc2; uint16_t read_byte2[7]; - write_(address,GETM2ENC,0x00, true,false); + write_(GETM2ENC,0x00, true,false); read_byte2[0] = (uint16_t)_roboclaw.getc(); read_byte2[1] = (uint16_t)_roboclaw.getc(); @@ -155,7 +156,7 @@ return enc2; } -int32_t RoboClaw::ReadSpeedM1(uint8_t address){ +int32_t RoboClaw::ReadSpeedM1(){ int32_t speed1; uint16_t read_byte[7]; write_n(2,address,GETM1SPEED); @@ -176,7 +177,7 @@ return speed1; } -int32_t RoboClaw::ReadSpeedM2(uint8_t address){ +int32_t RoboClaw::ReadSpeedM2(){ int32_t speed2; uint16_t read_byte2[7]; write_n(2,address,GETM2SPEED); @@ -197,55 +198,55 @@ return speed2; } -void RoboClaw::ResetEnc(uint8_t address){ +void RoboClaw::ResetEnc(){ write_n(2,address,RESETENC); } -void RoboClaw::SpeedM1(uint8_t address, int32_t speed){ +void RoboClaw::SpeedM1(int32_t speed){ write_n(6,address,M1SPEED,SetDWORDval(speed)); } -void RoboClaw::SpeedM2(uint8_t address, int32_t speed){ +void RoboClaw::SpeedM2(int32_t speed){ write_n(6,address,M2SPEED,SetDWORDval(speed)); } -void RoboClaw::SpeedAccelM1(uint8_t address, int32_t accel, int32_t speed){ +void RoboClaw::SpeedAccelM1(int32_t accel, int32_t speed){ write_n(10,address,M1SPEEDACCEL,SetDWORDval(accel),SetDWORDval(speed)); } -void RoboClaw::SpeedAccelM2(uint8_t address, int32_t accel, int32_t speed){ +void RoboClaw::SpeedAccelM2(int32_t accel, int32_t speed){ write_n(10,address,M2SPEEDACCEL,SetDWORDval(accel),SetDWORDval(speed)); } -void RoboClaw::SpeedAccelM1M2(uint8_t address, int32_t accel1, int32_t speed1, int32_t accel2, int32_t speed2){ +void RoboClaw::SpeedAccelM1M2(int32_t accel1, int32_t speed1, int32_t accel2, int32_t speed2){ write_n(10,address,M2SPEEDACCEL,SetDWORDval(accel1),SetDWORDval(speed1),SetDWORDval(accel2),SetDWORDval(speed2)); } -void RoboClaw::SpeedDistanceM1(uint8_t address, int32_t speed, uint32_t distance, uint8_t buffer){ +void RoboClaw::SpeedDistanceM1(int32_t speed, uint32_t distance, uint8_t buffer){ write_n(11,address,M1SPEEDDIST,SetDWORDval(speed),SetDWORDval(distance),buffer); } -void RoboClaw::SpeedDistanceM2(uint8_t address, int32_t speed, uint32_t distance, uint8_t buffer){ +void RoboClaw::SpeedDistanceM2(int32_t speed, uint32_t distance, uint8_t buffer){ write_n(11,address,M2SPEEDDIST,SetDWORDval(speed),SetDWORDval(distance),buffer); } -void RoboClaw::SpeedAccelDistanceM1(uint8_t address, int32_t accel, int32_t speed, uint32_t distance, uint8_t buffer){ +void RoboClaw::SpeedAccelDistanceM1(int32_t accel, int32_t speed, uint32_t distance, uint8_t buffer){ write_n(15,address,M1SPEEDACCELDIST,SetDWORDval(accel),SetDWORDval(speed),SetDWORDval(distance),buffer); } -void RoboClaw::SpeedAccelDistanceM2(uint8_t address, int32_t accel, int32_t speed, uint32_t distance, uint8_t buffer){ +void RoboClaw::SpeedAccelDistanceM2(int32_t accel, int32_t speed, uint32_t distance, uint8_t buffer){ write_n(15,address,M2SPEEDACCELDIST,SetDWORDval(accel),SetDWORDval(speed),SetDWORDval(distance),buffer); } -void RoboClaw::SpeedAccelDeccelPositionM1(uint8_t address, uint32_t accel, int32_t speed, uint32_t deccel, int32_t position, uint8_t flag){ +void RoboClaw::SpeedAccelDeccelPositionM1(uint32_t accel, int32_t speed, uint32_t deccel, int32_t position, uint8_t flag){ write_n(19,address,M1SPEEDACCELDECCELPOS,SetDWORDval(accel),SetDWORDval(speed),SetDWORDval(deccel),SetDWORDval(position),flag); } -void RoboClaw::SpeedAccelDeccelPositionM2(uint8_t address, uint32_t accel, int32_t speed, uint32_t deccel, int32_t position, uint8_t flag){ +void RoboClaw::SpeedAccelDeccelPositionM2(uint32_t accel, int32_t speed, uint32_t deccel, int32_t position, uint8_t flag){ write_n(19,address,M2SPEEDACCELDECCELPOS,SetDWORDval(accel),SetDWORDval(speed),SetDWORDval(deccel),SetDWORDval(position),flag); } -void RoboClaw::SpeedAccelDeccelPositionM1M2(uint8_t address,uint32_t accel1,uint32_t speed1,uint32_t deccel1, int32_t position1,uint32_t accel2,uint32_t speed2,uint32_t deccel2, int32_t position2,uint8_t flag){ +void RoboClaw::SpeedAccelDeccelPositionM1M2(uint32_t accel1,uint32_t speed1,uint32_t deccel1, int32_t position1,uint32_t accel2,uint32_t speed2,uint32_t deccel2, int32_t position2,uint8_t flag){ write_n(35,address,MIXEDSPEEDACCELDECCELPOS,SetDWORDval(accel1),SetDWORDval(speed1),SetDWORDval(deccel1),SetDWORDval(position1),SetDWORDval(accel2),SetDWORDval(speed2),SetDWORDval(deccel2),SetDWORDval(position2),flag); }