mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-08 22:22:05 +00:00
until my TBEAM is fixed, leave GPS power on in sleep sometimes
This commit is contained in:
parent
0ce1bbb758
commit
a3df099f60
1
TODO.md
1
TODO.md
@ -24,6 +24,7 @@ being I have it set at 2 minutes to ensure enough time for a GPS lock from scrat
|
|||||||
|
|
||||||
Items to complete before the first beta release.
|
Items to complete before the first beta release.
|
||||||
|
|
||||||
|
* "AXP192 interrupt is not firing, remove this temporary polling of battery state"
|
||||||
* make mesh aware network timing state machine (sync wake windows to gps time)
|
* make mesh aware network timing state machine (sync wake windows to gps time)
|
||||||
* turn light sleep on aggressively (while lora is on but BLE off)
|
* turn light sleep on aggressively (while lora is on but BLE off)
|
||||||
* research and implement better mesh algorithm
|
* research and implement better mesh algorithm
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "PowerFSM.h"
|
#include "PowerFSM.h"
|
||||||
#include "GPS.h"
|
#include "GPS.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
static void sdsEnter()
|
static void sdsEnter()
|
||||||
{
|
{
|
||||||
@ -28,6 +29,8 @@ static void lsEnter()
|
|||||||
delay(10); // Kinda yucky - wait until radio says say we can shutdown (finished in process sends/receives)
|
delay(10); // Kinda yucky - wait until radio says say we can shutdown (finished in process sends/receives)
|
||||||
|
|
||||||
gps.prepareSleep(); // abandon in-process parsing
|
gps.prepareSleep(); // abandon in-process parsing
|
||||||
|
|
||||||
|
if(!isUSBPowered) // FIXME - temp hack until we can put gps in sleep mode, if we have AC when we go to sleep then leave GPS on
|
||||||
setGPSPower(false); // kill GPS power
|
setGPSPower(false); // kill GPS power
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
extern bool axp192_found;
|
extern bool axp192_found;
|
||||||
extern bool ssd1306_found;
|
extern bool ssd1306_found;
|
||||||
|
extern bool isCharging;
|
||||||
|
extern bool isUSBPowered;
|
12
src/main.ino
12
src/main.ino
@ -175,8 +175,8 @@ void axp192Init()
|
|||||||
axp.clearIRQ();
|
axp.clearIRQ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
isCharging = axp.isChargeing();
|
isCharging = axp.isChargeing() ? 1 : 0;
|
||||||
isUSBPowered = axp.isVBUSPlug();
|
isUSBPowered = axp.isVBUSPlug() ? 1 : 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -356,11 +356,15 @@ void loop()
|
|||||||
|
|
||||||
DEBUG_MSG("pmu irq!\n");
|
DEBUG_MSG("pmu irq!\n");
|
||||||
|
|
||||||
isCharging = axp.isChargeing();
|
isCharging = axp.isChargeing() ? 1 : 0;
|
||||||
isUSBPowered = axp.isVBUSPlug();
|
isUSBPowered = axp.isVBUSPlug() ? 1 : 0;
|
||||||
|
|
||||||
axp.clearIRQ();
|
axp.clearIRQ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FIXME AXP192 interrupt is not firing, remove this temporary polling of battery state
|
||||||
|
isCharging = axp.isChargeing() ? 1 : 0;
|
||||||
|
isUSBPowered = axp.isVBUSPlug() ? 1 : 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -30,6 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "mesh-pb-constants.h"
|
#include "mesh-pb-constants.h"
|
||||||
#include "NodeDB.h"
|
#include "NodeDB.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
#define FONT_HEIGHT 14 // actually 13 for "ariel 10" but want a little extra space
|
#define FONT_HEIGHT 14 // actually 13 for "ariel 10" but want a little extra space
|
||||||
#define FONT_HEIGHT_16 (ArialMT_Plain_16[1] + 1)
|
#define FONT_HEIGHT_16 (ArialMT_Plain_16[1] + 1)
|
||||||
@ -442,8 +443,12 @@ void drawDebugInfo(OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, i
|
|||||||
static char channelStr[20];
|
static char channelStr[20];
|
||||||
snprintf(channelStr, sizeof(channelStr), "%s", channelSettings.name);
|
snprintf(channelStr, sizeof(channelStr), "%s", channelSettings.name);
|
||||||
|
|
||||||
|
// We don't show battery levels yet - for now just lie and show debug info
|
||||||
|
static char batStr[20];
|
||||||
|
snprintf(batStr, sizeof(channelStr), "Batt %x%%", (isCharging << 1) + isUSBPowered);
|
||||||
|
|
||||||
const char *fields[] = {
|
const char *fields[] = {
|
||||||
"Batt 89%",
|
batStr,
|
||||||
"GPS 75%",
|
"GPS 75%",
|
||||||
usersStr,
|
usersStr,
|
||||||
channelStr,
|
channelStr,
|
||||||
|
Loading…
Reference in New Issue
Block a user