diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-08-13 15:47:59 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-08-13 15:47:59 +0300 |
| commit | c6864d03caa002d590dbe2abc43a931b26fc7b27 (patch) | |
| tree | b066b7307aab9af7fd76de4bf26795434fd0ee5e /Software/Embedded_SW/Embedded/Modules/Control | |
| parent | ba3d7e34700be27d5eed1c2a58f6cd146296fd95 (diff) | |
| parent | fe8111ccce920b73b47b6af657f1ee4bcac11120 (diff) | |
| download | Tango-c6864d03caa002d590dbe2abc43a931b26fc7b27.tar.gz Tango-c6864d03caa002d590dbe2abc43a931b26fc7b27.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Control')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c | 12 | ||||
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index 559db0e79..75462bd7c 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -74,6 +74,8 @@ typedef struct MillisecMessage{ uint32_t Dancer_Data[NUM_OF_DANCERS] = {0}; uint32_t Speed_Data = 0; +bool watchdogCriticalAlarm = false; + MillisecMotorDataStruc MotorData[NUM_OF_MOTORS] = {0}; MillisecMotorDataStruc SpeedSetPending[NUM_OF_MOTORS] = {0}; MillisecMotorDataStruc PT100Data[MAX_TEMPERATURE_SENSOR_ID] = {0}; @@ -100,7 +102,7 @@ void MillisecInit(void) Error_init(&eb); - MillisecMsgQ = Mailbox_create(sizeof(MillisecMessageStruc), 20, NULL,&eb); + MillisecMsgQ = Mailbox_create(sizeof(MillisecMessageStruc), 2, NULL,&eb); for (i=0;i<NUM_OF_MOTORS;i++) { MotorsMsgQ[i] = Mailbox_create(sizeof(MillisecMotorDataStruc), 5, NULL,&eb); @@ -179,6 +181,7 @@ int32_t MillisecReadFromTempSensor(uint32_t TempSensorId, MSecFptr Callback) PT100Activity++; //get response PT100Activity++; //read request PT100Data[TempSensorId].Callback = Callback; + PT100Data[TempSensorId].WaitForData = true; PT100Data[TempSensorId].DataRequired = true; PT100Data[TempSensorId].Active = true; @@ -343,7 +346,7 @@ uint32_t MillisecLoop(uint32_t tick) { TemperatureSendSensorDummyClk((TEMPERATURE_SENSOR_ID_ENUM)Sensor_i); PT100Data[Sensor_i].SyncRequired = false; - if (PT100Data[Sensor_i].DataRequired == true) + /*if (PT100Data[Sensor_i].DataRequired == true) { PT100Data[Sensor_i].WaitForData = true; // mark the motor for data request next round } @@ -351,7 +354,7 @@ uint32_t MillisecLoop(uint32_t tick) { if (PT100Data[Sensor_i].Callback) PT100Data[Sensor_i].Callback(Sensor_i,0); // call the callback to report execution - } + }*/ PT100Activity--; } @@ -417,7 +420,8 @@ uint32_t MillisecLoop(uint32_t tick) for (Sensor_i = 0;Sensor_i < MAX_SYSTEM_DISPENSERS;Sensor_i++) CalculateDispenserPressure(Sensor_i); FPGA_GetAllDispensersValveBusyOCD(); - Control_WD(ENABLE,50); //activate heaters/dispenser watchdog, 5 seconds + if (watchdogCriticalAlarm == false) + Control_WD(ENABLE,50); //activate heaters/dispenser watchdog, 5 seconds } //ROM_IntMasterEnable(); diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h index ef9a9d21b..77c3a5ef8 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h @@ -32,5 +32,7 @@ void MillisecInit(void); void MillisecStop(void); void MillisecStart(void); +extern bool watchdogCriticalAlarm; + extern Task_Handle Millisecond_Task_Handle; #endif /* MODULES_CONTROL_MILLISECTASK_H_ */ |
