From 6e8481a353ff6d14d1babf83188067505ba8ce0b Mon Sep 17 00:00:00 2001 From: antopoid Date: Fri, 9 Sep 2022 14:11:38 +0200 Subject: [PATCH] lab3-2-3_working_with_c --- .../lab3-2-2_working_with_c/main/main.c | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/part1_iot_framework/lab3-2-2_working_with_c/main/main.c b/part1_iot_framework/lab3-2-2_working_with_c/main/main.c index 1ec321f..adbd792 100644 --- a/part1_iot_framework/lab3-2-2_working_with_c/main/main.c +++ b/part1_iot_framework/lab3-2-2_working_with_c/main/main.c @@ -45,8 +45,6 @@ typedef struct SensorSetStruct { Sensor temperature; Sensor pressure; - void (* Update)(struct SensorSetStruct *sensorSet); - void (* Display)(struct SensorSetStruct *sensorSet); } SensorSet; /** @@ -55,6 +53,7 @@ typedef struct SensorSetStruct * @param sensorSet */ void defaultUpdateSensorValues(struct SensorSetStruct *sensorSet) { + int random = abs(esp_random()); sensorSet->temperature.value.f = (random % 400) / 10; random = abs(esp_random()); @@ -76,9 +75,9 @@ void defaultPrintSensorValues(struct SensorSetStruct *sensorSet) { * * @param sensorSet */ -void updateAndDisplaySensorValues(struct SensorSetStruct *sensorSet) { - sensorSet->Update(sensorSet); - sensorSet->Display(sensorSet); +void updateAndDisplaySensorValues(struct SensorSetStruct *sensorSet ,void (* Update)(struct SensorSetStruct *sensorSet),void (* Display)(struct SensorSetStruct *sensorSet)) { + Update(sensorSet); + Display(sensorSet); } @@ -89,13 +88,11 @@ void updateAndDisplaySensorValues(struct SensorSetStruct *sensorSet) { void app_main(void) { - - /* TODO: Declare and init sensorSet variable (structure is SensorSetStruct) Tip: Use designated initializer */ - static struct SensorSetStruct houlou = { + struct SensorSetStruct houlou = { .temperature= { .name="TEMP", @@ -107,15 +104,14 @@ void app_main(void) { .name="PRES", .type=INT, .value={.i=0} - }, - .Update= defaultUpdateSensorValues, - .Display= defaultPrintSensorValues + } }; + while (1) { // Wait for 1 sec. usleep(1000000); - updateAndDisplaySensorValues(&houlou); + updateAndDisplaySensorValues(&houlou,defaultUpdateSensorValues,defaultPrintSensorValues); /*printf ("\n%d\n", sizeof (int)); printf ("\n%d\n", sizeof (float));