aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-18 09:55:10 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-18 09:55:10 +0200
commitd9a486056fabf2389f4f82df56958ccb3cf1fcde (patch)
tree3425160e0eb5ca6b19ea834eda6f53e3adf23a30 /Software/Embedded_SW/Embedded/Modules
parent5227c6345dd2d66a37dbd44a9bb8eecce7673e44 (diff)
parent493a38117c886c9c9599b67c5297025e54917cfe (diff)
downloadTango-d9a486056fabf2389f4f82df56958ccb3cf1fcde.tar.gz
Tango-d9a486056fabf2389f4f82df56958ccb3cf1fcde.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c7
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c29
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c5
7 files changed, 34 insertions, 25 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index 2c6040bab..4f6a40c90 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -187,7 +187,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params)
EmbeddedParameters->has_initialdispenserpressure = true;
EmbeddedParameters->initialdispenserpressure = 0.25;
EmbeddedParameters->has_initialdispensertimeout = true;
- EmbeddedParameters->initialdispensertimeout = 60000;
+ EmbeddedParameters->initialdispensertimeout = 180000;
EmbeddedParameters->has_initialdispensertimelag = true;
EmbeddedParameters->initialdispensertimelag = 100;
EmbeddedParameters->has_dispenserbuildpressurespeed = true;
@@ -209,7 +209,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params)
EmbeddedParameters->has_midtankpressurecorrection = true;
EmbeddedParameters->midtankpressurecorrection = 0.0;
EmbeddedParameters->has_dispenserpresegmentwfcf = true;
- EmbeddedParameters->dispenserpresegmentwfcf = 80;
+ EmbeddedParameters->dispenserpresegmentwfcf = 40;
EmbeddedParameters->has_startheatingoninitsequence = true;
EmbeddedParameters->startheatingoninitsequence = true; //set to true shlomo 14/5/2019
EmbeddedParameters->n_generalparameters = 8;
@@ -252,7 +252,7 @@ void LoadConfigurationParameters(ConfigurationParameters *Params)
EmbeddedParameters->has_idlemixertemperature = true;
EmbeddedParameters->idlemixertemperature = 0;
EmbeddedParameters->has_powerofftemperaturelimit = true;
- EmbeddedParameters->powerofftemperaturelimit = 50;
+ EmbeddedParameters->powerofftemperaturelimit = 90;
EmbeddedParameters->has_ids_presegment_wfcf_timebeforesegment = true;
EmbeddedParameters->ids_presegment_wfcf_timebeforesegment = 20000;
uint8_t* response_buffer = my_malloc(configuration_parameters__get_packed_size(EmbeddedParameters));
@@ -494,7 +494,7 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest)
}
BlowerCfg.enabled = true;
- BlowerCfg.voltage = 3000;
+ BlowerCfg.voltage = 2650;
BlowerCfg.heatingvoltage = 3000;
if (WHS_Type == WHS_TYPE_UNKNOWN)
blowerType = HARDWARE_BLOWER_TYPE__WHSBlower2;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 82f7e300f..290e65fa9 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1492,14 +1492,13 @@ uint32_t DrierHeaterVlotageSetup(double voltage)
if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines
{
DrierAcVoltage = ReadVAC();
- //if ()
}
else
{
UseSecondaryDrierHeater = true;
}
-
+return OK;
}
uint32_t HeatersControlLoop(uint32_t tick)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
index 9ad8d485b..68da1317b 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_maint.c
@@ -90,7 +90,11 @@ AutoHoming_Config_enum AutoHoming_Config = AutoHoming_off;
void IDS_Dispenser_SetAutoHoming_Config(AutoHoming_Config_enum Config)
{
Report("IDS_Dispenser_SetAutoHoming_Config ",__FILE__,__LINE__,Config,RpWarning,AutoHoming_Config,0);
+#ifdef SPECIAL_DISPENSERS
+ AutoHoming_Config = AutoHoming_off;
+#else
AutoHoming_Config = Config;
+#endif
}
void IDS_Dispenser_SetBackLashValues(double initialdispenserpressure, uint32_t initialdispensertimeout, uint32_t initialdispensertimelag, uint32_t initialdispenserspeed)
@@ -544,7 +548,8 @@ void IDS_Dispenser_Init(uint8_t DispenserId)
PrimingActive[DispenserId]= false;
Valve_Set(IDS_Id_to_AirValve[DispenserId], Atm_MidTank_OFF);
Control3WayValvesWithCallback ((Valves_t)DispenserId, MidTank_Dispenser, NULL); //direction: MidTank_Dispenser or Dispenser_Mixer
+#ifdef SPECIAL_DISPENSERS
if (ControlIdtoInactiveDispenserId[DispenserId] == 0xFF)
ControlIdtoInactiveDispenserId[DispenserId] = AddControlCallback("IDS_Check_Pressure", IDS_Check_Pressure_Callback, eOneMinute,TemplateDataReadCBFunction ,DispenserId, 0, 0 );
-
+#endif
}
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 04abb6870..14718ab0e 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -1033,6 +1033,8 @@ uint32_t IDS_Cleaning_Stop_Cleaning_Solution (callback_fptr callback);
if (CurrentDispenserSpeed[CLEANER_DISPENSER]>0)
IDS_Cleaning_Stop_Cleaning_Solution (NULL);
setRapidPressureRead(false);
+ if (JobEndSequence == true)
+ DistanceToSpoolReady(Module_IDS,ModuleDone);
}
if (EnableCleaning == true)
{
@@ -1510,7 +1512,7 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
#else
Valve_Set(VALVE_MIXCHIP_WASTECH, Mixer_Head);
#endif
- //IDS_Cleaning_Stop_Cleaning_Solution(NULL);
+ IDS_Cleaning_Stop_Cleaning_Solution(NULL);
SegmentNumOfBrushStops = Segment->n_brushstops;
BrushStopTime = Segment->length*1000/(double)SegmentNumOfBrushStops; //brushstop in meters //brushstop in millisecond
BrushStopTime = ((BrushStopTime*100)/dyeingspeed);//brushstop in seconds
@@ -1537,7 +1539,7 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
if (DispenserPreSegmentControlId != 0xFF)
{
Report("IDS presegment not yet ended!!",__FILE__,__LINE__,(int)InterSegmentStepsCount,RpWarning,(int)lInterSegmentLength,0);
- IDS_Cleaning_Stop_Cleaning_Solution (NULL);
+ //IDS_Cleaning_Stop_Cleaning_Solution (NULL);
RemoveControlCallback(DispenserPreSegmentControlId, IDSPreSegmentStateCallbackRunner );
DispenserPreSegmentControlId = 0xFF;
}
@@ -1601,17 +1603,18 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
for (Dispenser_i = 0;Dispenser_i < MAX_DYE_DISPENSERS;Dispenser_i++)
{
DispenserDistanceToSpoolReady[Dispenser_i] = true;
- if (DispenserUsedInJob[Dispenser_i]==false)//unconfigured dispenser
- continue;
- DispenserDistanceToSpoolReady[Dispenser_i] = false;
-#ifdef SPECIAL_DISPENSERS
- IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,NULL);
-#else
- MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz);
-#endif
- Control3WayValvesWithCallback ((Valves_t)Dispenser_i, MidTank_Dispenser, IDS_Valve_DistanceToSpoolValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
- CurrentDispenserSpeed[Dispenser_i] = 0;
- //IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,IDS_Valve_DistanceToSpoolValveReady);
+ if (DispenserUsedInJob[Dispenser_i]==true)//unconfigured dispenser
+ {
+ DispenserDistanceToSpoolReady[Dispenser_i] = false;
+ #ifdef SPECIAL_DISPENSERS
+ IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,NULL);
+ #else
+ MotorStop(DispenserIdToMotorId[Dispenser_i],Hard_Hiz);
+ #endif
+ Control3WayValvesWithCallback ((Valves_t)Dispenser_i, MidTank_Dispenser, IDS_Valve_DistanceToSpoolValveReady); //direction: MidTank_Dispenser or Dispenser_Mixer
+ CurrentDispenserSpeed[Dispenser_i] = 0;
+ //IDS_Dispenser_Close_Valve_And_Stop_Motor(Dispenser_i,IDS_Valve_DistanceToSpoolValveReady);
+ }
}
//cleaning
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index d329c0eeb..677d3fa5f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -10,6 +10,7 @@
#include "Drivers/USB_Communication/USBCDCD.h"
#include "StateMachines/Initialization/PowerOffSequence.h"
+#include "StateMachines/Initialization/PowerIdle.h"
#include "drivers/Flash_Memory/FATFS/ff.h"
#include "drivers/Flash_Memory/FATFS/Control_File_System.h"
@@ -390,8 +391,9 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if((request -> delay & 0xFFF000) == 0xCAF000)//Actuator
{
- HeadCard_Actuators_Control((ACTUATORS)((request -> delay & 0x100)>>8), (bool)((request -> delay & 0x10)>>4), (bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
- response.progress = HeadCard_Actuators_Status((ACTUATORS)(request -> delay & 0x100)>>8);
+ //HeadCard_Actuators_Control((ACTUATORS)(((request -> delay) & 0x100)>>8), /*(bool)((request -> delay & 0x10)>>4), */(bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
+ Trigger_Head_Actuators_Control((ACTUATORS)(((request -> delay) & 0x100)>>8), (bool)((request -> delay & 0x10)>>4), (bool)((request -> delay & 0x01)));//Actuators: ID, power, Direction
+ //response.progress = HeadCard_Actuators_Status((ACTUATORS)((request -> delay) & 0x100)>>8);
response.has_progress = true;
}
else
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index 4ab59ec19..128564586 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -1422,6 +1422,7 @@ uint32_t StopThreadLoadingFunc(MessageContainer* requestContainer)
MessageContainer responseContainer;
MessageState = 2;
Thread_Load_End();
+ MCU_E2PromProgram(EEPROM_STORAGE_DRYER_CYCLES,numberOfCycles);
Report("StopThreadLoadingFunc",__FILE__,__LINE__,0xFF,RpWarning,(int)LoadStages,0);
responseContainer = createContainer(MESSAGE_TYPE__StopThreadLoadingResponse, requestContainer->token, true, &Cresponse, &stop_thread_loading_response__pack, &stop_thread_loading_response__get_packed_size);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
index ec705c2d2..fb3b78752 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c
@@ -73,15 +73,14 @@ uint32_t MotorsConfigMessage(HardwareConfiguration * HWrequest)
MotorsCfg[Motor_i].pulseperround = request->pulseperround;
MotorsCfg[Motor_i].pulleyradius = request->pulleyradius;
MotorsCfg[Motor_i].configword = request->configword;
- MotorsCfg[Motor_i].directionthreadwize = request->directionthreadwize;//L6470 + L6472
-/* if(MotorDriverResponse[Motor_i].DriverType != CombinrdMotDriver)
+ if(MotorDriverResponse[Motor_i].DriverType == CombinrdMotDriver)
{
MotorsCfg[Motor_i].directionthreadwize = request->directionthreadwize ^ 1;//PowerSTEP01
}
else
{
MotorsCfg[Motor_i].directionthreadwize = request->directionthreadwize;//L6470 + L6472
- }*/
+ }
MotorsCfg[Motor_i].kvalhold = request->kvalhold;
MotorsCfg[Motor_i].kvalrun = request->kvalrun;
MotorsCfg[Motor_i].kvalacc = request->kvalacc;