Skip to content

Commit 4cf7ad8

Browse files
authored
Merge pull request #2155 from Ralim/dev
Release v2.23 ## v2.23 ### High level changes - Miniware I2C changed to bit-bang for improved compatibility with newer devices with STM32 clone IC's - Looping Boot Logo option (loops until button press) - More fixes for GD32 clones with Miniware devices - Bluetooth BLE is off by default (security) - Large internal code refactoring to make the screen drawing more flexible for larger OLEDs - Further improvements to drawing on larger screen resolutions - 4 Ohm tip support on Pinecil 1/2 + TS10x (Note this is at your own risk, not all hardware is designed for this) - Fixes for PPS mode on some USB-PD supplies - Rework of thermal runaway detection - Fixes to the ID numbers used for operating modes over BLE - Rework of the I2C on PinecilV2 to remove issues with temperature regulation and screen glitching - Default for USB-PD negotiation changed to use "safe" profile, to be conservative in selecting voltages. - Fixes for USB-PD to implement device capabilites. This should fix unit reboot issues with some laptops - Looots of translation & documentation updates ❤️ - Fixes for RTOS issues / updated FreeRTOS version - Multiple fixes for _MHP30_ to help with clone STM32's - Share missing settings over _BLE_ for _Pinecil V2_ - Add code for `ws2812b` LED mod for _Pinecil V2_ (Must be hand compiled). - Add option to swap A/B buttons in Settings menu - Disable _"double slide"_ animation between home and soldering screens if detailed view is set for both modes.
2 parents dc43bcc + 6eeeaf7 commit 4cf7ad8

File tree

619 files changed

+103205
-129743
lines changed

Some content is hidden

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

619 files changed

+103205
-129743
lines changed

.github/workflows/docs.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,38 @@
1-
21
name: Docs
32

43
# Controls when the workflow will run
54
on:
65
# Triggers the workflow on push or pull request
76
push:
8-
branches: [ dev, docs ]
7+
branches: [dev, docs]
98

109
# Allows you to run this workflow manually from the Actions tab
1110
workflow_dispatch:
1211

13-
1412
# Allow one concurrent deployment
1513
concurrency:
1614
group: "pages"
1715
cancel-in-progress: true
1816

19-
2017
jobs:
2118
deploy-docs:
2219
# The type of runner that the job will run on
2320
runs-on: ubuntu-latest
2421

2522
steps:
26-
- uses: actions/checkout@v4
23+
- uses: actions/checkout@v5
2724
with:
2825
fetch-depth: 0
29-
- uses: actions/setup-python@v4
30-
26+
- uses: actions/setup-python@v5
27+
with:
28+
python-version: '3.12.3'
3129

3230
- run: |
3331
pip install --upgrade pip &&
3432
pip install mkdocs mkdocs-gen-files pymdown-extensions \
3533
mkdocs-git-revision-date-plugin mkdocs-autolinks-plugin \
36-
mkdocs-awesome-pages-plugin
34+
mkdocs-awesome-pages-plugin
35+
3736
- run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
3837

3938
- name: Publish docs

.github/workflows/push.yml

Lines changed: 90 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,43 @@
11
name: CI
22

3-
on: [push, pull_request]
3+
on:
4+
push:
5+
pull_request:
6+
branches:
7+
- master
8+
- dev
9+
- main
410

511
jobs:
6-
7-
812
build:
9-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-24.04
1014
container:
11-
image: alpine:3.16
15+
image: alpine:3.21
1216
strategy:
1317
matrix:
14-
model: ["TS100", "TS80", "TS80P", "Pinecil", "MHP30", "Pinecilv2", "S60", "TS101"]
18+
model:
19+
[
20+
"TS100",
21+
"TS80",
22+
"TS80P",
23+
"Pinecil",
24+
"MHP30",
25+
"Pinecilv2",
26+
"S60",
27+
"S60P",
28+
"T55",
29+
"TS101",
30+
]
1531
fail-fast: true
1632

1733
steps:
1834
- name: Install dependencies (apk)
19-
run: apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git bash
35+
run: apk add --no-cache gcc-riscv-none-elf g++-riscv-none-elf gcc-arm-none-eabi g++-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git bash
2036

2137
- name: Install dependencies (python)
22-
run: python3 -m pip install bdflib
38+
run: python3 -m pip install --break-system-packages bdflib
2339

