My Project
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
main.c
Go to the documentation of this file.
1 /*
2  * main.c
3  *
4  * Created on: 06/06/2012
5  * Author: ccortiz
6  */
7 
8 #include <stdio.h>
9 #include "default_ICD.h"
10 
11 int main(void){
12 
13  int i=0;
14  int serializedLength=0;
15  byte_ptr serializedBuffer=0;
16  byte deserializeBuffer[256];
17  int msgID=0;
18 
19  byte contentBuffer[]={
20  0xAA, 0xAA, 0xAA, 0xAA,
21  0xAA, 0xAA, 0xAA, 0xAA,
22  0xAA, 0xAA, 0xAA, 0xAA,
23  0xAA, 0xAA, 0xAA, 0xAA};
24 
25  int myICD = new_Default_ICD();
26  if (myICD==-1){
27  printf ("Error obteniendo descriptor para ICD\n");
28  return -1;
29  }
30 
31  /* -------------- Prueba de serializacion de mensajes -------------*/
33 
35 
36  for (i=0; i<Default_ICD.mensaje1.get_Repetitions(myICD); i++){
37  Default_ICD.mensaje1.set_BlockSize(myICD, i, i+1);
38  Default_ICD.mensaje1.set_Block(myICD, i, contentBuffer);
39  }
40 
41  serializedBuffer = Default_ICD.mensaje1.serialize(myICD);
42  serializedLength = Default_ICD.mensaje1.get_MsgSize(myICD);
43 
44  for (i=0; i< serializedLength; i++){
45  printf ("%.2X ", (serializedBuffer[i]&0xFF));
46  }
47 
48  printf("\n");
49 
50  /* ------------ Prueba de deserializacion de mensajes ------------*/
51  memcpy(deserializeBuffer, serializedBuffer, serializedLength);
52  /* deserializeBuffer[0]=0x01; */
53 
54  msgID = Default_ICD.search(myICD, deserializeBuffer, serializedLength);
55  switch (msgID) {
56  case _MENSAJE1_:
57 
58  printf("Identificado _MENSAJE1_ !\n");
59  Default_ICD.mensaje1.deserialize(myICD, deserializeBuffer, serializedLength, _TRUE_);
60 
61  printf (" > ID: %d\n", Default_ICD.mensaje1.get_ID(myICD));
62  printf (" > Repetitions: %d\n", Default_ICD.mensaje1.get_Repetitions(myICD));
63 
64  for (i=0; i<Default_ICD.mensaje1.get_Repetitions(myICD); i++){
65  int j=0;
66  byte buffer[256];
67 
68  printf(" > Block_Size[%d]: %d\n > ", i, Default_ICD.mensaje1.get_BlockSize(myICD, i));
69 
70  Default_ICD.mensaje1.get_Block(myICD, i, buffer);
71  for (j=0; j<Default_ICD.mensaje1.get_BlockSize(myICD, i); j++){
72  printf ("%.2X ", buffer[j]);
73  }
74  printf("\n");
75  }
76 
77  break;
78 
79  case _MENSAJE2_:
80  printf("Identificado _MENSAJE2_ !\n");
81  Default_ICD.mensaje2.deserialize(myICD, deserializeBuffer, serializedLength, _TRUE_);
82  break;
83 
84  case _MENSAJE3_:
85  printf("Identificado _MENSAJE3_ !\n");
86  Default_ICD.mensaje3.deserialize(myICD, deserializeBuffer, serializedLength, _TRUE_);
87  break;
88 
89 
90  default:
91  printf("Mensaje no identificado! \n");
92  break;
93  }
94 
95  return 0;
96 }
97