2021 NHK B

OmniPosition.h

Committer:
takeuchi
Date:
2018-07-01
Revision:
2:edd33d3ad0fd
Parent:
1:0229fc98a26f
Child:
3:47676abdf529

File content as of revision 2:edd33d3ad0fd:

#ifndef OMNI_POSITION_H
#define OMNI_POSITION_H

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

#define SERIAL_BUFFER_SIZE 6
#define HEADER_FIRST_BYTE 72
#define HEADER_SECOND_BYTE 42
#define RECEIVE_FREQ 0.005
#define SEND_FREQ 0.1
#define DEFAULT_BAUD 115200

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

        int getX();
        int getY();

        void reset();

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

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

        int X;
        int Y;

        char *buffer;
        char *data;

        bool headerCheck;
        int headerPoint;
        bool resetSend;
};

#endif