24-
- uses: actions/checkout@v4
40+
- uses: actions/checkout@v5
2541
with:
2642
submodules: true
2743

@@ -37,44 +53,38 @@ jobs:
3753
- name: Copy license files
3854
run: cp LICENSE scripts/LICENSE_RELEASE.md source/Hexfile/
3955

56+
- name: Generate json index file
57+
run: ./source/metadata.py ${{ matrix.model }}.json
58+
4059
- name: Archive ${{ matrix.model }} artifacts
41-
uses: actions/upload-artifact@v3
60+
uses: actions/upload-artifact@v4
4261
with:
4362
name: ${{ matrix.model }}
4463
path: |
4564
source/Hexfile/${{ matrix.model }}_*.hex
4665
source/Hexfile/${{ matrix.model }}_*.dfu
4766
source/Hexfile/${{ matrix.model }}_*.bin
67+
source/Hexfile/${{ matrix.model }}.json
4868
source/Hexfile/LICENSE
4969
source/Hexfile/LICENSE_RELEASE.md
5070
if-no-files-found: error
5171

52-
- name: Generate json index file
53-
run: ./source/metadata.py ${{ matrix.model }}.json
54-
55-
- name: Archive ${{ matrix.model }} index file
56-
uses: actions/upload-artifact@v3
57-
with:
58-
name: metadata
59-
path: source/Hexfile/${{ matrix.model }}.json
60-
61-
6272
build_multi-lang:
63-
runs-on: ubuntu-20.04
73+
runs-on: ubuntu-24.04
6474
container:
65-
image: alpine:3.16
75+
image: alpine:3.21
6676
strategy:
6777
matrix:
6878
model: ["Pinecil", "Pinecilv2"]
6979
fail-fast: true
7080

7181
steps:
7282
- name: Install dependencies (apk)
73-
run: apk add --no-cache gcc-riscv-none-elf newlib-riscv-none-elf findutils python3 py3-pip make git bash musl-dev
83+
run: apk add --no-cache gcc-riscv-none-elf g++-riscv-none-elf gcc-arm-none-eabi g++-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git bash musl-dev
7484
- name: Install dependencies (python)
75-
run: python3 -m pip install bdflib
85+
run: python3 -m pip install --break-system-packages bdflib
7686

77-
- uses: actions/checkout@v4
87+
- uses: actions/checkout@v5
7888
with:
7989
submodules: true
8090

@@ -85,101 +95,120 @@ jobs:
8595
run: echo "GITHUB_CI_PR_SHA=${{github.event.pull_request.head.sha}}" >> "${GITHUB_ENV}"
8696

8797
- name: Build ${{ matrix.model }}
88-
run: make -C source/ -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese
98+
run: make -C source/ -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Belorussian+Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese
8999

90100
- name: Copy license files
91101
run: cp LICENSE scripts/LICENSE_RELEASE.md source/Hexfile/
92102

103+
- name: Generate json index file
104+
run: ./source/metadata.py ${{ matrix.model }}_multi-lang.json
105+
93106
- name: Archive ${{ matrix.model }} artifacts
94-
uses: actions/upload-artifact@v3
107+
uses: actions/upload-artifact@v4
95108
with:
96109
name: ${{ matrix.model }}_multi-lang
97110
path: |
98111
source/Hexfile/${{ matrix.model }}_*.hex
99112
source/Hexfile/${{ matrix.model }}_*.dfu
100113
source/Hexfile/${{ matrix.model }}_*.bin
114+
source/Hexfile/${{ matrix.model }}_multi-lang.json
101115
source/Hexfile/LICENSE
102116
source/Hexfile/LICENSE_RELEASE.md
103117
if-no-files-found: error
104118

105-
- name: Generate json index file
106-
run: ./source/metadata.py ${{ matrix.model }}_multi-lang.json
119+
upload_metadata:
120+
needs: [build, build_multi-lang]
121+
runs-on: ubuntu-24.04
107122

108-
- name: Archive ${{ matrix.model }} index file
109-
uses: actions/upload-artifact@v3
123+
steps:
124+
- name: Download all prebuilts
125+
uses: actions/download-artifact@v5
110126
with:
111-
name: metadata
112-
path: source/Hexfile/${{ matrix.model }}_multi-lang.json
127+
path: source/Hexfile/
128+
merge-multiple: true
129+
- run: ls -R source/Hexfile
113130

