mirror of
https://github.com/meshtastic/firmware.git
synced 2026-09-21 05:45:27 -04:00
* logging: gate LOG_TRACE behind MESHTASTIC_TRACE_LOGGING, drop redundant reclock logs LOG_TRACE now compiles out by default so trace-level diagnostics cost no flash; enable with -DMESHTASTIC_TRACE_LOGGING. Portduino keeps it on for the traceFilename packet-trace feature. Remove the 66 caller-side I2C reclock/restore log lines in the telemetry sensors: ReClockI2C::setClock/restoreClock already log both frequencies internally (now at trace level, since they fire every sensor read). Also unify near-duplicate literals (colon/case/punctuation variants) so linker string dedup applies, and drop an information-free bare 'done'. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 * logging: demote chatty per-packet/per-poll DEBUG lines to trace level With LOG_TRACE compiled out by default, per-iteration chatter (packet bookkeeping, sensor poll values, e-ink refresh reasons, GPS pin states, UI runState traces) now costs no flash on device builds while remaining one -DMESHTASTIC_TRACE_LOGGING away. 108 lines demoted, 4 information- free lines removed; failure paths, drop reasons, and one-time init logs all stay at debug level. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 * logging: address CodeRabbit review on trace-gate PR - GPS: pass serial-derived buffers as %s args, never as format strings (untrusted bytes could contain % directives) - 0x%08x for packet id / NodeNum per convention (Router, CannedMessage, NeighborInfo); unsigned casts for size_t args; %u for uint32_t delta - EInk: async full-refresh begin/complete back to DEBUG (rare state transitions); per-frame SKIPPED lines stay trace Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 * logging: gate trace on the flag's value, not its presence -DMESHTASTIC_TRACE_LOGGING=0 previously *enabled* trace logging because the gate tested definedness. The flag now defaults per-platform (portduino 1, else 0) and both backends test the value, so =0 disables, =1 or a bare -D enables. Also cast tx_after-millis() to uint32_t for %u (millis() is unsigned long on native). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 * logging: clang-format rewrap after specifier widening Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 * Even fewer bytes! * logging: keep compile-gated debug lines at debug level; fix native-suite-count Lines already inside default-off #ifdef blocks (GPS_DEBUG, DEBUG_LOOP_TIMING) cost no flash and should stay visible at debug level when their gate is enabled, rather than also requiring MESHTASTIC_TRACE_LOGGING. test/native-suite-count lags the two test_event_channel_* suites added by #11045 (develop's Native Suite Count check has the same mismatch); bump 46 -> 47. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 * gps: route GPS_DEBUG diagnostics through a LOG_DEBUG_GPS() macro (#11414) Replaces 27 log-only #ifdef GPS_DEBUG blocks across GPS.cpp, PositionModule, MeshService, and GPSStatus.h with a single-line LOG_DEBUG_GPS() call (src/gps/GPSLog.h, modeled on LOG_MIGRATION: value-gated, ((void)0) when off). Blocks containing declarations, control flow, hexDump, or nested conditionals keep an explicit '#if GPS_DEBUG' guard. RTC.cpp's per-reading raw time dumps and per-candidate rejection chatter fold under the same gate; quality transitions and boot-time seeding stay at debug. Also fixes the '// define GPS_DEBUG' missing-# typo in two variant headers and updates all seven commented examples to the value form ('#define GPS_DEBUG 1') required by the value-based gate. Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 Co-authored-by: Claude <noreply@anthropic.com> * gps: declare RTC gmtime result as pointer to const (cppcheck) With the setTime debug dump gated behind GPS_DEBUG, all remaining uses of t are reads; cppcheck (constVariablePointer) now flags it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LBiZc9sfPrH1MZ2L3Fxgt1 --------- Co-authored-by: Claude <noreply@anthropic.com>
78 lines
2.4 KiB
C
78 lines
2.4 KiB
C
// #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep
|
|
|
|
#define I2C_SDA 21
|
|
#define I2C_SCL 22
|
|
|
|
#define BUTTON_PIN 38 // The middle button GPIO on the T-Beam
|
|
#define BUTTON_ACTIVE_LOW true
|
|
#define BUTTON_ACTIVE_PULLUP true
|
|
#define EXT_NOTIFY_OUT 13 // Default pin to use for Ext Notify Module.
|
|
|
|
#define LED_STATE_ON 0 // State when LED is lit
|
|
#define LED_POWER 4 // Newer tbeams (1.1) have an extra led on GPIO4
|
|
|
|
// TTGO uses a common pinout for their SX1262 vs RF95 modules - both can be enabled and we will probe at runtime for RF95 and if
|
|
// not found then probe for SX1262
|
|
#define USE_RF95 // RFM95/SX127x
|
|
#define USE_SX1262
|
|
#define USE_SX1268
|
|
|
|
#define LORA_DIO0 26 // a No connect on the SX1262 module
|
|
#define LORA_RESET 23
|
|
#define LORA_DIO1 33 // SX1262 IRQ
|
|
#define LORA_DIO2 32 // SX1262 BUSY
|
|
#define LORA_DIO3 // Not connected on PCB, but internally on the TTGO SX1262, if DIO3 is high the TXCO is enabled
|
|
|
|
#ifdef USE_SX1262
|
|
#define SX126X_CS LORA_CS // FIXME - we really should define LORA_CS instead
|
|
#define SX126X_DIO1 LORA_DIO1
|
|
#define SX126X_BUSY LORA_DIO2
|
|
#define SX126X_RESET LORA_RESET
|
|
// Not really an E22 but TTGO seems to be trying to clone that
|
|
#define SX126X_DIO2_AS_RF_SWITCH
|
|
#define SX126X_DIO3_TCXO_VOLTAGE 1.8
|
|
// Internally the TTGO module hooks the SX1262-DIO2 in to control the TX/RX switch (which is the default for the sx1262interface
|
|
// code)
|
|
#endif
|
|
|
|
// Voiding more warranties.
|
|
#define PMU_IRQ 35
|
|
#define PMU_POWER_BUTTON_IS_CANCEL // maps a short click of the power button to a cancel action (turning off the screen)
|
|
|
|
#define HAS_AXP192
|
|
#define GPS_UBLOX
|
|
#define GPS_RX_PIN 34
|
|
#define GPS_TX_PIN 12
|
|
// #define GPS_DEBUG 1
|
|
|
|
// Used when the display shield is chosen
|
|
#ifdef USE_ST7796
|
|
|
|
#undef EXT_NOTIFY_OUT
|
|
#undef LED_STATE_ON
|
|
#undef LED_POWER
|
|
|
|
#define HAS_SPI_TFT 1
|
|
#define HAS_CST226SE 1
|
|
#define HAS_TOUCHSCREEN 1
|
|
#define VARIANT_TOUCHSCREEN 1
|
|
// #define TOUCH_IRQ 35 // broken in this version of the lib 0.3.1
|
|
#ifndef TOUCH_IRQ
|
|
#define TOUCH_IRQ -1
|
|
#endif
|
|
#define USE_VIRTUAL_KEYBOARD 1
|
|
|
|
#define ST7796_NSS 25
|
|
#define ST7796_RS 13 // DC
|
|
#define ST7796_SDA 14 // MOSI
|
|
#define ST7796_SCK 15
|
|
#define ST7796_RESET 2
|
|
#define ST7796_MISO -1
|
|
#define ST7796_BUSY -1
|
|
#define VTFT_LEDA 4
|
|
#define TFT_SPI_FREQUENCY 60000000
|
|
#define TFT_HEIGHT 222
|
|
#define TFT_WIDTH 480
|
|
#define BRIGHTNESS_DEFAULT 100 // Medium Low Brightness
|
|
#define SCREEN_TRANSITION_FRAMERATE 5 // fps
|
|
#endif |