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
NSDL/nsdl_utils.cpp@46:807e9cf63f4c, 2015-07-16 (annotated)
- Committer:
- andcor02
- Date:
- Thu Jul 16 13:28:49 2015 +0000
- Revision:
- 46:807e9cf63f4c
- Parent:
- 26:4cac6b346e4f
Added Serial VCOM debug over USB.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
erigow01 | 26:4cac6b346e4f | 1 | #include "mbed.h" |
erigow01 | 26:4cac6b346e4f | 2 | |
erigow01 | 26:4cac6b346e4f | 3 | uint8_t lqi_ptr[3] = {'-','-', '-'}; |
erigow01 | 26:4cac6b346e4f | 4 | uint8_t lqi_ptr_len = 3; |
erigow01 | 26:4cac6b346e4f | 5 | |
erigow01 | 26:4cac6b346e4f | 6 | uint8_t int16_to_string(uint8_t *tmstring, int16_t number) |
erigow01 | 26:4cac6b346e4f | 7 | { |
erigow01 | 26:4cac6b346e4f | 8 | if(number < 10) |
erigow01 | 26:4cac6b346e4f | 9 | { |
erigow01 | 26:4cac6b346e4f | 10 | tmstring[0] = number + '0'; |
erigow01 | 26:4cac6b346e4f | 11 | return 1; |
erigow01 | 26:4cac6b346e4f | 12 | } |
erigow01 | 26:4cac6b346e4f | 13 | else if(number < 100) |
erigow01 | 26:4cac6b346e4f | 14 | { |
erigow01 | 26:4cac6b346e4f | 15 | tmstring[0] = number/10 + '0'; |
erigow01 | 26:4cac6b346e4f | 16 | tmstring[1] = (number%10) + '0'; |
erigow01 | 26:4cac6b346e4f | 17 | return 2; |
erigow01 | 26:4cac6b346e4f | 18 | } |
erigow01 | 26:4cac6b346e4f | 19 | else if(number < 1000) |
erigow01 | 26:4cac6b346e4f | 20 | { |
erigow01 | 26:4cac6b346e4f | 21 | tmstring[0] = number/100 + '0'; |
erigow01 | 26:4cac6b346e4f | 22 | number %= 100; |
erigow01 | 26:4cac6b346e4f | 23 | tmstring[1] = number/10 + '0'; |
erigow01 | 26:4cac6b346e4f | 24 | tmstring[2] = (number%10) + '0'; |
erigow01 | 26:4cac6b346e4f | 25 | return 3; |
erigow01 | 26:4cac6b346e4f | 26 | } |
erigow01 | 26:4cac6b346e4f | 27 | else if(number < 10000) |
erigow01 | 26:4cac6b346e4f | 28 | { |
erigow01 | 26:4cac6b346e4f | 29 | tmstring[1] = number/1000 + '0'; |
erigow01 | 26:4cac6b346e4f | 30 | number %= 1000; |
erigow01 | 26:4cac6b346e4f | 31 | tmstring[1] = number/100 + '0'; |
erigow01 | 26:4cac6b346e4f | 32 | number %= 100; |
erigow01 | 26:4cac6b346e4f | 33 | tmstring[2] = number/10 + '0'; |
erigow01 | 26:4cac6b346e4f | 34 | tmstring[3] = (number%10) + '0'; |
erigow01 | 26:4cac6b346e4f | 35 | return 4; |
erigow01 | 26:4cac6b346e4f | 36 | } |
erigow01 | 26:4cac6b346e4f | 37 | else |
erigow01 | 26:4cac6b346e4f | 38 | { |
erigow01 | 26:4cac6b346e4f | 39 | tmstring[0] = number/10000 + '0'; |
erigow01 | 26:4cac6b346e4f | 40 | number %= 10000; |
erigow01 | 26:4cac6b346e4f | 41 | tmstring[1] = number/1000 + '0'; |
erigow01 | 26:4cac6b346e4f | 42 | number %= 1000; |
erigow01 | 26:4cac6b346e4f | 43 | tmstring[2] = number/100 + '0'; |
erigow01 | 26:4cac6b346e4f | 44 | number %= 100; |
erigow01 | 26:4cac6b346e4f | 45 | tmstring[3] = number/10 + '0'; |
erigow01 | 26:4cac6b346e4f | 46 | tmstring[4] = (number%10) + '0'; |
erigow01 | 26:4cac6b346e4f | 47 | return 5; |
erigow01 | 26:4cac6b346e4f | 48 | } |
erigow01 | 26:4cac6b346e4f | 49 | } |
erigow01 | 26:4cac6b346e4f | 50 | |
erigow01 | 26:4cac6b346e4f | 51 | void create_lqi_resource(uint8_t lqi_value) |
erigow01 | 26:4cac6b346e4f | 52 | { |
erigow01 | 26:4cac6b346e4f | 53 | lqi_ptr_len = int16_to_string(lqi_ptr, (int16_t) (lqi_value)); |
erigow01 | 26:4cac6b346e4f | 54 | } |
erigow01 | 26:4cac6b346e4f | 55 | |
erigow01 | 26:4cac6b346e4f | 56 | void* own_alloc(uint16_t size) |
erigow01 | 26:4cac6b346e4f | 57 | { |
erigow01 | 26:4cac6b346e4f | 58 | if(size) |
erigow01 | 26:4cac6b346e4f | 59 | { |
erigow01 | 26:4cac6b346e4f | 60 | void * ptr = (void*) malloc(size); |
erigow01 | 26:4cac6b346e4f | 61 | //void * ptr = (void __data16*) __data16_malloc(size); |
erigow01 | 26:4cac6b346e4f | 62 | if(ptr) |
erigow01 | 26:4cac6b346e4f | 63 | { |
erigow01 | 26:4cac6b346e4f | 64 | memset(ptr, 0, size); |
erigow01 | 26:4cac6b346e4f | 65 | return ptr; |
erigow01 | 26:4cac6b346e4f | 66 | } |
erigow01 | 26:4cac6b346e4f | 67 | } |
erigow01 | 26:4cac6b346e4f | 68 | #ifdef DEBUG |
erigow01 | 26:4cac6b346e4f | 69 | debug("Mem failed: "); |
erigow01 | 26:4cac6b346e4f | 70 | debug_int(size); |
erigow01 | 26:4cac6b346e4f | 71 | debug("\r\n"); |
erigow01 | 26:4cac6b346e4f | 72 | #endif |
erigow01 | 26:4cac6b346e4f | 73 | return 0; |
erigow01 | 26:4cac6b346e4f | 74 | } |
erigow01 | 26:4cac6b346e4f | 75 | |
erigow01 | 26:4cac6b346e4f | 76 | void own_free(void *ptr) |
erigow01 | 26:4cac6b346e4f | 77 | { |
erigow01 | 26:4cac6b346e4f | 78 | if(ptr) |
erigow01 | 26:4cac6b346e4f | 79 | { |
erigow01 | 26:4cac6b346e4f | 80 | free(ptr); |
erigow01 | 26:4cac6b346e4f | 81 | //__data16_free((void __data16*)ptr); |
erigow01 | 26:4cac6b346e4f | 82 | } |
erigow01 | 26:4cac6b346e4f | 83 | } |