serial_connected_mcu_slave.hpp

Committer:
kachikyun
Date:
2016-07-10
Revision:
0:fb5a8d9d8aba

File content as of revision 0:fb5a8d9d8aba:

#ifndef SERIAL_CONNECTED_MCU_SLAVE_
#define SERIAL_CONNECTED_MCU_SLAVE_

#include "mbed.h"
#include <stdint.h>
#include <string>
#include <stdlib.h>
#include <sstream>

namespace serial_connected_mcu{
    enum{
       ESC1,
       ESC2,
       ESC3,
       SIZE_OF_READ_DATA
    };
    
    enum{
        ENCODER1,
        ENCODER2,
        ENCODER3,
        POTENTIONMETER1,
        POTENTIONMETER2,
        POTENTIONMETER3,
        SIZE_OF_WRITE_DATA
    };

    class serial_connected_mcu_slave{
    public:
        serial_connected_mcu_slave();
        ~serial_connected_mcu_slave();
        void set(int index_of_data, int16_t setting_data);
        int16_t get(int index_of_data);
    private:
        static const PinName PIN_SERIAL_TX = SERIAL_TX;
        static const PinName PIN_SERIAL_RX = SERIAL_RX;
        static const int BAUDRATE = 9600;
        int16_t* array_of_read_data;
        int16_t* array_of_write_data;
        std::string received_buffer;
        Serial* port;
        bool is_locking;
        void on_received();
        void string_to_int();
    };
}

#endif