aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2019-12-17 15:01:08 +0200
committerAvi Levkovich <avi@twine-s.com>2019-12-17 15:01:08 +0200
commit75ba9ab84ff2b4eaaab298cf4acee4b3c6c6128d (patch)
tree97f8d2abb360ccfe7b8fd724227b7a52cc4000c3 /Software/Embedded_SW/Embedded
parent1762f22b2cace4f2c3f7cf054566aa49e84a65ea (diff)
downloadTango-75ba9ab84ff2b4eaaab298cf4acee4b3c6c6128d.tar.gz
Tango-75ba9ab84ff2b4eaaab298cf4acee4b3c6c6128d.zip
update headcard
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c13
2 files changed, 21 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.c
index 4d7259bd3..f290a8ef3 100644
--- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.c
+++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.c
@@ -12,18 +12,24 @@
#include "Drivers/I2C_Communication/WHS_Card/I2C_WHS_Mux.h"
+uint8_t Main_Mux_Flag = UNKNOWN;
+
uint32_t Select_Main_Head_Mux_Channel()
{
uint32_t status= OK;
uint8_t Write_Buf[1];
- //Block_Main_WHS_Mux_Channel();
+ if(Main_Mux_Flag != HEAD)
+ {
+ Block_Main_WHS_Mux_Channel();
- Write_Buf[0] = 0x01 << 4;//Channel 4
+ Write_Buf[0] = 0x01 << 4;//Channel 4
- status = I2C_Write(I2C_ID_HEAD_CARD, I2C3_MAIN_MUX_TCA9548A_0xE2, Write_Buf, 1);
+ status = I2C_Write(I2C_ID_HEAD_CARD, I2C3_MAIN_MUX_TCA9548A_0xE2, Write_Buf, 1);
+ Main_Mux_Flag = HEAD;
+ }
return status;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 76b7aa7a1..920accda8 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -581,10 +581,11 @@ uint32_t MillisecLowLoop(uint32_t tick)
//call all modules Millisec functions
//test dancers and speed encoders
//check all callback units (state machine waiting for completion of a change)
- bool Ten_msTick, Hundred_msTick , m20msecTick,m70msecTick,m90msecTick, Onesecond_Tick,OneMinute_Tick,OneHourTick;
+ bool Ten_msTick, Fifty_msTick, Hundred_msTick , m20msecTick,m70msecTick,m90msecTick, Onesecond_Tick,OneMinute_Tick,OneHourTick;
bool O100Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick;
//bool O100Millisecond_Tick,O200Millisecond_Tick,O400Millisecond_Tick,O500Millisecond_Tick,O600Millisecond_Tick,O800Millisecond_Tick,O900Millisecond_Tick;
Ten_msTick = (tick%eTenMillisecond == 0) ?true:false;
+ Fifty_msTick = (tick%eHundredMillisecond == 0) ?true:false; //eFiftyMillisecond
Hundred_msTick = (tick%eHundredMillisecond == 0) ?true:false;
m20msecTick = (tick%eHundredMillisecond == 20) ?true:false;
m70msecTick = (tick%eHundredMillisecond == 70) ?true:false;
@@ -613,6 +614,12 @@ uint32_t MillisecLowLoop(uint32_t tick)
Machine_Idle_Breathing_Led();
}
#ifdef Use_Head_Card
+ if(Fifty_msTick)
+ {
+ Set_HeadCard_PT100();//call every 50mSec (minimum delay 30mSec)
+ }
+#endif
+#ifdef Use_Head_Card
if (m20msecTick) //read odd PT1000
{
for (Sensor_i = HEAD_PT100_ZONE_1_0X80_0;Sensor_i < HEAD_PT100_ZONE_2_0X80_1;Sensor_i++)
@@ -671,6 +678,10 @@ uint32_t MillisecLowLoop(uint32_t tick)
}
DispensersCollectionCall();
+#ifdef Use_Head_Card
+ Head_Read_IO_Reg(0x46, HIGH);//READ HEAD CARD LS
+#endif
+
}
if (O100Millisecond_Tick)
{