aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c45
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c5
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c40
6 files changed, 54 insertions, 43 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
index e90f0622e..00fd2b440 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
@@ -317,7 +317,7 @@ uint32_t MotorRunCallBackFunction(uint32_t IfIndex, uint32_t ReadValue) //TODO
if (failCounter>=8)
{
Report("arm stopped",__FILE__,failCounter,encoder,RpWarning,temp,0);
- MotorStop(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,Hard_Hiz);
+ MotorStop(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM,Hard_Stop);
RunningContinues = false;
}
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c
index cfa8c2382..91d04872e 100644
--- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c
+++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.c
@@ -22,7 +22,7 @@
#include "PMR/EmbeddedParameters/MainCardStoredDataResponse.pb-c.h"
#include "PMR/EmbeddedParameters/MainCardStoredDataRequest.pb-c.h"
#include "PMR/EmbeddedParameters/MainCardStoredItem.pb-c.h"
-
+#include "PMR/Printing/BTSRParameters.pb-c.h"
uint32_t E2Prom_Data[MAX_EEPROM_STORAGE] = {0,0,0,0,0,0};
uint32_t MCU_E2PromProgram(int Address,uint32_t Data)
@@ -362,4 +362,47 @@ void MainCardEEpromWriteRequestFunc(MessageContainer* requestContainer)
stub_main_card_eeprom_write_request__free_unpacked(request,NULL);
}
+uint32_t BtsrSaveParamsToEeprom(void *Data)
+{
+ BTSRParameters* BtsrPrameters = Data;
+ uint32_t status = 0;
+ float data;
+ data = BtsrPrameters->feedingtension;
+ status |= MCU_E2PromProgram(EEPROM_BTSR_FEEDING_TENSION, data);
+ status |= MCU_E2PromProgram(EEPROM_BTSR_TYPE, BtsrPrameters->btsryarntype);
+ status |= MCU_E2PromProgram(EEPROM_BTSR_APPLICATION, BtsrPrameters->btsrapplicationtype);
+ data = BtsrPrameters->threadlengthfactor;
+ status |= MCU_E2PromProgram(EEPROM_BTSR_LENGTH_OFFSET, data);
+ data = BtsrPrameters->tensionerror;
+ status |= MCU_E2PromProgram(EEPROM_BTSR_TENSION_ERROR, data);
+ data = BtsrPrameters->spooltension;
+ status |= MCU_E2PromProgram(EEPROM_BTSR_SPOOL_TENSION, data);
+ data = BtsrPrameters->exittension;
+ status |= MCU_E2PromProgram(EEPROM_BTSR_EXIT_TENSION, data);
+ return status;
+}
+
+uint32_t BtsrReadParamsFromEeprom(void *Data)
+{
+ BTSRParameters* BtsrPrameters = Data;
+ uint32_t status = 0;
+ float data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_FEEDING_TENSION, &data);
+ BtsrPrameters->feedingtension = data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_TYPE, &data);
+ BtsrPrameters->btsryarntype = data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_APPLICATION, &data);
+ BtsrPrameters->btsrapplicationtype = data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_LENGTH_OFFSET, &data);
+ BtsrPrameters->threadlengthfactor = data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_TENSION_ERROR, &data);
+ BtsrPrameters->tensionerror = data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_SPOOL_TENSION, &data);
+ BtsrPrameters->spooltension = data;
+ status |= MCU_E2PromRead(EEPROM_BTSR_EXIT_TENSION, &data);
+ BtsrPrameters->exittension = data;
+ Report("BtsrReadParamsFromEeprom",__FILE__,__LINE__,(int)(BtsrPrameters->feedingtension*1000),RpWarning,(int)(BtsrPrameters->tensionerror*1000),(int)(BtsrPrameters->exittension*1000));
+ Report("BtsrReadParamsFromEeprom",__FILE__,__LINE__,(int)(BtsrPrameters->btsrapplicationtype),RpWarning,(int)(BtsrPrameters->btsryarntype),(int)(BtsrPrameters->threadlengthfactor*1000));
+ return status;
+}
diff --git a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
index cffdea68b..24f229b2c 100644
--- a/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
+++ b/Software/Embedded_SW/Embedded/Drivers/flash_ram/MCU_E2Prom.h
@@ -96,6 +96,9 @@ void MainCardEEpromReadRequestFunc(MessageContainer* requestContainer);
uint32_t MCU_E2PromEmbeddedVersionProgram(void);
uint32_t MCU_E2PromEmbeddedVersionRead();
+uint32_t BtsrReadParamsFromEeprom(void *);
+uint32_t BtsrSaveParamsToEeprom(void *);
+
extern char Serial[21];
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 71bae1f40..eb5f12136 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -859,6 +859,11 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
TargetNumberOfStepsPreRun = InitialDispenserTimeout;
MaximalPressurePreRun = InitialDispenserPressure;
+ if(Head_Type == HEAD_TYPE_ARC)
+ {
+ MotorMovetoLimitSwitch(HARDWARE_MOTOR_TYPE__MOTO_DH_LID,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_LID].directionthreadwize, 30, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DH_LID], NULL,30000);
+ }
+
for (Motor_i = 0;Motor_i < MAX_SYSTEM_DISPENSERS;Motor_i++)
{
TimerMotors_t HW_Motor_Id = DispenserIdToMotorId[Motor_i];
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
index 17166a095..4ab177244 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerIdle.c
@@ -115,7 +115,7 @@ void PowerIdleSetIdle(void)
if (HandleProcessParameters(&ProcessParametersClear,false)!= OK)
{
LOG_ERROR (1, "Turn Heaters idle failed");
- return;
+ //return;
}
if (BlowerCfg.enabled == true)
{
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index ab5e68b46..9f5151117 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -134,8 +134,6 @@ static ReturnCode ExitState(void *JobDetails);
//static ReturnCode (* state[])(void *JobDetails) = { IdleState, ValidateState, PrepareState, PrintState, CleanState};
void AbortJob(char *Msg);
void HandleJobEnd(JobEndReasonEnum JobEndReason);
-uint32_t BtsrSaveParamsToEeprom(BTSRParameters *BtsrPrameters);
-uint32_t BtsrReadParamsFromEeprom(BTSRParameters *BtsrPrameters);
typedef enum
{
@@ -1448,44 +1446,6 @@ uint32_t ResumeCurrentJobRequestFunc(MessageContainer* requestContainer)
return OK;
}
-uint32_t BtsrSaveParamsToEeprom(BTSRParameters *BtsrPrameters)
-{
- uint32_t status = 0;
-
- status |= MCU_E2PromProgram(EEPROM_BTSR_FEEDING_TENSION, (uint32_t)(BtsrPrameters->feedingtension*10));
- status |= MCU_E2PromProgram(EEPROM_BTSR_TYPE, (uint32_t)(BtsrPrameters->btsryarntype));
- status |= MCU_E2PromProgram(EEPROM_BTSR_APPLICATION, (uint32_t)(BtsrPrameters->btsrapplicationtype));
- status |= MCU_E2PromProgram(EEPROM_BTSR_LENGTH_OFFSET, (uint32_t)(BtsrPrameters->threadlengthfactor));
- status |= MCU_E2PromProgram(EEPROM_BTSR_TENSION_ERROR, (uint32_t)(BtsrPrameters->tensionerror*10));
- status |= MCU_E2PromProgram(EEPROM_BTSR_SPOOL_TENSION, (uint32_t)(BtsrPrameters->spooltension));
- status |= MCU_E2PromProgram(EEPROM_BTSR_EXIT_TENSION, (uint32_t)(BtsrPrameters->exittension));
- return status;
-}
-
-uint32_t BtsrReadParamsFromEeprom(BTSRParameters *BtsrPrameters)
-{
- uint32_t status = 0;
- uint32_t feedingtension, type, application, lengthoffset;
- uint32_t tensionerror, spooltension, exittension;
-
- status |= MCU_E2PromRead(EEPROM_BTSR_FEEDING_TENSION, &feedingtension);
- BtsrPrameters->feedingtension = ((double)feedingtension)/10;
- status |= MCU_E2PromRead(EEPROM_BTSR_TYPE, &type);
- BtsrPrameters->btsryarntype = type;
- status |= MCU_E2PromRead(EEPROM_BTSR_APPLICATION, &application);
- BtsrPrameters->btsrapplicationtype = application;
- status |= MCU_E2PromRead(EEPROM_BTSR_LENGTH_OFFSET, &lengthoffset);
- BtsrPrameters->threadlengthfactor = lengthoffset;
- status |= MCU_E2PromRead(EEPROM_BTSR_TENSION_ERROR, &tensionerror);
- BtsrPrameters->tensionerror = ((double)tensionerror)/10;
- status |= MCU_E2PromRead(EEPROM_BTSR_SPOOL_TENSION, &spooltension);
- BtsrPrameters->spooltension = spooltension;
- status |= MCU_E2PromRead(EEPROM_BTSR_EXIT_TENSION, &exittension);
- BtsrPrameters->exittension = exittension;
- Report("BtsrReadParamsFromEeprom",__FILE__,__LINE__,(int)(feedingtension),RpWarning,(int)(tensionerror),(int)exittension);
- Report("BtsrReadParamsFromEeprom",__FILE__,__LINE__,(int)(application),RpWarning,(int)(type),(int)lengthoffset);
- return status;
-}
void StartJob(void *JobDetails)
{