aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.h
blob: 9bbfb29a65961a315ae0fd8deb7dc4ac9722bcc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef DRIVERS_HEATER_HEATER_H_
#define DRIVERS_HEATER_HEATER_H_

#define HEATER_ON true
#define HEATER_OFF false

#include "include.h"
#include "PMR/Hardware/HardwarePidControlType.pb-c.h"
#include "PMR/Diagnostics/HeaterType.pb-c.h"
#include "Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.h"
#include "Drivers/I2C_Communication/Head_Card/IO_Ports/Heaters/Head_Heaters.h"


#define HEATER_TYPE_MAX_HEATERS HEATER_TYPE__HeadCoverHeater2+1

extern HeaterType HeaterPidtoHeaterId[ HARDWARE_PID_CONTROL_TYPE__HeadBlower_2+1];
extern HardwarePidControlType HeaterIdtoHeaterpid[HEATER_TYPE_MAX_HEATERS];
extern HeaterType HeaterTypetoHeadHeater[HEATER_TYPE_MAX_HEATERS];
extern HEADCARD_HEATERS_ENUM HeadHeatertoHeaterType[HEADCARD_HIT_MIXER+1];

uint32_t  ActivateHeater (int HeaterId);
uint32_t  DeActivateHeater (int HeaterId);
bool    GetHeaterState (int HeaterId);
uint32_t HeaterSetTemperatureWithCallback (int HeaterId, uint32_t RequestedTemperature, callback_fptr callback);
//uint32_t HeaterBalanceLoadControlCBFunction(uint32_t IfIndex, uint32_t readValue);
bool isHeater(HardwarePidControlType HeaterId);
inline HeaterType getHeaterId(HardwarePidControlType HeaterId){ return HeaterPidtoHeaterId[HeaterId];};

extern uint32_t HeaterActive;
#endif