Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_IKS01A1 mbed-rtos mbed
Fork of HelloWorld_IKS01A1 by
mailBox.cpp@26:71c54c8ae536, 2016-05-08 (annotated)
- Committer:
- stwykd
- Date:
- Sun May 08 08:37:33 2016 +0000
- Revision:
- 26:71c54c8ae536
- Parent:
- 25:55c0dc5b32b3
- Child:
- 28:840000670c88
Created a buffer and finished implementing expansion board.; There's missing to send the data to the buffer just after reading on readData. You can copy and paste buffer.cpp to mailbox.cpp, or continue buffer.cpp as a mailbox
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" |
| stwykd | 24:527fdf64cbb0 | 3 | #include <time.h> |
| stwykd | 25:55c0dc5b32b3 | 4 | //#include <main.cpp> |
| nlsantos | 12:7ef8061de189 | 5 | |
| Jacinta | 18:bf6578e82712 | 6 | class MailBox{ |
| nlsantos | 12:7ef8061de189 | 7 | |
| Jacinta | 18:bf6578e82712 | 8 | public: |
| Jacinta | 18:bf6578e82712 | 9 | typedef struct { |
| Jacinta | 18:bf6578e82712 | 10 | uint8_t id; |
| Jacinta | 18:bf6578e82712 | 11 | float tempCelcius; |
| Jacinta | 18:bf6578e82712 | 12 | float tempFarenheit; |
| Jacinta | 18:bf6578e82712 | 13 | float humidity; |
| Jacinta | 18:bf6578e82712 | 14 | float pressure; |
| Jacinta | 18:bf6578e82712 | 15 | int accelerometer; |
| Jacinta | 18:bf6578e82712 | 16 | int gyroscope; |
| Jacinta | 18:bf6578e82712 | 17 | int magnetometer; |
| stwykd | 24:527fdf64cbb0 | 18 | char* date; |
| Jacinta | 18:bf6578e82712 | 19 | } log_data; |
| Jacinta | 18:bf6578e82712 | 20 | |
| Jacinta | 18:bf6578e82712 | 21 | Mail<log_data, 120> mail_box; |
| Jacinta | 18:bf6578e82712 | 22 | |
| Jacinta | 18:bf6578e82712 | 23 | void send_thread (log_data newLog) { |
| Jacinta | 18:bf6578e82712 | 24 | while (true) { |
| Jacinta | 18:bf6578e82712 | 25 | log_data *log = mail_box.alloc(); |
| Jacinta | 18:bf6578e82712 | 26 | log->tempCelcius = newLog.tempCelcius; |
| Jacinta | 18:bf6578e82712 | 27 | log->tempFarenheit = newLog.tempFarenheit; |
| Jacinta | 18:bf6578e82712 | 28 | log->humidity = newLog.humidity; |
| Jacinta | 18:bf6578e82712 | 29 | log->pressure = newLog.pressure; |
| Jacinta | 18:bf6578e82712 | 30 | log->accelerometer = newLog.accelerometer; |
| Jacinta | 18:bf6578e82712 | 31 | log->gyroscope = newLog.gyroscope; |
| Jacinta | 18:bf6578e82712 | 32 | log->magnetometer = newLog.magnetometer; |
| stwykd | 24:527fdf64cbb0 | 33 | |
| stwykd | 24:527fdf64cbb0 | 34 | //TODO I get a weird error because of include <main> |
| stwykd | 24:527fdf64cbb0 | 35 | //You need that to include t |
| stwykd | 24:527fdf64cbb0 | 36 | //Not solved it yet, but you can do it by moving t or something |
| stwykd | 24:527fdf64cbb0 | 37 | //For the date represetation, that statement does it |
| stwykd | 25:55c0dc5b32b3 | 38 | //log->date = asctime(&t); |
| Jacinta | 18:bf6578e82712 | 39 | |
| Jacinta | 18:bf6578e82712 | 40 | mail_box.put(log); |
| Jacinta | 18:bf6578e82712 | 41 | Thread::wait(1000); |
| Jacinta | 18:bf6578e82712 | 42 | } |
| nlsantos | 12:7ef8061de189 | 43 | } |
| Jacinta | 18:bf6578e82712 | 44 | }; |
| nlsantos | 12:7ef8061de189 | 45 |

