blob: 32c2e05c317df47f863bf5d0ba98769bd9fe0bde (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
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<StubI2CWriteBytesResponse>(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<StubI2CReadBytesResponse>(stubI2CReadBytesRequest);
uint temph=0;
for(int i=0; i<stubI2CReadBytesRequest.NumberOfBytesToRead;i++)
{
temph=response1.ReadBytes[i];
stubManager.WriteLineHex(temph,2);
}
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 --- ADVANCED TENSION PROGRAMMING --- \n");
BTSR_Get();
}
|