mirror of
https://github.com/meshtastic/firmware.git
synced 2025-08-17 02:35:08 +00:00
Merge branch 'master' into T-beam-display-no-touch
This commit is contained in:
commit
264bdf6e57
@ -87,9 +87,6 @@
|
|||||||
</screenshots>
|
</screenshots>
|
||||||
|
|
||||||
<releases>
|
<releases>
|
||||||
<release version="2.7.1" date="2025-06-21">
|
|
||||||
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.7.1</url>
|
|
||||||
</release>
|
|
||||||
<release version="2.7.0" date="2025-06-20">
|
<release version="2.7.0" date="2025-06-20">
|
||||||
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.7.0</url>
|
<url type="details">https://github.com/meshtastic/firmware/releases?q=tag%3Av2.7.0</url>
|
||||||
</release>
|
</release>
|
||||||
|
7
debian/changelog
vendored
7
debian/changelog
vendored
@ -1,4 +1,4 @@
|
|||||||
meshtasticd (2.7.1.0) UNRELEASED; urgency=medium
|
meshtasticd (2.7.0.0) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
[ Austin Lane ]
|
[ Austin Lane ]
|
||||||
* Initial packaging
|
* Initial packaging
|
||||||
@ -22,7 +22,4 @@ meshtasticd (2.7.1.0) UNRELEASED; urgency=medium
|
|||||||
[ ]
|
[ ]
|
||||||
* GitHub Actions Automatic version bump
|
* GitHub Actions Automatic version bump
|
||||||
|
|
||||||
[ ]
|
-- <github-actions[bot]@users.noreply.github.com> Mon, 16 Jun 2025 02:10:49 +0000
|
||||||
* GitHub Actions Automatic version bump
|
|
||||||
|
|
||||||
-- <github-actions[bot]@users.noreply.github.com> Sat, 21 Jun 2025 15:51:49 +0000
|
|
||||||
|
@ -682,7 +682,7 @@ bool Power::setup()
|
|||||||
|
|
||||||
void Power::shutdown()
|
void Power::shutdown()
|
||||||
{
|
{
|
||||||
LOG_INFO("Shutting down");
|
LOG_INFO("Shutting Down");
|
||||||
|
|
||||||
#if defined(ARCH_NRF52) || defined(ARCH_ESP32) || defined(ARCH_RP2040)
|
#if defined(ARCH_NRF52) || defined(ARCH_ESP32) || defined(ARCH_RP2040)
|
||||||
#ifdef PIN_LED1
|
#ifdef PIN_LED1
|
||||||
|
@ -235,7 +235,7 @@ void ExpressLRSFiveWay::shutdown()
|
|||||||
{
|
{
|
||||||
LOG_INFO("Shutdown from long press");
|
LOG_INFO("Shutdown from long press");
|
||||||
powerFSM.trigger(EVENT_PRESS);
|
powerFSM.trigger(EVENT_PRESS);
|
||||||
screen->startAlert("Shutting down...");
|
screen->startAlert("Shutting Down...");
|
||||||
// Don't set alerting = true. We don't want to auto-dismiss this alert.
|
// Don't set alerting = true. We don't want to auto-dismiss this alert.
|
||||||
|
|
||||||
playShutdownMelody(); // In case user adds a buzzer
|
playShutdownMelody(); // In case user adds a buzzer
|
||||||
|
@ -1156,7 +1156,7 @@ void NodeDB::loadFromDisk()
|
|||||||
LOG_WARN("Node count %d exceeds MAX_NUM_NODES %d, truncating", numMeshNodes, MAX_NUM_NODES);
|
LOG_WARN("Node count %d exceeds MAX_NUM_NODES %d, truncating", numMeshNodes, MAX_NUM_NODES);
|
||||||
numMeshNodes = MAX_NUM_NODES;
|
numMeshNodes = MAX_NUM_NODES;
|
||||||
}
|
}
|
||||||
meshNodes->resize(MAX_NUM_NODES);
|
meshNodes->resize(MAX_NUM_NODES + 1); // The rp2040, rp2035, and maybe other targets, have a problem doing a sort() when full
|
||||||
|
|
||||||
// static DeviceState scratch; We no longer read into a tempbuf because this structure is 15KB of valuable RAM
|
// static DeviceState scratch; We no longer read into a tempbuf because this structure is 15KB of valuable RAM
|
||||||
state = loadProto(deviceStateFileName, meshtastic_DeviceState_size, sizeof(meshtastic_DeviceState),
|
state = loadProto(deviceStateFileName, meshtastic_DeviceState_size, sizeof(meshtastic_DeviceState),
|
||||||
|
@ -44,7 +44,10 @@ class UdpMulticastHandler final
|
|||||||
meshtastic_MeshPacket mp;
|
meshtastic_MeshPacket mp;
|
||||||
LOG_DEBUG("Decoding MeshPacket from UDP len=%u", packetLength);
|
LOG_DEBUG("Decoding MeshPacket from UDP len=%u", packetLength);
|
||||||
bool isPacketDecoded = pb_decode_from_bytes(packet.data(), packetLength, &meshtastic_MeshPacket_msg, &mp);
|
bool isPacketDecoded = pb_decode_from_bytes(packet.data(), packetLength, &meshtastic_MeshPacket_msg, &mp);
|
||||||
if (isPacketDecoded && router) {
|
if (isPacketDecoded && router && mp.which_payload_variant == meshtastic_MeshPacket_encrypted_tag) {
|
||||||
|
mp.pki_encrypted = false;
|
||||||
|
mp.public_key.size = 0;
|
||||||
|
memset(mp.public_key.bytes, 0, sizeof(mp.public_key.bytes));
|
||||||
UniquePacketPoolPacket p = packetPool.allocUniqueCopy(mp);
|
UniquePacketPoolPacket p = packetPool.allocUniqueCopy(mp);
|
||||||
// Unset received SNR/RSSI
|
// Unset received SNR/RSSI
|
||||||
p->rx_snr = 0;
|
p->rx_snr = 0;
|
||||||
|
@ -107,8 +107,8 @@ int SystemCommandsModule::handleInputEvent(const InputEvent *event)
|
|||||||
return true;
|
return true;
|
||||||
// Power control
|
// Power control
|
||||||
case INPUT_BROKER_SHUTDOWN:
|
case INPUT_BROKER_SHUTDOWN:
|
||||||
LOG_ERROR("Shutting down");
|
LOG_ERROR("Shutting Down");
|
||||||
IF_SCREEN(screen->showOverlayBanner("Shutting down..."));
|
IF_SCREEN(screen->showOverlayBanner("Shutting Down..."));
|
||||||
nodeDB->saveToDisk();
|
nodeDB->saveToDisk();
|
||||||
shutdownAtMsec = millis() + DEFAULT_SHUTDOWN_SECONDS * 1000;
|
shutdownAtMsec = millis() + DEFAULT_SHUTDOWN_SECONDS * 1000;
|
||||||
// runState = CANNED_MESSAGE_RUN_STATE_INACTIVE;
|
// runState = CANNED_MESSAGE_RUN_STATE_INACTIVE;
|
||||||
|
@ -314,7 +314,9 @@ void NRF52Bluetooth::onConnectionSecured(uint16_t conn_handle)
|
|||||||
}
|
}
|
||||||
bool NRF52Bluetooth::onPairingPasskey(uint16_t conn_handle, uint8_t const passkey[6], bool match_request)
|
bool NRF52Bluetooth::onPairingPasskey(uint16_t conn_handle, uint8_t const passkey[6], bool match_request)
|
||||||
{
|
{
|
||||||
LOG_INFO("BLE pair process started with passkey %.3s %.3s", passkey, passkey + 3);
|
char passkey1[4] = {passkey[0], passkey[1], passkey[2], '\0'};
|
||||||
|
char passkey2[4] = {passkey[3], passkey[4], passkey[5], '\0'};
|
||||||
|
LOG_INFO("BLE pair process started with passkey %s %s", passkey1, passkey2);
|
||||||
powerFSM.trigger(EVENT_BLUETOOTH_PAIR);
|
powerFSM.trigger(EVENT_BLUETOOTH_PAIR);
|
||||||
|
|
||||||
// Get passkey as string
|
// Get passkey as string
|
||||||
@ -327,6 +329,7 @@ bool NRF52Bluetooth::onPairingPasskey(uint16_t conn_handle, uint8_t const passke
|
|||||||
bluetoothStatus->updateStatus(new meshtastic::BluetoothStatus(textkey));
|
bluetoothStatus->updateStatus(new meshtastic::BluetoothStatus(textkey));
|
||||||
|
|
||||||
#if !defined(MESHTASTIC_EXCLUDE_SCREEN) // Todo: migrate this display code back into Screen class, and observe bluetoothStatus
|
#if !defined(MESHTASTIC_EXCLUDE_SCREEN) // Todo: migrate this display code back into Screen class, and observe bluetoothStatus
|
||||||
|
if (screen) {
|
||||||
screen->startAlert([](OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) -> void {
|
screen->startAlert([](OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y) -> void {
|
||||||
char btPIN[16] = "888888";
|
char btPIN[16] = "888888";
|
||||||
snprintf(btPIN, sizeof(btPIN), "%06u", configuredPasskey);
|
snprintf(btPIN, sizeof(btPIN), "%06u", configuredPasskey);
|
||||||
@ -352,6 +355,7 @@ bool NRF52Bluetooth::onPairingPasskey(uint16_t conn_handle, uint8_t const passke
|
|||||||
y_offset = display->height() == 64 ? y_offset + FONT_HEIGHT_LARGE - 6 : y_offset + FONT_HEIGHT_LARGE + 5;
|
y_offset = display->height() == 64 ? y_offset + FONT_HEIGHT_LARGE - 6 : y_offset + FONT_HEIGHT_LARGE + 5;
|
||||||
display->drawString(x_offset + x, y_offset + y, deviceName);
|
display->drawString(x_offset + x, y_offset + y, deviceName);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (match_request) {
|
if (match_request) {
|
||||||
uint32_t start_time = millis();
|
uint32_t start_time = millis();
|
||||||
@ -394,8 +398,7 @@ void NRF52Bluetooth::onPairingCompleted(uint16_t conn_handle, uint8_t auth_statu
|
|||||||
{
|
{
|
||||||
if (auth_status == BLE_GAP_SEC_STATUS_SUCCESS) {
|
if (auth_status == BLE_GAP_SEC_STATUS_SUCCESS) {
|
||||||
LOG_INFO("BLE pair success");
|
LOG_INFO("BLE pair success");
|
||||||
bluetoothStatus->updateStatus(
|
bluetoothStatus->updateStatus(new meshtastic::BluetoothStatus(meshtastic::BluetoothStatus::ConnectionState::CONNECTED));
|
||||||
new meshtastic::BluetoothStatus(meshtastic::BluetoothStatus::ConnectionState::DISCONNECTED));
|
|
||||||
} else {
|
} else {
|
||||||
LOG_INFO("BLE pair failed");
|
LOG_INFO("BLE pair failed");
|
||||||
// Notify UI (or any other interested firmware components)
|
// Notify UI (or any other interested firmware components)
|
||||||
@ -404,8 +407,10 @@ void NRF52Bluetooth::onPairingCompleted(uint16_t conn_handle, uint8_t auth_statu
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Todo: migrate this display code back into Screen class, and observe bluetoothStatus
|
// Todo: migrate this display code back into Screen class, and observe bluetoothStatus
|
||||||
|
if (screen) {
|
||||||
screen->endAlert();
|
screen->endAlert();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void NRF52Bluetooth::sendLog(const uint8_t *logMessage, size_t length)
|
void NRF52Bluetooth::sendLog(const uint8_t *logMessage, size_t length)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[VERSION]
|
[VERSION]
|
||||||
major = 2
|
major = 2
|
||||||
minor = 7
|
minor = 7
|
||||||
build = 1
|
build = 0
|
||||||
|
Loading…
Reference in New Issue
Block a user