From af171144af42c380f5df1569466af6487990977b Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Mon, 15 Apr 2019 15:51:21 +0300 Subject: Version 1.3.8.5 pre Itma1:waste and buttons improved --- .../Modules/Diagnostics/DiagnosticActions.c | 6 + .../Embedded/Modules/Diagnostics/Diagnostics.c | 21 +++- .../Embedded_SW/Embedded/Modules/General/buttons.c | 133 +++++++-------------- .../Embedded_SW/Embedded/Modules/General/buttons.h | 4 +- .../Embedded_SW/Embedded/Modules/Waste/Waste.h | 17 ++- .../Embedded_SW/Embedded/Modules/Waste/Waste_ex.h | 1 + .../Embedded/Modules/Waste/Waste_init.c | 131 ++++++++++++++++---- 7 files changed, 194 insertions(+), 119 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c index c9bbe2df6..97489f431 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c @@ -255,6 +255,12 @@ uint32_t SetDigitalOutRequestRequestFunc(MessageContainer* requestContainer) else Control_Dryer_Fan(STOP,0);//use START or STOP, 0 - 100%(); break; + case INTERFACE_IOS__GPO_WASTECH_PUMP2://valve + Valve_Set(VALVE_WASTE_TANK, request->value); + break; + case INTERFACE_IOS__GPO_WHS_WTANKPUMP2: + SetWastePump( request->value); + break; default: responseContainer.has_error = true; responseContainer.error = ERROR_CODE__GENERAL_ERROR; diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index d39c97621..5ef216264 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -29,6 +29,7 @@ #include "Modules/AlarmHandling/AlarmHandling.h" #include "Modules/heaters/heaters_ex.h" #include "modules/thread/thread_ex.h" +#include "modules/waste/waste.h" #include "PMR/Hardware/HardwareDancerType.pb-c.h" #include @@ -104,7 +105,7 @@ DoubleArray DiagnosticsDispenserPressure[MAX_SYSTEM_DISPENSERS]; HeaterState **heatersstates; HeaterState HeaterInfo[HEATER_TYPE__MixerHeater+1]; DigitalInterfaceState **digitalinterfacestates; -DigitalInterfaceState DigitalOutputState[MAX_HEATERS_NUM+2]; +DigitalInterfaceState DigitalOutputState[MAX_HEATERS_NUM+8]; /*double dispenser1motorfrequency[DIAGNOSTICS_LIMIT+1]; double dispenser2motorfrequency[DIAGNOSTICS_LIMIT+1]; double dispenser3motorfrequency[DIAGNOSTICS_LIMIT+1]; @@ -168,8 +169,8 @@ void DiagnosticsInit(void) heater_state__init(&HeaterInfo[i]); heatersstates[i] = &HeaterInfo[i]; } - digitalinterfacestates = (DigitalInterfaceState**)my_malloc(sizeof(DigitalInterfaceState *)*MAX_HEATERS_NUM); - for (i = 0;i #include @@ -24,33 +23,13 @@ #include "Modules/General/buttons.h" #include "StateMachines/Initialization/PowerOffSequence.h" +#include "StateMachines/Initialization/PowerIdle.h" -//int MachineOnOff(); int PowerDown(); int PowerUp(); int thredJog(); -/* -typedef enum -{ - OFFPB = 0, - COUNTPB , - SHORTPB , - LONGPB , - REPLONGPB //repeat long PB -}PBstat; -*/ -typedef enum -{ - MSEC = 0, - lESS200 , - LESS500 , - LESS5000 , - MORE5000 -}timems; - - //enum PBstat OnOffPBstate = OFFPB; //enum PBstat ret @@ -68,7 +47,7 @@ uint32_t StateMachine( button *pBtn); uint32_t ButtonJogCallBackFunction(uint32_t IfIndex, uint32_t ReadValue); uint32_t ButtonJogCBFunction(uint32_t IfIndex, uint32_t ReadValue); uint8_t thraedJogging(uint8_t off); -uint32_t setJoggingEnableCondition( button *pBtn); +//uint32_t setJoggingEnableCondition( button *pBtn); uint32_t joggingMachine( button *pBtn); //uint8_t OnOffPB, @@ -87,8 +66,8 @@ bool Read_PWR_Button();//TODO move to GPIO folder int PowerDown() { - bool ret = OK; - PowerOffInit(); + bool ret = !OK; + ret = PowerOffInit(); return ret; } @@ -100,42 +79,25 @@ int PowerUp() return ret; } - bool SetPowerMachineState(PBmachineState state) { bool ret = OK; switch ( state ) { case sttOFF: - power.state = state; - break; case sttON: + case sttIDLE: power.state = state; - break; + break; case sttDISABLE: - jog.state = state; - break; case sttENABLE: - jog.state = state; - break; - case sttIDLE: - power.state = state; - break; case sttJOGGING: jog.state = state; break; case sttRDY: - load.state = state; - break; case sttPRELOAD: - load.state = state; - break; case sttLOADING: - load.state = state; - break; case sttLOADSUCSESS: - load.state = state; - break; case sttLOADFAIL: load.state = state; break; @@ -190,9 +152,7 @@ uint32_t ButtonLoadCallBackFunction(uint32_t IfIndex, uint32_t ReadValue) uint32_t Buttons_Init(void) { - -// power.bttn_status = 0 ; -// power.bttn_name = "power"; //option + strcpy(power.bttn_name, "power"); power.bttn_status = release; // 0=release 1=press power.Action = OFFPB ; //off,short,long,count,replong power.color = BLUE; //off, blue, blink, bithing @@ -201,8 +161,7 @@ uint32_t Buttons_Init(void) AddControlCallback( ButtonPowerCBFunction, BUTTOMS_SAMPLE_TIME, ButtonPowerCallBackFunction, 0,0,0 ); // eFiftyMillisecond -// jog.bttn_status = 0 ; -// jog.bttn_name = "jog"; //option + strcpy(jog.bttn_name, "jog"); jog.bttn_status = release; // 0=release 1=press jog.Action = OFFPB ; //OFFPB,short,long,count,replong jog.color = colorOFF; //colorOFF, BLUE, BLINK, @@ -210,12 +169,11 @@ uint32_t Buttons_Init(void) jog.count = 0; AddControlCallback( ButtonJogCBFunction, BUTTOMS_SAMPLE_TIME, ButtonJogCallBackFunction, 0,0,0 ); // -// load.bttn_status = 0 ; -// load.bttn_name = "load"; //option + strcpy(load.bttn_name, "load"); load.bttn_status = release; // 0=release 1=press load.Action = OFFPB ; //OFFPB,short,long,count,replong load.color = colorOFF; //colorOFF, BLUE, BLINK, - load.state = sttOFF; // sttDISABLE, sttENABLE, sttJOGGING + load.state = sttRDY; // load.count = 0; AddControlCallback( ButtonLoadCBFunction, BUTTOMS_SAMPLE_TIME, ButtonLoadCallBackFunction, 0,0,0 ); // @@ -232,15 +190,12 @@ uint32_t ButtonPowerCBFunction(uint32_t IfIndex, uint32_t ReadValue) uint32_t ButtonJogCBFunction(uint32_t IfIndex, uint32_t ReadValue) { - jog.bttn_status = ReadValue; //if (ReadValue == press) { - setJoggingEnableCondition(&jog); + //setJoggingEnableCondition(&jog); joggingMachine(&jog); } - - return 0; } @@ -452,36 +407,36 @@ return 0; -uint32_t setJoggingEnableCondition( button *pBtn) -{ - uint8_t parameter = 3; - - if (0 -// to do : what are the conditions for enable / disable -// 1. -// 2. -// 3. -// ... - ) - { - pBtn->state = sttDISABLE; - REPORT_MSG(parameter," ------------ Jogging : setJoggingEnableCondition sttDISABLE ----------------- "); - pBtn->color = colorOFF; - Pannel_Leds(THREAD_JOGGING, MODE_OFF); //AVI+ - // ThreadAbortJoggingFunc(); - } - - else - { - pBtn->state = sttENABLE; -// REPORT_MSG(parameter," ------------ Jogging : setJoggingEnableCondition sttENABLE ----------------- "); - pBtn->color = BLUE; - Pannel_Leds(THREAD_JOGGING, MODE_ON); //AVI+ - //ThreadJoggingFunc(40); - } - -return 0; -} +//uint32_t setJoggingEnableCondition( button *pBtn) +//{ +// uint8_t parameter = 3; +// +// if (0 +//// to do : what are the conditions for enable / disable +//// 1. +//// 2. +//// 3. +//// ... +// ) +// { +// pBtn->state = sttDISABLE; +// REPORT_MSG(parameter," ------------ Jogging : setJoggingEnableCondition sttDISABLE ----------------- "); +// pBtn->color = colorOFF; +// Pannel_Leds(THREAD_JOGGING, MODE_OFF); //AVI+ +// // ThreadAbortJoggingFunc(); +// } +// +// else +// { +// pBtn->state = sttENABLE; +//// REPORT_MSG(parameter," ------------ Jogging : setJoggingEnableCondition sttENABLE ----------------- "); +// pBtn->color = BLUE; +// Pannel_Leds(THREAD_JOGGING, MODE_ON); //AVI+ +// //ThreadJoggingFunc(40); +// } +// +//return 0; +//} @@ -575,13 +530,14 @@ return 0; uint32_t LoadStatMachine( button *pBtn) { - //uint8_t parameter = 5; + uint8_t parameter = 5; //REPORT_MSG(parameter," ------------ start loading ----------------- "); Report(" ------------ start loading ----------------- ",__FILE__,__LINE__,pBtn->state,RpWarning,pBtn->color,0); switch (pBtn->state) { case sttRDY : + REPORT_MSG(parameter," ------------ load.state = sttRDY ----------------- "); switch (pBtn->Action) { case (SHORTPB): @@ -607,6 +563,7 @@ uint32_t LoadStatMachine( button *pBtn) } break; case sttPRELOAD: + REPORT_MSG(parameter," ------------ load.state = sttPRELOAD ----------------- "); switch (pBtn->Action) { case (SHORTPB): @@ -632,6 +589,7 @@ uint32_t LoadStatMachine( button *pBtn) } break; case sttLOADING: + REPORT_MSG(parameter," ------------ load.state = sttLOADING ----------------- "); break; // case sttLOADSUCSESS ????? // break; @@ -639,6 +597,7 @@ uint32_t LoadStatMachine( button *pBtn) // break; default: //sttDISABLE + REPORT_MSG(parameter," ------------ load.state = default ----------------- "); pBtn->color = colorOFF; Pannel_Leds(THREAD_LOAD, MODE_OFF);//AVI+ break; diff --git a/Software/Embedded_SW/Embedded/Modules/General/buttons.h b/Software/Embedded_SW/Embedded/Modules/General/buttons.h index 8b064bbcc..2ec6d32a0 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/buttons.h +++ b/Software/Embedded_SW/Embedded/Modules/General/buttons.h @@ -29,10 +29,12 @@ typedef enum { sttOFF = 0, sttON, + sttIDLE, + sttDISABLE, sttENABLE, - sttIDLE, sttJOGGING, + sttRDY, sttPRELOAD, sttLOADING, diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h index bda01564f..74f7b40ef 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h @@ -38,14 +38,14 @@ typedef enum typedef enum { - SENSORnotFULL = 0, - SENSORFULL + SENSORFULL = 0, + SENSORnotFULL } WHS_FullSensorStatus; typedef enum { - SENSOREMPTY = 0, - SENSORnotEMPTY + SENSORnotEMPTY = 0, + SENSOREMPTY } WHS_EmptySensorStatus; typedef enum @@ -99,6 +99,15 @@ U8 WHS_init(void); U8 WHS_HW_test(void); bool WHS_IsEmptying(); +bool WHS_IsContainerFull(); +bool WHS_IsContainerOverflow(); +bool WHS_WasteCartridgeLowerPresent(); +bool WHS_WasteCartridgeMiddlePresent(); +bool WHS_IsPumpActive(); +bool WHS_IsValveOpen(); + +bool SetWastePump( bool power); + #endif diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h index e69de29bb..8b1378917 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_ex.h @@ -0,0 +1 @@ + diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c index 9531b67d6..8aa358e32 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c @@ -19,7 +19,7 @@ #define CartridgeWaste2CallBackTime eOneSecond #define STARTCOUNT 1 #define STOPCOUNT 0 -#define PumpTimeout 60 // minutes +#define PumpTimeout 1200 // seconds; 20 minutes, per Moty, 15/4/19 /*------------Waste Tank function-----------------------*/ @@ -98,6 +98,14 @@ struct WHS_information struct WHS_information WHS_info; +bool WHS_IsContainerFull(){return WHS_info.WHS_sensors.waste_tank_full_sensor;} +bool WHS_IsContainerOverflow(){return WHS_info.WHS_sensors.waste_tank_over_flow_sensor;} +bool WHS_WasteCartridgeLowerPresent(){return WHS_info.WHS_sensors.waste_cartridge1_precense_sensor;} +bool WHS_WasteCartridgeMiddlePresent(){return WHS_info.WHS_sensors.waste_cartridge2_precense_sensor;} +bool WHS_IsPumpActive(){return WHS_info.WHS_pump.status;} +bool WHS_IsValveOpen(){return WHS_info.WHS_valve;} + + bool WHS_IsEmptying() { @@ -141,13 +149,17 @@ bool CartridgeAuthentication(cartridge_name cart_name) { case waste_cartridge1: WHS_info.cartridge_1.autheticate = PASSED; + //Pannel_Leds(CART_2, MODE_ON); break; case waste_cartridge2: WHS_info.cartridge_2.autheticate = PASSED; + //Pannel_Leds(CART_3, MODE_ON); break; default: WHS_info.cartridge_1.autheticate = FAILED; WHS_info.cartridge_2.autheticate = FAILED; + //Pannel_Leds(CART_2, MODE_OFF); + //Pannel_Leds(CART_3, MODE_OFF); break; } ret = OK; @@ -231,7 +243,9 @@ bool SetValveDirection() * * */ bool ret = notOK; - if (WHS_info.WHS_valve != no_waste_cartridge) + //if (WHS_info.WHS_valve != no_waste_cartridge) + if (WHS_info.active_cartridge == waste_cartridge1) WHS_info.WHS_valve = 1; + else WHS_info.WHS_valve = 2; { Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve); ret = OK; @@ -258,6 +272,7 @@ U8 CartridgeWasteFilling(bool status) SetWastePump(OPEN); //WHS_info.WHS_pump.time = 0; REPORT_MSG(WHS_empty," ------------ WHS WHS_empty start PUMP ----------------- "); + ret=OK; } else // stop Waste cartridge filling { @@ -352,7 +367,7 @@ WHS_sttMachin UpdateStateMachine() bool initWHS_WasteTank() { WHS_info.WHS_sensors.waste_tank_empty_sensor = RdWasteTankEmptySensor(); - WHS_info.WHS_sensors.waste_tank_full_sensor = SENSORnotFULL;//RdWasteTankFullSensor(); + WHS_info.WHS_sensors.waste_tank_full_sensor = SENSORnotFULL;//;RdWasteTankFullSensor() UpdateStateMachine(); AddControlCallback(WasteTankCBFunction, WasteTankCallBackTime , WasteTankCallBackFunction, 0,0,0);//eOneMinute return OK; @@ -392,7 +407,7 @@ WHS_sensor FullSensorEvent() { WHS_info.event = WHS_full_sensor; ret = WHS_full_sensor; - WHS_info.WHS_sensors.waste_tank_full_sensor = !WHS_info.WHS_sensors.waste_tank_full_sensor; + WHS_info.WHS_sensors.waste_tank_full_sensor = 1-WHS_info.WHS_sensors.waste_tank_full_sensor; } return ret; } @@ -446,7 +461,10 @@ bool WasteTankCBFunction() if (WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSORnotEMPTY) { if (WHS_info.sttMachine == WHS_empty) + { WHS_info.sttMachine = WHS_filling; + REPORT_MSG(WHS_filling," ------------ WHS_filling ----------------- "); + } else { REPORT_MSG(WHS_filling," ------------ WHS EMPTY sensor failed !!!!!!! ----------------- "); @@ -457,9 +475,10 @@ bool WasteTankCBFunction() if (WHS_info.sttMachine == WHS_emptying) { WHS_info.sttMachine = WHS_empty; + REPORT_MSG(WHS_filling," ------------ WHS_empty ----------------- "); ret = CartridgeWasteFilling(OFF); WHS_info.Cartridge_Cover_device_Id = RemoveControlCallback(WHS_info.Cartridge_Cover_device_Id, WasteTankCBFunction ); - WHS_info.Cartridge_Cover_device_Id = AddControlCallback( WasteTankCBFunction, CartridgeCoverCallBackTime, CartridgeCoverCallBackFunction, 0,0,0 );//eOneSecond + WHS_info.Cartridge_Cover_device_Id = AddControlCallback( WasteTankCBFunction, CartridgeCoverCallBackTime, CartridgeCoverCallBackFunction, 0,0,0 );//eOneSecond //SafeRemoveControlCallback(Cartridge_Cover_device_Id, CartridgeCoverCBFunction ); } else @@ -471,24 +490,25 @@ bool WasteTankCBFunction() case WHS_full_sensor: if (WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL) { - if (WHS_info.sttMachine == WHS_filling) - { - WHS_info.sttMachine = WHS_full; - WHS_info.Cartridge_Cover_device_Id = RemoveControlCallback(WHS_info.Cartridge_Cover_device_Id, WasteTankCBFunction ); - WHS_info.Cartridge_Cover_device_Id = AddControlCallback( WasteTankCBFunction, CartridgeCoverCallBackFastTime , CartridgeCoverCallBackFunction, 0,0,0 );//eTenMillisecond - ret = CartridgeWasteFilling(ON); - // cant start a new Job - } - else + WHS_info.sttMachine = WHS_full; + REPORT_MSG(WHS_emptying," ------------ WHS_full ----------------- "); + WHS_info.Cartridge_Cover_device_Id = RemoveControlCallback(WHS_info.Cartridge_Cover_device_Id, WasteTankCBFunction ); + WHS_info.Cartridge_Cover_device_Id = AddControlCallback( WasteTankCBFunction, CartridgeCoverCallBackFastTime , CartridgeCoverCallBackFunction, 0,0,0 );//eTenMillisecond + ret = CartridgeWasteFilling(ON); + if (ret != OK) { - REPORT_MSG(WHS_filling," ------------ WHS FULL sensor failed !!!!!!! ----------------- "); + //recreate the full event until cartridge is inserted + WHS_info.WHS_sensors.waste_tank_full_sensor = 1-WHS_info.WHS_sensors.waste_tank_full_sensor; } + + // cant start a new Job } else { if (WHS_info.sttMachine == WHS_full) { WHS_info.sttMachine = WHS_emptying; + REPORT_MSG(WHS_emptying," ------------ WHS_emptying ----------------- "); // can start a new JOB } else @@ -548,13 +568,15 @@ bool WasteTankCBFunction() case WHS_waste1_presence_sensor : if (WHS_info.WHS_sensors.waste_cartridge1_precense_sensor == WHS_CarteidgePrecense ) // waste cartridge 1 is inserted . { - SetCartridgeLED(waste_cartridge1, led_on); + //SetCartridgeLED(waste_cartridge1, led_on); + Pannel_Leds(CART_2, MODE_ON); RdWasteCartridgeParam(waste_cartridge1); + SetActiveWastCartridge(); + SetValveDirection(); if ( CartridgeAuthentication(waste_cartridge1)) // to define authentication { //WHS_info.cartridge_1.autheticate = PASSED; //='0' //???WHS_info.WHS_valve = waste_cartridge1; // or we should do it only before pumping???? - //???SetValveDirection(); // or we should do it only before pumping???? } else { @@ -564,6 +586,7 @@ bool WasteTankCBFunction() } else // waste cartridge 1 take out { + Pannel_Leds(CART_2, MODE_OFF); WHS_info.cartridge_1.autheticate = FAILED; //???if (WHS_info.cartridge_2.autheticate == PASSED) // or we should do it only before pumping???? //???{ @@ -582,7 +605,7 @@ bool WasteTankCBFunction() case WHS_waste2_presence_sensor : if (WHS_info.WHS_sensors.waste_cartridge2_precense_sensor == WHS_CarteidgePrecense ) // waste cartridge is inserted . { - SetCartridgeLED(waste_cartridge2, led_on); + Pannel_Leds(CART_3, MODE_ON);//SetCartridgeLED(waste_cartridge2, led_on); RdWasteCartridgeParam(waste_cartridge2); if ( CartridgeAuthentication(waste_cartridge2)) // to define authentication { @@ -598,6 +621,7 @@ bool WasteTankCBFunction() } else // waste cartridge 2 take out { + Pannel_Leds(CART_3, MODE_OFF); WHS_info.cartridge_2.autheticate = FAILED; /* if (WHS_info.cartridge_2.autheticate == PASSED) // or we should do it only before pumping???? @@ -616,6 +640,7 @@ bool WasteTankCBFunction() //SetActiveWastCartridge(); break; case WHS_Timeout: + REPORT_MSG(WHS_emptying," ------------ WHS_Timeout ----------------- "); AlarmHandlingSetAlarm( EVENT_TYPE__WASTE_CONTAINER_EMPTYING_TIMEOUT, true); CartridgeWasteFilling(OFF); break; @@ -633,11 +658,16 @@ bool WasteTankCBFunction() bool RdCartridgeCoverSensor() { + uint32_t parameter = 6 ; + + //REPORT_MSG(parameter," ------------ RD Cartridge Cover Sensor ----------------- "); bool ret = notOK; WHS_Read_GPI_Registers(); // WHS_info.WHS_sensors.cartridge_cover = Get_COVER_1_State(CartridgesDoor); // ret = WHS_info.WHS_sensors.cartridge_cover; ret = Get_COVER_1_State(CartridgesDoor); + if ((ret == OPEN ) && (ret != WHS_info.WHS_sensors.cartridge_cover)) Report(" ------------ RD Cartridge Cover Sensor is = OPEN(1) ----------------- ",__FILE__,__LINE__,ret,RpWarning,ret,0); + if ((ret == CLOSE ) && (ret != WHS_info.WHS_sensors.cartridge_cover)) REPORT_MSG(parameter," ------------ RD Cartridge Cover Sensor is = CLOSE(0) ----------------- "); return ret; } @@ -646,10 +676,14 @@ bool RdCartridgeCoverSensor() WHS_sensor CartridgeCoverCallBackFunction() { + uint32_t parameter = 6 ; + + WHS_sensor ret = WHS_no_event; //ret = RdCartridgeCoverSensor(); if (WHS_info.WHS_sensors.cartridge_cover != RdCartridgeCoverSensor()) { + REPORT_MSG(parameter," ------------ find : WHS_cartridge_cover_sensor event ----------------- "); WHS_info.event = WHS_cartridge_cover_sensor; WHS_info.WHS_sensors.cartridge_cover = !WHS_info.WHS_sensors.cartridge_cover; ret = WHS_cartridge_cover_sensor; @@ -659,10 +693,13 @@ WHS_sensor CartridgeCoverCallBackFunction() WHS_sensor CartridgeWaste1CallBackFunction() { + uint32_t parameter = 6 ; + WHS_sensor ret = WHS_no_event; //ret = RdCartridgeCoverSensor(); if (WHS_info.WHS_sensors.waste_cartridge1_precense_sensor != RdWasteCartridge1Sensor()) { + REPORT_MSG(parameter," ------------ find : WHS_waste1_presence_sensor event ----------------- "); WHS_info.event = WHS_waste1_presence_sensor; WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = !WHS_info.WHS_sensors.waste_cartridge1_precense_sensor; ret = WHS_waste1_presence_sensor; @@ -672,10 +709,13 @@ WHS_sensor CartridgeWaste1CallBackFunction() WHS_sensor CartridgeWaste2CallBackFunction() { + uint32_t parameter = 6 ; + WHS_sensor ret = WHS_no_event; //ret = RdCartridgeCoverSensor(); if (WHS_info.WHS_sensors.waste_cartridge2_precense_sensor != RdWasteCartridge2Sensor()) { + REPORT_MSG(parameter," ------------ find : WHS_waste2_presence_sensor event ----------------- "); WHS_info.event = WHS_waste2_presence_sensor; WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = !WHS_info.WHS_sensors.waste_cartridge2_precense_sensor; ret = WHS_waste2_presence_sensor; @@ -686,15 +726,45 @@ WHS_sensor CartridgeWaste2CallBackFunction() /*------------------------------- Cartridge Waste -----------------------------------------*/ bool InitWasteCartStatus() { + uint32_t parameter = 6 ; + WHS_info.WHS_sensors.cartridge_cover = RdCartridgeCoverSensor(); - WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = RdWasteCartridge1Sensor(); - WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = RdWasteCartridge2Sensor(); + + if (RdWasteCartridge1Sensor()) + { + REPORT_MSG(parameter," ------------ WHS_waste1_presence_sensor event ----------------- "); + WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = WHS_CarteidgePrecense; + Pannel_Leds( CART_2, MODE_ON); + } + else + { + REPORT_MSG(parameter," ------------ WHS_waste1_NOT !!! presence_sensor ----------------- "); + WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = WHS_CarteidgeNotPrecense; + Pannel_Leds( CART_2, MODE_OFF); + } + + if (RdWasteCartridge2Sensor()) + { + REPORT_MSG(parameter," ------------ WHS_waste2_presence_sensor event ----------------- "); + WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = WHS_CarteidgePrecense; + Pannel_Leds( CART_3, MODE_ON); + } + else + { + REPORT_MSG(parameter," ------------ WHS_waste1_NOT !!! presence_sensor ----------------- "); + WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = WHS_CarteidgeNotPrecense; + Pannel_Leds( CART_3, MODE_OFF); + } + + + if (WHS_info.WHS_sensors.waste_cartridge1_precense_sensor == WHS_CarteidgePrecense) CartridgeAuthentication(waste_cartridge1); if (WHS_info.WHS_sensors.waste_cartridge2_precense_sensor == WHS_CarteidgePrecense) CartridgeAuthentication(waste_cartridge2); SetActiveWastCartridge(); if (WHS_info.WHS_sensors.cartridge_cover == WHS_CartridgeCoverOPEN) { + REPORT_MSG(parameter," ------------ WHS_CartridgeCoverOPEN : add callback for cart1 and cart 1 ----------------- "); WHS_info.Cartridge_Waste1_device_Id = AddControlCallback( WasteTankCBFunction, eOneSecond, CartridgeWaste1CallBackFunction, 0,0,0 ); WHS_info.Cartridge_Waste2_device_Id = AddControlCallback( WasteTankCBFunction, eOneSecond, CartridgeWaste2CallBackFunction, 0,0,0 ); } @@ -725,12 +795,26 @@ bool RdWasteCartridge2Sensor() bool SetActiveWastCartridge() { + uint8_t parameter = 5; + bool ret = notOK; if (( WHS_info.WHS_sensors.waste_cartridge1_precense_sensor == PRECENSE ) && - (WHS_info.cartridge_1.autheticate == PASSED)) WHS_info.active_cartridge = waste_cartridge1; + (WHS_info.cartridge_1.autheticate == PASSED)) + { + REPORT_MSG(parameter," ------------ WHS : active_cartridge = waste_cartridge 1 ----------------- "); + WHS_info.active_cartridge = waste_cartridge1; + } else if (( WHS_info.WHS_sensors.waste_cartridge2_precense_sensor == PRECENSE) && - (WHS_info.cartridge_2.autheticate == PASSED)) WHS_info.active_cartridge = waste_cartridge2; - else WHS_info.active_cartridge = no_waste_cartridge; + (WHS_info.cartridge_2.autheticate == PASSED)) + { + REPORT_MSG(parameter," ------------ WHS : active_cartridge = waste_cartridge 2 ----------------- "); + WHS_info.active_cartridge = waste_cartridge2; + } + else + { + REPORT_MSG(parameter," ------------ WHS : NO active_cartridge ----------------- "); + WHS_info.active_cartridge = no_waste_cartridge; + } return ret; } @@ -911,6 +995,7 @@ U8 RdWaste2() U8 SetValve(bool value) { bool ret = notOK; + WHS_info.WHS_valve = value; ret = SetValveDirection( ); return ret; } -- cgit v1.3.1 From 0f028a9d82e4d7dbf5fb2c81e6d6ab204a2647a6 Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Mon, 15 Apr 2019 16:17:04 +0300 Subject: Add blinkig mode for all the pannel leds --- .../Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c | 8 +- .../Embedded_SW/Embedded/Modules/Control/control.c | 86 +++++++++++++++++++++- 2 files changed, 90 insertions(+), 4 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') 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 f88438bd0..e219a3859 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 @@ -814,6 +814,7 @@ uint8_t Cartridges_LEDS(CARTREGE Cartridge, OPERATION_MODE LED_Mode) // CART1_LA uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mode) { uint8_t Status = OK; + bool Flag = true; short Low_Reg; short High_Reg; @@ -828,12 +829,15 @@ uint8_t Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mo Low_Reg = MAX_PWM_Command +1; High_Reg = 1; break; + //case MODE_SLOW_BLINKING://Done in ControlActivityLed + //case MODE_FAST_BLINKING://Done in ControlActivityLed + //case MODE_BREATHING://Done in Machine_Idle_Breathing_Led on idle mode (only for POWER) default: - Status = ERROR; + Flag = false; break; } - if(Status == OK) + if(Flag == true) { switch(Pannel_Led_Id) { diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c index 608d17a7b..c94f0335f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/control.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c @@ -166,11 +166,51 @@ uint32_t ControlActivityLed( uint32_t Parameter1) ACTIVITY_RED_LED_OFF; // Heaters indication - all the Heaters OFF if(power.color == fastBILNK) Pannel_Leds(POWER_ON_OFF,MODE_OFF); - + else if((power.color == BLINK) && (counter % Blink_Freq == 0) ) { Pannel_Leds(POWER_ON_OFF,MODE_OFF); } + /////////////////////////////////////////////////////////// + if(jog.color == fastBILNK) + Pannel_Leds(POWER_ON_OFF,MODE_OFF); + else + if((jog.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(POWER_ON_OFF,MODE_OFF); + } + /////////////////////////////////////////////////////////// + if(load.color == fastBILNK) + Pannel_Leds(POWER_ON_OFF,MODE_OFF); + else + if((load.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(POWER_ON_OFF,MODE_OFF); + } + /////////////////////////////////////////////////////////// + if(cart1.color == fastBILNK) + Pannel_Leds(CART_1,MODE_OFF); + else + if((cart1.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(CART_1,MODE_OFF); + } + /////////////////////////////////////////////////////////// + if(cart2.color == fastBILNK) + Pannel_Leds(CART_2,MODE_OFF); + else + if((cart2.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(CART_2,MODE_OFF); + } + /////////////////////////////////////////////////////////// + if(cart3.color == fastBILNK) + Pannel_Leds(CART_3,MODE_OFF); + else + if((cart3.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(CART_3,MODE_OFF); + } flag = false; } else @@ -181,11 +221,53 @@ uint32_t ControlActivityLed( uint32_t Parameter1) if(power.color == fastBILNK) Pannel_Leds(POWER_ON_OFF,MODE_ON); - + else if((power.color == BLINK) && (counter % Blink_Freq == 0) ) { Pannel_Leds(POWER_ON_OFF,MODE_ON); } + /////////////////////////////////////////////////////////// + if(jog.color == fastBILNK) + Pannel_Leds(POWER_ON_OFF,MODE_ON); + else + if((jog.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(POWER_ON_OFF,MODE_ON); + } + /////////////////////////////////////////////////////////// + if(load.color == fastBILNK) + Pannel_Leds(POWER_ON_OFF,MODE_ON); + else + if((load.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(POWER_ON_OFF,MODE_ON); + } + /////////////////////////////////////////////////////////// + if(cart1.color == fastBILNK) + Pannel_Leds(CART_1,MODE_ON); + else + if((cart1.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(CART_1,MODE_ON); + } + /////////////////////////////////////////////////////////// + if(cart2.color == fastBILNK) + Pannel_Leds(CART_2,MODE_ON); + else + if((cart2.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(CART_2,MODE_ON); + } + /////////////////////////////////////////////////////////// + if(cart3.color == fastBILNK) + Pannel_Leds(CART_3,MODE_ON); + else + if((cart3.color == BLINK) && (counter % Blink_Freq == 0) ) + { + Pannel_Leds(CART_3,MODE_ON); + } + + flag = true; } -- cgit v1.3.1 From e6e4c067c992233e1601f4a32e9534bb6d111bbb Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Mon, 15 Apr 2019 16:34:26 +0300 Subject: Add structs to cart1-3 --- Software/Embedded_SW/Embedded/Modules/General/buttons.c | 2 +- Software/Embedded_SW/Embedded/Modules/General/buttons.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/General/buttons.c b/Software/Embedded_SW/Embedded/Modules/General/buttons.c index bbe3da526..f590a7fc9 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/buttons.c +++ b/Software/Embedded_SW/Embedded/Modules/General/buttons.c @@ -37,7 +37,7 @@ int thredJog(); -button power , jog, load; +button power, jog, load, cart1, cart2, cart3; uint32_t ButtonPowerCallBackFunction(uint32_t IfIndex, uint32_t ReadValue); uint32_t ButtonPowerCBFunction(uint32_t IfIndex, uint32_t ReadValue); uint32_t ShortLongOffPB(uint8_t OnOffPB, button *pBtn); diff --git a/Software/Embedded_SW/Embedded/Modules/General/buttons.h b/Software/Embedded_SW/Embedded/Modules/General/buttons.h index 2ec6d32a0..2d14eb000 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/buttons.h +++ b/Software/Embedded_SW/Embedded/Modules/General/buttons.h @@ -52,7 +52,7 @@ typedef struct Button uint32_t count; }button; -extern button power , jog, load; +extern button power, jog, load, cart1, cart2, cart3; uint32_t Buttons_Init(void); uint32_t Button_load_Init(void); -- cgit v1.3.1 From 803738c15ddbaebd07e13ee59d493a7ef56b978f Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Mon, 15 Apr 2019 17:03:20 +0300 Subject: fix bug in buttons.c (on command and blink command at the same time) --- Software/Embedded_SW/Embedded/Modules/General/buttons.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/General/buttons.c b/Software/Embedded_SW/Embedded/Modules/General/buttons.c index f590a7fc9..74cb81aac 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/buttons.c +++ b/Software/Embedded_SW/Embedded/Modules/General/buttons.c @@ -545,7 +545,6 @@ uint32_t LoadStatMachine( button *pBtn) case (REPLONGPB): pBtn->state = sttPRELOAD; pBtn->color = BLINK; - Pannel_Leds(THREAD_LOAD, MODE_ON);//AVI+ if (ThreadLoadStateMachine( THREAD_LOAD_INIT)) { pBtn->state = sttPRELOAD ; // to do @@ -581,7 +580,6 @@ uint32_t LoadStatMachine( button *pBtn) { pBtn->state = sttLOADFAIL ; pBtn->color = fastBILNK ; // to do - Pannel_Leds(THREAD_LOAD, MODE_ON);//AVI+ } break; default : -- cgit v1.3.1 From 58b58bc39201cd8702be1780d22e6340478feb43 Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Mon, 15 Apr 2019 17:23:26 +0300 Subject: fix bug in ControlActivityLed --- Software/Embedded_SW/Embedded/Modules/Control/control.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c index c94f0335f..b316fd73f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/control.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c @@ -173,19 +173,19 @@ uint32_t ControlActivityLed( uint32_t Parameter1) } /////////////////////////////////////////////////////////// if(jog.color == fastBILNK) - Pannel_Leds(POWER_ON_OFF,MODE_OFF); + Pannel_Leds(THREAD_JOGGING,MODE_OFF); else if((jog.color == BLINK) && (counter % Blink_Freq == 0) ) { - Pannel_Leds(POWER_ON_OFF,MODE_OFF); + Pannel_Leds(THREAD_JOGGING,MODE_OFF); } /////////////////////////////////////////////////////////// if(load.color == fastBILNK) - Pannel_Leds(POWER_ON_OFF,MODE_OFF); + Pannel_Leds(THREAD_LOAD,MODE_OFF); else if((load.color == BLINK) && (counter % Blink_Freq == 0) ) { - Pannel_Leds(POWER_ON_OFF,MODE_OFF); + Pannel_Leds(THREAD_LOAD,MODE_OFF); } /////////////////////////////////////////////////////////// if(cart1.color == fastBILNK) @@ -228,19 +228,19 @@ uint32_t ControlActivityLed( uint32_t Parameter1) } /////////////////////////////////////////////////////////// if(jog.color == fastBILNK) - Pannel_Leds(POWER_ON_OFF,MODE_ON); + Pannel_Leds(THREAD_JOGGING,MODE_ON); else if((jog.color == BLINK) && (counter % Blink_Freq == 0) ) { - Pannel_Leds(POWER_ON_OFF,MODE_ON); + Pannel_Leds(THREAD_JOGGING,MODE_ON); } /////////////////////////////////////////////////////////// if(load.color == fastBILNK) - Pannel_Leds(POWER_ON_OFF,MODE_ON); + Pannel_Leds(THREAD_LOAD,MODE_ON); else if((load.color == BLINK) && (counter % Blink_Freq == 0) ) { - Pannel_Leds(POWER_ON_OFF,MODE_ON); + Pannel_Leds(THREAD_LOAD,MODE_ON); } /////////////////////////////////////////////////////////// if(cart1.color == fastBILNK) -- cgit v1.3.1 From 80c89babe4608fc702c67d6253c233c970a93f94 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 16 Apr 2019 00:04:30 +0300 Subject: watchdog 2nd trial, still not good --- Software/Embedded_SW/Embedded/Common/Utilities/Utils.c | 2 ++ Software/Embedded_SW/Embedded/Main.c | 2 +- Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c b/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c index 9cdb3c6bd..542ea659a 100644 --- a/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c +++ b/Software/Embedded_SW/Embedded/Common/Utilities/Utils.c @@ -96,6 +96,8 @@ void InitWatchdog(uint32_t clock) // // Enable the watchdog interrupt. // + MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0); + ROM_WatchdogIntClear(WATCHDOG0_BASE); ROM_IntEnable(INT_WATCHDOG); // diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c index a125ef10c..1c368e180 100644 --- a/Software/Embedded_SW/Embedded/Main.c +++ b/Software/Embedded_SW/Embedded/Main.c @@ -177,7 +177,7 @@ int main(void) #endif #ifdef WATCHDOG - InitWatchdog(ui32SysClock); + InitWatchdog(ui32SysClock*2); #endif CommunicationTaskInit(); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 1483f2889..6f1dc2052 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -142,7 +142,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params) EmbeddedParameters.has_dispenserbuildpressurelag = true; EmbeddedParameters.dispenserbuildpressurelag=50; EmbeddedParameters.has_acheatersloweroperationlimit = true; - EmbeddedParameters.acheatersloweroperationlimit = 995; + EmbeddedParameters.acheatersloweroperationlimit = 980; EmbeddedParameters.has_acheatersupperoperationlimit = true; EmbeddedParameters.acheatersupperoperationlimit = 1005; EmbeddedParameters.has_dcheatersloweroperationlimit = true; -- cgit v1.3.1 From f937e17452d6e89b67a675cd7139d84cbd7b0ee3 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 16 Apr 2019 00:42:26 +0300 Subject: minor changes --- .../Embedded/Modules/Heaters/Heaters_print.c | 2 +- .../Embedded_SW/Embedded/Modules/IDS/IDS_print.c | 22 ++++++++++++++++++---- .../Embedded/Modules/Thread/Thread_Winder.c | 4 ++-- .../StateMachines/Initialization/PowerIdle.c | 2 +- 4 files changed, 22 insertions(+), 8 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index c177b9b06..93048681d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -547,7 +547,7 @@ uint32_t PrepareHeater(int HeaterId, uint32_t SetTemperatue) HeaterPIDConfig[HeaterId].m_preError = 0; HeaterPIDConfig[HeaterId].m_SetParam = SetTemperatue*100;//need to update SetParams on presegment stage - int band = 8; + int band = 10; /*if (HeaterControl[HeaterId].outputproportionalband) { band = HeaterControl[HeaterId].outputproportionalband; diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index c4c9085ea..f3c5ad8da 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -661,7 +661,10 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); if (MotorsCfg[HW_Motor_Id].hardwaremotortype != DispenserIdToMotorId[DispenserId]) continue; - + if ((DispenserId == CLEANER_DISPENSER)||(DispenserId == LUBRICANT_DISPENSER)) + { + continue; + } //(Speed*uStep*PPR)/((2*PI*Dispenser_Radius) segmentfirst_speed = Dispensers[Dispenser_i]->nanolitterpersecond / Dispensers[Dispenser_i]->nanoliterperpulse; @@ -677,7 +680,7 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); } else { - //segmentfirst_speed/=MotorsCfg[HW_Motor_Id].microstep; //the dye supply is calculated based on a 1/8 microstep + segmentfirst_speed/=8;//MotorsCfg[HW_Motor_Id].microstep; //the dye supply is calculated based on a 1/8 microstep IDS_Dispenser_Set_Flow_Params( DispenserId, Dispensers[Dispenser_i]->nanoliterperpulse, MotorsCfg[HW_Motor_Id].microstep); @@ -799,6 +802,13 @@ uint32_t IDSPreSegmentState(void *SegmentDetails, int SegmentId) DispenserPreSegmentReady[DispenserId] = true; //27/03/19 check if job should be stopped continue; } + if ((DispenserId == CLEANER_DISPENSER)||(DispenserId == LUBRICANT_DISPENSER)) + { + REPORT_MSG(DispenserId,"Dispenser PreSegment cleaner or lubricant"); + DispenserPreSegmentReady[DispenserId] = true; //27/03/19 check if job should be stopped + continue; + } + //REPORT_MSG(DispenserId,"IDS_Valve_Presegment start"); IDS_Dispenser_Set_Flow_Params(DispenserId,0,0); if (Dispensers[Dispenser_i]->dispenserstepdivision != DISPENSER_STEP_DIVISION__Auto) @@ -842,7 +852,10 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers) if (MotorsCfg[HW_Motor_Id].hardwaremotortype != DispenserIdToMotorId[DispenserId]) continue; - + if ((DispenserId == CLEANER_DISPENSER)||(DispenserId == LUBRICANT_DISPENSER)) + { + continue; + } //(Speed*uStep*PPR)/((2*PI*Dispenser_Radius) segmentfirst_speed = Dispensers[Dispenser_i]->nanolitterpersecond / Dispensers[Dispenser_i]->nanoliterperpulse; @@ -858,7 +871,8 @@ void IDS_StartBrushStop(int n_dispensers, JobDispenser** Dispensers) } else { - //segmentfirst_speed/=MotorsCfg[HW_Motor_Id].microstep; //the dye supply is calculated based on a 1/8 microstep + segmentfirst_speed/=8;//MotorsCfg[HW_Motor_Id].microstep; //the dye supply is calculated based on a 1/8 microstep + IDS_Dispenser_Set_Flow_Params( DispenserId, Dispensers[Dispenser_i]->nanoliterperpulse, MotorsCfg[HW_Motor_Id].microstep); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 1f7836ea5..0b19d835a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -111,12 +111,12 @@ uint32_t Winder_Prepare(void) }*/ if (FPGA_Read_limit_Switches(GPI_LS_SCREW_RIGHT)==LIMIT) { - //REPORT_MSG(LIMIT, "Winder_Prepare at limit"); + REPORT_MSG(LIMIT, "Winder_Prepare at limit"); Winder_PrepareStage2(0,0); } else { - //REPORT_MSG(ScrewSpeed, "Winder_Prepare"); + REPORT_MSG(ScrewSpeed, "Winder_Prepare"); Winder_ScrewHoming = true; //REPORT_MSG(MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize, "Winder_Prepare move to limit"); status = MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_SCREW,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize, ScrewSpeed, GPI_LS_SCREW_RIGHT, Winder_PrepareStage2,2000); diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c index d365aafe4..16067dcdc 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c @@ -70,7 +70,7 @@ uint32_t PowerIdleCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) { if (machineActive == true) return OK; - if (powerIdleSecondsCounter%10 == 0) + if (powerIdleSecondsCounter%100 == 0) Report("PowerIdle Idle counter ",__FILE__,__LINE__,(int)powerIdleSecondsLimit,RpWarning,(int)powerIdleSecondsCounter,0); if (++powerIdleSecondsCounter>=powerIdleSecondsLimit) -- cgit v1.3.1 From 8f8bae1c76df24a33d972145182335a84eb55c8d Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Wed, 17 Apr 2019 12:28:27 +0300 Subject: Reduce the code size under 720,896 bytes (0xB000) by exclude unused files --- Software/Embedded_SW/Embedded/.cproject | 2 +- .../Embedded_SW/Embedded/Communication/Container.c | 62 +- .../PMR/Diagnostics/InterfaceIOs.pb-c.c | 704 ++------------------- .../PMR/Diagnostics/InterfaceIOs.pb-c.h | 309 --------- .../Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c | 36 ++ .../Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c | 24 +- .../Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c | 3 + .../Modules/Stubs_Handler/Stub_HW_Version.c | 36 +- .../Embedded/Modules/Stubs_Handler/Stub_L6470.c | 24 +- .../Embedded/Modules/Stubs_Handler/Stub_L6470.h | 3 - 10 files changed, 161 insertions(+), 1042 deletions(-) delete mode 100644 Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.h (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/.cproject b/Software/Embedded_SW/Embedded/.cproject index 2dfc05eca..0f253578d 100644 --- a/Software/Embedded_SW/Embedded/.cproject +++ b/Software/Embedded_SW/Embedded/.cproject @@ -170,7 +170,7 @@ - + diff --git a/Software/Embedded_SW/Embedded/Communication/Container.c b/Software/Embedded_SW/Embedded/Communication/Container.c index ffcae9922..89d8cb062 100644 --- a/Software/Embedded_SW/Embedded/Communication/Container.c +++ b/Software/Embedded_SW/Embedded/Communication/Container.c @@ -16,7 +16,7 @@ #include "Modules/Stubs_Handler/Stub_ExtFlash.h" #include "Modules/Stubs_Handler/Stub_FPGAReadBackReg.h" #include "Modules/Stubs_Handler/Stub_FPGAReadVersion.h" -#include "Modules/Stubs_Handler/Stub_L6470.h" +//#include "Modules/Stubs_Handler/Stub_L6470.h" #include "Modules/Stubs_Handler/Stub_Motor.h" #include "Modules/Stubs_Handler/Stub_HW_Version.h" #include "Modules/Stubs_Handler/Stub_FPGARWReg.h" @@ -149,12 +149,12 @@ void receive_callback(char* buffer, size_t length) case MESSAGE_TYPE__ProgressRequest: Stub_ProgressRequest(requestContainer); break; - case MESSAGE_TYPE__StubCartridgeReadRequest: - Stub_CartridgeReadRequest(requestContainer); - break; - case MESSAGE_TYPE__StubCartridgeWriteRequest: - Stub_CartridgeWriteRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubCartridgeReadRequest: +// Stub_CartridgeReadRequest(requestContainer); +// break; +// case MESSAGE_TYPE__StubCartridgeWriteRequest: +// Stub_CartridgeWriteRequest(requestContainer); +// break; case MESSAGE_TYPE__StubDispenserRequest: Stub_DispenserRequest(requestContainer); break; @@ -179,12 +179,12 @@ void receive_callback(char* buffer, size_t length) case MESSAGE_TYPE__StubI2CRequest: Stub_I2CRequest(requestContainer); break; - case MESSAGE_TYPE__StubOptLimitSwitchRequest: - Stub_OptLimitSwitchRequest(requestContainer); - break; - case MESSAGE_TYPE__StubSteperMotorRequest: - Stub_SteperMotorRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubOptLimitSwitchRequest: +// Stub_OptLimitSwitchRequest(requestContainer); +// break; +// case MESSAGE_TYPE__StubSteperMotorRequest: +// Stub_SteperMotorRequest(requestContainer); +// break; case MESSAGE_TYPE__StubValveRequest: Stub_ValveRequest(requestContainer); break; @@ -194,9 +194,9 @@ void receive_callback(char* buffer, size_t length) case MESSAGE_TYPE__StubExtFlashWriteRequest: Stub_ExtFlashWriteRequest(requestContainer); break; - case MESSAGE_TYPE__StubFPGAReadBackRegRequest: - Stub_FPGAReadBackRegRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubFPGAReadBackRegRequest: +// Stub_FPGAReadBackRegRequest(requestContainer); +// break; case MESSAGE_TYPE__StubFPGAReadVersionRequest: Stub_FPGAReadVersionRequest(requestContainer); break; @@ -208,9 +208,9 @@ void receive_callback(char* buffer, size_t length) Stub_FpgaWriteRegRequest(requestContainer); break; /*************************************/ - case MESSAGE_TYPE__StubL6470DriverRequest: - Stub_L6470DriverRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubL6470DriverRequest: +// Stub_L6470DriverRequest(requestContainer); +// break; case MESSAGE_TYPE__StubMotorInitRequest: Stub_MotorInitRequest(requestContainer); break; @@ -241,9 +241,9 @@ void receive_callback(char* buffer, size_t length) case MESSAGE_TYPE__StubAbortJobRequest: Stub_AbortJobRequest(requestContainer); break; - case MESSAGE_TYPE__StubHWVersionRequest: - Stub_HWVersionRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubHWVersionRequest: +// Stub_HWVersionRequest(requestContainer); +// break; case MESSAGE_TYPE__StartDebugLogRequest: ReportInitMessage(requestContainer); break; @@ -285,18 +285,18 @@ void receive_callback(char* buffer, size_t length) case MESSAGE_TYPE__SystemResetRequest: HWSystemResetRequest(requestContainer); break; - case MESSAGE_TYPE__StubTivaReadRegRequest: - Stub_TivaReadRegRequest(requestContainer); - break; - case MESSAGE_TYPE__StubTivaWriteRegRequest: - Stub_TivaWriteRegRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubTivaReadRegRequest: +// Stub_TivaReadRegRequest(requestContainer); +// break; +// case MESSAGE_TYPE__StubTivaWriteRegRequest: +// Stub_TivaWriteRegRequest(requestContainer); +// break; case MESSAGE_TYPE__StubDancerPositionRequest: Stub_DancerPositionRequest(requestContainer); break; - case MESSAGE_TYPE__StubSpeedSensorRequest: - Stub_SpeedSensorRequest(requestContainer); - break; +// case MESSAGE_TYPE__StubSpeedSensorRequest: +// Stub_SpeedSensorRequest(requestContainer); +// break; case MESSAGE_TYPE__StubRealTimeUsageRequest: Stub_RealTimeUsageRequest(requestContainer); break; diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c index e71fd9af5..c5c19ee52 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.c @@ -7,171 +7,19 @@ #endif #include "InterfaceIOs.pb-c.h" -static const ProtobufCEnumValue interface_ios__enum_values_by_number[347] = +static const ProtobufCEnumValue interface_ios__enum_values_by_number[38] = { { "ANALOG_MIXCHIP_TEMP", "INTERFACE_IOS__ANALOG_MIXCHIP_TEMP", 0 }, - { "AN_DYEINGH_CURSEN_1", "INTERFACE_IOS__AN_DYEINGH_CURSEN_1", 1 }, - { "AN_DYEINGH_CURSEN_2", "INTERFACE_IOS__AN_DYEINGH_CURSEN_2", 2 }, - { "AN_DYEINGH_CURSEN_3", "INTERFACE_IOS__AN_DYEINGH_CURSEN_3", 3 }, - { "AN_DYEINGH_CURSEN_4", "INTERFACE_IOS__AN_DYEINGH_CURSEN_4", 4 }, - { "AN_DYEINGH_CURSEN_5", "INTERFACE_IOS__AN_DYEINGH_CURSEN_5", 5 }, - { "ANALOG_DYEINGH_TEMP1", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP1", 6 }, - { "ANALOG_DYEINGH_TEMP2", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP2", 7 }, - { "ANALOG_DYEINGH_TEMP3", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP3", 8 }, - { "ANALOG_DYEINGH_TEMP4", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP4", 9 }, - { "ANALOG_DYEINGH_TEMP5", "INTERFACE_IOS__ANALOG_DYEINGH_TEMP5", 10 }, - { "LS_DH_CLEAN_DOWN", "INTERFACE_IOS__LS_DH_CLEAN_DOWN", 11 }, - { "LS_DH_CLEAN_LEFT", "INTERFACE_IOS__LS_DH_CLEAN_LEFT", 12 }, - { "LS_DH_CLEAN_RIGHT", "INTERFACE_IOS__LS_DH_CLEAN_RIGHT", 13 }, - { "LS_DH_CLEAN_UP", "INTERFACE_IOS__LS_DH_CLEAN_UP", 14 }, - { "LS_DH_LID_CLEANING", "INTERFACE_IOS__LS_DH_LID_CLEANING", 15 }, - { "LS_DH_LID_CLOSED", "INTERFACE_IOS__LS_DH_LID_CLOSED", 16 }, - { "LS_DH_LID_OPEN", "INTERFACE_IOS__LS_DH_LID_OPEN", 17 }, - { "LS_DH_SPARE1", "INTERFACE_IOS__LS_DH_SPARE1", 18 }, { "GPO_MIXCHIP_SSR4_CTRL", "INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL", 19 }, { "GPO_DYEINGH_SSR5_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR5_CTRL", 20 }, { "GPO_DYEINGH_SSR6_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR6_CTRL", 21 }, { "GPO_DYEINGH_SSR7_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR7_CTRL", 22 }, { "GPO_DYEINGH_SSR8_CTRL", "INTERFACE_IOS__GPO_DYEINGH_SSR8_CTRL", 23 }, - { "DH2", "INTERFACE_IOS__DH2", 24 }, - { "DH1", "INTERFACE_IOS__DH1", 25 }, - { "MOTO_DH_CLEANHEAD", "INTERFACE_IOS__MOTO_DH_CLEANHEAD", 26 }, - { "MOTO_DH_CLEANMECH", "INTERFACE_IOS__MOTO_DH_CLEANMECH", 27 }, - { "MOTO_DH_LID", "INTERFACE_IOS__MOTO_DH_LID", 28 }, - { "AN_DRYER_CURSEN1", "INTERFACE_IOS__AN_DRYER_CURSEN1", 29 }, - { "AN_DRYER_CURSEN2", "INTERFACE_IOS__AN_DRYER_CURSEN2", 30 }, - { "AN_DRYER_CURSEN3", "INTERFACE_IOS__AN_DRYER_CURSEN3", 31 }, - { "ANALOG_DRYER_TEMP1", "INTERFACE_IOS__ANALOG_DRYER_TEMP1", 32 }, - { "ANALOG_DRYER_TEMP2", "INTERFACE_IOS__ANALOG_DRYER_TEMP2", 33 }, - { "ANALOG_DRYER_TEMP3", "INTERFACE_IOS__ANALOG_DRYER_TEMP3", 34 }, - { "LS_DRYER_LID_CLOSED", "INTERFACE_IOS__LS_DRYER_LID_CLOSED", 35 }, - { "LS_DRYER_LID_OPEN", "INTERFACE_IOS__LS_DRYER_LID_OPEN", 36 }, - { "LS_DRYER_SPARE1", "INTERFACE_IOS__LS_DRYER_SPARE1", 37 }, - { "LS_DRYER_SPARE2", "INTERFACE_IOS__LS_DRYER_SPARE2", 38 }, - { "LS_DRYER_SPARE3", "INTERFACE_IOS__LS_DRYER_SPARE3", 39 }, - { "LS_DRYER_SPARE4", "INTERFACE_IOS__LS_DRYER_SPARE4", 40 }, - { "LS_LOADARM_LEFT", "INTERFACE_IOS__LS_LOADARM_LEFT", 41 }, - { "LS_LOADARM_RIGHT", "INTERFACE_IOS__LS_LOADARM_RIGHT", 42 }, { "GPO_DRYER_SSR1_CTRL", "INTERFACE_IOS__GPO_DRYER_SSR1_CTRL", 43 }, { "GPO_DRYER_SSR2_CTRL", "INTERFACE_IOS__GPO_DRYER_SSR2_CTRL", 44 }, { "GPO_DRYER_SSR3_CTRL", "INTERFACE_IOS__GPO_DRYER_SSR3_CTRL", 45 }, - { "DRYER2", "INTERFACE_IOS__DRYER2", 46 }, - { "DRYER1", "INTERFACE_IOS__DRYER1", 47 }, - { "MOTO_DRYER_DRIVING", "INTERFACE_IOS__MOTO_DRYER_DRIVING", 48 }, - { "MOTO_DRYER_LID", "INTERFACE_IOS__MOTO_DRYER_LID", 49 }, - { "MOTO_DRYER_LOADARM", "INTERFACE_IOS__MOTO_DRYER_LOADARM", 50 }, - { "DRYER_LOADARM_ROTENC", "INTERFACE_IOS__DRYER_LOADARM_ROTENC", 51 }, - { "GPI_PS1_DC_OK", "INTERFACE_IOS__GPI_PS1_DC_OK", 52 }, - { "GPO_PDOWN_RL1_CTRL", "INTERFACE_IOS__GPO_PDOWN_RL1_CTRL", 53 }, - { "GPO_SPARE_SSR12_CTRL", "INTERFACE_IOS__GPO_SPARE_SSR12_CTRL", 54 }, { "GPO_SPARE_SSR13_CTRL", "INTERFACE_IOS__GPO_SPARE_SSR13_CTRL", 55 }, - { "ELECTRICALENC", "INTERFACE_IOS__ELECTRICALENC", 56 }, - { "USERPANEL", "INTERFACE_IOS__USERPANEL", 57 }, - { "GPI_EXTWINDER_1", "INTERFACE_IOS__GPI_EXTWINDER_1", 58 }, - { "GPI_EXTWINDER_2", "INTERFACE_IOS__GPI_EXTWINDER_2", 59 }, - { "GPI_EXTWINDER_3", "INTERFACE_IOS__GPI_EXTWINDER_3", 60 }, - { "GPO_EXTWINDER_1", "INTERFACE_IOS__GPO_EXTWINDER_1", 61 }, - { "GPO_EXTWINDER_2", "INTERFACE_IOS__GPO_EXTWINDER_2", 62 }, - { "GPO_EXTWINDER_3", "INTERFACE_IOS__GPO_EXTWINDER_3", 63 }, { "GPO_EXTWINDER_SSR11_CTRL", "INTERFACE_IOS__GPO_EXTWINDER_SSR11_CTRL", 64 }, - { "EXTWINDER_CTRL", "INTERFACE_IOS__EXTWINDER_CTRL", 65 }, - { "EXTWINDINGUNIT", "INTERFACE_IOS__EXTWINDINGUNIT", 66 }, - { "AN_IDS_PRESSENS_1", "INTERFACE_IOS__AN_IDS_PRESSENS_1", 67 }, - { "AN_IDS_PRESSENS_2", "INTERFACE_IOS__AN_IDS_PRESSENS_2", 68 }, - { "AN_IDS_PRESSENS_3", "INTERFACE_IOS__AN_IDS_PRESSENS_3", 69 }, - { "AN_IDS_PRESSENS_4", "INTERFACE_IOS__AN_IDS_PRESSENS_4", 70 }, - { "AN_IDS_PRESSENS_5", "INTERFACE_IOS__AN_IDS_PRESSENS_5", 71 }, - { "AN_IDS_PRESSENS_6", "INTERFACE_IOS__AN_IDS_PRESSENS_6", 72 }, - { "AN_IDS_PRESSENS_7", "INTERFACE_IOS__AN_IDS_PRESSENS_7", 73 }, - { "AN_IDS_PRESSENS_8", "INTERFACE_IOS__AN_IDS_PRESSENS_8", 74 }, - { "AN_MIDTANK_PRESSENS1", "INTERFACE_IOS__AN_MIDTANK_PRESSENS1", 75 }, - { "AN_MIDTANK_PRESSENS2", "INTERFACE_IOS__AN_MIDTANK_PRESSENS2", 76 }, - { "AN_MIDTANK_PRESSENS3", "INTERFACE_IOS__AN_MIDTANK_PRESSENS3", 77 }, - { "AN_MIDTANK_PRESSENS4", "INTERFACE_IOS__AN_MIDTANK_PRESSENS4", 78 }, - { "AN_MIDTANK_PRESSENS5", "INTERFACE_IOS__AN_MIDTANK_PRESSENS5", 79 }, - { "AN_MIDTANK_PRESSENS6", "INTERFACE_IOS__AN_MIDTANK_PRESSENS6", 80 }, - { "AN_MIDTANK_PRESSENS7", "INTERFACE_IOS__AN_MIDTANK_PRESSENS7", 81 }, - { "AN_MIXCHIP_CURSENn", "INTERFACE_IOS__AN_MIXCHIP_CURSENn", 82 }, - { "LS_DISPENSER_25_1", "INTERFACE_IOS__LS_DISPENSER_25_1", 83 }, - { "LS_DISPENSER_25_2", "INTERFACE_IOS__LS_DISPENSER_25_2", 84 }, - { "LS_DISPENSER_25_3", "INTERFACE_IOS__LS_DISPENSER_25_3", 85 }, - { "LS_DISPENSER_25_4", "INTERFACE_IOS__LS_DISPENSER_25_4", 86 }, - { "LS_DISPENSER_25_5", "INTERFACE_IOS__LS_DISPENSER_25_5", 87 }, - { "LS_DISPENSER_25_6", "INTERFACE_IOS__LS_DISPENSER_25_6", 88 }, - { "LS_DISPENSER_25_7", "INTERFACE_IOS__LS_DISPENSER_25_7", 89 }, - { "LS_DISPENSER_25_8", "INTERFACE_IOS__LS_DISPENSER_25_8", 90 }, - { "LS_DISPENSER_50_1", "INTERFACE_IOS__LS_DISPENSER_50_1", 91 }, - { "LS_DISPENSER_50_2", "INTERFACE_IOS__LS_DISPENSER_50_2", 92 }, - { "LS_DISPENSER_50_3", "INTERFACE_IOS__LS_DISPENSER_50_3", 93 }, - { "LS_DISPENSER_50_4", "INTERFACE_IOS__LS_DISPENSER_50_4", 94 }, - { "LS_DISPENSER_50_5", "INTERFACE_IOS__LS_DISPENSER_50_5", 95 }, - { "LS_DISPENSER_50_6", "INTERFACE_IOS__LS_DISPENSER_50_6", 96 }, - { "LS_DISPENSER_50_7", "INTERFACE_IOS__LS_DISPENSER_50_7", 97 }, - { "LS_DISPENSER_50_8", "INTERFACE_IOS__LS_DISPENSER_50_8", 98 }, - { "LS_DISPENSER_75_1", "INTERFACE_IOS__LS_DISPENSER_75_1", 99 }, - { "LS_DISPENSER_75_2", "INTERFACE_IOS__LS_DISPENSER_75_2", 100 }, - { "LS_DISPENSER_75_3", "INTERFACE_IOS__LS_DISPENSER_75_3", 101 }, - { "LS_DISPENSER_75_4", "INTERFACE_IOS__LS_DISPENSER_75_4", 102 }, - { "LS_DISPENSER_75_5", "INTERFACE_IOS__LS_DISPENSER_75_5", 103 }, - { "LS_DISPENSER_75_6", "INTERFACE_IOS__LS_DISPENSER_75_6", 104 }, - { "LS_DISPENSER_75_7", "INTERFACE_IOS__LS_DISPENSER_75_7", 105 }, - { "LS_DISPENSER_75_8", "INTERFACE_IOS__LS_DISPENSER_75_8", 106 }, - { "LS_DISPENSER_DOWN_1", "INTERFACE_IOS__LS_DISPENSER_DOWN_1", 107 }, - { "LS_DISPENSER_DOWN_2", "INTERFACE_IOS__LS_DISPENSER_DOWN_2", 108 }, - { "LS_DISPENSER_DOWN_3", "INTERFACE_IOS__LS_DISPENSER_DOWN_3", 109 }, - { "LS_DISPENSER_DOWN_4", "INTERFACE_IOS__LS_DISPENSER_DOWN_4", 110 }, - { "LS_DISPENSER_DOWN_5", "INTERFACE_IOS__LS_DISPENSER_DOWN_5", 111 }, - { "LS_DISPENSER_DOWN_6", "INTERFACE_IOS__LS_DISPENSER_DOWN_6", 112 }, - { "LS_DISPENSER_DOWN_7", "INTERFACE_IOS__LS_DISPENSER_DOWN_7", 113 }, - { "LS_DISPENSER_DOWN_8", "INTERFACE_IOS__LS_DISPENSER_DOWN_8", 114 }, - { "LS_DISPENSER_SPARE_1", "INTERFACE_IOS__LS_DISPENSER_SPARE_1", 115 }, - { "LS_DISPENSER_SPARE_2", "INTERFACE_IOS__LS_DISPENSER_SPARE_2", 116 }, - { "LS_DISPENSER_SPARE_3", "INTERFACE_IOS__LS_DISPENSER_SPARE_3", 117 }, - { "LS_DISPENSER_SPARE_4", "INTERFACE_IOS__LS_DISPENSER_SPARE_4", 118 }, - { "LS_DISPENSER_SPARE_5", "INTERFACE_IOS__LS_DISPENSER_SPARE_5", 119 }, - { "LS_DISPENSER_SPARE_6", "INTERFACE_IOS__LS_DISPENSER_SPARE_6", 120 }, - { "LS_DISPENSER_SPARE_7", "INTERFACE_IOS__LS_DISPENSER_SPARE_7", 121 }, - { "LS_DISPENSER_SPARE_8", "INTERFACE_IOS__LS_DISPENSER_SPARE_8", 122 }, - { "LS_DISPENSER_UP_1", "INTERFACE_IOS__LS_DISPENSER_UP_1", 123 }, - { "LS_DISPENSER_UP_2", "INTERFACE_IOS__LS_DISPENSER_UP_2", 124 }, - { "LS_DISPENSER_UP_3", "INTERFACE_IOS__LS_DISPENSER_UP_3", 125 }, - { "LS_DISPENSER_UP_4", "INTERFACE_IOS__LS_DISPENSER_UP_4", 126 }, - { "LS_DISPENSER_UP_5", "INTERFACE_IOS__LS_DISPENSER_UP_5", 127 }, - { "LS_DISPENSER_UP_6", "INTERFACE_IOS__LS_DISPENSER_UP_6", 128 }, - { "LS_DISPENSER_UP_7", "INTERFACE_IOS__LS_DISPENSER_UP_7", 129 }, - { "LS_DISPENSER_UP_8", "INTERFACE_IOS__LS_DISPENSER_UP_8", 130 }, - { "MIDTANK1_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL1_FLOAT", 131 }, - { "MIDTANK1_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL2_FLOAT", 132 }, - { "MIDTANK1_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL3_FLOAT", 133 }, - { "MIDTANK1_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK1_LVL4_FLOAT", 134 }, - { "MIDTANK2_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL1_FLOAT", 135 }, - { "MIDTANK2_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL2_FLOAT", 136 }, - { "MIDTANK2_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL3_FLOAT", 137 }, - { "MIDTANK2_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK2_LVL4_FLOAT", 138 }, - { "MIDTANK3_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL1_FLOAT", 139 }, - { "MIDTANK3_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL2_FLOAT", 140 }, - { "MIDTANK3_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL3_FLOAT", 141 }, - { "MIDTANK3_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK3_LVL4_FLOAT", 142 }, - { "MIDTANK4_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL1_FLOAT", 143 }, - { "MIDTANK4_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL2_FLOAT", 144 }, - { "MIDTANK4_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL3_FLOAT", 145 }, - { "MIDTANK4_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK4_LVL4_FLOAT", 146 }, - { "MIDTANK5_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL1_FLOAT", 147 }, - { "MIDTANK5_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL2_FLOAT", 148 }, - { "MIDTANK5_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL3_FLOAT", 149 }, - { "MIDTANK5_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK5_LVL4_FLOAT", 150 }, - { "MIDTANK6_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL1_FLOAT", 151 }, - { "MIDTANK6_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL2_FLOAT", 152 }, - { "MIDTANK6_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL3_FLOAT", 153 }, - { "MIDTANK6_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK6_LVL4_FLOAT", 154 }, - { "MIDTANK7_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL1_FLOAT", 155 }, - { "MIDTANK7_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL2_FLOAT", 156 }, - { "MIDTANK7_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL3_FLOAT", 157 }, - { "MIDTANK7_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK7_LVL4_FLOAT", 158 }, - { "MIDTANK8_LVL1_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL1_FLOAT", 159 }, - { "MIDTANK8_LVL2_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL2_FLOAT", 160 }, - { "MIDTANK8_LVL3_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL3_FLOAT", 161 }, - { "MIDTANK8_LVL4_FLOAT", "INTERFACE_IOS__MIDTANK8_LVL4_FLOAT", 162 }, { "GPO_DILUTORPUMP_SSR10_CTRL", "INTERFACE_IOS__GPO_DILUTORPUMP_SSR10_CTRL", 163 }, { "GPO_WASTECH_PUMP2", "INTERFACE_IOS__GPO_WASTECH_PUMP2", 164 }, { "Midtank1Air", "INTERFACE_IOS__Midtank1Air", 165 }, @@ -190,166 +38,9 @@ static const ProtobufCEnumValue interface_ios__enum_values_by_number[347] = { "Midtank6Cartridge", "INTERFACE_IOS__Midtank6Cartridge", 178 }, { "Midtank7Cartridge", "INTERFACE_IOS__Midtank7Cartridge", 179 }, { "Midtank8Cartridge", "INTERFACE_IOS__Midtank8Cartridge", 180 }, - { "MOTO_DISPENSER_1", "INTERFACE_IOS__MOTO_DISPENSER_1", 181 }, - { "MOTO_DISPENSER_2", "INTERFACE_IOS__MOTO_DISPENSER_2", 182 }, - { "MOTO_DISPENSER_3", "INTERFACE_IOS__MOTO_DISPENSER_3", 183 }, - { "MOTO_DISPENSER_4", "INTERFACE_IOS__MOTO_DISPENSER_4", 184 }, - { "MOTO_DISPENSER_5", "INTERFACE_IOS__MOTO_DISPENSER_5", 185 }, - { "MOTO_DISPENSER_6", "INTERFACE_IOS__MOTO_DISPENSER_6", 186 }, - { "MOTO_DISPENSER_7", "INTERFACE_IOS__MOTO_DISPENSER_7", 187 }, - { "MOTO_DISPENSER_8", "INTERFACE_IOS__MOTO_DISPENSER_8", 188 }, - { "DISPENSER_ROTENC1", "INTERFACE_IOS__DISPENSER_ROTENC1", 189 }, - { "DISPENSER_ROTENC2", "INTERFACE_IOS__DISPENSER_ROTENC2", 190 }, - { "DISPENSER_ROTENC3", "INTERFACE_IOS__DISPENSER_ROTENC3", 191 }, - { "DISPENSER_ROTENC4", "INTERFACE_IOS__DISPENSER_ROTENC4", 192 }, - { "DISPENSER_ROTENC5", "INTERFACE_IOS__DISPENSER_ROTENC5", 193 }, - { "DISPENSER_ROTENC6", "INTERFACE_IOS__DISPENSER_ROTENC6", 194 }, - { "DISPENSER_ROTENC7", "INTERFACE_IOS__DISPENSER_ROTENC7", 195 }, - { "DISPENSER_ROTENC8", "INTERFACE_IOS__DISPENSER_ROTENC8", 196 }, - { "DISPENSER_VALVE_1", "INTERFACE_IOS__DISPENSER_VALVE_1", 197 }, - { "DISPENSER_VALVE_2", "INTERFACE_IOS__DISPENSER_VALVE_2", 198 }, - { "DISPENSER_VALVE_3", "INTERFACE_IOS__DISPENSER_VALVE_3", 199 }, - { "DISPENSER_VALVE_4", "INTERFACE_IOS__DISPENSER_VALVE_4", 200 }, - { "DISPENSER_VALVE_5", "INTERFACE_IOS__DISPENSER_VALVE_5", 201 }, - { "DISPENSER_VALVE_6", "INTERFACE_IOS__DISPENSER_VALVE_6", 202 }, - { "DISPENSER_VALVE_7", "INTERFACE_IOS__DISPENSER_VALVE_7", 203 }, - { "DISPENSER_1", "INTERFACE_IOS__DISPENSER_1", 204 }, - { "DISPENSER_3", "INTERFACE_IOS__DISPENSER_3", 205 }, - { "DISPENSER_5", "INTERFACE_IOS__DISPENSER_5", 206 }, - { "DISPENSER_7", "INTERFACE_IOS__DISPENSER_7", 207 }, - { "MIDTANK3_1", "INTERFACE_IOS__MIDTANK3_1", 208 }, - { "DISPENSER_2", "INTERFACE_IOS__DISPENSER_2", 209 }, - { "DISPENSER_4", "INTERFACE_IOS__DISPENSER_4", 210 }, - { "DISPENSER_6", "INTERFACE_IOS__DISPENSER_6", 211 }, - { "DISPENSER_8", "INTERFACE_IOS__DISPENSER_8", 212 }, - { "MIDTANK3_2", "INTERFACE_IOS__MIDTANK3_2", 213 }, - { "CART3", "INTERFACE_IOS__CART3", 214 }, - { "CART1", "INTERFACE_IOS__CART1", 215 }, - { "CART2", "INTERFACE_IOS__CART2", 216 }, - { "CART4", "INTERFACE_IOS__CART4", 217 }, - { "CART7", "INTERFACE_IOS__CART7", 218 }, - { "CART5", "INTERFACE_IOS__CART5", 219 }, - { "CART6", "INTERFACE_IOS__CART6", 220 }, - { "CART8", "INTERFACE_IOS__CART8", 221 }, - { "LS_SCREW_LEFT", "INTERFACE_IOS__LS_SCREW_LEFT", 222 }, - { "LS_SCREW_RIGHT", "INTERFACE_IOS__LS_SCREW_RIGHT", 223 }, - { "SW_SPARE", "INTERFACE_IOS__SW_SPARE", 224 }, - { "SW_SPOOL_EXISTS", "INTERFACE_IOS__SW_SPOOL_EXISTS", 225 }, - { "MOTO_SCREW", "INTERFACE_IOS__MOTO_SCREW", 226 }, - { "MOTO_WINDER", "INTERFACE_IOS__MOTO_WINDER", 227 }, - { "SCREW_ROTENC", "INTERFACE_IOS__SCREW_ROTENC", 228 }, - { "INTWINDINGUNIT", "INTERFACE_IOS__INTWINDINGUNIT", 229 }, - { "AN5V_LDANCER1", "INTERFACE_IOS__AN5V_LDANCER1", 230 }, - { "AN5V_LDANCER2", "INTERFACE_IOS__AN5V_LDANCER2", 231 }, - { "LS_LDANCER1_DOWN", "INTERFACE_IOS__LS_LDANCER1_DOWN", 232 }, - { "LS_LDANCER1_UP", "INTERFACE_IOS__LS_LDANCER1_UP", 233 }, - { "LS_LDANCER2_DOWN", "INTERFACE_IOS__LS_LDANCER2_DOWN", 234 }, - { "LS_LDANCER2_UP", "INTERFACE_IOS__LS_LDANCER2_UP", 235 }, - { "LS_LLOADMOTOR_DOWN", "INTERFACE_IOS__LS_LLOADMOTOR_DOWN", 236 }, - { "LS_LLOADMOTOR_UP", "INTERFACE_IOS__LS_LLOADMOTOR_UP", 237 }, - { "LS_LPIVOT_DOWN", "INTERFACE_IOS__LS_LPIVOT_DOWN", 238 }, - { "LS_LPIVOT_UP", "INTERFACE_IOS__LS_LPIVOT_UP", 239 }, - { "LS_LSPARE1", "INTERFACE_IOS__LS_LSPARE1", 240 }, - { "LS_LSPARE2", "INTERFACE_IOS__LS_LSPARE2", 241 }, - { "LS_PIVOT_SPARE1", "INTERFACE_IOS__LS_PIVOT_SPARE1", 242 }, - { "LS_PIVOT_SPARE2", "INTERFACE_IOS__LS_PIVOT_SPARE2", 243 }, - { "MOTO_LDANCER1", "INTERFACE_IOS__MOTO_LDANCER1", 244 }, - { "MOTO_LDANCER2", "INTERFACE_IOS__MOTO_LDANCER2", 245 }, - { "MOTO_LDRIVING", "INTERFACE_IOS__MOTO_LDRIVING", 246 }, - { "MOTO_LLOADING", "INTERFACE_IOS__MOTO_LLOADING", 247 }, - { "MOTO_LPIVOT1", "INTERFACE_IOS__MOTO_LPIVOT1", 248 }, - { "LSPARE1_ROTENC", "INTERFACE_IOS__LSPARE1_ROTENC", 249 }, - { "LSPARE2_ROTENC", "INTERFACE_IOS__LSPARE2_ROTENC", 250 }, - { "LDANCER1_ROTENC", "INTERFACE_IOS__LDANCER1_ROTENC", 251 }, - { "LDANCER2_ROTENC", "INTERFACE_IOS__LDANCER2_ROTENC", 252 }, - { "LSPARE_ROTENC", "INTERFACE_IOS__LSPARE_ROTENC", 253 }, - { "LTFEEDUNIT2", "INTERFACE_IOS__LTFEEDUNIT2", 254 }, - { "LTFEEDUNIT1", "INTERFACE_IOS__LTFEEDUNIT1", 255 }, - { "AN_ENCLOSURETEMP1", "INTERFACE_IOS__AN_ENCLOSURETEMP1", 256 }, - { "AN_ENCLOSURETEMP2", "INTERFACE_IOS__AN_ENCLOSURETEMP2", 257 }, - { "AN_ENCLOSURETEMP3", "INTERFACE_IOS__AN_ENCLOSURETEMP3", 258 }, - { "GPI_PANSW1", "INTERFACE_IOS__GPI_PANSW1", 259 }, - { "GPI_PANSW2", "INTERFACE_IOS__GPI_PANSW2", 260 }, - { "GPI_PANSW3", "INTERFACE_IOS__GPI_PANSW3", 261 }, - { "GPI_PANSW4", "INTERFACE_IOS__GPI_PANSW4", 262 }, - { "GPI_PANSW5", "INTERFACE_IOS__GPI_PANSW5", 263 }, - { "GPI_PANSW6", "INTERFACE_IOS__GPI_PANSW6", 264 }, - { "GPI_PWRBUTTON", "INTERFACE_IOS__GPI_PWRBUTTON", 265 }, - { "GPI_TACTSW1", "INTERFACE_IOS__GPI_TACTSW1", 266 }, - { "GPI_TACTSW2", "INTERFACE_IOS__GPI_TACTSW2", 267 }, - { "GPI_TACTSW3", "INTERFACE_IOS__GPI_TACTSW3", 268 }, - { "GPI_TACTSW4", "INTERFACE_IOS__GPI_TACTSW4", 269 }, - { "GPO_BUZZER", "INTERFACE_IOS__GPO_BUZZER", 270 }, - { "GPO_LED1", "INTERFACE_IOS__GPO_LED1", 271 }, - { "GPO_LED2", "INTERFACE_IOS__GPO_LED2", 272 }, - { "GPO_LED3", "INTERFACE_IOS__GPO_LED3", 273 }, { "GPO_LED4", "INTERFACE_IOS__GPO_LED4", 274 }, - { "FAN_TACHO1", "INTERFACE_IOS__FAN_TACHO1", 275 }, - { "FAN_TACHO2", "INTERFACE_IOS__FAN_TACHO2", 276 }, - { "FAN_TACHO3", "INTERFACE_IOS__FAN_TACHO3", 277 }, - { "FAN1_TACH", "INTERFACE_IOS__FAN1_TACH", 278 }, - { "FAN2_TACH", "INTERFACE_IOS__FAN2_TACH", 279 }, - { "FAN3_TACH", "INTERFACE_IOS__FAN3_TACH", 280 }, - { "FAN4_TACH", "INTERFACE_IOS__FAN4_TACH", 281 }, - { "FAN5_TACH", "INTERFACE_IOS__FAN5_TACH", 282 }, - { "AN5V_RDANCER", "INTERFACE_IOS__AN5V_RDANCER", 283 }, - { "LS_RLOADMOTOR_UP", "INTERFACE_IOS__LS_RLOADMOTOR_UP", 284 }, - { "GPI_TFEED_BREAK_1", "INTERFACE_IOS__GPI_TFEED_BREAK_1", 285 }, - { "GPI_TFEED_BREAK_2", "INTERFACE_IOS__GPI_TFEED_BREAK_2", 286 }, - { "LS_RDANCER_DOWN", "INTERFACE_IOS__LS_RDANCER_DOWN", 287 }, - { "LS_RDANCER_UP", "INTERFACE_IOS__LS_RDANCER_UP", 288 }, - { "RTFEEDUNIT2", "INTERFACE_IOS__RTFEEDUNIT2", 289 }, - { "RTFEEDUNIT1", "INTERFACE_IOS__RTFEEDUNIT1", 290 }, - { "LS_RLOADMOTOR_DOWN", "INTERFACE_IOS__LS_RLOADMOTOR_DOWN", 291 }, - { "LS_RLOADRAM_DOWN", "INTERFACE_IOS__LS_RLOADRAM_DOWN", 292 }, - { "LS_RLOADRAM_UP", "INTERFACE_IOS__LS_RLOADRAM_UP", 293 }, - { "LS_RSPARE1", "INTERFACE_IOS__LS_RSPARE1", 294 }, - { "LS_RSPARE2", "INTERFACE_IOS__LS_RSPARE2", 295 }, - { "GPO_TFEED_BREAK_1", "INTERFACE_IOS__GPO_TFEED_BREAK_1", 296 }, - { "GPO_TFEED_BREAK_2", "INTERFACE_IOS__GPO_TFEED_BREAK_2", 297 }, - { "MOTO_RDANCER", "INTERFACE_IOS__MOTO_RDANCER", 298 }, - { "MOTO_RDRIVING", "INTERFACE_IOS__MOTO_RDRIVING", 299 }, - { "MOTO_RLOADARM", "INTERFACE_IOS__MOTO_RLOADARM", 300 }, - { "MOTO_RLOADING", "INTERFACE_IOS__MOTO_RLOADING", 301 }, - { "RSPARE_ROTENC1", "INTERFACE_IOS__RSPARE_ROTENC1", 302 }, - { "RSPEEDSENS_ROTENC", "INTERFACE_IOS__RSPEEDSENS_ROTENC", 303 }, - { "RDANCER_ROTENC", "INTERFACE_IOS__RDANCER_ROTENC", 304 }, - { "RSPARE_ROTENC2", "INTERFACE_IOS__RSPARE_ROTENC2", 305 }, - { "AN10V_SPARE1", "INTERFACE_IOS__AN10V_SPARE1", 306 }, - { "AN10V_SPARE2", "INTERFACE_IOS__AN10V_SPARE2", 307 }, - { "LS_SPARE1_1", "INTERFACE_IOS__LS_SPARE1_1", 308 }, - { "LS_SPARE1_2", "INTERFACE_IOS__LS_SPARE1_2", 309 }, - { "LS_SPARE1_3", "INTERFACE_IOS__LS_SPARE1_3", 310 }, - { "LS_SPARE1_4", "INTERFACE_IOS__LS_SPARE1_4", 311 }, - { "LS_SPARE2_1", "INTERFACE_IOS__LS_SPARE2_1", 312 }, - { "SPARE2", "INTERFACE_IOS__SPARE2", 313 }, - { "SPARE1", "INTERFACE_IOS__SPARE1", 314 }, - { "LS_SPARE2_2", "INTERFACE_IOS__LS_SPARE2_2", 315 }, - { "LS_SPARE2_3", "INTERFACE_IOS__LS_SPARE2_3", 316 }, - { "LS_SPARE2_4", "INTERFACE_IOS__LS_SPARE2_4", 317 }, { "GPO_SPARE1_1", "INTERFACE_IOS__GPO_SPARE1_1", 318 }, { "GPO_SPARE1_2", "INTERFACE_IOS__GPO_SPARE1_2", 319 }, - { "GPO_SPARE2_1", "INTERFACE_IOS__GPO_SPARE2_1", 320 }, - { "GPO_SPARE2_2", "INTERFACE_IOS__GPO_SPARE2_2", 321 }, - { "MOTO_SPARE1_1", "INTERFACE_IOS__MOTO_SPARE1_1", 322 }, - { "MOTO_SPARE1_2", "INTERFACE_IOS__MOTO_SPARE1_2", 323 }, - { "MOTO_SPARE2_1", "INTERFACE_IOS__MOTO_SPARE2_1", 324 }, - { "MOTO_SPARE2_2", "INTERFACE_IOS__MOTO_SPARE2_2", 325 }, - { "SPARE1_ROTENC1", "INTERFACE_IOS__SPARE1_ROTENC1", 326 }, - { "SPARE2_ROTENC2", "INTERFACE_IOS__SPARE2_ROTENC2", 327 }, - { "SPARE1_ROTENC3", "INTERFACE_IOS__SPARE1_ROTENC3", 328 }, - { "SPARE2_ROTENC4", "INTERFACE_IOS__SPARE2_ROTENC4", 329 }, - { "CHILLER_CTRL", "INTERFACE_IOS__CHILLER_CTRL", 330 }, - { "AN_AIRPRESS_1", "INTERFACE_IOS__AN_AIRPRESS_1", 331 }, - { "AN_AIRPRESS_2", "INTERFACE_IOS__AN_AIRPRESS_2", 332 }, - { "AN_VOCSENS", "INTERFACE_IOS__AN_VOCSENS", 333 }, - { "AN_BLOWERCTRL", "INTERFACE_IOS__AN_BLOWERCTRL", 334 }, - { "GPI_AIRFLOW_FLAP", "INTERFACE_IOS__GPI_AIRFLOW_FLAP", 335 }, - { "GPI_BLOWER_TACH", "INTERFACE_IOS__GPI_BLOWER_TACH", 336 }, - { "GPI_CHILLER_FAULT", "INTERFACE_IOS__GPI_CHILLER_FAULT", 337 }, - { "GPI_CHILLER_STAT1", "INTERFACE_IOS__GPI_CHILLER_STAT1", 338 }, - { "WHS_VOCTEMP", "INTERFACE_IOS__WHS_VOCTEMP", 339 }, - { "GPI_SW_FILTER_PRES", "INTERFACE_IOS__GPI_SW_FILTER_PRES", 340 }, { "GPI_WCONTAINER_FULL", "INTERFACE_IOS__GPI_WCONTAINER_FULL", 341 }, { "GPI_WCONTAINER_WARN", "INTERFACE_IOS__GPI_WCONTAINER_WARN", 342 }, { "GPO_BLOWER_PWM", "INTERFACE_IOS__GPO_BLOWER_PWM", 343 }, @@ -358,357 +49,48 @@ static const ProtobufCEnumValue interface_ios__enum_values_by_number[347] = { "VALVE_WASTE_TANK", "INTERFACE_IOS__VALVE_WASTE_TANK", 346 }, }; static const ProtobufCIntRange interface_ios__value_ranges[] = { -{0, 0},{0, 347} +{0, 0},{19, 1},{43, 6},{55, 9},{64, 10},{163, 11},{274, 29},{318, 30},{341, 32},{0, 38} }; -static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[347] = +static const ProtobufCEnumValueIndex interface_ios__enum_values_by_name[38] = { - { "AN10V_SPARE1", 306 }, - { "AN10V_SPARE2", 307 }, - { "AN5V_LDANCER1", 230 }, - { "AN5V_LDANCER2", 231 }, - { "AN5V_RDANCER", 283 }, - { "ANALOG_DRYER_TEMP1", 32 }, - { "ANALOG_DRYER_TEMP2", 33 }, - { "ANALOG_DRYER_TEMP3", 34 }, - { "ANALOG_DYEINGH_TEMP1", 6 }, - { "ANALOG_DYEINGH_TEMP2", 7 }, - { "ANALOG_DYEINGH_TEMP3", 8 }, - { "ANALOG_DYEINGH_TEMP4", 9 }, - { "ANALOG_DYEINGH_TEMP5", 10 }, { "ANALOG_MIXCHIP_TEMP", 0 }, - { "AN_AIRPRESS_1", 331 }, - { "AN_AIRPRESS_2", 332 }, - { "AN_BLOWERCTRL", 334 }, - { "AN_DRYER_CURSEN1", 29 }, - { "AN_DRYER_CURSEN2", 30 }, - { "AN_DRYER_CURSEN3", 31 }, - { "AN_DYEINGH_CURSEN_1", 1 }, - { "AN_DYEINGH_CURSEN_2", 2 }, - { "AN_DYEINGH_CURSEN_3", 3 }, - { "AN_DYEINGH_CURSEN_4", 4 }, - { "AN_DYEINGH_CURSEN_5", 5 }, - { "AN_ENCLOSURETEMP1", 256 }, - { "AN_ENCLOSURETEMP2", 257 }, - { "AN_ENCLOSURETEMP3", 258 }, - { "AN_IDS_PRESSENS_1", 67 }, - { "AN_IDS_PRESSENS_2", 68 }, - { "AN_IDS_PRESSENS_3", 69 }, - { "AN_IDS_PRESSENS_4", 70 }, - { "AN_IDS_PRESSENS_5", 71 }, - { "AN_IDS_PRESSENS_6", 72 }, - { "AN_IDS_PRESSENS_7", 73 }, - { "AN_IDS_PRESSENS_8", 74 }, - { "AN_MIDTANK_PRESSENS1", 75 }, - { "AN_MIDTANK_PRESSENS2", 76 }, - { "AN_MIDTANK_PRESSENS3", 77 }, - { "AN_MIDTANK_PRESSENS4", 78 }, - { "AN_MIDTANK_PRESSENS5", 79 }, - { "AN_MIDTANK_PRESSENS6", 80 }, - { "AN_MIDTANK_PRESSENS7", 81 }, - { "AN_MIXCHIP_CURSENn", 82 }, - { "AN_VOCSENS", 333 }, - { "CART1", 215 }, - { "CART2", 216 }, - { "CART3", 214 }, - { "CART4", 217 }, - { "CART5", 219 }, - { "CART6", 220 }, - { "CART7", 218 }, - { "CART8", 221 }, - { "CHILLER_CTRL", 330 }, - { "DH1", 25 }, - { "DH2", 24 }, - { "DISPENSER_1", 204 }, - { "DISPENSER_2", 209 }, - { "DISPENSER_3", 205 }, - { "DISPENSER_4", 210 }, - { "DISPENSER_5", 206 }, - { "DISPENSER_6", 211 }, - { "DISPENSER_7", 207 }, - { "DISPENSER_8", 212 }, - { "DISPENSER_ROTENC1", 189 }, - { "DISPENSER_ROTENC2", 190 }, - { "DISPENSER_ROTENC3", 191 }, - { "DISPENSER_ROTENC4", 192 }, - { "DISPENSER_ROTENC5", 193 }, - { "DISPENSER_ROTENC6", 194 }, - { "DISPENSER_ROTENC7", 195 }, - { "DISPENSER_ROTENC8", 196 }, - { "DISPENSER_VALVE_1", 197 }, - { "DISPENSER_VALVE_2", 198 }, - { "DISPENSER_VALVE_3", 199 }, - { "DISPENSER_VALVE_4", 200 }, - { "DISPENSER_VALVE_5", 201 }, - { "DISPENSER_VALVE_6", 202 }, - { "DISPENSER_VALVE_7", 203 }, - { "DRYER1", 47 }, - { "DRYER2", 46 }, - { "DRYER_LOADARM_ROTENC", 51 }, - { "ELECTRICALENC", 56 }, - { "EXTWINDER_CTRL", 65 }, - { "EXTWINDINGUNIT", 66 }, - { "FAN1_TACH", 278 }, - { "FAN2_TACH", 279 }, - { "FAN3_TACH", 280 }, - { "FAN4_TACH", 281 }, - { "FAN5_TACH", 282 }, - { "FAN_TACHO1", 275 }, - { "FAN_TACHO2", 276 }, - { "FAN_TACHO3", 277 }, - { "GPI_AIRFLOW_FLAP", 335 }, - { "GPI_BLOWER_TACH", 336 }, - { "GPI_CHILLER_FAULT", 337 }, - { "GPI_CHILLER_STAT1", 338 }, - { "GPI_EXTWINDER_1", 58 }, - { "GPI_EXTWINDER_2", 59 }, - { "GPI_EXTWINDER_3", 60 }, - { "GPI_PANSW1", 259 }, - { "GPI_PANSW2", 260 }, - { "GPI_PANSW3", 261 }, - { "GPI_PANSW4", 262 }, - { "GPI_PANSW5", 263 }, - { "GPI_PANSW6", 264 }, - { "GPI_PS1_DC_OK", 52 }, - { "GPI_PWRBUTTON", 265 }, - { "GPI_SW_FILTER_PRES", 340 }, - { "GPI_TACTSW1", 266 }, - { "GPI_TACTSW2", 267 }, - { "GPI_TACTSW3", 268 }, - { "GPI_TACTSW4", 269 }, - { "GPI_TFEED_BREAK_1", 285 }, - { "GPI_TFEED_BREAK_2", 286 }, - { "GPI_WCONTAINER_FULL", 341 }, - { "GPI_WCONTAINER_WARN", 342 }, - { "GPO_BLOWER_PWM", 343 }, - { "GPO_BUZZER", 270 }, - { "GPO_CHILLER_SSR9_CTRL", 344 }, - { "GPO_DILUTORPUMP_SSR10_CTRL", 163 }, - { "GPO_DRYER_SSR1_CTRL", 43 }, - { "GPO_DRYER_SSR2_CTRL", 44 }, - { "GPO_DRYER_SSR3_CTRL", 45 }, - { "GPO_DYEINGH_SSR5_CTRL", 20 }, - { "GPO_DYEINGH_SSR6_CTRL", 21 }, - { "GPO_DYEINGH_SSR7_CTRL", 22 }, - { "GPO_DYEINGH_SSR8_CTRL", 23 }, - { "GPO_EXTWINDER_1", 61 }, - { "GPO_EXTWINDER_2", 62 }, - { "GPO_EXTWINDER_3", 63 }, - { "GPO_EXTWINDER_SSR11_CTRL", 64 }, - { "GPO_LED1", 271 }, - { "GPO_LED2", 272 }, - { "GPO_LED3", 273 }, - { "GPO_LED4", 274 }, - { "GPO_MIXCHIP_SSR4_CTRL", 19 }, - { "GPO_PDOWN_RL1_CTRL", 53 }, - { "GPO_SPARE1_1", 318 }, - { "GPO_SPARE1_2", 319 }, - { "GPO_SPARE2_1", 320 }, - { "GPO_SPARE2_2", 321 }, - { "GPO_SPARE_SSR12_CTRL", 54 }, - { "GPO_SPARE_SSR13_CTRL", 55 }, - { "GPO_TFEED_BREAK_1", 296 }, - { "GPO_TFEED_BREAK_2", 297 }, - { "GPO_WASTECH_PUMP2", 164 }, - { "GPO_WHS_WTANKPUMP2", 345 }, - { "INTWINDINGUNIT", 229 }, - { "LDANCER1_ROTENC", 251 }, - { "LDANCER2_ROTENC", 252 }, - { "LSPARE1_ROTENC", 249 }, - { "LSPARE2_ROTENC", 250 }, - { "LSPARE_ROTENC", 253 }, - { "LS_DH_CLEAN_DOWN", 11 }, - { "LS_DH_CLEAN_LEFT", 12 }, - { "LS_DH_CLEAN_RIGHT", 13 }, - { "LS_DH_CLEAN_UP", 14 }, - { "LS_DH_LID_CLEANING", 15 }, - { "LS_DH_LID_CLOSED", 16 }, - { "LS_DH_LID_OPEN", 17 }, - { "LS_DH_SPARE1", 18 }, - { "LS_DISPENSER_25_1", 83 }, - { "LS_DISPENSER_25_2", 84 }, - { "LS_DISPENSER_25_3", 85 }, - { "LS_DISPENSER_25_4", 86 }, - { "LS_DISPENSER_25_5", 87 }, - { "LS_DISPENSER_25_6", 88 }, - { "LS_DISPENSER_25_7", 89 }, - { "LS_DISPENSER_25_8", 90 }, - { "LS_DISPENSER_50_1", 91 }, - { "LS_DISPENSER_50_2", 92 }, - { "LS_DISPENSER_50_3", 93 }, - { "LS_DISPENSER_50_4", 94 }, - { "LS_DISPENSER_50_5", 95 }, - { "LS_DISPENSER_50_6", 96 }, - { "LS_DISPENSER_50_7", 97 }, - { "LS_DISPENSER_50_8", 98 }, - { "LS_DISPENSER_75_1", 99 }, - { "LS_DISPENSER_75_2", 100 }, - { "LS_DISPENSER_75_3", 101 }, - { "LS_DISPENSER_75_4", 102 }, - { "LS_DISPENSER_75_5", 103 }, - { "LS_DISPENSER_75_6", 104 }, - { "LS_DISPENSER_75_7", 105 }, - { "LS_DISPENSER_75_8", 106 }, - { "LS_DISPENSER_DOWN_1", 107 }, - { "LS_DISPENSER_DOWN_2", 108 }, - { "LS_DISPENSER_DOWN_3", 109 }, - { "LS_DISPENSER_DOWN_4", 110 }, - { "LS_DISPENSER_DOWN_5", 111 }, - { "LS_DISPENSER_DOWN_6", 112 }, - { "LS_DISPENSER_DOWN_7", 113 }, - { "LS_DISPENSER_DOWN_8", 114 }, - { "LS_DISPENSER_SPARE_1", 115 }, - { "LS_DISPENSER_SPARE_2", 116 }, - { "LS_DISPENSER_SPARE_3", 117 }, - { "LS_DISPENSER_SPARE_4", 118 }, - { "LS_DISPENSER_SPARE_5", 119 }, - { "LS_DISPENSER_SPARE_6", 120 }, - { "LS_DISPENSER_SPARE_7", 121 }, - { "LS_DISPENSER_SPARE_8", 122 }, - { "LS_DISPENSER_UP_1", 123 }, - { "LS_DISPENSER_UP_2", 124 }, - { "LS_DISPENSER_UP_3", 125 }, - { "LS_DISPENSER_UP_4", 126 }, - { "LS_DISPENSER_UP_5", 127 }, - { "LS_DISPENSER_UP_6", 128 }, - { "LS_DISPENSER_UP_7", 129 }, - { "LS_DISPENSER_UP_8", 130 }, - { "LS_DRYER_LID_CLOSED", 35 }, - { "LS_DRYER_LID_OPEN", 36 }, - { "LS_DRYER_SPARE1", 37 }, - { "LS_DRYER_SPARE2", 38 }, - { "LS_DRYER_SPARE3", 39 }, - { "LS_DRYER_SPARE4", 40 }, - { "LS_LDANCER1_DOWN", 232 }, - { "LS_LDANCER1_UP", 233 }, - { "LS_LDANCER2_DOWN", 234 }, - { "LS_LDANCER2_UP", 235 }, - { "LS_LLOADMOTOR_DOWN", 236 }, - { "LS_LLOADMOTOR_UP", 237 }, - { "LS_LOADARM_LEFT", 41 }, - { "LS_LOADARM_RIGHT", 42 }, - { "LS_LPIVOT_DOWN", 238 }, - { "LS_LPIVOT_UP", 239 }, - { "LS_LSPARE1", 240 }, - { "LS_LSPARE2", 241 }, - { "LS_PIVOT_SPARE1", 242 }, - { "LS_PIVOT_SPARE2", 243 }, - { "LS_RDANCER_DOWN", 287 }, - { "LS_RDANCER_UP", 288 }, - { "LS_RLOADMOTOR_DOWN", 291 }, - { "LS_RLOADMOTOR_UP", 284 }, - { "LS_RLOADRAM_DOWN", 292 }, - { "LS_RLOADRAM_UP", 293 }, - { "LS_RSPARE1", 294 }, - { "LS_RSPARE2", 295 }, - { "LS_SCREW_LEFT", 222 }, - { "LS_SCREW_RIGHT", 223 }, - { "LS_SPARE1_1", 308 }, - { "LS_SPARE1_2", 309 }, - { "LS_SPARE1_3", 310 }, - { "LS_SPARE1_4", 311 }, - { "LS_SPARE2_1", 312 }, - { "LS_SPARE2_2", 315 }, - { "LS_SPARE2_3", 316 }, - { "LS_SPARE2_4", 317 }, - { "LTFEEDUNIT1", 255 }, - { "LTFEEDUNIT2", 254 }, - { "MIDTANK1_LVL1_FLOAT", 131 }, - { "MIDTANK1_LVL2_FLOAT", 132 }, - { "MIDTANK1_LVL3_FLOAT", 133 }, - { "MIDTANK1_LVL4_FLOAT", 134 }, - { "MIDTANK2_LVL1_FLOAT", 135 }, - { "MIDTANK2_LVL2_FLOAT", 136 }, - { "MIDTANK2_LVL3_FLOAT", 137 }, - { "MIDTANK2_LVL4_FLOAT", 138 }, - { "MIDTANK3_1", 208 }, - { "MIDTANK3_2", 213 }, - { "MIDTANK3_LVL1_FLOAT", 139 }, - { "MIDTANK3_LVL2_FLOAT", 140 }, - { "MIDTANK3_LVL3_FLOAT", 141 }, - { "MIDTANK3_LVL4_FLOAT", 142 }, - { "MIDTANK4_LVL1_FLOAT", 143 }, - { "MIDTANK4_LVL2_FLOAT", 144 }, - { "MIDTANK4_LVL3_FLOAT", 145 }, - { "MIDTANK4_LVL4_FLOAT", 146 }, - { "MIDTANK5_LVL1_FLOAT", 147 }, - { "MIDTANK5_LVL2_FLOAT", 148 }, - { "MIDTANK5_LVL3_FLOAT", 149 }, - { "MIDTANK5_LVL4_FLOAT", 150 }, - { "MIDTANK6_LVL1_FLOAT", 151 }, - { "MIDTANK6_LVL2_FLOAT", 152 }, - { "MIDTANK6_LVL3_FLOAT", 153 }, - { "MIDTANK6_LVL4_FLOAT", 154 }, - { "MIDTANK7_LVL1_FLOAT", 155 }, - { "MIDTANK7_LVL2_FLOAT", 156 }, - { "MIDTANK7_LVL3_FLOAT", 157 }, - { "MIDTANK7_LVL4_FLOAT", 158 }, - { "MIDTANK8_LVL1_FLOAT", 159 }, - { "MIDTANK8_LVL2_FLOAT", 160 }, - { "MIDTANK8_LVL3_FLOAT", 161 }, - { "MIDTANK8_LVL4_FLOAT", 162 }, - { "MOTO_DH_CLEANHEAD", 26 }, - { "MOTO_DH_CLEANMECH", 27 }, - { "MOTO_DH_LID", 28 }, - { "MOTO_DISPENSER_1", 181 }, - { "MOTO_DISPENSER_2", 182 }, - { "MOTO_DISPENSER_3", 183 }, - { "MOTO_DISPENSER_4", 184 }, - { "MOTO_DISPENSER_5", 185 }, - { "MOTO_DISPENSER_6", 186 }, - { "MOTO_DISPENSER_7", 187 }, - { "MOTO_DISPENSER_8", 188 }, - { "MOTO_DRYER_DRIVING", 48 }, - { "MOTO_DRYER_LID", 49 }, - { "MOTO_DRYER_LOADARM", 50 }, - { "MOTO_LDANCER1", 244 }, - { "MOTO_LDANCER2", 245 }, - { "MOTO_LDRIVING", 246 }, - { "MOTO_LLOADING", 247 }, - { "MOTO_LPIVOT1", 248 }, - { "MOTO_RDANCER", 298 }, - { "MOTO_RDRIVING", 299 }, - { "MOTO_RLOADARM", 300 }, - { "MOTO_RLOADING", 301 }, - { "MOTO_SCREW", 226 }, - { "MOTO_SPARE1_1", 322 }, - { "MOTO_SPARE1_2", 323 }, - { "MOTO_SPARE2_1", 324 }, - { "MOTO_SPARE2_2", 325 }, - { "MOTO_WINDER", 227 }, - { "Midtank1Air", 165 }, - { "Midtank1Cartridge", 173 }, - { "Midtank2Air", 166 }, - { "Midtank2Cartridge", 174 }, - { "Midtank3Air", 167 }, - { "Midtank3Cartridge", 175 }, - { "Midtank4Air", 168 }, - { "Midtank4Cartridge", 176 }, - { "Midtank5Air", 169 }, - { "Midtank5Cartridge", 177 }, - { "Midtank6Air", 170 }, - { "Midtank6Cartridge", 178 }, - { "Midtank7Air", 171 }, - { "Midtank7Cartridge", 179 }, - { "Midtank8Air", 172 }, - { "Midtank8Cartridge", 180 }, - { "RDANCER_ROTENC", 304 }, - { "RSPARE_ROTENC1", 302 }, - { "RSPARE_ROTENC2", 305 }, - { "RSPEEDSENS_ROTENC", 303 }, - { "RTFEEDUNIT1", 290 }, - { "RTFEEDUNIT2", 289 }, - { "SCREW_ROTENC", 228 }, - { "SPARE1", 314 }, - { "SPARE1_ROTENC1", 326 }, - { "SPARE1_ROTENC3", 328 }, - { "SPARE2", 313 }, - { "SPARE2_ROTENC2", 327 }, - { "SPARE2_ROTENC4", 329 }, - { "SW_SPARE", 224 }, - { "SW_SPOOL_EXISTS", 225 }, - { "USERPANEL", 57 }, - { "VALVE_WASTE_TANK", 346 }, - { "WHS_VOCTEMP", 339 }, + { "GPI_WCONTAINER_FULL", 32 }, + { "GPI_WCONTAINER_WARN", 33 }, + { "GPO_BLOWER_PWM", 34 }, + { "GPO_CHILLER_SSR9_CTRL", 35 }, + { "GPO_DILUTORPUMP_SSR10_CTRL", 11 }, + { "GPO_DRYER_SSR1_CTRL", 6 }, + { "GPO_DRYER_SSR2_CTRL", 7 }, + { "GPO_DRYER_SSR3_CTRL", 8 }, + { "GPO_DYEINGH_SSR5_CTRL", 2 }, + { "GPO_DYEINGH_SSR6_CTRL", 3 }, + { "GPO_DYEINGH_SSR7_CTRL", 4 }, + { "GPO_DYEINGH_SSR8_CTRL", 5 }, + { "GPO_EXTWINDER_SSR11_CTRL", 10 }, + { "GPO_LED4", 29 }, + { "GPO_MIXCHIP_SSR4_CTRL", 1 }, + { "GPO_SPARE1_1", 30 }, + { "GPO_SPARE1_2", 31 }, + { "GPO_SPARE_SSR13_CTRL", 9 }, + { "GPO_WASTECH_PUMP2", 12 }, + { "GPO_WHS_WTANKPUMP2", 36 }, + { "Midtank1Air", 13 }, + { "Midtank1Cartridge", 21 }, + { "Midtank2Air", 14 }, + { "Midtank2Cartridge", 22 }, + { "Midtank3Air", 15 }, + { "Midtank3Cartridge", 23 }, + { "Midtank4Air", 16 }, + { "Midtank4Cartridge", 24 }, + { "Midtank5Air", 17 }, + { "Midtank5Cartridge", 25 }, + { "Midtank6Air", 18 }, + { "Midtank6Cartridge", 26 }, + { "Midtank7Air", 19 }, + { "Midtank7Cartridge", 27 }, + { "Midtank8Air", 20 }, + { "Midtank8Cartridge", 28 }, + { "VALVE_WASTE_TANK", 37 }, }; const ProtobufCEnumDescriptor interface_ios__descriptor = { @@ -717,11 +99,11 @@ const ProtobufCEnumDescriptor interface_ios__descriptor = "InterfaceIOs", "InterfaceIOs", "", - 347, + 38, interface_ios__enum_values_by_number, - 347, + 38, interface_ios__enum_values_by_name, - 1, + 9, interface_ios__value_ranges, NULL,NULL,NULL,NULL /* reserved[1234] */ }; diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h index 006eab1d7..c3608b155 100644 --- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h +++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/InterfaceIOs.pb-c.h @@ -21,168 +21,16 @@ PROTOBUF_C__BEGIN_DECLS typedef enum _InterfaceIOs { INTERFACE_IOS__ANALOG_MIXCHIP_TEMP = 0, - INTERFACE_IOS__AN_DYEINGH_CURSEN_1 = 1, - INTERFACE_IOS__AN_DYEINGH_CURSEN_2 = 2, - INTERFACE_IOS__AN_DYEINGH_CURSEN_3 = 3, - INTERFACE_IOS__AN_DYEINGH_CURSEN_4 = 4, - INTERFACE_IOS__AN_DYEINGH_CURSEN_5 = 5, - INTERFACE_IOS__ANALOG_DYEINGH_TEMP1 = 6, - INTERFACE_IOS__ANALOG_DYEINGH_TEMP2 = 7, - INTERFACE_IOS__ANALOG_DYEINGH_TEMP3 = 8, - INTERFACE_IOS__ANALOG_DYEINGH_TEMP4 = 9, - INTERFACE_IOS__ANALOG_DYEINGH_TEMP5 = 10, - INTERFACE_IOS__LS_DH_CLEAN_DOWN = 11, - INTERFACE_IOS__LS_DH_CLEAN_LEFT = 12, - INTERFACE_IOS__LS_DH_CLEAN_RIGHT = 13, - INTERFACE_IOS__LS_DH_CLEAN_UP = 14, - INTERFACE_IOS__LS_DH_LID_CLEANING = 15, - INTERFACE_IOS__LS_DH_LID_CLOSED = 16, - INTERFACE_IOS__LS_DH_LID_OPEN = 17, - INTERFACE_IOS__LS_DH_SPARE1 = 18, INTERFACE_IOS__GPO_MIXCHIP_SSR4_CTRL = 19, INTERFACE_IOS__GPO_DYEINGH_SSR5_CTRL = 20, INTERFACE_IOS__GPO_DYEINGH_SSR6_CTRL = 21, INTERFACE_IOS__GPO_DYEINGH_SSR7_CTRL = 22, INTERFACE_IOS__GPO_DYEINGH_SSR8_CTRL = 23, - INTERFACE_IOS__DH2 = 24, - INTERFACE_IOS__DH1 = 25, - INTERFACE_IOS__MOTO_DH_CLEANHEAD = 26, - INTERFACE_IOS__MOTO_DH_CLEANMECH = 27, - INTERFACE_IOS__MOTO_DH_LID = 28, - INTERFACE_IOS__AN_DRYER_CURSEN1 = 29, - INTERFACE_IOS__AN_DRYER_CURSEN2 = 30, - INTERFACE_IOS__AN_DRYER_CURSEN3 = 31, - INTERFACE_IOS__ANALOG_DRYER_TEMP1 = 32, - INTERFACE_IOS__ANALOG_DRYER_TEMP2 = 33, - INTERFACE_IOS__ANALOG_DRYER_TEMP3 = 34, - INTERFACE_IOS__LS_DRYER_LID_CLOSED = 35, - INTERFACE_IOS__LS_DRYER_LID_OPEN = 36, - INTERFACE_IOS__LS_DRYER_SPARE1 = 37, - INTERFACE_IOS__LS_DRYER_SPARE2 = 38, - INTERFACE_IOS__LS_DRYER_SPARE3 = 39, - INTERFACE_IOS__LS_DRYER_SPARE4 = 40, - INTERFACE_IOS__LS_LOADARM_LEFT = 41, - INTERFACE_IOS__LS_LOADARM_RIGHT = 42, INTERFACE_IOS__GPO_DRYER_SSR1_CTRL = 43, INTERFACE_IOS__GPO_DRYER_SSR2_CTRL = 44, INTERFACE_IOS__GPO_DRYER_SSR3_CTRL = 45, - INTERFACE_IOS__DRYER2 = 46, - INTERFACE_IOS__DRYER1 = 47, - INTERFACE_IOS__MOTO_DRYER_DRIVING = 48, - INTERFACE_IOS__MOTO_DRYER_LID = 49, - INTERFACE_IOS__MOTO_DRYER_LOADARM = 50, - INTERFACE_IOS__DRYER_LOADARM_ROTENC = 51, - INTERFACE_IOS__GPI_PS1_DC_OK = 52, - INTERFACE_IOS__GPO_PDOWN_RL1_CTRL = 53, - INTERFACE_IOS__GPO_SPARE_SSR12_CTRL = 54, INTERFACE_IOS__GPO_SPARE_SSR13_CTRL = 55, - INTERFACE_IOS__ELECTRICALENC = 56, - INTERFACE_IOS__USERPANEL = 57, - INTERFACE_IOS__GPI_EXTWINDER_1 = 58, - INTERFACE_IOS__GPI_EXTWINDER_2 = 59, - INTERFACE_IOS__GPI_EXTWINDER_3 = 60, - INTERFACE_IOS__GPO_EXTWINDER_1 = 61, - INTERFACE_IOS__GPO_EXTWINDER_2 = 62, - INTERFACE_IOS__GPO_EXTWINDER_3 = 63, INTERFACE_IOS__GPO_EXTWINDER_SSR11_CTRL = 64, - INTERFACE_IOS__EXTWINDER_CTRL = 65, - INTERFACE_IOS__EXTWINDINGUNIT = 66, - INTERFACE_IOS__AN_IDS_PRESSENS_1 = 67, - INTERFACE_IOS__AN_IDS_PRESSENS_2 = 68, - INTERFACE_IOS__AN_IDS_PRESSENS_3 = 69, - INTERFACE_IOS__AN_IDS_PRESSENS_4 = 70, - INTERFACE_IOS__AN_IDS_PRESSENS_5 = 71, - INTERFACE_IOS__AN_IDS_PRESSENS_6 = 72, - INTERFACE_IOS__AN_IDS_PRESSENS_7 = 73, - INTERFACE_IOS__AN_IDS_PRESSENS_8 = 74, - INTERFACE_IOS__AN_MIDTANK_PRESSENS1 = 75, - INTERFACE_IOS__AN_MIDTANK_PRESSENS2 = 76, - INTERFACE_IOS__AN_MIDTANK_PRESSENS3 = 77, - INTERFACE_IOS__AN_MIDTANK_PRESSENS4 = 78, - INTERFACE_IOS__AN_MIDTANK_PRESSENS5 = 79, - INTERFACE_IOS__AN_MIDTANK_PRESSENS6 = 80, - INTERFACE_IOS__AN_MIDTANK_PRESSENS7 = 81, - INTERFACE_IOS__AN_MIXCHIP_CURSENn = 82, - INTERFACE_IOS__LS_DISPENSER_25_1 = 83, - INTERFACE_IOS__LS_DISPENSER_25_2 = 84, - INTERFACE_IOS__LS_DISPENSER_25_3 = 85, - INTERFACE_IOS__LS_DISPENSER_25_4 = 86, - INTERFACE_IOS__LS_DISPENSER_25_5 = 87, - INTERFACE_IOS__LS_DISPENSER_25_6 = 88, - INTERFACE_IOS__LS_DISPENSER_25_7 = 89, - INTERFACE_IOS__LS_DISPENSER_25_8 = 90, - INTERFACE_IOS__LS_DISPENSER_50_1 = 91, - INTERFACE_IOS__LS_DISPENSER_50_2 = 92, - INTERFACE_IOS__LS_DISPENSER_50_3 = 93, - INTERFACE_IOS__LS_DISPENSER_50_4 = 94, - INTERFACE_IOS__LS_DISPENSER_50_5 = 95, - INTERFACE_IOS__LS_DISPENSER_50_6 = 96, - INTERFACE_IOS__LS_DISPENSER_50_7 = 97, - INTERFACE_IOS__LS_DISPENSER_50_8 = 98, - INTERFACE_IOS__LS_DISPENSER_75_1 = 99, - INTERFACE_IOS__LS_DISPENSER_75_2 = 100, - INTERFACE_IOS__LS_DISPENSER_75_3 = 101, - INTERFACE_IOS__LS_DISPENSER_75_4 = 102, - INTERFACE_IOS__LS_DISPENSER_75_5 = 103, - INTERFACE_IOS__LS_DISPENSER_75_6 = 104, - INTERFACE_IOS__LS_DISPENSER_75_7 = 105, - INTERFACE_IOS__LS_DISPENSER_75_8 = 106, - INTERFACE_IOS__LS_DISPENSER_DOWN_1 = 107, - INTERFACE_IOS__LS_DISPENSER_DOWN_2 = 108, - INTERFACE_IOS__LS_DISPENSER_DOWN_3 = 109, - INTERFACE_IOS__LS_DISPENSER_DOWN_4 = 110, - INTERFACE_IOS__LS_DISPENSER_DOWN_5 = 111, - INTERFACE_IOS__LS_DISPENSER_DOWN_6 = 112, - INTERFACE_IOS__LS_DISPENSER_DOWN_7 = 113, - INTERFACE_IOS__LS_DISPENSER_DOWN_8 = 114, - INTERFACE_IOS__LS_DISPENSER_SPARE_1 = 115, - INTERFACE_IOS__LS_DISPENSER_SPARE_2 = 116, - INTERFACE_IOS__LS_DISPENSER_SPARE_3 = 117, - INTERFACE_IOS__LS_DISPENSER_SPARE_4 = 118, - INTERFACE_IOS__LS_DISPENSER_SPARE_5 = 119, - INTERFACE_IOS__LS_DISPENSER_SPARE_6 = 120, - INTERFACE_IOS__LS_DISPENSER_SPARE_7 = 121, - INTERFACE_IOS__LS_DISPENSER_SPARE_8 = 122, - INTERFACE_IOS__LS_DISPENSER_UP_1 = 123, - INTERFACE_IOS__LS_DISPENSER_UP_2 = 124, - INTERFACE_IOS__LS_DISPENSER_UP_3 = 125, - INTERFACE_IOS__LS_DISPENSER_UP_4 = 126, - INTERFACE_IOS__LS_DISPENSER_UP_5 = 127, - INTERFACE_IOS__LS_DISPENSER_UP_6 = 128, - INTERFACE_IOS__LS_DISPENSER_UP_7 = 129, - INTERFACE_IOS__LS_DISPENSER_UP_8 = 130, - INTERFACE_IOS__MIDTANK1_LVL1_FLOAT = 131, - INTERFACE_IOS__MIDTANK1_LVL2_FLOAT = 132, - INTERFACE_IOS__MIDTANK1_LVL3_FLOAT = 133, - INTERFACE_IOS__MIDTANK1_LVL4_FLOAT = 134, - INTERFACE_IOS__MIDTANK2_LVL1_FLOAT = 135, - INTERFACE_IOS__MIDTANK2_LVL2_FLOAT = 136, - INTERFACE_IOS__MIDTANK2_LVL3_FLOAT = 137, - INTERFACE_IOS__MIDTANK2_LVL4_FLOAT = 138, - INTERFACE_IOS__MIDTANK3_LVL1_FLOAT = 139, - INTERFACE_IOS__MIDTANK3_LVL2_FLOAT = 140, - INTERFACE_IOS__MIDTANK3_LVL3_FLOAT = 141, - INTERFACE_IOS__MIDTANK3_LVL4_FLOAT = 142, - INTERFACE_IOS__MIDTANK4_LVL1_FLOAT = 143, - INTERFACE_IOS__MIDTANK4_LVL2_FLOAT = 144, - INTERFACE_IOS__MIDTANK4_LVL3_FLOAT = 145, - INTERFACE_IOS__MIDTANK4_LVL4_FLOAT = 146, - INTERFACE_IOS__MIDTANK5_LVL1_FLOAT = 147, - INTERFACE_IOS__MIDTANK5_LVL2_FLOAT = 148, - INTERFACE_IOS__MIDTANK5_LVL3_FLOAT = 149, - INTERFACE_IOS__MIDTANK5_LVL4_FLOAT = 150, - INTERFACE_IOS__MIDTANK6_LVL1_FLOAT = 151, - INTERFACE_IOS__MIDTANK6_LVL2_FLOAT = 152, - INTERFACE_IOS__MIDTANK6_LVL3_FLOAT = 153, - INTERFACE_IOS__MIDTANK6_LVL4_FLOAT = 154, - INTERFACE_IOS__MIDTANK7_LVL1_FLOAT = 155, - INTERFACE_IOS__MIDTANK7_LVL2_FLOAT = 156, - INTERFACE_IOS__MIDTANK7_LVL3_FLOAT = 157, - INTERFACE_IOS__MIDTANK7_LVL4_FLOAT = 158, - INTERFACE_IOS__MIDTANK8_LVL1_FLOAT = 159, - INTERFACE_IOS__MIDTANK8_LVL2_FLOAT = 160, - INTERFACE_IOS__MIDTANK8_LVL3_FLOAT = 161, - INTERFACE_IOS__MIDTANK8_LVL4_FLOAT = 162, INTERFACE_IOS__GPO_DILUTORPUMP_SSR10_CTRL = 163, INTERFACE_IOS__GPO_WASTECH_PUMP2 = 164, INTERFACE_IOS__Midtank1Air = 165, @@ -201,166 +49,9 @@ typedef enum _InterfaceIOs { INTERFACE_IOS__Midtank6Cartridge = 178, INTERFACE_IOS__Midtank7Cartridge = 179, INTERFACE_IOS__Midtank8Cartridge = 180, - INTERFACE_IOS__MOTO_DISPENSER_1 = 181, - INTERFACE_IOS__MOTO_DISPENSER_2 = 182, - INTERFACE_IOS__MOTO_DISPENSER_3 = 183, - INTERFACE_IOS__MOTO_DISPENSER_4 = 184, - INTERFACE_IOS__MOTO_DISPENSER_5 = 185, - INTERFACE_IOS__MOTO_DISPENSER_6 = 186, - INTERFACE_IOS__MOTO_DISPENSER_7 = 187, - INTERFACE_IOS__MOTO_DISPENSER_8 = 188, - INTERFACE_IOS__DISPENSER_ROTENC1 = 189, - INTERFACE_IOS__DISPENSER_ROTENC2 = 190, - INTERFACE_IOS__DISPENSER_ROTENC3 = 191, - INTERFACE_IOS__DISPENSER_ROTENC4 = 192, - INTERFACE_IOS__DISPENSER_ROTENC5 = 193, - INTERFACE_IOS__DISPENSER_ROTENC6 = 194, - INTERFACE_IOS__DISPENSER_ROTENC7 = 195, - INTERFACE_IOS__DISPENSER_ROTENC8 = 196, - INTERFACE_IOS__DISPENSER_VALVE_1 = 197, - INTERFACE_IOS__DISPENSER_VALVE_2 = 198, - INTERFACE_IOS__DISPENSER_VALVE_3 = 199, - INTERFACE_IOS__DISPENSER_VALVE_4 = 200, - INTERFACE_IOS__DISPENSER_VALVE_5 = 201, - INTERFACE_IOS__DISPENSER_VALVE_6 = 202, - INTERFACE_IOS__DISPENSER_VALVE_7 = 203, - INTERFACE_IOS__DISPENSER_1 = 204, - INTERFACE_IOS__DISPENSER_3 = 205, - INTERFACE_IOS__DISPENSER_5 = 206, - INTERFACE_IOS__DISPENSER_7 = 207, - INTERFACE_IOS__MIDTANK3_1 = 208, - INTERFACE_IOS__DISPENSER_2 = 209, - INTERFACE_IOS__DISPENSER_4 = 210, - INTERFACE_IOS__DISPENSER_6 = 211, - INTERFACE_IOS__DISPENSER_8 = 212, - INTERFACE_IOS__MIDTANK3_2 = 213, - INTERFACE_IOS__CART3 = 214, - INTERFACE_IOS__CART1 = 215, - INTERFACE_IOS__CART2 = 216, - INTERFACE_IOS__CART4 = 217, - INTERFACE_IOS__CART7 = 218, - INTERFACE_IOS__CART5 = 219, - INTERFACE_IOS__CART6 = 220, - INTERFACE_IOS__CART8 = 221, - INTERFACE_IOS__LS_SCREW_LEFT = 222, - INTERFACE_IOS__LS_SCREW_RIGHT = 223, - INTERFACE_IOS__SW_SPARE = 224, - INTERFACE_IOS__SW_SPOOL_EXISTS = 225, - INTERFACE_IOS__MOTO_SCREW = 226, - INTERFACE_IOS__MOTO_WINDER = 227, - INTERFACE_IOS__SCREW_ROTENC = 228, - INTERFACE_IOS__INTWINDINGUNIT = 229, - INTERFACE_IOS__AN5V_LDANCER1 = 230, - INTERFACE_IOS__AN5V_LDANCER2 = 231, - INTERFACE_IOS__LS_LDANCER1_DOWN = 232, - INTERFACE_IOS__LS_LDANCER1_UP = 233, - INTERFACE_IOS__LS_LDANCER2_DOWN = 234, - INTERFACE_IOS__LS_LDANCER2_UP = 235, - INTERFACE_IOS__LS_LLOADMOTOR_DOWN = 236, - INTERFACE_IOS__LS_LLOADMOTOR_UP = 237, - INTERFACE_IOS__LS_LPIVOT_DOWN = 238, - INTERFACE_IOS__LS_LPIVOT_UP = 239, - INTERFACE_IOS__LS_LSPARE1 = 240, - INTERFACE_IOS__LS_LSPARE2 = 241, - INTERFACE_IOS__LS_PIVOT_SPARE1 = 242, - INTERFACE_IOS__LS_PIVOT_SPARE2 = 243, - INTERFACE_IOS__MOTO_LDANCER1 = 244, - INTERFACE_IOS__MOTO_LDANCER2 = 245, - INTERFACE_IOS__MOTO_LDRIVING = 246, - INTERFACE_IOS__MOTO_LLOADING = 247, - INTERFACE_IOS__MOTO_LPIVOT1 = 248, - INTERFACE_IOS__LSPARE1_ROTENC = 249, - INTERFACE_IOS__LSPARE2_ROTENC = 250, - INTERFACE_IOS__LDANCER1_ROTENC = 251, - INTERFACE_IOS__LDANCER2_ROTENC = 252, - INTERFACE_IOS__LSPARE_ROTENC = 253, - INTERFACE_IOS__LTFEEDUNIT2 = 254, - INTERFACE_IOS__LTFEEDUNIT1 = 255, - INTERFACE_IOS__AN_ENCLOSURETEMP1 = 256, - INTERFACE_IOS__AN_ENCLOSURETEMP2 = 257, - INTERFACE_IOS__AN_ENCLOSURETEMP3 = 258, - INTERFACE_IOS__GPI_PANSW1 = 259, - INTERFACE_IOS__GPI_PANSW2 = 260, - INTERFACE_IOS__GPI_PANSW3 = 261, - INTERFACE_IOS__GPI_PANSW4 = 262, - INTERFACE_IOS__GPI_PANSW5 = 263, - INTERFACE_IOS__GPI_PANSW6 = 264, - INTERFACE_IOS__GPI_PWRBUTTON = 265, - INTERFACE_IOS__GPI_TACTSW1 = 266, - INTERFACE_IOS__GPI_TACTSW2 = 267, - INTERFACE_IOS__GPI_TACTSW3 = 268, - INTERFACE_IOS__GPI_TACTSW4 = 269, - INTERFACE_IOS__GPO_BUZZER = 270, - INTERFACE_IOS__GPO_LED1 = 271, - INTERFACE_IOS__GPO_LED2 = 272, - INTERFACE_IOS__GPO_LED3 = 273, INTERFACE_IOS__GPO_LED4 = 274, - INTERFACE_IOS__FAN_TACHO1 = 275, - INTERFACE_IOS__FAN_TACHO2 = 276, - INTERFACE_IOS__FAN_TACHO3 = 277, - INTERFACE_IOS__FAN1_TACH = 278, - INTERFACE_IOS__FAN2_TACH = 279, - INTERFACE_IOS__FAN3_TACH = 280, - INTERFACE_IOS__FAN4_TACH = 281, - INTERFACE_IOS__FAN5_TACH = 282, - INTERFACE_IOS__AN5V_RDANCER = 283, - INTERFACE_IOS__LS_RLOADMOTOR_UP = 284, - INTERFACE_IOS__GPI_TFEED_BREAK_1 = 285, - INTERFACE_IOS__GPI_TFEED_BREAK_2 = 286, - INTERFACE_IOS__LS_RDANCER_DOWN = 287, - INTERFACE_IOS__LS_RDANCER_UP = 288, - INTERFACE_IOS__RTFEEDUNIT2 = 289, - INTERFACE_IOS__RTFEEDUNIT1 = 290, - INTERFACE_IOS__LS_RLOADMOTOR_DOWN = 291, - INTERFACE_IOS__LS_RLOADRAM_DOWN = 292, - INTERFACE_IOS__LS_RLOADRAM_UP = 293, - INTERFACE_IOS__LS_RSPARE1 = 294, - INTERFACE_IOS__LS_RSPARE2 = 295, - INTERFACE_IOS__GPO_TFEED_BREAK_1 = 296, - INTERFACE_IOS__GPO_TFEED_BREAK_2 = 297, - INTERFACE_IOS__MOTO_RDANCER = 298, - INTERFACE_IOS__MOTO_RDRIVING = 299, - INTERFACE_IOS__MOTO_RLOADARM = 300, - INTERFACE_IOS__MOTO_RLOADING = 301, - INTERFACE_IOS__RSPARE_ROTENC1 = 302, - INTERFACE_IOS__RSPEEDSENS_ROTENC = 303, - INTERFACE_IOS__RDANCER_ROTENC = 304, - INTERFACE_IOS__RSPARE_ROTENC2 = 305, - INTERFACE_IOS__AN10V_SPARE1 = 306, - INTERFACE_IOS__AN10V_SPARE2 = 307, - INTERFACE_IOS__LS_SPARE1_1 = 308, - INTERFACE_IOS__LS_SPARE1_2 = 309, - INTERFACE_IOS__LS_SPARE1_3 = 310, - INTERFACE_IOS__LS_SPARE1_4 = 311, - INTERFACE_IOS__LS_SPARE2_1 = 312, - INTERFACE_IOS__SPARE2 = 313, - INTERFACE_IOS__SPARE1 = 314, - INTERFACE_IOS__LS_SPARE2_2 = 315, - INTERFACE_IOS__LS_SPARE2_3 = 316, - INTERFACE_IOS__LS_SPARE2_4 = 317, INTERFACE_IOS__GPO_SPARE1_1 = 318, INTERFACE_IOS__GPO_SPARE1_2 = 319, - INTERFACE_IOS__GPO_SPARE2_1 = 320, - INTERFACE_IOS__GPO_SPARE2_2 = 321, - INTERFACE_IOS__MOTO_SPARE1_1 = 322, - INTERFACE_IOS__MOTO_SPARE1_2 = 323, - INTERFACE_IOS__MOTO_SPARE2_1 = 324, - INTERFACE_IOS__MOTO_SPARE2_2 = 325, - INTERFACE_IOS__SPARE1_ROTENC1 = 326, - INTERFACE_IOS__SPARE2_ROTENC2 = 327, - INTERFACE_IOS__SPARE1_ROTENC3 = 328, - INTERFACE_IOS__SPARE2_ROTENC4 = 329, - INTERFACE_IOS__CHILLER_CTRL = 330, - INTERFACE_IOS__AN_AIRPRESS_1 = 331, - INTERFACE_IOS__AN_AIRPRESS_2 = 332, - INTERFACE_IOS__AN_VOCSENS = 333, - INTERFACE_IOS__AN_BLOWERCTRL = 334, - INTERFACE_IOS__GPI_AIRFLOW_FLAP = 335, - INTERFACE_IOS__GPI_BLOWER_TACH = 336, - INTERFACE_IOS__GPI_CHILLER_FAULT = 337, - INTERFACE_IOS__GPI_CHILLER_STAT1 = 338, - INTERFACE_IOS__WHS_VOCTEMP = 339, - INTERFACE_IOS__GPI_SW_FILTER_PRES = 340, INTERFACE_IOS__GPI_WCONTAINER_FULL = 341, INTERFACE_IOS__GPI_WCONTAINER_WARN = 342, INTERFACE_IOS__GPO_BLOWER_PWM = 343, 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 e219a3859..2ecf83560 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 @@ -944,6 +944,42 @@ bool Dryer_Door_Switch()//move to Get_COVER_1_State } */ +char Read_HW_Version(unsigned char *Brd_ID, unsigned char *Assy_ID) +{ + //TODO Move in GPIO Initialisation + + // ----------- Set HW Version GPIO as Input ----------- + //MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1); + //MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7); + //MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5); + + //Set HW Version GPIO to Pull down + GPIOPadConfigSet(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); + GPIOPadConfigSet(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); + GPIOPadConfigSet(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); + // ------------------------------------------------------ + + if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_3) == GPIO_PIN_3) + *Brd_ID |= 0x08; + if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_2) == GPIO_PIN_2) + *Brd_ID |= 0x04; + if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_5) == GPIO_PIN_5) + *Brd_ID |= 0x02; + if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_4) == GPIO_PIN_4) + *Brd_ID |= 0x01; + + if (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_3) == GPIO_PIN_3) + *Assy_ID |= 0x08; + if (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_5) == GPIO_PIN_5) + *Assy_ID |= 0x04; + if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_1) == GPIO_PIN_1) + *Assy_ID |= 0x02; + if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_7) == GPIO_PIN_7) + *Assy_ID |= 0x01; + + return PASSED; +} + diff --git a/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c index 43174ec89..4cfb0704b 100644 --- a/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c +++ b/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c @@ -33,7 +33,7 @@ uint32_t Get_and_Clear_Status(); uint32_t Get_Param(byte param); unsigned long MaxSpdCalc(float stepsPerSec); - +/* extern unsigned long Run_Value ; extern unsigned long Mov_Value ; extern unsigned long Pos_Value; @@ -55,6 +55,28 @@ extern unsigned long TestUint32_3; extern unsigned long TestUint32_4; extern unsigned long TestUint32_5; extern unsigned long TestUint32_6; +*/ +unsigned long Run_Value = 136902 ; +unsigned long Pos_Value; +unsigned long Mov_Value ; +bool Direction ; +unsigned long Time_2_Change_Direction ; +bool Display_Tx_ON_LCD; +bool Display_Rx_on_LCD; +unsigned long Init_MicroStep ; +unsigned long Init_Acc; +unsigned long Init_Dec; +bool TestBool_1; +bool TestBool_2; +bool TestBool_3; +bool TestBool_4; +bool TestBool_5; +unsigned long TestUint32_1; +unsigned long TestUint32_2; +unsigned long TestUint32_3; +unsigned long TestUint32_4; +unsigned long TestUint32_5; +unsigned long TestUint32_6; extern unsigned char Stop_Command; diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c index b5c61eb46..b86cabc75 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c +++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.c @@ -21,6 +21,7 @@ #include "driverlib/interrupt.h" #include "utils/uartstdio.h" +#include "utils/uartstdio.c" /// /* XDCtools Header files */ @@ -115,6 +116,8 @@ static void UartClockHandle(UArg arg0) Clock_start(UartClock); } + + //***************************************************************************** // // The UART Initialization. diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c index e2f2013c9..4867587d9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c @@ -22,41 +22,7 @@ #include "driverlib/rom.h" -char Read_HW_Version(unsigned char *Brd_ID, unsigned char *Assy_ID) -{ - //TODO Move in GPIO Initialisation - - // ----------- Set HW Version GPIO as Input ----------- - //MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1); - //MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7); - //MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5); - - //Set HW Version GPIO to Pull down - GPIOPadConfigSet(GPIO_PORTS_BASE, GPIO_PIN_3 | GPIO_PIN_2 | GPIO_PIN_1, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); - GPIOPadConfigSet(GPIO_PORTJ_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_7, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); - GPIOPadConfigSet(GPIO_PORTP_BASE, GPIO_PIN_3 | GPIO_PIN_5, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPD ); - // ------------------------------------------------------ - - if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_3) == GPIO_PIN_3) - *Brd_ID |= 0x08; - if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_2) == GPIO_PIN_2) - *Brd_ID |= 0x04; - if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_5) == GPIO_PIN_5) - *Brd_ID |= 0x02; - if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_4) == GPIO_PIN_4) - *Brd_ID |= 0x01; - - if (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_3) == GPIO_PIN_3) - *Assy_ID |= 0x08; - if (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_5) == GPIO_PIN_5) - *Assy_ID |= 0x04; - if (ROM_GPIOPinRead(GPIO_PORTS_BASE, GPIO_PIN_1) == GPIO_PIN_1) - *Assy_ID |= 0x02; - if (ROM_GPIOPinRead(GPIO_PORTJ_BASE, GPIO_PIN_7) == GPIO_PIN_7) - *Assy_ID |= 0x01; - - return PASSED; -} + void Stub_HWVersionRequest(MessageContainer* requestContainer) { diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c index 636889127..7995b1a42 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c @@ -21,7 +21,7 @@ #include "drivers/SPI/SPI_Comm.h" #include "driverlib/ssi.h" - +/* unsigned long Run_Value = 136902 ; unsigned long Pos_Value; unsigned long Mov_Value ; @@ -43,6 +43,28 @@ unsigned long TestUint32_4; unsigned long TestUint32_5; unsigned long TestUint32_6; + */ + extern unsigned long Run_Value ; + extern unsigned long Mov_Value ; + extern unsigned long Pos_Value; + extern bool Direction ; + extern unsigned long Time_2_Change_Direction ; + extern bool Display_Tx_ON_LCD; + extern bool Display_Rx_on_LCD; + extern unsigned long Init_MicroStep ; + extern unsigned long Init_Acc; + extern unsigned long Init_Dec; + extern bool TestBool_1; + extern bool TestBool_2; + extern bool TestBool_3; + extern bool TestBool_4; + extern bool TestBool_5; + extern unsigned long TestUint32_1; + extern unsigned long TestUint32_2; + extern unsigned long TestUint32_3; + extern unsigned long TestUint32_4; + extern unsigned long TestUint32_5; + extern unsigned long TestUint32_6; void Stub_L6470DriverRequest(MessageContainer* requestContainer) { diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.h b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.h deleted file mode 100644 index 0b4702861..000000000 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.h +++ /dev/null @@ -1,3 +0,0 @@ -void Stub_L6470DriverRequest(MessageContainer* requestContainer); - -void temp_init_spi2(); -- cgit v1.3.1 From f3a7578c8c53e50c95ed62eba4dcab80e4408b12 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 17 Apr 2019 14:38:45 +0300 Subject: version 1.3.8.51: bug fix in winder; many fixes in heaters --- .../Embedded_SW/Embedded/Common/SW_Info/SW_Info.c | 2 +- Software/Embedded_SW/Embedded/Main.c | 2 +- .../Embedded/Modules/Heaters/Heaters_print.c | 71 ++++++++++++++++------ .../Embedded/Modules/Thread/Thread_Winder.c | 12 ++-- 4 files changed, 62 insertions(+), 25 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules') diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 075f0c5d9..07fbf3ddd 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {1,3,8,5}; +TangoVersion_t _gTangoVersion = {1,3,8,51}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c index 1c368e180..a125ef10c 100644 --- a/Software/Embedded_SW/Embedded/Main.c +++ b/Software/Embedded_SW/Embedded/Main.c @@ -177,7 +177,7 @@ int main(void) #endif #ifdef WATCHDOG - InitWatchdog(ui32SysClock*2); + InitWatchdog(ui32SysClock); #endif CommunicationTaskInit(); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 93048681d..75ed06b05 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -218,7 +218,7 @@ void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState) HeaterState->heatertype = HeaterType; HeaterState->has_setpoint = true; HeaterState->setpoint = HeaterCmd[HeaterId].targettemperatue/100; - // HeaterState->setpoint = DCTimeSliceAllocation[HeaterId]*100/NumberOFSlicesInUse; + //HeaterState->setpoint = DCTimeSliceAllocation[HeaterId]*100/NumberOFSlicesInUse; HeaterState->has_currentvalue = true; HeaterState->currentvalue = temp/100;//MillisecGetTemperatures(HeaterId2PT100Id[HeaterId])/100; HeaterState->has_isactive = true; @@ -227,11 +227,16 @@ void LoadHeaterState(HeaterType HeaterType,HeaterState *HeaterState) HeaterState->isrampingup = 1-HeaterReady[HeaterId]; HeaterState->has_isinsetpoint = true; HeaterState->isinsetpoint = HeaterReady[HeaterId]; - /*if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerAirTemperature) + if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain) { HeaterState->setpoint = HeaterControl[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain].outputproportionalpowerlimit; //HeaterState->isrampingup = InitialHeating; - }*/ + } + if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary) + { + HeaterState->setpoint = HeaterControl[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary].outputproportionalpowerlimit; + //HeaterState->isrampingup = InitialHeating; + } return; } uint32_t HeatersSingleHeaterEnd(HardwarePidControlType HeaterId) @@ -667,10 +672,10 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue) LOG_ERROR (MaxreadValue/100, "Heater Over the max temperature, turned off"); } DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); - HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain] = true; + HeaterMaxTempFlag[index] = true; //HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain,0); DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); - HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] = true; + //HeaterMaxTempFlag[HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary] = true; //HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary,0); return OK; } @@ -842,17 +847,18 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) return OK; } // if (readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100)) - if (readValue < (HeaterCmd[index].targettemperatue * AcHeatersLoweroperationLimit/1000)) + if (readValue < (/*HeaterCmd[index].targettemperatue * AcHeatersLoweroperationLimit/1000*/HeaterCmd[index].targettemperatue-1000)) { ActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); ActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain); return OK; } - if ((readValue > (HeaterCmd[index].targettemperatue * AcHeatersLoweroperationLimit/1000))&&(readValue < (HeaterCmd[index].targettemperatue * AcHeatersUpperoperationLimit/1000)))//read value within 0.5 percent from target + if ((readValue > (HeaterCmd[index].targettemperatue-1000)/*(HeaterCmd[index].targettemperatue * AcHeatersLoweroperationLimit/1000)*/)&&(readValue < (HeaterCmd[index].targettemperatue * AcHeatersUpperoperationLimit/1000)))//read value within 0.5 percent from target { ////////////////// //InitialHeating = false; + Report("AC PID Activating",__FILE__,__LINE__,readValue,RpWarning,(HeaterCmd[index].targettemperatue-1000), 0); DeActivateHeater(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary); HeaterRecalculateSharedHeatersParams(HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary, 0); HeatersControlStart(); @@ -891,15 +897,30 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) } else //PID active { - if (HeaterPIDConfig[index].m_params.IntegralErrorMultiplier == 0) + if ((readValue > ((HeaterCmd[index].targettemperatue * (100+HeaterControl[index].outputproportionalband))/100))) { - HeaterPIDConfig[index].m_calculatedError = PIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, - &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + //disable PID outside band + HeaterPIDConfig[index].m_calculatedError = 0; + HeaterPIDConfig[index].m_integral = 0; + } + else if ((readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100))) + { + //disable PID outside band + HeaterPIDConfig[index].m_calculatedError = 10000; + HeaterPIDConfig[index].m_integral = 0; } else { - HeaterPIDConfig[index].m_calculatedError = AdvancedPIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, - &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + if (HeaterPIDConfig[index].m_params.IntegralErrorMultiplier == 0) + { + HeaterPIDConfig[index].m_calculatedError = PIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, + &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + } + else + { + HeaterPIDConfig[index].m_calculatedError = AdvancedPIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, + &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + } } // len = usnprintf(ACheatstr, 254, "ACD Id, Temp , Integral, Output{ %d, %d ,%d, %d} ",index,(int)HeaterPIDConfig[index].m_mesuredParam ,(int)HeaterPIDConfig[index].m_integral,(int)HeaterPIDConfig[index].m_calculatedError); // Report(logmsg[index],__FILE__,__LINE__,index,RpWarning,index, Counter[index]); @@ -1015,15 +1036,31 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue) { //check only for the proportional band limits HeaterPIDConfig[index].m_mesuredParam = readValue; - if (HeaterPIDConfig[index].m_params.IntegralErrorMultiplier == 0) + if ((readValue > ((HeaterCmd[index].targettemperatue * (100+HeaterControl[index].outputproportionalband))/100))) { - HeaterPIDConfig[index].m_calculatedError = PIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, - &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + //disable PID outside band + HeaterPIDConfig[index].m_calculatedError = 0; + HeaterPIDConfig[index].m_integral = 0; + } + else if ((readValue < ((HeaterCmd[index].targettemperatue * (100-HeaterControl[index].outputproportionalband))/100))) + { + //disable PID outside band + HeaterPIDConfig[index].m_calculatedError = 10000; + HeaterPIDConfig[index].m_integral = 0; } else { - HeaterPIDConfig[index].m_calculatedError = AdvancedPIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, - &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + if (HeaterPIDConfig[index].m_params.IntegralErrorMultiplier == 0) + { + HeaterPIDConfig[index].m_calculatedError = PIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, + &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + } + else + { + HeaterPIDConfig[index].m_calculatedError = AdvancedPIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam, + &HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral); + } + } // error[index][Counter[index]] = HeaterPIDConfig[index].m_preError; // integral[index][Counter[index]] = HeaterPIDConfig[index].m_integral; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 0b19d835a..70f32ce6d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -111,12 +111,12 @@ uint32_t Winder_Prepare(void) }*/ if (FPGA_Read_limit_Switches(GPI_LS_SCREW_RIGHT)==LIMIT) { - REPORT_MSG(LIMIT, "Winder_Prepare at limit"); + //REPORT_MSG(LIMIT, "Winder_Prepare at limit"); Winder_PrepareStage2(0,0); } else { - REPORT_MSG(ScrewSpeed, "Winder_Prepare"); + //REPORT_MSG(ScrewSpeed, "Winder_Prepare"); Winder_ScrewHoming = true; //REPORT_MSG(MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize, "Winder_Prepare move to limit"); status = MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_SCREW,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize, ScrewSpeed, GPI_LS_SCREW_RIGHT, Winder_PrepareStage2,2000); @@ -322,7 +322,9 @@ uint32_t Winder_Presegment(void *SegmentDetails, uint32_t SegmentId) // * calculate // * 1. calculate speed according to JobTicket->processparameters->dyeingspeed // * calculation input: traverse length in milimeters/pulses, number of rotations per traverse ==> length of traverse per rotation. - screw_horizontal_speed = InternalWinderCfg.segmentoffsetpulses / InternalWinderCfg.NumberOfRotationPerPassage; + ScrewNumberOfSteps = InternalWinderCfg.segmentoffsetpulses;//*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep; + ScrewNumberOfSteps -= 100; + screw_horizontal_speed = ScrewNumberOfSteps / InternalWinderCfg.NumberOfRotationPerPassage; // calculation input#2: number of rotations per second - (basically: speed/winder perimeter. later - according to winder actual speed - calculate according to winder position accumulation in the last second. //RotationsPerSecond = dyeingspeed / (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_WINDER].pulleyradius * PI); RotationsPerSecond = OriginalMotorSpd_2PPS[WINDER_MOTOR] / MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_WINDER].pulseperround; @@ -343,10 +345,8 @@ uint32_t Winder_Presegment(void *SegmentDetails, uint32_t SegmentId) // * 3. calculate cart travel length from winding parameters // * 4. start move of travel length // * 5. register motor nBusy callback. this callback will flip between move(traverse length, hardstop) and goto(0), with handline og the coneshape and adjusting maxspeed - ScrewNumberOfSteps = InternalWinderCfg.segmentoffsetpulses;//*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep; - ScrewNumberOfSteps -= 100; temp = SYS_CLK_FREQ; - temp *= InternalWinderCfg.segmentoffsetpulses; + temp *= ScrewNumberOfSteps; temp /= ScrewSpeed; ScrewRunningTime = temp;//(SYS_CLK_FREQ*InternalWinderCfg.segmentoffsetpulses)/ScrewSpeed; REPORT_MSG(ScrewNumberOfSteps,"Winder pre segment - ScrewNumberOfSteps"); -- cgit v1.3.1