aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-06-09 15:56:31 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-06-09 15:56:31 +0300
commitbfc8d0cc2055b7fa5171aeace011435e23f71359 (patch)
tree1c54afd7588036c6b3a278e97047cae5f6af0c1d /Software/Embedded_SW
parentb9f91e4025d6b6ae35eeb58f603bc2c32dbb4fbc (diff)
downloadTango-bfc8d0cc2055b7fa5171aeace011435e23f71359.tar.gz
Tango-bfc8d0cc2055b7fa5171aeace011435e23f71359.zip
fixing some bugs in version 30
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c14
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c1
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.c32
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h6
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.c14
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.h4
-rw-r--r--Software/Embedded_SW/Embedded/DataDef.h3
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/Control_File_System.c3
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c4
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg6
-rw-r--r--Software/Embedded_SW/Embedded/Main.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c17
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c16
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/process.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c5
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c19
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c22
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.h1
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c89
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c4
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c2
27 files changed, 228 insertions, 63 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
index 1b53a826b..65328efb3 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
@@ -60,6 +60,7 @@ uint32_t ReadBytes = 0;
Task_Handle CommRxTaskHandle;
extern Semaphore_Handle FFS_Sem;
+extern Semaphore_Handle FileUpload_sem_param;
ErrorCode getErrorCode(FRESULT Fresult)
{
@@ -101,7 +102,7 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer)
Fresult = FR_DENIED;
else
{
- if (Semaphore_pend(FFS_Sem, BIOS_NO_WAIT))
+ if (Semaphore_pend(FileUpload_sem_param, BIOS_NO_WAIT))
{
CommRxTaskHandle = Task_self();
Task_setPri(CommRxTaskHandle, 2);
@@ -125,7 +126,7 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer)
{
my_free (UploadFileHandle);
UploadFileHandle = 0;
- Semaphore_post(FFS_Sem);
+ Semaphore_post(FileUpload_sem_param);
}
}
else
@@ -162,9 +163,14 @@ uint32_t FileChunkUploadCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
UploadFileHandle = 0;
FileReceivedLength = 0;
FileDone = true;
+ Task_setPri(CommRxTaskHandle, 9);
+ Semaphore_post(FileUpload_sem_param);
+ //Report("Task_setPri", __FILE__, __LINE__, 9, RpWarning, (int)CommRxTaskHandle, 0);
if (SafeRemoveControlCallback(Chunk_ControlId, FileChunkUploadCallBackFunction )==OK)
Chunk_ControlId = 0xFF;
+ return OK;
+
}
uint32_t FileChunkUploadRequestFunc(MessageContainer* requestContainer)
@@ -257,7 +263,7 @@ uint32_t FileChunkUploadRequestFunc(MessageContainer* requestContainer)
if (FileDone == true)
{
Task_setPri(CommRxTaskHandle, 9);
- Semaphore_post(FFS_Sem);
+ Semaphore_post(FileUpload_sem_param);
//Report("Task_setPri", __FILE__, __LINE__, 9, RpWarning, (int)CommRxTaskHandle, 0);
}
return OK;
@@ -273,7 +279,7 @@ void FileChunkUploadError(void)
FileReceivedLength = 0;
FileDone = true;
Task_setPri(CommRxTaskHandle, 9);
- Semaphore_post(FFS_Sem);
+ Semaphore_post(FileUpload_sem_param);
}
}
uint32_t FileDownloadRequestFunc(MessageContainer* requestContainer)
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c
index f39f6a5eb..013a06e22 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FirmwareUpgrade.c
@@ -32,7 +32,6 @@
#include "Modules/AlarmHandling/AlarmHandling.h"
#include "modules/General/process.h"
-extern Semaphore_Handle FFS_Sem;
int NumberOfFiles = 0,CurrentRunningFile;
int CurrentFileSize = 0;
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.c
index f8b36e663..14b93a98c 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.c
@@ -52,7 +52,7 @@ void diagnostics_monitors__free_unpacked
assert(message->base.descriptor == &diagnostics_monitors__descriptor);
protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
}
-static const ProtobufCFieldDescriptor diagnostics_monitors__field_descriptors[88] =
+static const ProtobufCFieldDescriptor diagnostics_monitors__field_descriptors[90] =
{
{
"",
@@ -1110,6 +1110,30 @@ static const ProtobufCFieldDescriptor diagnostics_monitors__field_descriptors[88
0, /* flags */
0,NULL,NULL /* reserved1,reserved2, etc */
},
+ {
+ "",
+ 89,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DiagnosticsMonitors, n_headblower1airflow),
+ offsetof(DiagnosticsMonitors, headblower1airflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "",
+ 90,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(DiagnosticsMonitors, n_headblower2airflow),
+ offsetof(DiagnosticsMonitors, headblower2airflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
};
static const unsigned diagnostics_monitors__field_indices_by_name[] = {
38, /* field[38] = BlowerVoltage */
@@ -1150,6 +1174,8 @@ static const unsigned diagnostics_monitors__field_indices_by_name[] = {
25, /* field[25] = FilterDeltaPressure */
85, /* field[85] = GasSensor */
13, /* field[13] = HeadAirFlow */
+ 88, /* field[88] = HeadBlower1AirFlow */
+ 89, /* field[89] = HeadBlower2AirFlow */
78, /* field[78] = HeadBlowerVoltage1 */
79, /* field[79] = HeadBlowerVoltage2 */
80, /* field[80] = HeadCoverHeater1Current */
@@ -1204,7 +1230,7 @@ static const unsigned diagnostics_monitors__field_indices_by_name[] = {
static const ProtobufCIntRange diagnostics_monitors__number_ranges[1 + 1] =
{
{ 1, 0 },
- { 0, 88 }
+ { 0, 90 }
};
const ProtobufCMessageDescriptor diagnostics_monitors__descriptor =
{
@@ -1214,7 +1240,7 @@ const ProtobufCMessageDescriptor diagnostics_monitors__descriptor =
"",
"",
sizeof(DiagnosticsMonitors),
- 88,
+ 90,
diagnostics_monitors__field_descriptors,
diagnostics_monitors__field_indices_by_name,
1, diagnostics_monitors__number_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h
index 172fb5e24..a6a28e4d0 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Diagnostics/DiagnosticsMonitors.pb-c.h
@@ -203,10 +203,14 @@ struct _DiagnosticsMonitors
double *incomingvoltage;
size_t n_wastelevel;
double *wastelevel;
+ size_t n_headblower1airflow;
+ double *headblower1airflow;
+ size_t n_headblower2airflow;
+ double *headblower2airflow;
};
#define DIAGNOSTICS_MONITORS__INIT \
{ PROTOBUF_C_MESSAGE_INIT (&diagnostics_monitors__descriptor) \
- , 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL }
+ , 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL }
/* DiagnosticsMonitors methods */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.c
index 0cc200a76..079666ee2 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.c
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.c
@@ -7,22 +7,26 @@
#endif
#include "HardwareBlowerType.pb-c.h"
-static const ProtobufCEnumValue hardware_blower_type__enum_values_by_number[4] =
+static const ProtobufCEnumValue hardware_blower_type__enum_values_by_number[6] =
{
{ "", "", 0 },
{ "", "", 1 },
{ "", "", 2 },
{ "", "", 3 },
+ { "", "", 4 },
+ { "", "", 5 },
};
static const ProtobufCIntRange hardware_blower_type__value_ranges[] = {
-{0, 0},{0, 4}
+{0, 0},{0, 6}
};
-static const ProtobufCEnumValueIndex hardware_blower_type__enum_values_by_name[4] =
+static const ProtobufCEnumValueIndex hardware_blower_type__enum_values_by_name[6] =
{
{ "", 0 },
{ "", 1 },
{ "", 2 },
{ "", 3 },
+ { "", 5 },
+ { "", 4 },
};
const ProtobufCEnumDescriptor hardware_blower_type__descriptor =
{
@@ -31,9 +35,9 @@ const ProtobufCEnumDescriptor hardware_blower_type__descriptor =
"",
"",
"",
- 4,
+ 6,
hardware_blower_type__enum_values_by_number,
- 4,
+ 6,
hardware_blower_type__enum_values_by_name,
1,
hardware_blower_type__value_ranges,
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.h
index b530430ff..84beee442 100644
--- a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.h
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareBlowerType.pb-c.h
@@ -23,7 +23,9 @@ typedef enum _HardwareBlowerType {
HARDWARE_BLOWER_TYPE__DefaultBlower = 0,
HARDWARE_BLOWER_TYPE__HeadBlower1 = 1,
HARDWARE_BLOWER_TYPE__HeadBlower2 = 2,
- HARDWARE_BLOWER_TYPE__WHSBlower2 = 3
+ HARDWARE_BLOWER_TYPE__WHSBlower2 = 3,
+ HARDWARE_BLOWER_TYPE__WHSSmallFans = 4,
+ HARDWARE_BLOWER_TYPE__WHSLargeFans = 5
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_BLOWER_TYPE)
} HardwareBlowerType;
diff --git a/Software/Embedded_SW/Embedded/DataDef.h b/Software/Embedded_SW/Embedded/DataDef.h
index a50889e47..ca8217683 100644
--- a/Software/Embedded_SW/Embedded/DataDef.h
+++ b/Software/Embedded_SW/Embedded/DataDef.h
@@ -165,6 +165,7 @@ enum
#define STOPPED 0
#define MOVING 1
+extern int InitFailures;
/*
#define CurrentMotDriver 0x08
@@ -391,6 +392,8 @@ typedef enum
}WHS_TYPE;
extern uint8_t WHS_Type;
+extern uint8_t SmallFansCfg;
+extern uint8_t LargeFansCfg;
bool Is_PP_Machine(void);
diff --git a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c
index b1fbcbf44..f2cc8d093 100644
--- a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c
+++ b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c
@@ -71,7 +71,7 @@ float CalculateDispenserPressure (int DispenserId)
if(data<Bits_Min)
{
- data = Bits_Min;//4mA 0Bar
+ data = Bits_Min;//40mA 0Bar
//if (isDispenserInConfig(DispenserId))
// Report("Dispenser - Reading wrong data from ADC",__FILE__,__LINE__,DispenserId,RpWarning,(int)data,0);
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/Control_File_System.c b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/Control_File_System.c
index 7707584c9..b51173607 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/Control_File_System.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Flash_Memory/FATFS/Control_File_System.c
@@ -92,6 +92,7 @@ static FATFS g_sFatFs;
//static int response ;
extern Semaphore_Handle FFS_Sem;
+extern Semaphore_Handle FileUpload_sem_param;
char FlashReadstring [35];
char FlashReadstring1 [35];
@@ -107,7 +108,6 @@ FRESULT Init_Flash_File_System(bool Need_mkfs)
//in C:\TI\TivaWare_C_Series-2.1.2.111\third_party\fatfs\src\ffconf.h
#endif
- Semaphore_post(FFS_Sem);
// Mount the file system, using logical disk 0.
iFResult = f_mount(0, &g_sFatFs);
if(iFResult != FR_OK)
@@ -132,6 +132,7 @@ FRESULT Init_Flash_File_System(bool Need_mkfs)
iFResult = f_mkfs( 0, 0, 512 ); //Create File System on the Drive
Semaphore_post(FFS_Sem);
+ Semaphore_post(FileUpload_sem_param);
return iFResult;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c
index 40511fe98..7c854fe8b 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c
@@ -24,6 +24,8 @@ uint8_t Fan_Mux_Channel = UNKNOWN;
bool Select_WHS_Fan_Mux_Channel(WHS_fan_num fan_number);
uint8_t Select_Fan_Driver(WHS_fan_num fan_number);
+uint8_t SmallFansCfg = 200;
+uint8_t LargeFansCfg = 200;
/*
EMC2301 / EMC2302
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c
index 4dc30752d..9a2ed52af 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c
@@ -417,7 +417,7 @@ bool WHS_Set_Blower_Control_Closed_Loop(double Q_value)
}
}
- if (tmp > 0.05)
+ if (tmp > 0.02)
{
volt = getBlowerState();
//volt = g_MAX5805_device.CODE;
@@ -486,7 +486,7 @@ void WHS_Set_SetPoint_Q_value(double value)
SetPoint_Q = value;
CofigurationFlow = 0;
WHS_Start_Blower_Control_Closed_Loop();
- Report("------------ SetPoint_Q_value :-----------------", __FILE__,__LINE__, (int)(SetPoint_Q*100), RpMessage, (int)CofigurationFlow, 0);
+ Report("------------ SetPoint_Q_value :-----------------", __FILE__,__LINE__, (int)(SetPoint_Q*100), RpMessage, (int)close_loop_time, 0);
}
void WHS_enable_control_loop(bool value) // 0=disable 1= enable
diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg
index 666d9f9b3..10f94e08c 100644
--- a/Software/Embedded_SW/Embedded/Embedded.cfg
+++ b/Software/Embedded_SW/Embedded/Embedded.cfg
@@ -86,6 +86,12 @@ semaphore6Params.instance.name = "FFS_Sem";
semaphore6Params.mode = Semaphore.Mode_BINARY;
Program.global.FFS_Sem = Semaphore.create(null, semaphore6Params);
+var semaphore8Params = new Semaphore.Params();
+semaphore8Params.instance.name = "FileUpload_sem_param";
+semaphore8Params.mode = Semaphore.Mode_BINARY;
+Program.global.FileUpload_sem_param = Semaphore.create(null, semaphore8Params);
+
+
var semaphore7Params = new Semaphore.Params();
semaphore7Params.instance.name = "ReconnectSem";
semaphore7Params.mode = Semaphore.Mode_BINARY;
diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c
index a5ddb694b..ed4948a28 100644
--- a/Software/Embedded_SW/Embedded/Main.c
+++ b/Software/Embedded_SW/Embedded/Main.c
@@ -135,6 +135,10 @@ Void errHook(Error_Block *eb)
COMM_GREEN_LED_OFF;
STATUS_RED_LED_ON;
+ //MCU_E2PromRead(EEPROM_INIT_FAILURE_COUNTER,&InitFailures);
+ InitFailures++;
+ MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,InitFailures);
+
ACTIVITY_RED_LED_ON;
COMM_RED_LED_ON;
@@ -249,6 +253,7 @@ int main(void)
LOG_ERROR(Version.m_minor,"Version change, do stuff");
FlashInit();
MCU_E2PromEmbeddedVersionProgram();
+ MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0);
}
#endif
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c
index 5b8866a28..0bb16c623 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsJogging.c
@@ -39,6 +39,7 @@
uint32_t MotorJoggingRequestFunc(MessageContainer* requestContainer)
{
uint32_t status = OK;
+ bool allowedInJob =true;
MessageContainer responseContainer;
@@ -51,9 +52,23 @@ uint32_t MotorJoggingRequestFunc(MessageContainer* requestContainer)
int speed = request->speed;
if (speed == 0) speed = 150;
+ if (JobIsActive() == true)
+ {
+ switch (MotorId)
+ {
+ case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1:case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_2:case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_3:case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_4:
+ case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_5:case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_6:case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_7:case HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_8:
+ case HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING:case HARDWARE_MOTOR_TYPE__MOTO_DRYER_LOADARM:case HARDWARE_MOTOR_TYPE__MOTO_SCREW:case HARDWARE_MOTOR_TYPE__MOTO_WINDER:
+ case HARDWARE_MOTOR_TYPE__MOTO_LDRIVING:case HARDWARE_MOTOR_TYPE__MOTO_LLOADING:case HARDWARE_MOTOR_TYPE__MOTO_RDRIVING:case HARDWARE_MOTOR_TYPE__MOTO_RLOADING:
+ allowedInJob = false;
+ break;
+ default:
+ break;
+ }
+ }
if (MotorId <= NUM_OF_MOTORS)
{
- if ((JobIsActive() == false)&&(isMotorConfigured(MotorId) == true))
+ if ((allowedInJob == true)&&(isMotorConfigured(MotorId) == true))
{
{
switch (request->direction)
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index 39d10bfc2..d0470a11b 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -396,6 +396,13 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest)
LOG_ERROR (0, "Wrong Data Allocation");
return ERROR;
}
+ if (InitFailures > 3)
+ {
+ Report("HWConfigurationInit repeated failure",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0);
+ AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_HW_CONFIG_FAILED,ON);
+ return ERROR;
+ }
+
HardwareConfiguration *request = UploadRequest->hardwareconfiguration;
if (JobIsActive())
@@ -528,6 +535,15 @@ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest)
break;
}
+ if((request->blowers[Dispenser_i]->enabled)&&(request->blowers[Dispenser_i]->hardwareblowertype == HARDWARE_BLOWER_TYPE__WHSSmallFans))
+ {
+ SmallFansCfg = request->blowers[Dispenser_i]->voltage;
+ }
+ if((request->blowers[Dispenser_i]->enabled)&&(request->blowers[Dispenser_i]->hardwareblowertype == HARDWARE_BLOWER_TYPE__WHSLargeFans))
+ {
+ LargeFansCfg = request->blowers[Dispenser_i]->voltage;
+ }
+
}
}
ControlStart();
diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c
index 1e04ccb83..7bf72ba8c 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/process.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/process.c
@@ -125,6 +125,11 @@ uint32_t HandleProcessParameters(ProcessParameters* ProcessParams,bool saveData)
ReadAppAndProgram(PROCESS_PARAMETERS_MAP_IN_FLASH+4, Bytes, ProcessParams);
REPORT_MSG(Bytes,"Bytes write to flash");
}
+ else
+ {
+ ProcessParams->headairflow = headairflow;
+ ReportWithPackageFilter(InitFilter,"HandleProcessParameters temp off blower on",__FILE__,(int)__LINE__,(int)ProcessParams->headairflow,RpWarning,(int)ProcessParametersKeep.headairflow,0);
+ }
}
HeatersStopControlOnHeatersOff(ProcessParams);
dyeingspeed = ProcessParams->dyeingspeed;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 380eb99ca..53501e3db 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1149,7 +1149,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
if ((readValue>(HeaterCmd[index].targettemperatue+800))&&(getIdleState() == false))
{
- ReportWithPackageFilter(HeatersFilter, "AC OverHeating in progress",__FILE__,readValue,HeaterReady[index],RpError, HeaterAtTemp[index],0);
+ ReportWithPackageFilter(HeatersFilter, "AC OverHeating in progress",__FILE__,readValue,GetHeaterState(HEATER_TYPE__DryerMainHeater),RpError, GetHeaterState(HEATER_TYPE__DryerSecondaryHeater),0);
ReportWithPackageFilter(HeatersFilter, "AC OverHeating PID",__FILE__,(int)HeaterPIDConfig[index].m_calculatedError,(int)HeaterPIDConfig[index].m_SetParam,RpError, (int)HeaterPIDConfig[index].m_integral,0);
}
// check if the read value is within the proportional band
@@ -1636,9 +1636,10 @@ uint32_t DrierHeaterVoltageSetup(void)
}
else
{
- Z1Current = Get_Heaters_Current(HEATER_DRYER_CURRENT_1);
+ Z1Current = GetZone1RMSCurrent(DrierAcVoltage); //changed to assumed current as calculated on init
Z2AssumedCurrent = GetZone2RMSCurrent(DrierAcVoltage);
LimitCurrent = TotalCurrentLimit(DrierAcVoltage);
+ //hysteresis: activate
if ((Z2AssumedCurrent+Z1Current)>LimitCurrent)
{
UseSecondaryDrierHeater = false;
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 1c43872cc..a713ce355 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -725,6 +725,11 @@ uint32_t InactiveDispenserHome(uint32_t DispenserId, uint32_t ReadValue)
Report("Setting pressure from RML feeder tension",__FILE__,__LINE__,(int)(cleanerFlow),RpWarning,(int)CleaningDispenserSpeed,0);
CleaningDispenserSpeed = cleanerFlow;
}
+ else if (cleanerFlow <= 10)
+ {
+ CleaningDispenserSpeed = 0;
+ EnableCleaning = false;
+ }
for (Motor_i = 0;Motor_i < MAX_SYSTEM_DISPENSERS;Motor_i++)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index 349215d7d..50750a49e 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -190,6 +190,9 @@
ProcessParametersClear.lblowerflow = 0;
ProcessParametersClear.dyeingspeed = 40;
ProcessParametersClear.dryerbufferlength = ProcessParametersKeep.dryerbufferlength;
+ ProcessParametersClear.pullertension = ProcessParametersKeep.pullertension;
+ ProcessParametersClear.windertension = ProcessParametersKeep.windertension;
+
if (HandleProcessParameters(&ProcessParametersClear,false)!= OK)
{
LOG_ERROR (LoadStages, "Thread_Load_Reduce_Heat failed");
@@ -286,7 +289,7 @@
{
TimeoutsCounter = 0;
load.color = fastBILNK;
- usnprintf(LoadErrorMsg, 100, "Stage %s - motor %s timeout",LoadStagesStr[LoadStages], MotorStr[MotorId]);
+ usnprintf(LoadErrorMsg, 100, "Stage %s - %s timeout",LoadStagesStr[LoadStages], MotorStr[MotorId]);
Report(LoadErrorMsg,__FILE__,__LINE__,LoadStages,RpWarning,TimeoutsCounter,0);
LoadStatus = ERROR;
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index 9ee2e1f37..ca41a8e70 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -149,12 +149,12 @@ uint32_t Winder_Prepare(void *JobDetails)
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
{
REPORT_MSG(LIMIT, "No cone in winder");
- if (Is_PP_Machine())
+ /*if (Is_PP_Machine())
{
PrepareReady(Module_Winder,ModuleFail);
AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true);
return ERROR;
- }
+ }*/
}
#ifdef READ_SCREW_ENCODER
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
index 1e730e252..5c9b360f6 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
@@ -81,6 +81,7 @@ void ThreadLoadRequest(MessageContainer* requestContainer);
uint32_t StartThreadLoadingFunc(MessageContainer* requestContainer);
uint32_t ContinueThreadLoadingFunc(MessageContainer* requestContainer);
uint32_t StopThreadLoadingFunc(MessageContainer* requestContainer);
+uint32_t TryThreadLoadingFunc(MessageContainer* requestContainer);
uint32_t Thread_Load_End(void);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 545fb40e6..efcbd5030 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -217,6 +217,7 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue)
if (FeederSpeedIndex>=SPEED_STORE_SIZE)
{
FeederSpeedIndex = 0;
+ FeederSpeedAverage = 0;
for (Speed_i = 0;Speed_i<SPEED_STORE_SIZE;Speed_i++)
FeederSpeedAverage+=FeederSpeedStore[Speed_i];
FeederSpeedAverage = FeederSpeedAverage/SPEED_STORE_SIZE;
@@ -316,6 +317,7 @@ uint32_t PoolerThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue)
if (PullerSpeedIndex>=SPEED_STORE_SIZE)
{
PullerSpeedIndex = 0;
+ PullerSpeedAverage = 0;
for (Speed_i = 0;Speed_i<SPEED_STORE_SIZE;Speed_i++)
PullerSpeedAverage+=PullerSpeedStore[Speed_i];
PullerSpeedAverage = PullerSpeedAverage/SPEED_STORE_SIZE;
@@ -976,16 +978,19 @@ uint32_t ThreadPrepare_Tension (int DancerId, double tension)
//return ERROR;
}*/
- if (FPGA_Read_limit_Switches(Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DH_LID]) == LIMIT)
+ if ((FPGA_Read_limit_Switches(Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DH_LID]) == LIMIT)&&(JoggingJobActive == false))
{
- ReportWithPackageFilter(ThreadFilter,"Dyeing head is wide open!!!",__FILE__,__LINE__,HARDWARE_MOTOR_TYPE__MOTO_DH_LID,RpFatalError,LIMIT,0);
- JobEndReason = JOB_LIDS_OPEN;
- PrepareReady(Module_Thread,ModuleFail);
- return ERROR;
+ if(Head_Type != HEAD_TYPE_STAPLE_SPUN)
+ {
+ ReportWithPackageFilter(ThreadFilter,"Dyeing head is wide open!!!",__FILE__,__LINE__,HARDWARE_MOTOR_TYPE__MOTO_DH_LID,RpError,LIMIT,0);
+ JobEndReason = JOB_LIDS_OPEN;
+ PrepareReady(Module_Thread,ModuleFail);
+ return ERROR;
+ }
}
- if (FPGA_Read_limit_Switches(Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID]) == LIMIT)
+ if ((FPGA_Read_limit_Switches(Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID]) == LIMIT)&&(JoggingJobActive == false))
{
- ReportWithPackageFilter(ThreadFilter,"Dryer lid is wide open!!!",__FILE__,__LINE__,HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID,RpFatalError,LIMIT,0);
+ ReportWithPackageFilter(ThreadFilter,"Dryer lid is wide open!!!",__FILE__,__LINE__,HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID,RpError,LIMIT,0);
JobEndReason = JOB_LIDS_OPEN;
PrepareReady(Module_Thread,ModuleFail);
return ERROR;
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
index fb5cd884d..095f36d48 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c
@@ -82,6 +82,7 @@ uint32_t InitSequenceMachineReadyToDye(void);
uint32_t InitSequenceStateMachine( INIT_SEQUENCE_STAGES_ENUM ReadValue);
uint32_t PowerUpUpdate(MACHINE_STATE_STAGES_ENUM stage);
+int InitFailures = 0;
MACHINE_STATE_STAGES_ENUM GetMachineState(void)
{
@@ -100,12 +101,14 @@ void StopInitSequence(void)
uint32_t InitSequenceCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
{
MACHINE_STATE_STAGES_ENUM status;
- int InitFailures = 0;
if (SafeRemoveControlCallback(HWControlId, InitSequenceCallBackFunction )==OK)
HWControlId = 0xFF;
else
Report("Remove control callback failed",__FILE__,__LINE__,(int)HWControlId,RpWarning,(int)InitSequenceCallBackFunction,0);
MCU_E2PromRead(EEPROM_INIT_FAILURE_COUNTER,&InitFailures);
+ InitFailures++;
+ MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,InitFailures);
+
if (InitFailures > 100)
{
InitFailures = 0;
@@ -114,7 +117,7 @@ uint32_t InitSequenceCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag)
if (InitFailures > 3)
{
Report("HWConfigurationInit repeated failure",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0);
- SetMachineState(status);
+ SetMachineState(MACHINE_STATE_HW_CONFIG_FAILED);
AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_HW_CONFIG_FAILED,ON);
SetMachineStatus(MACHINE_STATE__Error);
return ERROR;
@@ -173,7 +176,6 @@ void InitSequenceBuiltInTestCallBack(uint32_t IfIndex, uint32_t BusyFlag)
InitStages++;
//InitSequenceStateMachine(InitStages);
AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE,false);
- MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0);
}
else
{
@@ -262,6 +264,7 @@ double MainCurrent,SecondaryCurrent,StableCurrent;
double InitDrierAcVoltage = 0.0;
int InitDrierAcVoltageCount = 0;
double Zone2Resistance = 0.0;
+double Zone1Resistance = 0.0;
int WaitForCurrentRaise = 0;//let the heater current raise
void InitCurrentReadingStable(void)
{
@@ -302,6 +305,11 @@ bool DetectIfCurrentReadingStable(double HeaterCurrent)
}
return ret;
}
+
+double GetZone1RMSCurrent(double VAC)
+{
+ return (VAC/Zone1Resistance);
+}
double GetZone2RMSCurrent(double VAC)
{
return (VAC/Zone2Resistance);
@@ -326,6 +334,7 @@ uint32_t PowerManagementCallBack(uint32_t IfIndex, uint32_t BusyFlag)
InitDrierAcVoltage /= InitDrierAcVoltageCount;
MainCurrent = StableCurrent;
InitCurrentReadingStable();
+ Zone1Resistance = InitDrierAcVoltage/MainCurrent;
DeActivateHeater(HEATER_TYPE__DryerMainHeater);
ActivateHeater(HEATER_TYPE__DryerSecondaryHeater);
ReportWithPackageFilter(InitFilter,"starting secondary heater ", __FILE__,__LINE__,(int)(StableCurrent*100), RpMessage, Maxcount_Heater_Current, 0);
@@ -518,6 +527,12 @@ uint32_t InitSequenceWaitForCoolerCallBackFunction(uint32_t IfIndex, uint32_t Bu
}
uint32_t InitSequenceWaitForCooler(void)
{
+ Trigger_SetWHSFanSpeed(FAN1, SmallFansCfg);
+ Trigger_SetWHSFanSpeed(FAN2, SmallFansCfg);
+ Trigger_SetWHSFanSpeed(FAN3, SmallFansCfg);
+ Trigger_SetWHSFanSpeed(FAN4, SmallFansCfg);
+ Trigger_SetWHSFanSpeed(FAN5, LargeFansCfg);
+ Trigger_SetWHSFanSpeed(FAN6, LargeFansCfg);
if (WHS_Type == WHS_TYPE_UNKNOWN)
{
InitStages++;
@@ -574,6 +589,7 @@ uint32_t InitSequenceStartHeating(void)
{
SetMachineReadyForHeating(true);
//SetMachineStatus(MACHINE_STATE__Ready); //prevent job while waiting for the cooler
+ MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0);
if (InitialHeating)
{
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.h b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.h
index 8ce835a06..d0157ed47 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.h
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.h
@@ -37,6 +37,7 @@ MACHINE_STATE_STAGES_ENUM GetMachineState(void);
void SetMachineState(MACHINE_STATE_STAGES_ENUM);
void InitSequenceSetStartHeating(bool StartHeating);
double GetZone2RMSCurrent(double VAC);
+double GetZone1RMSCurrent(double VAC);
uint32_t PowerUpUpdateFunc(MessageContainer* requestContainer);
uint32_t AbortPowerUpFunc(MessageContainer* requestContainer);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
index 4b6eb93f3..169772480 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c
@@ -251,6 +251,7 @@ uint32_t PowerOffHeatersOff(void)
ProcessParametersClear.rblowerflow = 0;
ProcessParametersClear.rblowerflow = 0;
ProcessParametersClear.dyeingspeed = 40;
+ ProcessParametersClear.headairflow = 8.0;
if (HandleProcessParameters(&ProcessParametersClear,false)!= OK)
{
LOG_ERROR (PowerOffMachineState, "Turn Off Heaters failed");
@@ -361,30 +362,69 @@ uint32_t PowerOffWaitForTemperatureCallback(uint32_t IfIndex, uint32_t BusyFlag)
{
uint32_t readTemp;
MaxTemp = 0;
- readTemp = MillisecGetTemperatures( MIXER_PT100);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( TEMP_SENSE_ANALOG_DYEINGH_TEMP1);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( TEMP_SENSE_ANALOG_DYEINGH_TEMP2);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( TEMP_SENSE_ANALOG_DYEINGH_TEMP3);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( TEMP_SENSE_ANALOG_DYEINGH_TEMP4);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( TEMP_SENSE_ANALOG_DYEINGH_TEMP5);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( HEAD6_PT100);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
- readTemp = MillisecGetTemperatures( TEMP_SENSE_ANALOG_DRYER_TEMP1);
- if ((readTemp>= MaxTemp)&&(readTemp < 28000))
- MaxTemp = readTemp;
+ /*if (Head_Type == HEAD_TYPE_SYLKO_WITHOUT_CARD)
+ {
+ readTemp = MillisecGetTemperatures( MIXER_PT100);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(TEMP_SENSE_ANALOG_DYEINGH_TEMP1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(TEMP_SENSE_ANALOG_DYEINGH_TEMP2);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(TEMP_SENSE_ANALOG_DYEINGH_TEMP3);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(TEMP_SENSE_ANALOG_DYEINGH_TEMP4);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(TEMP_SENSE_ANALOG_DYEINGH_TEMP5);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD6_PT100);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ }
+ if (Head_Type == HEAD_TYPE_SYLKO)
+ {
+ readTemp = MillisecGetTemperatures( HEAD_PT100_MIXER_0X8E_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_1_0X80_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_2_0X80_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_3_0X82_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_4_0X82_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_5_0X84_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_6_0X84_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_7_0X86_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_8_0X86_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_9_0X88_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_10_0X88_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_11_0X8A_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_12_0X8A_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ }
+ if (Head_Type == HEAD_TYPE_STAPLE_SPUN)
+ {
+ readTemp = MillisecGetTemperatures( HEAD_PT100_MIXER_0X8E_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_1_0X80_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_2_0X80_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_ZONE_3_0X82_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_AIR_HEATER_2_0X8C_1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ readTemp = MillisecGetTemperatures(HEAD_PT100_AIR_HEATER_1_0X8C_0);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
+ }*/
+ readTemp = MillisecGetTemperatures(TEMP_SENSE_ANALOG_DRYER_TEMP1);
+ if ((readTemp>= MaxTemp)&&(readTemp < 27000)) MaxTemp = readTemp;
if (StoreMax == 500)
StoreMax = MaxTemp;
@@ -409,6 +449,7 @@ uint32_t PowerOffWaitForTemperature(void)
{
Report("PowerOff Wait For Temperature",__FILE__,__LINE__,(int)PowerOffTemperatureThreshold,RpWarning,(int)3600,0);
StoreMax = 500;
+ WHS_Set_IFS_Clearing_Suction(NUM_OF_MIDTANKS);
if (WaitForProcessControlId == 0xFF)
{
WaitForProcessCounter = 0;
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index be3b64f0a..97247f90b 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -382,7 +382,6 @@ uint32_t ThreadJoggingFunc(int speed)
//usnprintf(ErrorMsg, 80,"Copy Configured T %d W %d I %d H %d W %d",CopyConfigured[Module_Thread],CopyConfigured[Module_Winder],CopyConfigured[Module_IDS],CopyConfigured[Module_Heaters],CopyConfigured[Module_Waste]);
//Report(ErrorMsg, __FILE__, __LINE__, 0, RpWarning, 0, 0);
- JoggingJobActive = true;
//set the job handler to ignore heaters, ids and waste in the state machine
Configured[Module_Thread] = true;
Configured[Module_Winder] = true;
@@ -419,6 +418,7 @@ uint32_t ThreadJoggingFunc(int speed)
Ticket.spool = Tspool;
CurrentJob = &Ticket;
InternalWindingConfigMessage(Tspool);
+ JoggingJobActive = true;
StartJob(&Ticket);
}
}
@@ -537,7 +537,6 @@ uint32_t ThreadCleaningJob(int speed)
else
{
//memcpy(&CopyConfigured,&Configured,sizeof(CopyConfigured));
- CleaningJobActive = true;
//usnprintf(ErrorMsg, 80,"Copy Configured T %d W %d I %d H %d W %d",CopyConfigured[Module_Thread],CopyConfigured[Module_Winder],CopyConfigured[Module_IDS],CopyConfigured[Module_Heaters],CopyConfigured[Module_Waste]);
//Report(ErrorMsg, __FILE__, __LINE__, 0, RpWarning, 0, 0);
@@ -607,6 +606,7 @@ uint32_t ThreadCleaningJob(int speed)
}
InternalWindingConfigMessage(Tspool);
+ CleaningJobActive = true;
StartJob(&Ticket);
}
}
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
index 982687201..61561c6a9 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
@@ -138,11 +138,9 @@ FRESULT RewindJobFile()
}
return Fresult;
}
-extern Semaphore_Handle FFS_Sem;
FRESULT CloseJobFile()
{
Fresult = f_close(JobRequestFileHandle);
- //Semaphore_post(FFS_Sem);
#warning trying not to hold the semaphore and enable the PPC/MS to work on several files simultaneously
readbBytes = 0;