aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-03-12 12:59:38 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-03-12 12:59:38 +0200
commit4a82ab8485eebc548fef4fd48d44ae7447aa047e (patch)
treed08f4b0455e50e9c86b5f8e6dadf6112880d4426 /Software/Embedded_SW
parent0208e9f1800c044ec3bd002b7aa7fd00621c81be (diff)
downloadTango-4a82ab8485eebc548fef4fd48d44ae7447aa047e.tar.gz
Tango-4a82ab8485eebc548fef4fd48d44ae7447aa047e.zip
Version 1.4.6.17 - PACK 1. (support for new TFU and bug fixes)
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/.cproject2
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.c4
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.h1
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c8
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c26
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c10
-rw-r--r--Software/Embedded_SW/Embedded/Software Release Notes.txt12
9 files changed, 53 insertions, 16 deletions
diff --git a/Software/Embedded_SW/Embedded/.cproject b/Software/Embedded_SW/Embedded/.cproject
index e2a02d701..43a3b15aa 100644
--- a/Software/Embedded_SW/Embedded/.cproject
+++ b/Software/Embedded_SW/Embedded/.cproject
@@ -441,7 +441,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
- <entry excluding="Drivers/I2C_Communication/RFID_NFC/NFC_I2C|Drivers/I2C_Communication/RFID_NFC/PN7150|Drivers/I2C_Communication/Head_Card/ADC/Head_ADC_old.c|EmbParam.cfg|JigCommands.c|PWM.c|USBCDCD.c|Message.c|Pin_config.c|src|Configuration.c|SlowMotors.c|Timer.c|Communication.c|FastMotors.c|ADCUtils.c|Drivers/L6470|Pin.c|ADCLogger.c|Flashstore.c|Profile.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
+ <entry excluding="EmbParam.cfg|Drivers/Uart_Comm/Uart.c|JigCommands.c|PWM.c|USBCDCD.c|Message.c|Pin_config.c|src|Configuration.c|SlowMotors.c|Timer.c|Communication.c|FastMotors.c|ADCUtils.c|Drivers/L6470|Pin.c|ADCLogger.c|Flashstore.c|Profile.c" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
index 6c2e35f76..5b970a5bc 100644
--- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
+++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c
@@ -20,7 +20,7 @@ typedef struct
} TangoVersion_t;
-TangoVersion_t _gTangoVersion = {1,4,6,16};
+TangoVersion_t _gTangoVersion = {1,4,6,17};
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.c
index 04a52a6af..aa645baa6 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.c
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.c
@@ -23,6 +23,7 @@
extern short int main_vme();
+bool FPGABurningActive = false;
FPGA_JTAG_GPIO FPGA_JTAG;
FIL *FileHandlevme = 0;
@@ -96,13 +97,14 @@ FRESULT FPGA_Programming_Up(FPGA_ID FPGA_Id, char * FullPath, bool IncludeReboot
{
return(fresult);
}
+ FPGABurningActive = true;
Report(FullPath,__FILE__,__LINE__,CurrentFileSize,RpWarning,0,0);
StopInitSequence();
HeatersEnd();
fresult = main_vme();
CurrentRunningFile++;
Report(FullPath,__FILE__,__LINE__,CurrentRunningFile,RpWarning,1,0);
-
+ FPGABurningActive = false;
}
diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.h
index b752f24b3..75e712497 100644
--- a/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.h
+++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/Full_Vme/FPGA_Programming_Up.h
@@ -36,6 +36,7 @@ typedef struct
FRESULT FPGA_Programming_Request(FPGA_ID FPGA_Id, char * FullPath, bool IncludeReboot);
//direct blocking call
FRESULT FPGA_Programming_Up(FPGA_ID FPGA_Id, char * FullPath, bool IncludeReboot);
+extern bool FPGABurningActive;
#endif /* DRIVERS_FPGA_FULL_VME_FPGA_PROGRAMMING_UP_H_ */
diff --git a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
index 9d7cdbe4c..0b5d8ebc2 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Heater/TemperatureSensor.c
@@ -202,6 +202,14 @@ int TemperatureListString(char* str)
,TempSensorResponse[MIXER_PT100].Temperature_C_mult_by_100/100);
//Prepare H1: 78 H2: 111 H3: 137 H4: 135 H5: 144 H6: 75 D1: 120 D2: 167 D3: 158 M: 129
}
+ if(Head_Type == HEAD_TYPE_STAPLE_SPUN)
+ {
+ len = usnprintf(str, 160, "Prepare H1: ,%d, H2: ,%d, H3: ,%d, AL1: AR1: M: ,%d, D: ,%d,",
+ TempSensorResponse[HEAD_PT100_ZONE_1_0X80_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_ZONE_2_0X80_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_ZONE_3_0X82_0].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_AIR_HEATER_1_0X8C_0].Temperature_C_mult_by_100/100, TempSensorResponse[HEAD_PT100_AIR_HEATER_2_0X8C_1].Temperature_C_mult_by_100/100,
+ TempSensorResponse[HEAD_PT100_MIXER_0X8E_0].Temperature_C_mult_by_100/100, TempSensorResponse[TEMP_SENSE_ANALOG_DRYER_TEMP1].Temperature_C_mult_by_100/100);
+ }
else
{
len = usnprintf(str, 150, "Unknown head type");
diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
index d679cbb01..fc8d29b56 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
@@ -70,7 +70,7 @@ FPGA_GPI_ENUM Motor_Id_to_LS_IdDown[NUM_OF_MOTORS] = { // limit switch for n
GPI_LS_SCREW_RIGHT, //MOTO_SCREW = 14,
MAX_GPI, //MOTO_WINDER = 15,
GPI_LS_LDANCER1_DOWN, //MOTO_LDANCER1 = 16,
- GPI_LS_LDANCER2_DOWN, //MOTO_LDANCER2 = 17,
+ GPI_LS_LSPARE2, //MOTO_LDANCER2 = 17,
MAX_GPI, //MOTO_LDRIVING = 18,
GPI_LS_LLOADMOTOR_DOWN, //MOTO_LLOADING = 19,
GPI_LS_LPIVOT_DOWN, //MOTO_LPIVOT1 = 20,
@@ -97,7 +97,7 @@ FPGA_GPI_ENUM Motor_Id_to_LS_IdUp[NUM_OF_MOTORS] = { // limit switch for nor
GPI_LS_SCREW_LEFT, //MOTO_SCREW = 14,
MAX_GPI, //MOTO_WINDER = 15,
GPI_LS_LDANCER1_UP, //MOTO_LDANCER1 = 16,
- GPI_LS_LDANCER2_UP, //MOTO_LDANCER2 = 17,
+ GPI_LS_LSPARE1, //MOTO_LDANCER2 = 17,
MAX_GPI, //MOTO_LDRIVING = 18,
GPI_LS_LLOADMOTOR_UP, //MOTO_LLOADING = 19,
GPI_LS_LPIVOT_UP, //MOTO_LPIVOT1 = 20,
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index bea68e314..0f9848ba1 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -51,6 +51,7 @@
#include <PMR/Diagnostics/EventType.pb-c.h>
+#include "drivers/FPGA/Full_Vme/FPGA_Programming_Up.h"
#include "drivers/adc_sampling/adc.h"
#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"
#include "drivers/FPGA/FPGA_SPI_Comm.h"
@@ -181,19 +182,22 @@ uint32_t ControlActivityLed( uint32_t Parameter1)
ACTIVITY_RED_LED_OFF; // Heaters indication - all the Heaters OFF
if(FPGA_WD_Occurred == true)
{
- FPGA_WD_Occurred = false;
- AlarmHandlingSetAlarm(EVENT_TYPE__FPGA_WATCHDOG_ACTIVATED,true);
- if (JobIsActive())
+ if (FPGABurningActive == false)
{
- JobEndReason = JOB_MOTOR_ALARM;
- SendJobProgress(0.0,0,false, "Hardware Failure Error");
- AbortJob("FPGA Watchdog Error");
- }
- ReportWithPackageFilter(FPGAFilter, "FPGA Watchdog Error",__FILE__,__LINE__,0,RpError, 0,0);
+ FPGA_WD_Occurred = false;
+ AlarmHandlingSetAlarm(EVENT_TYPE__FPGA_WATCHDOG_ACTIVATED,true);
+ if (JobIsActive())
+ {
+ JobEndReason = JOB_MOTOR_ALARM;
+ SendJobProgress(0.0,0,false, "Hardware Failure Error");
+ AbortJob("FPGA Watchdog Error");
+ }
+ ReportWithPackageFilter(FPGAFilter, "FPGA Watchdog Error",__FILE__,__LINE__,0,RpError, 0,0);
- ACTIVITY_GREEN_LED_ON;
- FPGA_SetMotorsInit();
- Motor_ReconfigAllMotors();
+ ACTIVITY_GREEN_LED_ON;
+ FPGA_SetMotorsInit();
+ Motor_ReconfigAllMotors();
+ }
}
else
ACTIVITY_GREEN_LED_OFF;
diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
index 685542722..acecf4c7c 100644
--- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
+++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/DiagnosticsHoming.c
@@ -166,6 +166,16 @@ uint32_t MotorHomingRequestFunc(MessageContainer* requestContainer)
}
if ( Motor_Id_to_LS_IdUp[MotorId] != MAX_GPI)
{
+ if(MotorId == HARDWARE_MOTOR_TYPE__MOTO_RLOADING)
+ {
+ keepkvalright = MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].kvalrun;
+ MotorSetKvalRun(HARDWARE_MOTOR_TYPE__MOTO_RLOADING, 70);
+ }
+ if(MotorId == HARDWARE_MOTOR_TYPE__MOTO_LLOADING)
+ {
+ keepkvalleft = MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].kvalrun;
+ MotorSetKvalRun(HARDWARE_MOTOR_TYPE__MOTO_LLOADING, 70);
+ }
MotorMovetoLimitSwitch (MotorId,MotorsCfg[MotorId].directionthreadwize, speed, Motor_Id_to_LS_IdDown[MotorId], MotorHomingRequestCallback,10000);
return OK;
}
diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt
index 4ce158426..7640e88de 100644
--- a/Software/Embedded_SW/Embedded/Software Release Notes.txt
+++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt
@@ -1,3 +1,15 @@
+Embedded SW Release note - Version 1.4.6.17 - Pack 1
+=============================================================
+fixed file system bug that caused disconnection.
+fixed error messages bug
+RML - thread PID parameters added
+RML - arc head support
+RML - blower head flow control.
+Power control.
+preparation for waste tank calibration.
+basic support for new LTFU (not for loading, yet)
+
+
Embedded SW Release note - Version 1.4.6.12 - Pack 1 Urgent
=============================================================
Main features: support new head and new WHS, support Powerstep01 motor drivers