fix mapping bug
This commit is contained in:
parent
989107c8e3
commit
ffe55fd978
|
@ -146,7 +146,7 @@ uint8_t DigitalOutputCard::getType() {
|
|||
*/
|
||||
void DigitalOutputCard::setState(uint8_t pin, bool state) {
|
||||
this-> state_buffer[pin] = state;
|
||||
this->pwm.setPin(pin, state*value_buffer[pin]);
|
||||
this->pwm.setPin(virtualPinMap[pin], state*value_buffer[pin]);
|
||||
if(this->framAutoSave) {
|
||||
this->saveStateToFRAM();
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ void DigitalOutputCard::setValue(uint8_t pin, uint16_t value) {
|
|||
// If value is greater than 4095, set it to 4095
|
||||
if (value > 4095) value = 4095;
|
||||
this-> value_buffer[pin] = value;
|
||||
this->pwm.setPin(pin, state_buffer[pin]*value);
|
||||
this->pwm.setPin(virtualPinMap[pin], state_buffer[pin]*value);
|
||||
if (this->framAutoSave) {
|
||||
this->savePinValueToFRAM(pin);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
#include <ESPMegaProOS.hpp>
|
||||
|
||||
ESPMegaPRO espmega = ESPMegaPRO();
|
||||
|
||||
void setup() {
|
||||
espmega.begin();
|
||||
uint8_t outputPinMap[16] = {8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7};
|
||||
espmega.outputs.loadPinMap(outputPinMap);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
espmega.loop();
|
||||
// Loop through all outputs, turning them on one at a time
|
||||
// for 1.5 seconds each
|
||||
for (uint8_t i = 0; i < 16; i++) {
|
||||
Serial.printf("Turning on output %d\n", i);
|
||||
espmega.outputs.digitalWrite(i, true);
|
||||
// Print out the state of all outputs
|
||||
for (uint8_t j = 0; j < 16; j++) {
|
||||
Serial.printf("Output %d: %d\n", j, espmega.outputs.getState(j));
|
||||
}
|
||||
delay(1500);
|
||||
espmega.outputs.digitalWrite(i, false);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue