Commit d6456a0f12470ea885ccf86f033325fdf330d08c

Authored by Maria Jorba Brosa
1 parent d5ac5e26

--no commit message

Too many changes to show.

To preserve performance only 2 of 10 files are displayed.

Project/applications/smartcities/buffer.c
... ... @@ -3,20 +3,23 @@
3 3  
4 4 char** put_message(char* info, char** buf,uint32_t *index, uint32_t *buf_len){
5 5  
6   -uint32_t i;
7   -i= *index;
8   -if(*buf_len==i)
  6 +uint32_t i,len;
  7 +len=*buf_len;
  8 +if(len==*index)
9 9 {
  10 +
10 11 char** buffer=join_buf(buf, buf_len);
11   - buffer[i]=chHeapAlloc(NULL,strlen(info)+1);
12   - buffer[i]=info;
13   - *index = i++;
  12 + buffer[*index]=chHeapAlloc(NULL,strlen(info)+1);
  13 + strcpy(buffer[*index],info);
  14 + i=*index+1;
  15 + *index = i;
14 16 return buffer;
15 17 }
16 18 else{
17   - buf[i] = chHeapAlloc(NULL,strlen(info)+1);
18   - buf[i]=info;
19   - *index = i++;
  19 + buf[*index] = chHeapAlloc(NULL,strlen(info)+1);
  20 + buf[*index]=info;
  21 + i=*index+1;
  22 + *index = i;
20 23 return buf;
21 24 }
22 25  
... ... @@ -24,9 +27,11 @@ else{
24 27  
25 28 int check_memory(){
26 29  
27   - int mem_free=libwismart_GetMemFree_Ram().free;
28   - int mem=25600-mem_free;
29   -
  30 + //int mem_free=libwismart_GetMemFree_Ram().free_core;
  31 + //printf("mem lliure=%d\r\n",mem_free);
  32 + int mem_free=20000;
  33 + int mem=38920-mem_free;
  34 + printf("mem ocupada=%d\r\n",mem);
30 35 if(mem>=HARD_LIMIT)
31 36 {
32 37 return HARD_REACHED;
... ... @@ -37,14 +42,24 @@ int check_memory(){
37 42 return MEMORY_OK;
38 43 }
39 44  
40   -int send(char** buf, uint32_t index, char *provider_ID, char *sensor_ID){
41   -
42   - char* statement=prepare_json_observation_statement(buf, index+1);
  45 +int send(char** buf, uint32_t *index, uint32_t *size_buf, char *provider_ID, char *sensor_ID){
  46 + printf("1\r\n");
  47 + char* statement=prepare_json_observation_statement(buf, *index);
  48 + printf("2\r\n");
43 49 uint32_t size = strlen(statement);
  50 + printf("3\r\n");
44 51 uint8_t res=send_json(statement, size, provider_ID, sensor_ID);
  52 + printf("4\r\n");
45 53 int i;
46   - for(i=0;i<index+1;i++){
  54 + printf("res=%d\r\n",res);
  55 + if(res==JSON_POST_OK){
  56 +
  57 + for(i=0;i<*index;i++){
47 58 chHeapFree(buf[i]);
  59 + }
  60 + printf(" posant la mida i l'index a 0\r\n");
  61 + *index=0;
  62 + *size_buf=0;
48 63 }
49 64 return res;
50 65 }
... ... @@ -71,12 +86,13 @@ char** join_buf(char** buf, uint32_t *buf_len){
71 86 n_buf=chHeapAlloc (NULL,sizeof (char *) * (len+1));
72 87 int i;
73 88 for(i=0; i<len;i++){
74   - char* aux=buf[i];
75   - n_buf[i]=chHeapAlloc(NULL,strlen(aux)+1);
76   - n_buf[i]=aux;
  89 + n_buf[i]=chHeapAlloc(NULL,strlen(buf[i])+1);
  90 + strcpy(n_buf[i],buf[i]);
77 91 chHeapFree(buf[i]);
78 92 }
79   - chHeapFree(buf);
80   - *buf_len=len++;
  93 + if(len!=0){
  94 + chHeapFree(buf);}
  95 + len++;
  96 + *buf_len=len;
81 97 return n_buf;
82 98 }
... ...
Project/applications/smartcities/build/smartcities.bin
No preview for this file type