Tema SCPI Negru Rares-Razvan
Dependencies: BLE_API mbed nRF51822
Fork of nRF51822_TemperatureEx by
myData.h@11:baafa4f7a15e, 2016-05-06 (annotated)
- Committer:
- tanasaro10
- Date:
- Fri May 06 18:14:18 2016 +0000
- Revision:
- 11:baafa4f7a15e
- Parent:
- 9:303d3628986a
- Child:
- 12:7772974713ac
minor updates
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tanasaro10 | 9:303d3628986a | 1 | #include "ble_flash.h" |
tanasaro10 | 9:303d3628986a | 2 | #include "mbed.h" |
tanasaro10 | 9:303d3628986a | 3 | |
tanasaro10 | 9:303d3628986a | 4 | #define MAXBUFFER 99u //(((BLE_FLASH_PAGE_SIZE - 4 - sizeof(myData_t))/sizeof(myDataL_t)) |
tanasaro10 | 9:303d3628986a | 5 | #define MAX_WORD_PAGE_DATA 254u // to be computed as round_next_int(MAXBUFFER*sizeof(myDataL_t)+sizeof(myData_t)) |
tanasaro10 | 9:303d3628986a | 6 | |
tanasaro10 | 9:303d3628986a | 7 | #define MAX_PAGE_NUM (NRF_FICR->CODESIZE - 1) // 255 |
tanasaro10 | 9:303d3628986a | 8 | #define MIN_PAGE_NUM 155u |
tanasaro10 | 8:f28ad4600b0f | 9 | |
tanasaro10 | 8:f28ad4600b0f | 10 | |
tanasaro10 | 8:f28ad4600b0f | 11 | typedef struct{ |
tanasaro10 | 9:303d3628986a | 12 | uint8_t year; // 20_XX, 2016 => 16; |
tanasaro10 | 8:f28ad4600b0f | 13 | uint8_t month; // 1..12 |
tanasaro10 | 9:303d3628986a | 14 | uint8_t day; // 1..31 |
tanasaro10 | 11:baafa4f7a15e | 15 | uint8_t hours; |
tanasaro10 | 11:baafa4f7a15e | 16 | uint8_t minutes; |
tanasaro10 | 11:baafa4f7a15e | 17 | uint8_t seconds; |
tanasaro10 | 11:baafa4f7a15e | 18 | } mdate_time_t; |
tanasaro10 | 8:f28ad4600b0f | 19 | |
tanasaro10 | 8:f28ad4600b0f | 20 | |
tanasaro10 | 8:f28ad4600b0f | 21 | typedef struct{ |
tanasaro10 | 11:baafa4f7a15e | 22 | mdate_time_t currentDateTime; |
tanasaro10 | 11:baafa4f7a15e | 23 | mdate_time_t newDateTime; |
tanasaro10 | 11:baafa4f7a15e | 24 | bool updateDateTime; // true if currentTime needs to be updated with newTime; |
tanasaro10 | 11:baafa4f7a15e | 25 | } mdatetime_manager_t; |
tanasaro10 | 11:baafa4f7a15e | 26 | |
tanasaro10 | 8:f28ad4600b0f | 27 | |
tanasaro10 | 9:303d3628986a | 28 | typedef enum { |
tanasaro10 | 9:303d3628986a | 29 | eStartAdvertising =0, |
tanasaro10 | 9:303d3628986a | 30 | eStopAdvertising =1, |
tanasaro10 | 9:303d3628986a | 31 | eDisconnect =2 |
tanasaro10 | 9:303d3628986a | 32 | } connection_update_t; |
tanasaro10 | 8:f28ad4600b0f | 33 | |
tanasaro10 | 8:f28ad4600b0f | 34 | typedef struct { |
tanasaro10 | 9:303d3628986a | 35 | uint16_t light; |
tanasaro10 | 9:303d3628986a | 36 | uint16_t gndV; |
tanasaro10 | 9:303d3628986a | 37 | uint16_t temp; |
tanasaro10 | 8:f28ad4600b0f | 38 | bool led_on; |
tanasaro10 | 9:303d3628986a | 39 | bool led2_on; |
tanasaro10 | 9:303d3628986a | 40 | } myPayload_t; |
tanasaro10 | 9:303d3628986a | 41 | |
tanasaro10 | 9:303d3628986a | 42 | |
tanasaro10 | 9:303d3628986a | 43 | typedef struct { |
tanasaro10 | 9:303d3628986a | 44 | myPayload_t data; |
tanasaro10 | 11:baafa4f7a15e | 45 | uint8_t seconds; |
tanasaro10 | 11:baafa4f7a15e | 46 | uint8_t minutes; |
tanasaro10 | 9:303d3628986a | 47 | } myDataL_t; |
tanasaro10 | 9:303d3628986a | 48 | |
tanasaro10 | 9:303d3628986a | 49 | typedef struct { |
tanasaro10 | 11:baafa4f7a15e | 50 | mdate_time_t datetime; // 6 bytes length |
tanasaro10 | 11:baafa4f7a15e | 51 | myPayload_t data; // 8 bytes lenth |
tanasaro10 | 8:f28ad4600b0f | 52 | } myData_t; |
tanasaro10 | 8:f28ad4600b0f | 53 | |
tanasaro10 | 9:303d3628986a | 54 | typedef struct { |
tanasaro10 | 9:303d3628986a | 55 | myData_t startData; |
tanasaro10 | 9:303d3628986a | 56 | myDataL_t myData[MAXBUFFER]; |
tanasaro10 | 9:303d3628986a | 57 | } myDataLog_t; |
tanasaro10 | 9:303d3628986a | 58 | |
tanasaro10 | 9:303d3628986a | 59 | typedef struct { |
tanasaro10 | 9:303d3628986a | 60 | myData_t startData; |
tanasaro10 | 9:303d3628986a | 61 | myDataL_t myData; |
tanasaro10 | 9:303d3628986a | 62 | } myDataLogShort_t; |
tanasaro10 | 9:303d3628986a | 63 | |
tanasaro10 | 9:303d3628986a | 64 | /* Return current page to be written in Flash */ |
tanasaro10 | 9:303d3628986a | 65 | uint8_t flash_currPage(); |
tanasaro10 | 9:303d3628986a | 66 | |
tanasaro10 | 9:303d3628986a | 67 | /* Return next page to be written in Flash */ |
tanasaro10 | 9:303d3628986a | 68 | uint8_t flash_go_nextPage(); |
tanasaro10 | 9:303d3628986a | 69 | |
tanasaro10 | 9:303d3628986a | 70 | /* Return page-N (thas has been written in Flash) */ |
tanasaro10 | 9:303d3628986a | 71 | uint8_t flash_prev_N_Page(uint8_t nr_of_pages); |
tanasaro10 | 8:f28ad4600b0f | 72 | |
tanasaro10 | 9:303d3628986a | 73 | /*search the latest page written and extract the page_nr, date, and time*/ |
tanasaro10 | 11:baafa4f7a15e | 74 | void search_latest_in_flash(mdate_time_t * outDateTime); |
tanasaro10 | 9:303d3628986a | 75 | |
tanasaro10 | 9:303d3628986a | 76 | /* Update current date and time with tseconds and also if there is a new date/time given */ |
tanasaro10 | 11:baafa4f7a15e | 77 | void update_time(mdatetime_manager_t* myDateTimeVar, uint16_t tseconds); |
tanasaro10 | 9:303d3628986a | 78 | |
tanasaro10 | 9:303d3628986a | 79 | /* Update buzzer with period in ms =0..9 and duty cycle = 0..9*/ |
tanasaro10 | 9:303d3628986a | 80 | int buzz_int(PwmOut* buzzer, uint8_t period, uint8_t duty_cycle); |
tanasaro10 | 9:303d3628986a | 81 | |
tanasaro10 | 9:303d3628986a | 82 | /* Print on serial some error from main app*/ |
tanasaro10 | 9:303d3628986a | 83 | void assert_error_app(bool condition, Serial *pc, uint16_t error, uint16_t line, const char* file); |