diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-08-15 17:30:18 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-08-15 17:30:18 +0300 |
| commit | beca75b89f9c227ce987abdd01e01fa911dfa91d (patch) | |
| tree | 1d9b894df0299c004b608daee34cbd5c5a854668 /Software/Embedded_SW/Embedded/Modules | |
| parent | ca9a080e283819b40c424d17332a18423ff6dcb1 (diff) | |
| parent | f22625f8edf038ffa01d561969dc14b849b6a866 (diff) | |
| download | Tango-beca75b89f9c227ce987abdd01e01fa911dfa91d.tar.gz Tango-beca75b89f9c227ce987abdd01e01fa911dfa91d.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
13 files changed, 82 insertions, 76 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 6f80fdffb..a6075ac09 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -260,13 +260,14 @@ AlarmHandlingItemStruc HardCodedAlarmItem[MAX_SYSTEM_ALARMS]={ {eOneSecond,ALARM_SOURCE_TYPE__TemperatureAlarm,TEMP_SENSE_AN_ENCLOSURETEMP1, 0,40,true,DEBUG_LOG_CATEGORY__Warning,0xFF,0,EVENT_TYPE__MACHINE_INTERNAL_OVERTEMPERATURE }, {eOneSecond,ALARM_SOURCE_TYPE__TemperatureAlarm,TEMP_SENSE_AN_ENCLOSURETEMP2, 1,40,true,DEBUG_LOG_CATEGORY__Warning,0xFF,0,EVENT_TYPE__MACHINE_INTERNAL_OVERTEMPERATURE }, - - {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor1_EC ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_1_OPEN}, - {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor2_PPC ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_2_OPEN}, - {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor3_DH_DRYER ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_3_OPEN}, - {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor4_MIDTANKS ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_4_OPEN}, - {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,RearDoor ,1,false,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__REAR_COVER_OPEN }, - {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,CartridgesDoor,1,false,true,DEBUG_LOG_CATEGORY__Warning,0xFF,5,EVENT_TYPE__CARTRIDGES_COVER_OPEN}, +/* + {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor1_EC ,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_1_OPEN}, + {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor2_PPC ,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_2_OPEN}, + {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor3_DH_DRYER,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_3_OPEN}, + {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,FrontDoor4_MIDTANKS,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__FRONT_COVER_4_OPEN}, + {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,RearDoor ,1,true,true,DEBUG_LOG_CATEGORY__Error, 0xFF,5,EVENT_TYPE__REAR_COVER_OPEN }, +*/ + {eHundredMillisecond,ALARM_SOURCE_TYPE__CoversAlarm,CartridgesDoor ,1,true,true,DEBUG_LOG_CATEGORY__Warning,0xFF,5,EVENT_TYPE__CARTRIDGES_COVER_OPEN}, {eOneSecond,ALARM_SOURCE_TYPE__TemperatureAlarm,MIXER_PT100, HARDWARE_PID_CONTROL_TYPE__MixerHeater ,9,false,DEBUG_LOG_CATEGORY__Warning,0xFF,0,EVENT_TYPE__MIXER_UNDERTEMPERATURE_A}, @@ -926,11 +927,11 @@ uint32_t AlarmHandlingLoop(uint32_t tick) { if (AlarmItem[Alarm_i].AlarmDirection == true) { - value = Read_Notification_Disp_UP(AlarmItem[Alarm_i].DeviceId,NULL); + value = Get_Notification_Disp_UP(AlarmItem[Alarm_i].DeviceId/*,NULL*/); } else { - value = Read_Notification_Disp_Down(AlarmItem[Alarm_i].DeviceId,NULL); + value = Get_Notification_Disp_Down(AlarmItem[Alarm_i].DeviceId/*,NULL*/); } } else diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index fa94614fd..cdb8950e4 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -536,7 +536,7 @@ uint32_t MillisecLowLoop(uint32_t tick) { Speed_Data = Calculate_Speed_Sensor_Velocity(); Read_Buttons_Reg(); - Ink_Cart_Led(); + //Ink_Cart_Led(); for (Sensor_i = 0;Sensor_i < MAX_TEMPERATURE_SENSOR_ID;Sensor_i++) { MillisecUpdateTemperatures (Sensor_i,TemperatureSensorRead(Sensor_i)); diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c index a88f67d5e..07214d240 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/control.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c @@ -158,7 +158,7 @@ uint32_t ControlActivityLed( uint32_t Parameter1) { static bool flag = false; static uint8_t counter; - const uint8_t Blink_Freq = 3;//odd number + const uint8_t Blink_Freq = 7;//odd number if (flag==true) { diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.h b/Software/Embedded_SW/Embedded/Modules/Control/control.h index ca76ec8e1..450646a68 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/control.h +++ b/Software/Embedded_SW/Embedded/Modules/Control/control.h @@ -47,7 +47,6 @@ int SafeRemoveHighControlCallback(uint32_t deviceId , ControlCBFunction uint32_t TemplateDataReadCBFunction (uint32_t deviceId, uint32_t Parameter1); uint32_t GetControlDevice_i(void); uint32_t GetControlLowDevice_i(void); -ControlCBFunction GetControlCallbackFuncPtr(uint32_t ControlId); ControlCBFunction GetControlCallbackFuncPtr(uint32_t ControlId); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 777225d56..f5e33ed14 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -406,7 +406,7 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) upload_hardware_configuration_request__free_unpacked(UploadRequest,NULL); return ERROR; } - Init_Dispensers_IO_Registers(&Disp_IO_Reg); + Init_Dispensers_IO_Registers(/*&Disp_IO_Reg*/); if (request->n_breaksensors == 1) { ThreadConfigBreakSensor(request->breaksensors[0]); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 8e185750f..4789db31f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -272,7 +272,7 @@ void HeatersControlStart(void) ReportWithPackageFilter(HeatersFilter,"HeatersControlStart ", __FILE__,__LINE__,0, RpMessage, 0, 0); HeatersRestart = true; HeatersStartControlTimer(); - for (i = 0; i< MAX_INTERNAL_ALARMS;i++) + for (i = 0; i< (MAX_INTERNAL_ALARMS-1);i++) { if (ControlIdtoInternalId [i] == 0xFF) { diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index 7a719d39a..3e68bc0a4 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -69,6 +69,7 @@ int JobBrushStopId = 0; int lInterSegmentLength = 0; int InterSegmentStepsLimit = 0,InterSegmentStepsCount = 0; bool PreSegmentWCFStarted = false; + bool PreSegmentPrepareStarted = false; uint32_t InterSegmentStartSprayCleaner = 0; uint32_t InterSegmentStartRocking = 0; @@ -955,6 +956,7 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); { //IDS_Valve_PresegmentReady(1,0); Report("End of Pre-segment Handling",__FILE__,__LINE__,InterSegmentStepsCount,RpWarning,(int)lInterSegmentLength,0); + //PreSegmentReady(Module_IDS,ModuleDone); SafeRemoveControlCallback(DispenserPreSegmentControlId,IDSPreSegmentStateCallbackRunner); setRapidPressureRead(false); } @@ -977,14 +979,21 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); //IDS_Cleaning_Center_And_Stop_Rockers (int timeout,callback_fptr callback); } } - if (PreSegmentWCFStarted == false) + if ((InterSegmentStartWFCFDispensers > 0)&&(InterSegmentStartWFCFDispensers == (InterSegmentStepsCount+12000))) + { + //start prepare 4 seconds before wcf + IDSPresegmentPrepareStart(); + PreSegmentPrepareStarted = true; + } + if ((PreSegmentWCFStarted == false)&&(PreSegmentPrepareStarted == true)) { IDS_PreSegmentPrepare_Callback(0,0); } - if ((InterSegmentStartWFCFDispensers > 0)&&(InterSegmentStartWFCFDispensers == (lInterSegmentLength-InterSegmentStepsCount))) + if ((InterSegmentStartWFCFDispensers > 0)&&(InterSegmentStartWFCFDispensers == InterSegmentStepsCount)) { Report("start dispensers at rate * WFCF",__FILE__,__LINE__,InterSegmentStepsCount,RpWarning,(int)lInterSegmentLength,0); PreSegmentWCFStarted = true; // stop any presegment prepare stages, if still exist + PreSegmentPrepareStarted = false; setRapidPressureRead(false); if (FileBrushStop) { @@ -1044,6 +1053,11 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback); } //startDispensersAtSegmentSpeed*1=WFCFClenerSpray(speed); } + if ((InterSegmentStartWFCFDispensers > 0)&&((lInterSegmentLength-1000) == InterSegmentStepsCount)) + { + //close waste valve one second before segment - trial + Valve_Set(VALVE_MIXCHIP_WASTECH, Mixer_Head); + } return OK; } uint32_t IDSCheckSegmentData(void *SegmentDetails, int SegmentId) @@ -1235,9 +1249,10 @@ uint32_t IDSPreSegmentState(void *SegmentDetails, int SegmentId) } //Task_sleep(5); PreSegmentWCFStarted = false; + PreSegmentPrepareStarted = false; REPORT_MSG(PreSegmentWCFStarted,"START IDSPresegmentPrepareStart"); - IDSPresegmentPrepareStart(); +// IDSPresegmentPrepareStart(); return OK; } //******************************************************************************************************************** diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index d18833ca6..153ab0e43 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -106,6 +106,14 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) response.has_progress = true; } + else + if(request->amount == 0x0CC) //Cùøàøïâò÷ Vùêïâùàïíî ø÷ãôíîã÷ + { + ResponseDemo(request->delay); + response.progress = (double)OK; + response.has_progress = true; + + } else if((request->amount == 0xDF) && (request->delay == 0xDF)) //Power off { PowerOffInit(); diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c index f3efa3b67..a548ce6f6 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c @@ -34,34 +34,34 @@ void Stub_DispenserRequest(MessageContainer* requestContainer) SysCtlDelay(100000); */ - TCA9534Regs Regs; + //TCA9534Regs Regs; //static bool first_time = true; //if(first_time == true) //if ((Regs.Config[request->dispenserid].bit.DISP_DOWN != TCA9534_INPUT) || (Regs.Config[request->dispenserid].bit.DISP_UP!= TCA9534_INPUT)) //{ - status |= TCA9534Init(request->dispenserid, &Regs); + status |= TCA9534Init(request->dispenserid/*, &Regs*/,true); //first_time = false; //} if(request->setdirection == true) { - TCA9534TestRelay(request->dispenserid, &Regs,ENABLE); + TCA9534TestRelay(request->dispenserid/*, &Regs*/,ENABLE); } else - TCA9534TestRelay(request->dispenserid, &Regs,DISABLE); + TCA9534TestRelay(request->dispenserid/*, &Regs*/,DISABLE); delayms(5); if(request->start == true) { - TCA9534ByPass(request->dispenserid, &Regs, ENABLE); + TCA9534ByPass(request->dispenserid/*, &Regs*/, ENABLE); } else - TCA9534ByPass(request->dispenserid, &Regs, DISABLE); + TCA9534ByPass(request->dispenserid/*, &Regs*/, DISABLE); delayms(5); @@ -88,16 +88,16 @@ void Stub_DispenserRequest(MessageContainer* requestContainer) status |= TCA9534SetReadInputReg(request->dispenserid); - status |= TCA9534ReadInputReg(request->dispenserid, &Regs); + status |= TCA9534ReadInputReg(request->dispenserid/*, &Regs*/); response.dispenserid = request->dispenserid; response.has_dispenserid = true; - response.dispenserposition = (Read_Notification_Disp_UP(request->dispenserid, &Regs) << 8) | (Read_Notification_Disp_Down(request->dispenserid, &Regs)); + response.dispenserposition = (Get_Notification_Disp_UP(request->dispenserid/*, &Regs*/) << 8) | (Get_Notification_Disp_Down(request->dispenserid/*, &Regs*/)); response.has_dispenserposition = true; - response.inkworninglevel = (Read_Notification_Realy_On(request->dispenserid, &Regs) << 8) | (Read_Notification_Over_Press(request->dispenserid, &Regs)); + response.inkworninglevel = (Get_Notification_Realy_On(request->dispenserid/*, &Regs*/) << 8) | (Get_Notification_Over_Press(request->dispenserid/*, &Regs*/)); response.has_inkworninglevel = true; status_response(status,&response.status, &response.statusword ,&response.has_statusword); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 0ac23baf5..c5e124ad3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -90,6 +90,8 @@ uint32_t InternalWinderConfigMessage(HardwareWinder* request) return status; } +char ScrewStr[150]; + uint32_t InternalWindingConfigMessage(JobSpool* request) { uint32_t status = PASSED; @@ -100,6 +102,9 @@ uint32_t InternalWindingConfigMessage(JobSpool* request) InternalWinderCfg.SpoolBottomBackingRate = request->bottombackingrate; InternalWinderCfg.NumberOfRotationPerPassage = 3.1415926*2;//request->rotationsperpassage; InternalWinderCfg.diameter = request->diameter; + usnprintf(ScrewStr, 150, "WindingConfig start,offset,head,tail {, %d, %d, %d, %d, %d}",InternalWinderCfg.startoffsetpulses,(int)InternalWinderCfg.segmentoffsetpulses, + (int)InternalWinderCfg.spoolbackingrate,(int)InternalWinderCfg.SpoolBottomBackingRate); + Report(ScrewStr,__FILE__,__LINE__,(int)InternalWinderCfg.diameter,RpWarning,(int)(InternalWinderCfg.NumberOfRotationPerPassage*1000), 0); return status; } @@ -257,7 +262,7 @@ InternalWinderCfg.segmentoffsetpulses numOfSteps = InternalWinderCfg.startoffsetpulses*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep; */ -char ScrewStr[150]; + //char TempScrewStr[100]; double WinderReferenceSpeed=0; double TotalWinderSpeed=0; @@ -267,6 +272,10 @@ int flipflop = 0; uint32_t motspeed; float speedf; int WinderCalculation = 0; +#ifdef READ_SCREW_ENCODER +float WinderRunAverage = 0.0,WinderRunSum = 0.0; +int WinderRunSamples = 0; +#endif uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) { //uint32_t Steps; @@ -311,15 +320,17 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) return OK; //double calcsteps = (ScrewRunningTime/SYS_CLK_FREQ)*ScrewSpeed; #ifdef READ_SCREW_ENCODER + int WinderRun; WinderRun = abs(ScrewLocationRun[1] - ScrewLocationRun[0]); - if (WinderRun < 50000) + if ((WinderRun < 50000)&&(Add100 == false)) { WinderRunSum+=WinderRun; WinderRunSamples++; WinderRunAverage = WinderRunSum/WinderRunSamples; - if ((fabs(WinderRun-WinderRunAverage)>=50)||(WinderRunSamples%50 == 0)) + if ((fabs(WinderRun-WinderRunAverage)>=30)||(WinderRunSamples%100 == 0)) { - usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d }",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples); + usnprintf(ScrewStr, 150, "curr,sum,avg,samples {Winder Encoder:, %d, %d, %d, %d, %d}",WinderRun,(int)WinderRunSum,(int)WinderRunAverage,(int)WinderRunSamples, + (int)(100*WinderRun/ScrewNumberOfSteps)); Report(ScrewStr,__FILE__,__LINE__,CalculationDirectionChangeCounter,RpWarning,ScrewLocationStart, 0); } } diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index a88ce61a5..9e77f2de8 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -288,7 +288,6 @@ uint32_t PoolerThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) //} - length = (double)(positionDiff)*PoolerLengthCalculationMultiplier; PoolerTotalProcessedLength+= (length/100); TempPoolerTotalProcessedLength = PoolerTotalProcessedLength; #ifndef FEEDER_LENGTH_CALCULATION diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h b/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h index 5242aa3b1..39894ce2d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste.h @@ -27,10 +27,14 @@ typedef unsigned char U8; typedef enum { - CYAN = 1, + BLACK, + CYAN, MAGENTA, YELLOW, - BLACK + TRANSPARENT, + SP_1, + CLEANER, + LUBRICANT } CMYK_color; typedef enum diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c index c7054e3bb..5dedfda85 100644 --- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c @@ -188,44 +188,10 @@ bool IFS_TimeOutAlarm() bool MidTankValvesAction(bool action) //Cartridge_MidTank_ON of Cartridge_MidTank_OFF { bool ret = false; - switch (WHS_info.Ink.cart_color) //todo enter the correct color from RFID - { - case CYAN : - Valve_Set( VALVE_2W_CART_MID_1, action); //Cartridge_MidTank_ON Cartridge_MidTank_OFF - Valve_Set( VALVE_2W_MID_AIR_1 , action); - break; - case MAGENTA : - Valve_Set( VALVE_2W_CART_MID_5, action); - Valve_Set( VALVE_2W_MID_AIR_5 , action); - break; - case YELLOW : - Valve_Set( VALVE_2W_CART_MID_2, action); - Valve_Set( VALVE_2W_MID_AIR_2 , action); - break; - case BLACK : - Valve_Set( VALVE_2W_CART_MID_6, action); - Valve_Set( VALVE_2W_MID_AIR_6 , action); - break; - case 5 : - Valve_Set( VALVE_2W_CART_MID_3, action); - Valve_Set( VALVE_2W_MID_AIR_3 , action); - break; - case 6 : - Valve_Set( VALVE_2W_CART_MID_7, action); - Valve_Set( VALVE_2W_MID_AIR_7 , action); - break; - case 7 : - Valve_Set( VALVE_2W_CART_MID_4, action); - Valve_Set( VALVE_2W_MID_AIR_4 , action); - break; - case 8 : - Valve_Set( VALVE_2W_CART_MID_8, action); - Valve_Set( VALVE_2W_MID_AIR_8 , action); - break; - default: //wrong color - break; - } + Valve_Set(IDS_Id_to_AirValve[WHS_info.Ink.cart_color], action ); //Atm_MidTank_OFF/ON + Valve_Set(IDS_Id_to_CartrideValve[WHS_info.Ink.cart_color], action ); //Atm_MidTank_OFF/ON + ret = true; return ret; } @@ -279,7 +245,7 @@ uint32_t ReadCartridgeData(cartridge_name cart_name) uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer)); size_t container_size = message_container__pack(&responseContainer, container_buffer); my_free(responseContainer.data.data); - SendChars((char*)container_buffer, container_size); + //SendChars((char*)container_buffer, container_size); return OK; } @@ -870,8 +836,8 @@ bool WasteTankCBFunction() // is power down in process?? //todo if ( !PowerOffInProcessGetState() ) // not in power down proccess { - //Pannel_Leds(CART_1, MODE_ON); - cart1.color = BLINK; + Pannel_Leds(CART_1, MODE_ON); + //cart1.color = BLINK; //Pannel_Leds(CART_2, MODE_ON); // cart2.color = fastBILNK; RdCartridgeParam(INK_cartridge); //todo @@ -1068,8 +1034,11 @@ bool WasteTankCBFunction() Disable_MidTank_Pressure_Reading(WHS_info.Ink.cart_color); WHS_info.Cartridge_Ink_TimeOut_device_Id = RemoveControlCallback(WHS_info.Cartridge_Ink_TimeOut_device_Id, WasteTankCBFunction ); REPORT_MSG(WHS_full," ------------ Change cartridge status to Fail ----------------- "); - REPORT_MSG(WHS_full," ------------ Display Mid-tank # filling fail ----------------- "); + MidTankValvesAction(Cartridge_MidTank_OFF); + cart1.color = fastBILNK; + REPORT_MSG(WHS_full," ------------ Display Mid-tank # filling fail ----------------- "); + REPORT_MSG(WHS_full," ------------ call customer support ----------------- "); IFS_TimeOutAlarm(); break; @@ -1149,7 +1118,7 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction() if (WHS_info.Ink.time_out) WHS_info.Ink.time_out += 1; Read_MidTank_Pressure_Sensor(WHS_info.Ink.cart_color); - if (Get_MidTank_Pressure_Sensor(WHS_info.Ink.time_out) >= WHS_info.MidTank_capacity + CARTRIDGE_CAPATICY) + if (Get_MidTank_Pressure_Sensor(WHS_info.Ink.cart_color) >= WHS_info.MidTank_capacity + CARTRIDGE_CAPATICY) { WHS_info.Ink.time_out = 0; WHS_info.event = IFS_MidTankFull; @@ -1168,7 +1137,7 @@ WHS_sensor CartridgeInkTimeOutCallBackFunction() MidTankValvesAction(Cartridge_MidTank_OFF); } - if (WHS_info.Ink.time_out == (CARTRIDGE_INK_TIMEOUT+1)) + if (WHS_info.Ink.time_out == (CARTRIDGE_INK_TIMEOUT+1)) //need to open the valve for second chance { MidTankValvesAction(Cartridge_MidTank_ON); } |
