ESPMegaPRO-v3-SDK/Template Project/lib/ESPMegaPRO/DigitalOutputCard.hpp

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;
};