#ifndef __HOD_H__
#define __HOD_H__

#include <stdint.h>
#include "mcu.h"
#include "touch_config.h"
#include "touch_widget_config.h"

typedef struct hod_gpio
{
    PinsDrvType *port;
    uint32_t     pin;
} hod_gpio_t;

extern McuType      mcu;

extern uint32_t hod_heating_duty;
extern uint8_t  heating;

extern const hod_gpio_t hod_high_side1_pin;
extern const hod_gpio_t hod_high_side2_pin;
extern const hod_gpio_t hod_low_side_pin;
extern const hod_gpio_t hod_heat_shd_pin;
extern const hod_gpio_t hod_sensor_pin;
extern const hod_gpio_t hod_shd_pin;

bool hod_init(uint32_t ticks);
void hod_task(uint32_t ticks);

void hod_upload_info_cb(int16_t raw, int16_t base, int16_t diff);
void hod_touch_on_cb();
void hod_touch_off_cb();

#endif /* __HOD_H__ */