131+
- name: Upload JSONs in bulk as metadata
132+
uses: actions/upload-artifact@v4
133+
with:
134+
name: metadata
135+
path: source/Hexfile/*.json
136+
if-no-files-found: error
114137

115138
tests:
116-
runs-on: ubuntu-20.04
139+
runs-on: ubuntu-24.04
117140
container:
118-
image: alpine:3.16
141+
image: alpine:3.21
119142

120143
steps:
121144
- name: Install dependencies (apk)
122145
run: apk add --no-cache python3 py3-pip make git bash findutils gcc musl-dev
123146

124-
- uses: actions/checkout@v4
147+
- uses: actions/checkout@v5
125148
with:
126149
submodules: true
127150

128151
- name: Install dependencies (python)
129-
run: python3 -m pip install bdflib
152+
run: python3 -m pip install --break-system-packages bdflib
130153

131154
- name: Run python tests
132155
run: ./Translations/make_translation_test.py
133156

134157
- name: Run BriefLZ tests
135158
run: make -C source/ Objects/host/brieflz/libbrieflz.so && ./Translations/brieflz_test.py
136159

137-
138160
check_c-cpp:
139-
runs-on: ubuntu-20.04
161+
runs-on: ubuntu-24.04
140162
container:
141-
image: alpine:3.16
163+
image: alpine:3.21
142164

143165
steps:
144166
- name: Install dependencies (apk)
145167
run: apk add --no-cache make git diffutils findutils clang-extra-tools bash
146168

147-
- uses: actions/checkout@v4
169+
- uses: actions/checkout@v5
148170
with:
149171
submodules: true
150172

151173
- name: Check format style with clang-format
152174
run: make clean check-style
153175

176+
check-settings-docs:
177+
runs-on: ubuntu-24.04
178+
steps:
179+
- uses: actions/checkout@v5
180+
- name: Run the menu docs generator
181+
run: python Translations/gen_menu_docs.py
182+
- name: Check that Documentation/Settings.md didn't change
183+
run: git diff --exit-code
154184

155185
check_python:
156-
runs-on: ubuntu-20.04
186+
runs-on: ubuntu-24.04
157187
container:
158-
image: alpine:3.16
188+
image: alpine:3.21
159189

160190
steps:
161191
- name: Install dependencies (apk)
162192
run: apk add --no-cache python3 py3-pip make git black
163193

164-
- uses: actions/checkout@v4
194+
- uses: actions/checkout@v5
165195
with:
166196
submodules: true
167197

168198
- name: Install dependencies (python)
169-
run: python3 -m pip install bdflib flake8
199+
run: python3 -m pip install --break-system-packages bdflib flake8
170200

171201
- name: Check python formatting with black
172-
run: black --check Translations
202+
run: black --diff --check Translations
173203

174204
- name: Check python with flake8
175205
run: flake8 Translations
176206

177-
178207
check_shell:
179208
name: check_shell
180-
runs-on: ubuntu-latest
209+
runs-on: ubuntu-24.04
181210
steps:
182-
- uses: actions/checkout@v4
211+
- uses: actions/checkout@v5
183212
- name: shellcheck
184213
uses: reviewdog/action-shellcheck@v1
185214
with:
@@ -188,19 +217,23 @@ jobs:
188217
exclude: "./.git/*" # Optional.
189218
check_all_files_with_shebangs: "false" # Optional.
190219

191-
192-
check_readme:
193-
runs-on: ubuntu-20.04
220+
check_docs:
221+
runs-on: ubuntu-24.04
194222
container:
195-
image: alpine:3.16
223+
image: alpine:3.21
196224

197225
steps:
198226
- name: Install dependencies (apk)
199-
run: apk add --no-cache git
227+
run: apk add --no-cache git bash grep
200228

201-
- uses: actions/checkout@v4
229+
- uses: actions/checkout@v5
202230
with:
203231
submodules: true
232+
fetch-tags: true
233+
fetch-depth: 0
234+
235+
- name: Git ownership exception
236+
run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE"
204237

205-
- name: Check autogenerated Documentation/README.md
206-
run: /bin/sh ./scripts/deploy.sh docs_readme
238+
- name: Check and verify documentation
239+
run: ./scripts/deploy.sh docs

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,4 @@ Logo GUI/TS100 Logo Editor/TS100 Logo Editor/bin/
215215

216216
# Tests/linters/sanitizers
217217
source/check-style.log
218+
.ash_history

0 commit comments

Comments
 (0)