aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Heater
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-01-30 16:47:22 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-01-30 16:47:22 +0200
commitbdb2ae480c0616dff10deabaa7c8cbb6fa16ffff (patch)
treebd5b6068a5e56b30cd26a025a20cc456c4d9fcdf /Software/Embedded_SW/Embedded/Drivers/Heater
parente1a8c002ded63f0ff87f8b2e9dc93370ff51e5ba (diff)
downloadTango-bdb2ae480c0616dff10deabaa7c8cbb6fa16ffff.tar.gz
Tango-bdb2ae480c0616dff10deabaa7c8cbb6fa16ffff.zip
Version 1.4.6.7 : beginning of removing the #ifdefs. Sylco head and arc head temperature control fixed. new events (version 18),
Diffstat (limited to 'Software/Embedded_SW/Embedded/Drivers/Heater')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c207
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c50
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.h12
3 files changed, 132 insertions, 137 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c b/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c
index 9062c79ca..57f96fbbf 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/Heater.c
@@ -106,152 +106,147 @@ bool isHeater(HardwarePidControlType HeaterId)
uint32_t ActivateHeater (int HeaterId)
{
assert(isHeater(HeaterIdtoHeaterpid[HeaterId]));
-#ifdef Use_Head_Card
- if (HeaterId>HEATER_TYPE__DryerSecondaryHeater)
- {
- HeadCard_Control_Heaters(HeaterTypetoHeadHeater[HeaterId],ON);
- //Activate_Head_Card_Heaters(HeaterTypetoHeadHeater[HeaterId]);
- }
- else
- { //F2_CTRL |= portMap[HeaterId].m_pin;
- F2_CTRL_Reg.ushort |= portMap[HeaterId].m_pin;
- F2_CTRL = F2_CTRL_Reg.ushort;
- }
-
-#else
- if (HeaterId >= HEATER_TYPE__HeaterZone7) return OK;
-
if (HeaterId == HEATER_TYPE__DryerAirHeater)
{
return OK;
}
-#ifndef EVALUATION_BOARD
- if(HeaterId == HEATER_TYPE__HeaterZone5)
- {
- //F1_gpo_01 |= portMap[HeaterId].m_pin;
- F1_GPO_Reg.ushort |= portMap[HeaterId].m_pin;
- F1_gpo_01 = F1_GPO_Reg.ushort;
-
- }
- else if(HeaterId == HEATER_TYPE__HeaterZone6)
- {
- //F3_GPO_01_bus |= portMap[HeaterId].m_pin;
- F3_GPO_01_Reg.ushort |= portMap[HeaterId].m_pin;
- F3_GPO_01_bus = F3_GPO_01_Reg.ushort;
-
- }
- else
+ if (HeaterId<=HEATER_TYPE__DryerSecondaryHeater)
{
- //F2_CTRL |= portMap[HeaterId].m_pin;
F2_CTRL_Reg.ushort |= portMap[HeaterId].m_pin;
F2_CTRL = F2_CTRL_Reg.ushort;
}
-#endif
-//---------------------------------------------------------------------------------------
-// if(HeaterId < HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1) // Turn On FPGA LED
-// F3_GPO_01_bus |= (0x01 << HeaterId);
-// else
-// F3_GPO_01_bus |= BIT4;
-
-// if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1)
-// STATUS_GREEN_LED_ON;
-// if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2)
-// ACTIVITY_RED_LED_ON;
-// if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3)
-// COMM_RED_LED_ON;
-
- //---------------------------------------------------------------------------------------
-
- portMap[HeaterId].Active = true;
+ else
+ { //F2_CTRL |= portMap[HeaterId].m_pin;
+ if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ HeadCard_Control_Heaters(HeaterTypetoHeadHeater[HeaterId],ON);
+ else
+ {
+ if (HeaterId >= HEATER_TYPE__HeaterZone7) return OK;
+ #ifndef EVALUATION_BOARD
+ if(HeaterId == HEATER_TYPE__HeaterZone5)
+ {
+ //F1_gpo_01 |= portMap[HeaterId].m_pin;
+ F1_GPO_Reg.ushort |= portMap[HeaterId].m_pin;
+ F1_gpo_01 = F1_GPO_Reg.ushort;
- //---------------------------------------------------------------------------------------
+ }
+ else if(HeaterId == HEATER_TYPE__HeaterZone6)
+ {
+ //F3_GPO_01_bus |= portMap[HeaterId].m_pin;
+ F3_GPO_01_Reg.ushort |= portMap[HeaterId].m_pin;
+ F3_GPO_01_bus = F3_GPO_01_Reg.ushort;
- HeaterActive |= 1 << HeaterId;
+ }
+ else
+ {
+ //F2_CTRL |= portMap[HeaterId].m_pin;
+ F2_CTRL_Reg.ushort |= portMap[HeaterId].m_pin;
+ F2_CTRL = F2_CTRL_Reg.ushort;
+ }
+ #endif
+ //---------------------------------------------------------------------------------------
+ // if(HeaterId < HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1) // Turn On FPGA LED
+ // F3_GPO_01_bus |= (0x01 << HeaterId);
+ // else
+ // F3_GPO_01_bus |= BIT4;
-// } -----------------------------------------
-#endif
- //---------------------------------------------------------------------------------------
+ // if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1)
+ // STATUS_GREEN_LED_ON;
+ // if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2)
+ // ACTIVITY_RED_LED_ON;
+ // if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3)
+ // COMM_RED_LED_ON;
+ //---------------------------------------------------------------------------------------
+ portMap[HeaterId].Active = true;
+ //---------------------------------------------------------------------------------------
+ HeaterActive |= 1 << HeaterId;
+ // } -----------------------------------------
+ //---------------------------------------------------------------------------------------
+ }
+ //Activate_Head_Card_Heaters(HeaterTypetoHeadHeater[HeaterId]);
+ }
return OK;
}
uint32_t DeActivateHeater (int HeaterId)
{
assert(isHeater(HeaterIdtoHeaterpid[HeaterId]));
-#ifdef Use_Head_Card
- if (HeaterId>HEATER_TYPE__DryerSecondaryHeater)
- {
- HeadCard_Control_Heaters(HeaterTypetoHeadHeater[HeaterId],OFF);
- //Deactivate_Head_Card_Heaters(HeaterTypetoHeadHeater[HeaterId]);
- }
- else
+ if (HeaterId<=HEATER_TYPE__DryerSecondaryHeater)
{
//F2_CTRL &= ~portMap[HeaterId].m_pin;
F2_CTRL_Reg.ushort &= ~portMap[HeaterId].m_pin;
F2_CTRL = F2_CTRL_Reg.ushort;
}
-#else
- if (HeaterId >= HEATER_TYPE__HeaterZone7) return OK;
-
-#ifndef EVALUATION_BOARD
- if(HeaterId == HEATER_TYPE__HeaterZone5)
- {
- //F1_gpo_01 &= ~portMap[HeaterId].m_pin;
- F1_GPO_Reg.ushort&= ~portMap[HeaterId].m_pin;
- F1_gpo_01 = F1_GPO_Reg.ushort;
- }
- else if(HeaterId == HEATER_TYPE__HeaterZone6)
- {
- //F3_GPO_01_bus &= ~portMap[HeaterId].m_pin;
- F3_GPO_01_Reg.ushort &= ~portMap[HeaterId].m_pin;
- F3_GPO_01_bus = F3_GPO_01_Reg.ushort;
- }
else
{
- //F2_CTRL &= ~portMap[HeaterId].m_pin;
- F2_CTRL_Reg.ushort &= ~portMap[HeaterId].m_pin;
- F2_CTRL = F2_CTRL_Reg.ushort;
- }
-#endif
-//---------------------------------------------------------------------------------------
-// if(HeaterId < HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1) // Turn Off FPGA LED
-// F3_GPO_01_bus &= ~(0x01 << HeaterId);
-// else
-// F3_GPO_01_bus &= ~BIT4;
-
-// if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1)
-// STATUS_GREEN_LED_OFF;
-// if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2)
-// ACTIVITY_RED_LED_OFF;
-// if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3)
-// COMM_RED_LED_OFF;
- //HeaterActive = false;
- //---------------------------------------------------------------------------------------
- portMap[HeaterId].Active = false;
-
- HeaterActive &= ~(1 << HeaterId);
+ if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ HeadCard_Control_Heaters(HeaterTypetoHeadHeater[HeaterId],OFF);
+ else
+ {
+ if (HeaterId >= HEATER_TYPE__HeaterZone7) return OK;
+#ifndef EVALUATION_BOARD
+ if(HeaterId == HEATER_TYPE__HeaterZone5)
+ {
+ //F1_gpo_01 &= ~portMap[HeaterId].m_pin;
+ F1_GPO_Reg.ushort&= ~portMap[HeaterId].m_pin;
+ F1_gpo_01 = F1_GPO_Reg.ushort;
+ }
+ else if(HeaterId == HEATER_TYPE__HeaterZone6)
+ {
+ //F3_GPO_01_bus &= ~portMap[HeaterId].m_pin;
+ F3_GPO_01_Reg.ushort &= ~portMap[HeaterId].m_pin;
+ F3_GPO_01_bus = F3_GPO_01_Reg.ushort;
+ }
+ else
+ {
+ //F2_CTRL &= ~portMap[HeaterId].m_pin;
+ F2_CTRL_Reg.ushort &= ~portMap[HeaterId].m_pin;
+ F2_CTRL = F2_CTRL_Reg.ushort;
+ //---------------------------------------------------------------------------------------
+ // if(HeaterId < HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1) // Turn Off FPGA LED
+ // F3_GPO_01_bus &= ~(0x01 << HeaterId);
+ // else
+ // F3_GPO_01_bus &= ~BIT4;
- // } -----------------------------------------
+ // if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1)
+ // STATUS_GREEN_LED_OFF;
+ // if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2)
+ // ACTIVITY_RED_LED_OFF;
+ // if (HeaterId == HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3)
+ // COMM_RED_LED_OFF;
+ //HeaterActive = false;
+ //---------------------------------------------------------------------------------------
+ portMap[HeaterId].Active = false;
+ HeaterActive &= ~(1 << HeaterId);
+ // } -----------------------------------------
+ }
#endif
+ }
+ //Deactivate_Head_Card_Heaters(HeaterTypetoHeadHeater[HeaterId]);
+ }
+
return OK;
}
bool GetHeaterState (int HeaterId)
{
assert(isHeater(HeaterIdtoHeaterpid[HeaterId]));
-#ifdef Use_Head_Card
if (HeaterId<=HEATER_TYPE__DryerSecondaryHeater)
{
return portMap[HeaterId].Active;
}
else
{
- return(Get_HeadCard_Heater_State(HeaterTypetoHeadHeater[HeaterId]));
+ if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ return(Get_HeadCard_Heater_State(HeaterTypetoHeadHeater[HeaterId]));
+ }
+ else
+ {
+ return portMap[HeaterId].Active;
+ }
}
-
-#else
- return portMap[HeaterId].Active;
-#endif
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
index c5511e745..9d7cdbe4c 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
@@ -177,36 +177,38 @@ int TemperatureSensorRead(TEMPERATURE_SENSOR_ID_ENUM SensorId)
return TempSensorResponse[SensorId].Temperature_C_mult_by_100;
}
-#ifndef Use_Head_Card
-int TemperatureListString(char* str)
-{
- int len;
- len = usnprintf(str, 150, "Prepare H1: %d H2: %d H3: %d H4: %d H5: %d H6: %d D1: %d D2: %d D3: %d M: %d",TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP1].Temperature_C_mult_by_100/100,
- TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP3].Temperature_C_mult_by_100/100,
- TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP4].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP5].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD6_PT100].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100,
- TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP3].Temperature_C_mult_by_100/100
- ,TempSensorResponse[MIXER_PT100].Temperature_C_mult_by_100/100);
- //Prepare H1: 78 H2: 111 H3: 137 H4: 135 H5: 144 H6: 75 D1: 120 D2: 167 D3: 158 M: 129
- return len;
-}
-#else
int TemperatureListString(char* str)
{
int len;
+ if(Head_Type == HEAD_TYPE_SYLKO)
+ {
+ len = usnprintf(str, 160, "Prepare H1: ,%d, H2: ,%d, H3: ,%d, H4: ,%d, H5: ,%d, H6: ,%d, H7: ,%d, H8: ,%d, H9: ,%d, H10: ,%d, H11: ,%d, H12: ,%d, M: ,%d, D: ,%d,",
+ TempSensorResponse[HEAD_PT100_ZONE_1_0X80_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_2_0X80_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_ZONE_3_0X82_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_4_0X82_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_ZONE_5_0X84_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_6_0X84_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_ZONE_7_0X86_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_8_0X86_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_ZONE_9_0X88_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_10_0X88_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_ZONE_11_0X8A_0].Temperature_C_mult_by_100/100,TempSensorResponse[HEAD_PT100_ZONE_12_0X8A_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_MIXER_0X8E_0].Temperature_C_mult_by_100/100, TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100);
+
+ }
+ else if(Head_Type == HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ len = usnprintf(str, 150, "Prepare H1: %d H2: %d H3: %d H4: %d H5: %d H6: %d D1: %d D2: %d D3: %d M: %d",TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP3].Temperature_C_mult_by_100/100,
+ TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP4].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP5].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD6_PT100].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP2].Temperature_C_mult_by_100/100,TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP3].Temperature_C_mult_by_100/100
+ ,TempSensorResponse[MIXER_PT100].Temperature_C_mult_by_100/100);
+ //Prepare H1: 78 H2: 111 H3: 137 H4: 135 H5: 144 H6: 75 D1: 120 D2: 167 D3: 158 M: 129
+ }
+ else
+ {
+ len = usnprintf(str, 150, "Unknown head type");
+ }
- len = usnprintf(str, 160, "Prepare H1: ,%d, H2: ,%d, H3: ,%d, H4: ,%d, H5: ,%d, H6: ,%d, H7: ,%d, H8: ,%d, H9: ,%d, H10: ,%d, H11: ,%d, H12: ,%d, M: ,%d, D: ,%d,",
- TempSensorResponse[HEAD_PT100_ZONE_1_0X80_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_2_0X80_1].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD_PT100_ZONE_3_0X82_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_4_0X82_1].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD_PT100_ZONE_5_0X84_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_6_0X84_1].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD_PT100_ZONE_7_0X86_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_8_0X86_1].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD_PT100_ZONE_9_0X88_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_10_0X88_1].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD_PT100_ZONE_11_0X8A_0].Temperature_C_mult_by_100/100,TempSensorResponse[HEAD_PT100_ZONE_12_0X8A_1].Temperature_C_mult_by_100/100,
- TempSensorResponse[HEAD_PT100_MIXER_0X8E_0].Temperature_C_mult_by_100/100, TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100);
- //Prepare H1: 78 H2: 111 H3: 137 H4: 135 H5: 144 H6: 75 D1: 120 D2: 167 D3: 158 M: 129
return len;
}
-#endif
uint32_t Filter_Temparature_Measurement(TEMPERATURE_SENSOR_ID_ENUM SensorId, int32_t Current_Measurement_C, uint32_t NoOfAvrSamples)
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.h b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.h
index a8ef720ad..0b2c60822 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.h
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.h
@@ -34,7 +34,7 @@ HEAD_PT100_ZONE_5_0X84_0, //4
HEAD_PT100_ZONE_7_0X86_0, //6
HEAD_PT100_ZONE_9_0X88_0, //8
HEAD_PT100_ZONE_11_0X8A_0, //10
-HEAD_PT100_AIR_HEATER_1_0X8C_0, //12
+HEAD_PT100_AIR_HEATER_1_0X8C_0, //12 OUT!!!!!
HEAD_PT100_MIXER_0X8E_0, //14
//Select 1
HEAD_PT100_ZONE_2_0X80_1, //1
@@ -43,7 +43,7 @@ HEAD_PT100_ZONE_6_0X84_1, //5
HEAD_PT100_ZONE_8_0X86_1, //7
HEAD_PT100_ZONE_10_0X88_1, //9
HEAD_PT100_ZONE_12_0X8A_1, //11
-HEAD_PT100_AIR_HEATER_2_0X8C_1, //13
+HEAD_PT100_AIR_HEATER_2_0X8C_1, //13 IN!!!!
HEAD_PT100_RESERVE_0X8E_1, //15
//WHS Card 4 channels for temperature measuring
@@ -62,13 +62,13 @@ WHS_PT100_4_0X82_1,
#warning assuming that we won't use whs card without head card..
-#if defined(Use_WHS_Card)
+//#if defined(Use_WHS_Card)
#define MAX_TANGO_TEMPERATURE_SENSOR_ID MAX_WHS_CARD_TEMP_SENS_ID // WHS + Head cards
-#elif defined(Use_Head_Card)
+/*#elif defined(Use_Head_Card)
#define MAX_TANGO_TEMPERATURE_SENSOR_ID MAX_HEAD_CARD_TEMP_SENS_ID
#else
#define MAX_TANGO_TEMPERATURE_SENSOR_ID MAX_MAIN_CARD_TEMP_SENS_ID
-#endif
+#endif*/
typedef enum
{
@@ -166,9 +166,7 @@ uint32_t CalculateTemperatures(TEMPERATURE_SENSOR_ID_ENUM SensorId, uint32_t Dat
int TemperatureSensorRead(TEMPERATURE_SENSOR_ID_ENUM SensorId); // read from buffer
-#ifndef Use_Head_Card
int TemperatureListString(char* str);
-#endif
//The temparature will be at:
//TempSensorResponse[TEMP_SENSE_ANALOG_DYEINGH_TEMP1].Temperature_C_mult_by_100