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
