2023-12-27 16:15:11 +00:00
|
|
|
#pragma once
|
2023-12-27 18:25:35 +00:00
|
|
|
#include <ExpansionCard.hpp>
|
2023-12-27 16:15:11 +00:00
|
|
|
#include <Adafruit_PWMServoDriver.h>
|
2023-12-27 18:25:35 +00:00
|
|
|
class DigitalOutputCard : public ExpansionCard
|
2023-12-27 16:15:11 +00:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
// Instantiate the card with the specified address
|
|
|
|
DigitalOutputCard(uint8_t address);
|
|
|
|
// Instantiate the card with the specified position on the dip switch
|
|
|
|
DigitalOutputCard(bool bit0, bool bit1, bool bit2, bool bit3, bool bit4);
|
|
|
|
// Initialize the card
|
2023-12-27 19:18:21 +00:00
|
|
|
bool begin();
|
|
|
|
// Dummy loop function
|
|
|
|
void loop();
|
2023-12-27 16:15:11 +00:00
|
|
|
// Set the output to the specified state
|
|
|
|
void digitalWrite(uint8_t pin, bool state);
|
|
|
|
// Set the output to the specified pwm value
|
|
|
|
void analogWrite(uint8_t pin, uint16_t value);
|
|
|
|
private:
|
|
|
|
Adafruit_PWMServoDriver pwm;
|
|
|
|
uint8_t address;
|
|
|
|
};
|