ver2
Dependencies: ADXL345 AigamozuControlPackets HMC5843 ITG3200 MBed_Adafruit-GPS-Library XBee agzIDLIST agz_common mbed
Fork of aigamozu_auto_ver1 by
Revision 0:d8f3aa3b6876, committed 2015-04-11
- Comitter:
- kityann
- Date:
- Sat Apr 11 11:57:26 2015 +0000
- Child:
- 1:a5f98c7e1feb
- Commit message:
- auto program
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ADXL345.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/Digixx/code/ADXL345/#45faba962a46
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AigamozuMotorControl.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/teams/aigamozu/code/AigamozuControlPackets/#200ce5c1f486
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HMC5843.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/elrafapadron/code/HMC5843/#fdab96fc6fff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ITG3200.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/Digixx/code/ITG3200/#8967cbe04d96
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MBed_Adafruit-GPS-Library.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/teams/aigamozu/code/MBed_Adafruit-GPS-Library/#8203e954d8e1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/XBee.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/okini3939/code/XBee/#b36422ef864f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/agzIDLIST.lib Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/teams/aigamozu/code/agzIDLIST/#6d3d25a89e91
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/aigamozuSetting.h Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,6 @@ +//Set Baud Rate +#define GPS_BAUD_RATE 9600 +#define XBEE_BAUD_RATE 57600 +#define PC_BAUD_RATE 57600 +#define IMU_BAUD_RATE 400000 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,151 @@ +/**********************************************/ +// +// +// +// Program name: Aigamozu Robot Control +// Author: Atsunori Maruyama +// Ver -> 1.3 +// Day -> 2014/06/09 +// +// +/**********************************************/ + +#include "mbed.h" +#include "XBee.h" +#include "MBed_Adafruit_GPS.h" +#include "AigamozuControlPackets.h" +#include "agzIDLIST.h" +#include "aigamozuSetting.h" + +///////////////////////////////////////// +// +//Connection Setting +// +///////////////////////////////////////// + +//Serial Connect Setting: PC <--> mbed +Serial pc(USBTX, USBRX); + +//Serial Connect Setting: GPS <--> mbed +Serial * gps_Serial; + +//Serial Connect Setting: XBEE <--> mbed +XBee xbee(p13,p14); +ZBRxResponse zbRx = ZBRxResponse(); +XBeeAddress64 remoteAddress = XBeeAddress64(PAN1B1_32H,PAN1B1_32L); + +//Timer +Timer t; +int flag=0; + +///////////////////////////////////////// +// +//Pin Setting +// +///////////////////////////////////////// +VNH5019 agz_motorShield(p21,p22,p23,p24,p25,p26); + +///////////////////////////////////////// +// +//Main Processing +// +///////////////////////////////////////// +int main() { + int count = 0; + //start up time + wait(3); + //set pc frequency to 57600bps + pc.baud(PC_BAUD_RATE); + //set xbee frequency to 57600bps + xbee.begin(XBEE_BAUD_RATE); + + //GPS setting + gps_Serial = new Serial(p28,p27); + Adafruit_GPS myGPS(gps_Serial); + Timer refresh_Timer; + const int refresh_Time = 2000; //refresh time in ms + myGPS.begin(GPS_BAUD_RATE); + + //GPS Send Command + myGPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCONLY); + myGPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ); + myGPS.sendCommand(PGCMD_ANTENNA); + + wait(2); + + //interrupt start + AigamozuControlPackets agz(agz_motorShield); + refresh_Timer.start(); + + + while (true) { + + //Check Xbee Buffer Available + xbee.readPacket(); + if (xbee.getResponse().isAvailable()) { + if (xbee.getResponse().getApiId() == ZB_RX_RESPONSE) { + xbee.getResponse().getZBRxResponse(zbRx); + uint8_t *buf = zbRx.getFrameData(); + + + //Check Command Type + switch(agz.checkCommnadType(buf)){ + + //CommandType -> ChanegeMode + case CHANGE_MODE :{ + agz.changeMode(buf); + break; + } + + //CommandType -> Manual + case MANUAL:{ + //Check now Mode + if(agz.nowMode == MANUAL_MODE){ + agz.changeSpeed(buf); + } + break; + } + + //CommandType -> Send Status + case STATUS_REQUEST:{ + //Create GPS Infomation Packet + agz.createReceiveStatusCommand(1,6,myGPS.longitudeH,myGPS.longitudeL,myGPS.latitudeH,myGPS.latitudeL); + //Select Destination + ZBTxRequest tx64request(remoteAddress,agz.packetData,agz.getPacketLength()); + //Send -> Base + xbee.send(tx64request); + break; + + } + + default: + { + break; + } + } + } + } + + myGPS.read(); + //recive gps module + //check if we recieved a new message from GPS, if so, attempt to parse it, + if ( myGPS.newNMEAreceived() ) { + if ( !myGPS.parse(myGPS.lastNMEA()) ) { + continue; + } + } + + if (refresh_Timer.read_ms() >= refresh_Time) { + refresh_Timer.reset(); + if (myGPS.fix) { + agz.nowStatus = GPS_AVAIL; + agz.reNewPoint(myGPS.longitudeH,myGPS.longitudeL,myGPS.latitudeH,myGPS.latitudeL); + } + else agz.nowStatus = GPS_UNAVAIL; + } + + + + + } +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/timer.bld Sat Apr 11 11:57:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/82220227f4fa \ No newline at end of file