mbed Sensor node for Instrumented Booth over ETH.

Dependencies:   EthernetInterface-1 MaxbotixDriver Presence HTU21D_TEMP_HUMID_SENSOR_SAMPLE Resources SHARPIR mbed-rtos mbed-src WDT_K64F nsdl_lib

Fork of Trenton_Switch_LPC1768_ETH by Demo Team

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers nsdl_utils.cpp Source File

nsdl_utils.cpp

00001 #include "mbed.h"
00002 
00003 uint8_t lqi_ptr[3] = {'-','-', '-'};
00004 uint8_t lqi_ptr_len = 3;
00005 
00006 uint8_t int16_to_string(uint8_t *tmstring, int16_t number)
00007 {
00008     if(number < 10)
00009     {
00010         tmstring[0] = number + '0';
00011         return 1;
00012     }
00013     else if(number < 100)
00014     {
00015         tmstring[0] = number/10 + '0';
00016         tmstring[1] = (number%10) + '0';
00017         return 2;
00018     }
00019     else if(number < 1000)
00020     {
00021         tmstring[0] = number/100 + '0';
00022         number %= 100;
00023         tmstring[1] = number/10 + '0';
00024         tmstring[2] = (number%10) + '0';
00025         return 3;
00026     }
00027     else if(number < 10000)
00028     {
00029         tmstring[1] = number/1000 + '0';
00030         number %= 1000;
00031         tmstring[1] = number/100 + '0';
00032         number %= 100;
00033         tmstring[2] = number/10 + '0';
00034         tmstring[3] = (number%10) + '0';
00035         return 4;
00036     }
00037     else
00038     {
00039         tmstring[0] = number/10000 + '0';
00040         number %= 10000;
00041         tmstring[1] = number/1000 + '0';
00042         number %= 1000;
00043         tmstring[2] = number/100 + '0';
00044         number %= 100;
00045         tmstring[3] = number/10 + '0';
00046         tmstring[4] = (number%10) + '0';
00047         return 5;
00048     }   
00049 }
00050 
00051 void create_lqi_resource(uint8_t lqi_value)
00052 {
00053     lqi_ptr_len = int16_to_string(lqi_ptr, (int16_t) (lqi_value));
00054 }
00055 
00056 void* own_alloc(uint16_t size)
00057 {
00058     if(size)
00059     {
00060         void * ptr = (void*) malloc(size);
00061         //void * ptr = (void __data16*) __data16_malloc(size);
00062         if(ptr)
00063         {
00064             memset(ptr, 0, size);
00065             return ptr;
00066         }
00067     }
00068 #ifdef DEBUG
00069                 debug("Mem failed: ");
00070                 debug_int(size);
00071                 debug("\r\n");
00072 #endif  
00073     return 0;
00074 }
00075 
00076 void own_free(void *ptr)
00077 {
00078     if(ptr)
00079     {
00080         free(ptr);
00081         //__data16_free((void __data16*)ptr);
00082     }
00083 }