Vehicle Control Unit 0.01
This is the c library for controlling the car.
Loading...
Searching...
No Matches
DigitalOutput.c
Go to the documentation of this file.
1#include "../../Inc/Outputs/DigitalOutput.h"
2#include "../../Inc/Utils/Common.h"
3
4void initDigitalOutput(DigitalOutput* digitalOutput, const char* name, int hz,
5 int port) {
6 if (port < 0 || port >= NUM_DIGITAL_OUTPUTS) {
7
8 #ifdef DEBUGn
9 printf("Invalid port number for digital output %s\n", name);
10 #endif
11
12 return;
13 }
14 initOutput(&digitalOutput->output, name, hz, o_DIGITAL);
15 digitalOutput->port = port;
16}
17
18int writeDigitalOutputData(DigitalOutput* output, int data) {
19
20 #ifdef DEBUGn
21 printf("Writing data to digital output %s: %d\n", output->output.updateable.name, data);
22 #endif
23 digital_out_buffer[output->port] = data;
24 return _SUCCESS;
25}
#define _SUCCESS
Definition: Common.h:5
#define NUM_DIGITAL_OUTPUTS
Definition: Constants.h:13
void initDigitalOutput(DigitalOutput *digitalOutput, const char *name, int hz, int port)
Initializes a digital output with the given parameters.
Definition: DigitalOutput.c:4
int writeDigitalOutputData(DigitalOutput *output, int data)
Writes data to the buffer of the digital output.
Definition: DigitalOutput.c:18
uint8_t digital_out_buffer[NUM_DIGITAL_OUTPUTS]
Definition: main.c:118
@ o_DIGITAL
Definition: Output.h:11
void initOutput(Output *output, const char *name, int hz, OutputType type)
Initializes an output with the given parameters.
Definition: Output.c:4
Updateable updateable
Definition: Output.h:15
char name[MAX_NAME_LENGTH]
Definition: Updateable.h:24