diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-03-29 19:18:15 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-03-29 19:18:15 +0300 |
| commit | a5e9811e9fffedb86741a8af02f6cc4e1d899f36 (patch) | |
| tree | 29bd63e26f507821701e8a0e3f56481cc4cca96d /Software/Embedded_SW/Embedded | |
| parent | 55de8777b9be7a5ab2ab465baa979cb9bafb57e7 (diff) | |
| parent | 2980ba8d1a13f68fef90c40e3a2814cc4db7bc58 (diff) | |
| download | Tango-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.c | 46 |
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 |
