diff options
Diffstat (limited to 'Software/Stubs Collection/stubs/Scripts/BTSR/11_DEVICE_CALIBRATION.cs')
| -rw-r--r-- | Software/Stubs Collection/stubs/Scripts/BTSR/11_DEVICE_CALIBRATION.cs | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/Software/Stubs Collection/stubs/Scripts/BTSR/11_DEVICE_CALIBRATION.cs b/Software/Stubs Collection/stubs/Scripts/BTSR/11_DEVICE_CALIBRATION.cs new file mode 100644 index 000000000..8b63f368c --- /dev/null +++ b/Software/Stubs Collection/stubs/Scripts/BTSR/11_DEVICE_CALIBRATION.cs @@ -0,0 +1,94 @@ +using System; +using System.Text; +using System.Linq; +using System.Drawing; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; +using System.Threading.Tasks; +using System.Collections.Generic; +using Tango.PMR.Stubs; +using Tango.Stubs; +const byte YES = 0x01; +const byte NO = 0x00; + +//-------------------------------------------------------------------------------------------------------------- +// ------ Request Parameters ------ +const byte CODE_STRING = 0x01;//BTSR ID + +const byte FUNCTION_STRING = 0x49; + +const byte CALIBRATION_COMMAND = 0x84; + +const Int32 Auto_Calc_CheckSum = YES;//1 YES, 0 NO //if YES Don't send the checksum Bytes!!!! + +// ------ Response Parameters ------ +const Int32 BytesToRead = 1;//Number of the expected Bytes to read (iclude CHECK_STRING if available) +const Int32 Verify_Received_CheckSum = NO;//1 YES, 0 NO --- TBD NA --- +//-------------------------------------------------------------------------------------------------------------- +int BTSR_Write_and_Read() +{ + StubI2CWriteBytesRequest stubI2CWriteBytesRequest = new StubI2CWriteBytesRequest(); + stubI2CWriteBytesRequest.I2CId = 0xFEED; // - Don't Change!! BTSR FEEDR (Script identification) + stubI2CWriteBytesRequest.SlaveAddress = Auto_Calc_CheckSum; + + UInt32 uInt32 = new UInt32(); + //-------------------------------------------------------------- + stubI2CWriteBytesRequest.BytesTWrite.Add(CODE_STRING);//Byte 0 to write CODE_STRING + + stubI2CWriteBytesRequest.BytesTWrite.Add(FUNCTION_STRING);//Byte 1 to write FUNCTION_STRING + stubI2CWriteBytesRequest.BytesTWrite.Add(CALIBRATION_COMMAND);//Byte 1 to write FUNCTION_STRING + + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//NA + + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + stubI2CWriteBytesRequest.BytesTWrite.Add(0);//SPARE + + var response = stubManager.Run<StubI2CWriteBytesResponse>(stubI2CWriteBytesRequest); + + return 1; +} + + +int BTSR_Get() +{ + int i = 0; + StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); + stubI2CReadBytesRequest.I2CId = 0xFEED; // - Don't Change!! BTSR FEEDR (Script indentify) + stubI2CReadBytesRequest.SlaveAddress = Verify_Received_CheckSum; + stubI2CReadBytesRequest.NumberOfBytesToRead = BytesToRead + Verify_Received_CheckSum; + + var response1 = stubManager.Run<StubI2CReadBytesResponse>(stubI2CReadBytesRequest); + uint temph=0; + + for(i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead - Verify_Received_CheckSum;i++) + { + temph=response1.ReadBytes[i]; + stubManager.WriteLineHex(temph,2); + } + if((Verify_Received_CheckSum == YES) && (response1.ReadBytes[i] != 0))//use the next byte to return the checksum status + { + stubManager.WriteLine("\n --- Received Wrong CheckSum !!! --- \n"); + } + + + return 1; +} + + +public void OnExecute(StubManager stubManager) +{ + BTSR_Write_and_Read(); + Thread.Sleep(15); //wait 10mSec in the embedded to read all at once so this value must be > 10 milli. + stubManager.WriteLine("\n --- DEVICE CALIBRATION --- \n"); + BTSR_Get(); +}
\ No newline at end of file |
