Collections of BERTL libraries

class_hardware.h

Committer:
DongExpander
Date:
2016-04-18
Revision:
0:46115ad78747
Child:
2:4a9ed5ca8a9a

File content as of revision 0:46115ad78747:

#ifndef class_hardware
#define class_hardware

class Motor {
    //functions
    public:
        Motor(PinName pin_pwm, PinName pin_fwd, PinName pin_rev);
        void stop();
        void stop(bool powered);
        void set(int speed);
    //variables
    private:
        PwmOut pwm;
        DigitalOut fwd;
        DigitalOut rev;
};

class IRSensor {
    //functions
    public:
        IRSensor(PinName pin_ir);
        IRSensor(PinName pin_ir, int threshold_black);
        bool is_black();
        int get_data();
    //variables
    private:
        AnalogIn ir;
        int threshold;
};

class USSensor {
    //functions
    public:
        USSensor(PinName pin_trigger, PinName pin_echo);
        USSensor(PinName pin_trigger, PinName pin_echo, int distance_set_bool);
        void initialize();
    private:
        void on_rise();
        void on_fall();
        void measure();
    //variables
    public:
        bool in_distance;
        int distance_mm;
    private:
        DigitalOut trigger;
        InterruptIn echo;
        Timer timer;
        Ticker ticker;
        int distance;
};

#endif