mirror of
https://github.com/meshtastic/firmware.git
synced 2026-08-01 02:48:49 -04:00
* Snake! * Add spiLock to snake score saving * Check fixes * More careful locking * WIP: Big Display Node * Update src/graphics/HUB75Display.cpp Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Add HUB75 Native * Add Tetris game module with core logic and UI integration - Implement TetrisGame class for game logic, including piece movement, rotation, and line clearing. - Create TetrisModule class to manage game state, input handling, and rendering on OLED display. - Introduce high score tracking with persistence and optional mesh broadcasting. - Define UI states for title, playing, paused, game over, and high scores. - Implement input handling for game controls and state transitions. - Add rendering functions for the game board, high scores, and title screen. * feat(snake): add snake graphics and update display logic in SnakeModule * Prompt for Initials for Tetris, too * refactor games module * Games refactor * hub75 native double buffer * Games tuning * Make joystick repeat events on held button * Add clouds and colors * Fix breakout and more color * difficulty tuning * trunk * refactor game announcements, etc * Scale chirpy gravity as game speed increases * Portduino, check for hub75 display before reading in hub75 options * Final(?) games tuning * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Properly ignore input when games screen not shown * Fail gracefully when HUB75 is selected but not supported. --------- Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Ixitxachitl <kramerfm@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
77 lines
3.1 KiB
INI
77 lines
3.1 KiB
INI
; The Portduino based 'native' environment. Currently supported on Linux targets with real LoRa hardware (or simulated).
|
|
[portduino_base]
|
|
platform =
|
|
# renovate: datasource=git-refs depName=platform-native packageName=https://github.com/meshtastic/platform-native gitBranch=develop
|
|
https://github.com/meshtastic/platform-native/archive/61067ac3774e4fe27aa9762c72cebea507f116c8.zip
|
|
framework = arduino
|
|
|
|
build_src_filter =
|
|
${env.build_src_filter}
|
|
-<platform/>
|
|
+<platform/portduino>
|
|
-<platform/portduino/wasm/> ; emscripten-only sources, built by [env:native-wasm] (pio run -e native-wasm)
|
|
-<nimble/>
|
|
-<mesh/wifi/>
|
|
-<mesh/http/>
|
|
+<mesh/raspihttp/>
|
|
-<mesh/eth/>
|
|
-<modules/esp32>
|
|
|
|
lib_deps =
|
|
${env.lib_deps}
|
|
${networking_base.lib_deps}
|
|
${networking_extra.lib_deps}
|
|
${radiolib_base.lib_deps}
|
|
${environmental_base.lib_deps}
|
|
# renovate: datasource=git-refs depName=meshtastic/Crypto packageName=https://github.com/meshtastic/Crypto gitBranch=master
|
|
https://github.com/meshtastic/Crypto/archive/591ff9a690e8168ccb7a36abde8d7783e448d395.zip
|
|
# renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
|
|
lovyan03/LovyanGFX@1.2.25
|
|
; # renovate: datasource=git-refs depName=libch341-spi-userspace packageName=https://github.com/pine64/libch341-spi-userspace gitBranch=main
|
|
https://github.com/pine64/libch341-spi-userspace/archive/2e5ff751d0c39667993df672cb683740ed5c9394.zip
|
|
# renovate: datasource=custom.pio depName=adafruit/Adafruit seesaw Library packageName=adafruit/library/Adafruit seesaw Library
|
|
adafruit/Adafruit seesaw Library@1.7.9
|
|
# renovate: datasource=git-refs depName=RAK12034-BMX160 packageName=https://github.com/RAKWireless/RAK12034-BMX160 gitBranch=main
|
|
https://github.com/RAKWireless/RAK12034-BMX160/archive/dcead07ffa267d3c906e9ca4a1330ab989e957e2.zip
|
|
# renovate: datasource=github-tags depName=Adafruit_BME680 packageName=adafruit/Adafruit_BME680
|
|
https://github.com/adafruit/Adafruit_BME680/archive/refs/tags/2.0.6.zip
|
|
|
|
; Cross-platform build flags shared between native (Linux) and native-macos builds.
|
|
; Anything Linux-only (libbluetooth, libgpiod, libi2c, /sys/class/gpio,
|
|
; PORTDUINO_LINUX_HARDWARE, glibc-style _FORTIFY_SOURCE) goes in `build_flags`
|
|
; instead. UDP multicast also lives there because the firmware's
|
|
; UdpMulticastHandler.h unconditionally `#include <WiFi.h>` on non-NRF52
|
|
; targets, which requires the framework's bundled WiFi shim that we
|
|
; lib_ignore on macOS.
|
|
build_flags_common =
|
|
${arduino_base.build_flags}
|
|
-D ARCH_PORTDUINO
|
|
-fPIC
|
|
-Isrc/platform/portduino
|
|
-DRADIOLIB_EEPROM_UNSUPPORTED
|
|
-lpthread
|
|
-lyaml-cpp
|
|
-ljsoncpp
|
|
!pkg-config --cflags jsoncpp --silence-errors || :
|
|
-luv
|
|
-std=gnu17
|
|
-std=gnu++17
|
|
-DBASEUI_HAS_GAMES=1
|
|
-DMAX_TFT_COLOR_REGIONS=64
|
|
|
|
build_flags =
|
|
${portduino_base.build_flags_common}
|
|
-DHAS_UDP_MULTICAST=1
|
|
-D_FORTIFY_SOURCE=2
|
|
-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4
|
|
-DPORTDUINO_LINUX_HARDWARE
|
|
-lstdc++fs
|
|
-lbluetooth
|
|
-lgpiod
|
|
-li2c
|
|
lib_ignore =
|
|
Adafruit NeoPixel
|
|
Adafruit ST7735 and ST7789 Library
|
|
Adafruit SSD1306
|
|
SD
|