Dependencies:   SimpleMapSerialization serial_communication

communication.hpp

Committer:
inst
Date:
2016-03-31
Revision:
0:8b0edcbd3b87
Child:
2:074942a78af1

File content as of revision 0:8b0edcbd3b87:

#ifndef INCLUDED_NODE_SYSTEM_COMMUNICATION_H
#define INCLUDED_NODE_SYSTEM_COMMUNICATION_H

#include "moving_object.hpp"
#include "mbed_stl.hpp"

class communication {
public:
    typedef mbed_stl::linear_algebra::vector2f vector2f;

    static communication* instance() {
        if (instance_ == NULL) {
            instance_ = new communication;
        }
        return  instance_;
    }
    static void destory() {
        delete instance_;
    }
    node_system::moving_object::CONTROL_MODE get_mode() const;
    vector2f get_velocity() const;
    float get_angular_velocity_rad_per_sec() const;
    vector2f get_target_position_mm() const;
    float get_target_heading_rad() const;
    
private:
    communication() {}
    ~communication() {}
    // singletonにつき禁止のため以下の二つの実装は無し
    void operator=(const communication& s);
    communication(const communication& s);
    
    static communication* instance_;
};

#endif