Andrew Reed
/
city1082-rtos-telemetry
City1082 telemetry application
src/sensors.cpp@5:74a28c49ec84, 2021-11-30 (annotated)
- Committer:
- reedas
- Date:
- Tue Nov 30 23:12:31 2021 +0000
- Revision:
- 5:74a28c49ec84
- Parent:
- 4:455f43ddbaa9
- Child:
- 7:bb1bb2a54033
changed to dummy temperature and light level
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
reedas | 4:455f43ddbaa9 | 1 | #include "mbed.h" |
reedas | 4:455f43ddbaa9 | 2 | #include "display.h" |
reedas | 5:74a28c49ec84 | 3 | #include <cmath> |
reedas | 4:455f43ddbaa9 | 4 | |
reedas | 4:455f43ddbaa9 | 5 | /* Send Thread */ |
reedas | 4:455f43ddbaa9 | 6 | |
reedas | 4:455f43ddbaa9 | 7 | typedef struct { |
reedas | 5:74a28c49ec84 | 8 | float temperature; /* AD result of measured voltage */ |
reedas | 5:74a28c49ec84 | 9 | float lightLevel; /* AD result of measured current */ |
reedas | 5:74a28c49ec84 | 10 | int cycles; /* A counter value */ |
reedas | 4:455f43ddbaa9 | 11 | } message_t; |
reedas | 4:455f43ddbaa9 | 12 | |
reedas | 4:455f43ddbaa9 | 13 | static MemoryPool<message_t, 16> mpool; |
reedas | 4:455f43ddbaa9 | 14 | |
reedas | 4:455f43ddbaa9 | 15 | |
reedas | 4:455f43ddbaa9 | 16 | void sendThread(void) |
reedas | 4:455f43ddbaa9 | 17 | { |
reedas | 4:455f43ddbaa9 | 18 | uint32_t i = 0; |
reedas | 4:455f43ddbaa9 | 19 | while (true) { |
reedas | 4:455f43ddbaa9 | 20 | i++; // fake data update |
reedas | 4:455f43ddbaa9 | 21 | message_t *message = mpool.try_alloc(); |
reedas | 5:74a28c49ec84 | 22 | message->temperature = fmod((i * 0.1f) * 33.0f, 40.0f); |
reedas | 5:74a28c49ec84 | 23 | message->lightLevel = fmod((i * 0.1f) * 11.0f, 100); |
reedas | 5:74a28c49ec84 | 24 | message->cycles = i; |
reedas | 5:74a28c49ec84 | 25 | displaySendUpdateSensor(message->temperature, message->lightLevel, message->cycles); |
reedas | 4:455f43ddbaa9 | 26 | mpool.free(message); |
reedas | 4:455f43ddbaa9 | 27 | ThisThread::sleep_for(1s); |
reedas | 4:455f43ddbaa9 | 28 | } |
reedas | 4:455f43ddbaa9 | 29 | } |