forward
Dependencies: VNH5019
Fork of AigamozuControlPackets by
Diff: AigamozuControlPackets.cpp
- Revision:
- 6:f164a716be46
- Parent:
- 5:3f51eeb5aedc
- Child:
- 7:200ce5c1f486
--- a/AigamozuControlPackets.cpp Sun Jun 08 15:09:02 2014 +0000 +++ b/AigamozuControlPackets.cpp Mon Jun 09 00:16:38 2014 +0000 @@ -1,7 +1,9 @@ #include "AigamozuControlPackets.h" #include "VNH5019.h" - +////////////////////////////// +// Init // +////////////////////////////// AigamozuControlPackets::AigamozuControlPackets(VNH5019 agzSheild):_agzSheild(agzSheild){ packetData = new uint8_t[50]; packetLength = 0; @@ -75,6 +77,19 @@ } } +////////////////////////////// +// each mode interrupt // +////////////////////////////// + +void AigamozuControlPackets::manualMode(){ + manualCount++; + if(manualCount > 10){ + _agzSheild.changeSpeed(0,0,0,0); + manualCount = 0; + } + } + + void AigamozuControlPackets::randomAuto(){ randomCount++; @@ -84,42 +99,45 @@ else randomCount = 0; } + +void AigamozuControlPackets::gpsAuto(){ -void AigamozuControlPackets::manualMode(){ - manualCount++; - if(manualCount > 10){ - _agzSheild.changeSpeed(0,0,0,0); - manualCount = 0; - } } + +////////////////////////////// +// Mode change // +////////////////////////////// bool AigamozuControlPackets::changeMode(uint8_t *buf){ + //reset _agzSheild.changeSpeed(0,0,0,0); - hoge.detach(); + eachModeInt.detach(); + //Select Mode switch(buf[19]){ - case 0: nowMode = STANDBY_MODE; break; case 1: - hoge.attach(this,&AigamozuControlPackets::manualMode,1.0); + eachModeInt.attach(this,&AigamozuControlPackets::manualMode,1.0); nowMode = MANUAL_MODE; break; case 2: nowMode = AUTO_MODE; - hoge.attach(this,&AigamozuControlPackets::randomAuto,1.0); - + eachModeInt.attach(this,&AigamozuControlPackets::randomAuto,1.0); break; case 3: + eachModeInt.attach(this,&AigamozuControlPackets::gpsAuto,2.0); nowMode = AUTO_GPS_MODE; break; - + default: + nowMode = STANDBY_MODE; + break; } return false;