completed OOP demo

This commit is contained in:
Siwat Sirichai 2023-12-28 01:44:15 +07:00
parent 9c3d4e7bab
commit 1862887d30
3 changed files with 20 additions and 28 deletions

View file

@ -7,7 +7,8 @@ void ESPMegaPRO::begin() {
inputs.begin();
outputs.begin();
fram.begin(FRAM_ADDRESS);
uint8_t pinMap[16] = {0, 1, 2, 3, 4, 5, 6, 7, 15, 14, 13, 12, 11, 10, 9, 8};
inputs.loadPinMap(pinMap);
}
void ESPMegaPRO::loop() {
inputs.loop();
@ -22,6 +23,7 @@ void ESPMegaPRO::installCard(uint8_t slot, ExpansionCard* card) {
cards[slot] = card;
cardInstalled[slot] = true;
cardCount++;
card->begin();
}
bool ESPMegaPRO::updateTimeFromNTP() {
struct tm timeinfo;
@ -63,4 +65,5 @@ void ESPMegaPRO::setTime(int hours, int minutes, int seconds, int day, int month
timeElement.Month = month;
timeElement.Year = year - 1970;
RTC.write(timeElement);
}
}

View file

@ -36,10 +36,10 @@ class ESPMegaPRO {
rtctime_t getTime();
void setTime(int hours, int minutes, int seconds, int day, int month, int year);
FRAM fram;
DigitalInputCard inputs = DigitalInputCard(INPUT_BANK_A_ADDRESS, INPUT_BANK_B_ADDRESS);
DigitalOutputCard outputs = DigitalOutputCard(PWM_BANK_ADDRESS);
private:
ExpansionCard* cards[255];
bool cardInstalled[255];
uint8_t cardCount = 0;
DigitalInputCard inputs = DigitalInputCard(INPUT_BANK_A_ADDRESS, INPUT_BANK_B_ADDRESS);
DigitalOutputCard outputs = DigitalOutputCard(PWM_BANK_ADDRESS);
};