展示会用です

Dependencies:   VNH5019

Dependents:   Aigamozu_Robot_展示会 Aigamozu_Robot_March Aigamozu_Robot_templete

Fork of AigamozuControlPackets by aigamozu

AigamozuControlPackets.h

Committer:
s1200058
Date:
2017-03-17
Revision:
48:4695e72853c6
Parent:
47:36fdf8cd4336
Child:
49:3f097e4ad60f

File content as of revision 48:4695e72853c6:

#include "mbed.h"
#include "VNH5019.h"

#ifndef AIGAMOZU_CONTROL_PACKETS
#define AIGAMOZU_CONTROL_PACKETS

#define MANUAL_COMMAND_LENGTH 17
#define REQUEST_COMMNAD_LENGTH 11
#define CHANGE_MODE_COMMAND_LENGTH 12
#define RECEIVE_STATUS_COMMNAD_LENGTH 64

#define SEND_DATA_COMMNAD_LENGTH 24

enum COMMAND_TYPE {MANUAL = 'M', STATUS_REQUEST = 'S', CHANGE_MODE = 'C', RECEIVE_STATUS = 'R',RECEIVE_KALMAN = 'K'};
enum MODE {STANDBY_MODE = 0, MANUAL_MODE = 1,AUTO_MODE = 2,AUTO_GPS_MODE = 3};
enum STATUS {GPS_AVAIL = 0, GPS_UNAVAIL = 1,GPS_OUT_AREA = 2};

union UNION_int_char{
    int16_t int_value;
    uint8_t char_value[2];
    };
class AigamozuControlPackets{
    
    //--------PUBLIC-----------//
    public:
    AigamozuControlPackets(VNH5019 agzSheild);
    
    Ticker eachModeInt;
    
    uint8_t* packetData;
     
    //using create packet
    uint8_t* getPacketData();
    int getPacketLength();
    
    //Change Mode: 
    bool changeMode(uint8_t *buf); 
    
    //Check Command Type using xbee buffer;
    uint8_t checkCommnadType(uint8_t* buf);
    
    //Change Speed
    void changeSpeed(uint8_t* buf);
    
    MODE nowMode;
    char motor_command;
    STATUS nowStatus;
    int packetLength;
    
    //Auto Type 2 -> GPS    
    bool gpsAuto(/*const int autobase[]*/void);
    void control_Motor(int);
    Timer Move_Timer;
    
    // ジャイロ・加速度データを送信する 
    void SendDataCommand(uint8_t ,uint8_t, int16_t, int16_t, int16_t, int16_t, int16_t, int16_t, uint8_t);
    //受信したデータの処理
    void GetData(uint8_t*,uint8_t*, uint8_t*,uint8_t*,uint8_t*,uint8_t*);
    int r_ax, r_ay, r_az, r_gx, r_gy, r_gz;

    //--------PRIVATE-----------//
    private:
    //
    VNH5019 _agzSheild;
    
    void manualMode();
    int manualCount;
   
    };
    
#endif