27 lines
817 B
C++
27 lines
817 B
C++
#pragma once
|
|
#include <ExpansionCard.hpp>
|
|
#include <Adafruit_PWMServoDriver.h>
|
|
|
|
#define CARD_TYPE_DIGITAL_OUTPUT 0x00
|
|
|
|
class DigitalOutputCard : public ExpansionCard
|
|
{
|
|
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
|
|
bool begin();
|
|
// Dummy loop function
|
|
void loop();
|
|
// 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);
|
|
// Get type of card
|
|
uint8_t getType();
|
|
private:
|
|
Adafruit_PWMServoDriver pwm;
|
|
uint8_t address;
|
|
}; |