aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Control
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-08-13 15:47:59 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-08-13 15:47:59 +0300
commitc6864d03caa002d590dbe2abc43a931b26fc7b27 (patch)
treeb066b7307aab9af7fd76de4bf26795434fd0ee5e /Software/Embedded_SW/Embedded/Modules/Control
parentba3d7e34700be27d5eed1c2a58f6cd146296fd95 (diff)
parentfe8111ccce920b73b47b6af657f1ee4bcac11120 (diff)
downloadTango-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.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.h2
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_ */