Vehicle Control Unit 0.01
This is the c library for controlling the car.
Loading...
Searching...
No Matches
SteeringColumn.c
Go to the documentation of this file.
1#include "../../../Inc/Sensors/AnalogSensors/SteeringColumn.h"
2#include "../../../Inc/Utils/Common.h"
3
4#include <stdio.h>
5
6void initSteeringColumn(SteeringColumn* steeringColumn, int hz, int channel, float zeroOffset) {
7 initAnalogSensor(&steeringColumn->base, "SteeringColumn", hz, channel, steeringColumn);
8 steeringColumn->rotation_angle = -1;
9 steeringColumn->zero_offset = zeroOffset;
11}
12
14 return steeringColumn->rotation_angle;
15}
16
18 // Check if the pointer is null
19 if (steeringColumn == NULL) {
20 fprintf(stderr, "Error: Null pointer passed to updateSteeringColumn\n");
21 return _FAILURE;
22 }
23
24 float rawData = 0.0f; // This should come from sensor read function or simulation
25 printf("Implement SteeringColumn Update.\n");
26 steeringColumn->rotation_angle
27 = transferFunctionSteeringColumn(rawData + steeringColumn->zero_offset);
28
29 return _SUCCESS;
30}
31
32float transferFunctionSteeringColumn(float rawVal) {
33 // Placeholder for actual transfer function
34 printf("Implement SteeringColumn::transfer_function\n");
35 return rawVal;
36}
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
#define _FAILURE
Definition: Common.h:6
#define _SUCCESS
Definition: Common.h:5
int updateSteeringColumn(SteeringColumn *steeringColumn)
Updates the SteeringColumn data.
float getSteeringColumnRotationAngle(SteeringColumn *steeringColumn)
Gets the current rotation angle of the steering column.
float transferFunctionSteeringColumn(float rawVal)
Converts raw steering column data to a meaningful rotation angle.
void initSteeringColumn(SteeringColumn *steeringColumn, int hz, int channel, float zeroOffset)
Initializes the SteeringColumn sensor with the given frequency, channel, and zero offset.
Definition: SteeringColumn.c:6
Sensor sensor
Definition: AnalogSensor.h:23
Updateable updateable
Definition: Sensor.h:15
float rotation_angle
Definition: SteeringColumn.h:8
AnalogSensor base
Definition: SteeringColumn.h:7
int(* update)(struct Updateable *self)
Definition: Updateable.h:27