Skip to content

Commit

Permalink
Merge branch 'main' into wo_NameBuffer
Browse files Browse the repository at this point in the history
  • Loading branch information
elral committed Oct 27, 2024
2 parents fed89d1 + 5fa8163 commit 89b9b25
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 2 deletions.
9 changes: 9 additions & 0 deletions src/MF_Analog/MFAnalog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,15 @@ void MFAnalog::attach(uint8_t pin, uint8_t deviceID, uint8_t sensitivity)
_sensitivity = sensitivity;
_pin = pin;
_deviceID = deviceID;
#if defined(ARDUINO_AVR_PROMICRO16)
// ProMicro has a special pin assignment for analog pins
// therefore reading from A6 and A7 does not work
// via "digital" pins. See also pins_arduino.h
if (_pin == 4)
_pin = A6;
else if (_pin == 6)
_pin = A7;
#endif
pinMode(_pin, INPUT_PULLUP); // set pin to input. Could use OUTPUT for analog, but shows the intention :-)
// Fill averaging buffers with initial reading
for (uint8_t i = 0; i < ADC_MAX_AVERAGE; i++) {
Expand Down
7 changes: 7 additions & 0 deletions src/MF_LCDDisplay/LCDDisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ namespace LCDDisplay
cmdMessenger.unescape(output);
lcd_I2C[address].display(output);
}

void PowerSave(bool state)
{
for (uint8_t i = 0; i < lcd_12cRegistered; ++i) {
lcd_I2C[i].powerSavingMode(state);
}
}
} // namespace

// LCDDisplay.cpp
1 change: 1 addition & 0 deletions src/MF_LCDDisplay/LCDDisplay.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ namespace LCDDisplay
void Add(uint8_t address = 0x24, uint8_t cols = 16, uint8_t lines = 2);
void Clear();
void OnSet();
void PowerSave(bool state);
}

// LCDDisplay.h
8 changes: 6 additions & 2 deletions src/MF_LCDDisplay/MFLCDDisplay.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,14 @@ void MFLCDDisplay::detach()

void MFLCDDisplay::powerSavingMode(bool state)
{
if (state)
if (state) {
_lcdDisplay.noBacklight();
else
_lcdDisplay.noDisplay();
}
else {
_lcdDisplay.backlight();
_lcdDisplay.display();
}
}

void MFLCDDisplay::test()
Expand Down
6 changes: 6 additions & 0 deletions src/mobiflight.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
#if MF_SERVO_SUPPORT == 1
#include "Servos.h"
#endif
#if MF_LCD_SUPPORT == 1
#include "LCDDisplay.h"
#endif
#if MF_OUTPUT_SHIFTER_SUPPORT == 1
#include "OutputShifter.h"
#endif
Expand Down Expand Up @@ -126,6 +129,9 @@ void SetPowerSavingMode(bool state)
#if MF_OUTPUT_SHIFTER_SUPPORT == 1
OutputShifter::PowerSave(state);
#endif
#if MF_LCD_SUPPORT == 1
LCDDisplay::PowerSave(state);
#endif

#ifdef DEBUG2CMDMESSENGER
if (state)
Expand Down

0 comments on commit 89b9b25

Please sign in to comment.