mirror of
https://github.com/meshtastic/firmware.git
synced 2026-09-20 05:18:54 -04:00
Merge develop and point protobufs at merged master
meshtastic/protobufs#1071 merged as fa26b5b. Resolves the submodule conflict against #11804's pin (251c52e, an ancestor) and regenerates telemetry, which is the only proto delta between the two.
This commit is contained in:
commit
861908a94e
15 files changed
+124
-55
No files matched your search
+1
-1
@@ -140,7 +140,7 @@ lib_deps =
|
||||
[device-ui_base]
|
||||
lib_deps =
|
||||
# renovate: datasource=git-refs depName=meshtastic/device-ui packageName=https://github.com/meshtastic/device-ui gitBranch=master
|
||||
https://github.com/meshtastic/device-ui/archive/7bdde1fb941caba2c8be0b06947f7c75e0458c31.zip
|
||||
https://github.com/meshtastic/device-ui/archive/c6d003eb6d6b65f74de6738be924a49a973608b9.zip
|
||||
custom_sdkconfig =
|
||||
# CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC is not set
|
||||
CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
|
||||
|
||||
+1
-1
Submodule protobufs updated: 3a34c510a9...fa26b5bfef.
@@ -47,7 +47,7 @@ static bool touchBacklightActive = false;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(BUTTON_PIN) || defined(ARCH_PORTDUINO)
|
||||
#if defined(BUTTON_PIN) || defined(ARCH_PORTDUINO) || defined(MUZI_BASE)
|
||||
ButtonThread *UserButtonThread = nullptr;
|
||||
#endif
|
||||
|
||||
@@ -504,11 +504,35 @@ void InputBroker::Init()
|
||||
}
|
||||
#endif
|
||||
#if !MESHTASTIC_EXCLUDE_INPUTBROKER && HAS_TRACKBALL
|
||||
if (config.display.displaymode != meshtastic_Config_DisplayConfig_DisplayMode_COLOR) {
|
||||
if (screen && config.display.displaymode != meshtastic_Config_DisplayConfig_DisplayMode_COLOR) {
|
||||
trackballInterruptImpl1 = new TrackballInterruptImpl1();
|
||||
trackballInterruptImpl1->init(TB_DOWN, TB_UP, TB_LEFT, TB_RIGHT, TB_PRESS);
|
||||
}
|
||||
#endif
|
||||
#if MUZI_BASE
|
||||
if (!screen) {
|
||||
UserButtonThread = new ButtonThread("UserButton");
|
||||
ButtonConfig userConfigNoScreen;
|
||||
userConfigNoScreen.pinNumber = (uint8_t)TB_PRESS;
|
||||
userConfigNoScreen.activeLow = true;
|
||||
userConfigNoScreen.activePullup = true;
|
||||
userConfigNoScreen.pullupSense = pullup_sense;
|
||||
userConfigNoScreen.intRoutine = []() {
|
||||
UserButtonThread->userButton.tick();
|
||||
UserButtonThread->setIntervalFromNow(0);
|
||||
runASAP = true;
|
||||
BaseType_t higherWake = 0;
|
||||
concurrency::mainDelay.interruptFromISR(&higherWake);
|
||||
};
|
||||
userConfigNoScreen.singlePress = INPUT_BROKER_USER_PRESS;
|
||||
userConfigNoScreen.longPress = INPUT_BROKER_NONE;
|
||||
userConfigNoScreen.longPressTime = 500;
|
||||
userConfigNoScreen.longLongPress = INPUT_BROKER_SHUTDOWN;
|
||||
userConfigNoScreen.doublePress = INPUT_BROKER_SEND_PING;
|
||||
userConfigNoScreen.triplePress = INPUT_BROKER_GPS_TOGGLE;
|
||||
UserButtonThread->initButton(userConfigNoScreen);
|
||||
}
|
||||
#endif
|
||||
#ifdef INPUTBROKER_EXPRESSLRSFIVEWAY_TYPE
|
||||
expressLRSFiveWayInput = new ExpressLRSFiveWay();
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -1554,7 +1554,7 @@ void loop()
|
||||
rebootAtMsec = millis() + 25;
|
||||
}
|
||||
}
|
||||
#if HAS_TFT
|
||||
#if HAS_TFT && HAS_SCREEN
|
||||
if (screen && portduino_config.displayPanel == x11 &&
|
||||
config.display.displaymode != meshtastic_Config_DisplayConfig_DisplayMode_COLOR) {
|
||||
auto dispdev = screen->getDisplayDevice();
|
||||
|
||||
@@ -186,7 +186,7 @@ typedef struct _meshtastic_LockdownAuth {
|
||||
token at unlock time: the client-supplied boots_remaining when
|
||||
non-zero, otherwise the firmware default (TOKEN_DEFAULT_BOOTS).
|
||||
Note that boots_remaining == 0 in this message means "use firmware
|
||||
default", NOT "zero boots" — a client computing the ceiling for
|
||||
default", NOT "zero boots" - a client computing the ceiling for
|
||||
display should mirror that resolution rather than multiplying the
|
||||
raw request value.
|
||||
|
||||
@@ -196,7 +196,7 @@ typedef struct _meshtastic_LockdownAuth {
|
||||
|
||||
Uses millis() (CPU uptime), not wall-clock time, so the cap is
|
||||
immune to GPS spoofing, RTC backup-battery removal, and Faraday
|
||||
cage isolation — none of those move the uptime counter. The only
|
||||
cage isolation - none of those move the uptime counter. The only
|
||||
way to reset the session clock is a reboot, which costs a boot
|
||||
from the on-flash, HMAC-bound counter. */
|
||||
uint32_t max_session_seconds;
|
||||
@@ -213,7 +213,7 @@ typedef struct _meshtastic_LockdownAuth {
|
||||
|
||||
NOT reversed by this operation: APPROTECT. Once the debug port
|
||||
lockout has been burned (on silicon where it is effective) it is
|
||||
permanent — disabling lockdown decrypts your data and removes the
|
||||
permanent - disabling lockdown decrypts your data and removes the
|
||||
access gates, but the SWD/JTAG port stays locked for the life of
|
||||
the device (recoverable only via a full chip erase over a debug
|
||||
probe, which destroys all data). Clients should make this
|
||||
|
||||
@@ -55,7 +55,7 @@ extern const pb_msgdesc_t meshtastic_ChannelSet_msg;
|
||||
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
#define MESHTASTIC_MESHTASTIC_APPONLY_PB_H_MAX_SIZE meshtastic_ChannelSet_size
|
||||
#define meshtastic_ChannelSet_size 685
|
||||
#define meshtastic_ChannelSet_size 701
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
||||
@@ -332,7 +332,7 @@ typedef enum _meshtastic_CotType {
|
||||
/* y-: TAKTALK room/membership broadcast. Payload carried via the
|
||||
TakTalkRoomData typed variant (sender_callsign, room_id, room_name,
|
||||
participants). The CoT type literally has a trailing dash and no
|
||||
second atom — not a typo. */
|
||||
second atom - not a typo. */
|
||||
meshtastic_CotType_CotType_y = 126
|
||||
} meshtastic_CotType;
|
||||
|
||||
@@ -380,7 +380,7 @@ typedef enum _meshtastic_DrawnShape_Kind {
|
||||
/* u-r-b-bullseye: Bullseye ring with range rings and bearing reference */
|
||||
meshtastic_DrawnShape_Kind_Kind_Bullseye = 7,
|
||||
/* u-d-c-e: Ellipse with distinct major/minor axes (same storage as
|
||||
Kind_Circle — uses major_cm/minor_cm/angle_deg — but receivers
|
||||
Kind_Circle - uses major_cm/minor_cm/angle_deg - but receivers
|
||||
render it as a non-circular ellipse rather than a round circle). */
|
||||
meshtastic_DrawnShape_Kind_Kind_Ellipse = 8,
|
||||
/* u-d-v: 2D vehicle outline drawn on the map. Vertices carry the
|
||||
@@ -400,7 +400,7 @@ typedef enum _meshtastic_DrawnShape_Kind {
|
||||
end of parse; builder uses it to decide which of <strokeColor> /
|
||||
<fillColor> to emit in the reconstructed XML. */
|
||||
typedef enum _meshtastic_DrawnShape_StyleMode {
|
||||
/* Unspecified — receiver infers from which color fields are non-zero. */
|
||||
/* Unspecified - receiver infers from which color fields are non-zero. */
|
||||
meshtastic_DrawnShape_StyleMode_StyleMode_Unspecified = 0,
|
||||
/* Stroke only. No <fillColor> in the source XML. Used for polylines,
|
||||
ranging lines, bullseye rings. */
|
||||
@@ -417,7 +417,7 @@ typedef enum _meshtastic_DrawnShape_StyleMode {
|
||||
alone is ambiguous (e.g. a-u-G could be a 2525 symbol or a custom icon
|
||||
depending on the iconset path). */
|
||||
typedef enum _meshtastic_Marker_Kind {
|
||||
/* Unspecified — fall back to TAKPacketV2.cot_type_id */
|
||||
/* Unspecified - fall back to TAKPacketV2.cot_type_id */
|
||||
meshtastic_Marker_Kind_Kind_Unspecified = 0,
|
||||
/* b-m-p-s-m: Spot map marker */
|
||||
meshtastic_Marker_Kind_Kind_Spot = 1,
|
||||
@@ -680,10 +680,10 @@ typedef struct _meshtastic_AircraftTrack {
|
||||
hundred meters of the anchor has per-vertex deltas in the ±10^4 range.
|
||||
Under sint32+zigzag those encode as 2 bytes each (tag+varint), versus the
|
||||
4 bytes that sfixed32 would always require. At 32 vertices that is ~128
|
||||
bytes of savings — the difference between fitting under the LoRa MTU or
|
||||
bytes of savings - the difference between fitting under the LoRa MTU or
|
||||
not. Absolute coordinates (values ~10^9) would cost sint32 varint 5 bytes
|
||||
per field, which is why TAKPacketV2's top-level latitude_i / longitude_i
|
||||
stay sfixed32 — only small values win with sint32. */
|
||||
stay sfixed32 - only small values win with sint32. */
|
||||
typedef struct _meshtastic_CotGeoPoint {
|
||||
/* Latitude delta from TAKPacketV2.latitude_i, in 1e-7 degree units.
|
||||
Add to the enclosing event's latitude_i to recover the absolute latitude. */
|
||||
@@ -791,7 +791,7 @@ typedef struct _meshtastic_Marker {
|
||||
|
||||
Covers CoT type u-rb-a. The anchor position is on
|
||||
TAKPacketV2.latitude_i/longitude_i; the target endpoint is carried as a
|
||||
CotGeoPoint — same delta-from-anchor encoding used by DrawnShape.vertices
|
||||
CotGeoPoint - same delta-from-anchor encoding used by DrawnShape.vertices
|
||||
so a self-anchored RAB (common case) encodes in zero bytes. */
|
||||
typedef struct _meshtastic_RangeAndBearing {
|
||||
/* Target/anchor endpoint (delta-encoded from TAKPacketV2.latitude_i/longitude_i). */
|
||||
@@ -899,12 +899,12 @@ typedef struct _meshtastic_CasevacReport {
|
||||
same as the envelope callsign but ATAK sometimes carries a distinct
|
||||
ops-number here. */
|
||||
pb_callback_t title;
|
||||
/* Primary medline free-text — the single most clinically important line
|
||||
/* Primary medline free-text - the single most clinically important line
|
||||
on a MEDLINE form (e.g. "2 urgent litter patients, smoke on approach").
|
||||
MUST be preserved under MTU pressure as long as any casevac is sent. */
|
||||
pb_callback_t medline_remarks;
|
||||
/* Line 3 (newer ATAK format): patient counts by precedence level.
|
||||
Coexists with the enum-style `precedence` field (tag 1) — older ATAK
|
||||
Coexists with the enum-style `precedence` field (tag 1) - older ATAK
|
||||
emits a single enum, newer ATAK emits these counts, and both can be
|
||||
set simultaneously. Senders populate whichever style(s) the source
|
||||
XML had; receivers prefer counts when non-zero. */
|
||||
@@ -946,19 +946,19 @@ typedef struct _meshtastic_CasevacReport {
|
||||
(e.g. "Primary HLZ is soccer field"). */
|
||||
pb_callback_t hlz_remarks;
|
||||
/* Per-patient clinical records. Each entry is one patient's ZMIST card
|
||||
(Zap number / Mechanism / Injuries / Signs / Treatment). Repeatable —
|
||||
(Zap number / Mechanism / Injuries / Signs / Treatment). Repeatable -
|
||||
a mass-casualty event can carry 1-6 entries in practice, limited by
|
||||
the 237 B LoRa MTU. */
|
||||
pb_callback_t zmist;
|
||||
} meshtastic_CasevacReport;
|
||||
|
||||
/* Per-patient clinical summary record — one entry per patient in a CASEVAC.
|
||||
/* Per-patient clinical summary record - one entry per patient in a CASEVAC.
|
||||
Maps directly to ATAK's <zMist> child element inside <zMistsMap>.
|
||||
All fields are optional free-text; senders populate what they have. */
|
||||
typedef struct _meshtastic_ZMistEntry {
|
||||
/* Patient identifier / sequence label (e.g. "ZMIST-1", "ZMIST-2"). */
|
||||
pb_callback_t title;
|
||||
/* Zap number — unique patient tracking ID (often a terse code like
|
||||
/* Zap number - unique patient tracking ID (often a terse code like
|
||||
"Gunshot" or a serial). */
|
||||
pb_callback_t z;
|
||||
/* Mechanism of injury (e.g. "Penetrating trauma", "Blast injury"). */
|
||||
@@ -997,7 +997,7 @@ typedef struct _meshtastic_EmergencyAlert {
|
||||
creation time; the fields below carry structured metadata the raw-detail
|
||||
fallback currently loses.
|
||||
|
||||
Fields are deliberately lean — this variant is closer to the MTU ceiling
|
||||
Fields are deliberately lean - this variant is closer to the MTU ceiling
|
||||
than the others, so every string is capped in options. */
|
||||
typedef struct _meshtastic_TaskRequest {
|
||||
/* Short tag for the task category (e.g. "engage", "observe", "recon",
|
||||
@@ -1017,7 +1017,7 @@ typedef struct _meshtastic_TaskRequest {
|
||||
|
||||
/* Weather annotation from <environment> CoT detail element.
|
||||
|
||||
Attaches to any TAKPacketV2 regardless of payload_variant — an Aircraft,
|
||||
Attaches to any TAKPacketV2 regardless of payload_variant - an Aircraft,
|
||||
PLI, or Marker can all carry observed conditions at the emitting station.
|
||||
ATAK-CIV ships an XSD for <environment> but no dedicated handler, so the
|
||||
element round-trips through the generic detail pipeline; this message
|
||||
@@ -1026,7 +1026,7 @@ typedef struct _meshtastic_TaskRequest {
|
||||
Target wire cost: ~6-8 bytes compressed with a fully populated instance.
|
||||
|
||||
Named `TAKEnvironment` (not just `Environment`) because the bare name
|
||||
collides with `SwiftUI.Environment` — every SwiftUI view in a consuming
|
||||
collides with `SwiftUI.Environment` - every SwiftUI view in a consuming
|
||||
iOS app uses the `@Environment` property wrapper, and importing the
|
||||
generated proto module would make `Environment` ambiguous in every one
|
||||
of those files. The `TAK` prefix matches the convention used by the
|
||||
@@ -1055,7 +1055,7 @@ typedef struct _meshtastic_TAKEnvironment {
|
||||
The receiving ATAK client restores those from its own defaults, same as
|
||||
every other CoT carried over Meshtastic today.
|
||||
|
||||
Attaches to any TAKPacketV2 — a PLI with a sensor on the operator's head,
|
||||
Attaches to any TAKPacketV2 - a PLI with a sensor on the operator's head,
|
||||
an Aircraft with a FLIR turret, a Marker dropped on a UAV.
|
||||
Target wire cost: ~7-14 bytes compressed (dominated by model string). */
|
||||
typedef struct _meshtastic_SensorFov {
|
||||
@@ -1065,30 +1065,30 @@ typedef struct _meshtastic_SensorFov {
|
||||
SensorDetailHandler default (270°) and save varint bytes over centi-deg. */
|
||||
uint32_t azimuth_deg;
|
||||
/* Maximum range of the cone in meters.
|
||||
Optional — if unset, receivers should use the ATAK-CIV default of 100m. */
|
||||
Optional - if unset, receivers should use the ATAK-CIV default of 100m. */
|
||||
bool has_range_m;
|
||||
uint32_t range_m;
|
||||
/* Horizontal field of view in whole degrees (cone's angular width).
|
||||
ATAK-CIV default is 45°. */
|
||||
uint32_t fov_horizontal_deg;
|
||||
/* Vertical field of view in whole degrees. ATAK-CIV default is 45°.
|
||||
Optional — a value of 0 means "not set / use horizontal FOV". */
|
||||
Optional - a value of 0 means "not set / use horizontal FOV". */
|
||||
uint32_t fov_vertical_deg;
|
||||
/* Elevation angle in whole degrees. Positive = up, negative = down.
|
||||
Range -90 to +90. sint32 for varint efficiency on small negatives. */
|
||||
int32_t elevation_deg;
|
||||
/* Roll (camera tilt) in whole degrees, -180 to +180.
|
||||
Optional — use 0 if the sensor doesn't track roll. */
|
||||
Optional - use 0 if the sensor doesn't track roll. */
|
||||
int32_t roll_deg;
|
||||
/* Free-form device model identifier, e.g. "FLIR-Boson-640", "SEEK".
|
||||
Optional — empty string means "unknown model" (ATAK-CIV default). */
|
||||
Optional - empty string means "unknown model" (ATAK-CIV default). */
|
||||
pb_callback_t model;
|
||||
} meshtastic_SensorFov;
|
||||
|
||||
/* TAKTALK chat message payload (CoT type m-t-t).
|
||||
|
||||
TAKTALK is an ATAK plugin for voice + text team messaging. The voice
|
||||
audio stream goes over UDP/RTP and is NOT carried by the mesh — only
|
||||
audio stream goes over UDP/RTP and is NOT carried by the mesh - only
|
||||
the text envelope (this message) is. `from_voice` marks messages sent
|
||||
via push-to-talk speech-to-text so receivers can render a mic icon
|
||||
next to the text.
|
||||
@@ -1122,7 +1122,7 @@ typedef struct _meshtastic_TakTalkMessage {
|
||||
Announces a TAKTALK chatroom's friendly name and roster so peers can
|
||||
resolve room UUIDs (used in TakTalkMessage.chatroom_id and
|
||||
GeoChat.room_id) to a display name and participant list. Not a chat
|
||||
message itself — these events are emitted by TAKTALK when rooms are
|
||||
message itself - these events are emitted by TAKTALK when rooms are
|
||||
created or memberships change. */
|
||||
typedef struct _meshtastic_TakTalkRoomData {
|
||||
/* Callsign of the device broadcasting the room state (typically the
|
||||
@@ -1161,7 +1161,7 @@ typedef struct _meshtastic_Marti {
|
||||
primary-vs-cc distinction the same way ATAK does.
|
||||
|
||||
If dest_callsign is [TAKPacketV2.callsign] (self-addressed, unusual but
|
||||
legal — e.g. ATAK echoing back to its own room), the builder still emits
|
||||
legal - e.g. ATAK echoing back to its own room), the builder still emits
|
||||
the element so loopback shapes round-trip cleanly. */
|
||||
pb_callback_t dest_callsign;
|
||||
} meshtastic_Marti;
|
||||
|
||||
@@ -97,6 +97,12 @@ typedef struct _meshtastic_ChannelSettings {
|
||||
/* Per-channel module settings. */
|
||||
bool has_module_settings;
|
||||
meshtastic_ModuleSettings module_settings;
|
||||
/* Enable authenticated encryption (AES-CCM) for this channel.
|
||||
When true, messages include a 12-byte authentication tag that prevents
|
||||
forgery and bit-flipping attacks. All nodes on the channel must have
|
||||
this enabled - unauthenticated (AES-CTR) packets are rejected.
|
||||
Experimental. Default: false (standard AES-CTR encryption). */
|
||||
bool use_aead;
|
||||
} meshtastic_ChannelSettings;
|
||||
|
||||
/* A pair of a channel number, mode and the (sharable) settings for that channel */
|
||||
@@ -128,10 +134,10 @@ extern "C" {
|
||||
|
||||
|
||||
/* Initializer values for message structs */
|
||||
#define meshtastic_ChannelSettings_init_default {0, {0, {0}}, "", 0, 0, 0, false, meshtastic_ModuleSettings_init_default}
|
||||
#define meshtastic_ChannelSettings_init_default {0, {0, {0}}, "", 0, 0, 0, false, meshtastic_ModuleSettings_init_default, 0}
|
||||
#define meshtastic_ModuleSettings_init_default {0, 0}
|
||||
#define meshtastic_Channel_init_default {0, false, meshtastic_ChannelSettings_init_default, _meshtastic_Channel_Role_MIN}
|
||||
#define meshtastic_ChannelSettings_init_zero {0, {0, {0}}, "", 0, 0, 0, false, meshtastic_ModuleSettings_init_zero}
|
||||
#define meshtastic_ChannelSettings_init_zero {0, {0, {0}}, "", 0, 0, 0, false, meshtastic_ModuleSettings_init_zero, 0}
|
||||
#define meshtastic_ModuleSettings_init_zero {0, 0}
|
||||
#define meshtastic_Channel_init_zero {0, false, meshtastic_ChannelSettings_init_zero, _meshtastic_Channel_Role_MIN}
|
||||
|
||||
@@ -145,6 +151,7 @@ extern "C" {
|
||||
#define meshtastic_ChannelSettings_uplink_enabled_tag 5
|
||||
#define meshtastic_ChannelSettings_downlink_enabled_tag 6
|
||||
#define meshtastic_ChannelSettings_module_settings_tag 7
|
||||
#define meshtastic_ChannelSettings_use_aead_tag 8
|
||||
#define meshtastic_Channel_index_tag 1
|
||||
#define meshtastic_Channel_settings_tag 2
|
||||
#define meshtastic_Channel_role_tag 3
|
||||
@@ -157,7 +164,8 @@ X(a, STATIC, SINGULAR, STRING, name, 3) \
|
||||
X(a, STATIC, SINGULAR, FIXED32, id, 4) \
|
||||
X(a, STATIC, SINGULAR, BOOL, uplink_enabled, 5) \
|
||||
X(a, STATIC, SINGULAR, BOOL, downlink_enabled, 6) \
|
||||
X(a, STATIC, OPTIONAL, MESSAGE, module_settings, 7)
|
||||
X(a, STATIC, OPTIONAL, MESSAGE, module_settings, 7) \
|
||||
X(a, STATIC, SINGULAR, BOOL, use_aead, 8)
|
||||
#define meshtastic_ChannelSettings_CALLBACK NULL
|
||||
#define meshtastic_ChannelSettings_DEFAULT NULL
|
||||
#define meshtastic_ChannelSettings_module_settings_MSGTYPE meshtastic_ModuleSettings
|
||||
@@ -187,8 +195,8 @@ extern const pb_msgdesc_t meshtastic_Channel_msg;
|
||||
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
#define MESHTASTIC_MESHTASTIC_CHANNEL_PB_H_MAX_SIZE meshtastic_Channel_size
|
||||
#define meshtastic_ChannelSettings_size 72
|
||||
#define meshtastic_Channel_size 87
|
||||
#define meshtastic_ChannelSettings_size 74
|
||||
#define meshtastic_Channel_size 89
|
||||
#define meshtastic_ModuleSettings_size 8
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -70,6 +70,10 @@ typedef enum _meshtastic_Language {
|
||||
meshtastic_Language_CZECH = 18,
|
||||
/* Danish */
|
||||
meshtastic_Language_DANISH = 19,
|
||||
/* Hungarian */
|
||||
meshtastic_Language_HUNGARIAN = 20,
|
||||
/* Azerbaijani */
|
||||
meshtastic_Language_AZERBAIJANI = 21,
|
||||
/* Simplified Chinese (experimental) */
|
||||
meshtastic_Language_SIMPLIFIED_CHINESE = 30,
|
||||
/* Traditional Chinese (experimental) */
|
||||
|
||||
@@ -457,8 +457,8 @@ extern const pb_msgdesc_t meshtastic_BackupPreferences_msg;
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
/* meshtastic_NodeDatabase_size depends on runtime parameters */
|
||||
#define MESHTASTIC_MESHTASTIC_DEVICEONLY_PB_H_MAX_SIZE meshtastic_BackupPreferences_size
|
||||
#define meshtastic_BackupPreferences_size 2656
|
||||
#define meshtastic_ChannelFile_size 718
|
||||
#define meshtastic_BackupPreferences_size 2674
|
||||
#define meshtastic_ChannelFile_size 734
|
||||
#define meshtastic_DeviceState_size 1944
|
||||
#define meshtastic_NodeEnvironmentEntry_size 321
|
||||
#define meshtastic_NodeInfoLite_size 112
|
||||
|
||||
@@ -212,7 +212,7 @@ extern const pb_msgdesc_t meshtastic_LocalModuleConfig_msg;
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
#define MESHTASTIC_MESHTASTIC_LOCALONLY_PB_H_MAX_SIZE meshtastic_LocalModuleConfig_size
|
||||
#define meshtastic_LocalConfig_size 759
|
||||
#define meshtastic_LocalModuleConfig_size 1042
|
||||
#define meshtastic_LocalModuleConfig_size 1044
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
||||
@@ -1288,15 +1288,15 @@ typedef struct _meshtastic_LockdownStatus {
|
||||
/* Current lockdown state being reported. */
|
||||
meshtastic_LockdownStatus_State state;
|
||||
/* For LOCKED: machine-readable reason. Known values:
|
||||
"needs_auth" — storage already unlocked, client must auth
|
||||
"token_missing" — no boot token on flash
|
||||
"token_expired" — boot token wall-clock TTL elapsed
|
||||
"token_boots_zero" — boot token boot-count TTL exhausted
|
||||
"token_hmac_fail" — token tampered or wrong device
|
||||
"token_dek_fail" — token DEK decrypt failed
|
||||
"token_wrong_size" — token file corrupted
|
||||
"token_bad_magic" — token file corrupted
|
||||
"not_provisioned" — should generally use NEEDS_PROVISION state instead
|
||||
"needs_auth" - storage already unlocked, client must auth
|
||||
"token_missing" - no boot token on flash
|
||||
"token_expired" - boot token wall-clock TTL elapsed
|
||||
"token_boots_zero" - boot token boot-count TTL exhausted
|
||||
"token_hmac_fail" - token tampered or wrong device
|
||||
"token_dek_fail" - token DEK decrypt failed
|
||||
"token_wrong_size" - token file corrupted
|
||||
"token_bad_magic" - token file corrupted
|
||||
"not_provisioned" - should generally use NEEDS_PROVISION state instead
|
||||
Other values may be added; clients should treat unknown values as
|
||||
"locked, ask for passphrase". */
|
||||
char lock_reason[32];
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
/* Payload for MESH_BEACON_APP packets.
|
||||
Periodically broadcast by nodes in beacon mode.
|
||||
Listeners deliver the text message to the local inbox and cache any offered
|
||||
channel/preset for the client app to act on — the firmware never auto-applies them. */
|
||||
channel/preset for the client app to act on - the firmware never auto-applies them. */
|
||||
typedef struct _meshtastic_MeshBeacon {
|
||||
/* Human-readable beacon message. Max 100 bytes enforced by firmware on send. */
|
||||
char message[101];
|
||||
@@ -63,7 +63,7 @@ extern const pb_msgdesc_t meshtastic_MeshBeacon_msg;
|
||||
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
#define MESHTASTIC_MESHTASTIC_MESH_BEACON_PB_H_MAX_SIZE meshtastic_MeshBeacon_size
|
||||
#define meshtastic_MeshBeacon_size 180
|
||||
#define meshtastic_MeshBeacon_size 182
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
||||
@@ -255,10 +255,14 @@ typedef struct _meshtastic_ModuleConfig_PaxcounterConfig {
|
||||
} meshtastic_ModuleConfig_PaxcounterConfig;
|
||||
|
||||
/* Config for the Traffic Management module.
|
||||
Provides packet inspection and traffic shaping to help reduce channel utilization */
|
||||
Provides packet inspection and traffic shaping to help reduce channel utilization.
|
||||
Every field uses the proto3 zero value to mean "disabled"; there is no
|
||||
"use the firmware default" sentinel. Firmware installs its own defaults when it
|
||||
first creates this config, and a client that writes 0 turns that feature off. */
|
||||
typedef struct _meshtastic_ModuleConfig_TrafficManagementConfig {
|
||||
/* Minimum interval in seconds between position updates from the same node.
|
||||
A non-zero value implicitly enables the suppression window; 0 disables it. */
|
||||
A non-zero value implicitly enables the suppression window; 0 disables it.
|
||||
Firmware default: 21600 (6 hours), installed when this config is first created. */
|
||||
uint32_t position_min_interval_secs;
|
||||
/* Maximum hop distance from the requestor at which direct NodeInfo responses
|
||||
are served from the local cache. A non-zero value implicitly enables direct
|
||||
@@ -1138,7 +1142,7 @@ extern const pb_msgdesc_t meshtastic_RemoteHardwarePin_msg;
|
||||
#define meshtastic_ModuleConfig_MQTTConfig_size 224
|
||||
#define meshtastic_ModuleConfig_MapReportSettings_size 14
|
||||
#define meshtastic_ModuleConfig_MeshBeaconConfig_BroadcastTarget_size 10
|
||||
#define meshtastic_ModuleConfig_MeshBeaconConfig_size 240
|
||||
#define meshtastic_ModuleConfig_MeshBeaconConfig_size 242
|
||||
#define meshtastic_ModuleConfig_NeighborInfoConfig_size 10
|
||||
#define meshtastic_ModuleConfig_PaxcounterConfig_size 30
|
||||
#define meshtastic_ModuleConfig_RangeTestConfig_size 12
|
||||
@@ -1149,7 +1153,7 @@ extern const pb_msgdesc_t meshtastic_RemoteHardwarePin_msg;
|
||||
#define meshtastic_ModuleConfig_TAKConfig_size 4
|
||||
#define meshtastic_ModuleConfig_TelemetryConfig_size 50
|
||||
#define meshtastic_ModuleConfig_TrafficManagementConfig_size 30
|
||||
#define meshtastic_ModuleConfig_size 244
|
||||
#define meshtastic_ModuleConfig_size 246
|
||||
#define meshtastic_RemoteHardwarePin_size 21
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -293,6 +293,35 @@ build_flags = ${env:native-macos.build_flags}
|
||||
build_src_filter = ${env:native-macos.build_src_filter}
|
||||
lib_ignore = ${env:native-macos.lib_ignore}
|
||||
|
||||
; Native macOS MUI window. This is the normal meshtasticd application using
|
||||
; the X11 driver via XQuartz; it intentionally has no simulator fixtures.
|
||||
[env:native-macos-tft]
|
||||
extends = env:native-macos
|
||||
build_type = release
|
||||
build_unflags = ${env:native-macos.build_unflags}
|
||||
build_flags = ${env:native-macos.build_flags}
|
||||
-I/opt/X11/include
|
||||
-L/opt/X11/lib
|
||||
!pkg-config --cflags --libs x11 --silence-errors || :
|
||||
!pkg-config --cflags --libs libcurl --silence-errors || :
|
||||
-DRAM_SIZE=16384
|
||||
-DUSE_X11=1
|
||||
-DHAS_TFT=1
|
||||
-DLV_CACHE_DEF_SIZE=6291456
|
||||
-DLV_BUILD_TEST=0
|
||||
-DLV_USE_LIBINPUT=0
|
||||
-DLV_LIBINPUT_XKB=0
|
||||
-DLV_LVGL_H_INCLUDE_SIMPLE
|
||||
-DLV_CONF_INCLUDE_SIMPLE
|
||||
-DUSE_LOG_DEBUG
|
||||
-DLOG_DEBUG_INC=\"DebugConfiguration.h\"
|
||||
-DUSE_PACKET_API
|
||||
-DVIEW_320x240
|
||||
lib_deps =
|
||||
${native_base.lib_deps}
|
||||
${device-ui_base.lib_deps}
|
||||
lib_ignore = ${portduino_base.lib_ignore}
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Native build for Windows (x86_64) via the MSYS2 UCRT64 MinGW-w64 toolchain.
|
||||
; Headless meshtasticd.exe running in SimRadio mode (`-s`). No BlueZ, libgpiod or
|
||||
|
||||
Reference in new issue
Block a user