Vehicle Control Unit 0.01
This is the c library for controlling the car.
Loading...
Searching...
No Matches
Temperature.c
Go to the documentation of this file.
1#include "../../../Inc/Sensors/AnalogSensors/Temperature.h"
2
3void initTemperature(Temperature* temperature, int hz, int channel) {
4 initAnalogSensor(&temperature->base, "Temperature", hz, channel, temperature);
5 temperature->degrees = 0;
7}
8
9void updateTemperature(void* temperature) {
10 Temperature *myTemp = (Temperature *)temperature;
11 float rawData = getAnalogSensorData(&myTemp->base);
12 myTemp->degrees = transferFunction(temperature, rawData);
13}
14
15double getTemperatureCelsius(Temperature* temperature) {
16 return temperature->degrees;
17}
18
20 return temperature->degrees * 9.0 / 5.0 + 32;
21}
22
23double transferFunction(Temperature* temperature, float rawVal) {
24
25 #ifdef DEBUGn
26 printf("Implement Temperature::TF\r\n");
27 #endif
28
29 return 0.0;
30}
float getAnalogSensorData(AnalogSensor *sensor)
Retrieves analog sensor data for a specific channel.
Definition: AnalogSensor.c:89
void initAnalogSensor(AnalogSensor *analogSensor, const char *name, int hz, int channel, void *child)
Initializes an analog sensor and configures the corresponding GPIO pin.
Definition: AnalogSensor.c:42
double getTemperatureFahrenheit(Temperature *temperature)
Gets the current temperature in Fahrenheit.
Definition: Temperature.c:19
double getTemperatureCelsius(Temperature *temperature)
Gets the current temperature in Celsius.
Definition: Temperature.c:15
void updateTemperature(void *temperature)
Updates the Temperature data.
Definition: Temperature.c:9
double transferFunction(Temperature *temperature, float rawVal)
Converts raw temperature data to a meaningful temperature value.
Definition: Temperature.c:23
void initTemperature(Temperature *temperature, int hz, int channel)
Initializes the Temperature sensor with the given frequency and channel.
Definition: Temperature.c:3
Sensor sensor
Definition: AnalogSensor.h:23
Updateable updateable
Definition: Sensor.h:15
double degrees
Definition: Temperature.h:8
AnalogSensor base
Definition: Temperature.h:7
int(* update)(struct Updateable *self)
Definition: Updateable.h:27