created separate function for hex to char

Dependencies:   SDFileSystem ds3231 eeprom_Nikita mbed testUniGraphic_150217

Fork of SS_SensePOC2P0_11Dec2017_USERPID by rashmi v

Committer:
rashmivenkataramaiah
Date:
Tue Dec 12 11:13:10 2017 +0000
Revision:
76:611154b3b597
Parent:
75:0feb6f993562
made separate function for hex to char

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nikitateggi 0:c47fb0c1bbf6 1 #include "mbed.h"
rashmivenkataramaiah 72:1f990fa8c516 2 //#include "display_modules.h"
rashmivenkataramaiah 72:1f990fa8c516 3 //#include "touch_modules.h"
nikitateggi 1:8316c23ec6b9 4 #include "ecg_dec.h"
rashmivenkataramaiah 72:1f990fa8c516 5 //#include "touch_modules.h"
nikitateggi 1:8316c23ec6b9 6 #include "glc.h"
nikitateggi 3:9a06c2bed650 7 #include "bp.h"
nikitateggi 1:8316c23ec6b9 8 #include "sdcard.h"
nikitateggi 4:6bd81bb1790d 9 #include "eeprom_pgm.h"
nikitateggi 19:1650bbc923cc 10 #include "struct.h"
nikitateggi 22:ffa88619551d 11 #include "battery.h"
rashmivenkataramaiah 57:e82d4bd6b2c0 12 #include "rtc.h"
rashmivenkataramaiah 41:1141a75eacc4 13 #include "main.h"
rashmivenkataramaiah 72:1f990fa8c516 14 #include "SDFileSystem.h"
nikitateggi 45:067673dae242 15
nikitateggi 45:067673dae242 16 #define TIMER_RXACK_BTCONNECTION 10000
nikitateggi 45:067673dae242 17 #define BATTERY_TIMER_VALUE 600000
nikitateggi 45:067673dae242 18 #define SERIAL_BAUD_RATE 115200
nikitateggi 45:067673dae242 19 #define BATTERY_SCREEN_NO_CHARGE_CONDITION 3
nikitateggi 49:3ff80c4bc1be 20 #define TIMER_ENTER_DEBUG_MODE 10000
rashmivenkataramaiah 74:9ba8a7101036 21 #define HEARTBEAT_DATA_LEN 0x13u //changed from 0D to 13
rashmivenkataramaiah 57:e82d4bd6b2c0 22 #define DEVICE_RESULT_DATA_LEN 0x04u
rashmivenkataramaiah 57:e82d4bd6b2c0 23 #define ZERO_DATA_LEN 0x00u
rashmivenkataramaiah 72:1f990fa8c516 24
nikitateggi 24:d992ee8369f4 25
rashmivenkataramaiah 57:e82d4bd6b2c0 26 typedef enum
rashmivenkataramaiah 57:e82d4bd6b2c0 27 {
rashmivenkataramaiah 66:d7fc45e328d0 28 HOME_SCREEN = 0x01U,
rashmivenkataramaiah 66:d7fc45e328d0 29 TEST_SCREEN
rashmivenkataramaiah 66:d7fc45e328d0 30 }DEVICE_STATE;
rashmivenkataramaiah 66:d7fc45e328d0 31 typedef enum
rashmivenkataramaiah 66:d7fc45e328d0 32 {
rashmivenkataramaiah 57:e82d4bd6b2c0 33 GET_TOUCH_DISP_STATE = 0x00U,
rashmivenkataramaiah 57:e82d4bd6b2c0 34 BT_TX_STATE,
rashmivenkataramaiah 57:e82d4bd6b2c0 35 BT_RX_STATE
nikitateggi 51:1a4693774b60 36
rashmivenkataramaiah 57:e82d4bd6b2c0 37 }DEVICE_MAIN_STATE;
rashmivenkataramaiah 57:e82d4bd6b2c0 38
rashmivenkataramaiah 57:e82d4bd6b2c0 39 // this helps to respond various status during test cycle, error condition and simple ack or nack
rashmivenkataramaiah 57:e82d4bd6b2c0 40 typedef struct __attribute__((__packed__))
rashmivenkataramaiah 57:e82d4bd6b2c0 41 {
rashmivenkataramaiah 57:e82d4bd6b2c0 42 uint8_t sos;
rashmivenkataramaiah 57:e82d4bd6b2c0 43 uint8_t cmd; // this contains error response
rashmivenkataramaiah 57:e82d4bd6b2c0 44 uint8_t length;
rashmivenkataramaiah 57:e82d4bd6b2c0 45 uint8_t eos;
rashmivenkataramaiah 57:e82d4bd6b2c0 46 uint8_t chksum;
rashmivenkataramaiah 57:e82d4bd6b2c0 47
rashmivenkataramaiah 57:e82d4bd6b2c0 48 }poc2p0_device_msg_response;
rashmivenkataramaiah 57:e82d4bd6b2c0 49
rashmivenkataramaiah 57:e82d4bd6b2c0 50 typedef struct __attribute__((__packed__))
rashmivenkataramaiah 57:e82d4bd6b2c0 51 {
rashmivenkataramaiah 57:e82d4bd6b2c0 52 uint8_t sos;
rashmivenkataramaiah 57:e82d4bd6b2c0 53 uint8_t cmd;
rashmivenkataramaiah 57:e82d4bd6b2c0 54 uint8_t length;
rashmivenkataramaiah 57:e82d4bd6b2c0 55 uint32_t test_result;
rashmivenkataramaiah 57:e82d4bd6b2c0 56 uint8_t eos;
rashmivenkataramaiah 57:e82d4bd6b2c0 57 uint8_t chksum;
rashmivenkataramaiah 57:e82d4bd6b2c0 58
rashmivenkataramaiah 57:e82d4bd6b2c0 59 }poc2p0_device_tst_result_response;
rashmivenkataramaiah 57:e82d4bd6b2c0 60
rashmivenkataramaiah 57:e82d4bd6b2c0 61 // this will be used for responding heart beat message
rashmivenkataramaiah 57:e82d4bd6b2c0 62 typedef struct __attribute__((__packed__))
rashmivenkataramaiah 57:e82d4bd6b2c0 63 {
rashmivenkataramaiah 57:e82d4bd6b2c0 64 uint8_t sos;
rashmivenkataramaiah 57:e82d4bd6b2c0 65 uint8_t cmd; // this contains error response
rashmivenkataramaiah 57:e82d4bd6b2c0 66 uint8_t length;
rashmivenkataramaiah 65:8acfba0ce49a 67 uint8_t did;
rashmivenkataramaiah 75:0feb6f993562 68 char pid[10];
rashmivenkataramaiah 72:1f990fa8c516 69 //uint32_t pid;
rashmivenkataramaiah 65:8acfba0ce49a 70 DateTime_info date_time;
rashmivenkataramaiah 57:e82d4bd6b2c0 71 uint8_t device_state; //changed POC2P0_DEVICE_STATE to uint8_t
rashmivenkataramaiah 57:e82d4bd6b2c0 72 uint8_t battery_status;
rashmivenkataramaiah 57:e82d4bd6b2c0 73 uint8_t eos;
rashmivenkataramaiah 57:e82d4bd6b2c0 74 uint8_t chksum;
rashmivenkataramaiah 57:e82d4bd6b2c0 75
rashmivenkataramaiah 57:e82d4bd6b2c0 76 }poc2p0_device_heartbeat_response;
nikitateggi 51:1a4693774b60 77
rashmivenkataramaiah 72:1f990fa8c516 78 SDFileSystem sd(PTE1, PTE3, PTE2, PTE4, "sd");
nikitateggi 0:c47fb0c1bbf6 79 Serial gc(USBTX, USBRX);
nikitateggi 0:c47fb0c1bbf6 80 DigitalIn q1(PTB11);
nikitateggi 29:7edc76b15e3d 81 DigitalIn q(PTC5);
nikitateggi 29:7edc76b15e3d 82 DigitalIn q3(PTC12);
rashmivenkataramaiah 42:c81673b04b6a 83 DigitalIn BT(PTA5);
rashmivenkataramaiah 65:8acfba0ce49a 84 Serial blue1(PTC4,PTC3);
rashmivenkataramaiah 65:8acfba0ce49a 85
nikitateggi 44:05dbea558c9a 86 uint32_t get_timer_bluetooth();
nikitateggi 45:067673dae242 87 static void battery_status_monitoring(); //bluetooth status pin
nikitateggi 45:067673dae242 88 uint8_t touch(uint8_t state); // touch state
nikitateggi 45:067673dae242 89 uint8_t display(uint8_t state1); // display state
rashmivenkataramaiah 72:1f990fa8c516 90 static void ecg_bp_countdown(void);
rashmivenkataramaiah 72:1f990fa8c516 91 static void read_device_id(void);
rashmivenkataramaiah 72:1f990fa8c516 92 void sd_card_status(void);
nikitateggi 45:067673dae242 93
rashmivenkataramaiah 42:c81673b04b6a 94 static uint8_t nstate=0;
nikitateggi 53:cc6e65480a67 95 static uint8_t nstate1=0;
rashmivenkataramaiah 43:85a7f399cb9d 96 static bool file_created_status = false; //initialise file created to 0
rashmivenkataramaiah 43:85a7f399cb9d 97 static uint32_t filepid_btpid[2] = {};
nikitateggi 45:067673dae242 98 Timer timer_bt; // timer for bluetooth
rashmivenkataramaiah 57:e82d4bd6b2c0 99 Timer timer_battery; // timer for battery
nikitateggi 51:1a4693774b60 100 Timer timer_debug; // timer for entering the debug mode
nikitateggi 54:f2a413d5dffd 101 static bool debug_mode=false; // holds the status of the debug mode "1" indicates the device is in debug mode
nikitateggi 51:1a4693774b60 102 char debug_message_rx[6]; // buffer to receive the debug message data
nikitateggi 51:1a4693774b60 103 char debug_message[6]={"debug"}; //debug message to be received
nikitateggi 51:1a4693774b60 104 void debug_status_monitoring(); // debug status monitoring
nikitateggi 54:f2a413d5dffd 105 static uint32_t pid = 0; // patient ID
rashmivenkataramaiah 65:8acfba0ce49a 106 static uint8_t state_touch = 1; //added on 16-NOV rashmi
rashmivenkataramaiah 69:128e3b467820 107 uint8_t buffer_pointer = 0x00u;
rashmivenkataramaiah 72:1f990fa8c516 108 static uint8_t device_id = 0;
rashmivenkataramaiah 68:41da0a3ba038 109
rashmivenkataramaiah 41:1141a75eacc4 110 int main()
rashmivenkataramaiah 41:1141a75eacc4 111 {
rashmivenkataramaiah 57:e82d4bd6b2c0 112 static DEVICE_MAIN_STATE main_state = GET_TOUCH_DISP_STATE;
rashmivenkataramaiah 41:1141a75eacc4 113 static uint8_t state_display = 0;
rashmivenkataramaiah 64:5a76653792e8 114 //static uint8_t state_touch = 1; //commented on 16-NOV rashmi
nikitateggi 47:3716dd41dba6 115 uint8_t state_t = 1; // state to transmit to bluetooth
nikitateggi 47:3716dd41dba6 116 uint8_t state_r = 0; // state to receive from bluetooth
avp2417 37:92fcbf22bf91 117
rashmivenkataramaiah 72:1f990fa8c516 118 //DisableTouch();
rashmivenkataramaiah 41:1141a75eacc4 119 gc.baud(115200);
nikitateggi 47:3716dd41dba6 120 blue1.baud(115200);
rashmivenkataramaiah 72:1f990fa8c516 121 sd.disk_initialize();
rashmivenkataramaiah 72:1f990fa8c516 122 sd_card_status();
nikitateggi 54:f2a413d5dffd 123 pid = get_filepid() + 1; //added on 22/09/2017 nikita
rashmivenkataramaiah 72:1f990fa8c516 124 //screen_main(); // display of main screen
nikitateggi 45:067673dae242 125 battery_monitor(); // monitor battery at the start only
rashmivenkataramaiah 72:1f990fa8c516 126 //battery_status_display(); // display of main screen
nikitateggi 45:067673dae242 127 timer_battery.start();
nikitateggi 51:1a4693774b60 128 timer_debug.start();
rashmivenkataramaiah 74:9ba8a7101036 129 read_device_id();
nikitateggi 51:1a4693774b60 130 gc.printf("enter message to go into debug mode\n");
rashmivenkataramaiah 74:9ba8a7101036 131
nikitateggi 0:c47fb0c1bbf6 132 while(1)
nikitateggi 0:c47fb0c1bbf6 133 {
nikitateggi 51:1a4693774b60 134
nikitateggi 54:f2a413d5dffd 135 if (read_debug_status() == false) // checking the debug_mode status
nikitateggi 51:1a4693774b60 136 {
nikitateggi 51:1a4693774b60 137 if(timer_debug.read_ms()<TIMER_ENTER_DEBUG_MODE)
nikitateggi 51:1a4693774b60 138 {
nikitateggi 51:1a4693774b60 139 debug_status_monitoring();
nikitateggi 51:1a4693774b60 140 }
nikitateggi 51:1a4693774b60 141 }
nikitateggi 51:1a4693774b60 142
nikitateggi 45:067673dae242 143 battery_status_monitoring(); // to monitior battery status after every 10 min.
nikitateggi 45:067673dae242 144
rashmivenkataramaiah 74:9ba8a7101036 145 if(false)// (get_battery_status() == BATTERY_SCREEN_NO_CHARGE_CONDITION) // to check battery status and take action
nikitateggi 45:067673dae242 146 {
rashmivenkataramaiah 72:1f990fa8c516 147 //DisableTouch();
nikitateggi 45:067673dae242 148 }
nikitateggi 45:067673dae242 149 else
nikitateggi 45:067673dae242 150 {
rashmivenkataramaiah 72:1f990fa8c516 151 //EnableTouch();
rashmivenkataramaiah 58:b75255e6e4c3 152 //gc.printf("c");
rashmivenkataramaiah 74:9ba8a7101036 153 //gc.printf("main state: %d\n",main_state);
rashmivenkataramaiah 57:e82d4bd6b2c0 154 switch(main_state) // main state machine
nikitateggi 45:067673dae242 155 {
rashmivenkataramaiah 57:e82d4bd6b2c0 156 case GET_TOUCH_DISP_STATE:
rashmivenkataramaiah 57:e82d4bd6b2c0 157
rashmivenkataramaiah 57:e82d4bd6b2c0 158 state_display = poc2p0_bt_receive(state_touch);
rashmivenkataramaiah 57:e82d4bd6b2c0 159 //state_display = touch(state_touch); // touch state
rashmivenkataramaiah 72:1f990fa8c516 160 //gc.printf(" state_display = %d\n", state_display);
rashmivenkataramaiah 57:e82d4bd6b2c0 161 display(state_display); //display state
rashmivenkataramaiah 72:1f990fa8c516 162
rashmivenkataramaiah 73:22e4f398a2a6 163 if(state_display == 15)
rashmivenkataramaiah 73:22e4f398a2a6 164 {
rashmivenkataramaiah 73:22e4f398a2a6 165 main_state = GET_TOUCH_DISP_STATE;
rashmivenkataramaiah 73:22e4f398a2a6 166 }
rashmivenkataramaiah 57:e82d4bd6b2c0 167 if(state_display == 12)
rashmivenkataramaiah 57:e82d4bd6b2c0 168 {
rashmivenkataramaiah 57:e82d4bd6b2c0 169 main_state = BT_TX_STATE;
rashmivenkataramaiah 57:e82d4bd6b2c0 170 }
rashmivenkataramaiah 72:1f990fa8c516 171 // else
rashmivenkataramaiah 72:1f990fa8c516 172 // display(state_display);
rashmivenkataramaiah 57:e82d4bd6b2c0 173
rashmivenkataramaiah 57:e82d4bd6b2c0 174 break;
avp2417 37:92fcbf22bf91 175
rashmivenkataramaiah 57:e82d4bd6b2c0 176 case BT_TX_STATE:
rashmivenkataramaiah 72:1f990fa8c516 177 //DisableTouch(); // bluetooth send
nikitateggi 45:067673dae242 178 timer_bt.start();
nikitateggi 45:067673dae242 179 if(get_timer_bluetooth()<TIMER_RXACK_BTCONNECTION) // bluetooth connection timer 15 sec
nikitateggi 45:067673dae242 180 {
nikitateggi 44:05dbea558c9a 181
nikitateggi 45:067673dae242 182 if(BT==1) // checking for bluetooth connection
nikitateggi 45:067673dae242 183 {
nikitateggi 44:05dbea558c9a 184
nikitateggi 45:067673dae242 185 timer_bt.stop(); // stop the timer once connected to app
nikitateggi 45:067673dae242 186 timer_bt.reset();
rashmivenkataramaiah 72:1f990fa8c516 187 //BT_connection() ; // displaying connection on bluetooth
rashmivenkataramaiah 72:1f990fa8c516 188 gc.printf(" BT Connected\n");
nikitateggi 44:05dbea558c9a 189 state_r=bt_send(state_t);
nikitateggi 45:067673dae242 190 timer_bt.start();
nikitateggi 47:3716dd41dba6 191 //gc.printf(" state_t = %d\n", state_t);
nikitateggi 48:f90edb35a20e 192 // gc.printf(" state_r = %d\n", state_r);
nikitateggi 44:05dbea558c9a 193 if (state_r==0) // if the state received is zero, then there is no new file to send
nikitateggi 45:067673dae242 194 {
nikitateggi 45:067673dae242 195 timer_bt.stop(); // stop the timer once connected to app
nikitateggi 45:067673dae242 196 timer_bt.reset();
rashmivenkataramaiah 72:1f990fa8c516 197 //BT_finished(); // screen to display communication finished
rashmivenkataramaiah 72:1f990fa8c516 198 //screen_BT_return(); //screen to return back
rashmivenkataramaiah 72:1f990fa8c516 199 gc.printf("BT Transfer Complete\n");
rashmivenkataramaiah 72:1f990fa8c516 200 //EnableTouch();
rashmivenkataramaiah 57:e82d4bd6b2c0 201 main_state=GET_TOUCH_DISP_STATE;
nikitateggi 45:067673dae242 202 state_touch=12;
nikitateggi 45:067673dae242 203 break;
nikitateggi 44:05dbea558c9a 204 }
nikitateggi 44:05dbea558c9a 205
nikitateggi 44:05dbea558c9a 206 else
nikitateggi 44:05dbea558c9a 207 {
rashmivenkataramaiah 57:e82d4bd6b2c0 208 main_state=BT_RX_STATE; // move to receving stste of bluetooth
nikitateggi 44:05dbea558c9a 209 }
nikitateggi 44:05dbea558c9a 210
nikitateggi 45:067673dae242 211 }
nikitateggi 44:05dbea558c9a 212
nikitateggi 45:067673dae242 213 else
nikitateggi 45:067673dae242 214 {
rashmivenkataramaiah 72:1f990fa8c516 215 //BT_no_connection(); // display screen to show that there is no connection
rashmivenkataramaiah 72:1f990fa8c516 216 gc.printf("BT No Connection\n");
nikitateggi 45:067673dae242 217 }
nikitateggi 45:067673dae242 218 }
nikitateggi 44:05dbea558c9a 219
nikitateggi 45:067673dae242 220 else
rashmivenkataramaiah 60:3bb9e9ba3205 221 {
rashmivenkataramaiah 60:3bb9e9ba3205 222 poc2p0_send_device_msg_res(MSG_REJECTED_RES); //added on 14-Nov by rashmi
rashmivenkataramaiah 72:1f990fa8c516 223 //BT_no_connection(); // display screen to show that there is no connection
nikitateggi 45:067673dae242 224 gc.printf("stopped");
rashmivenkataramaiah 72:1f990fa8c516 225 //screen_BT_return(); // button to return
rashmivenkataramaiah 72:1f990fa8c516 226 //EnableTouch();
rashmivenkataramaiah 57:e82d4bd6b2c0 227 main_state=GET_TOUCH_DISP_STATE;
nikitateggi 45:067673dae242 228 state_touch=12;
nikitateggi 49:3ff80c4bc1be 229 //sd_close();
nikitateggi 45:067673dae242 230 timer_bt.stop();
nikitateggi 45:067673dae242 231 timer_bt.reset();
nikitateggi 45:067673dae242 232 }
nikitateggi 45:067673dae242 233 break;
nikitateggi 19:1650bbc923cc 234
rashmivenkataramaiah 57:e82d4bd6b2c0 235 case BT_RX_STATE:
rashmivenkataramaiah 72:1f990fa8c516 236 //DisableTouch();
nikitateggi 44:05dbea558c9a 237
nikitateggi 45:067673dae242 238 if(get_timer_bluetooth()<TIMER_RXACK_BTCONNECTION)
nikitateggi 45:067673dae242 239 {
nikitateggi 45:067673dae242 240 if (blue1.readable()) // if there is data to receive enter the loop
nikitateggi 45:067673dae242 241 {
nikitateggi 46:162ed3f051b2 242
nikitateggi 46:162ed3f051b2 243 state_t=bt_receive(state_r);
nikitateggi 48:f90edb35a20e 244 // gc.printf(" state_t = %d\n", state_t);
nikitateggi 47:3716dd41dba6 245 // gc.printf(" state_r = %d\n", state_r);
nikitateggi 45:067673dae242 246 timer_bt.stop();
nikitateggi 45:067673dae242 247 timer_bt.reset();
nikitateggi 45:067673dae242 248 if(state_t ==0) // if state_t is zero, there is no other file to send
nikitateggi 45:067673dae242 249 {
nikitateggi 45:067673dae242 250
rashmivenkataramaiah 72:1f990fa8c516 251 //BT_finished();
rashmivenkataramaiah 72:1f990fa8c516 252 //screen_BT_return();
rashmivenkataramaiah 72:1f990fa8c516 253 gc.printf("BT Transfer Complete\n");
rashmivenkataramaiah 72:1f990fa8c516 254 //EnableTouch();
rashmivenkataramaiah 57:e82d4bd6b2c0 255 main_state=GET_TOUCH_DISP_STATE;
nikitateggi 45:067673dae242 256 state_touch=12; // jumping to touch case 12
nikitateggi 45:067673dae242 257 break;
nikitateggi 45:067673dae242 258 }
nikitateggi 45:067673dae242 259 else // move to bluetooth transmit if the states are 1,2,3,4
nikitateggi 45:067673dae242 260 {
rashmivenkataramaiah 57:e82d4bd6b2c0 261 main_state=BT_TX_STATE;
nikitateggi 45:067673dae242 262 }
nikitateggi 45:067673dae242 263 }
nikitateggi 45:067673dae242 264 }
nikitateggi 44:05dbea558c9a 265
nikitateggi 45:067673dae242 266 else
nikitateggi 45:067673dae242 267 {
rashmivenkataramaiah 72:1f990fa8c516 268 //DisableTouch();
rashmivenkataramaiah 72:1f990fa8c516 269 //BT_no_connection(); // display screen to show that there is no connection
nikitateggi 45:067673dae242 270 gc.printf("stopped");
rashmivenkataramaiah 72:1f990fa8c516 271 //screen_BT_return(); // button to return
rashmivenkataramaiah 72:1f990fa8c516 272 gc.printf("BT No Connection\n");
rashmivenkataramaiah 72:1f990fa8c516 273 //EnableTouch();
rashmivenkataramaiah 57:e82d4bd6b2c0 274 main_state=GET_TOUCH_DISP_STATE;
nikitateggi 45:067673dae242 275 state_touch=12;
nikitateggi 47:3716dd41dba6 276 state_t = 1; // state to transmit to bluetooth
nikitateggi 48:f90edb35a20e 277 state_r = 0; // state to receive from bluetooth
nikitateggi 46:162ed3f051b2 278 sd_close(); ///close the opened file which was used for bluetooth
nikitateggi 45:067673dae242 279 timer_bt.stop();
nikitateggi 45:067673dae242 280 timer_bt.reset();
nikitateggi 45:067673dae242 281 }
rashmivenkataramaiah 57:e82d4bd6b2c0 282 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 283 default:
rashmivenkataramaiah 57:e82d4bd6b2c0 284 break;
nikitateggi 45:067673dae242 285 }
nikitateggi 45:067673dae242 286 }
nikitateggi 45:067673dae242 287 }
nikitateggi 45:067673dae242 288
nikitateggi 22:ffa88619551d 289 }
rashmivenkataramaiah 72:1f990fa8c516 290 /*uint8_t touch(uint8_t state)
nikitateggi 19:1650bbc923cc 291 {
nikitateggi 19:1650bbc923cc 292 static uint8_t state1=0;
rashmivenkataramaiah 41:1141a75eacc4 293 detect_touch(state); // determine the touch points
nikitateggi 1:8316c23ec6b9 294
rashmivenkataramaiah 41:1141a75eacc4 295 switch(state) // state for touch
nikitateggi 0:c47fb0c1bbf6 296 {
rashmivenkataramaiah 41:1141a75eacc4 297 case 1:
rashmivenkataramaiah 41:1141a75eacc4 298 state1=touch_main(); // determining the touch for main screen
nikitateggi 0:c47fb0c1bbf6 299 state=0;
nikitateggi 1:8316c23ec6b9 300 nstate1=state1;
rashmivenkataramaiah 41:1141a75eacc4 301 break;
nikitateggi 0:c47fb0c1bbf6 302
nikitateggi 0:c47fb0c1bbf6 303 case 2:
rashmivenkataramaiah 41:1141a75eacc4 304 state1=touch_main_1(); // determining the touch for SYSTEM CONFIGURATION screen
nikitateggi 0:c47fb0c1bbf6 305 state=0;
nikitateggi 3:9a06c2bed650 306 nstate1=state1;
nikitateggi 0:c47fb0c1bbf6 307 break;
nikitateggi 0:c47fb0c1bbf6 308
nikitateggi 0:c47fb0c1bbf6 309 case 3:
rashmivenkataramaiah 41:1141a75eacc4 310 state1=touch_main_2(); // determining the touch for TEST screen
nikitateggi 0:c47fb0c1bbf6 311 state=0;
nikitateggi 1:8316c23ec6b9 312 nstate1=state1;
nikitateggi 0:c47fb0c1bbf6 313 break;
nikitateggi 0:c47fb0c1bbf6 314
nikitateggi 0:c47fb0c1bbf6 315 case 4:
rashmivenkataramaiah 41:1141a75eacc4 316 state1=touch_glc(); // determining the touch for GLC screen
nikitateggi 1:8316c23ec6b9 317 state=0;
nikitateggi 1:8316c23ec6b9 318 nstate1=state1;
nikitateggi 1:8316c23ec6b9 319 break;
nikitateggi 1:8316c23ec6b9 320
nikitateggi 1:8316c23ec6b9 321 case 5:
rashmivenkataramaiah 41:1141a75eacc4 322 state1=touch_ecg(); // determining the touch for ECG screen
nikitateggi 1:8316c23ec6b9 323 state=0;
nikitateggi 3:9a06c2bed650 324 nstate1=state1;
nikitateggi 3:9a06c2bed650 325 break;
nikitateggi 4:6bd81bb1790d 326 case 6:
rashmivenkataramaiah 41:1141a75eacc4 327 state1=touch_ret(); // determining the touch for returning back to the main screen
nikitateggi 0:c47fb0c1bbf6 328 state=0;
nikitateggi 3:9a06c2bed650 329 nstate1=state1;
nikitateggi 1:8316c23ec6b9 330 break;
nikitateggi 1:8316c23ec6b9 331
nikitateggi 4:6bd81bb1790d 332 case 7:
rashmivenkataramaiah 41:1141a75eacc4 333 state1=touch_again_ecg(); // determining the touch when readings are taken more than once screen
nikitateggi 1:8316c23ec6b9 334 state=0;
nikitateggi 1:8316c23ec6b9 335 nstate1=state1;
nikitateggi 1:8316c23ec6b9 336 break;
nikitateggi 0:c47fb0c1bbf6 337
nikitateggi 3:9a06c2bed650 338 case 8:
rashmivenkataramaiah 41:1141a75eacc4 339 state1=touch_bp(); // determining the touch for BP screen
nikitateggi 3:9a06c2bed650 340 state=0;
nikitateggi 3:9a06c2bed650 341 nstate1=state1;
nikitateggi 3:9a06c2bed650 342 break;
nikitateggi 3:9a06c2bed650 343
rashmivenkataramaiah 41:1141a75eacc4 344 case 9:
rashmivenkataramaiah 41:1141a75eacc4 345 state1=touch_again_glc();
suhasini 5:a3ea7c82b7e1 346 state=0;
suhasini 5:a3ea7c82b7e1 347 nstate1=state1;
suhasini 5:a3ea7c82b7e1 348 break;
nikitateggi 3:9a06c2bed650 349
rashmivenkataramaiah 41:1141a75eacc4 350 case 10 :
rashmivenkataramaiah 41:1141a75eacc4 351 DisableTouch();
rashmivenkataramaiah 41:1141a75eacc4 352 wait_ms(300);
rashmivenkataramaiah 41:1141a75eacc4 353 EnableTouch();
rashmivenkataramaiah 41:1141a75eacc4 354 state=nstate;
rashmivenkataramaiah 41:1141a75eacc4 355 break;
suhasini 5:a3ea7c82b7e1 356
rashmivenkataramaiah 57:e82d4bd6b2c0 357
rashmivenkataramaiah 41:1141a75eacc4 358 case 11:
rashmivenkataramaiah 41:1141a75eacc4 359 state1=touch_again_bp();
rashmivenkataramaiah 41:1141a75eacc4 360 state=0;
rashmivenkataramaiah 41:1141a75eacc4 361 nstate1=state1;
rashmivenkataramaiah 41:1141a75eacc4 362 break;
suhasini 5:a3ea7c82b7e1 363
rashmivenkataramaiah 41:1141a75eacc4 364 case 12:
rashmivenkataramaiah 41:1141a75eacc4 365 state1=BT_return();
rashmivenkataramaiah 41:1141a75eacc4 366 state=0;
rashmivenkataramaiah 41:1141a75eacc4 367 nstate1=state1;
rashmivenkataramaiah 41:1141a75eacc4 368 break;
nikitateggi 49:3ff80c4bc1be 369
nikitateggi 49:3ff80c4bc1be 370 case 13:
nikitateggi 49:3ff80c4bc1be 371 state1 = touch_debug(); //touch state for debug
nikitateggi 49:3ff80c4bc1be 372 //state=0;
nikitateggi 49:3ff80c4bc1be 373 nstate1=state1;
nikitateggi 49:3ff80c4bc1be 374 break;
rashmivenkataramaiah 41:1141a75eacc4 375 default :
rashmivenkataramaiah 41:1141a75eacc4 376 DisableTouch();
rashmivenkataramaiah 41:1141a75eacc4 377 wait_ms(300);
rashmivenkataramaiah 41:1141a75eacc4 378 EnableTouch();
rashmivenkataramaiah 41:1141a75eacc4 379 state=nstate;
rashmivenkataramaiah 41:1141a75eacc4 380 break;
nikitateggi 1:8316c23ec6b9 381
nikitateggi 0:c47fb0c1bbf6 382 }
nikitateggi 0:c47fb0c1bbf6 383
rashmivenkataramaiah 41:1141a75eacc4 384 return state1;
rashmivenkataramaiah 72:1f990fa8c516 385 }*/
nikitateggi 0:c47fb0c1bbf6 386
nikitateggi 0:c47fb0c1bbf6 387
nikitateggi 19:1650bbc923cc 388 uint8_t display(uint8_t state1)
nikitateggi 19:1650bbc923cc 389 {
rashmivenkataramaiah 41:1141a75eacc4 390 static uint8_t state=0;
rashmivenkataramaiah 41:1141a75eacc4 391 static uint8_t ecg_flag=0; // ecg_flag to indicate the ecg test is already done for the same pid
rashmivenkataramaiah 41:1141a75eacc4 392 static uint8_t glc_flag=0; // glc_flag to indicate the glc test is already done for the same pid
rashmivenkataramaiah 67:7e07cdb1b150 393
rashmivenkataramaiah 64:5a76653792e8 394 switch(state1) // state for display screens
rashmivenkataramaiah 41:1141a75eacc4 395 {
nikitateggi 4:6bd81bb1790d 396
nikitateggi 1:8316c23ec6b9 397
rashmivenkataramaiah 41:1141a75eacc4 398 case 1:
rashmivenkataramaiah 72:1f990fa8c516 399 //screen_main(); // main screen
nikitateggi 1:8316c23ec6b9 400 state1=0;
nikitateggi 1:8316c23ec6b9 401 state=1;
nikitateggi 1:8316c23ec6b9 402 nstate=state;
rashmivenkataramaiah 64:5a76653792e8 403 ecg_flag=0; // ecg, glc flag to determine whether the readings are taken more than once
nikitateggi 1:8316c23ec6b9 404 glc_flag=0;
rashmivenkataramaiah 41:1141a75eacc4 405 clear_filecreated_status();
rashmivenkataramaiah 72:1f990fa8c516 406 //battery_status_display(); //Display battery status on LCD
nikitateggi 53:cc6e65480a67 407 pid = get_filepid() + 1;
rashmivenkataramaiah 64:5a76653792e8 408 state_touch = TOUCH_STATE_HOME_SCREEN; //added on 16-Nov rashmi
nikitateggi 1:8316c23ec6b9 409 break;
nikitateggi 1:8316c23ec6b9 410
rashmivenkataramaiah 41:1141a75eacc4 411 case 2:
rashmivenkataramaiah 72:1f990fa8c516 412 //screen_main_1(); // System configration screen
nikitateggi 0:c47fb0c1bbf6 413 state1=0;
nikitateggi 0:c47fb0c1bbf6 414 state=2;
nikitateggi 1:8316c23ec6b9 415 nstate=state;
rashmivenkataramaiah 72:1f990fa8c516 416 //battery_status_display(); //Display battery status on LCD
nikitateggi 51:1a4693774b60 417 // timer_debug.stop();
nikitateggi 0:c47fb0c1bbf6 418 break;
nikitateggi 0:c47fb0c1bbf6 419
rashmivenkataramaiah 41:1141a75eacc4 420 case 3:
rashmivenkataramaiah 72:1f990fa8c516 421 //DisableTouch();
nikitateggi 19:1650bbc923cc 422 gc.printf("pidinit=%d",pid);
rashmivenkataramaiah 72:1f990fa8c516 423 //screen_main_2(pid);
rashmivenkataramaiah 41:1141a75eacc4 424 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 425 state=3;
rashmivenkataramaiah 41:1141a75eacc4 426 nstate=state;
rashmivenkataramaiah 72:1f990fa8c516 427 //battery_status_display();
rashmivenkataramaiah 64:5a76653792e8 428 state_touch = TOUCH_STATE_TEST_SCREEN; //added on 16-Nov rashmi
rashmivenkataramaiah 41:1141a75eacc4 429 break;
nikitateggi 0:c47fb0c1bbf6 430
rashmivenkataramaiah 41:1141a75eacc4 431 case 4:
rashmivenkataramaiah 41:1141a75eacc4 432 if (glc_flag==1) // glc_flag=1 when already the reading has been taken
rashmivenkataramaiah 41:1141a75eacc4 433 {
rashmivenkataramaiah 72:1f990fa8c516 434 //screen_again();
rashmivenkataramaiah 41:1141a75eacc4 435 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 436 state=9;
rashmivenkataramaiah 41:1141a75eacc4 437 nstate=state;
rashmivenkataramaiah 41:1141a75eacc4 438 }
rashmivenkataramaiah 41:1141a75eacc4 439 else
nikitateggi 19:1650bbc923cc 440 {
rashmivenkataramaiah 72:1f990fa8c516 441 //screen_glc(); // glc screen
rashmivenkataramaiah 41:1141a75eacc4 442 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 443 state=4;
rashmivenkataramaiah 41:1141a75eacc4 444 nstate=state;
rashmivenkataramaiah 76:611154b3b597 445 }
nikitateggi 0:c47fb0c1bbf6 446 break;
nikitateggi 1:8316c23ec6b9 447
nikitateggi 1:8316c23ec6b9 448
rashmivenkataramaiah 41:1141a75eacc4 449 case 5:
rashmivenkataramaiah 41:1141a75eacc4 450 if (ecg_flag==1)
rashmivenkataramaiah 41:1141a75eacc4 451 {
rashmivenkataramaiah 72:1f990fa8c516 452 //screen_again();
rashmivenkataramaiah 41:1141a75eacc4 453 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 454 state=7;
nikitateggi 1:8316c23ec6b9 455 nstate=state;
rashmivenkataramaiah 41:1141a75eacc4 456 }
rashmivenkataramaiah 41:1141a75eacc4 457
rashmivenkataramaiah 41:1141a75eacc4 458 else
rashmivenkataramaiah 41:1141a75eacc4 459 {
rashmivenkataramaiah 72:1f990fa8c516 460 //screen_ecg(); //ecg main screen
rashmivenkataramaiah 41:1141a75eacc4 461 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 462 state=5;
nikitateggi 1:8316c23ec6b9 463 nstate=state;
rashmivenkataramaiah 41:1141a75eacc4 464 }
nikitateggi 1:8316c23ec6b9 465 break;
nikitateggi 1:8316c23ec6b9 466
rashmivenkataramaiah 41:1141a75eacc4 467 case 6:
rashmivenkataramaiah 72:1f990fa8c516 468 //screen_bp(); // bp main screen
nikitateggi 3:9a06c2bed650 469 state1=0;
nikitateggi 3:9a06c2bed650 470 state=8;
rashmivenkataramaiah 76:611154b3b597 471 nstate=state;
nikitateggi 3:9a06c2bed650 472 break;
nikitateggi 3:9a06c2bed650 473
rashmivenkataramaiah 76:611154b3b597 474 case 7:
rashmivenkataramaiah 41:1141a75eacc4 475 glc(pid); // glc measurement
nikitateggi 1:8316c23ec6b9 476 glc_flag=1;
nikitateggi 4:6bd81bb1790d 477 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 478 state=6;
rashmivenkataramaiah 41:1141a75eacc4 479 eprom_write_8(30,0);
rashmivenkataramaiah 76:611154b3b597 480 nstate=state;
rashmivenkataramaiah 76:611154b3b597 481 state_touch = TOUCH_STATE_TEST_SCREEN;
rashmivenkataramaiah 76:611154b3b597 482
nikitateggi 1:8316c23ec6b9 483 break;
nikitateggi 1:8316c23ec6b9 484
rashmivenkataramaiah 76:611154b3b597 485 case 8:
rashmivenkataramaiah 57:e82d4bd6b2c0 486 // send ECG test in progress messages to mobile application
rashmivenkataramaiah 57:e82d4bd6b2c0 487 poc2p0_send_device_msg_res(ECG_TEST_IN_PROGRESS_RES);
rashmivenkataramaiah 72:1f990fa8c516 488 ecg_bp_countdown();
rashmivenkataramaiah 61:ce5ad0838227 489 ecg(pid); // capturing ecg
nikitateggi 1:8316c23ec6b9 490 state1=0;
rashmivenkataramaiah 61:ce5ad0838227 491 ecg_flag=1;
nikitateggi 1:8316c23ec6b9 492 state=6;
nikitateggi 24:d992ee8369f4 493 eprom_write_8(30,1);
nikitateggi 20:7c64e6ecad76 494 nstate=state;
rashmivenkataramaiah 76:611154b3b597 495 state_touch = TOUCH_STATE_TEST_SCREEN;
nikitateggi 1:8316c23ec6b9 496 break;
rashmivenkataramaiah 41:1141a75eacc4 497
rashmivenkataramaiah 76:611154b3b597 498 case 9:
rashmivenkataramaiah 57:e82d4bd6b2c0 499 // send BP test in progress response to mobile application
rashmivenkataramaiah 57:e82d4bd6b2c0 500 poc2p0_send_device_msg_res(BP_TEST_IN_PROGRESS_RES);
rashmivenkataramaiah 76:611154b3b597 501
rashmivenkataramaiah 76:611154b3b597 502 ecg_bp_countdown(); // countdown for bp
rashmivenkataramaiah 41:1141a75eacc4 503 bp(pid); // measuring bp earlier bp() changed to bp(pid) 28/4/2017
nikitateggi 3:9a06c2bed650 504 state1=0;
nikitateggi 3:9a06c2bed650 505 state=6;
nikitateggi 24:d992ee8369f4 506 eprom_write_8(30,2);
rashmivenkataramaiah 76:611154b3b597 507 nstate=state;
rashmivenkataramaiah 76:611154b3b597 508 state_touch = TOUCH_STATE_TEST_SCREEN;
nikitateggi 3:9a06c2bed650 509 break;
nikitateggi 31:0f67acfc6236 510
nikitateggi 31:0f67acfc6236 511
rashmivenkataramaiah 72:1f990fa8c516 512 case 10 : //DisableTouch();
nikitateggi 31:0f67acfc6236 513 wait_ms(300);
rashmivenkataramaiah 72:1f990fa8c516 514 //EnableTouch();
nikitateggi 31:0f67acfc6236 515 state=nstate;
nikitateggi 31:0f67acfc6236 516 break;
nikitateggi 31:0f67acfc6236 517
rashmivenkataramaiah 41:1141a75eacc4 518 case 11 :
rashmivenkataramaiah 72:1f990fa8c516 519 //screen_patient_info(get_filepid(), get_btpid());
rashmivenkataramaiah 41:1141a75eacc4 520 state1=0;
rashmivenkataramaiah 41:1141a75eacc4 521 state=12;
nikitateggi 49:3ff80c4bc1be 522 break;
nikitateggi 49:3ff80c4bc1be 523
nikitateggi 49:3ff80c4bc1be 524 case 13 : //display screen for debug
nikitateggi 49:3ff80c4bc1be 525 state1=0;
nikitateggi 49:3ff80c4bc1be 526 state=13;
nikitateggi 49:3ff80c4bc1be 527 nstate=state;
nikitateggi 49:3ff80c4bc1be 528 break;
nikitateggi 49:3ff80c4bc1be 529
rashmivenkataramaiah 76:611154b3b597 530 case 14 :
rashmivenkataramaiah 76:611154b3b597 531 delete_sdcard(); // delete SD card
nikitateggi 49:3ff80c4bc1be 532 state1=0;
nikitateggi 49:3ff80c4bc1be 533 state= 12;
nikitateggi 49:3ff80c4bc1be 534 nstate=state;
nikitateggi 49:3ff80c4bc1be 535 break;
nikitateggi 49:3ff80c4bc1be 536
nikitateggi 49:3ff80c4bc1be 537 case 15 :
nikitateggi 51:1a4693774b60 538 gc.printf("Total Patients' data available : %d\n",get_filepid()); //state to read SD card
nikitateggi 50:b42238e7f46d 539 gc.printf("Enter the PID number");
nikitateggi 50:b42238e7f46d 540 read_sdcard_file();
nikitateggi 49:3ff80c4bc1be 541 state1=0;
nikitateggi 49:3ff80c4bc1be 542 state= 12;
nikitateggi 49:3ff80c4bc1be 543 nstate=state;
nikitateggi 49:3ff80c4bc1be 544 break;
nikitateggi 31:0f67acfc6236 545
nikitateggi 1:8316c23ec6b9 546 default :
rashmivenkataramaiah 57:e82d4bd6b2c0 547
nikitateggi 1:8316c23ec6b9 548 state1=nstate1;
rashmivenkataramaiah 57:e82d4bd6b2c0 549 break;
rashmivenkataramaiah 57:e82d4bd6b2c0 550
rashmivenkataramaiah 57:e82d4bd6b2c0 551
nikitateggi 0:c47fb0c1bbf6 552 }
rashmivenkataramaiah 57:e82d4bd6b2c0 553
rashmivenkataramaiah 41:1141a75eacc4 554 return state;
rashmivenkataramaiah 57:e82d4bd6b2c0 555
rashmivenkataramaiah 41:1141a75eacc4 556 }
rashmivenkataramaiah 41:1141a75eacc4 557
rashmivenkataramaiah 41:1141a75eacc4 558
rashmivenkataramaiah 41:1141a75eacc4 559 bool get_filecreated_status(void) //function to get file created status
rashmivenkataramaiah 41:1141a75eacc4 560 {
rashmivenkataramaiah 41:1141a75eacc4 561 return file_created_status;
rashmivenkataramaiah 41:1141a75eacc4 562 }
rashmivenkataramaiah 41:1141a75eacc4 563
rashmivenkataramaiah 41:1141a75eacc4 564 void set_filecreated_status(void) //function to set file created status
rashmivenkataramaiah 41:1141a75eacc4 565 {
rashmivenkataramaiah 42:c81673b04b6a 566 file_created_status = true;
rashmivenkataramaiah 41:1141a75eacc4 567 }
rashmivenkataramaiah 41:1141a75eacc4 568
rashmivenkataramaiah 41:1141a75eacc4 569
rashmivenkataramaiah 41:1141a75eacc4 570 void clear_filecreated_status(void) //function to clear file created status
rashmivenkataramaiah 41:1141a75eacc4 571 {
rashmivenkataramaiah 42:c81673b04b6a 572 file_created_status = false;
rashmivenkataramaiah 42:c81673b04b6a 573 }
rashmivenkataramaiah 42:c81673b04b6a 574
rashmivenkataramaiah 43:85a7f399cb9d 575 void increment_filepid (void) //increment pid if a test is completed
rashmivenkataramaiah 42:c81673b04b6a 576 {
rashmivenkataramaiah 42:c81673b04b6a 577 sd_read(filepid_btpid); //read pid from sd card
rashmivenkataramaiah 42:c81673b04b6a 578 filepid_btpid[0] = filepid_btpid[0] + 1; //increment it by 1
rashmivenkataramaiah 76:611154b3b597 579 sd_write(filepid_btpid); //write it back to sd card
rashmivenkataramaiah 42:c81673b04b6a 580 }
rashmivenkataramaiah 42:c81673b04b6a 581
rashmivenkataramaiah 76:611154b3b597 582 void increment_btpid (void) //increment pid if a test is completed
rashmivenkataramaiah 43:85a7f399cb9d 583 {
rashmivenkataramaiah 43:85a7f399cb9d 584 sd_read(filepid_btpid); //read pid from sd card
nikitateggi 45:067673dae242 585 filepid_btpid[1] = filepid_btpid[1] + 1; //increment it by 1
rashmivenkataramaiah 43:85a7f399cb9d 586 sd_write(filepid_btpid); //write it back to sd card
rashmivenkataramaiah 43:85a7f399cb9d 587
rashmivenkataramaiah 43:85a7f399cb9d 588 }
rashmivenkataramaiah 43:85a7f399cb9d 589
rashmivenkataramaiah 42:c81673b04b6a 590 uint32_t get_filepid(void)
rashmivenkataramaiah 76:611154b3b597 591 {
rashmivenkataramaiah 42:c81673b04b6a 592 uint32_t filepid = 0;
rashmivenkataramaiah 42:c81673b04b6a 593
rashmivenkataramaiah 42:c81673b04b6a 594 sd_read(filepid_btpid); //read pid from sd card
nikitateggi 45:067673dae242 595 filepid = filepid_btpid[0];
rashmivenkataramaiah 42:c81673b04b6a 596 return filepid;
rashmivenkataramaiah 42:c81673b04b6a 597
rashmivenkataramaiah 42:c81673b04b6a 598 }
rashmivenkataramaiah 42:c81673b04b6a 599
rashmivenkataramaiah 42:c81673b04b6a 600 void store_filepid(uint32_t pid)
rashmivenkataramaiah 42:c81673b04b6a 601 {
rashmivenkataramaiah 76:611154b3b597 602 sd_read(filepid_btpid); //read pid from sd card
rashmivenkataramaiah 76:611154b3b597 603 filepid_btpid[0] = pid;
rashmivenkataramaiah 76:611154b3b597 604 sd_write(filepid_btpid); //write it back to sd card
rashmivenkataramaiah 42:c81673b04b6a 605
rashmivenkataramaiah 42:c81673b04b6a 606 }
rashmivenkataramaiah 42:c81673b04b6a 607
rashmivenkataramaiah 42:c81673b04b6a 608 uint32_t get_btpid(void)
rashmivenkataramaiah 42:c81673b04b6a 609 {
rashmivenkataramaiah 42:c81673b04b6a 610 uint32_t btpid = 0;
rashmivenkataramaiah 42:c81673b04b6a 611
rashmivenkataramaiah 42:c81673b04b6a 612 sd_read(filepid_btpid); //read pid from sd card
nikitateggi 45:067673dae242 613 btpid = filepid_btpid[1];
rashmivenkataramaiah 76:611154b3b597 614 return btpid;
rashmivenkataramaiah 42:c81673b04b6a 615 }
rashmivenkataramaiah 42:c81673b04b6a 616
rashmivenkataramaiah 42:c81673b04b6a 617 void store_btpid(uint32_t bt_pid)
rashmivenkataramaiah 76:611154b3b597 618 {
rashmivenkataramaiah 76:611154b3b597 619 sd_read(filepid_btpid); //read pid from sd card
rashmivenkataramaiah 76:611154b3b597 620 filepid_btpid[1] = bt_pid;
rashmivenkataramaiah 76:611154b3b597 621 sd_write(filepid_btpid); //write it back to sd card
rashmivenkataramaiah 42:c81673b04b6a 622 }
rashmivenkataramaiah 42:c81673b04b6a 623
nikitateggi 45:067673dae242 624
nikitateggi 44:05dbea558c9a 625 uint32_t get_timer_bluetooth()
nikitateggi 44:05dbea558c9a 626 {
nikitateggi 45:067673dae242 627 return timer_bt.read_ms();
nikitateggi 44:05dbea558c9a 628 }
nikitateggi 45:067673dae242 629
nikitateggi 45:067673dae242 630 void battery_status_monitoring()
nikitateggi 45:067673dae242 631 {
nikitateggi 45:067673dae242 632 if(timer_battery.read_ms() > BATTERY_TIMER_VALUE )
nikitateggi 45:067673dae242 633 {
nikitateggi 45:067673dae242 634 battery_monitor();
nikitateggi 45:067673dae242 635 timer_battery.reset();
nikitateggi 45:067673dae242 636 }
nikitateggi 49:3ff80c4bc1be 637 }
nikitateggi 49:3ff80c4bc1be 638
nikitateggi 51:1a4693774b60 639 bool read_debug_status()
nikitateggi 51:1a4693774b60 640 {
nikitateggi 52:7d9ff7781bdc 641 // gc.printf("debug_mode=%d\n",debug_mode);
nikitateggi 51:1a4693774b60 642 return debug_mode;
nikitateggi 51:1a4693774b60 643 }
nikitateggi 51:1a4693774b60 644
nikitateggi 51:1a4693774b60 645 void debug_status_monitoring()
nikitateggi 51:1a4693774b60 646 {
nikitateggi 51:1a4693774b60 647 if (gc.readable()) // check for the user input
nikitateggi 51:1a4693774b60 648 {
nikitateggi 51:1a4693774b60 649
nikitateggi 51:1a4693774b60 650 while (gc.readable()!= '\n') // read till the newline
nikitateggi 51:1a4693774b60 651 {
nikitateggi 51:1a4693774b60 652
nikitateggi 51:1a4693774b60 653 gc.scanf("%s", debug_message_rx); // store the message typed in buffer
nikitateggi 51:1a4693774b60 654 gc.printf("%s", debug_message_rx);
nikitateggi 51:1a4693774b60 655 break;
nikitateggi 51:1a4693774b60 656 }
nikitateggi 51:1a4693774b60 657
nikitateggi 51:1a4693774b60 658
nikitateggi 51:1a4693774b60 659 if (strcmp(debug_message_rx, debug_message) == 0) // compare the message with the required one
nikitateggi 51:1a4693774b60 660 {
rashmivenkataramaiah 76:611154b3b597 661 debug_mode = true; // enable the debug mode status
nikitateggi 51:1a4693774b60 662 gc.printf("entered into debug mode\n");
nikitateggi 51:1a4693774b60 663 timer_debug.reset();
nikitateggi 51:1a4693774b60 664 timer_debug.start(); // timer is started in orede
nikitateggi 51:1a4693774b60 665 }
nikitateggi 51:1a4693774b60 666 }
nikitateggi 51:1a4693774b60 667
nikitateggi 51:1a4693774b60 668 }
nikitateggi 51:1a4693774b60 669
rashmivenkataramaiah 76:611154b3b597 670 uint32_t get_timer_debug() // timer for enabling debug option
nikitateggi 51:1a4693774b60 671 {
nikitateggi 51:1a4693774b60 672 if(timer_debug.read_ms()>TIMER_ENABLE_DEBUG_MODE)
nikitateggi 51:1a4693774b60 673 {
nikitateggi 51:1a4693774b60 674 timer_debug.stop();
nikitateggi 51:1a4693774b60 675 }
nikitateggi 51:1a4693774b60 676 return timer_debug.read_ms();
nikitateggi 51:1a4693774b60 677 }
nikitateggi 51:1a4693774b60 678
rashmivenkataramaiah 57:e82d4bd6b2c0 679 // this command response to all the remaining command which doesn't have any data in response
rashmivenkataramaiah 57:e82d4bd6b2c0 680 void poc2p0_send_device_msg_res(uint8_t response_cmd)
rashmivenkataramaiah 57:e82d4bd6b2c0 681 {
rashmivenkataramaiah 72:1f990fa8c516 682
rashmivenkataramaiah 57:e82d4bd6b2c0 683 poc2p0_device_msg_response poc2p0_device_msg_res = {0x00u};
nikitateggi 51:1a4693774b60 684
rashmivenkataramaiah 57:e82d4bd6b2c0 685 poc2p0_device_msg_res.sos = SOS_EOS;
rashmivenkataramaiah 57:e82d4bd6b2c0 686 poc2p0_device_msg_res.cmd = response_cmd;
rashmivenkataramaiah 57:e82d4bd6b2c0 687 poc2p0_device_msg_res.length = ZERO_DATA_LEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 688
rashmivenkataramaiah 57:e82d4bd6b2c0 689 poc2p0_device_msg_res.eos = SOS_EOS;
rashmivenkataramaiah 57:e82d4bd6b2c0 690
rashmivenkataramaiah 59:dadb88794375 691 poc2p0_device_msg_res.chksum = checksum_struct((uint8_t *)&poc2p0_device_msg_res.cmd, (sizeof(poc2p0_device_msg_res)-1));
rashmivenkataramaiah 72:1f990fa8c516 692
rashmivenkataramaiah 70:f2e544a5645b 693 blue1.printf("%02x",poc2p0_device_msg_res.sos);
rashmivenkataramaiah 70:f2e544a5645b 694 blue1.printf("%02x",poc2p0_device_msg_res.cmd);
rashmivenkataramaiah 70:f2e544a5645b 695 blue1.printf("%02x",poc2p0_device_msg_res.length);
rashmivenkataramaiah 70:f2e544a5645b 696 blue1.printf("%02x",poc2p0_device_msg_res.eos);
rashmivenkataramaiah 70:f2e544a5645b 697 blue1.printf("%02x",poc2p0_device_msg_res.chksum);
rashmivenkataramaiah 70:f2e544a5645b 698 blue1.printf("\n");
rashmivenkataramaiah 65:8acfba0ce49a 699
rashmivenkataramaiah 70:f2e544a5645b 700 gc.printf("%02x",poc2p0_device_msg_res.sos);
rashmivenkataramaiah 70:f2e544a5645b 701 gc.printf("%02x",poc2p0_device_msg_res.cmd);
rashmivenkataramaiah 70:f2e544a5645b 702 gc.printf("%02x",poc2p0_device_msg_res.length);
rashmivenkataramaiah 70:f2e544a5645b 703 gc.printf("%02x",poc2p0_device_msg_res.eos);
rashmivenkataramaiah 70:f2e544a5645b 704 gc.printf("%02x",poc2p0_device_msg_res.chksum);
rashmivenkataramaiah 70:f2e544a5645b 705 gc.printf("\n");
rashmivenkataramaiah 57:e82d4bd6b2c0 706 }
rashmivenkataramaiah 57:e82d4bd6b2c0 707
rashmivenkataramaiah 57:e82d4bd6b2c0 708 // this command response to heartbeat message request send by bluetooth device
rashmivenkataramaiah 57:e82d4bd6b2c0 709 void poc2p0_send_device_heartbeat_msg_res(uint8_t curr_touch_state)
rashmivenkataramaiah 72:1f990fa8c516 710 {
rashmivenkataramaiah 57:e82d4bd6b2c0 711 poc2p0_device_heartbeat_response poc2p0_device_heartbeat_res = {0x00u};
rashmivenkataramaiah 65:8acfba0ce49a 712
rashmivenkataramaiah 57:e82d4bd6b2c0 713 // RTC operations
rashmivenkataramaiah 57:e82d4bd6b2c0 714 time_t epoch_time_glc; //A copy of time_t by name epoch_time_bp is created
rashmivenkataramaiah 57:e82d4bd6b2c0 715 struct tm * ptr_time_info_glc; // Sturucture copy of tm is created
rashmivenkataramaiah 57:e82d4bd6b2c0 716
rashmivenkataramaiah 57:e82d4bd6b2c0 717 epoch_time_glc = rtc_read(); // time is got from get epoch function.
rashmivenkataramaiah 57:e82d4bd6b2c0 718 ptr_time_info_glc = localtime(&epoch_time_glc); // Structure accepts the time in local format from "time_t" type.
rashmivenkataramaiah 57:e82d4bd6b2c0 719
rashmivenkataramaiah 57:e82d4bd6b2c0 720 poc2p0_device_heartbeat_res.sos = SOS_EOS;
rashmivenkataramaiah 57:e82d4bd6b2c0 721 poc2p0_device_heartbeat_res.cmd = HEARTBEAT_SYNC_MSG_ACCEPTED_RES;
rashmivenkataramaiah 57:e82d4bd6b2c0 722 poc2p0_device_heartbeat_res.length = HEARTBEAT_DATA_LEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 723
rashmivenkataramaiah 57:e82d4bd6b2c0 724 // device ID
rashmivenkataramaiah 57:e82d4bd6b2c0 725 poc2p0_device_heartbeat_res.did = eprom_read_8(12);
rashmivenkataramaiah 57:e82d4bd6b2c0 726
rashmivenkataramaiah 57:e82d4bd6b2c0 727 // patient ID
rashmivenkataramaiah 57:e82d4bd6b2c0 728 if (curr_touch_state == TOUCH_STATE_TEST_SCREEN)
rashmivenkataramaiah 57:e82d4bd6b2c0 729 {
rashmivenkataramaiah 76:611154b3b597 730 memcpy(poc2p0_device_heartbeat_res.pid,get_userpid(),sizeof(poc2p0_device_heartbeat_res.pid));
rashmivenkataramaiah 57:e82d4bd6b2c0 731 }
rashmivenkataramaiah 71:8f1851c556d6 732 else
rashmivenkataramaiah 57:e82d4bd6b2c0 733 {
rashmivenkataramaiah 71:8f1851c556d6 734 memset(poc2p0_device_heartbeat_res.pid,'0',sizeof(poc2p0_device_heartbeat_res.pid));
rashmivenkataramaiah 71:8f1851c556d6 735 gc.printf("poc2p0_device_heartbeat_res.pid = %s\n",poc2p0_device_heartbeat_res.pid);
rashmivenkataramaiah 71:8f1851c556d6 736
rashmivenkataramaiah 57:e82d4bd6b2c0 737 }
rashmivenkataramaiah 57:e82d4bd6b2c0 738
rashmivenkataramaiah 57:e82d4bd6b2c0 739 // device current date and time
rashmivenkataramaiah 57:e82d4bd6b2c0 740 poc2p0_device_heartbeat_res.date_time.date = (uint8_t)(*ptr_time_info_glc).tm_mday;
rashmivenkataramaiah 57:e82d4bd6b2c0 741 poc2p0_device_heartbeat_res.date_time.month = (uint8_t)(*ptr_time_info_glc).tm_mon+1;
rashmivenkataramaiah 57:e82d4bd6b2c0 742 poc2p0_device_heartbeat_res.date_time.year = (uint8_t)(*ptr_time_info_glc).tm_year-100;
rashmivenkataramaiah 57:e82d4bd6b2c0 743 poc2p0_device_heartbeat_res.date_time.hour = (uint8_t)(*ptr_time_info_glc).tm_hour;
rashmivenkataramaiah 57:e82d4bd6b2c0 744 poc2p0_device_heartbeat_res.date_time.mins = (uint8_t)(*ptr_time_info_glc).tm_min;
rashmivenkataramaiah 57:e82d4bd6b2c0 745 poc2p0_device_heartbeat_res.date_time.sec = (uint8_t)(*ptr_time_info_glc).tm_sec;
rashmivenkataramaiah 57:e82d4bd6b2c0 746
rashmivenkataramaiah 57:e82d4bd6b2c0 747 // device state
rashmivenkataramaiah 66:d7fc45e328d0 748 if (curr_touch_state == TOUCH_STATE_HOME_SCREEN)
rashmivenkataramaiah 57:e82d4bd6b2c0 749 {
rashmivenkataramaiah 66:d7fc45e328d0 750 poc2p0_device_heartbeat_res.device_state = HOME_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 751 }
rashmivenkataramaiah 57:e82d4bd6b2c0 752 else
rashmivenkataramaiah 57:e82d4bd6b2c0 753 {
rashmivenkataramaiah 66:d7fc45e328d0 754 poc2p0_device_heartbeat_res.device_state = TEST_SCREEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 755 }
rashmivenkataramaiah 57:e82d4bd6b2c0 756
rashmivenkataramaiah 57:e82d4bd6b2c0 757 //poc2p0_device_heartbeat_res.device_state = device_state;
rashmivenkataramaiah 57:e82d4bd6b2c0 758
rashmivenkataramaiah 57:e82d4bd6b2c0 759 // device battery status
rashmivenkataramaiah 57:e82d4bd6b2c0 760 poc2p0_device_heartbeat_res.battery_status = get_battery_status();
rashmivenkataramaiah 57:e82d4bd6b2c0 761
rashmivenkataramaiah 57:e82d4bd6b2c0 762 poc2p0_device_heartbeat_res.eos = SOS_EOS;
rashmivenkataramaiah 57:e82d4bd6b2c0 763
rashmivenkataramaiah 57:e82d4bd6b2c0 764 // calculate chksum
rashmivenkataramaiah 59:dadb88794375 765 poc2p0_device_heartbeat_res.chksum = checksum_struct((uint8_t *)&poc2p0_device_heartbeat_res.cmd, (sizeof(poc2p0_device_heartbeat_res)-1));
rashmivenkataramaiah 65:8acfba0ce49a 766
rashmivenkataramaiah 70:f2e544a5645b 767 blue1.printf("%02x",poc2p0_device_heartbeat_res.sos);
rashmivenkataramaiah 70:f2e544a5645b 768 blue1.printf("%02x",poc2p0_device_heartbeat_res.cmd);
rashmivenkataramaiah 70:f2e544a5645b 769 blue1.printf("%02x",poc2p0_device_heartbeat_res.length);
rashmivenkataramaiah 70:f2e544a5645b 770 blue1.printf("%02x",poc2p0_device_heartbeat_res.did);
rashmivenkataramaiah 71:8f1851c556d6 771 //blue1.printf("%010x",poc2p0_device_heartbeat_res.pid);
rashmivenkataramaiah 71:8f1851c556d6 772 for (uint8_t i = 0; i < sizeof(poc2p0_device_heartbeat_res.pid); i++)
rashmivenkataramaiah 71:8f1851c556d6 773 {
rashmivenkataramaiah 71:8f1851c556d6 774 blue1.printf("%02x",poc2p0_device_heartbeat_res.pid[i]);
rashmivenkataramaiah 71:8f1851c556d6 775 }
rashmivenkataramaiah 70:f2e544a5645b 776 blue1.printf("%02x",poc2p0_device_heartbeat_res.date_time.date);
rashmivenkataramaiah 70:f2e544a5645b 777 blue1.printf("%02x",poc2p0_device_heartbeat_res.date_time.month);
rashmivenkataramaiah 70:f2e544a5645b 778 blue1.printf("%02x",poc2p0_device_heartbeat_res.date_time.year);
rashmivenkataramaiah 70:f2e544a5645b 779 blue1.printf("%02x",poc2p0_device_heartbeat_res.date_time.hour);
rashmivenkataramaiah 70:f2e544a5645b 780 blue1.printf("%02x",poc2p0_device_heartbeat_res.date_time.mins);
rashmivenkataramaiah 70:f2e544a5645b 781 blue1.printf("%02x",poc2p0_device_heartbeat_res.date_time.sec);
rashmivenkataramaiah 70:f2e544a5645b 782 blue1.printf("%02x",poc2p0_device_heartbeat_res.device_state);
rashmivenkataramaiah 70:f2e544a5645b 783 blue1.printf("%02x",poc2p0_device_heartbeat_res.battery_status);
rashmivenkataramaiah 70:f2e544a5645b 784 blue1.printf("%02x",poc2p0_device_heartbeat_res.eos);
rashmivenkataramaiah 70:f2e544a5645b 785 blue1.printf("%02x",poc2p0_device_heartbeat_res.chksum);
rashmivenkataramaiah 70:f2e544a5645b 786 blue1.printf("\n");
rashmivenkataramaiah 65:8acfba0ce49a 787
rashmivenkataramaiah 70:f2e544a5645b 788 gc.printf("%02x",poc2p0_device_heartbeat_res.sos);
rashmivenkataramaiah 70:f2e544a5645b 789 gc.printf("%02x",poc2p0_device_heartbeat_res.cmd);
rashmivenkataramaiah 70:f2e544a5645b 790 gc.printf("%02x",poc2p0_device_heartbeat_res.length);
rashmivenkataramaiah 70:f2e544a5645b 791 gc.printf("%02x",poc2p0_device_heartbeat_res.did);
rashmivenkataramaiah 71:8f1851c556d6 792 //gc.printf("%010x",poc2p0_device_heartbeat_res.pid);
rashmivenkataramaiah 71:8f1851c556d6 793 for (uint8_t i = 0; i < sizeof(poc2p0_device_heartbeat_res.pid); i++)
rashmivenkataramaiah 71:8f1851c556d6 794 {
rashmivenkataramaiah 71:8f1851c556d6 795 gc.printf("%02x",poc2p0_device_heartbeat_res.pid[i]);
rashmivenkataramaiah 71:8f1851c556d6 796 }
rashmivenkataramaiah 70:f2e544a5645b 797 gc.printf("%02x",poc2p0_device_heartbeat_res.date_time.date);
rashmivenkataramaiah 70:f2e544a5645b 798 gc.printf("%02x",poc2p0_device_heartbeat_res.date_time.month);
rashmivenkataramaiah 70:f2e544a5645b 799 gc.printf("%02x",poc2p0_device_heartbeat_res.date_time.year);
rashmivenkataramaiah 70:f2e544a5645b 800 gc.printf("%02x",poc2p0_device_heartbeat_res.date_time.hour);
rashmivenkataramaiah 70:f2e544a5645b 801 gc.printf("%02x",poc2p0_device_heartbeat_res.date_time.mins);
rashmivenkataramaiah 70:f2e544a5645b 802 gc.printf("%02x",poc2p0_device_heartbeat_res.date_time.sec);
rashmivenkataramaiah 70:f2e544a5645b 803 gc.printf("%02x",poc2p0_device_heartbeat_res.device_state);
rashmivenkataramaiah 70:f2e544a5645b 804 gc.printf("%02x",poc2p0_device_heartbeat_res.battery_status);
rashmivenkataramaiah 70:f2e544a5645b 805 gc.printf("%02x",poc2p0_device_heartbeat_res.eos);
rashmivenkataramaiah 70:f2e544a5645b 806 gc.printf("%02x",poc2p0_device_heartbeat_res.chksum);
rashmivenkataramaiah 70:f2e544a5645b 807 gc.printf("\n");
rashmivenkataramaiah 57:e82d4bd6b2c0 808 }
rashmivenkataramaiah 57:e82d4bd6b2c0 809
rashmivenkataramaiah 57:e82d4bd6b2c0 810 // this command send final test result response to bluetooth device
rashmivenkataramaiah 57:e82d4bd6b2c0 811 void poc2p0_send_device_test_result_res(uint8_t response_cmd, uint32_t result)
rashmivenkataramaiah 72:1f990fa8c516 812 {
rashmivenkataramaiah 57:e82d4bd6b2c0 813 poc2p0_device_tst_result_response poc2p0_device_tst_result_res = {0x00u};
rashmivenkataramaiah 57:e82d4bd6b2c0 814
rashmivenkataramaiah 57:e82d4bd6b2c0 815 poc2p0_device_tst_result_res.sos = SOS_EOS;
rashmivenkataramaiah 57:e82d4bd6b2c0 816 poc2p0_device_tst_result_res.cmd = response_cmd;
rashmivenkataramaiah 57:e82d4bd6b2c0 817 poc2p0_device_tst_result_res.length = DEVICE_RESULT_DATA_LEN;
rashmivenkataramaiah 57:e82d4bd6b2c0 818
rashmivenkataramaiah 57:e82d4bd6b2c0 819 // device result provided by device
rashmivenkataramaiah 57:e82d4bd6b2c0 820 poc2p0_device_tst_result_res.test_result = result;
rashmivenkataramaiah 57:e82d4bd6b2c0 821
rashmivenkataramaiah 57:e82d4bd6b2c0 822 poc2p0_device_tst_result_res.eos = SOS_EOS;
rashmivenkataramaiah 57:e82d4bd6b2c0 823
rashmivenkataramaiah 59:dadb88794375 824 poc2p0_device_tst_result_res.chksum = checksum_struct((uint8_t *)&poc2p0_device_tst_result_res.cmd, (sizeof(poc2p0_device_tst_result_res)-1));
rashmivenkataramaiah 70:f2e544a5645b 825
rashmivenkataramaiah 70:f2e544a5645b 826 blue1.printf("%02x",poc2p0_device_tst_result_res.sos);
rashmivenkataramaiah 70:f2e544a5645b 827 blue1.printf("%02x",poc2p0_device_tst_result_res.cmd);
rashmivenkataramaiah 70:f2e544a5645b 828 blue1.printf("%02x",poc2p0_device_tst_result_res.length);
rashmivenkataramaiah 70:f2e544a5645b 829 blue1.printf("%08x",poc2p0_device_tst_result_res.test_result);
rashmivenkataramaiah 70:f2e544a5645b 830 blue1.printf("%02x",poc2p0_device_tst_result_res.eos);
rashmivenkataramaiah 70:f2e544a5645b 831 blue1.printf("%02x",poc2p0_device_tst_result_res.chksum);
rashmivenkataramaiah 70:f2e544a5645b 832 blue1.printf("\n");
rashmivenkataramaiah 70:f2e544a5645b 833
rashmivenkataramaiah 70:f2e544a5645b 834 gc.printf("%02x",poc2p0_device_tst_result_res.sos);
rashmivenkataramaiah 70:f2e544a5645b 835 gc.printf("%02x",poc2p0_device_tst_result_res.cmd);
rashmivenkataramaiah 70:f2e544a5645b 836 gc.printf("%02x",poc2p0_device_tst_result_res.length);
rashmivenkataramaiah 70:f2e544a5645b 837 gc.printf("%08x",poc2p0_device_tst_result_res.test_result);
rashmivenkataramaiah 70:f2e544a5645b 838 gc.printf("%02x",poc2p0_device_tst_result_res.eos);
rashmivenkataramaiah 70:f2e544a5645b 839 gc.printf("%02x",poc2p0_device_tst_result_res.chksum);
rashmivenkataramaiah 70:f2e544a5645b 840 gc.printf("\n");
rashmivenkataramaiah 57:e82d4bd6b2c0 841 }
rashmivenkataramaiah 65:8acfba0ce49a 842
rashmivenkataramaiah 72:1f990fa8c516 843 static void ecg_bp_countdown(void)
rashmivenkataramaiah 72:1f990fa8c516 844 {
rashmivenkataramaiah 72:1f990fa8c516 845 for(uint8_t i = 5; i <= 0; i--)
rashmivenkataramaiah 72:1f990fa8c516 846 {
rashmivenkataramaiah 72:1f990fa8c516 847 wait(1);
rashmivenkataramaiah 72:1f990fa8c516 848 }
rashmivenkataramaiah 72:1f990fa8c516 849 }
rashmivenkataramaiah 69:128e3b467820 850
rashmivenkataramaiah 72:1f990fa8c516 851 static void read_device_id(void) // reading device id from eeprom
rashmivenkataramaiah 72:1f990fa8c516 852 {
rashmivenkataramaiah 72:1f990fa8c516 853
rashmivenkataramaiah 76:611154b3b597 854 device_id = eprom_read_8(12); // reading did from eeprom location
rashmivenkataramaiah 76:611154b3b597 855 gc.printf("device_id = %d\n", device_id);
rashmivenkataramaiah 72:1f990fa8c516 856 if((get_Error()!= 0) || (device_id == 0xFF)) // checking for error
rashmivenkataramaiah 72:1f990fa8c516 857 {
rashmivenkataramaiah 72:1f990fa8c516 858 device_id = eprom_read_8(12) ;
rashmivenkataramaiah 72:1f990fa8c516 859 if(get_Error()!= 0 || (device_id == 0xFF))
rashmivenkataramaiah 72:1f990fa8c516 860 {
rashmivenkataramaiah 72:1f990fa8c516 861 gc.printf("database error!\n"); // database error
rashmivenkataramaiah 72:1f990fa8c516 862 //return did;
rashmivenkataramaiah 72:1f990fa8c516 863 }
rashmivenkataramaiah 72:1f990fa8c516 864 }
rashmivenkataramaiah 72:1f990fa8c516 865
rashmivenkataramaiah 72:1f990fa8c516 866 }
rashmivenkataramaiah 72:1f990fa8c516 867
rashmivenkataramaiah 72:1f990fa8c516 868 uint8_t get_did()
rashmivenkataramaiah 72:1f990fa8c516 869 {
rashmivenkataramaiah 72:1f990fa8c516 870 return device_id;
rashmivenkataramaiah 72:1f990fa8c516 871 }
rashmivenkataramaiah 72:1f990fa8c516 872
rashmivenkataramaiah 76:611154b3b597 873 void sd_card_status(void) // checking the status of the sd card initialization
rashmivenkataramaiah 72:1f990fa8c516 874 {
rashmivenkataramaiah 72:1f990fa8c516 875 uint8_t error_sd= 0;
rashmivenkataramaiah 72:1f990fa8c516 876 error_sd = dummy_file_create_delete(); // creating the dummy file
rashmivenkataramaiah 72:1f990fa8c516 877
rashmivenkataramaiah 72:1f990fa8c516 878 if( error_sd == 1) // if error = 1 // error in opening file
rashmivenkataramaiah 72:1f990fa8c516 879 {
rashmivenkataramaiah 72:1f990fa8c516 880 error_sd = dummy_file_create_delete();
rashmivenkataramaiah 72:1f990fa8c516 881 if( error_sd == 1)
rashmivenkataramaiah 72:1f990fa8c516 882 {
rashmivenkataramaiah 72:1f990fa8c516 883 gc.printf("database error!\n"); // dispaly data base error
rashmivenkataramaiah 72:1f990fa8c516 884 //database_error();
rashmivenkataramaiah 72:1f990fa8c516 885
rashmivenkataramaiah 72:1f990fa8c516 886 }
rashmivenkataramaiah 72:1f990fa8c516 887 }
rashmivenkataramaiah 72:1f990fa8c516 888
rashmivenkataramaiah 72:1f990fa8c516 889 }
rashmivenkataramaiah 72:1f990fa8c516 890