aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-02-09 20:33:19 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-02-09 20:33:19 +0200
commit13c3bd2ebedce9e9bd49aced716221533d2d4f46 (patch)
treee1345e76867b7941a86cf0b3e5560244f7620155 /Software/Embedded_SW/Embedded/Modules
parent36b8379acc12947b6a2a385c3bbe4b932f297390 (diff)
parent25fa087b38d74942ee94a88391059a820b5d22b4 (diff)
downloadTango-13c3bd2ebedce9e9bd49aced716221533d2d4f46.tar.gz
Tango-13c3bd2ebedce9e9bd49aced716221533d2d4f46.zip
m
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c16
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c11
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c21
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/buttons.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c49
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c10
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c121
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IFS/ifs.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c179
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/StubRealTimeUsage.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c231
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c8
24 files changed, 455 insertions, 259 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index c2e121348..03135c0d5 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -876,7 +876,6 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob)
{
if (HeaterCheckReady()==false)
{
-#warning fit to new head with new alarms
for (Heater_i=HEATER_TYPE__DryerAirHeater;Heater_i<HEATER_TYPE_MAX_HEATERS;Heater_i++)
{
LoadHeaterState((HeaterType)Heater_i,&HeaterState);
@@ -924,10 +923,12 @@ uint32_t AlarmHandling_ControlTrigger(uint32_t IfIndex, uint32_t ReadValue)
{
AlarmHandlingMessageStruc Message;
+ if (AlarmHandlingActive == false)
+ return OK;
//send message to the Millisec task
Message.messageId = AlarmHandlingTrigger;
Message.msglen = sizeof(AlarmHandlingMessageStruc);
- AlarmHandlingTick +=10;
+ AlarmHandlingTick +=100;
Message.tick = AlarmHandlingTick;
if (AlarmHandlingMsgQ != NULL)
Mailbox_post(AlarmHandlingMsgQ , &Message, BIOS_NO_WAIT);
@@ -953,7 +954,7 @@ void AlarmHandlingInternalSetAlarm(uint32_t AlarmId, bool value)
{
int Alarm_i;
if (AlarmItem == NULL)
- return ERROR;
+ return;
for (Alarm_i = 0;Alarm_i < NumOfSystemAlarms;Alarm_i++)
{
if (AlarmItem[Alarm_i].EventType == AlarmId)
@@ -1007,7 +1008,7 @@ uint32_t AlarmHandlingStart(void)
if ( AlarmHandlingActive == false)
{
AlarmHandlingActive = true;
- AlarmHandlingControlId = AddControlCallback("Alarm Handling",AlarmHandling_ControlTrigger,eHundredMillisecond,TemplateDataReadCBFunction,0,0,0);
+ //AlarmHandlingControlId = AddControlCallback("Alarm Handling",AlarmHandling_ControlTrigger,eHundredMillisecond,TemplateDataReadCBFunction,0,0,0);
}
return OK;
}
@@ -1466,7 +1467,9 @@ uint32_t AlarmHandlingLoop(uint32_t tick)
ReportWithPackageFilter(AlarmFilter,"Error in alarms data!!!!!!!!! ", __FILE__,__LINE__,AlarmItem[Alarm_i].EventType, RpFatalError, 0, Alarm_i);
if ((tick%eOneSecond == 0)&&(EventsNotificationRequestAccepted==true))
+ {
SendEventNotifications();
+ }
return OK;
}
/******************************************************************************
@@ -1567,6 +1570,7 @@ void SendEventNotifications(void)
}
Task_restore(Key);
responseContainer = createAllocatedContainer(MESSAGE_TYPE__StartEventsNotificationResponse, AlarmHandlingToken, false, &EventsResponse, &start_events_notification_response__pack, &start_events_notification_response__get_packed_size,&alarm_response_buffer);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.h b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.h
index be7687f28..29be2bd23 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.h
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.h
@@ -13,6 +13,8 @@
uint32_t AlarmHandlingFlashLoad(void);
uint32_t AlarmHandlingLoadFile(void);
+void AlarmHandlingInit(void);
+
uint32_t AlarmHandling_ControlTrigger(uint32_t IfIndex, uint32_t ReadValue);
//uint32_t AlarmHandling_CalculateTemperatures(uint32_t SensorId, uint32_t Data);
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index fdd5feef9..195cc65f3 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -227,11 +227,6 @@ void OneMilliSecondMillisecInterrupt(UArg arg0)
return ;
}
uint32_t PT100Activity = 0;
-int32_t MillisecReadFromI2CTempSensor(uint32_t TempSensorId, MSecFptr Callback)
-{
-#warning call I2C temeratures
- return OK;
-}
int32_t MillisecReadFromTempSensor(uint32_t TempSensorId, MSecFptr Callback)
{
@@ -623,6 +618,10 @@ uint32_t MillisecLowLoop(uint32_t tick)
Trigger_PT100_Read();//call every 50mSec (minimum delay 30mSec)
//Set_HeadCard_PT100();//call every 50mSec (minimum delay 30mSec)
}
+ if(m70msecTick)
+ {
+ AlarmHandling_ControlTrigger(0,0);
+ }
if (m90msecTick)
{
for (Sensor_i = StartPT100;Sensor_i < MAX_HEAD_CARD_TEMP_SENS_ID;Sensor_i++)
@@ -703,7 +702,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
char Lenstr[160];
static int Counter = 0;
MachineUpdateResponseFunc();
- KeepAliveOneSecondCall();
+ //KeepAliveOneSecondCall();
TemperatureListString(Lenstr);
ReportWithPackageFilter(ThreadFilter,Lenstr,__FILE__,__LINE__,(int)Counter++,RpWarning,(int) msec_millisecondCounter,0);
@@ -720,7 +719,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
}
Trigger_WHS_PT100_Read_All();
Trigger_WHS_MAX11614_Read_allADC();
-
+ Trigger_WHSReadAllFanTacho ();
}
if (OneMinute_Tick)
{
@@ -740,8 +739,9 @@ uint32_t MillisecLowLoop(uint32_t tick)
midtankDisplay = 1-midtankDisplay;
Gas_PPM_Info = Calculate_Gas_Power_Consumption();
//Trigger_WHS_MAX11614_Read_allADC();
+#ifdef CONTROL_DEBUG
ResetControlTime();
-
+#endif
}
if (OneHourTick)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index 4d51d91a5..5adf6f83d 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -66,7 +66,7 @@
//#define CONTROL_DEBUG
-#define DURATION_LIMIT 10
+#define DURATION_LIMIT 6
/******************** Definitions ********************************************/
#define MAX_TANGO_CONTROL_DEVICES 100
/******************** STRUCTURES AND ENUMs ********************************************/
@@ -560,10 +560,12 @@ uint32_t ControlLoop(uint32_t tick)
return OK;
}
uint32_t prevtick = 0;
+#ifdef CONTROL_DEBUG
void ResetControlTime(void)
{
memset(ControlTime,0,sizeof(ControlTime));
}
+#endif
uint32_t ControlLowLoop(uint32_t tick)
{
uint32_t skipped_ticks = 0;
@@ -574,7 +576,8 @@ uint32_t ControlLowLoop(uint32_t tick)
if (tick-prevtick>1)
{
skipped_ticks = tick-prevtick-1;
- //Report("ControlLowLoop skipped",__FILE__,tick,(int)prevtick,RpWarning,(int)skipped_ticks,0);
+ if (tick-prevtick>10)
+ Report("ControlLowLoop skipped",__FILE__,tick,(int)prevtick,RpWarning,(int)skipped_ticks,0);
}
prevtick = tick;
@@ -622,7 +625,7 @@ uint32_t ControlLowLoop(uint32_t tick)
sys_ticks_end= msec_millisecondCounter;
if (sys_ticks_end-sys_ticks_start > DURATION_LIMIT)
{
- Report("ControlLowLoop long",__FILE__,sys_ticks_end-sys_ticks_start,(int)sys_ticks_end,RpWarning,(int)sys_ticks_end,0);
+ Report("ControlLowLoop long",__FILE__,sys_ticks_end-sys_ticks_start,(int)sys_ticks_end,RpWarning,(int)sys_ticks_start,0);
for (ControlLowDevice_i = 0; ControlLowDevice_i < MAX_TANGO_CONTROL_DEVICES;ControlLowDevice_i++)
{
if (ControlTime[ControlLowDevice_i]>max)
@@ -631,7 +634,7 @@ uint32_t ControlLowLoop(uint32_t tick)
dev = ControlLowDevice_i;
}
}
- Report(ControlArray[dev].Name,__FILE__,__LINE__,dev,RpWarning,max,0);
+ //Report(ControlArray[dev].Name,__FILE__,__LINE__,dev,RpWarning,max,0);
}
#endif
//ROM_IntMasterEnable();
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c
index 598675f8c..9bb62d2ec 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticActions.c
@@ -31,8 +31,8 @@
#include "drivers/Valves/Valve.h"
#include "drivers/Heater/Heater.h"
#include "modules/waste/waste.h"
-#include <Drivers/I2C_Communication/I2C_Task.h>
-
+#include "Drivers/I2C_Communication/I2C_Task.h"
+#include "Drivers/I2C_Communication/I2C.h"
#include "modules/ids/ids_ex.h"
/********************************************************************************
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index e63314bac..bb8f5d994 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -112,6 +112,7 @@ double midtankinklevel[MAX_SYSTEM_DISPENSERS][1];
double MidTankpressure[MAX_SYSTEM_DISPENSERS][1];
double HeadFlowMeter;
double DrierFlowMeter;
+double AcVoltage;
double HeatersCurrent[NUM_OF_CURRENT_HEATERS][1];
double VOC_Sensor;
double OverallTemperature;
@@ -514,16 +515,34 @@ void DiagnosticOneMinuteCollection(void)
DrierFlowMeter = GetWHSAirFlow(DRIER_FLOW_METER);
DiagnosticsMonitor.n_dryerairflow = 1;
DiagnosticsMonitor.dryerairflow = &DrierFlowMeter;
+
HeadFlowMeter = GetWHSAirFlow(HEAD_FLOW_METER);
DiagnosticsMonitor.n_headairflow = 1;
DiagnosticsMonitor.headairflow = &HeadFlowMeter;
+/* if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines
+ {
+ AcVoltage = ReadVAC();
+ DiagnosticsMonitor.whsblower2voltage = &AcVoltage;
+ DiagnosticsMonitor.n_whsblower2voltage = 1;
+ }
+*/
+
}
void DiagnosticOneSecCollection(void)
{
int i;
+ memset(HeaterCounterIndex,0,sizeof(HeaterCounterIndex));
+
+ if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines
+ {
+ AcVoltage = ReadVAC();
+ DiagnosticsMonitor.whsblower2voltage = &AcVoltage;
+ DiagnosticsMonitor.n_whsblower2voltage = 1;
+ }
+
if (Head_Type == HEAD_TYPE_SYLKO_WITHOUT_CARD)
{
DiagnosticLoadTemperature(HARDWARE_PID_CONTROL_TYPE__MixerHeater, MillisecGetTemperatures( MIXER_PT100));
@@ -625,7 +644,6 @@ void DiagnosticsReset(void)
memset(MotorCounterIndex,0,sizeof(MotorCounterIndex));
memset(DancerErrorCounterIndex,0,sizeof(DancerErrorCounterIndex));
SpeedCounterIndex = 0;
- memset(HeaterCounterIndex,0,sizeof(HeaterCounterIndex));
DiagnosticsIndex = 0;
DiagnosticsMonitor.n_dancer1angle = 0;
DiagnosticsMonitor.n_dancer2angle = 0;
@@ -912,6 +930,7 @@ void SendDiagnostics(void)
// diagnosticsresponseContainer = createContainer(MESSAGE_TYPE__StartDiagnosticsResponse, DiagnosticsToken, false, &response, &start_diagnostics_response__pack, &start_diagnostics_response__get_packed_size);
diagnosticsresponseContainer = createAllocatedContainer(MESSAGE_TYPE__StartDiagnosticsResponse, DiagnosticsToken, false, &response, &start_diagnostics_response__pack, &start_diagnostics_response__get_packed_size,diagnostics_response_ptr);
+ diagnosticsresponseContainer.has_continuous = true;
diagnosticsresponseContainer.continuous = true;
if (diagnosticsresponseContainer.data.data)
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
index c58d54a8c..be8e84f3e 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
@@ -45,6 +45,7 @@ uint32_t MotorHomingRequestCallback(uint32_t deviceID, uint32_t ReadValue)
MotorHomingResponse response = MOTOR_HOMING_RESPONSE__INIT;
responseContainer = createContainer(MESSAGE_TYPE__MotorHomingResponse, HomingToken[deviceID], true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
@@ -141,6 +142,7 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer)
responseContainer.error = ERROR_CODE__INVALID_PROCESS_ID;
responseContainer.errormessage = "Job Active or incorrect motor ID";
responseContainer = createContainer(MESSAGE_TYPE__MotorHomingResponse, requestContainer->token, true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
@@ -186,6 +188,7 @@ uint32_t DispenserHomingRequestCallback(uint32_t deviceID, uint32_t ReadValue)
//MotorSetMicroStep(deviceID, MotorsCfg[deviceID].microstep);
responseContainer = createContainer(MESSAGE_TYPE__DispenserHomingResponse, HomingToken[MotorId], true, &response, &motor_homing_response__pack, &motor_homing_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
@@ -212,6 +215,7 @@ uint32_t DispenserHomingRequestFunc(MessageContainer* requestContainer)
if (speed == 0) speed = 150;
responseContainer = createContainer(MESSAGE_TYPE__DispenserHomingResponse, requestContainer->token, false, &response, &dispenser_homing_response__pack, &dispenser_homing_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index b05cb61e1..ec7650f3d 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -40,6 +40,7 @@
#include "drivers/I2C_Communication/DAC/Blower.h"
#include "drivers/Valves/Valve.h"
#include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h"
+#include "Drivers/I2C_Communication/I2C.h"
#include "drivers/Flash_ram/MCU_E2Prom.h"
#include "StateMachines/Printing/PrintingSTM.h"
@@ -145,13 +146,15 @@ uint32_t HWConfigurationInit(void)
if (buffer)
free (buffer);
+ Trigger_Head_Init_PT100();//OK
//EmbeddedParametersInit();
IDS_Dispenser_Content_Init();
//ProcessParamsInit();
Buttons_Init();
- WHS_init();
if (WHS_Type == WHS_TYPE_NEW)
newWHS_init();
+ WHS_init();
+
ADC_MUX_Init();
GeneralHwReady = true;
diff --git a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
index 157841365..3f557496c 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/MachineStatus.c
@@ -48,10 +48,10 @@ int MachineUpdateResponseFunc(void)
return OK;
StartMachineStatusUpdateResponse response = START_MACHINE_STATUS_UPDATE_RESPONSE__INIT;
- MachineStatus MachineStatus;
+ MachineStatus MachineStatus = MACHINE_STATUS__INIT;
response.status = &MachineStatus;
- machine_status__init(&MachineStatus);
+ //machine_status__init(&MachineStatus);
MachineStatus.has_state = true;
MachineStatus.state = StoredMachineStatus;
MachineStatus.n_idspackslevels = 0;
@@ -83,6 +83,7 @@ int MachineUpdateResponseFunc(void)
responseContainer = /*MachineUpdate*/createContainer(MESSAGE_TYPE__StartMachineStatusUpdateResponse, MachineUpdateToken, false, &response, &start_machine_status_update_response__pack, &start_machine_status_update_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
//if (responseContainer.data.data)
{
@@ -138,6 +139,7 @@ uint32_t StopMachineUpdateFunc(MessageContainer* requestContainer)
//TODO Handle the request!!!!
MachineUpdateStopReporting();
responseContainer = createContainer(MESSAGE_TYPE__StopMachineStatusUpdateResponse, MachineUpdateToken, false, &response, &stop_machine_status_update_response__pack, &stop_machine_status_update_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
diff --git a/Software/Embedded_SW/Embedded/Modules/General/buttons.c b/Software/Embedded_SW/Embedded/Modules/General/buttons.c
index d8c68b345..701bde5e9 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/buttons.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/buttons.c
@@ -211,6 +211,7 @@ uint32_t Buttons_Init(void)
power.state = sttON; //sttOFF, sttON, sttDISABLE, sttENABLE, sttIDLE, sttJOGGING
power.count = 0;
+ Task_sleep(15);
AddControlCallback("ButtonPowerCB", ButtonPowerCBFunction, BUTTONS_SAMPLE_TIME, ButtonPowerCallBackFunction, 0,0,0 ); // eFiftyMillisecond
strcpy(jog.bttn_name, "jog");
@@ -221,6 +222,7 @@ uint32_t Buttons_Init(void)
jog.state = sttENABLE; // sttDISABLE, sttENABLE, sttJOGGING
jog.count = 0;
+ Task_sleep(15);
AddControlCallback("ButtonJogCB", ButtonJogCBFunction, BUTTONS_SAMPLE_TIME, ButtonJogCallBackFunction, 0,0,0 ); //
strcpy(load.bttn_name, "load");
@@ -231,6 +233,7 @@ uint32_t Buttons_Init(void)
load.state = sttRDY; //
load.count = 0;
+ Task_sleep(15);
AddControlCallback("ButtonLoadCB", ButtonLoadCBFunction, BUTTONS_SAMPLE_TIME, ButtonLoadCallBackFunction, 0,0,0 ); //
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index 5bfc46559..ad53149f0 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -63,6 +63,10 @@ void HeatersStopControlOnHeatersOff(ProcessParameters* ProcessParams)
HeatersControlStop();
REPORT_MSG(temp_sum,"Heating control off - temperatures off");
}
+ else
+ {
+ HeatersControlStart();
+ }
}
uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
{
@@ -107,7 +111,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
if (ProcessParams->headzone1temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1, true,ProcessParams->headzone1temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, true,ProcessParams->headzone1temp);
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater1, true,ProcessParams->headzone1temp);
#endif
@@ -115,7 +119,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
else
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1, false,ProcessParams->headzone1temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, false,ProcessParams->headzone1temp);
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater1, false,ProcessParams->headzone1temp);
#endif
@@ -123,7 +127,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
if (ProcessParams->headzone2temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2, true,ProcessParams->headzone2temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ8, true,ProcessParams->headzone2temp);
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, true,ProcessParams->headzone2temp);
#endif
@@ -131,7 +135,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
else
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2, false,ProcessParams->headzone2temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ8, false,ProcessParams->headzone2temp);
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, false,ProcessParams->headzone2temp);
#endif
@@ -139,56 +143,56 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
if (ProcessParams->headzone3temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3, true,ProcessParams->headzone3temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ9, true,ProcessParams->headzone3temp);
#endif
}
else
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3, false,ProcessParams->headzone3temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ9, false,ProcessParams->headzone3temp);
#endif
}
if (ProcessParams->headzone4temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ4, true,ProcessParams->headzone4temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ10, true,ProcessParams->headzone4temp);
#endif
}
else
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ4, false,ProcessParams->headzone4temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ10, false,ProcessParams->headzone4temp);
#endif
}
if (ProcessParams->headzone5temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ5, true,ProcessParams->headzone5temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ11, true,ProcessParams->headzone5temp);
#endif
}
else
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ5, false,ProcessParams->headzone5temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ11, false,ProcessParams->headzone5temp);
#endif
}
if (ProcessParams->headzone6temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ6, true,ProcessParams->headzone6temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ12, true,ProcessParams->headzone6temp);
#endif
}
else
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ6, false,ProcessParams->headzone6temp);
-#ifdef Use_Head_Card
+#ifdef rUse_Head_Card
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ12, false,ProcessParams->headzone6temp);
#endif
}
@@ -196,24 +200,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__DryerAirTemperature, true,ProcessParams->dryerzone1temp);
else
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__DryerAirTemperature, false,ProcessParams->dryerzone1temp);
-/* if (ProcessParams->dryerzone2temp)
- status |= HeaterCommandRequestMessage(
- HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain, true,
- ProcessParams->dryerzone2temp);
- else
- status |= HeaterCommandRequestMessage(
- HARDWARE_PID_CONTROL_TYPE__DryerHeaterMain, false,
- ProcessParams->dryerzone2temp);
- if (ProcessParams->dryerzone3temp)
- status |= HeaterCommandRequestMessage(
- HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary, true,
- ProcessParams->dryerzone3temp);
- else
- status |= HeaterCommandRequestMessage(
- HARDWARE_PID_CONTROL_TYPE__DryerHeaterSecondary, false,
- ProcessParams->dryerzone3temp);
- */
- /* if (ProcessParams->headzone7temp>1)
+ if (ProcessParams->headzone7temp>1)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ7, true,ProcessParams->headzone7temp);
}
@@ -277,7 +264,7 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
{
status |= HeaterCommandRequestMessage(HARDWARE_PID_CONTROL_TYPE__HeadCoverHeater2, false,ProcessParams->stspzone2temp);
}
-*/
+
HeatersStopControlOnHeatersOff(ProcessParams);
dyeingspeed = ProcessParams->dyeingspeed;
dryerbufferlength = ProcessParams->dryerbufferlength;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters.h
index 05425cc45..b1d870919 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters.h
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters.h
@@ -17,6 +17,7 @@ extern int DCTimeSliceAllocation[HEATER_TYPE_MAX_HEATERS];
extern int NumberOFSlicesInUse;
extern uint32_t MillisecondsPerChange;
+void initializeArrays(void);
typedef struct HeaterPIDControlConfigstruc
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
index bcc19bd6f..0c6ee94ee 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
@@ -12,6 +12,7 @@ extern EventType HeaterEventType[HEATER_TYPE_MAX_HEATERS];
extern EventType HeaterUnderEventType[HEATER_TYPE_MAX_HEATERS];
extern EventType HeaterUnderEventType_B[HEATER_TYPE_MAX_HEATERS];
+extern uint32_t stub_heating_limit;
//uint32_t HeaterCommandRequestMessage(MessageContainer* requestContainer);
uint32_t HeaterConfigRequestMessage(HardwarePidControl* request);
uint32_t HeaterConfigSetSharedHeatersParams (uint32_t outputproportionalcycletime, uint32_t outputproportionalsinglestep);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c
index a91919bc4..349d5a5e3 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c
@@ -63,13 +63,12 @@ uint32_t Heaters_Init(void)
int i;
//ROM_TimerDisable(Heater_timerBase, TIMER_A);
- Trigger_Head_Init_PT100();//OK
-
FPGA_SensorInitConfig();
memset(HeaterControl,0,sizeof(HeaterControl));
for (i = 0;i<HEATER_TYPE_MAX_HEATERS; i++)
DeActivateHeater(i);
+ initializeArrays();
BlowerCfg.enabled = true;
BlowerCfg.voltage = 3000;
@@ -187,11 +186,12 @@ uint32_t HeaterConfigSetSharedHeatersParams(uint32_t outputproportionalcycletime
*
* parameters - the cycle time for the coordinated operation, the size (in MCU cycles) of a single step.
*/
+uint32_t stub_heating_limit = 100;
uint32_t HeaterRecalculateSharedHeatersParams(uint32_t deviceId, uint32_t new_outputproportionalpowerlimit)
{
int Slice_i;
int Heater1000Slices,Heater200aSlices /*,Heater200bSlices Currently both 200W heaters will work together*/;
-
+ uint32_t stub_outputproportionalpowerlimit = new_outputproportionalpowerlimit;
if (NumberOFSlicesInUse > MAX_TIMESLICES )
{
@@ -199,8 +199,10 @@ uint32_t HeaterRecalculateSharedHeatersParams(uint32_t deviceId, uint32_t new_ou
return ERROR;//NumberOFSlicesInUse = MAX_TIMESLICES;
}
+ if (stub_outputproportionalpowerlimit > stub_heating_limit)
+ stub_outputproportionalpowerlimit = stub_heating_limit;
// all numbers are rounded down. better to have carefully calculated numbers
- HeaterControl[deviceId].outputproportionalpowerlimit = new_outputproportionalpowerlimit;///100;
+ HeaterControl[deviceId].outputproportionalpowerlimit = stub_outputproportionalpowerlimit;///100;
Heater1000Slices = HeaterControl[HEATER_TYPE__DryerMainHeater].outputproportionalpowerlimit * NumberOFSlicesInUse / 100;
Heater200aSlices = HeaterControl[HEATER_TYPE__DryerSecondaryHeater].outputproportionalpowerlimit * NumberOFSlicesInUse / 100;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 96ce9331d..d84098469 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -93,17 +93,95 @@ uint32_t DisasterControlId = 0xFF;
#define MINIMUM_HEATER_READ 9.0
#define MAXIMUM_HEATER_READ 283
-#ifdef Use_Head_Card
uint32_t HeaterId2PT100Id[HEATER_TYPE_MAX_HEATERS] = {DRYER_AIR_PT100,DRYER_MAIN_PT100,DRYER_SECONDARY_PT100,HEAD_PT100_ZONE_1_0X80_0, HEAD_PT100_ZONE_2_0X80_1, HEAD_PT100_ZONE_3_0X82_0,
HEAD_PT100_ZONE_4_0X82_1, HEAD_PT100_ZONE_5_0X84_0, HEAD_PT100_ZONE_6_0X84_1,HEAD_PT100_MIXER_0X8E_0, HEAD_PT100_ZONE_7_0X86_0, HEAD_PT100_ZONE_8_0X86_1,
HEAD_PT100_ZONE_9_0X88_0, HEAD_PT100_ZONE_10_0X88_1, HEAD_PT100_ZONE_11_0X8A_0, HEAD_PT100_ZONE_12_0X8A_1,HEAD_PT100_AIR_HEATER_2_0X8C_1,HEAD_PT100_AIR_HEATER_1_0X8C_0 };
HEATERS_CURRENT HeaterId2CurrentId[HEATER_TYPE_MAX_HEATERS] = {NUM_OF_CURRENT_HEATERS,HEATER_DRYER_CURRENT_1,HEATER_DRYER_CURRENT_2,HEAD_CURRENT_ZONE_1, HEAD_CURRENT_ZONE_2,
HEAD_CURRENT_ZONE_3, HEAD_CURRENT_ZONE_4, HEAD_CURRENT_ZONE_5, HEAD_CURRENT_ZONE_6, HEAD_CURRENT_MIXER, HEAD_CURRENT_ZONE_7,
HEAD_CURRENT_ZONE_8, HEAD_CURRENT_ZONE_9, HEAD_CURRENT_ZONE_10, HEAD_CURRENT_ZONE_11, HEAD_CURRENT_ZONE_12,HEAD_CURRENT_HTIN_1,HEAD_CURRENT_HTOT_1};
-#else
-uint32_t HeaterId2PT100Id[HEATER_TYPE_MAX_HEATERS] = {DRYER_AIR_PT100,DRYER_MAIN_PT100,DRYER_SECONDARY_PT100,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP4,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,HEAD6_PT100,MIXER_PT100,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
-HEATERS_CURRENT HeaterId2CurrentId[HEATER_TYPE_MAX_HEATERS] = {NUM_OF_CURRENT_HEATERS,HEATER_DRYER_CURRENT_1,HEATER_DRYER_CURRENT_2,HEATER_HEAD_CURRENT_ZONE_1,HEATER_HEAD_CURRENT_ZONE_2,HEATER_HEAD_CURRENT_ZONE_3,HEATER_HEAD_CURRENT_ZONE_4,HEATER_HEAD_CURRENT_ZONE_5_6,HEATER_HEAD_CURRENT_ZONE_5_6,HEATER_MIXCHIP_CURRENT};
-#endif
+void initializeArrays(void)
+{
+ int i;
+ for (i=0;i<HEATER_TYPE_MAX_HEATERS;i++)
+ {
+ HeaterId2PT100Id[i] = 0xFF;
+ HeaterId2CurrentId[i] = NUM_OF_CURRENT_HEATERS;
+ }
+ if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ HeaterId2PT100Id[HEATER_TYPE__DryerAirHeater] = DRYER_AIR_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__DryerMainHeater] = DRYER_MAIN_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__DryerSecondaryHeater] = DRYER_SECONDARY_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone1] = HEAD_PT100_ZONE_1_0X80_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone2] = HEAD_PT100_ZONE_2_0X80_1;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone3] = HEAD_PT100_ZONE_3_0X82_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone4] = HEAD_PT100_ZONE_4_0X82_1;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone5] = HEAD_PT100_ZONE_5_0X84_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone6] = HEAD_PT100_ZONE_6_0X84_1;
+ HeaterId2PT100Id[HEATER_TYPE__MixerHeater] = HEAD_PT100_MIXER_0X8E_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone7] = HEAD_PT100_ZONE_7_0X86_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone8] = HEAD_PT100_ZONE_8_0X86_1;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone9] = HEAD_PT100_ZONE_9_0X88_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone10] = HEAD_PT100_ZONE_10_0X88_1;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone11] = HEAD_PT100_ZONE_11_0X8A_0;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone12] = HEAD_PT100_ZONE_12_0X8A_1;
+ HeaterId2PT100Id[HEATER_TYPE__HeadCoverHeater1] = HEAD_PT100_AIR_HEATER_2_0X8C_1;
+ HeaterId2PT100Id[HEATER_TYPE__HeadCoverHeater2] = HEAD_PT100_AIR_HEATER_1_0X8C_0 ;
+
+ HeaterId2CurrentId[HEATER_TYPE__DryerAirHeater] = NUM_OF_CURRENT_HEATERS;
+ HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater] = HEATER_DRYER_CURRENT_1;
+ HeaterId2CurrentId[HEATER_TYPE__DryerSecondaryHeater] = HEATER_DRYER_CURRENT_2;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone1] = HEAD_CURRENT_ZONE_1;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone2] = HEAD_CURRENT_ZONE_2;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone3] = HEAD_CURRENT_ZONE_3;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone4] = HEAD_CURRENT_ZONE_4;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone5] = HEAD_CURRENT_ZONE_5;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone6] = HEAD_CURRENT_ZONE_6;
+ HeaterId2CurrentId[HEATER_TYPE__MixerHeater] = HEAD_CURRENT_MIXER;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone7] = HEAD_CURRENT_ZONE_7;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone8] = HEAD_CURRENT_ZONE_8;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone9] = HEAD_CURRENT_ZONE_9;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone10] = HEAD_CURRENT_ZONE_10;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone11] = HEAD_CURRENT_ZONE_11;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone12] = HEAD_CURRENT_ZONE_12;
+ HeaterId2CurrentId[HEATER_TYPE__HeadCoverHeater1] = HEAD_CURRENT_HTIN_1;
+ HeaterId2CurrentId[HEATER_TYPE__HeadCoverHeater2] = HEAD_CURRENT_HTOT_1;
+
+ }
+ else
+ {
+ HeaterId2PT100Id[HEATER_TYPE__DryerAirHeater] = DRYER_AIR_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__DryerMainHeater] = DRYER_MAIN_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__DryerSecondaryHeater] = DRYER_SECONDARY_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone1] = TEMP_SENSE_ANALOG_DYEINGH_TEMP1;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone2] = TEMP_SENSE_ANALOG_DYEINGH_TEMP2;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone3] = TEMP_SENSE_ANALOG_DYEINGH_TEMP3;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone4] = TEMP_SENSE_ANALOG_DYEINGH_TEMP4;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone5] = TEMP_SENSE_ANALOG_DYEINGH_TEMP5;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone6] = HEAD6_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__MixerHeater] = MIXER_PT100;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone7] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone8] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone9] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone10] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone11] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeaterZone12] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeadCoverHeater1] = 0xFF;
+ HeaterId2PT100Id[HEATER_TYPE__HeadCoverHeater2] = 0xFF;
+
+ HeaterId2CurrentId[HEATER_TYPE__DryerAirHeater] = NUM_OF_CURRENT_HEATERS;
+ HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater] = HEATER_DRYER_CURRENT_1;
+ HeaterId2CurrentId[HEATER_TYPE__DryerSecondaryHeater] = HEATER_DRYER_CURRENT_2;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone1] = HEATER_HEAD_CURRENT_ZONE_1;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone2] = HEATER_HEAD_CURRENT_ZONE_2;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone3] = HEATER_HEAD_CURRENT_ZONE_3;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone4] = HEATER_HEAD_CURRENT_ZONE_4;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone5] = HEATER_HEAD_CURRENT_ZONE_5_6;
+ HeaterId2CurrentId[HEATER_TYPE__HeaterZone6] = HEATER_HEAD_CURRENT_ZONE_5_6;
+ HeaterId2CurrentId[HEATER_TYPE__MixerHeater] = HEATER_MIXCHIP_CURRENT;
+
+ }
+}
uint32_t DryerInternalPT100Id = DRYER_AIR_PT100;
bool HeatersRestart = false;
@@ -391,8 +469,8 @@ uint32_t HeatersSingleHeaterEnd(int HeaterId)
}
DeActivateHeater(HEATER_TYPE__DryerMainHeater);
DeActivateHeater(HEATER_TYPE__DryerSecondaryHeater);
- Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater]);
- Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerSecondaryHeater]);
+ //Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater]);
+ //Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerSecondaryHeater]);
HeaterPIDConfig[HeaterId].m_SetParam = 0;
HeaterCmd[HeaterId].targettemperatue = 0;
HeaterReady[HeaterId] = true;
@@ -807,7 +885,7 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
if (abs(readValue - HeaterPreviousRead[index])>2000)
{
ReportWithPackageFilter(HeatersFilter,"Temperature Spike",__FILE__,index,HeaterPreviousRead[index],RpWarning,readValue, index);
- if (HeaterSpikeRead[index] = 0)
+ if (HeaterSpikeRead[index] == 0)
{
HeaterSpikeRead[index] = readValue;
}
@@ -993,7 +1071,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
ReportWithPackageFilter(HeatersFilter,"AC Temperature Spike",__FILE__,index,HeaterPreviousRead[index],RpWarning,readValue, index);
if (readValue > HeaterCmd[index].targettemperatue)
{
- if (HeaterSpikeRead[index] = 0)
+ if (HeaterSpikeRead[index] == 0)
{
HeaterSpikeRead[index] = readValue;
}
@@ -1089,8 +1167,8 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
Control_Voltage_To_Blower(BlowerCfg.voltage);
}
HeaterReady[index] = true;
- Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater]);
- Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerSecondaryHeater]);
+ //Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerMainHeater]);
+ //Disable_Reading_Heaters_Current(HeaterId2CurrentId[HEATER_TYPE__DryerSecondaryHeater]);
}
return OK;
@@ -1200,7 +1278,7 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
{
DeActivateHeater(index);
HeaterRecalculateHeaterParams(index, 0);
- if (HeaterSpikeRead[index] = 0)
+ if (HeaterSpikeRead[index] == 0)
{
HeaterSpikeRead[index] = readValue;
}
@@ -1395,6 +1473,23 @@ uint32_t HeatersDisasterControl(uint32_t x,uint32_t y)
}
return OK;
}
+bool UseSecondaryDrierHeater = true;
+uint32_t DrierHeaterVlotageSetup(double voltage)
+{
+ uint32_t status = OK;
+ double DrierAcVoltage = 0.0;
+ if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines
+ {
+ DrierAcVoltage = ReadVAC();
+ //if ()
+
+ }
+ else
+ {
+ UseSecondaryDrierHeater = true;
+ }
+
+}
uint32_t HeatersControlLoop(uint32_t tick)
{
//char str[100];
@@ -1422,7 +1517,7 @@ uint32_t HeatersControlLoop(uint32_t tick)
if (AcHeaterDisaster == false)
{
- if (HeaterReady[HEATER_TYPE__DryerAirHeater] == true)
+ //if (HeaterReady[HEATER_TYPE__DryerAirHeater] == true)
{
if (TimeSliceAllocation[SliceCounter] == HEATER_TYPE__DryerMainHeater)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
index ad0f29392..e1be0358b 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
@@ -275,9 +275,9 @@ uint32_t IDS_HomeDispenser (uint32_t DispenserId, uint32_t speed , callback_fptr
IDS_Dispenser_RefillStarted(DispenserId,1);
if (DispenserId== LUBRICANT_DISPENSER)
{
- MotorMovetoLimitSwitch (MotorId,1-MotorsCfg[MotorId].directionthreadwize, speed/2, Dispenser_Id_to_LS_Id[DispenserId], IDS_HomeDispenserCallback,0);
- CurrentDispenserSpeed[DispenserId] = speed/2;
- Report("IDS_HomeDispenser ",__FILE__,__LINE__,(int)DispenserId,RpWarning,speed/2,0);
+ MotorMovetoLimitSwitch (MotorId,1-MotorsCfg[MotorId].directionthreadwize, speed/4, Dispenser_Id_to_LS_Id[DispenserId], IDS_HomeDispenserCallback,0);
+ CurrentDispenserSpeed[DispenserId] = speed/4;
+ Report("IDS_HomeDispenser ",__FILE__,__LINE__,(int)DispenserId,RpWarning,speed/4,0);
}
else
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
index 7f99a2a92..a98cc173e 100644
--- a/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
+++ b/Software/Embedded_SW/Embedded/Modules/IFS/ifs.c
@@ -317,19 +317,19 @@ bool CartridgeValidationResponseFunc(MessageContainer* requestContainer)
// 2. the index is out of rang
if (response == NULL)
{
- REPORT_MSG(WHS_filling," ------------ IFS_filling message from PPC is null!!! ----------------- "); // write to log error
+ ReportWithPackageFilter(WHS_filling,"------------ IFS_filling message from PPC is null!!! -----------------", __FILE__,__LINE__,0, RpMessage, 0, 0);
return ret;
}
if (response->index < NUM_OF_MIDTANKS)
{
IFS_info.Ink.cart_color = response->index; // midtank 1-8
- ReportWithPackageFilter(WasteFilter,"------------ IFS get message response->index is -----------------", __FILE__, __LINE__, response->index, RpMessage, 0, 0);
+ ReportWithPackageFilter(WHS_filling,"------------ IFS get message response->index is -----------------", __FILE__, __LINE__, response->index, RpMessage, 0, 0);
WHS_info.event = IFS_INK_authentication_pass;
}
else
{
- ReportWithPackageFilter(WasteFilter,"------------ IFS get message response->index is out of rang -----------------", __FILE__, __LINE__, response->index, RpMessage, 0, 0);
+ ReportWithPackageFilter(WHS_filling,"------------ IFS get message response->index is out of rang -----------------", __FILE__, __LINE__, response->index, RpMessage, 0, 0);
WHS_info.event = IFS_INK_authentication_fail;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index e6e5923c0..c22ed4cde 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -27,6 +27,7 @@
#include "Modules/IDS/ids_ex.h"
#include "Modules/Control/MillisecTask.h"
#include "modules/thread/thread_ex.h"
+#include "modules/heaters/heaters_ex.h"
#include <Drivers/I2C_Communication/I2C.h>
#include <Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.h>
#include <Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.h>
@@ -39,6 +40,8 @@
#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h>
#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h>
+#include "Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.h"
+
extern float NumberOfRotationPerPassage; // how many rotations per spool passage
//#include "graphics_adapter.h"
@@ -158,7 +161,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
else //
if(request->amount == 0x3EB)
{
- uint16_t tempu16=0;
+ uint16_t tempu16 = 0;
if (WHS_Type == WHS_TYPE_NEW)
{
if (request->delay <= 0x03FF)
@@ -216,25 +219,134 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
}
else
- if(request->amount == 0x0EAD) //Head Card I/O
- {
- uint8_t Write_Buf[2] = {0,0};
- uint8_t Script_Slave_Add = request -> delay >> 16;
- Write_Buf[0] = request -> delay >> 8;
- Write_Buf[1] = request -> delay & 0x0000FF;
+ if(request->amount == 0x0EAD) //Head Card I/O
+ {
+ uint8_t Read_Buf[1] = {0};
+ uint8_t Write_Buf[2] = {0,0};
+ uint8_t Script_Slave_Add = request -> delay >> 16;//Slave address 0x40 / 0x42 / 0x44 / 0x46
+ Write_Buf[0] = (request -> delay & 0x00FF00) >> 8;//read/write low/high
+ /*
+ ------------------
+ | Byte | WR | RD |
+ ------------------
+ | Low | 02 | 00 |
+ | High | 03 | 01 |
+ ------------------
+ */
+ Write_Buf[1] = request -> delay & 0x0000FF;//data to write
- Select_Main_Head_Mux_Channel();
- I2C_Write(I2C_ID_HEAD_CARD, Script_Slave_Add, Write_Buf, 2);
+ response.has_progress = false;
- delayms(1);
+ Select_Main_Head_Mux_Channel();
- uint8_t Read_Buf[2] = {0,0};
- I2C_Read(I2C_ID_HEAD_CARD, Script_Slave_Add + 1, Read_Buf, 2);
- response.progress = Read_Buf[1] << 8 | Read_Buf[0];
- response.has_progress = true;
+ if(Write_Buf[0] == 0)//Read
+ {
+ Head_Read_IO_Reg(Script_Slave_Add, LOW);
- }
- else
+ delayms(1);
+ if(Script_Slave_Add == 0x40)
+ {
+ Read_Buf[0] = Head_I2C_EXP1_0x40.uchar[0];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ else
+ if(Script_Slave_Add == 0x42)
+ {
+ Read_Buf[0] = Head_I2C_EXP2_0x42.uchar[0];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ else
+ if(Script_Slave_Add == 0x44)
+ {
+ Read_Buf[0] = Head_I2C_EXP3_0x44.uchar[0];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ else
+ if(Script_Slave_Add == 0x46)
+ {
+ Read_Buf[0] = Head_I2C_EXP4_0x46.uchar[0];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ }
+ else
+
+ if(Write_Buf[0] == 1)//Read
+ {
+ Head_Read_IO_Reg(Script_Slave_Add, HIGH);
+
+ delayms(1);
+ if(Script_Slave_Add == 0x40)
+ {
+ Read_Buf[0] = Head_I2C_EXP1_0x40.uchar[1];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ else
+ if(Script_Slave_Add == 0x42)
+ {
+ Read_Buf[0] = Head_I2C_EXP2_0x42.uchar[1];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ else
+ if(Script_Slave_Add == 0x44)
+ {
+ Read_Buf[0] = Head_I2C_EXP3_0x44.uchar[1];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ else
+ if(Script_Slave_Add == 0x46)
+ {
+ Read_Buf[0] = Head_I2C_EXP4_0x46.uchar[1];
+ response.progress = Read_Buf[0];
+ response.has_progress = true;
+ }
+ }
+ else
+ if(Write_Buf[0] == 2)//write
+ {
+ if(Script_Slave_Add == 0x40)
+ {
+ Head_I2C_EXP1_0x40.uchar[0] = Write_Buf[1];
+ }
+ else
+ if(Script_Slave_Add == 0x42)
+ {
+ Head_I2C_EXP2_0x42.uchar[0] = Write_Buf[1];
+ }
+ else
+ if(Script_Slave_Add == 0x46)
+ {
+ Head_I2C_EXP4_0x46.uchar[0] = (Write_Buf[1] & 0x80);
+ }
+
+ Head_Write_IO_Reg(Script_Slave_Add, LOW);
+ }
+ if(Write_Buf[0] == 3)//write
+ {
+ if(Script_Slave_Add == 0x40)
+ {
+ Head_I2C_EXP1_0x40.uchar[1] = Write_Buf[1];
+ }
+ else
+ if(Script_Slave_Add == 0x42)
+ {
+ Head_I2C_EXP2_0x42.uchar[1] = Write_Buf[1];
+ }
+ else
+ if(Script_Slave_Add == 0x46)
+ {
+ Head_I2C_EXP3_0x44.uchar[1] = (Write_Buf[1] & 0x0C);
+ }
+ Head_Write_IO_Reg(Script_Slave_Add, HIGH);
+ }
+ }
+ else
if(request->amount == 0xFEAD) //functions Head Card I/O
{
Select_Main_Head_Mux_Channel();
@@ -266,7 +378,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
//Test_Head_fan_Click();
Head_Fan_PWM_Control(0, request->delay & 0xFF);
-
+ Task_sleep(1000);
//response.progress = Fan_Click_Info.Product_ID;
response.progress = Head_Fan_Tach[0];
@@ -277,7 +389,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if((request->amount == 0xFAC1) /*&& (request->delay == 0xFAC)*/) //Head Fan control
{
Head_Fan_PWM_Control(1, request->delay & 0xFF);
-
+ Task_sleep(1000);
response.progress = Head_Fan_Tach[1];
response.has_progress = true;
}
@@ -285,10 +397,12 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if ((request->amount & 0x0000FFF0) == 0xFAC0) //WHS Fan control
{
uint16_t fan_tacho = 0;
+
if (WHS_Type == WHS_TYPE_NEW)
{
Trigger_SetWHSFanSpeed(((request->amount & 0x0000000F)-1) , request->delay & 0x000000FF);
- //getWHSFanTacho(((request->amount & 0x0000000F)-1), &fan_tacho);
+ Task_sleep(1000);
+ fan_tacho = WHS_Get_fan_tach( (request->amount & 0x0000000F)-1);
}
response.progress = fan_tacho;
response.has_progress = true;
@@ -420,21 +534,32 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if(request->amount == 0xB3) //fast refresh for pressure
{
LOG_ERROR(request->amount,"keep alive test");
- //keepalivetest = true;
response.progress = keepalivetest;
response.has_progress = true;
}
else
- if(request->amount == 0xB4) //fast refresh for pressure
- {
- LOG_ERROR(request->amount,"IDS_Dispenser_Content_Init");
- IDS_Dispenser_Content_Init();
- //keepalivetest = true;
- response.progress = keepalivetest;
- response.has_progress = true;
+ if(request->amount == 0xB4) //fast refresh for pressure
+ {
+ LOG_ERROR(request->amount,"IDS_Dispenser_Content_Init");
+ IDS_Dispenser_Content_Init();
+ response.progress = keepalivetest;
+ response.has_progress = true;
+ }
+ else
+ if(request->amount == 0xB5) //fast refresh for pressure
+ {
+ if (request->delay<=100)
+ {
+ LOG_ERROR(request->delay,"set stub_heating_limit");
+ stub_heating_limit = request->delay;
}
+ response.progress = request->delay;
+ response.has_progress = true;
+
+ }
+
else
if((request->amount == 0xDF) && (request->delay == 0xDF)) //Power off
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/StubRealTimeUsage.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/StubRealTimeUsage.c
index 2091b3bc5..765e183cb 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/StubRealTimeUsage.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/StubRealTimeUsage.c
@@ -46,7 +46,7 @@ void Stub_RealTimeUsageRequest(MessageContainer* requestContainer)
StubRealTimeUsageResponse response = STUB_REAL_TIME_USAGE_RESPONSE__INIT;
- response.n_percentile = 100;
+ response.n_percentile = 101;
response.percentile = my_malloc(sizeof(response.percentile)*response.n_percentile);
if (response.percentile)
IdleTaskGetLoadTable(response.percentile);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index a629afc50..2a83f8425 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -31,7 +31,7 @@
#include "drivers/SSI_Comm/Dancer/Dancer.h"
#include "drivers/motors/motor.h"
#include "drivers/Flash_ram/MCU_E2Prom.h"
-
+#include "Drivers/I2C_Communication/I2C.h"
#include "PMR/Stubs/StubHeatingTestRequest.pb-c.h"
#include "PMR/Stubs/StubHeatingTestResponse.pb-c.h"
#include "PMR/Stubs/StubHeatingTestPollRequest.pb-c.h"
@@ -1356,6 +1356,7 @@ uint32_t ThreadLoadingReport(void)
//-------------------------------------------------------------------------------------------
responseContainer = createContainer(MESSAGE_TYPE__StartThreadLoadingResponse, ThreadLoadingToken, last, &response, &start_thread_loading_response__pack, &start_thread_loading_response__get_packed_size);
+ responseContainer.has_continuous = true;
responseContainer.continuous = true;
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
index fb3b78752..ec705c2d2 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
@@ -73,14 +73,15 @@ uint32_t MotorsConfigMessage(HardwareConfiguration * HWrequest)
MotorsCfg[Motor_i].pulseperround = request->pulseperround;
MotorsCfg[Motor_i].pulleyradius = request->pulleyradius;
MotorsCfg[Motor_i].configword = request->configword;
- if(MotorDriverResponse[Motor_i].DriverType == CombinrdMotDriver)
+ MotorsCfg[Motor_i].directionthreadwize = request->directionthreadwize;//L6470 + L6472
+/* if(MotorDriverResponse[Motor_i].DriverType != CombinrdMotDriver)
{
MotorsCfg[Motor_i].directionthreadwize = request->directionthreadwize ^ 1;//PowerSTEP01
}
else
{
MotorsCfg[Motor_i].directionthreadwize = request->directionthreadwize;//L6470 + L6472
- }
+ }*/
MotorsCfg[Motor_i].kvalhold = request->kvalhold;
MotorsCfg[Motor_i].kvalrun = request->kvalrun;
MotorsCfg[Motor_i].kvalacc = request->kvalacc;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 59b5642fb..fd53d6da2 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -910,7 +910,7 @@ uint32_t ThreadInitialTestStub(HardwareMotor * request)
void SetOriginMotorSpeed(float process_speed)
{
- int i,Motor_i, HW_Motor_Id;
+ int Motor_i, HW_Motor_Id;
for (Motor_i = 0; Motor_i <= WINDER_MOTOR; Motor_i++)
{
HW_Motor_Id = ThreadMotorIdToMotorId[Motor_i];
@@ -1108,7 +1108,7 @@ char Endstr[150];
{
int Motor_i;
ThreadControlActive = false;
- uint32_t status = OK,tempCtl;
+ uint32_t status = OK;
usnprintf(Endstr, 100, "Total _processed length: Feeder: %d Pooler %d",(int)TotalProcessedLength,(int)PoolerTotalProcessedLength);
SendJobProgress(0.0,0,false, Endstr);
ReportWithPackageFilter(ThreadFilter,Endstr,__FILE__,__LINE__,(int)TotalProcessedLength,RpWarning,(int)PoolerTotalProcessedLength,0);
@@ -1122,7 +1122,7 @@ char Endstr[150];
if (SpeedControlId != 0xFF)
{
if(RemoveControlCallback(SpeedControlId,ThreadLengthCBFunction)!=OK)
- ReportWithPackageFilter(ThreadFilter,"Remove Control Failed.",__FILE__,__LINE__,(int)Motor_i,RpError,(int)SpeedControlId,0);
+ ReportWithPackageFilter(ThreadFilter,"Remove Control Failed.",__FILE__,__LINE__,(int)ThreadLengthCBFunction,RpError,(int)SpeedControlId,0);
SpeedControlId = 0xFF;
}
if (PoolerSpeedControlId != 0xFF)
@@ -1134,7 +1134,6 @@ char Endstr[150];
for ( Motor_i = 0;Motor_i <= WINDER_MOTOR;Motor_i++)
{
- tempCtl = ControlIdtoMotorId[Motor_i];
if (ControlIdtoMotorId[Motor_i] != 0xFF)
{
status = RemoveControlCallback(ControlIdtoMotorId[Motor_i],ThreadControlCBFunction);
@@ -1143,7 +1142,6 @@ char Endstr[150];
else
ReportWithPackageFilter(ThreadFilter,"Remove Control Failed.",__FILE__,__LINE__,(int)Motor_i,RpError,(int)ControlIdtoMotorId[Motor_i],0);
}
- //ReportWithPackageFilter(ThreadFilter,"Remove Control",__FILE__,Motor_i,(int)status,RpError,(int)tempCtl,0);
}
Task_sleep(100);
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
index 5fcab9c13..c8101c031 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/Waste_init.c
@@ -328,23 +328,30 @@ bool SetWastePump( bool power)
if ( power == OPEN )
{
if (WHS_Type == WHS_TYPE_UNKNOWN)
- Pumps_Control(WHS_WTANKPUMP2, OPEN); //waste_pump_power_on();
- else //new WHS
- Trigger_SetWHSPump(OPEN);
-
- REPORT_MSG(WHS_empty," ------------ WHS WHS_empty start PUMP ----------------- ");
+ {
+ Pumps_Control(WHS_WTANKPUMP2, OPEN); //waste_pump_power_on();
+ }
+ else //new WHS
+ {
+ Trigger_SetWHSPump(OPEN);
+ }
WHS_info.WHS_pump.status = OPEN;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS_empty start PUMP -----------------", __FILE__, __LINE__, WHS_info.WHS_pump.status, RpMessage, 0, 0);
WHS_info.WHS_pump.time = STARTCOUNT;
ret = OPEN;
}
else
{
if (WHS_Type == WHS_TYPE_UNKNOWN)
- Pumps_Control(WHS_WTANKPUMP2, CLOSE); //waste_pump_power_on();
- else //new WHS
- Trigger_SetWHSPump(CLOSE);
- REPORT_MSG(WHS_empty," ------------ WHS WHS_empty stop PUMP ----------------- ");
- WHS_info.WHS_pump.status = CLOSE;
+ {
+ Pumps_Control(WHS_WTANKPUMP2, CLOSE); //waste_pump_power_on();
+ }
+ else //new WHS
+ {
+ Trigger_SetWHSPump(CLOSE);
+ }
+ WHS_info.WHS_pump.status = CLOSE;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS_empty stop PUMP -----------------", __FILE__, __LINE__, WHS_info.WHS_pump.status, RpMessage, 0, 0);
WHS_info.WHS_pump.time = STOPCOUNT;
ret = CLOSE;
}
@@ -366,12 +373,14 @@ bool SetValveDirection()
if (WHS_info.active_cartridge == waste_cartridge1)
{
WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE1;
- }
+ ReportWithPackageFilter(WasteFilter,"------------WHS_info.WHS_valve VALVE_DIR_WASTE_CARTRIDGE1 -----------------", __FILE__, __LINE__, WHS_info.WHS_valve, RpMessage, 0 ,0);
+}
else
{
WHS_info.WHS_valve = VALVE_DIR_WASTE_CARTRIDGE2;
+ ReportWithPackageFilter(WasteFilter,"------------WHS_info.WHS_valve VALVE_DIR_WASTE_CARTRIDGE2 -----------------", __FILE__, __LINE__, WHS_info.WHS_valve, RpMessage, 0 ,0);
}
- ReportWithPackageFilter(WasteFilter,"------------WHS_info.WHS_valve -----------------", __FILE__,__LINE__,WHS_info.WHS_valve, RpMessage, 0 ,0);
+
if (WHS_Type == WHS_TYPE_UNKNOWN)
Valve_Set(VALVE_WASTE_TANK, WHS_info.WHS_valve);
@@ -396,7 +405,6 @@ U8 CartridgeWasteFilling(bool status)
//Pannel_Leds(PANEL_BUTTON_OR_CRAT_ID Pannel_Led_Id, OPERATION_MODE LED_Mode); //set cartridge led color slow blink
SetWastePump(OPEN);
//WHS_info.WHS_pump.time = 0;
- REPORT_MSG(WHS_empty," ------------ WHS WHS_empty start PUMP ----------------- ");
AlarmHandlingSetAlarm( EVENT_TYPE__NO_WASTE_CARTRIDGE_AVAILABLE, false);
ret=OK;
}
@@ -416,16 +424,16 @@ U8 CartridgeWasteFilling(bool status)
case waste_cartridge1:
Pannel_Leds( CART_2, MODE_OFF); //set led color
cart2.color = colorOFF;
- REPORT_MSG(WHS_empty," ------------ WHS waste_cartridge1 is used please replace it ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS waste_cartridge1 is used please replace it -----------------", __FILE__, __LINE__, 0, RpMessage, 0, 0);
break;
case waste_cartridge2:
Pannel_Leds( CART_3, MODE_OFF); //set led color
cart3.color = colorOFF;
- REPORT_MSG(WHS_empty," ------------ WHS waste_cartridge2 is used please replace it ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS waste_cartridge2 is used please replace it -----------------", __FILE__, __LINE__, 0, RpMessage, 0, 0);
break;
case no_waste_cartridge:
- REPORT_MSG(WHS_empty," ------------ !!!!!WHS No waste cartridge !!!!! ----------------- ");
- REPORT_MSG(WHS_empty," ------------ !!!! WHS insert cartridge!!!! ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ !!!!!WHS No waste cartridge !!!!! -----------------", __FILE__, __LINE__, 0, RpMessage, 0, 0);
+ ReportWithPackageFilter(WasteFilter,"------------ !!!! WHS insert cartridge!!!! -----------------", __FILE__, __LINE__, 0, RpMessage, 0, 0);
ret = ERROR;
break;
default:
@@ -479,40 +487,20 @@ WHS_sttMachin UpdateStateMachine()
if ( WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORnotFULL)
{
WHS_info.sttMachine = WHS_empty ;
- REPORT_MSG(WHS_empty," ------------ WHS WHS_empty ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS_empty -----------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_tank_full_sensor, RpMessage, WHS_info.WHS_sensors.waste_tank_empty_sensor, 0);
}
- else if ((WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL) &&
- (WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSORnotEMPTY))
+ else if ((WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL) &&
+ (WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSORnotEMPTY))
{
WHS_info.sttMachine = WHS_full ;
- REPORT_MSG(WHS_full," ------------ WHS WHS_full ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS_full -----------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_tank_full_sensor, RpMessage, WHS_info.WHS_sensors.waste_tank_empty_sensor, 0);
}
else
{
WHS_info.sttMachine = WHS_sttError ;
- REPORT_MSG(WHS_sttError," ------------ WHS sensor Error ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS sensor Error -----------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_tank_full_sensor, RpMessage, WHS_info.WHS_sensors.waste_tank_empty_sensor, 0);
}
-
-/* if (//(WHS_info.WHS_sensors.waste_tank_over_flow_sensor == SENSORnotOVERFLOW) &&
- ( WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORnotFULL) &&
- ((WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSORnotEMPTY) ||
- (WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSOREMPTY)))
- WHS_info.sttMachine = WHS_empty ;
- else if (//(WHS_info.WHS_sensors.waste_tank_over_flow_sensor == SENSORnotOVERFLOW) &&
- (WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL) &&
- (WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSORnotEMPTY))
- WHS_info.sttMachine = WHS_full ;
- else if (//(WHS_info.WHS_sensors.waste_tank_over_flow_sensor == SENSOROVERFLOW) &&
- (WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL) &&
- (WHS_info.WHS_sensors.waste_tank_empty_sensor == SENSORnotEMPTY))
- WHS_info.sttMachine = WHS_overflow ;
- else
- {
- WHS_info.sttMachine = WHS_sttError ;
- REPORT_MSG(WHS_sttError," ------------ WHS sensor Error ----------------- ");
- }
-*/
- return OK;
+ return WHS_info.sttMachine;
}
@@ -520,26 +508,13 @@ bool initWHS_WasteTank()
{
WHS_info.WHS_sensors.waste_tank_empty_sensor = RdWasteTankEmptySensor();
WHS_info.WHS_sensors.waste_tank_full_sensor = SENSORnotFULL;
+ Task_sleep(15);
UpdateStateMachine();
AddControlCallback("Waste tank",WasteTankCBFunction, WasteTankCallBackTime , WasteTankCallBackFunction, 0,0,0);//eOneMinute
return OK;
}
-/*
-WHS_sensor OverflowSensorEvent()
-{
- WHS_sensor ret = WHS_no_event;
- if (RdWasteTankOverFlowSensor() != WHS_info.WHS_sensors.waste_tank_over_flow_sensor)
- {
- WHS_info.event = WHS_overflow_sensor;
- ret = WHS_overflow_sensor;
- WHS_info.WHS_sensors.waste_tank_over_flow_sensor = !(WHS_info.WHS_sensors.waste_tank_over_flow_sensor);
- }
- return ret;
-}
-*/
-
WHS_sensor EmptySensorEvent()
{
WHS_sensor ret = WHS_no_event;
@@ -548,6 +523,7 @@ WHS_sensor EmptySensorEvent()
WHS_info.event = WHS_empty_sensor;
ret = WHS_empty_sensor;
WHS_info.WHS_sensors.waste_tank_empty_sensor = !WHS_info.WHS_sensors.waste_tank_empty_sensor;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS EmptySensorEvent (status) -----------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_tank_full_sensor, RpMessage, WHS_info.WHS_sensors.waste_tank_empty_sensor, 0);
}
return ret;
}
@@ -560,6 +536,7 @@ WHS_sensor FullSensorEvent()
WHS_info.event = WHS_full_sensor;
ret = WHS_full_sensor;
WHS_info.WHS_sensors.waste_tank_full_sensor = 1-WHS_info.WHS_sensors.waste_tank_full_sensor;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS FullSensorEvent (status) -----------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_tank_full_sensor, RpMessage, WHS_info.WHS_sensors.waste_tank_empty_sensor, 0);
}
return ret;
}
@@ -578,6 +555,7 @@ WHS_sensor WasteTankCallBackFunction()
{
WHS_info.WHS_pump.time = 0;
AlarmHandlingSetAlarm( EVENT_TYPE__WASTE_CONTAINER_EMPTYING_TIMEOUT, false);
+ ReportWithPackageFilter(WasteFilter,"------------ WHS PUMPTIMEOUT -----------------", __FILE__, __LINE__, PUMPTIMEOUT, RpMessage, 0, 0);
return WHS_info.event = WHS_Timeout;
}
if ( FullSensorEvent())
@@ -595,7 +573,6 @@ WHS_sensor WasteTankCallBackFunction()
bool WasteTankCBFunction()
{
- uint8_t parameter = 7;
bool ret = notOK;
static bool pump_on_flag = CLOSE;
//uint32_t Cartridge_Cover_device_Id = 0;
@@ -609,11 +586,11 @@ bool WasteTankCBFunction()
if (WHS_info.sttMachine == WHS_empty)
{
WHS_info.sttMachine = WHS_filling;
- REPORT_MSG(WHS_filling," ------------ WHS_filling ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS_filling ------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
}
else
{
- REPORT_MSG(WHS_filling," ------------ WHS EMPTY sensor failed !!!!!!! ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS EMPTY sensor failed !!!!!!! ------------", __FILE__, __LINE__, 0, RpMessage, 0, 0);
}
}
else //SENSOREMPTY
@@ -621,7 +598,7 @@ bool WasteTankCBFunction()
if (WHS_info.sttMachine == WHS_emptying)
{
WHS_info.sttMachine = WHS_empty;
- REPORT_MSG(WHS_filling," ------------ WHS_empty ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS_empty -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
ret = CartridgeWasteFilling(OFF);
WHS_info.Cartridge_Cover_device_Id = RemoveControlCallback(WHS_info.Cartridge_Cover_device_Id, WasteTankCBFunction );
WHS_info.Cartridge_Cover_device_Id = AddControlCallback("Cartridge Cover Door", WasteTankCBFunction, CartridgeCoverCallBackTime, CartridgeCoverCallBackFunction, 0,0,0 );//eOneSecond
@@ -629,7 +606,7 @@ bool WasteTankCBFunction()
}
else
{
- REPORT_MSG(WHS_emptying," ------------ WHS EMPTY sensor failed !!!!!!! ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS WHS EMPTY sensor failed !!!!!!! -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
}
}
break;
@@ -639,9 +616,9 @@ bool WasteTankCBFunction()
break;
if ((WHS_info.WHS_sensors.cartridge_cover == OPEN) && (WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL))
{
- ReportWithPackageFilter(WasteFilter,"------------ WHS_full , cartridge cover is open cant start the pump!!!! ----------------- ", __FILE__,__LINE__,(int)(WHS_emptying), RpMessage, (int)(WHS_info.WHS_sensors.cartridge_cover), 0);
- ReportWithPackageFilter(WasteFilter,"------------ close the cartridge cover to start the pump!!!! ----------------- ", __FILE__,__LINE__,(int)(WHS_emptying), RpMessage, (int)(WHS_info.WHS_sensors.cartridge_cover), 0);
- //pump_on_flag = OPEN;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS_full , cartridge cover is open cant start the pump!!!! -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.cartridge_cover, 0);
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, close the cartridge cover to start the pump!!!! -------------" , __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.cartridge_cover, 0);
+
AlarmHandlingSetAlarm( EVENT_TYPE__NO_WASTE_CARTRIDGE_AVAILABLE, true);
WHS_info.WHS_sensors.waste_tank_full_sensor = SENSORnotFULL;
@@ -650,7 +627,7 @@ bool WasteTankCBFunction()
if (WHS_info.WHS_sensors.waste_tank_full_sensor == SENSORFULL)
{
WHS_info.sttMachine = WHS_full;
- REPORT_MSG(WHS_emptying," ------------ WHS_full ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, WHS_full -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.waste_tank_full_sensor, 0);
WHS_info.Cartridge_Cover_device_Id = RemoveControlCallback(WHS_info.Cartridge_Cover_device_Id, WasteTankCBFunction );
WHS_info.Cartridge_Cover_device_Id = AddControlCallback("Cartridge Cover Door", WasteTankCBFunction, CartridgeCoverCallBackFastTime , CartridgeCoverCallBackFunction, 0,0,0 );//eTenMillisecond
if (RdRFIDStatus (WHS_info.active_cartridge) == WasteEmpty)
@@ -668,7 +645,7 @@ bool WasteTankCBFunction()
if (ret != OK)
{
- //recreate the full event until cartridge is inserted or atontocation
+ //recreate the full event until cartridge is inserted or authentication
WHS_info.WHS_sensors.waste_tank_full_sensor = 1-WHS_info.WHS_sensors.waste_tank_full_sensor;
}
@@ -679,34 +656,21 @@ bool WasteTankCBFunction()
if (WHS_info.sttMachine == WHS_full)
{
WHS_info.sttMachine = WHS_emptying;
- REPORT_MSG(WHS_emptying," ------------ WHS_emptying ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, WHS_emptying -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.waste_tank_full_sensor, 0);
// can start a new JOB
}
else
{
- REPORT_MSG(WHS_full," ------------ WHS FULL sensor failed !!!!!!! ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, WHS FULL sensor failed !!!!!!! -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.waste_tank_full_sensor, 0);
}
}
break;
-/* case WHS_overflow_sensor:
- if (WHS_info.WHS_sensors.waste_tank_empty_sensor)
- {
-
- // 1.StopMacine
- WHS_info.sttMachine = WHS_overflow;
- }
- else
- {
- WHS_info.sttMachine = WHS_full;
- }
- break;
-*/
case WHS_cartridge_cover_sensor:
if ( WHS_info.WHS_sensors.cartridge_cover == OPEN )
{
- REPORT_MSG(parameter," Cartridge cover open ");//popup message :"Cartridge cover open" //todo
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, Cartridge cover open -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.cartridge_cover, 0);//popup message :"Cartridge cover open" //todo
if ( WHS_info.WHS_pump.status == OPEN)
{
CartridgeWasteFilling(CLOSE);
@@ -726,7 +690,7 @@ bool WasteTankCBFunction()
}
else
{
- REPORT_MSG(parameter,"Power down in process");//popup message :"Cartridge cover open" //todo
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, Power down in process -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, WHS_info.WHS_sensors.cartridge_cover, 0);//popup message :"Cartridge cover open" //todo
}
@@ -755,7 +719,7 @@ bool WasteTankCBFunction()
if ( IFS_info.INK_isOK_flag )
{
IFS_info.INK_isOK_flag = false;//0
- REPORT_MSG(WHS_full," ------------ change INK cartridge status to color Used ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, change INK cartridge status to color Used -------------", __FILE__, __LINE__, IFS_info.INK_isOK_flag, RpMessage, 0, 0);
// test the Mid-tank capacity is not at Nadav sequence
MidTank_Pressure = Get_MidTank_Pressure_Sensor(IFS_info.Ink.cart_color);
if ( MidTank_Pressure > MidTank_Pressure_EMPTY )
@@ -763,11 +727,10 @@ bool WasteTankCBFunction()
ReportWithPackageFilter(WasteFilter,"------------ close door MidTank_Pressure > MidTank_Pressure_EMPTY -----------------", __FILE__,__LINE__,(int)(MidTank_Pressure_EMPTY*1000), RpMessage, (int)(MidTank_Pressure*1000), 0);
MidTankValvesAction(Cartridge_MidTank_OFF);
//Disable_MidTank_Pressure_Reading(IFS_info.Ink.cart_color);
- REPORT_MSG(WHS_full," ------------ Mid-tank not empty ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, Mid-tank not empty -------------", __FILE__, __LINE__, 0, RpMessage, 0, 0);
break;
}
IFS_info.MidTank_capacity = MidTank_Pressure;
- REPORT_MSG(WHS_full," ------------ Mid-tank filling in process ----------------- ");
ReportWithPackageFilter(WasteFilter,"------------ Mid-tank filling in process -----------------", __FILE__,__LINE__,(int)(MidTank_Pressure_EMPTY*1000), RpMessage, (int)(MidTank_Pressure*1000), 0);
Pannel_Leds(CART_1, MODE_ON);
cart1.color = BLINK;
@@ -797,7 +760,7 @@ bool WasteTankCBFunction()
if (IFS_info.IFS_Ink_precense_sensor == CarteidgePrecense)
{
// is power down in process?? //todo
- if ( !PowerOffInProcessGetState() ) // not in power down proccess
+ if ( !PowerOffInProcessGetState() ) // not in power down process
{
Pannel_Leds(CART_1, MODE_ON);
cart1.color = colorON;
@@ -806,10 +769,8 @@ bool WasteTankCBFunction()
else
{
// print: "power down in process";
- REPORT_MSG(WHS_full," ------------ power down in process ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, Power down in process -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, IFS_info.IFS_Ink_precense_sensor, 0);
}
-
-
}
else // Cartridge is out
{
@@ -822,14 +783,13 @@ bool WasteTankCBFunction()
IFS_info.Ink.time_out = 0;
IFS_info.Cartridge_Ink_TimeOut_device_Id = RemoveControlCallback(IFS_info.Cartridge_Ink_TimeOut_device_Id, WasteTankCBFunction );
}
-
}
break;
case IFS_INK_authentication_pass:
if (!ColorMatch())
{
- REPORT_MSG(WHS_full," ------------ cartridge color does not match ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, cartridge color does not match -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
Pannel_Leds(CART_1, MODE_ON);
cart1.color = BLINK;
break;
@@ -918,7 +878,7 @@ bool WasteTankCBFunction()
break;
case WHS_Timeout:
- REPORT_MSG(WHS_emptying," ------------ WHS_Timeout ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, WHS_Timeout -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
AlarmHandlingSetAlarm( EVENT_TYPE__WASTE_CONTAINER_EMPTYING_TIMEOUT, true);
CartridgeWasteFilling(OFF);
break;
@@ -938,12 +898,12 @@ bool WasteTankCBFunction()
case IFS_Timeout_Second:
// Disable_MidTank_Pressure_Reading(IFS_info.Ink.cart_color);
IFS_info.Cartridge_Ink_TimeOut_device_Id = RemoveControlCallback(IFS_info.Cartridge_Ink_TimeOut_device_Id, WasteTankCBFunction );
- REPORT_MSG(WHS_full," ------------ Change cartridge status to Fail ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS, Change cartridge status to Fail -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
MidTankValvesAction(Cartridge_MidTank_OFF);
cart1.color = fastBILNK;
- REPORT_MSG(WHS_full," ------------ Display Mid-tank # filling fail ----------------- ");
- REPORT_MSG(WHS_full," ------------ call customer support ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ Display Mid-tank # filling fail -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
+ ReportWithPackageFilter(WasteFilter,"------------ call customer support -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
Pannel_Leds(CART_1, MODE_ON);
cart1.color = fastBILNK;
IFS_TimeOutAlarm(true);
@@ -952,11 +912,11 @@ bool WasteTankCBFunction()
case IFS_MidTankFull:
// Disable_MidTank_Pressure_Reading(IFS_info.Ink.cart_color);
IFS_info.Cartridge_Ink_TimeOut_device_Id = RemoveControlCallback(IFS_info.Cartridge_Ink_TimeOut_device_Id, WasteTankCBFunction );
- REPORT_MSG(WHS_full," ------------ Change cartridge status to Waste Empty ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ Change cartridge status to Waste Empty -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
Pannel_Leds(CART_1, MODE_OFF);
cart1.color = colorOFF;
MidTankValvesAction(Cartridge_MidTank_OFF);
- REPORT_MSG(WHS_full," ------------ Display Mid-tank # filling done ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ Display Mid-tank # filling done -------------", __FILE__, __LINE__, WHS_info.sttMachine, RpMessage, 0, 0);
break;
@@ -977,7 +937,6 @@ bool WasteTankCBFunction()
bool RdCartridgeCoverSensor()
{
- uint32_t parameter = 6 ;
//REPORT_MSG(parameter," ------------ RD Cartridge Cover Sensor ----------------- ");
bool ret = notOK;
@@ -987,11 +946,11 @@ bool RdCartridgeCoverSensor()
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);
+ ReportWithPackageFilter(WasteFilter,"------------ RD Cartridge Cover Sensor is = OPEN(1) -------------", __FILE__, __LINE__, ret, RpMessage, 0, 0);
}
if ((ret == CLOSE ) && (ret != WHS_info.WHS_sensors.cartridge_cover))
{
- REPORT_MSG(parameter," ------------ RD Cartridge Cover Sensor is = CLOSE(0) ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ RD Cartridge Cover Sensor is = CLOSE(0) -------------", __FILE__, __LINE__, ret, RpMessage, 0, 0);
}
return ret;
}
@@ -1001,21 +960,18 @@ 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;
+ ReportWithPackageFilter(WasteFilter,"------------ find : WHS_cartridge_cover_sensor event -------------", __FILE__, __LINE__, WHS_info.WHS_sensors.cartridge_cover, RpMessage, 0, 0);
ret = WHS_cartridge_cover_sensor; //todo
}
else if (( IFS_info.INK_isOK_flag ) && ( WHS_info.WHS_sensors.cartridge_cover == WHS_CartridgeCoverOPEN))// for Mid-tank filling
{
- REPORT_MSG(parameter," ------------ Mid-tank Filling : Close cartridge cover ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ Mid-tank Filling : Close cartridge cover -------------", __FILE__, __LINE__, WHS_info.WHS_sensors.cartridge_cover, RpMessage, 0, 0);
}
/*else if(WHS_info.WHS_sensors.cartridge_cover == WHS_CartridgeCoverOPEN)
{
@@ -1087,15 +1043,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;
+ ReportWithPackageFilter(WasteFilter,"------------ find : WHS_waste1_presence_sensor event -------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_cartridge1_precense_sensor, RpMessage, 0, 0);
ret = WHS_waste1_presence_sensor;
}
return ret;
@@ -1103,15 +1057,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;
+ ReportWithPackageFilter(WasteFilter,"------------ find : WHS_waste2_presence_sensor event -------------", __FILE__, __LINE__, WHS_info.WHS_sensors.waste_cartridge2_precense_sensor, RpMessage, 0, 0);
ret = WHS_waste2_presence_sensor;
}
return ret;
@@ -1120,42 +1072,40 @@ WHS_sensor CartridgeWaste2CallBackFunction()
/*------------------------------- Waste Cartridge + IFS Cartridge -----------------------------------------*/
bool InitCartStatus()
{
- uint32_t parameter = 6 ;
-
WHS_info.WHS_sensors.cartridge_cover = RdCartridgeCoverSensor();
/* INK => CART_1 */
- REPORT_MSG(parameter," ------------------------------------------------------------------------------------------ ");
- REPORT_MSG(parameter," ------------!!!!!!! at INIT what to do if IFS_INK is presence !!!!!!! ----------------- ");
- REPORT_MSG(parameter," ------------------------------------------------------------------------------------------ ");
+ ReportWithPackageFilter(WasteFilter,"------------------------------------------------------------------------------------------", __FILE__,__LINE__,0, RpMessage, 0, 0);
+ ReportWithPackageFilter(WasteFilter,"------------ !!!!!!! at INIT what to do if IFS_INK is presence !!!!!!! -----------------", __FILE__,__LINE__,0, RpMessage, 0, 0);
+ ReportWithPackageFilter(WasteFilter,"------------------------------------------------------------------------------------------", __FILE__,__LINE__,0, RpMessage, 0, 0);
if (RdInkCartridgeSensor())
{
- REPORT_MSG(parameter," ------------ INIT : IFS_INK is presence ----------------- ");
- IFS_info.IFS_Ink_precense_sensor = CarteidgePrecense;
- Pannel_Leds( CART_1, MODE_ON);
- cart1.color = colorON;
+ IFS_info.IFS_Ink_precense_sensor = CarteidgePrecense;
+ ReportWithPackageFilter(WasteFilter,"------------ INIT : IFS_INK is presence -----------------", __FILE__,__LINE__, IFS_info.IFS_Ink_precense_sensor, RpMessage, 0, 0);
+ Pannel_Leds( CART_1, MODE_ON);
+ cart1.color = colorON;
}
else
{
- REPORT_MSG(parameter," ------------ INIT : IFS_INK is NOT presence ----------------- ");
- IFS_info.IFS_Ink_precense_sensor = CarteidgeNotPrecense;
- Pannel_Leds( CART_1, MODE_OFF);
- cart1.color = colorOFF;
+ IFS_info.IFS_Ink_precense_sensor = CarteidgeNotPrecense;
+ ReportWithPackageFilter(WasteFilter,"------------ INIT : IFS_INK is NOT presence -----------------", __FILE__,__LINE__, IFS_info.IFS_Ink_precense_sensor, RpMessage, 0, 0);
+ Pannel_Leds( CART_1, MODE_OFF);
+ cart1.color = colorOFF;
}
/* waste_cartridge1 => CART_2 */
if (RdWasteCartridge1Sensor())
{
- REPORT_MSG(parameter," ------------ INIT : WHS_waste1 cart is presence ----------------- ");
WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = CarteidgePrecense;
+ ReportWithPackageFilter(WasteFilter,"------------ INIT : WHS_waste1 cart is presence -----------------", __FILE__,__LINE__, WHS_info.WHS_sensors.waste_cartridge1_precense_sensor, RpMessage, 0, 0);
Pannel_Leds( CART_2, MODE_ON);
cart2.color = colorON;
}
else
{
- REPORT_MSG(parameter," ------------ INIT : WHS_waste1 cart is NOT presence !!! ----------------- ");
WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = CarteidgeNotPrecense;
+ ReportWithPackageFilter(WasteFilter,"------------ INIT : WHS_waste1 cart is NOT presence !!! -----------------", __FILE__,__LINE__,WHS_info.WHS_sensors.waste_cartridge1_precense_sensor, RpMessage, 0, 0);
Pannel_Leds( CART_2, MODE_OFF);
cart2.color = colorOFF;
}
@@ -1163,21 +1113,19 @@ bool InitCartStatus()
/* waste_cartridge2 => CART_3 */
if (RdWasteCartridge2Sensor())
{
- REPORT_MSG(parameter," ------------ INIT : WHS_waste2 cart is presence ----------------- ");
WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = CarteidgePrecense;
+ ReportWithPackageFilter(WasteFilter,"------------ INIT : WHS_waste2 cart is presence -----------------", __FILE__,__LINE__, WHS_info.WHS_sensors.waste_cartridge2_precense_sensor, RpMessage, 0, 0);
Pannel_Leds( CART_3, MODE_ON);
cart3.color = colorON;
}
else
{
- REPORT_MSG(parameter," ------------ INIT : WHS_waste2 cart is NOT presence_sensor !!! ----------------- ");
WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = CarteidgeNotPrecense;
+ ReportWithPackageFilter(WasteFilter,"------------ INIT : WHS_waste2 cart is NOT presence_sensor !!! -----------------", __FILE__,__LINE__, WHS_info.WHS_sensors.waste_cartridge2_precense_sensor, RpMessage, 0, 0);
Pannel_Leds( CART_3, MODE_OFF);
cart3.color = colorOFF;
}
-
-
if (IFS_info.IFS_Ink_precense_sensor == CarteidgePrecense) CartridgeAuthentication(INK_cartridge);
if (WHS_info.WHS_sensors.waste_cartridge1_precense_sensor == CarteidgePrecense) CartridgeAuthentication(waste_cartridge1);
if (WHS_info.WHS_sensors.waste_cartridge2_precense_sensor == CarteidgePrecense) CartridgeAuthentication(waste_cartridge2);
@@ -1185,7 +1133,7 @@ bool InitCartStatus()
if (WHS_info.WHS_sensors.cartridge_cover == WHS_CartridgeCoverOPEN)
{
- REPORT_MSG(parameter," ------------ WHS_CartridgeCoverOPEN : add callback for cart1 and cart 2 ----------------- ");
+ ReportWithPackageFilter(WasteFilter,"------------ WHS_CartridgeCoverOPEN : add callback for cart1 and cart 2 -----------------", __FILE__,__LINE__, WHS_info.WHS_sensors.cartridge_cover, RpMessage, 0, 0);
IFS_info.Cartridge_Ink_device_Id = AddControlCallback("Ink Cartridge CB" , WasteTankCBFunction, eOneSecond, CartridgeInkCallBackFunction , 0,0,0 );
WHS_info.Cartridge_Waste1_device_Id = AddControlCallback("Waste1 Cartridge CB", WasteTankCBFunction, eOneSecond, CartridgeWaste1CallBackFunction, 0,0,0 );
WHS_info.Cartridge_Waste2_device_Id = AddControlCallback("Waste2 Cartridge CB", WasteTankCBFunction, eOneSecond, CartridgeWaste2CallBackFunction, 0,0,0 );
@@ -1199,8 +1147,6 @@ bool RdInkCartridgeSensor()
{
bool ret = notOK;
WHS_Read_GPI_Registers();
- //WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = Is_Cartridge_Present(CART_2);
- //ret = WHS_info.WHS_sensors.waste_cartridge1_precense_sensor;
ret = Is_Cartridge_Present(CART_1);
return ret;
}
@@ -1209,8 +1155,6 @@ bool RdWasteCartridge1Sensor()
{
bool ret = notOK;
WHS_Read_GPI_Registers();
- //WHS_info.WHS_sensors.waste_cartridge1_precense_sensor = Is_Cartridge_Present(CART_2);
- //ret = WHS_info.WHS_sensors.waste_cartridge1_precense_sensor;
ret = Is_Cartridge_Present(CART_2);
return ret;
}
@@ -1219,37 +1163,34 @@ bool RdWasteCartridge2Sensor()
{
bool ret = notOK;
WHS_Read_GPI_Registers();
- //WHS_info.WHS_sensors.waste_cartridge2_precense_sensor = Is_Cartridge_Present(CART_3);
- //ret = WHS_info.WHS_sensors.waste_cartridge2_precense_sensor;
ret = Is_Cartridge_Present(CART_3);
return ret;
}
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.cartridge_1.status == WasteEmpty))
{
- REPORT_MSG(parameter," ------------ WHS : active_cartridge = waste_cartridge 1 ----------------- ");
WHS_info.active_cartridge = waste_cartridge1;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS : active_cartridge = waste_cartridge 1 -----------------", __FILE__,__LINE__, WHS_info.active_cartridge, RpMessage, 0, 0);
AlarmHandlingSetAlarm( EVENT_TYPE__NO_WASTE_CARTRIDGE_AVAILABLE, false);
}
else if (( WHS_info.WHS_sensors.waste_cartridge2_precense_sensor == PRECENSE)
&& (WHS_info.cartridge_2.autheticate == PASSED)
&& (WHS_info.cartridge_2.status == WasteEmpty))
{
- REPORT_MSG(parameter," ------------ WHS : active_cartridge = waste_cartridge 2 ----------------- ");
WHS_info.active_cartridge = waste_cartridge2;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS : active_cartridge = waste_cartridge 2 -----------------", __FILE__,__LINE__, WHS_info.active_cartridge, RpMessage, 0, 0);
AlarmHandlingSetAlarm( EVENT_TYPE__NO_WASTE_CARTRIDGE_AVAILABLE, false);
}
else
{
- REPORT_MSG(parameter," ------------ WHS : NO active_cartridge ----------------- ");
WHS_info.active_cartridge = no_waste_cartridge;
+ ReportWithPackageFilter(WasteFilter,"------------ WHS : NO active_cartridge -----------------", __FILE__,__LINE__, WHS_info.active_cartridge, RpMessage, 0, 0);
AlarmHandlingSetAlarm( EVENT_TYPE__NO_WASTE_CARTRIDGE_AVAILABLE, true);
}
return ret;
diff --git a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c
index a255f55a0..99b96ddf3 100644
--- a/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Waste/newWHS_init.c
@@ -9,13 +9,13 @@
#include <Drivers/I2C_Communication/WHS_Card/I2C_WHS_Mux.h>
#include <Drivers/I2C_Communication/I2C.h>
#include "Drivers/I2C_Communication/WHS_Card/WHS_data.h"
-#include <Drivers/I2C_Communication/WHS_Card/EEPROM/WHS_EEPROM.h>
#include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h>
#include <Drivers/I2C_Communication/I2C_Task.h>
#include <Drivers/I2C_Communication/WHS_Card/D_AD5272_Rheostat/WHS_Rheostat.h>
#include <Drivers/I2C_Communication/WHS_Card/D_ADS122_PT100/WHS_PT100_ADC.h>
#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h>
#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h>
+#include <Drivers/I2C_Communication/WHS_Card/EEPROM/D_EEPROM.h>
#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h>
bool test_9555(void);
@@ -24,17 +24,21 @@ bool WHS_I2C_EEprom_Write_Ch_shai_taest(void);
bool newWHS_init(void)
{
bool status = OK;
- Main_Mux_Flag = 0;
+
+ //Main_Mux_Flag = 0;
// delayms(4000);
// status = Select_Main_WHS_Mux_Channel();
+
+ //Trigger_Check_WHS_Type_Via_EEPROM();
Trigger_WHS_init_IO();
Trigger_WHS_init_fan();
Trigger_WHS_init_PT100();
Trigger_WHS_init_Blower();
Trigger_WHS_MAX11614_Init();
Trigger_WHS_Rheostat_init();
+
//status |= WHS_IO_Init();
//status |= init_WHS_fan();
//