aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2021-01-05 12:56:17 +0200
committerAvi Levkovich <avi@twine-s.com>2021-01-05 12:56:17 +0200
commit13f07d2e0c0543a76f44fbaa4b4016f267a72808 (patch)
tree756a85cbb52ab5e1b610ce86e33e461ef9942301 /Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
parent1cdf74039fbcef8ab34fe73da09d2ded4762e756 (diff)
parentb38c7c3f9432cb2836b6c93c6613686ef0bc002a (diff)
downloadTango-13f07d2e0c0543a76f44fbaa4b4016f267a72808.tar.gz
Tango-13f07d2e0c0543a76f44fbaa4b4016f267a72808.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c')
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index bbb75328b..9f5151117 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -81,7 +81,7 @@
#include "modules/ids/ids_ex.h"
#include "Modules/heaters/heaters_ex.h"
#include "Modules/control/control.h"
-
+#include "drivers/Flash_ram/MCU_E2Prom.h"
#define MAX_TICKET_SIZE 10000
@@ -106,6 +106,7 @@ JobBrushStop *TbrushStop;
JobDispenser *Tdispenser;
JobSpool *Tspool;
HeadCleaningParameters *CleaningParameters = NULL;
+BTSRParameters *BtsrPrameters = NULL;
bool CopyConfigured[MAX_SYSTEM_MODULES];
bool CleaningJobActive = false, JoggingJobActive = false;
char ErrorMsg[100];
@@ -134,7 +135,6 @@ static ReturnCode ExitState(void *JobDetails);
void AbortJob(char *Msg);
void HandleJobEnd(JobEndReasonEnum JobEndReason);
-
typedef enum
{
Idle= 0,
@@ -483,6 +483,9 @@ uint32_t ThreadJoggingFunc(int speed)
Tspool->has_limitswitchstartpointoffset = false;
Ticket.spool = Tspool;
Ticket.threadparameters = &SavedThreadParameters;
+#ifdef UFEEDER_BTSR
+ BtsrReadParamsFromEeprom(Ticket.btsrparameters);
+#endif
CurrentJob = &Ticket;
InternalWindingConfigMessage(Tspool);
JoggingJobActive = true;
@@ -681,6 +684,9 @@ uint32_t ThreadCleaningJob(int speed)
Tspool->has_limitswitchstartpointoffset = false;
Ticket.spool = Tspool;
Ticket.threadparameters = &SavedThreadParameters;
+#ifdef UFEEDER_BTSR
+ BtsrReadParamsFromEeprom(Ticket.btsrparameters);
+#endif
CurrentJob = &Ticket;
job_length = CurrentJob->length + dryerbufferMeters;
@@ -923,7 +929,7 @@ void Stub_AbortJobRequest(MessageContainer* requestContainer)
//********************************************************************************************************************
void JobRequestFunc(MessageContainer* requestContainer)
{
- uint32_t status = NOT_SUPPORTED;
+ uint32_t rc, status = NOT_SUPPORTED;
MessageContainer responseContainer;
uint8_t* container_buffer;
ErrorCode error = ERROR_CODE__NONE;
@@ -1029,7 +1035,16 @@ void JobRequestFunc(MessageContainer* requestContainer)
Report("Save job cleaning parameters", __FILE__, __LINE__, CleaningParameters->cleanerflow, RpWarning, CleaningParameters->archeadcleaningmotorspeed, 0);
}
+ if (Ticket->btsrparameters)
+ {
+ ///store last updated BTSR parameters
+ if (BtsrPrameters == NULL)
+ BtsrPrameters = my_malloc(sizeof(BTSRParameters));
+ memcpy(BtsrPrameters, Ticket->btsrparameters, sizeof(BTSRParameters));
+ rc = BtsrSaveParamsToEeprom(BtsrPrameters);
+ Report("Save job BTSR parameters", __FILE__, __LINE__, BtsrPrameters->feedingtension, RpWarning, rc, 0);
+ }
}
else
{