trabalho

Dependencies:   X_NUCLEO_IKS01A1 mbed-rtos mbed

Fork of HelloWorld_IKS01A1 by ST

Committer:
nlsantos
Date:
Wed May 04 19:31:08 2016 +0000
Revision:
12:7ef8061de189
Child:
13:569b49092661
comitteed;

Who changed what in which revision?

UserRevisionLine numberNew 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 /* Mail
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 }