City1082 telemetry application

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?

UserRevisionLine numberNew 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 }