trabalho
Dependencies: X_NUCLEO_IKS01A1 mbed-rtos mbed
Fork of HelloWorld_IKS01A1 by
mailBox.cpp@12:7ef8061de189, 2016-05-04 (annotated)
- Committer:
- nlsantos
- Date:
- Wed May 04 19:31:08 2016 +0000
- Revision:
- 12:7ef8061de189
- Child:
- 13:569b49092661
comitteed;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nlsantos | 12:7ef8061de189 | 1 | #include "mbed.h" |
nlsantos | 12:7ef8061de189 | 2 | #include "rtos.h" |
nlsantos | 12:7ef8061de189 | 3 | #include <logData.cpp> |
nlsantos | 12:7ef8061de189 | 4 | |
nlsantos | 12:7ef8061de189 | 5 | |
nlsantos | 12:7ef8061de189 | 6 | typedef struct { |
nlsantos | 12:7ef8061de189 | 7 | float voltage; |
nlsantos | 12:7ef8061de189 | 8 | float current; |
nlsantos | 12:7ef8061de189 | 9 | uint32_t counter; |
nlsantos | 12:7ef8061de189 | 10 | } mail_t; |
nlsantos | 12:7ef8061de189 | 11 | |
nlsantos | 12:7ef8061de189 | 12 | */ |
nlsantos | 12:7ef8061de189 | 13 | |
nlsantos | 12:7ef8061de189 | 14 | //LogData mail_t |
nlsantos | 12:7ef8061de189 | 15 | |
nlsantos | 12:7ef8061de189 | 16 | Mail<LogData, 16> mail_box; |
nlsantos | 12:7ef8061de189 | 17 | |
nlsantos | 12:7ef8061de189 | 18 | void send_thread (void const *args) { |
nlsantos | 12:7ef8061de189 | 19 | while (true) { |
nlsantos | 12:7ef8061de189 | 20 | LogData *log = mail_box.alloc(); |
nlsantos | 12:7ef8061de189 | 21 | log->id = ; |
nlsantos | 12:7ef8061de189 | 22 | log->tempCelcius; |
nlsantos | 12:7ef8061de189 | 23 | log->tempFarenheit; |
nlsantos | 12:7ef8061de189 | 24 | log->humidity; |
nlsantos | 12:7ef8061de189 | 25 | log->pressure; |
nlsantos | 12:7ef8061de189 | 26 | log->accelerometer; |
nlsantos | 12:7ef8061de189 | 27 | log->gyroscope; |
nlsantos | 12:7ef8061de189 | 28 | log->magnetometer; |
nlsantos | 12:7ef8061de189 | 29 | log->dd; |
nlsantos | 12:7ef8061de189 | 30 | log->mm; |
nlsantos | 12:7ef8061de189 | 31 | log->yyyy; |
nlsantos | 12:7ef8061de189 | 32 | log->hh; |
nlsantos | 12:7ef8061de189 | 33 | log->min; |
nlsantos | 12:7ef8061de189 | 34 | log->ss; |
nlsantos | 12:7ef8061de189 | 35 | |
nlsantos | 12:7ef8061de189 | 36 | mail_box.put(log); |
nlsantos | 12:7ef8061de189 | 37 | Thread::wait(1000); |
nlsantos | 12:7ef8061de189 | 38 | } |
nlsantos | 12:7ef8061de189 | 39 | } |
nlsantos | 12:7ef8061de189 | 40 | |
nlsantos | 12:7ef8061de189 | 41 | int main (void) { |
nlsantos | 12:7ef8061de189 | 42 | Thread thread(send_thread); |
nlsantos | 12:7ef8061de189 | 43 | |
nlsantos | 12:7ef8061de189 | 44 | while (true) { |
nlsantos | 12:7ef8061de189 | 45 | osEvent evt = mail_box.get(); |
nlsantos | 12:7ef8061de189 | 46 | if (evt.status == osEventMail) { |
nlsantos | 12:7ef8061de189 | 47 | mail_t *mail = (mail_t*)evt.value.p; |
nlsantos | 12:7ef8061de189 | 48 | printf("\nVoltage: %.2f V\n\r" , mail->voltage); |
nlsantos | 12:7ef8061de189 | 49 | printf("Current: %.2f A\n\r" , mail->current); |
nlsantos | 12:7ef8061de189 | 50 | printf("Number of cycles: %u\n\r", mail->counter); |
nlsantos | 12:7ef8061de189 | 51 | |
nlsantos | 12:7ef8061de189 | 52 | mail_box.free(mail); |
nlsantos | 12:7ef8061de189 | 53 | } |
nlsantos | 12:7ef8061de189 | 54 | } |
nlsantos | 12:7ef8061de189 | 55 | } |