aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-03-29 19:18:15 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-03-29 19:18:15 +0300
commita5e9811e9fffedb86741a8af02f6cc4e1d899f36 (patch)
tree29bd63e26f507821701e8a0e3f56481cc4cca96d /Software/Embedded_SW/Embedded
parent55de8777b9be7a5ab2ab465baa979cb9bafb57e7 (diff)
parent2980ba8d1a13f68fef90c40e3a2814cc4db7bc58 (diff)
downloadTango-a5e9811e9fffedb86741a8af02f6cc4e1d899f36.tar.gz
Tango-a5e9811e9fffedb86741a8af02f6cc4e1d899f36.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c46
1 files changed, 40 insertions, 6 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index 76a92bd89..7a9b66a0b 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -368,7 +368,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if(Write_Buf[0] == 0)//Read
{
- Head_Read_IO_Reg(Script_Slave_Add, LOW);
+ //Head_Read_IO_Reg(Script_Slave_Add, LOW);
delayms(1);
if(Script_Slave_Add == 0x40)
@@ -403,7 +403,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
if(Write_Buf[0] == 1)//Read
{
- Head_Read_IO_Reg(Script_Slave_Add, HIGH);
+ //Head_Read_IO_Reg(Script_Slave_Add, HIGH);
delayms(1);
if(Script_Slave_Add == 0x40)
@@ -427,7 +427,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.has_progress = true;
}
else
- if(Script_Slave_Add == 0x46)
+ if(Script_Slave_Add == 0x46)//LS
{
Read_Buf[0] = Head_I2C_EXP4_0x46.uchar[1];
response.progress = Read_Buf[0];
@@ -435,6 +435,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
}
}
else
+ /*
if(Write_Buf[0] == 2)//write
{
if(Script_Slave_Add == 0x40)
@@ -452,7 +453,7 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
Head_I2C_EXP4_0x46.uchar[0] = (Write_Buf[1] & 0x80);
}
- Head_Write_IO_Reg(Script_Slave_Add, LOW);
+ //Head_Write_IO_Reg(Script_Slave_Add, LOW);
}
if(Write_Buf[0] == 3)//write
{
@@ -463,15 +464,48 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
else
if(Script_Slave_Add == 0x42)
{
- Head_I2C_EXP2_0x42.uchar[1] = Write_Buf[1];
+ //Head_I2C_EXP2_0x42.uchar[1] = Write_Buf[1];
+ Head_I2C_EXP2_0x42.bits.OUTPUT_MAG_DIR = (Write_Buf[1] & 0x01);//control only the magnet
}
else
if(Script_Slave_Add == 0x46)
{
Head_I2C_EXP3_0x44.uchar[1] = (Write_Buf[1] & 0x0C);
}
- Head_Write_IO_Reg(Script_Slave_Add, HIGH);
+ //Head_Write_IO_Reg(Script_Slave_Add, HIGH);
}
+ */
+ if(Write_Buf[0] >=0xF0) // write
+ {
+ // write , Write_Buf[0] bit number 0..15 , Write_Buf[1] 0 or 1
+ Write_Buf[1] = Write_Buf[1] & 0x01;
+
+ Write_Buf[0] &=0x0f;
+
+ if(Script_Slave_Add == 0x40)
+ {
+ if(Write_Buf[1] == 0x01)
+ Head_I2C_EXP1_0x40.ushort |= (0x01 << Write_Buf[0]);
+ else if(Write_Buf[1] == 0x00)
+ Head_I2C_EXP1_0x40.ushort &= ~(0x01 << Write_Buf[0]);
+ }
+ else
+ if(Script_Slave_Add == 0x42)
+ {
+ if(Write_Buf[1] == 0x01)
+ Head_I2C_EXP2_0x42.ushort |= (0x01 << Write_Buf[0]);
+ else if(Write_Buf[1] == 0x00)
+ Head_I2C_EXP2_0x42.ushort &= ~(0x01 << Write_Buf[0]);
+ }
+ else
+ if(Script_Slave_Add == 0x46)
+ {
+ if(Write_Buf[1] == 0x01)
+ Head_I2C_EXP4_0x46.ushort |= (0x01 << Write_Buf[0]);
+ else if(Write_Buf[1] == 0x00)
+ Head_I2C_EXP4_0x46.ushort &= ~(0x01 << Write_Buf[0]);
+ }
+ }
}
else
if(request->amount == 0xFEAD) //functions Head Card I/O