still need some modification

Dependencies:   mbed-http DebounceIn PinDetect OneButton

Committer:
nadaanas1985
Date:
Mon May 06 11:24:39 2019 +0000
Revision:
2:1d2a43e66b41
Parent:
1:1a06bde4e0db
updated ip

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nadaanas1985 0:454abaa26f3c 1 #include "select-demo.h"
nadaanas1985 0:454abaa26f3c 2
nadaanas1985 0:454abaa26f3c 3 #if DEMO == DEMO_HTTP
nadaanas1985 0:454abaa26f3c 4
nadaanas1985 0:454abaa26f3c 5 #include "rtos.h"
nadaanas1985 0:454abaa26f3c 6 #include "mbed.h"
nadaanas1985 0:454abaa26f3c 7 #include "http_request.h"
nadaanas1985 0:454abaa26f3c 8 #include "network-helper.h"
nadaanas1985 0:454abaa26f3c 9 #include "mbed_mem_trace.h"
nadaanas1985 0:454abaa26f3c 10 #include "PinDetect.h"
nadaanas1985 0:454abaa26f3c 11
nadaanas1985 0:454abaa26f3c 12
nadaanas1985 0:454abaa26f3c 13
nadaanas1985 0:454abaa26f3c 14
nadaanas1985 0:454abaa26f3c 15 //FINITE STATE MACHINE EVENTS
nadaanas1985 0:454abaa26f3c 16 #define NO_EVENT 0
nadaanas1985 0:454abaa26f3c 17 #define TIME_OUT 1
nadaanas1985 0:454abaa26f3c 18 #define BUTTON_PRESS_1 2
nadaanas1985 0:454abaa26f3c 19 #define BUTTON_PRESS_2 3
nadaanas1985 0:454abaa26f3c 20 #define TILT 3
nadaanas1985 0:454abaa26f3c 21 #define PUSH 4
nadaanas1985 0:454abaa26f3c 22
nadaanas1985 0:454abaa26f3c 23 //STATES
nadaanas1985 0:454abaa26f3c 24 #define STATE_0 0
nadaanas1985 0:454abaa26f3c 25 #define STATE_1 1
nadaanas1985 0:454abaa26f3c 26 #define STATE_2 2
nadaanas1985 0:454abaa26f3c 27
nadaanas1985 0:454abaa26f3c 28
nadaanas1985 0:454abaa26f3c 29 //pass event via message queue
nadaanas1985 0:454abaa26f3c 30 typedef struct {
nadaanas1985 0:454abaa26f3c 31 int event; /* AD result of measured voltage */
nadaanas1985 0:454abaa26f3c 32 } message_t;
nadaanas1985 0:454abaa26f3c 33
nadaanas1985 0:454abaa26f3c 34 MemoryPool<message_t, 16> mpool;
nadaanas1985 0:454abaa26f3c 35 Queue<message_t, 16> queue;
nadaanas1985 0:454abaa26f3c 36
nadaanas1985 0:454abaa26f3c 37 //Digital input
nadaanas1985 0:454abaa26f3c 38 //DigitalIn coin(p14);
nadaanas1985 0:454abaa26f3c 39 PinDetect button_1(p23);
nadaanas1985 0:454abaa26f3c 40 PinDetect button_2(p24);
nadaanas1985 0:454abaa26f3c 41
nadaanas1985 0:454abaa26f3c 42 //Global varible
nadaanas1985 0:454abaa26f3c 43 int button_press_1=0;
nadaanas1985 0:454abaa26f3c 44 int button_press_2=0;
nadaanas1985 0:454abaa26f3c 45 int button_press_Wait=0;
nadaanas1985 0:454abaa26f3c 46
nadaanas1985 0:454abaa26f3c 47
nadaanas1985 0:454abaa26f3c 48 //leds for debug
nadaanas1985 0:454abaa26f3c 49 DigitalOut led4(LED4); //LED
nadaanas1985 0:454abaa26f3c 50 DigitalOut led3(LED3); //LED
nadaanas1985 0:454abaa26f3c 51 DigitalOut led2(LED2); //LED
nadaanas1985 0:454abaa26f3c 52 DigitalOut myled(LED1);
nadaanas1985 0:454abaa26f3c 53
nadaanas1985 0:454abaa26f3c 54 //Relays:
nadaanas1985 0:454abaa26f3c 55
nadaanas1985 0:454abaa26f3c 56 DigitalOut Relay_1(p11);
nadaanas1985 0:454abaa26f3c 57 DigitalOut Relay_2(p12);
nadaanas1985 0:454abaa26f3c 58
nadaanas1985 0:454abaa26f3c 59
nadaanas1985 0:454abaa26f3c 60
nadaanas1985 0:454abaa26f3c 61 //Mutex
nadaanas1985 0:454abaa26f3c 62 Mutex flag_mutex;
nadaanas1985 0:454abaa26f3c 63
nadaanas1985 0:454abaa26f3c 64
nadaanas1985 0:454abaa26f3c 65 void button_1_event_thread(void const *argument)
nadaanas1985 0:454abaa26f3c 66 {
nadaanas1985 0:454abaa26f3c 67
nadaanas1985 0:454abaa26f3c 68
nadaanas1985 0:454abaa26f3c 69 while (true)
nadaanas1985 0:454abaa26f3c 70 {
nadaanas1985 0:454abaa26f3c 71 //Thread::wait(10);
nadaanas1985 0:454abaa26f3c 72 if (button_press_1 == 1 && button_press_2 == 0 && button_press_Wait==0) {
nadaanas1985 0:454abaa26f3c 73
nadaanas1985 0:454abaa26f3c 74 //event via a message queue
nadaanas1985 0:454abaa26f3c 75 button_press_Wait=1;
nadaanas1985 0:454abaa26f3c 76 message_t *message = mpool.alloc();
nadaanas1985 0:454abaa26f3c 77 message->event = BUTTON_PRESS_1;
nadaanas1985 0:454abaa26f3c 78 queue.put(message);
nadaanas1985 0:454abaa26f3c 79
nadaanas1985 0:454abaa26f3c 80 led3 = !led3;
nadaanas1985 0:454abaa26f3c 81 Thread::wait(5000);
nadaanas1985 0:454abaa26f3c 82 }
nadaanas1985 0:454abaa26f3c 83
nadaanas1985 0:454abaa26f3c 84 }
nadaanas1985 0:454abaa26f3c 85 }
nadaanas1985 0:454abaa26f3c 86
nadaanas1985 0:454abaa26f3c 87
nadaanas1985 0:454abaa26f3c 88 void button_2_event_thread(void const *argument)
nadaanas1985 0:454abaa26f3c 89 {
nadaanas1985 0:454abaa26f3c 90
nadaanas1985 0:454abaa26f3c 91
nadaanas1985 0:454abaa26f3c 92 while (true)
nadaanas1985 0:454abaa26f3c 93 {
nadaanas1985 0:454abaa26f3c 94 //Thread::wait(10);
nadaanas1985 0:454abaa26f3c 95 if (button_press_2 == 1 && button_press_1 == 0 && button_press_Wait==0) {
nadaanas1985 0:454abaa26f3c 96
nadaanas1985 0:454abaa26f3c 97 //event via a message queue
nadaanas1985 0:454abaa26f3c 98 button_press_Wait = 1;
nadaanas1985 0:454abaa26f3c 99 message_t *message = mpool.alloc();
nadaanas1985 0:454abaa26f3c 100 message->event = BUTTON_PRESS_2;
nadaanas1985 0:454abaa26f3c 101 queue.put(message);
nadaanas1985 0:454abaa26f3c 102
nadaanas1985 0:454abaa26f3c 103 led2 = !led2;
nadaanas1985 0:454abaa26f3c 104 Thread::wait(5000);
nadaanas1985 0:454abaa26f3c 105
nadaanas1985 0:454abaa26f3c 106 }
nadaanas1985 0:454abaa26f3c 107
nadaanas1985 0:454abaa26f3c 108 }
nadaanas1985 0:454abaa26f3c 109 }
nadaanas1985 0:454abaa26f3c 110
nadaanas1985 0:454abaa26f3c 111
nadaanas1985 0:454abaa26f3c 112 void timeout_event(void const *n)
nadaanas1985 0:454abaa26f3c 113 {
nadaanas1985 0:454abaa26f3c 114
nadaanas1985 0:454abaa26f3c 115 //event via a message queue
nadaanas1985 0:454abaa26f3c 116 message_t *message = mpool.alloc();
nadaanas1985 0:454abaa26f3c 117 message->event = TIME_OUT;
nadaanas1985 0:454abaa26f3c 118 queue.put(message);
nadaanas1985 0:454abaa26f3c 119
nadaanas1985 0:454abaa26f3c 120 led4 = !led4;
nadaanas1985 0:454abaa26f3c 121
nadaanas1985 0:454abaa26f3c 122 }
nadaanas1985 0:454abaa26f3c 123
nadaanas1985 0:454abaa26f3c 124
nadaanas1985 0:454abaa26f3c 125 void button_1_hit_callback()
nadaanas1985 0:454abaa26f3c 126 {
nadaanas1985 0:454abaa26f3c 127 //Flash_LED_Thread.signal_set(0x1);
nadaanas1985 0:454abaa26f3c 128
nadaanas1985 0:454abaa26f3c 129 button_press_1=1;
nadaanas1985 0:454abaa26f3c 130
nadaanas1985 0:454abaa26f3c 131 }
nadaanas1985 0:454abaa26f3c 132
nadaanas1985 0:454abaa26f3c 133 void button_2_hit_callback()
nadaanas1985 0:454abaa26f3c 134 {
nadaanas1985 0:454abaa26f3c 135 //Flash_LED_Thread.signal_set(0x1);
nadaanas1985 0:454abaa26f3c 136
nadaanas1985 0:454abaa26f3c 137 button_press_2=1;
nadaanas1985 0:454abaa26f3c 138
nadaanas1985 0:454abaa26f3c 139 }
nadaanas1985 0:454abaa26f3c 140
nadaanas1985 0:454abaa26f3c 141
nadaanas1985 0:454abaa26f3c 142
nadaanas1985 0:454abaa26f3c 143
nadaanas1985 0:454abaa26f3c 144
nadaanas1985 0:454abaa26f3c 145 void dump_response_1(HttpResponse* res)
nadaanas1985 0:454abaa26f3c 146 {
nadaanas1985 0:454abaa26f3c 147
nadaanas1985 0:454abaa26f3c 148 Relay_1=0;
nadaanas1985 0:454abaa26f3c 149 Relay_2=1;
nadaanas1985 0:454abaa26f3c 150
nadaanas1985 0:454abaa26f3c 151
nadaanas1985 0:454abaa26f3c 152 printf("Status: %d - %s\n", res->get_status_code(), res->get_status_message().c_str());
nadaanas1985 0:454abaa26f3c 153
nadaanas1985 0:454abaa26f3c 154 printf("Headers:\n");
nadaanas1985 0:454abaa26f3c 155 for (size_t ix = 0; ix < res->get_headers_length(); ix++)
nadaanas1985 0:454abaa26f3c 156 {
nadaanas1985 0:454abaa26f3c 157 printf("\t%s: %s\n", res->get_headers_fields()[ix]->c_str(), res->get_headers_values()[ix]->c_str());
nadaanas1985 0:454abaa26f3c 158 }
nadaanas1985 0:454abaa26f3c 159 printf("\nBody (%d bytes):\n\n%s\n", res->get_body_length(), res->get_body_as_string().c_str());
nadaanas1985 0:454abaa26f3c 160
nadaanas1985 0:454abaa26f3c 161 Thread::wait(5000);
nadaanas1985 0:454abaa26f3c 162 Relay_1=1;
nadaanas1985 0:454abaa26f3c 163
nadaanas1985 0:454abaa26f3c 164 Thread::wait(5000);
nadaanas1985 0:454abaa26f3c 165 button_press_2 = 0;
nadaanas1985 0:454abaa26f3c 166 button_press_1 = 0;
nadaanas1985 0:454abaa26f3c 167 button_press_Wait = 0;
nadaanas1985 0:454abaa26f3c 168
nadaanas1985 0:454abaa26f3c 169 }
nadaanas1985 0:454abaa26f3c 170
nadaanas1985 0:454abaa26f3c 171
nadaanas1985 0:454abaa26f3c 172 void dump_response_2(HttpResponse* res)
nadaanas1985 0:454abaa26f3c 173 {
nadaanas1985 0:454abaa26f3c 174 Relay_1=1;
nadaanas1985 0:454abaa26f3c 175 Relay_2=0;
nadaanas1985 0:454abaa26f3c 176
nadaanas1985 0:454abaa26f3c 177 printf("Status: %d - %s\n", res->get_status_code(), res->get_status_message().c_str());
nadaanas1985 0:454abaa26f3c 178
nadaanas1985 0:454abaa26f3c 179 printf("Headers:\n");
nadaanas1985 0:454abaa26f3c 180 for (size_t ix = 0; ix < res->get_headers_length(); ix++) {
nadaanas1985 0:454abaa26f3c 181 printf("\t%s: %s\n", res->get_headers_fields()[ix]->c_str(), res->get_headers_values()[ix]->c_str());
nadaanas1985 0:454abaa26f3c 182 }
nadaanas1985 0:454abaa26f3c 183 printf("\nBody (%d bytes):\n\n%s\n", res->get_body_length(), res->get_body_as_string().c_str());
nadaanas1985 0:454abaa26f3c 184
nadaanas1985 0:454abaa26f3c 185
nadaanas1985 0:454abaa26f3c 186 Thread::wait(5000);
nadaanas1985 0:454abaa26f3c 187 Relay_2=1;
nadaanas1985 0:454abaa26f3c 188
nadaanas1985 0:454abaa26f3c 189 Thread::wait(5000);
nadaanas1985 0:454abaa26f3c 190 button_press_2 = 0;
nadaanas1985 0:454abaa26f3c 191 button_press_1 = 0;
nadaanas1985 0:454abaa26f3c 192
nadaanas1985 0:454abaa26f3c 193 button_press_Wait = 0;
nadaanas1985 0:454abaa26f3c 194
nadaanas1985 0:454abaa26f3c 195
nadaanas1985 0:454abaa26f3c 196 }
nadaanas1985 0:454abaa26f3c 197
nadaanas1985 0:454abaa26f3c 198
nadaanas1985 0:454abaa26f3c 199 int main()
nadaanas1985 0:454abaa26f3c 200 {
nadaanas1985 0:454abaa26f3c 201
nadaanas1985 0:454abaa26f3c 202
nadaanas1985 0:454abaa26f3c 203 Relay_1=1;
nadaanas1985 0:454abaa26f3c 204
nadaanas1985 0:454abaa26f3c 205 Relay_2=1;
nadaanas1985 0:454abaa26f3c 206 //Thread fsm(fsm_thread);
nadaanas1985 0:454abaa26f3c 207 Thread button_1_event(button_1_event_thread);
nadaanas1985 0:454abaa26f3c 208 Thread button_2_event(button_2_event_thread);
nadaanas1985 0:454abaa26f3c 209
nadaanas1985 0:454abaa26f3c 210
nadaanas1985 0:454abaa26f3c 211
nadaanas1985 0:454abaa26f3c 212 RtosTimer timer(timeout_event, osTimerPeriodic, (void *)0);
nadaanas1985 0:454abaa26f3c 213
nadaanas1985 0:454abaa26f3c 214
nadaanas1985 0:454abaa26f3c 215 button_1.mode(PullUp);
nadaanas1985 0:454abaa26f3c 216 button_2.mode(PullUp);
nadaanas1985 0:454abaa26f3c 217
nadaanas1985 0:454abaa26f3c 218 //Interrupts
nadaanas1985 0:454abaa26f3c 219 /* button_1.fall(&Button_1_Inter);
nadaanas1985 0:454abaa26f3c 220 button_2.fall(&Button_2_Inter);*/
nadaanas1985 0:454abaa26f3c 221
nadaanas1985 0:454abaa26f3c 222 // Setup Interrupt callback function for a pb hit
nadaanas1985 0:454abaa26f3c 223 button_1.attach_deasserted(& button_1_hit_callback);
nadaanas1985 0:454abaa26f3c 224 // Start sampling pb input using interrupts
nadaanas1985 0:454abaa26f3c 225 button_1.setSampleFrequency();
nadaanas1985 0:454abaa26f3c 226
nadaanas1985 0:454abaa26f3c 227 // Setup Interrupt callback function for a pb hit
nadaanas1985 0:454abaa26f3c 228 button_2.attach_deasserted(& button_2_hit_callback);
nadaanas1985 0:454abaa26f3c 229 // Start sampling pb input using interrupts
nadaanas1985 0:454abaa26f3c 230 button_2.setSampleFrequency();
nadaanas1985 0:454abaa26f3c 231
nadaanas1985 0:454abaa26f3c 232
nadaanas1985 0:454abaa26f3c 233
nadaanas1985 0:454abaa26f3c 234
nadaanas1985 0:454abaa26f3c 235 int state = STATE_0;
nadaanas1985 2:1d2a43e66b41 236 while (true)
nadaanas1985 0:454abaa26f3c 237 {
nadaanas1985 2:1d2a43e66b41 238 Thread::wait(4000);
nadaanas1985 2:1d2a43e66b41 239
nadaanas1985 2:1d2a43e66b41 240 //network setup
nadaanas1985 2:1d2a43e66b41 241 NetworkInterface* network = connect_to_default_network_interface();
nadaanas1985 2:1d2a43e66b41 242 if (!network)
nadaanas1985 2:1d2a43e66b41 243 {
nadaanas1985 2:1d2a43e66b41 244 printf("Cannot connect to the network, see serial output\n");
nadaanas1985 2:1d2a43e66b41 245 //return 1;
nadaanas1985 2:1d2a43e66b41 246 for(int j = 0 ; j<20;j++)
nadaanas1985 2:1d2a43e66b41 247 {
nadaanas1985 2:1d2a43e66b41 248 led4=1;
nadaanas1985 2:1d2a43e66b41 249 Thread::wait(100);
nadaanas1985 2:1d2a43e66b41 250 led4=0;
nadaanas1985 2:1d2a43e66b41 251 Thread::wait(100);
nadaanas1985 2:1d2a43e66b41 252 }
nadaanas1985 2:1d2a43e66b41 253 }
nadaanas1985 2:1d2a43e66b41 254 else
nadaanas1985 2:1d2a43e66b41 255 {
nadaanas1985 2:1d2a43e66b41 256 led4=1;
nadaanas1985 2:1d2a43e66b41 257
nadaanas1985 2:1d2a43e66b41 258 while (true) {
nadaanas1985 2:1d2a43e66b41 259
nadaanas1985 2:1d2a43e66b41 260
nadaanas1985 2:1d2a43e66b41 261 switch(state) {
nadaanas1985 2:1d2a43e66b41 262 case STATE_0:
nadaanas1985 2:1d2a43e66b41 263 osEvent evt = queue.get();
nadaanas1985 2:1d2a43e66b41 264 if (evt.status == osEventMessage)
nadaanas1985 0:454abaa26f3c 265 {
nadaanas1985 2:1d2a43e66b41 266 message_t *message = (message_t*)evt.value.p;
nadaanas1985 2:1d2a43e66b41 267
nadaanas1985 2:1d2a43e66b41 268
nadaanas1985 2:1d2a43e66b41 269 if(message->event == BUTTON_PRESS_1)
nadaanas1985 2:1d2a43e66b41 270 {
nadaanas1985 2:1d2a43e66b41 271 printf("HttpRequest Sending");
nadaanas1985 2:1d2a43e66b41 272 //printf(network->get_gateway);
nadaanas1985 2:1d2a43e66b41 273 HttpRequest* post_req = new HttpRequest(network, HTTP_POST, "http://10.5.248.2:5600/mch/kick");
nadaanas1985 2:1d2a43e66b41 274
nadaanas1985 2:1d2a43e66b41 275 post_req->set_header("Content-Type", "application/json");
nadaanas1985 2:1d2a43e66b41 276
nadaanas1985 2:1d2a43e66b41 277
nadaanas1985 2:1d2a43e66b41 278 const char body[] = "{\"hello\":\"Nada\"}";
nadaanas1985 2:1d2a43e66b41 279
nadaanas1985 2:1d2a43e66b41 280 HttpResponse* post_res = post_req->send(body, strlen(body));
nadaanas1985 2:1d2a43e66b41 281 if (!post_res)
nadaanas1985 2:1d2a43e66b41 282 {
nadaanas1985 2:1d2a43e66b41 283 printf("HttpRequest failed (error code %d)\n", post_req->get_error());
nadaanas1985 2:1d2a43e66b41 284 // return 1;
nadaanas1985 2:1d2a43e66b41 285
nadaanas1985 2:1d2a43e66b41 286 button_press_2 = 0;
nadaanas1985 2:1d2a43e66b41 287 button_press_1 = 0;
nadaanas1985 2:1d2a43e66b41 288 }
nadaanas1985 2:1d2a43e66b41 289 else
nadaanas1985 2:1d2a43e66b41 290 {
nadaanas1985 0:454abaa26f3c 291
nadaanas1985 2:1d2a43e66b41 292 printf("\n----- HTTP POST response 1-----\n");
nadaanas1985 2:1d2a43e66b41 293
nadaanas1985 2:1d2a43e66b41 294 dump_response_1(post_res);
nadaanas1985 2:1d2a43e66b41 295
nadaanas1985 2:1d2a43e66b41 296 //Thread::wait(5000);
nadaanas1985 2:1d2a43e66b41 297
nadaanas1985 2:1d2a43e66b41 298
nadaanas1985 2:1d2a43e66b41 299
nadaanas1985 2:1d2a43e66b41 300 delete post_req;
nadaanas1985 2:1d2a43e66b41 301 }
nadaanas1985 2:1d2a43e66b41 302
nadaanas1985 2:1d2a43e66b41 303 state = STATE_0;
nadaanas1985 2:1d2a43e66b41 304 }
nadaanas1985 2:1d2a43e66b41 305 else if(message->event == BUTTON_PRESS_2)
nadaanas1985 2:1d2a43e66b41 306 {
nadaanas1985 2:1d2a43e66b41 307
nadaanas1985 2:1d2a43e66b41 308 HttpRequest* post_req = new HttpRequest(network, HTTP_POST, "http://10.5.248.2:5600/mch/call");
nadaanas1985 2:1d2a43e66b41 309
nadaanas1985 2:1d2a43e66b41 310 post_req->set_header("Content-Type", "application/json");
nadaanas1985 2:1d2a43e66b41 311
nadaanas1985 2:1d2a43e66b41 312
nadaanas1985 2:1d2a43e66b41 313 const char body[] = "{\"hello\":\"World\"}";
nadaanas1985 2:1d2a43e66b41 314
nadaanas1985 2:1d2a43e66b41 315 HttpResponse* post_res = post_req->send(body, strlen(body));
nadaanas1985 2:1d2a43e66b41 316 if (!post_res)
nadaanas1985 2:1d2a43e66b41 317 {
nadaanas1985 2:1d2a43e66b41 318 printf("HttpRequest failed (error code %d)\n", post_req->get_error());
nadaanas1985 2:1d2a43e66b41 319 // return 1;
nadaanas1985 2:1d2a43e66b41 320
nadaanas1985 2:1d2a43e66b41 321 button_press_2 = 0;
nadaanas1985 2:1d2a43e66b41 322 button_press_1 = 0;
nadaanas1985 2:1d2a43e66b41 323 }
nadaanas1985 2:1d2a43e66b41 324 else
nadaanas1985 2:1d2a43e66b41 325 {
nadaanas1985 0:454abaa26f3c 326
nadaanas1985 2:1d2a43e66b41 327 printf("\n----- HTTP POST response 2-----\n");
nadaanas1985 2:1d2a43e66b41 328
nadaanas1985 2:1d2a43e66b41 329 dump_response_2(post_res);
nadaanas1985 2:1d2a43e66b41 330
nadaanas1985 2:1d2a43e66b41 331 delete post_req;
nadaanas1985 2:1d2a43e66b41 332 //Thread::wait(5000);
nadaanas1985 2:1d2a43e66b41 333
nadaanas1985 2:1d2a43e66b41 334
nadaanas1985 2:1d2a43e66b41 335
nadaanas1985 0:454abaa26f3c 336
nadaanas1985 2:1d2a43e66b41 337 }
nadaanas1985 2:1d2a43e66b41 338 state = STATE_0;
nadaanas1985 2:1d2a43e66b41 339 }
nadaanas1985 2:1d2a43e66b41 340
nadaanas1985 2:1d2a43e66b41 341 mpool.free(message);
nadaanas1985 0:454abaa26f3c 342 }
nadaanas1985 2:1d2a43e66b41 343
nadaanas1985 2:1d2a43e66b41 344 timer.start(15000);
nadaanas1985 2:1d2a43e66b41 345
nadaanas1985 2:1d2a43e66b41 346 break;
nadaanas1985 2:1d2a43e66b41 347
nadaanas1985 2:1d2a43e66b41 348 case STATE_1:
nadaanas1985 2:1d2a43e66b41 349
nadaanas1985 2:1d2a43e66b41 350 evt = queue.get();
nadaanas1985 2:1d2a43e66b41 351 if (evt.status == osEventMessage)
nadaanas1985 2:1d2a43e66b41 352 {
nadaanas1985 2:1d2a43e66b41 353 message_t *message = (message_t*)evt.value.p;
nadaanas1985 2:1d2a43e66b41 354
nadaanas1985 2:1d2a43e66b41 355
nadaanas1985 2:1d2a43e66b41 356 if(message->event == BUTTON_PRESS_1)
nadaanas1985 2:1d2a43e66b41 357 {
nadaanas1985 2:1d2a43e66b41 358
nadaanas1985 2:1d2a43e66b41 359 state = STATE_0;
nadaanas1985 2:1d2a43e66b41 360 }
nadaanas1985 2:1d2a43e66b41 361
nadaanas1985 2:1d2a43e66b41 362 mpool.free(message);
nadaanas1985 2:1d2a43e66b41 363 }
nadaanas1985 2:1d2a43e66b41 364
nadaanas1985 2:1d2a43e66b41 365 timer.start(10000);
nadaanas1985 2:1d2a43e66b41 366
nadaanas1985 2:1d2a43e66b41 367 break;
nadaanas1985 2:1d2a43e66b41 368
nadaanas1985 2:1d2a43e66b41 369
nadaanas1985 2:1d2a43e66b41 370 }//End of switch
nadaanas1985 2:1d2a43e66b41 371
nadaanas1985 2:1d2a43e66b41 372 //toggle led for local testing
nadaanas1985 2:1d2a43e66b41 373 //led2= !led2;
nadaanas1985 2:1d2a43e66b41 374
nadaanas1985 2:1d2a43e66b41 375 }//end of while(1)
nadaanas1985 2:1d2a43e66b41 376 }
nadaanas1985 2:1d2a43e66b41 377 }
nadaanas1985 0:454abaa26f3c 378 }
nadaanas1985 0:454abaa26f3c 379
nadaanas1985 0:454abaa26f3c 380 #endif