aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
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/Diagnostics/Diagnostics.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c50
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c5
6 files changed, 49 insertions, 26 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 73532a7d2..a4e1379c5 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -1051,6 +1051,12 @@ void SendEventNotifications(void)
if (AlarmState[i].Status == true)
{
EventsResponse.n_events++;
+ if ((AlarmState[i].EventPtr == NULL) ||(AlarmState[i].EventPtr->base.descriptor->sizeof_message != 24))
+ {
+ LOG_ERROR(i,"bad pointer for event");
+ EventsResponse.n_events--;
+ AlarmState[i].Status = false;
+ }
}
}
@@ -1098,10 +1104,12 @@ void SendEventNotifications(void)
my_free(container_buffer);
}
}
+ else
+ AlarmHandlingStop();
if (EventsResponse.events)
my_free(EventsResponse.events);
- if (responseContainer.data.data)
- my_free(responseContainer.data.data);
+ //if (responseContainer.data.data)
+ // my_free(responseContainer.data.data);
}
uint32_t ResolveEventRequestFunc(MessageContainer* requestContainer)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
index b89fa43ed..a3b2022e9 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c
@@ -423,7 +423,7 @@ int j=0;
MessageContainer diagnosticsresponseContainer;
uint8_t diagnostics_response_buffer[3500];
uint8_t *diagnostics_response_ptr = diagnostics_response_buffer;
-uint8_t* diagnosticscontainer_buffer=0;
+char * diagnosticscontainer_buffer=0;
int LargeMessagesD = 0;
void SendDiagnostics(void)
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index 277891861..b0351b4ff 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -235,33 +235,41 @@ uint32_t ProcessParamsInit(void)
UploadProcessParametersRequest* request;
FileHandle = my_malloc(sizeof(FIL));
- Fresult = FileOpen(ProcessParamsConfigPath, &Bytes, FileHandle);
- if (Fresult == FR_OK)
+ if (FileHandle)
{
- buffer = my_malloc (Bytes);
- if (buffer)
+ Fresult = FileOpen(ProcessParamsConfigPath, &Bytes, FileHandle);
+ if (Fresult == FR_OK)
{
- for (i=0;i<=(Bytes/100);i++)
+ buffer = my_malloc (Bytes);
+ if (buffer)
{
- Fresult = f_read(FileHandle,&buffer[i*100],100,&j );
- k+=j;
- }
- if (k!=Bytes)
- LOG_ERROR(k,"File read error");
+ for (i=0;i<=(Bytes/100);i++)
+ {
+ Fresult = f_read(FileHandle,&buffer[i*100],100,&j );
+ k+=j;
+ }
+ if (k!=Bytes)
+ LOG_ERROR(k,"File read error");
- request = upload_process_parameters_request__unpack(NULL, Bytes, buffer);
- // ProcessParameters* ProcessParams = process_parameters__unpack(NULL, Bytes, buffer);
- if (request)
- {
- ProcessParameters* ProcessParams = request->processparameters;
- Fresult = HandleProcessParameters(ProcessParams);
- //memcpy (&ProcessParametersKeep,ProcessParams,sizeof(ProcessParameters));
- upload_process_parameters_request__free_unpacked(request,NULL);
- }
- free (buffer);
+ request = upload_process_parameters_request__unpack(NULL, Bytes, buffer);
+ // ProcessParameters* ProcessParams = process_parameters__unpack(NULL, Bytes, buffer);
+ if (request)
+ {
+ ProcessParameters* ProcessParams = request->processparameters;
+ Fresult = HandleProcessParameters(ProcessParams);
+ //memcpy (&ProcessParametersKeep,ProcessParams,sizeof(ProcessParameters));
+ upload_process_parameters_request__free_unpacked(request,NULL);
+ }
+ my_free (buffer);
+ }
+ f_close(FileHandle);
+ }
+ else
+ {
+ LOG_ERROR(Fresult,"File open error");
}
+ my_free (FileHandle);
}
- f_close(FileHandle);
return Fresult;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
index 0907c4a67..e9efd97df 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
@@ -207,7 +207,7 @@ uint32_t IDS_StopHomeDispenser (uint32_t DispenserId)
Control3WayValvesWithCallback ((Valves_t)DispenserId, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
if (DispenserId == LUBRICANT_DISPENSER)
{
- Lubricant_2Way_Valve (START);
+ Lubricant_2Way_Valve (STOP);
}
MotorSetMicroStep(MotorId, MotorsCfg[MotorId].microstep);
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index aea16bb60..f7cf38ba8 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -475,12 +475,16 @@ c. Go to step 2.a x Segment.BrushStopsCount.
if (SegmentPtr)
my_free(SegmentPtr);
+ SegmentPtr = NULL;
if (BrushStopPtr)
my_free(BrushStopPtr);
+ BrushStopPtr = NULL;
if (Segment != NULL)
job_description_file_segment__free_unpacked(Segment,NULL);
+ Segment = NULL;
if (BrushStop != NULL)
job_description_file_brush_stop__free_unpacked (BrushStop,NULL);
+ BrushStop = NULL;
Fresult = f_close(FileHandle);
GeneralHwReady = true;
REPORT_MSG (n_segments, "Finished checking the file");
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index a285d4194..4743008e5 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -114,7 +114,10 @@ uint32_t Control_Delta_Position_Pass(uint32_t Current_Read,uint32_t Previous_Rea
if (Current_Read < Previous_Read)
+ {
Time_Pass = (MAX_COUNTER - Previous_Read) + Current_Read + 1;
+ Report("Length rollover",__FILE__,__LINE__,(int)Current_Read,RpWarning,(int)Previous_Read,0);
+ }
else
Time_Pass = Current_Read - Previous_Read;
@@ -771,7 +774,7 @@ void SetOriginMotorSpeed(float process_speed)
//MotorControlConfig[Motor_i].m_SetParam = motor_speed;
OriginalMotorSpd_2PPS[Motor_i] = (int) motor_speed;
CurrentControlledSpeed[Motor_i] = (int) motor_speed;
- Report("Original Speed",__FILE__,Motor_i,motor_speed,RpWarning,process_speed,0);
+ //Report("Original Speed",__FILE__,Motor_i,motor_speed,RpWarning,process_speed,0);
for (i = 0; i <= MAX_CONTROL_SAMPLES; i++)
MotorSpeedSamples[Motor_i][i] = motor_speed;