aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/AlarmHandling
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-06-28 09:18:23 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-06-28 09:18:23 +0300
commit02cb897f482ad2113cf4e155659c8d868cedcb82 (patch)
treedcf9f20addf61be4fe25d788e3c18c5d246cf4d0 /Software/Embedded_SW/Embedded/Modules/AlarmHandling
parent90e05a52a1a6a3b7f5bce8a619dd4e50ea10575d (diff)
downloadTango-02cb897f482ad2113cf4e155659c8d868cedcb82.tar.gz
Tango-02cb897f482ad2113cf4e155659c8d868cedcb82.zip
Diagnostics tests
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/AlarmHandling')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandlingDiagnostics.c36
1 files changed, 28 insertions, 8 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandlingDiagnostics.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandlingDiagnostics.c
index 60a093216..3b5e1cf52 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandlingDiagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandlingDiagnostics.c
@@ -44,7 +44,7 @@ bool DiagnosticsActive = false;
int DiagnosticsIndex = 0;
int DiagnosticCollectionLimit = 3; //number of data samples to collect before sending to the host
int DiagnosticLimit = eTenMillisecond; //frequency of data collection
-DigitalPin DigitalPinArray[1][DIAGNOSTICS_LIMIT];
+//DigitalPin DigitalPinArray[1][DIAGNOSTICS_LIMIT];
double dancer1angle[DIAGNOSTICS_LIMIT];
double dancer2angle[DIAGNOSTICS_LIMIT];
double dancer3angle[DIAGNOSTICS_LIMIT];
@@ -62,6 +62,7 @@ double dryerzone1temperature[DIAGNOSTICS_LIMIT];
double dryerzone2temperature[DIAGNOSTICS_LIMIT];
double dryerzone3temperature[DIAGNOSTICS_LIMIT];
+
double dispensermotorfrequency[DIAGNOSTICS_LIMIT][MAX_SYSTEM_DISPENSERS];
double dispenser1motorfrequency[DIAGNOSTICS_LIMIT];
double dispenser2motorfrequency[DIAGNOSTICS_LIMIT];
@@ -107,14 +108,15 @@ void DiagnosticCollection(void)
dispenser7motorfrequency[DiagnosticsIndex] = MotorGetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_7);
dispenser8motorfrequency[DiagnosticsIndex] = MotorGetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_8);
- for (i=0;i<1;i++)
+/* for (i=0;i<1;i++)
{
+ DigitalPinArray[i][DiagnosticsIndex] = DIGITAL_PIN__INIT;
DigitalPinArray[i][DiagnosticsIndex].has_port = true;
DigitalPinArray[i][DiagnosticsIndex].port = i;
DigitalPinArray[i][DiagnosticsIndex].has_value = true;
DigitalPinArray[i][DiagnosticsIndex].value = FPGA_Read_limit_Switches(i);
}
-
+*/
DiagnosticsIndex++;
if (DiagnosticsIndex >= DIAGNOSTICS_LIMIT) DiagnosticsIndex = DIAGNOSTICS_LIMIT;
if (DiagnosticsIndex >= DiagnosticCollectionLimit)
@@ -126,12 +128,13 @@ void DiagnosticsReset(void)
DiagnosticsIndex = 0;
}
+DiagnosticsMonitors DiagnosticsMonitor = DIAGNOSTICS_MONITORS__INIT;
void SendDiagnostics(void)
{
MessageContainer responseContainer;
StartDiagnosticsResponse response = START_DIAGNOSTICS_RESPONSE__INIT;
- DiagnosticsMonitors DiagnosticsMonitor;
- //if (DiagnosticsActive == false)
+ DoubleArray DispensersMotorsFreq = DOUBLE_ARRAY__INIT;
+ if (DiagnosticsActive == false)
return;
@@ -150,6 +153,15 @@ void SendDiagnostics(void)
DiagnosticsMonitor.n_dryerzone1temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_dryerzone2temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_dryerzone3temperature = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser1motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser2motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser3motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser4motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser5motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser6motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser7motorfrequency = DiagnosticsIndex;
+ DiagnosticsMonitor.n_dispenser8motorfrequency = DiagnosticsIndex;
+
DiagnosticsMonitor.dancer1angle = dancer1angle;
DiagnosticsMonitor.dancer2angle = dancer2angle;
DiagnosticsMonitor.dancer3angle = dancer3angle;
@@ -167,7 +179,8 @@ void SendDiagnostics(void)
DiagnosticsMonitor.dryerzone2temperature = dryerzone2temperature;
DiagnosticsMonitor.dryerzone3temperature = dryerzone3temperature;
- DiagnosticsMonitor.dispensersmotorsfrequency = dispensermotorfrequency;
+ //DiagnosticsMonitor.dispensersmotorsfrequency = &DispensersMotorsFreq;
+ //DispensersMotorsFreq.data = (double *)dispensermotorfrequency;
DiagnosticsMonitor.dispenser1motorfrequency = dispenser1motorfrequency;
DiagnosticsMonitor.dispenser2motorfrequency = dispenser2motorfrequency;
@@ -196,6 +209,10 @@ void SendDiagnostics(void)
//USBCDCD_sendData(container_buffer, container_size,10);
// SendChars(container_buffer, container_size);
//free (container_buffer);
+ SendChars(container_buffer, container_size);
+ //free(container_buffer);
+ //free(requestContainer);
+
}
uint32_t AlarmHandlingControlId = 0xff;
@@ -213,8 +230,11 @@ uint32_t StartDiagnosticsRequestFunc(MessageContainer* requestContainer)
StartDiagnosticsRequest* request = start_diagnostics_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
strcpy (DiagnosticsToken, requestContainer->token);
- DiagnosticsActive = true;
- AlarmHandlingControlId = AddControlCallback(AlarmHandler_SendDiagnostics,DiagnosticLimit,AlarmHandlingEmptyCBFunction,0,0,0);
+ if ( DiagnosticsActive == false)
+ {
+ DiagnosticsActive = true;
+ AlarmHandlingControlId = AddControlCallback(AlarmHandler_SendDiagnostics,DiagnosticLimit,AlarmHandlingEmptyCBFunction,0,0,0);
+ }
start_diagnostics_request__free_unpacked(request,NULL);
return status;
}