Skip to content

Commit 0004616

Browse files
authored
Merge branch 'pioarduino' into crowpanel-p4
2 parents 91314c4 + a0a7209 commit 0004616

93 files changed

Lines changed: 4984 additions & 769 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/Bug Report.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ body:
7575
- type: checkboxes
7676
id: mui
7777
attributes:
78-
label: Is this bug report about any UI component firmware like InkHUD or Meshtatic UI (MUI)?
78+
label: Is this bug report about any UI (https://meshtastic.org/docs/configuration/device-uis/) component firmware?
7979
options:
80-
- label: Meshtastic UI aka MUI colorTFT
81-
- label: InkHUD ePaper
82-
- label: OLED slide UI on any display
80+
- label: Meshtastic UI aka MUI
81+
- label: InkHUD
82+
- label: BaseUI
8383

8484
- type: input
8585
id: version

.trunk/trunk.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ plugins:
88
uri: https://github.com/trunk-io/plugins
99
lint:
1010
enabled:
11-
- checkov@3.2.517
12-
- renovate@43.110.9
13-
- prettier@3.8.1
14-
- trufflehog@3.94.3
11+
- checkov@3.2.524
12+
- renovate@43.141.0
13+
- prettier@3.8.3
14+
- trufflehog@3.95.2
1515
- yamllint@1.38.0
1616
- bandit@1.9.4
17-
- trivy@0.69.3
17+
- trivy@0.70.0
1818
- taplo@0.10.0
19-
- ruff@0.15.9
19+
- ruff@0.15.11
2020
- isort@8.0.1
2121
- markdownlint@0.48.0
22-
- oxipng@10.1.0
22+
- oxipng@10.1.1
2323
- svgo@4.0.1
2424
- actionlint@1.7.12
2525
- flake8@7.3.0

bin/platformio-custom.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -293,9 +293,12 @@ def load_boot_logo(source, target, env):
293293
board_arch = infer_architecture(env.BoardConfig())
294294
should_skip_manifest = board_arch is None
295295

296-
# For host/native envs, avoid depending on 'buildprog' (some targets don't define it)
297-
mtjson_deps = [] if should_skip_manifest else ["buildprog"]
298-
if not should_skip_manifest and platform.name == "espressif32":
296+
# Most platforms can generate the manifest as part of the default 'buildprog' target.
297+
# Typically this passes success/failure properly.
298+
mtjson_deps = ["buildprog"]
299+
if platform.name == "espressif32":
300+
# On ESP32, we need to explicitly depend upon the binary to prevent fake-success upon failure.
301+
mtjson_deps = ["$BUILD_DIR/${PROGNAME}.bin"]
299302
# Build littlefs image as part of mtjson target
300303
# Equivalent to `pio run -t buildfs`
301304
target_lfs = env.DataToBin(
@@ -309,7 +312,8 @@ def skip_manifest(source, target, env):
309312

310313
env.AddCustomTarget(
311314
name="mtjson",
312-
dependencies=mtjson_deps,
315+
# For host/native envs, avoid depending on 'buildprog' (some targets don't define it)
316+
dependencies=[],
313317
actions=[skip_manifest],
314318
title="Meshtastic Manifest (skipped)",
315319
description="mtjson generation is skipped for native environments",

bin/show-unmerged-prs.sh

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
#!/bin/bash
2+
3+
# Script to show commits in develop that are not in master
4+
# with their associated PR info and commit hashes
5+
#
6+
# Usage:
7+
# ./show-unmerged-prs.sh # Show all unmerged commits
8+
# ./show-unmerged-prs.sh --bugfix # Show only bugfix-labeled PRs
9+
10+
set -e
11+
12+
REPO="firmware"
13+
OWNER="meshtastic"
14+
BASE_BRANCH="master"
15+
HEAD_BRANCH="develop"
16+
LIMIT=100
17+
FILTER_LABEL=""
18+
19+
# Parse arguments
20+
for arg in "$@"; do
21+
case $arg in
22+
--bugfix)
23+
FILTER_LABEL="bugfix"
24+
shift
25+
;;
26+
--feature)
27+
FILTER_LABEL="feature"
28+
shift
29+
;;
30+
--help)
31+
echo "Usage: $0 [OPTIONS]"
32+
echo "Options:"
33+
echo " --bugfix Show only PRs labeled with 'bugfix'"
34+
echo " --feature Show only PRs labeled with 'feature'"
35+
echo " --help Show this help message"
36+
exit 0
37+
;;
38+
esac
39+
done
40+
41+
if [ -n "$FILTER_LABEL" ]; then
42+
echo "Fetching commits in $HEAD_BRANCH that are not in $BASE_BRANCH (filtered by label: $FILTER_LABEL)..."
43+
else
44+
echo "Fetching commits in $HEAD_BRANCH that are not in $BASE_BRANCH..."
45+
fi
46+
echo ""
47+
48+
# Check if gh CLI is available
49+
if ! command -v gh &> /dev/null; then
50+
echo "ERROR: GitHub CLI (gh) not found. Please install it first."
51+
echo "Visit: https://cli.github.com/"
52+
exit 1
53+
fi
54+
55+
# Get commits in develop that are not in master
56+
# For each commit, try to find associated PR
57+
git fetch origin develop master 2>/dev/null || true
58+
59+
# Use git to get the list of commits
60+
commits=$(git log --pretty=format:"%H|%s" origin/master..origin/develop | head -n $LIMIT)
61+
62+
count=0
63+
displayed=0
64+
echo "Commits in $HEAD_BRANCH not in $BASE_BRANCH:"
65+
echo "=============================================="
66+
echo ""
67+
68+
while IFS='|' read -r hash subject; do
69+
((count++))
70+
71+
# Try to find the PR for this commit
72+
# Extract PR number, title, description, and labels
73+
pr_response=$(gh api -X GET "/repos/$OWNER/$REPO/commits/$hash/pulls" \
74+
-H "Accept: application/vnd.github.v3+json" 2>/dev/null | \
75+
jq -r '.[0] | "\(.number)|\(.title)|\(.body // "No description")|\(.labels | map(.name) | join(","))"' 2>/dev/null || echo "||||")
76+
77+
if [ -z "$pr_response" ] || [ "$pr_response" = "||||" ]; then
78+
# If no PR found, skip if filter is active, otherwise show the commit
79+
if [ -z "$FILTER_LABEL" ]; then
80+
((displayed++))
81+
echo "[$displayed] Commit: $hash"
82+
echo " Subject: $subject"
83+
echo " PR: Not found in GitHub"
84+
echo ""
85+
fi
86+
else
87+
IFS='|' read -r pr_num pr_title pr_desc pr_labels <<< "$pr_response"
88+
89+
# Check if filter matches
90+
if [ -n "$FILTER_LABEL" ]; then
91+
# Only show if the label is in the labels list
92+
if ! echo "$pr_labels" | grep -q "$FILTER_LABEL"; then
93+
continue
94+
fi
95+
fi
96+
97+
((displayed++))
98+
echo "[$displayed] PR #$pr_num - $pr_title"
99+
echo " Commit: $hash"
100+
if [ -n "$pr_desc" ] && [ "$pr_desc" != "No description" ]; then
101+
# Truncate description to 200 chars
102+
desc_short="${pr_desc:0:200}"
103+
[ ${#pr_desc} -gt 200 ] && desc_short+="..."
104+
echo " Description: $desc_short"
105+
fi
106+
if [ -n "$pr_labels" ] && [ "$pr_labels" != "" ]; then
107+
echo " Labels: $pr_labels"
108+
fi
109+
echo ""
110+
fi
111+
done <<< "$commits"
112+
113+
echo ""
114+
if [ -n "$FILTER_LABEL" ]; then
115+
echo "Done. Showing $displayed PRs with label '$FILTER_LABEL' from $displayed commits checked."
116+
else
117+
echo "Done. Showing $displayed commits from $HEAD_BRANCH not in $BASE_BRANCH."
118+
fi

extra_scripts/ld_response_file.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/usr/bin/env python3
2+
# trunk-ignore-all(ruff/F821)
3+
# trunk-ignore-all(flake8/F821): For SConstruct imports
4+
25
# force linker response file instead of command line arguments
36

47
Import("env")

platformio.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ build_flags = -Wno-missing-field-initializers
2929
-DUSE_THREAD_NAMES
3030
-DTINYGPS_OPTION_NO_CUSTOM_FIELDS
3131
-DPB_ENABLE_MALLOC=1
32+
-DPB_VALIDATE_UTF8=1
3233
-DRADIOLIB_EXCLUDE_CC1101=1
3334
-DRADIOLIB_EXCLUDE_NRF24=1
3435
-DRADIOLIB_EXCLUDE_RF69=1
@@ -66,7 +67,7 @@ monitor_speed = 115200
6667
monitor_filters = direct
6768
lib_deps =
6869
# renovate: datasource=git-refs depName=meshtastic-esp8266-oled-ssd1306 packageName=https://github.com/meshtastic/esp8266-oled-ssd1306 gitBranch=master
69-
https://github.com/meshtastic/esp8266-oled-ssd1306/archive/21e484f409cde18d44012caef84c244eb5ca28f3.zip
70+
https://github.com/meshtastic/esp8266-oled-ssd1306/archive/6bfd1f135e1ebe37afd6050bb4b9964cea3fcfda.zip
7071
# renovate: datasource=git-refs depName=meshtastic-OneButton packageName=https://github.com/meshtastic/OneButton gitBranch=master
7172
https://github.com/meshtastic/OneButton/archive/fa352d668c53f290cfa480a5f79ad422cd828c70.zip
7273
# renovate: datasource=git-refs depName=meshtastic-arduino-fsm packageName=https://github.com/meshtastic/arduino-fsm gitBranch=master

0 commit comments

Comments
 (0)