lab3-2-3_working_with_c

This commit is contained in:
antopoid 2022-09-09 14:11:38 +02:00
parent fc803713dd
commit 6e8481a353

View File

@ -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));