受信割り込みバージョン

Dependents:   a_team_R1370 ashimawari_sample_test 2022NHK_A_ashimawari 2022A_NHK_kikou

R1370.h

Committer:
UCHITAKE
Date:
2018-08-24
Revision:
1:b6f5a4994a84
Parent:
0:243364135087
Child:
3:2f00371553c1

File content as of revision 1:b6f5a4994a84:

#ifndef R1370_H
#define R1370_H

/**
 * Includes
 */
#include "mbed.h"
#include <vector>

/**
 * Defines
 */
#define R1370_BUFFER_SIZE 15
#define R1370_HEADER0 0xAA
#define R1370_HEADER1 0x00

/**
 * R1370 sensor module
 * sample code is here https://os.mbed.com/teams/NHK-Robocon2016_Nagaoka_B_Team/code/R1370sample/
 */
class R1370 : public RawSerial
{
public :
    /**
     * Constructor.
     *
     * set 2pins for UART
     *
     * @param tx - TXpin for UART
     * @param rx - RXpin for UART
     */
    R1370(PinName tx, PinName rx);

    //Getters.
    float getAngle();
    float getRate();
    int16_t getAcc(char l);
    int16_t getAcc(int i);
    int16_t getAccX();
    int16_t getAccY();
    int16_t getAccZ();
    
    
private :
    void receiveByte();
    void assembleLoop();
    void assemble();
    
    Thread thread;
    std::vector<unsigned char> buf;
    
    uint8_t index;
    int16_t angle;
    int16_t rate;
    int16_t acc[3];
    uint8_t reserved;
};

#endif