2019

Dependents:   wheel_test6 wheel_test7 2019NHK_A_manual_red 2019NHK_A_manual_red

OmniPosition.h

Committer:
tanabe2000
Date:
2018-07-31
Revision:
3:47676abdf529
Parent:
2:edd33d3ad0fd
Child:
4:fc4c88fffef8

File content as of revision 3:47676abdf529:

#ifndef OMNI_POSITION_H
#define OMNI_POSITION_H

#include "mbed.h"
#include "CycleInt.h"

#define SERIAL_BUFFER_SIZE 15
#define HEADER_FIRST_BYTE 0xAA
#define HEADER_SECOND_BYTE 0x00
#define RECEIVE_FREQ 0.01
#define SEND_FREQ 0.1
#define DEFAULT_BAUD 115200

class OmniPosition : public RawSerial {
    public :
        OmniPosition(PinName serialTX, PinName serialRX);

        double getAngle();


        void reset();

    private :
        void readData();
        void assemble();
        void send();

        CycleInt readCounter;
        CycleInt takeCounter;
        Ticker assembleTicker;
        Ticker sendTicker;

        double angle;
        int angleInt;


        uint8_t *buffer;
        uint8_t *data;

        bool headerCheck;
        int headerPoint;
        bool resetSend;
};

#endif