#ifndef DCCD_FORCE_H_
#define DCCD_FORCE_H_

/**** Includes ****/
#include <stdint.h>
#include "../hw/button.h"

namespace logic {

/**** Public definitions ****/

class DccdForce
{
	protected:
	hw::Button* mode;
	hw::Button* handbrake;
	hw::Button* brakes;
	
	public:
	DccdForce(hw::Button* btn_mode, hw::Button* sw_hbrake, hw::Button* sw_brakes);
	~DccdForce(void);
	
	uint8_t force;
	uint8_t is_new;
	
	uint8_t brake_mode;
	uint8_t is_new_bmode;
	
	uint16_t max_hbrake_time;
	uint8_t brake_force;
	
	uint8_t update(uint8_t user_force);
};

/**** Public function declarations ****/

#ifdef TESTING
#endif

} //namespace

#endif /* DCCD_FORCE_H_ */