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) {
|
void DigitalOutputCard::setState(uint8_t pin, bool state) {
|
||||||
this-> state_buffer[pin] = 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) {
|
if(this->framAutoSave) {
|
||||||
this->saveStateToFRAM();
|
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 is greater than 4095, set it to 4095
|
||||||
if (value > 4095) value = 4095;
|
if (value > 4095) value = 4095;
|
||||||
this-> value_buffer[pin] = value;
|
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) {
|
if (this->framAutoSave) {
|
||||||
this->savePinValueToFRAM(pin);
|
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