mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-06 05:34:45 +00:00
Merge branch 'master' into ota
This commit is contained in:
commit
a17c40ad09
@ -97,7 +97,7 @@ static uint16_t displayWidth, displayHeight;
|
|||||||
#define SCREEN_WIDTH displayWidth
|
#define SCREEN_WIDTH displayWidth
|
||||||
#define SCREEN_HEIGHT displayHeight
|
#define SCREEN_HEIGHT displayHeight
|
||||||
|
|
||||||
#if defined(USE_EINK) || defined(ILI9341_DRIVER)
|
#if defined(USE_EINK) || defined(ILI9341_DRIVER) || defined(ST7735_CS)
|
||||||
// The screen is bigger so use bigger fonts
|
// The screen is bigger so use bigger fonts
|
||||||
#define FONT_SMALL ArialMT_Plain_16
|
#define FONT_SMALL ArialMT_Plain_16
|
||||||
#define FONT_MEDIUM ArialMT_Plain_24
|
#define FONT_MEDIUM ArialMT_Plain_24
|
||||||
|
@ -233,6 +233,8 @@ void setup()
|
|||||||
delay(1);
|
delay(1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// We need to scan here to decide if we have a screen for nodeDB.init()
|
||||||
|
scanI2Cdevice();
|
||||||
#ifdef RAK4630
|
#ifdef RAK4630
|
||||||
// scanEInkDevice();
|
// scanEInkDevice();
|
||||||
#endif
|
#endif
|
||||||
@ -273,10 +275,12 @@ void setup()
|
|||||||
power->setup(); // Must be after status handler is installed, so that handler gets notified of the initial configuration
|
power->setup(); // Must be after status handler is installed, so that handler gets notified of the initial configuration
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Move the scanning I2C device to the back of power initialization.
|
* Repeat the scanning for I2C devices after power initialization.
|
||||||
* Some boards need to be powered on to correctly scan to the device address, such as t-beam-s3-core
|
* Boards with an PMU need to be powered on to correctly scan to the device address, such as t-beam-s3-core
|
||||||
*/
|
*/
|
||||||
|
if ((HW_VENDOR == HardwareModel_LILYGO_TBEAM_S3_CORE) || (HW_VENDOR == HardwareModel_TBEAM)) {
|
||||||
scanI2Cdevice();
|
scanI2Cdevice();
|
||||||
|
}
|
||||||
|
|
||||||
// Init our SPI controller (must be before screen and lora)
|
// Init our SPI controller (must be before screen and lora)
|
||||||
initSPI();
|
initSPI();
|
||||||
|
@ -699,11 +699,23 @@ NodeInfo *NodeDB::getOrCreateNode(NodeNum n)
|
|||||||
|
|
||||||
if (!info) {
|
if (!info) {
|
||||||
if (*numNodes >= MAX_NUM_NODES) {
|
if (*numNodes >= MAX_NUM_NODES) {
|
||||||
screen->print("error: node_db full!\n");
|
screen->print("warning: node_db full! erasing oldest entry\n");
|
||||||
DEBUG_MSG("ERROR! could not create new node, node_db is full! (%d nodes)", *numNodes);
|
// look for oldest node and erase it
|
||||||
return NULL;
|
uint32_t oldest = UINT32_MAX;
|
||||||
|
int oldestIndex = -1;
|
||||||
|
for (int i = 0; i < *numNodes; i++) {
|
||||||
|
if (nodes[i].last_heard < oldest) {
|
||||||
|
oldest = nodes[i].last_heard;
|
||||||
|
oldestIndex = i;
|
||||||
}
|
}
|
||||||
// add the node
|
}
|
||||||
|
// Shove the remaining nodes down the chain
|
||||||
|
for (int i = oldestIndex; i < *numNodes - 1; i++) {
|
||||||
|
nodes[i] = nodes[i + 1];
|
||||||
|
}
|
||||||
|
(*numNodes)--;
|
||||||
|
}
|
||||||
|
// add the node at the end
|
||||||
info = &nodes[(*numNodes)++];
|
info = &nodes[(*numNodes)++];
|
||||||
|
|
||||||
// everything is missing except the nodenum
|
// everything is missing except the nodenum
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#include "graphics/fonts/OLEDDisplayFontsRU.h"
|
#include "graphics/fonts/OLEDDisplayFontsRU.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(USE_EINK) || defined(ILI9341_DRIVER)
|
#if defined(USE_EINK) || defined(ILI9341_DRIVER) || defined(ST7735_CS)
|
||||||
// The screen is bigger so use bigger fonts
|
// The screen is bigger so use bigger fonts
|
||||||
#define FONT_SMALL ArialMT_Plain_16
|
#define FONT_SMALL ArialMT_Plain_16
|
||||||
#define FONT_MEDIUM ArialMT_Plain_24
|
#define FONT_MEDIUM ArialMT_Plain_24
|
||||||
|
@ -171,6 +171,8 @@ void SimRadio::onNotify(uint32_t notification)
|
|||||||
// Packet has been sent, count it toward our TX airtime utilization.
|
// Packet has been sent, count it toward our TX airtime utilization.
|
||||||
uint32_t xmitMsec = getPacketTime(txp);
|
uint32_t xmitMsec = getPacketTime(txp);
|
||||||
airTime->logAirtime(TX_LOG, xmitMsec);
|
airTime->logAirtime(TX_LOG, xmitMsec);
|
||||||
|
|
||||||
|
delay(xmitMsec); // Model the time it is busy sending
|
||||||
completeSending();
|
completeSending();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -207,6 +209,9 @@ void SimRadio::startSend(MeshPacket * txp)
|
|||||||
|
|
||||||
void SimRadio::startReceive(MeshPacket *p) {
|
void SimRadio::startReceive(MeshPacket *p) {
|
||||||
isReceiving = true;
|
isReceiving = true;
|
||||||
|
size_t length = getPacketLength(p);
|
||||||
|
uint32_t xmitMsec = getPacketTime(length);
|
||||||
|
delay(xmitMsec); // Model the time it is busy receiving
|
||||||
handleReceiveInterrupt(p);
|
handleReceiveInterrupt(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user