UniSaSA  1.0
C Gateway
simulationConnector.c
1 #include "simulationConnector.h"
2 #include <stdlib.h>
3 
4 unsigned int _simulationConnectorSenValue_ = 0;
5 
6 unsigned int discoveryStaticImpl (discoveredDevice_t *devs)
7 {
8 
9  // Device - 1 -
10 
11  devs[0].actuators[0].ID.integer=5;
12  devs[0].actuators[0].typeActuator.integer=3;
13  devs[0].actuators[0].sizeInput=4;
14  devs[0].actuators[0].typeInput=2;
15 
16  devs[0].address.integer=35;
17  devs[0].sizeIODevice=2;
18  devs[0].sizeIDSensor=0;
19  devs[0].numSensors=0;
20  //devs[0].sensors;
21  devs[0].sizeIDActuator=1;
22  devs[0].numActuators=1;
23  //devs[0].actuators;
24 
25  // Device - 2 -
26 
27  devs[1].sensors[0].ID.integer=5;
28  devs[1].sensors[0].typeSensor.integer=3;
29  devs[1].sensors[0].sizeOutput=1;
30  devs[1].sensors[0].typeOutput=1;
31 
32  devs[1].sensors[1].ID.integer=7;
33  devs[1].sensors[1].typeSensor.integer=4;
34  devs[1].sensors[1].sizeOutput=1;
35  devs[1].sensors[1].typeOutput=1;
36 
37  devs[1].actuators[0].ID.integer=10;
38  devs[1].actuators[0].typeActuator.integer=1;
39  devs[1].actuators[0].sizeInput=2;
40  devs[1].actuators[0].typeInput=3;
41 
42  devs[1].address.integer = 5;
43  devs[1].sizeIODevice = 2;
44  devs[1].sizeIDSensor = 1;
45  devs[1].numSensors = 2;
46  //devs[1].sensors;
47  devs[1].sizeIDActuator = 1;
48  devs[1].numActuators = 1;
49  //devs[1].actuators;
50 
51  // Device - 3 -
52 
53  devs[2].sensors[0].ID.integer=3;
54  devs[2].sensors[0].typeSensor.integer=5;
55  devs[2].sensors[0].sizeOutput=1;
56  devs[2].sensors[0].typeOutput=1;
57 
58  devs[2].sensors[1].ID.integer=300;
59  devs[2].sensors[1].typeSensor.integer=6;
60  devs[2].sensors[1].sizeOutput=1;
61  devs[2].sensors[1].typeOutput=1;
62 
63  devs[2].address.integer=500;
64  devs[2].sizeIODevice=2;
65  devs[2].sizeIDSensor=2;
66  devs[2].numSensors=2;
67  //devs[2].sensors;
68  devs[2].sizeIDActuator=0;
69  devs[2].numActuators=0;
70  //devs[2].actuators;
71 
72 
73  return 3;
74 
75 
76 }
77 
78 int checkDeviceStaticImpl ( unsigned char* addr)
79 {
80  unsigned int ad = (addr[0] << 8) + addr[1];
81  int check=0;
82  if(ad == 35 || ad == 5 || ad == 500)
83  check=1;
84  return check;
85 }
86 
87 void msgToDeviceStaticImpl (unsigned char* addr, unsigned char sizeData, unsigned char* data)
88 {
89  //Nothing
90 }
91 
92 void msgAndAnswerToDeviceStaticImpl (unsigned char* addr, unsigned char sizeReqAns, unsigned char* request, unsigned char* answer)
93 {
94  answer[0]=request[0];
95  answer[1]= request[1] + 1;
96 }
97 
98 void getSensorValueStaticImpl (unsigned char* addr, unsigned char sizeIDSen, unsigned char* IDSen, unsigned char sizeValue, unsigned char* value)
99 {
100  _simulationConnectorSenValue_++;
101  value[0] = _simulationConnectorSenValue_;
102 }
103 
104 void setActuatorValueStaticImpl (unsigned char* addr, unsigned char sizeIDAct,unsigned char* IDAct, unsigned char sizeValue ,unsigned char* value)
105 {
106  //Nothing
107 }
108 
109 
110 connectorInterface_t createStaticConnector()
111 {
113 
114  conn.name = "StaticConnector";
115  conn.sizeAddress = 2;
116  conn.discovery = discoveryStaticImpl;
117  conn.checkDevice = checkDeviceStaticImpl;
118  conn.msgToDevice = msgToDeviceStaticImpl;
119  conn.msgAndAnswerToDevice = msgAndAnswerToDeviceStaticImpl;
120  conn.getSensorValue = getSensorValueStaticImpl;
121  conn.setActuatorValue = setActuatorValueStaticImpl;
122 
123  return conn;
124 }