UniSaSA  1.0
Embedded Library
printf_scanf_unisasa.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include "unisasa.h"
4 
5 #define SIZE_MSG_DEV 1
6 
7 void messageToDevice(byte_t* message)
8 {
9  printf("messageToDevice: %u\n",message[0]);
10 }
11 
12 void messageAndAnswerToDevice(byte_t* request, byte_t* answer)
13 {
14  answer[0] = request[0] + 1;
15 }
16 
17 void getSensorValue(byte_t* sensorValue)
18 {
19  sensorValue[0]= (unsigned char) rand();
20 }
21 
22 void setActuatorValue(byte_t* value)
23 {
24  printf("setActuatorValue: %s\n",value);
25 }
26 
27 void receiveFunc(byte_t* recvMessage, unsigned int numByte)
28 {
29  printf("I want %u bytes\n",numByte);
30  unsigned char s[10];
31  scanf("%s",s);
32  int i=0;
33  for(i=0;i<numByte;i++)
34  recvMessage[i]= (unsigned char) (s[i] - '0');
35 }
36 
37 void sendFunc(byte_t* message ,unsigned int sizeMsg)
38 {
39  int i=0;
40  for(i=0;i<sizeMsg;i++)
41  printf(" %u",message[i]);
42  printf("\n");
43 }
44 
45 int main()
46 {
47 
48  createDevice(ADDR_ANY /*address*/, SIZE_MSG_DEV /* sizeIOmsg*/,messageToDevice,messageAndAnswerToDevice);
49  //addSensor( MOTION_DETECTOR , 1 /*Byte_T output*/, U_INT, getSensorValue/* sensor callback */);
50  addActuator( LED, 1 /*Byte_T input*/, BOOL, setActuatorValue /* actuator callback*/) ;
51 
52  while(1)
53  communication(receiveFunc, sendFunc);
54 
55  return 0;
56 }
57 
void createDevice(unsigned int address, unsigned char sizeIOmsg, messageHandlerFunc callback1, messageAndAnswerHandlerFunc callback2)
Definition: unisasa.c:54
void communication(receiveUnisasa recvFunc, sendUnisasa sendFunc)
Definition: unisasa.c:87
void addActuator(unsigned int typeActuator, unsigned char sizeInput, unsigned char typeInput, setActuatorValueFunc setValue)
Definition: unisasa.c:75
#define ADDR_ANY
Definition: unisasa.h:47