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; //----------------------------- PARAMETERS TO EDIT ------------- UInt32 OUTPUT_TENSION = 0; UInt32 WORK_TENSION = 0; UInt32 RELAX_YARN = 0; byte INC_DEC_TENSION = 0; byte INC_DEC_STRETCH = 0; UInt32 METER_START = 0; UInt32 INC_DEC_METER = 0; UInt32 TARGET = 0; UInt32 TENSION_ERROR = 0; UInt32 ALARM_TIME = 0; byte ALARM_ENABLING = 0; byte TARGET_ENABLING = 0; byte RELAX_YARN_SPEED = 0; //--------------------------------------------------------------- // ------ Request Parameters ------ const byte CODE_STRING = 0x01;//BTSR ID const byte FUNCTION_STRING = 0x39; 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 //DATA_STRING stubI2CWriteBytesRequest.BytesTWrite.Add(OUTPUT_TENSION & 0XFF);//1° BYTE OUTPUT TENSION (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((OUTPUT_TENSION >> 8) & 0XFF);//2° BYTE OUTPUT TENSION (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(WORK_TENSION & 0XFF);//3° BYTE WORK TENSION (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((WORK_TENSION >> 8) & 0XFF);//4° BYTE WORK TENSION (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(RELAX_YARN & 0XFF);//5° BYTE RELAX YARN (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((RELAX_YARN >> 8) & 0XFF);//6° BYTE RELAX YARN (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(INC_DEC_TENSION);//7° BYTE INC DEC TENSION stubI2CWriteBytesRequest.BytesTWrite.Add(INC_DEC_STRETCH);//8° BYTE INC DEC STRETCH stubI2CWriteBytesRequest.BytesTWrite.Add(METER_START & 0XFF);//9° BYTE METER START (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((METER_START >> 8) & 0XFF);//10° BYTE METER START stubI2CWriteBytesRequest.BytesTWrite.Add((METER_START >> 16) & 0XFF);//11° BYTE METER START stubI2CWriteBytesRequest.BytesTWrite.Add((METER_START >> 24) & 0XFF);//12° BYTE METER START (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(INC_DEC_METER & 0XFF);//13° BYTE INC-DEC METER (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((INC_DEC_METER >> 8) & 0XFF);//14° BYTE INC-DEC METER stubI2CWriteBytesRequest.BytesTWrite.Add((INC_DEC_METER >> 16) & 0XFF);//15° BYTE INC-DEC METER stubI2CWriteBytesRequest.BytesTWrite.Add((INC_DEC_METER >> 24) & 0XFF);//16° BYTE INC-DEC METER (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(TARGET & 0XFF);//17° BYTE TARGET (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((TARGET >> 8) & 0XFF);//18° BYTE TARGET stubI2CWriteBytesRequest.BytesTWrite.Add((TARGET >> 16) & 0XFF);//19° BYTE TARGET stubI2CWriteBytesRequest.BytesTWrite.Add((TARGET >> 24) & 0XFF);//20° BYTE TARGET (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(TENSION_ERROR & 0XFF);//21° BYTE TENSION ERROR (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((TENSION_ERROR >> 8) & 0XFF);//22° BYTE TENSION ERROR (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(ALARM_TIME & 0XFF);//23° BYTE ALARM TIME (LSB) stubI2CWriteBytesRequest.BytesTWrite.Add((ALARM_TIME >> 8) & 0XFF);//24° BYTE ALARM TIME (MSB) stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//25° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//26° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(ALARM_ENABLING);//27° BYTE ALARM ENABLING stubI2CWriteBytesRequest.BytesTWrite.Add(TARGET_ENABLING);//28° BYTE TARGET ENABLING stubI2CWriteBytesRequest.BytesTWrite.Add(RELAX_YARN_SPEED);//29° BYTE RELAX YARN SPEED stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//30° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//31° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//32° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//33° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//34° BYTE SPARE stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//35° BYTE SPARE var response = stubManager.Run(stubI2CWriteBytesRequest); return 1; } int BTSR_Get() { StubI2CReadBytesRequest stubI2CReadBytesRequest = new StubI2CReadBytesRequest(); stubI2CReadBytesRequest.I2CId = 0xFEED; // - Don't Change!! BTSR FEEDR (Script indentify) stubI2CReadBytesRequest.SlaveAddress = Verify_Received_CheckSum; stubI2CReadBytesRequest.NumberOfBytesToRead = BytesToRead; var response1 = stubManager.Run(stubI2CReadBytesRequest); uint temph=0; for(int i=0; i 10 milli. stubManager.WriteLine("\n --- ADVANCED TENSION PROGRAMMING --- \n"); BTSR_Get(); }