aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-06-08 10:40:41 +0300
committerAvi Levkovich <avi@twine-s.com>2020-06-08 10:40:41 +0300
commit772e7e6c156c1beebf8f1e3b4386d2facf336e8a (patch)
treeb43e0c98ebf6a51fa9cd7486fbf40a04d366111b /Software/Embedded_SW
parent9a9e276ad94802cbbea290f5b182888378be711c (diff)
parent6978fbc97bc9fdceb437ac3c4e405e783fb07427 (diff)
downloadTango-772e7e6c156c1beebf8f1e3b4386d2facf336e8a.tar.gz
Tango-772e7e6c156c1beebf8f1e3b4386d2facf336e8a.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c2
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c3
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c1
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c18
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c4
-rw-r--r--Software/Embedded_SW/Embedded/Software Release Notes.txt17
-rw-r--r--Software/Embedded_SW/Embedded/src/makefile.libs4
-rw-r--r--Software/Embedded_SW/Embedded/src/sysbios/makefile24
-rw-r--r--Software/Embedded_SW/Embedded/src/sysbios/sysbios.aem4fbin1998810 -> 1998354 bytes
10 files changed, 51 insertions, 24 deletions
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 c55b1fe1f..0af8fb729 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,29};
+TangoVersion_t _gTangoVersion = {1,4,6,30};
#define BUILD_DATE __DATE__
char Dat[50] = BUILD_DATE;
char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d
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 acbaa5e54..0e3cecf99 100644
--- a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c
+++ b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC_DispPressSens.c
@@ -72,7 +72,8 @@ float CalculateDispenserPressure (int DispenserId)
if(data<Bits_Min)
{
data = Bits_Min;//40mA 0Bar
- Report("Dispenser - Reading wrong data from ADC",__FILE__,__LINE__,DispenserId,RpWarning,(int)data,0);
+ //if (isDispenserInConfig(DispenserId))
+ // Report("Dispenser - Reading wrong data from ADC",__FILE__,__LINE__,DispenserId,RpWarning,(int)data,0);
}
temp = a[DispenserId] * data + b[DispenserId];
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
index 27e2dd038..f50689d61 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c
@@ -364,6 +364,7 @@ double GetWHSAirFlow(uint8_t OR_Id)
//Q_value = get_Q(value-orf3V0Value);
Q_value = get_CurrentQ(DRIER_FLOW_METER);
}
+ //Q_value = get_average_Q(HEAD_FLOW_METER);
break;
case NU_FLOW_METER:
get_orf_2(&value);
diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
index 84369a03e..0d6cd35c7 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
+++ b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c
@@ -670,6 +670,7 @@ uint32_t MotorMovetoLimitSwitch (TimerMotors_t MotorId,bool direction, uint32_t
{
HoldRightDancer = true;
}
+ //Report("MotorMovetoLimitSwitch RDANCER",__FILE__,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize,direction,RpMessage,HoldRightDancer,0);
}
MotorTimeout[MotorId] = 0;
@@ -699,6 +700,8 @@ uint32_t MotorMoveToBreakSensorCallBackFunction(uint32_t IfIndex, uint32_t Limit
return 0xFFFFFFFF;
}
MotorId = (TimerMotors_t)(IfIndex&0xFF);
+ MotorTimeout[MotorId]+=MotorTimeLag[MotorId];
+
if (MotorControlId[MotorId] == 0xFF)
return ERROR;
@@ -721,6 +724,21 @@ uint32_t MotorMoveToBreakSensorCallBackFunction(uint32_t IfIndex, uint32_t Limit
MotorCallback[MotorId](MotorId,LimitSwitch);
}
}
+ if ((MotorTimeout[MotorId]>=MotorTimeLimit[MotorId])&&(MotorTimeLimit[MotorId]>0)) //timeout
+ {
+ SafeRemoveHighControlCallback(MotorControlId[MotorId], MotorControlCallback[MotorId] );
+ MotorControlCallback[MotorId] = 0;
+ MotorControlId[MotorId] = 0xFF;
+ MotorStop(MotorId,Hard_Hiz); //TODO in run time limit switch just reverse direction
+
+ //possibly: start regular control (speed etc)
+ //uint32_t ControlId = AddControlCallback(NULL,ControlCBFunction Callback, eOneMillisecond, (IfTypeMotors*0x100+MotorId), deviceId, Parameter );
+
+ //call the module callback
+ if (MotorCallback[MotorId])
+ MotorCallback[MotorId](MotorId,NO_LIMIT);
+
+ }
return OK;
}
uint32_t MotorMovetoBreakSensor (TimerMotors_t MotorId,bool direction, uint32_t Freq, callback_fptr callback,uint32_t timeout)
diff --git a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.h b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.h
index b2261979a..e281f1d83 100644
--- a/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.h
+++ b/Software/Embedded_SW/Embedded/Drivers/Uart_Comm/Uart.h
@@ -1,4 +1,4 @@
-//void Init_U0();
+void Init_U0();
void test_Uart();
//uint32_t Uart_Tx(char *buffer,size_t length);
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 0762db00e..0dc70efaa 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -825,12 +825,12 @@ JobEndReasonEnum AlarmHandlingPrepareJob(void *CurrentJob)
ACTIVITY_GREEN_LED_OFF;
if (n_segments == 0)
{
- ReportWithPackageFilter(AlarmFilter,"no segments in the job", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, AlarmItem[Alarm_i].DeviceId, 0);
+ ReportWithPackageFilter(AlarmFilter,"no segments in the job", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, 222, 0);
return JOB_OK;
}
if (AlarmItem == NULL)
{
- ReportWithPackageFilter(AlarmFilter,"missing alarm file", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, AlarmItem[Alarm_i].DeviceId, 0);
+ ReportWithPackageFilter(AlarmFilter,"missing alarm file", __FILE__,__LINE__,0, DEBUG_LOG_CATEGORY__Warning, 223, 0);
usnprintf(AlarmReasonStr, 100, "No alarm file in the machine",111);
return JOB_UNSPECIFIED_ERROR;
}
diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt
index 8a76e6ee4..6e176581e 100644
--- a/Software/Embedded_SW/Embedded/Software Release Notes.txt
+++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt
@@ -1,18 +1,25 @@
Embedded SW Release note - Version 1.4.6.30 - Pack 2+
=============================================================
+fix bug in SW update
fix firmware update when no files
-add main CPU EEPROM Read/Write from stub
-support new FPGA - different clocks (EMC)
remove ADC interrupt - polling only
-read air flow from arc head - prepare
fix head identification on head hw failure
improve WHS air flow control
fix FlashInitAndLoad() (although not in use)
-fix (?) dryer heating. lots of logs added, VAC control - histeresys added
-start blower increase a bit later to solve the temerature alarms preventing jobs
+fix (?) dryer heating. lots of logs added, VAC control - hysteresis added
+start blower increase a bit later to solve the temperature alarms preventing jobs
maximal pressure buildup 2.5
prevent job when head/drier wide open
thread load - skip head lid and actuators according to head type
+thread load - fix error messages
+thread load - support "try" message from PPC on problem
+drivers:
+ add main CPU EEPROM Read/Write from stub
+ new dispenser pressure sensors (based on EEPROM)
+ EMC support - external clock / internal clock in motors
+ read air flow in arc head
+
+
Embedded SW Release note - Version 1.4.6.29 - Pack 2
=============================================================
diff --git a/Software/Embedded_SW/Embedded/src/makefile.libs b/Software/Embedded_SW/Embedded/src/makefile.libs
index f262762ef..ae6999352 100644
--- a/Software/Embedded_SW/Embedded/src/makefile.libs
+++ b/Software/Embedded_SW/Embedded/src/makefile.libs
@@ -1,6 +1,6 @@
#
# This file was generated based on the configuration script:
-# C:\Tango\Software\Embedded_SW\Embedded\Embedded.cfg
+# C:\tango\Software\Embedded_SW\Embedded\Embedded.cfg
#
# This makefile may be included in other makefiles that need to build
# the libraries containing the compiled source files generated as
@@ -14,7 +14,7 @@
#
# The absolute path to the generated source directory (at the time the
# sources were generated) is:
-# C:\Tango\Software\Embedded_SW\Embedded\src
+# C:\tango\Software\Embedded_SW\Embedded\src
#
GEN_SRC_DIR ?= ../src
diff --git a/Software/Embedded_SW/Embedded/src/sysbios/makefile b/Software/Embedded_SW/Embedded/src/sysbios/makefile
index 0f63ec463..a8280a913 100644
--- a/Software/Embedded_SW/Embedded/src/sysbios/makefile
+++ b/Software/Embedded_SW/Embedded/src/sysbios/makefile
@@ -1,29 +1,29 @@
-XOPTS = -I"C:/TI/xdctools_3_32_00_06_core/packages/" -Dxdc_target_types__=C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M4F
+XOPTS = -I"C:/ti/xdctools_3_32_00_06_core/packages/" -Dxdc_target_types__=C:/ti/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M4F
-vpath % C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/sysbios/
-vpath %.c C:/TI/xdctools_3_32_00_06_core/packages/
+vpath % C:/ti/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/sysbios/
+vpath %.c C:/ti/xdctools_3_32_00_06_core/packages/
CCOPTS = --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -q -ms --program_level_compile -g -Dxdc_FILE=__FILE__ -Dti_sysbios_knl_Task_minimizeLatency__D=FALSE -Dti_sysbios_knl_Clock_stopCheckNext__D=FALSE -Dti_sysbios_family_arm_m3_Hwi_enableException__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_disablePriority__D=32U -Dti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__D=0U -Dti_sysbios_hal_Core_numCores__D=1
-XDC_ROOT = C:/TI/xdctools_3_32_00_06_core/packages/
+XDC_ROOT = C:/ti/xdctools_3_32_00_06_core/packages/
-BIOS_ROOT = C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/sysbios/
+BIOS_ROOT = C:/ti/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/sysbios/
BIOS_DEFS = -Dti_sysbios_BIOS_swiEnabled__D=TRUE -Dti_sysbios_BIOS_taskEnabled__D=TRUE -Dti_sysbios_BIOS_clockEnabled__D=TRUE -Dti_sysbios_BIOS_runtimeCreatesEnabled__D=TRUE -Dti_sysbios_hal_Hwi_DISABLE_ALL_HOOKS -Dti_sysbios_knl_Swi_DISABLE_ALL_HOOKS -Dti_sysbios_BIOS_smpEnabled__D=FALSE -Dti_sysbios_Build_useHwiMacros -Dti_sysbios_knl_Swi_numPriorities__D=16 -Dti_sysbios_knl_Task_deleteTerminatedTasks__D=FALSE -Dti_sysbios_knl_Task_numPriorities__D=16 -Dti_sysbios_knl_Task_checkStackFlag__D=TRUE -Dti_sysbios_knl_Task_initStackFlag__D=TRUE -Dti_sysbios_knl_Task_DISABLE_ALL_HOOKS -Dti_sysbios_knl_Clock_TICK_SOURCE=ti_sysbios_knl_Clock_TickSource_TIMER -Dti_sysbios_knl_Clock_TICK_MODE=ti_sysbios_knl_Clock_TickMode_PERIODIC -Dti_sysbios_hal_Core_delegate_getId=ti_sysbios_hal_CoreNull_getId__E -Dti_sysbios_hal_Core_delegate_interruptCore=ti_sysbios_hal_CoreNull_interruptCore__E -Dti_sysbios_hal_Core_delegate_lock=ti_sysbios_hal_CoreNull_lock__E -Dti_sysbios_hal_Core_delegate_unlock=ti_sysbios_hal_CoreNull_unlock__E -Dti_sysbios_hal_Core_numCores__D=1 -Dti_sysbios_hal_CoreNull_numCores__D=1 -Dti_sysbios_utils_Load_taskEnabled__D=TRUE -Dti_sysbios_utils_Load_swiEnabled__D=FALSE -Dti_sysbios_utils_Load_hwiEnabled__D=FALSE -Dti_sysbios_family_arm_m3_Hwi_dispatcherSwiSupport__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_dispatcherTaskSupport__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_dispatcherAutoNestingSupport__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_dispatcherIrpTrackingSupport__D=TRUE -Dti_sysbios_knl_Semaphore_supportsEvents__D=FALSE -Dti_sysbios_knl_Semaphore_supportsPriority__D=TRUE
-BIOS_INC = -I"C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/"
+BIOS_INC = -I"C:/ti/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/"
-TARGET_INC = -I"C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/"
+TARGET_INC = -I"C:/ti/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/"
INCS = $(BIOS_INC) $(TARGET_INC)
-CC = C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/bin/armcl -c $(CCOPTS) -I C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/include
-ASM = C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/bin/armcl -c $(CCOPTS) -I C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/include
-AR = C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/bin/armar rq
+CC = C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.2.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.2.LTS/include
+ASM = C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.2.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.2.LTS/include
+AR = C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.2.LTS/bin/armar rq
-DEL = C:/TI/xdctools_3_32_00_06_core/packages/../bin/rm -f
-CP = C:/TI/xdctools_3_32_00_06_core/packages/../bin/cp -f
+DEL = C:/ti/xdctools_3_32_00_06_core/packages/../bin/rm -f
+CP = C:/ti/xdctools_3_32_00_06_core/packages/../bin/cp -f
define RM
$(if $(wildcard $1),$(DEL) $1,:)
diff --git a/Software/Embedded_SW/Embedded/src/sysbios/sysbios.aem4f b/Software/Embedded_SW/Embedded/src/sysbios/sysbios.aem4f
index 096dffc03..2921f9dfb 100644
--- a/Software/Embedded_SW/Embedded/src/sysbios/sysbios.aem4f
+++ b/Software/Embedded_SW/Embedded/src/sysbios/sysbios.aem4f
Binary files differ