yokokawa
Dependencies: ADXL345 AigamozuControlPackets HMC5843 ITG3200 MBed_Adafruit-GPS-Library XBee agzIDLIST agz_common mbed
Fork of aigamozu_program_ver2 by
Diff: main.cpp
- Revision:
- 5:940424ec98a8
- Parent:
- 4:39d2aadf3068
- Child:
- 6:21e2792e66c7
--- a/main.cpp Wed Jun 04 09:12:29 2014 +0000
+++ b/main.cpp Sun Jun 08 11:55:07 2014 +0000
@@ -4,8 +4,8 @@
//
// Program name: Aigamozu Robot Control
// author: Atsunori Maruyama
-// ver -> 1.0
-//
+// ver -> 1.1
+// day -> 2014/06/01
//
//
/**********************************************/
@@ -43,7 +43,7 @@
//Motor Contorol Pin Setting
VNH5019 motorShield(p21,p22,p23,p24,p25,p26);
-AigamozuControlPackets agz;
+
//Interrupt Setting
Ticker axis;
@@ -92,26 +92,32 @@
//
/////////////////////////////////////////
- void randomRenovation(){
+ void normalRandomMode(){
if(count < 20){
motorShield.changeSpeed(1,127,1,127);
}
-
else{
motorShield.changeSpeed(1,64,2,64);
if(count > 21) {
-
count = 0;
motorShield.changeSpeed(1,127,1,127);
-
}
}
count++;
+ }
+
+void gpsRandomMode(){
+
+
+
+
}
+
+
/////////////////////////////////////////
//
//Main Processing
@@ -137,11 +143,11 @@
myGPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);
myGPS.sendCommand(PGCMD_ANTENNA);
- //gyro_registor Setting
wait(2);
//interrupt start
axis.attach(&axisRenovation, 0.1);
+ AigamozuControlPackets agz(axis);
refresh_Timer.start();
@@ -152,17 +158,26 @@
if (xbee.getResponse().isAvailable()) {
if (xbee.getResponse().getApiId() == ZB_RX_RESPONSE) {
xbee.getResponse().getZBRxResponse(zbRx);
- unsigned char *buf = zbRx.getFrameData();
+ uint8_t *buf = zbRx.getFrameData();
//Check Command Type
switch(agz.checkCommnadType(buf)){
//CommandType -> ChanegeMode
case CHANGE_MODE :{
- my_mode = buf[19];
+ //Change Mode
+ agz.changeMode(buf);
+ //Motor Stop
motorShield.changeSpeed(0,0,0,0);
- if(my_mode == 2) auth_axis.attach(&randomRenovation, 1.0);
+ //case: AUTO1
+ if(agz.nowMode == AUTO_MODE) auth_axis.attach(&normalRandomMode, 1.0);
+ else if(agz.nowMode ==AUTO_GPS_MODE) auth_axis.attach(&gpsRandomMode, 1.0);
else auth_axis.detach();
+
+ //case:AUTO2
+
+
+
break;
}
@@ -180,13 +195,12 @@
//CommandType -> Send Status
case STATUS_REQUEST:{
//Create GPS Infomation Packet
- uint8_t* data = agz.createStatusPacket(myGPS.longitudeH,myGPS.longitudeL,myGPS.latitudeH,myGPS.latitudeL,'B','a');
+ agz.createReceiveStatusCommand('B','a',myGPS.longitudeH,myGPS.longitudeL,myGPS.latitudeH,myGPS.latitudeL);
//Select Destination
- ZBTxRequest tx64request(remoteAddress,data,RECEIVES_GPS_STATUS_LENGTH);
+ ZBTxRequest tx64request(remoteAddress,agz.packetData,agz.getPacketLength());
+
//Send -> Base
xbee.send(tx64request);
- //Buffer Release
- delete data;
break;
}
