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 | |
| 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')
12 files changed, 220 insertions, 226 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c index f2f4ce7ae..af326b4ed 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c @@ -421,17 +421,18 @@ bool FPGA_Read_limit_Switches(FPGA_GPI_ENUM Limit_Switch) case GPI_LS_DH_CLEAN_DOWN: LM_Status = Ls_Dryer_Dh.bits.F1_LS_DH_CLEAN_DOWN; break; -#ifdef Use_Head_Card case HEADCARD_COVER_LS_FRONT: - LM_Status = Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT; + if(Head_Type == HEAD_TYPE_SYLKO) + LM_Status = Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT; break; case HEADCARD_COVER_LS_REAR: - LM_Status = Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT; + if(Head_Type == HEAD_TYPE_SYLKO) + LM_Status = Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT; break; case HEADCARD_COVER_LS_UPPER: - LM_Status = Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT; + if(Head_Type == HEAD_TYPE_SYLKO) + LM_Status = Head_I2C_EXP4_0x46.bits.INPUT_LS_FRONT; break; -#endif default : LM_Status = NO_LIMIT; break; @@ -511,11 +512,12 @@ uint32_t DeActivateCoolerPump() //WHS - Pump the waste accumulated in cooler to uint32_t MagnetControlId = 0xFF; uint32_t MagnetCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) { -#ifdef Use_Head_Card - HeadCard_HeadMagnet_Disable(); -#else - MotorStop(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,Hard_Hiz ); -#endif + + if(Head_Type == HEAD_TYPE_SYLKO) + HeadCard_HeadMagnet_Disable(); + else + MotorStop(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,Hard_Hiz ); + if (SafeRemoveControlCallback(MagnetControlId, MagnetCallBackFunction )==OK) MagnetControlId = 0xFF; else @@ -528,17 +530,17 @@ uint32_t ActivateHeadMagnet() { Report("ActivateHeadMagnet - Close the lid magnet",__FILE__,__LINE__,(int)HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,RpWarning,(int)DH_LID_OPEN,0); //Task_sleep(500); -#ifdef Use_Head_Card - HeadCard_ActivateHeadMagnet(); - -#else - F2_CTRL_Reg.ushort &= ~SPARE_SSR13_CTRL; - F2_CTRL = F2_CTRL_Reg.ushort; - if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM)) + if(Head_Type == HEAD_TYPE_SYLKO) + HeadCard_ActivateHeadMagnet(); + else { - MotorGoTo(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,DH_LID_CLOSE ); + F2_CTRL_Reg.ushort &= ~SPARE_SSR13_CTRL; + F2_CTRL = F2_CTRL_Reg.ushort; + if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM)) + { + MotorGoTo(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,DH_LID_CLOSE ); + } } -#endif MagnetControlId = AddControlCallback(NULL, MagnetCallBackFunction, 2* eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); return OK; } @@ -550,19 +552,22 @@ uint32_t HeadCard_HeadMagnet_Disable(); uint32_t DeActivateHeadMagnet() { -#ifdef Use_Head_Card - HeadCard_DeActivateHeadMagnet(); - MagnetControlId = AddControlCallback(NULL, MagnetCallBackFunction, 2* eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); -#else - Report("DeActivateHeadMagnet - open the lid magnet",__FILE__,__LINE__,(int)HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,RpWarning,(int)DH_LID_CLOSE,0); - if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM)) + if(Head_Type == HEAD_TYPE_SYLKO) { - MotorGoTo(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,DH_LID_OPEN ); - //MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM, DH_LID_OPEN, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RLOADARM], NULL,1000); + HeadCard_DeActivateHeadMagnet(); + MagnetControlId = AddControlCallback(NULL, MagnetCallBackFunction, 2* eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); + } + else + { + Report("DeActivateHeadMagnet - open the lid magnet",__FILE__,__LINE__,(int)HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,RpWarning,(int)DH_LID_CLOSE,0); + if (isMotorConfigured(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM)) + { + MotorGoTo(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM,DH_LID_OPEN ); + //MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_RLOADARM, DH_LID_OPEN, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RLOADARM], NULL,1000); + } + F2_CTRL_Reg.ushort |= SPARE_SSR13_CTRL; + F2_CTRL = F2_CTRL_Reg.ushort; } - F2_CTRL_Reg.ushort |= SPARE_SSR13_CTRL; - F2_CTRL = F2_CTRL_Reg.ushort; -#endif Task_sleep(500); return OK; } 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 diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c index a9fcd4420..123f3f1e9 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/ADC_MUX/ADC_MUX.c @@ -412,25 +412,22 @@ uint32_t Heaters_Current_Bits[9];//just for debug void Enable_Reading_Heaters_Current(HEATERS_CURRENT Heater_ID) //0-8 { -#ifdef Use_Head_Card - return; -#endif + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + return; assert (Heater_ID<NUM_OF_CURRENT_HEATERS); Heaters_Current_Read_Enable[Heater_ID] = true; } void Disable_Reading_Heaters_Current(HEATERS_CURRENT Heater_ID) //0-8 { -#ifdef Use_Head_Card - return; -#endif + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + return; assert (Heater_ID<NUM_OF_CURRENT_HEATERS); Heaters_Current_Read_Enable[Heater_ID] = false; } bool Get_Heater_Current_Reading_State(HEATERS_CURRENT Heater_ID) //0-8 { -#ifdef Use_Head_Card - return; -#endif + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + return false; assert (Heater_ID<NUM_OF_CURRENT_HEATERS); return Heaters_Current_Read_Enable[Heater_ID]; } @@ -438,9 +435,8 @@ bool Get_Heater_Current_Reading_State(HEATERS_CURRENT Heater_ID) //0-8 uint32_t Read_Heaters_Current(HEATERS_CURRENT Heater_ID) //0-8 { uint32_t Status = OK; -#ifdef Use_Head_Card - return 0; -#endif + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + return 0; assert (Heater_ID<NUM_OF_CURRENT_HEATERS); if (Heaters_Current_Read_Enable[Heater_ID] == true) diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.c index 55e902f24..691513452 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.c @@ -359,9 +359,8 @@ uint32_t HeadCard_Read_Cover_LS()// if(HeadCard_Activate_Cover_LS == true) { - #ifdef Use_Head_Card - Head_Read_IO_Reg(0x46, HIGH);//READ HEAD CARD LS - #endif + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + Head_Read_IO_Reg(0x46, HIGH);//READ HEAD CARD LS } return status; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Heaters/Head_Heaters.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Heaters/Head_Heaters.c index 21d6feed9..c2ac5fd66 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Heaters/Head_Heaters.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/IO_Ports/Heaters/Head_Heaters.c @@ -136,32 +136,32 @@ uint32_t HeadCard_Control_Heaters(HEADCARD_HEATERS_ENUM Heater_ID, bool Pwr_Cmd) case HEADCARD_UPPER_HIT_IN1: Head_I2C_EXP1_0x40.bits.OUTPUT_ON_HTIN1 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x40,HIGH); - break; - case HEADCARD_UPPER_HIT_IN2: +// break; +// case HEADCARD_UPPER_HIT_IN2: Head_I2C_EXP1_0x40.bits.OUTPUT_ON_HTIN2 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x40,HIGH); - break; - case HEADCARD_UPPER_HIT_IN3: +// break; +// case HEADCARD_UPPER_HIT_IN3: Head_I2C_EXP1_0x40.bits.OUTPUT_ON_HTIN3 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x40,HIGH); - break; - case HEADCARD_UPPER_HIT_IN4: +// break; +// case HEADCARD_UPPER_HIT_IN4: Head_I2C_EXP1_0x40.bits.OUTPUT_ON_HTIN4 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x40,HIGH); break; case HEADCARD_UPPER_HIT_OUT1: Head_I2C_EXP2_0x42.bits.OUTPUT_ON_HTOT1 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x42,LOW); - break; - case HEADCARD_UPPER_HIT_OUT2: +// break; +// case HEADCARD_UPPER_HIT_OUT2: Head_I2C_EXP2_0x42.bits.OUTPUT_ON_HTOT2 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x42,LOW); - break; - case HEADCARD_UPPER_HIT_OUT3: +// break; +// case HEADCARD_UPPER_HIT_OUT3: Head_I2C_EXP2_0x42.bits.OUTPUT_ON_HTOT3 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x42,LOW); - break; - case HEADCARD_UPPER_HIT_OUT4: +// break; +// case HEADCARD_UPPER_HIT_OUT4: Head_I2C_EXP2_0x42.bits.OUTPUT_ON_HTOT4 = Pwr_Cmd; //status |= Head_Write_IO_Reg(0x42,LOW); break; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.c index ca645444e..3cc1a0fa3 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.c @@ -87,7 +87,7 @@ uint32_t I2C_Write_SensorId(uint32_t I2C_ID, TEMPERATURE_SENSOR_ID_ENUM SensorId I2C_ADC_ADS122C04_SLAVE_ADD = SensorId_To_SlaveAdd(SensorId); status |= I2C_Write(I2C_ID, I2C_ADC_ADS122C04_SLAVE_ADD, I2C_Write_buf, No_BytesToWrite); if (status) - Report("I2C_Write_SensorId error", __FILE__,Task_self(),status, RpMessage,SensorId, 0); + Report("I2C_Write_SensorId error", __FILE__,Arb_Loss_Count,status, RpMessage,SensorId, 0); return status; } @@ -211,7 +211,7 @@ uint32_t HeadADCPT100_SendReadDataCommand(TEMPERATURE_SENSOR_ID_ENUM SensorId) Status |= I2C_Read_SensorId(I2C_ID_HEAD_CARD, SensorId, temp, 3); if (Status) - Report("HeadADCPT100_SendReadDataCommand error", __FILE__,Task_self(),Status, RpMessage,SensorId, 0); + Report("HeadADCPT100_SendReadDataCommand error", __FILE__,Arb_Loss_Count,Status, RpMessage,SensorId, 0); //First send the MSB so we need to reorder the bytes Data_ADC_Head = temp[0]; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C.h index bb6d934de..efb46c5be 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C.h +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C.h @@ -8,6 +8,7 @@ #ifndef DRIVERS_I2C_COMMUNICATION_I2C_H_ #define DRIVERS_I2C_COMMUNICATION_I2C_H_ +extern uint32_t Arb_Loss_Count; #define I2C_BUSY_DELAY 5000//15000 diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Comm.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Comm.c index 6152d32ac..ecd598f88 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Comm.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Comm.c @@ -110,7 +110,7 @@ uint32_t I2C_WriteBuff(uint32_t I2C_BASE, unsigned char addr, unsigned char* dat if (status == I2C_MASTER_ERR_ARB_LOST) { - if (Arb_Loss_Count++ > 100) + if (Arb_Loss_Count++ > 10) { Arb_Loss_Count= 0; Init_All_I2C(); @@ -118,7 +118,11 @@ uint32_t I2C_WriteBuff(uint32_t I2C_BASE, unsigned char addr, unsigned char* dat } } else - Arb_Loss_Count = 0; + { + if (Arb_Loss_Count) + Report("Resetting count ", __FILE__,Arb_Loss_Count,status, RpMessage,Task_self(), 0); + // Arb_Loss_Count = 0; + } return status; } @@ -186,7 +190,7 @@ uint32_t I2C_ReadBuff(uint32_t I2C_BASE, unsigned char addr, unsigned char* data } if (status == I2C_MASTER_ERR_ARB_LOST) { - if (Arb_Loss_Count++ > 100) + if (Arb_Loss_Count++ > 10) { Arb_Loss_Count= 0; Init_All_I2C(); @@ -194,7 +198,11 @@ uint32_t I2C_ReadBuff(uint32_t I2C_BASE, unsigned char addr, unsigned char* data } } else - Arb_Loss_Count = 0; + { + if (Arb_Loss_Count) + Report("Resetting count ", __FILE__,Arb_Loss_Count,status, RpMessage,Task_self(), 0); + //Arb_Loss_Count = 0; + } return status; } diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c index 36910cee6..8af9a8576 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/I2C_Task.c @@ -73,11 +73,15 @@ void Trigger_Heater_Current_Read(void) { I2C_ReadingMessageStruc I2C_ReadingMessage; uint8_t Heater_i=0; -#ifdef Use_Head_Card - // for (Heater_i = 0;Heater_i < HEAD_NUM_OF_ADC;Heater_i++)//No need - reads all inputs at the same time -#else - for (Heater_i = 0;Heater_i < NUM_OF_CURRENT_HEATERS;Heater_i++) -#endif + uint8_t Heater_Lim=0; + if(Head_Type == HEAD_TYPE_SYLKO_WITHOUT_CARD) + Heater_Lim = NUM_OF_CURRENT_HEATERS; + if(Head_Type == HEAD_TYPE_SYLKO) + Heater_Lim = HEAD_NUM_OF_ADC; + if(Head_Type == HEAD_TYPE_STAPLE_SPUN) + Heater_Lim = HEAD_NUM_OF_ADC; + + // for (Heater_i = 0;Heater_i < Heater_Lim;Heater_i++)//No need - reads all inputs at the same time { I2C_ReadingMessage.messageId = Heater_Current_Reading; I2C_ReadingMessage.parameter = Heater_i; @@ -361,15 +365,11 @@ void I2C_ReadingTask(UArg arg0, UArg arg1) break; case Heater_Current_Reading: //Report("Read_Heaters_Current",__FILE__,__LINE__,255,RpWarning,0,0); -#ifdef Use_Head_Card - Read_Head_ADC(I2C_ReadingMessage.parameter); -#else - Read_Heaters_Current(I2C_ReadingMessage.parameter); -#endif + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + Read_Head_ADC(I2C_ReadingMessage.parameter); + else + Read_Heaters_Current(I2C_ReadingMessage.parameter); break; - -#ifdef Use_Head_Card - case PT100_Reading: Set_HeadCard_PT100(); break; @@ -380,12 +380,7 @@ void I2C_ReadingTask(UArg arg0, UArg arg1) Head_Read_IO_Reg(0x46, HIGH);//READ HEAD CARD LS break; case Outputs_Writing: - break; -#endif - -#ifdef Use_WHS_Card - case WHS_PT100_Reading: for (Sensor_i = WHS_PT100_1_0X80_0; Sensor_i <= WHS_PT100_4_0X82_1; Sensor_i++) { @@ -465,10 +460,6 @@ void I2C_ReadingTask(UArg arg0, UArg arg1) case WHS_I2C_EEPROM_READ: // WHS_I2C_EEprom_Read(I2C_ReadingMessage.parameter, I2C_ReadingMessage.parameter2, I2C_ReadingMessage.parameter3); break; - - -#endif - default: break; } diff --git a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c index a8a8cd2b9..59405be76 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c +++ b/Software/Embedded_SW/Embedded/Drivers/Valves/Valve.c @@ -177,11 +177,10 @@ void Valve_Command(Valves_t Valve_Id) //1 - OPEN, 0 - CLOSE F1_GPO_Reg.bits.F1_VALVE_WASTE_TANK = ValveRequest[Valve_Id].Direction; break; case VALVE_MIXCHIP_WASTECH: -#ifdef Use_Head_Card - HeadCard_Valve_Control(ValveRequest[Valve_Id].Direction); -#else + if(Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) + HeadCard_Valve_Control(ValveRequest[Valve_Id].Direction); + else F1_GPO_Reg.bits.F1_VALVE_MIXCHIP_WASTECH = ValveRequest[Valve_Id].Direction; -#endif break; case VALVE_DISPENSER_1: |
