aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Stubs Collection/stubs/Scripts/BTSR/35_ALARM_STATUS_RESET.cs
blob: ec843126486cc013bb1e9856ab529b0692a1bbd6 (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
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 = 0x27;

const byte STOP_OUT_CONFIG = 0x00;
const byte CUSTOMISATION = 0x00;
	
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(0X04);//1° BYTE RESET_0 - 0X04 - D2 ‘1’ TENSION ERROR ALARM RESET
	stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//2° BYTE RESET_1 - NA
	stubI2CWriteBytesRequest.BytesTWrite.Add(0X00);//3° BYTE SPARE
	stubI2CWriteBytesRequest.BytesTWrite.Add(0x00);//4° 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 --- ALARM STATUS RESET --- \n");
	BTSR_Get();
}