Skip to content

Commit

Permalink
ExtIO check for NO_PIN before doing device lookup
Browse files Browse the repository at this point in the history
  • Loading branch information
tttapa committed Dec 19, 2019
1 parent 2832aff commit 55066c6
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
20 changes: 15 additions & 5 deletions src/AH/Hardware/ExtendedInputOutput/ExtendedInputOutput.cpp
Expand Up @@ -35,7 +35,9 @@ ExtendedIOElement &getIOElementOfPin(pin_t pin) {

void pinMode(pin_t pin, uint8_t mode) {
// DEBUGFN(DEBUGVAR(pin) << '\t' << DEBUGVAR(mode));
if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
if (pin == NO_PIN)
return;
else if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
::pinMode(pin, mode);
} else {
ExtendedIOElement &el = getIOElementOfPin(pin);
Expand All @@ -46,7 +48,9 @@ void pinMode(int pin, uint8_t mode) { pinMode((pin_t)pin, mode); }

void digitalWrite(pin_t pin, uint8_t val) {
// DEBUGFN(DEBUGVAR(pin) << '\t' << DEBUGVAR(val));
if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
if (pin == NO_PIN)
return;
else if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
::digitalWrite(pin, val);
} else {
ExtendedIOElement &el = getIOElementOfPin(pin);
Expand All @@ -56,7 +60,9 @@ void digitalWrite(pin_t pin, uint8_t val) {
void digitalWrite(int pin, uint8_t val) { digitalWrite((pin_t)pin, val); }

int digitalRead(pin_t pin) {
if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
if (pin == NO_PIN)
return 0;
else if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
return ::digitalRead(pin);
} else {
ExtendedIOElement &el = getIOElementOfPin(pin);
Expand Down Expand Up @@ -84,7 +90,9 @@ void shiftOut(int dataPin, int clockPin, uint8_t bitOrder, uint8_t val) {
}

analog_t analogRead(pin_t pin) {
if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
if (pin == NO_PIN)
return 0;
else if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
return ::analogRead(pin);
} else {
ExtendedIOElement &el = getIOElementOfPin(pin);
Expand All @@ -96,7 +104,9 @@ analog_t analogRead(int pin) { return analogRead((pin_t)pin); }

void analogWrite(pin_t pin, analog_t val) {
// DEBUGFN(DEBUGVAR(pin) << '\t' << DEBUGVAR(val));
if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
if (pin == NO_PIN)
return;
else if (pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS) {
#ifndef ESP32
::analogWrite(pin, val);
#endif
Expand Down
3 changes: 1 addition & 2 deletions src/MIDI_Senders/PitchBendSender.hpp
Expand Up @@ -10,8 +10,7 @@ class PitchBendSender {
public:
static void send(uint16_t value, MIDICNChannelAddress address) {
value =
AH::increaseBitDepth<14, INPUT_PRECISION_BITS, uint16_t, uint16_t>(
value);
AH::increaseBitDepth<14, precision(), uint16_t, uint16_t>(value);
// ignore address byte, just use channel and cable numbers
MIDICNChannel channelCN = {address.getChannel(),
address.getCableNumber()};
Expand Down

0 comments on commit 55066c6

Please sign in to comment.