From 00a491d93733d4625ad329b2ba8237f445364b3f Mon Sep 17 00:00:00 2001 From: Mirta Date: Wed, 30 Dec 2020 16:39:52 +0200 Subject: merge --- .../Embedded/Modules/Control/MillisecTask.c | 42 +++++++++++++++++----- 1 file changed, 33 insertions(+), 9 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Control') diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index ad5a1d5ca..c5fffff60 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -22,6 +22,10 @@ #include "MillisecTask.h" #include +#include +#include "Common/Utilities/Utils.h" +#include "driverlib/hibernate.h" + #include #include #include @@ -72,6 +76,7 @@ #include #include #include +#include "Drivers/Uart_Comm/BTSR/BTSR.h" Task_Handle Millisecond_Task_Handle; /******************** Definitions ********************************************/ @@ -610,18 +615,22 @@ void setRapidPressureRead(bool value) } uint16_t PumpCounter = 0; uint16_t realtimetest[101]; +uint16_t dbgflag[50]; +uint32_t dbttime[50]; +bool Ten_msTick, Fifty_msTick, Hundred_msTick , m20msecTick,m90msecTick, Onesecond_Tick,Tensecond_Tick,OneMinute_Tick,TenMinutes_Tick,OneHourTick,Gradient_Tick; +bool O700Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick,O800Millisecond_Tick; + uint32_t MillisecLowLoop(uint32_t tick) { uint8_t Motor_i,Disp_i,temp; TEMPERATURE_SENSOR_ID_ENUM Sensor_i; +#ifdef USE_RFID_LOGIC RFID_READER_ID readerID; - +#endif //static int temp=0; //call all modules Millisec functions //test dancers and speed encoders //check all callback units (state machine waiting for completion of a change) - bool Ten_msTick, Fifty_msTick, Hundred_msTick , m20msecTick,m90msecTick, Onesecond_Tick,Tensecond_Tick,OneMinute_Tick,TenMinutes_Tick,OneHourTick,Gradient_Tick; - bool O700Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick,O800Millisecond_Tick; //bool O100Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick,O800Millisecond_Tick,O900Millisecond_Tick; Ten_msTick = (tick%eTenMillisecond == 0) ?true:false; Fifty_msTick = (tick%eHundredMillisecond == 40) ?true:false; //eFiftyMillisecond @@ -643,6 +652,7 @@ uint32_t MillisecLowLoop(uint32_t tick) TenMinutes_Tick = (tick%eTenMinutes == 0) ?true:false; OneHourTick = (tick%eOneHour == 0) ?true:false; realtimetest[(tick%1000)/10]++; + dbttime[0] = msec_millisecondCounter; //gather Motor data from FPGA //ROM_IntMasterDisable(); int StartPT100 = 0; @@ -656,7 +666,11 @@ uint32_t MillisecLowLoop(uint32_t tick) //if (Sensor_Read++ >= MAX_MAIN_CARD_TEMPERATURE_SENSOR_ID) Sensor_Read = 0; if(Machine_Idle_Mode == true) Machine_Idle_Breathing_Led(); + dbgflag[1]++; + dbttime[1] = msec_millisecondCounter; Trigger_HeaterWriting(); + dbgflag[2]++; + dbttime[2] = msec_millisecondCounter; Read_Dryer_ENC_Position(); } if (m20msecTick) @@ -668,11 +682,12 @@ uint32_t MillisecLowLoop(uint32_t tick) WHS_Read_GPI_Registers(); Trigger_PT100_Read();//call every 50mSec (minimum delay 30mSec) //Set_HeadCard_PT100();//call every 50mSec (minimum delay 30mSec) + + #ifdef USE_UART4_FOR_BTSR + //call every 50mSec + BTSR_State_Machine(RUFeeder1); + #endif } - /*if(m70msecTick) - { - AlarmHandling_ControlTrigger(0,0); - }*/ if (m90msecTick) { for (Sensor_i = StartPT100;Sensor_i < MAX_HEAD_CARD_TEMP_SENS_ID;Sensor_i++) @@ -701,6 +716,8 @@ uint32_t MillisecLowLoop(uint32_t tick) //LOG_ERROR (1111, "Control_WD"); } } + dbgflag[3]++; + dbttime[3] = msec_millisecondCounter; if (RapidPressureRead == true) { for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++) @@ -728,6 +745,11 @@ uint32_t MillisecLowLoop(uint32_t tick) DispensersCollectionCall(); if (O200Millisecond_Tick) { + + ulocaltime(umktime(&LocalTime)+1,&LocalTime); + HibernateCalendarSet(&LocalTime); + //ReportWithPackageFilter(ThreadFilter,"Time: ",__FILE__,LocalTime.tm_min,LocalTime.tm_sec,RpWarning,(int) msec_millisecondCounter,0); + Trigger_WHS_MAX11614_Read_allADC(); FPGA_GetAllDispensersValveBusyOCD(); Read_Dryer_Fan_Tacho(); @@ -777,6 +799,8 @@ uint32_t MillisecLowLoop(uint32_t tick) KeepAliveOneSecondCall(); //TemperatureListString(Lenstr); //ReportWithPackageFilter(ThreadFilter,Lenstr,__FILE__,__LINE__,(int)Counter++,RpWarning,(int) msec_millisecondCounter,0); + dbgflag[4]++; + dbttime[4] = msec_millisecondCounter; for (Sensor_i = StartPT100;Sensor_i < MAX_HEAD_CARD_TEMP_SENS_ID;Sensor_i++) { TemperatureCalc[Sensor_i] = MillisecCalculateTemperatures ( Sensor_i); @@ -834,8 +858,8 @@ uint32_t MillisecLowLoop(uint32_t tick) //call IFS state machine midTankStateMachine(); - - + dbgflag[5]++; + dbttime[5] = msec_millisecondCounter; } if (Tensecond_Tick) { -- cgit v1.3.1