Relay_Tester/src/LedController/LedController.h
jake 33e75b2e6a Removed unused functions, Added new structure
+ Added new structure for holding a byte of LEDS.
+ Added new function to creating structure of Led array.
- Removed older functions for half-bytes.
- Removed the older function prototypes.
2024-08-25 06:19:31 -07:00

58 lines
1 KiB
C

/**
* @brief Led Controller module
* @details This file outputs a byte of data to the pins for led indication.
* @author Jake G
* @date 2024-08-21
* @copyright None
* @file LEDCONTROLLER.h
*/
#ifndef LEDCONTROLLER
#define LEDCONTROLLER
#include "stdbool.h"
#include <stdint.h>
/**
* A structure representing an LED
*/
typedef struct Led
{
uint8_t *port;
uint8_t pin_num;
bool state;
} Led;
typedef struct LedByte
{
Led leds[8];
} LedByte;
/**
* Returns a instance of the LedByte structure.
*/
LedByte LedController_New(uint8_t *port);
/**
* Displays the byte of data via led pins.
*/
void LedController_ShowByte(LedByte *led_byte);
/**
* Clears out the byte led representation
*/
void LedControler_ClearByte(LedByte *led_byte);
/**
* Sets a AVR Led to High/on.
* @param led Pointer to an Led structure.
*/
void LedController_SetHigh(Led *led);
/**
* Sets a AVR Led to Low/off.
* @param led Pointer to an Led structure.
*/
void LedController_SetLow(Led *led);
#endif // LEDCONTROLLER