49 lines
710 B
C++
49 lines
710 B
C++
#ifndef DCCD_BRAKES_H_
|
|
#define DCCD_BRAKES_H_
|
|
|
|
/**** Includes ****/
|
|
#include <stdint.h>
|
|
#include "dccd_hw.h"
|
|
|
|
namespace dccd {
|
|
|
|
/**** Public definitions ****/
|
|
class Brakes
|
|
{
|
|
public:
|
|
typedef enum
|
|
{
|
|
OPEN = 0,
|
|
KEEP = 1,
|
|
LOCK = 2
|
|
}bmode_t;
|
|
|
|
Brakes(void);
|
|
~Brakes(void);
|
|
|
|
void init(dccd::DccdHw* dccd_hw);
|
|
|
|
bmode_t mode;
|
|
uint8_t is_active;
|
|
uint8_t is_new_mode;
|
|
|
|
void cfg_debounce(uint16_t dbnc_time);
|
|
bmode_t cycle_mode(void);
|
|
uint8_t process(void);
|
|
uint8_t get_mode_int(void);
|
|
void set_mode_int(uint8_t mode_int);
|
|
|
|
#ifdef TESTING
|
|
protected:
|
|
#endif
|
|
dccd::DccdHw* hardware;
|
|
};
|
|
|
|
/**** Public function declarations ****/
|
|
|
|
#ifdef TESTING
|
|
#endif
|
|
|
|
} //namespace
|
|
|
|
#endif /* DCCD_BRAKES_H_ */ |