diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-30 16:47:22 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-01-30 16:47:22 +0200 |
| commit | bdb2ae480c0616dff10deabaa7c8cbb6fa16ffff (patch) | |
| tree | bd5b6068a5e56b30cd26a025a20cc456c4d9fcdf /Software/Embedded_SW/Embedded/Drivers/Heater | |
| parent | e1a8c002ded63f0ff87f8b2e9dc93370ff51e5ba (diff) | |
| download | Tango-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')
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 |
