Compare commits

...

96 Commits

Author SHA1 Message Date
nonokirby
cbf2b5a69d Merge 14cca01f78 into ebdff59293 2025-02-09 00:41:25 +08:00
Ben V. Brown
ebdff59293 Default to no EPR/PPS so its opt in (#2073)
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
Some chargers have funky PPS.
Plus some do not want EPR be default (even though 28V is safe by designer on PinecilV2).

So take the safest option by default and make it opt-in
2025-02-08 09:17:01 +03:00
Leo
08ff68cd4f Added guide for compiling under Windows (#2060)
Some checks are pending
Docs / deploy-docs (push) Waiting to run
CI / build (MHP30) (push) Waiting to run
CI / build (Pinecil) (push) Waiting to run
CI / build (Pinecilv2) (push) Waiting to run
CI / build (S60) (push) Waiting to run
CI / build (S60P) (push) Waiting to run
CI / build (T55) (push) Waiting to run
CI / build (TS100) (push) Waiting to run
CI / build (TS101) (push) Waiting to run
CI / build (TS80) (push) Waiting to run
CI / build (TS80P) (push) Waiting to run
CI / build_multi-lang (Pinecil) (push) Waiting to run
CI / build_multi-lang (Pinecilv2) (push) Waiting to run
CI / upload_metadata (push) Blocked by required conditions
CI / tests (push) Waiting to run
CI / check_c-cpp (push) Waiting to run
CI / check_python (push) Waiting to run
CI / check_shell (push) Waiting to run
CI / check_docs (push) Waiting to run
* Update documentation to build IronOS in Windows using MSYS2 environment and fix compilation on case-sensitive file systems.

---------

Co-authored-by: Ivan Zorin <ivan.a.zorin@gmail.com>
2025-02-08 00:03:49 +03:00
Ivan Zorin
4ce63fab47 README.md: fix formatting of heading levels for BLE section (#2068)
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
2025-02-03 09:14:51 +11:00
Ivan Zorin
02bc98e41e Merge pull request #2067 from ia/readme-ble
README.md: add notice about BLE turned off by default now
2025-02-02 21:37:28 +03:00
Ivan Zorin
f01ab47647 README.md: update formatting 2025-02-02 21:25:07 +03:00
Ivan Zorin
c7b029482e README.md: add BLE notice 2025-02-02 21:18:56 +03:00
Ben V. Brown
e2c4ea4589 Merge pull request #2066 from safocl/fix_union_member_usage
Some checks are pending
Docs / deploy-docs (push) Waiting to run
CI / build (MHP30) (push) Waiting to run
CI / build (Pinecil) (push) Waiting to run
CI / build (Pinecilv2) (push) Waiting to run
CI / build (S60) (push) Waiting to run
CI / build (S60P) (push) Waiting to run
CI / build (T55) (push) Waiting to run
CI / build (TS100) (push) Waiting to run
CI / build (TS101) (push) Waiting to run
CI / build (TS80) (push) Waiting to run
CI / build (TS80P) (push) Waiting to run
CI / build_multi-lang (Pinecil) (push) Waiting to run
CI / build_multi-lang (Pinecilv2) (push) Waiting to run
CI / upload_metadata (push) Blocked by required conditions
CI / tests (push) Waiting to run
CI / check_c-cpp (push) Waiting to run
CI / check_python (push) Waiting to run
CI / check_shell (push) Waiting to run
CI / check_docs (push) Waiting to run
fix: accessing inactive union members
2025-02-02 20:59:03 +11:00
safocl
5797d5a68b fix: accessing inactive union members
Access to the inactive union members is an undefined behavior.
`column.whole = (1 << height) - 1;` -- 'whole' is active member here,
`fillArea(OLED_WIDTH - 1, 0, 1, 8, column.strips[0]);` -- but the 'strips'
member accessed here.
Same issue: https://gitlab.com/libeigen/eigen/-/issues/2898
2025-02-02 13:48:49 +04:00
safocl
ab1fa24863 settingsGUI.cpp: remove duplicated calls (#2065)
settingsGUI.cpp: remove duplicated calls from if-else blocks
2025-02-02 08:45:17 +03:00
Ivan Zorin
22d0676a5c scripts/deploy.sh: add handmade linter for translation-related json files to check for tabs and odd spaces (#2064)
Some checks are pending
Docs / deploy-docs (push) Waiting to run
CI / build (MHP30) (push) Waiting to run
CI / build (Pinecil) (push) Waiting to run
CI / build (Pinecilv2) (push) Waiting to run
CI / build (S60) (push) Waiting to run
CI / build (S60P) (push) Waiting to run
CI / build (T55) (push) Waiting to run
CI / build (TS100) (push) Waiting to run
CI / build (TS101) (push) Waiting to run
CI / build (TS80) (push) Waiting to run
CI / build (TS80P) (push) Waiting to run
CI / build_multi-lang (Pinecil) (push) Waiting to run
CI / build_multi-lang (Pinecilv2) (push) Waiting to run
CI / upload_metadata (push) Blocked by required conditions
CI / tests (push) Waiting to run
CI / check_c-cpp (push) Waiting to run
CI / check_python (push) Waiting to run
CI / check_shell (push) Waiting to run
CI / check_docs (push) Waiting to run
* scripts/deploy.sh: add handmade linter for translation-related json files to check for tabs and odd spaces
2025-02-02 07:20:12 +11:00
nonokirby
14cca01f78 Update Soldering.cpp to enable standard locking for testing 2025-01-29 11:21:17 -05:00
Ivan Zorin
6a549b6acc Sync 2025-01-29 01:13:03 +03:00
Ivan Zorin
aa0784d34c Set python-version for actions/setup-python to remove the github actions warning (#2057)
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
2025-01-28 08:18:21 +11:00
Ivan Zorin
911ef59da4 Enable TEMP locking as option 2025-01-26 03:35:15 +03:00
Ivan Zorin
7e1dfc05a3 Sync 2025-01-26 02:00:28 +03:00
Leo
f67cc25acc Update translation_UK.json (#2058)
Some checks failed
CI / check_python (push) Has been cancelled
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
* Update translation_UK.json

Unified statement to one type of translation ("Sleep mode" instead of "Waiting mode")
Corrected "blink" translation
Shortened phrases for statements ("t° у сек"/"градусів на секунду"; "сек"/"секунд","секунди"; "Хв"/"Хвилин","Хвилини")
Traslated soldering tip type selection menu
2025-01-25 16:00:10 +03:00
Ivan Zorin
7bf9620eb7 Help to Unify descriptions for new locking mode in definitions.json and in Settings.h 2025-01-24 23:42:43 +03:00
nonokirby
a712e8d478 Apply suggestions from code review to clean up wording and typos 2025-01-23 21:21:08 -05:00
nonokirby
d6c04a090b Update Soldering.cpp to fix formatting (again.....) 2025-01-21 22:10:51 -05:00
nonokirby
7869b28736 Update Soldering.cpp Fix formatting 2025-01-21 22:09:23 -05:00
nonokirby
06629c6d87 Update Soldering.cpp 2025-01-21 21:58:21 -05:00
nonokirby
98755f06a1 Update translation_ZH_TW.json 2025-01-21 21:42:36 -05:00
nonokirby
82a032819a Update translation_ZH_CN.json 2025-01-21 21:42:29 -05:00
nonokirby
daca0e66f8 Update translation_YUE_HK.json 2025-01-21 21:42:22 -05:00
nonokirby
e1340adf13 Update translation_VI.json 2025-01-21 21:42:14 -05:00
nonokirby
1b45b363f2 Update translation_UZ.json 2025-01-21 21:42:07 -05:00
nonokirby
78686a8e51 Update translation_UK.json 2025-01-21 21:41:54 -05:00
nonokirby
4286358d1d Update translation_TR.json 2025-01-21 21:41:46 -05:00
nonokirby
60e3f1d5af Update translation_SV.json 2025-01-21 21:41:36 -05:00
nonokirby
d9d421fe8f Update translation_SR_LATN.json 2025-01-21 21:41:27 -05:00
nonokirby
30c9ac805a Update translation_SR_CYRL.json 2025-01-21 21:41:19 -05:00
nonokirby
52c4087d3f Update translation_SL.json 2025-01-21 21:41:07 -05:00
nonokirby
a5259448b9 Update translation_SK.json 2025-01-21 21:40:57 -05:00
nonokirby
7c2664797e Update translation_RU.json 2025-01-21 21:40:46 -05:00
nonokirby
6e30c78c9d Update translation_RO.json 2025-01-21 21:40:36 -05:00
nonokirby
d7a58e50d4 Update translation_PT.json 2025-01-21 21:40:28 -05:00
nonokirby
050fa824c0 Update translation_PL.json 2025-01-21 21:40:19 -05:00
nonokirby
509e6a8ef4 Update translation_NL_BE.json 2025-01-21 21:40:11 -05:00
nonokirby
1e756b4b4a Update translation_NL.json 2025-01-21 21:39:59 -05:00
nonokirby
ea14714b36 Update translation_NB.json 2025-01-21 21:39:47 -05:00
nonokirby
67ecb2d766 Update translation_LT.json 2025-01-21 21:39:38 -05:00
nonokirby
32d9577e48 Update translation_JA_JP.json 2025-01-21 21:39:31 -05:00
nonokirby
0fa48ed345 Update translation_IT.json 2025-01-21 21:39:19 -05:00
nonokirby
211c172103 Update translation_HU.json 2025-01-21 21:39:13 -05:00
nonokirby
058f04f0cd Update translation_HR.json 2025-01-21 21:39:03 -05:00
nonokirby
84c61aa62a Update translation_FR.json 2025-01-21 21:38:50 -05:00
nonokirby
5a67f060d4 Update translation_FI.json 2025-01-21 21:38:31 -05:00
nonokirby
9d26f8b1b5 Update translation_ET.json 2025-01-21 21:38:13 -05:00
nonokirby
72a7cf3de2 Update translation_ES.json 2025-01-21 21:38:03 -05:00
nonokirby
0fdc05257a Update translation_EN.json 2025-01-21 21:37:51 -05:00
nonokirby
8c538a2ab0 Update translation_EN.json 2025-01-21 21:37:37 -05:00
nonokirby
f6c864d3b6 Update translation_EL.json 2025-01-21 21:37:27 -05:00
nonokirby
c2c1cab283 Update translation_DE.json 2025-01-21 21:37:12 -05:00
nonokirby
522822b268 Update translation_DA.json 2025-01-21 21:37:00 -05:00
nonokirby
b37c4209af Update translation_CS.json 2025-01-21 21:36:50 -05:00
nonokirby
eca4a230bc Update translation_BG.json 2025-01-21 21:36:27 -05:00
nonokirby
ff213aa06f Update translation_BE.json 2025-01-21 21:36:07 -05:00
nonokirby
4a1e946e25 Update translations_definitions.json 2025-01-21 20:55:41 -05:00
nonokirby
b005870033 Update Soldering.cpp to fix build complaining 2025-01-21 20:48:30 -05:00
nonokirby
07457af576 Update Soldering.cpp because i used the wrong symbol 2025-01-21 20:21:38 -05:00
nonokirby
7fc12dafbf Update Soldering.cpp to fix broken logic 2025-01-21 20:19:12 -05:00
nonokirby
cb667874b6 Update Settings.cpp 2025-01-21 20:05:41 -05:00
nonokirby
f759195339 Update translation_EN.json 2025-01-21 19:30:40 -05:00
nonokirby
5e8cd339ed Update Translation.h 2025-01-21 19:25:44 -05:00
nonokirby
ab5f5b23a6 Update settingsGUI.cpp to change display for locking mode 2025-01-21 19:17:30 -05:00
nonokirby
5b5200a8d8 Update Settings.cpp to revert addition of new setting 2025-01-21 18:41:39 -05:00
nonokirby
9e8bd8e790 Update Settings.h to add better descriptions 2025-01-21 18:40:14 -05:00
nonokirby
6632065ade Update Settings.h to change locking mode 2025-01-21 18:21:31 -05:00
nonokirby
fc7aaf2b56 Update Settings.cpp add BoostButtonTe 2025-01-21 17:51:32 -05:00
nonokirby
95493b48e7 Update Soldering.cpp to disable + activating temp only while boost mode setting is on 2025-01-21 00:04:48 -05:00
nonokirby
27de7f5db1 Update Settings.cpp 2025-01-21 00:03:46 -05:00
nonokirby
450d129d15 Update Settings.cpp 2025-01-21 00:01:08 -05:00
nonokirby
9b3effeaa6 Update Soldering.cpp with call to setting BoostButtonTempChange 2025-01-20 23:43:32 -05:00
nonokirby
2bd7b81589 Soldering Control Changes
Updated the readme file to reflect the changes to A/+ in soldering mode.
2025-01-20 18:30:50 -05:00
nonokirby
933e2ccd7f Disable change temp with B/+ in soldering mode
Disabled the change temp menu appearing when + is pressed in soldering mode to prevent accidental changes of temperature while using boost mode.
2025-01-20 17:56:49 -05:00
fredericuslaurentii
dfddd5916a Update translation_IT.json (#2052)
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
2025-01-20 21:48:34 +01:00
Ben V. Brown
fd91cf9f35 Revert "Merge pull request #2048 from Ralim/pinecilv2-i2c-rework"
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
This reverts commit b401dc8264, reversing
changes made to 42fb9e1105.
2025-01-11 12:46:32 +11:00
Ben V. Brown
b401dc8264 Merge pull request #2048 from Ralim/pinecilv2-i2c-rework
Some checks are pending
Docs / deploy-docs (push) Waiting to run
CI / tests (push) Waiting to run
CI / build (MHP30) (push) Waiting to run
CI / check_c-cpp (push) Waiting to run
CI / build (Pinecil) (push) Waiting to run
CI / build (Pinecilv2) (push) Waiting to run
CI / build (S60) (push) Waiting to run
CI / build (S60P) (push) Waiting to run
CI / build (T55) (push) Waiting to run
CI / build (TS100) (push) Waiting to run
CI / build (TS101) (push) Waiting to run
CI / build (TS80) (push) Waiting to run
CI / build (TS80P) (push) Waiting to run
CI / build_multi-lang (Pinecil) (push) Waiting to run
CI / build_multi-lang (Pinecilv2) (push) Waiting to run
CI / upload_metadata (push) Blocked by required conditions
CI / check_python (push) Waiting to run
CI / check_shell (push) Waiting to run
CI / check_docs (push) Waiting to run
Drop critical section on I2C
2025-01-11 10:04:33 +11:00
Ben V. Brown
a3082c389e Drop crit section on I2C 2025-01-11 10:00:50 +11:00
Ben V. Brown
42fb9e1105 Merge pull request #2042 from Ralim/fix-op-mode-enum
Some checks failed
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
Allocate fixed ID's for Operating Modes
2025-01-06 13:05:01 +11:00
Ben V. Brown
169d9e6956 Allocate fixed ID's for Operating Modes 2025-01-06 10:19:57 +11:00
Ivan Zorin
000eba7b8c Merge pull request #2035 from KITT3000/patch-7
Some checks failed
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
Update PL translation (v2.23 rc1)
2024-12-27 01:40:33 +03:00
Ziuta
5cf9d5bfff Update PL translation (v2.23 rc1) 2024-12-26 13:31:29 +01:00
Ivan Zorin
5347385b28 Merge pull request #2032 from ia/tip-type-ts80
Some checks failed
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / check_shell (push) Has been cancelled
CI / check_docs (push) Has been cancelled
Docs / deploy-docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
Set tip type as auto by default in runtime
2024-12-24 05:30:39 +03:00
Ivan Zorin
1e285a6a5c Set tip type as auto by default 2024-12-24 04:04:14 +03:00
Ivan Zorin
989a2cf2d5 Merge pull request #2031 from ia/tip-type
Add macro to enable tip types for supported hardware only
2024-12-24 03:36:24 +03:00
Ivan Zorin
ee6aff54b3 Restore the original file 2024-12-23 23:01:15 +03:00
Ivan Zorin
6cf9916a6e Revert formatting for the unmodified file 2024-12-23 22:37:49 +03:00
Ivan Zorin
5f38e1812c Implement getUserSelectedTipResistance() as stub 2024-12-23 21:51:51 +03:00
Ivan Zorin
0a63b6b5df Add macro to enable tip types for supported hardware only 2024-12-23 21:13:44 +03:00
Steven Seifried
71a1e2a367 Updated translation_DE.json (again) (#2030)
Some checks failed
CI / build (TS80) (push) Has been cancelled
CI / check_shell (push) Has been cancelled
Docs / deploy-docs (push) Has been cancelled
CI / check_docs (push) Has been cancelled
CI / build (MHP30) (push) Has been cancelled
CI / build (Pinecil) (push) Has been cancelled
CI / build (Pinecilv2) (push) Has been cancelled
CI / build (S60) (push) Has been cancelled
CI / build (S60P) (push) Has been cancelled
CI / build (T55) (push) Has been cancelled
CI / build (TS100) (push) Has been cancelled
CI / build (TS101) (push) Has been cancelled
CI / build (TS80P) (push) Has been cancelled
CI / build_multi-lang (Pinecil) (push) Has been cancelled
CI / build_multi-lang (Pinecilv2) (push) Has been cancelled
CI / tests (push) Has been cancelled
CI / check_c-cpp (push) Has been cancelled
CI / check_python (push) Has been cancelled
CI / upload_metadata (push) Has been cancelled
Updated translation_DE.json
2024-12-22 21:59:32 +03:00
Ben V. Brown
37efde3d15 Merge pull request #2029 from StevenSeifried/update_translation_DE
Some checks are pending
Docs / deploy-docs (push) Waiting to run
CI / check_shell (push) Waiting to run
CI / check_docs (push) Waiting to run
CI / build (MHP30) (push) Waiting to run
CI / build (Pinecil) (push) Waiting to run
CI / build (Pinecilv2) (push) Waiting to run
CI / build (S60) (push) Waiting to run
CI / build (S60P) (push) Waiting to run
CI / build (T55) (push) Waiting to run
CI / build (TS100) (push) Waiting to run
CI / build (TS101) (push) Waiting to run
CI / build (TS80) (push) Waiting to run
CI / build (TS80P) (push) Waiting to run
CI / build_multi-lang (Pinecil) (push) Waiting to run
CI / build_multi-lang (Pinecilv2) (push) Waiting to run
CI / upload_metadata (push) Blocked by required conditions
CI / tests (push) Waiting to run
CI / check_c-cpp (push) Waiting to run
CI / check_python (push) Waiting to run
Updated translation_DE.json
2024-12-22 19:48:08 +11:00
Steven Seifried
d899dc7433 Updated translation_DE.json 2024-12-22 09:35:22 +01:00
Ben V. Brown
a9e899c1ec Merge pull request #2028 from StevenSeifried/sequre-typo
Typo corrected (Squire -> Sequre)
2024-12-22 19:01:53 +11:00
Steven Seifried
1d9b16e963 Typo corrected (Squire -> Sequre) 2024-12-22 08:42:20 +01:00
67 changed files with 349 additions and 203 deletions

View File

@@ -24,6 +24,8 @@ jobs:
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.12.3'
- run: |
pip install --upgrade pip &&

View File

@@ -215,7 +215,7 @@ jobs:
steps:
- name: Install dependencies (apk)
run: apk add --no-cache git
run: apk add --no-cache git bash grep
- uses: actions/checkout@v4
with:
@@ -227,4 +227,4 @@ jobs:
run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE"
- name: Check and verify documentation
run: /bin/sh ./scripts/deploy.sh docs
run: ./scripts/deploy.sh docs

View File

@@ -14,6 +14,42 @@ You will need to update the build settings for include paths and point to the ne
In the `source` folder there is a `Makefile` that can be used to build the repository using command line tools.
When running the `make` command, specify which model of the device and the language(s) you would like to use.
### Windows (MSYS2 environment)
1. Download `msys2` install package from the [official website](https://msys2.org) and install it according to the instruction there;
2. Install requried packages (here and for the future commands use **`mingw64.exe`** terminal):
```
$ pacman -S mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-libwinpthread-git python3 python3-pip make unzip git
```
3. Download _3rd party RISC-V toolchain_ `xpack-riscv-none-elf-gcc-...-win32-x64.zip` from [this repository](https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases);
4. Move downloaded `xpack-riscv-none-elf-gcc-...-win32-x64.zip` to `msys64` _Windows_ directory (e.g., `C:\msys64\`);
5. Extract files from `xpack-riscv-none-elf-gcc-...-win32-x64.zip` and go back to _home_ directory:
```
$ cd /
$ unzip xpack-riscv-none-elf-gcc-...-win32-x64.zip
$ cd ~
```
6. Permanently set `PATH` environment variable, so all required toolchains could be available for `make` and for other build scripts:
```
$ echo 'export PATH=/xpack-riscv-none-elf-gcc-.../bin:${PATH}' >> ~/.bashrc
$ source ~/.bashrc
```
7. Additionally, `OpenOCD` and/or `ST-Link` can be installed as well to help with flashing:
```
$ pacman -S mingw-w64-x86_64-openocd
$ pacman -S mingw-w64-x86_64-stlink
```
8. Clone _IronOS_ repo:
```
$ git clone --recursive https://github.com/Ralim/IronOS.git
$ cd IronOS
```
9. Follow steps _4-8_ from [macOS section](#macos);
10. `pip` can be updated inside `venv` only:
```
$ python3 -m pip install --upgrade pip
```
### macOS
Use the following steps to set up a build environment for IronOS on the command line (in Terminal).

View File

@@ -39,7 +39,7 @@ The model should be replaced by one of the following options:
- `pinecilv1` for the Pinecil V1
- `pinecilv2` for the Pinecil V2
- `ts101` for the Miniware TS101 [^1] [^2]
- `s60` for the Squire S60 [^1]
- `s60` for the Sequre S60 [^1]
- `mhp30` for the Miniware MHP30
Different models are used for different flash locations for the image storage.

View File

@@ -149,7 +149,7 @@ test-md:
@echo ""
@echo "---- Checking documentation... ----"
@echo ""
@/bin/sh ./scripts/deploy.sh docs
@./scripts/deploy.sh docs
# shell style & linter check (github CI version of shellcheck is more recent than alpine one so the latter may not catch some policies)
test-sh:

View File

@@ -139,6 +139,22 @@ After powering on the device for the first time with _IronOS_ installed and havi
Additional details are described in the [menu information](https://ralim.github.io/IronOS/Menu/).
## Remote Control
### Pinecil V2 only
Pinecil V2 has [_Bluetooth Low Energy_ module](https://ralim.github.io/IronOS/Bluetooth), which is supported by _IronOS_ since `2.21` release to control some of the settings using additional tools like [PineSAM](https://github.com/builder555/PineSAM) or [PineTool](https://github.com/lachlanbell/PineTool). In `2.21` and `2.22` releases the module was _on_ by default. However, **_Bluetooth_ is turned off in the settings by default in current `dev` builds and for the next releases** [due to security concerns](#1856).[^ble]
To enable _Bluetooth_ back:
- go to _Settings_ menu;
- press `-/B` button four times to scroll the menu for `Advanced settings`;
- press `+/A` button to open submenu;
- press `+/A` button to toggle/enable _Bluetooth_ feature;
- press `-/B` **and hold it** for just more than five seconds to exit from the _Settings_ menu.
[^ble]:
This is related only to situations when a user restores default settings using menu, or when _IronOS_ update is taking place on a new device or on a device with a previous firmware version.
## Translations
Is your preferred language missing localisation of some of the text?
@@ -175,6 +191,6 @@ Other components such as _FreeRTOS_ and _USB-PD_ have their own licenses.
## Commercial Use
This software is provided "AS IS", so I cannot provide any commercial support for the firmware.
This software is provided _**"AS IS"**_, so I cannot provide any commercial support for the firmware.
However, you are more than welcome to distribute links to the firmware or provide hardware with this firmware.
**Please do not re-host the files, but rather link to this page, so that there are no old versions of the firmware scattered around**.

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Ч",
"SettingStartSleepOffChar": "К",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П"
"SettingLockFullChar": "П",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "П",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П"
"SettingLockFullChar": "П",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "M",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "U"
"SettingLockFullChar": "U",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "R",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "K",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V"
"SettingLockFullChar": "V",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {
@@ -340,8 +341,8 @@
"description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
"displayText": "Löt-\nspitzentyp",
"description": "Wählen Sie den Typ der eingesetzten Spitze"
}
}
}

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Ζ",
"SettingStartSleepOffChar": "Υ",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "Π"
"SettingLockFullChar": "Π",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "F",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "P",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "T"
"SettingLockFullChar": "T",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "L",
"SettingStartSleepOffChar": "H",
"SettingLockBoostChar": "V",
"SettingLockFullChar": "K"
"SettingLockFullChar": "K",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "O",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V"
"SettingLockFullChar": "V",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "T",
"SettingStartSleepOffChar": "H",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "Z"
"SettingLockFullChar": "Z",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "A",
"SettingStartSleepOffChar": "Sz",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "T"
"SettingLockFullChar": "T",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "A",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "C"
"SettingLockFullChar": "C",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {
@@ -152,11 +153,11 @@
"description": "Imposta il tempo di negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]"
},
"USBPDMode": {
"displayText": "PD\nMode",
"displayText": "Modalità\nUSB PD",
"description": "Abilita le modalità Power Delivery PPS ed EPR"
},
"BoostTemperature": {
"displayText": "Temp\nTurbo",
"displayText": "Temp\nturbo",
"description": "Imposta la temperatura della funzione turbo [°C/°F]"
},
"AutoStart": {
@@ -252,7 +253,7 @@
"description": "Regola la sensibilità del sensore ad effetto Hall per entrare in modalità riposo [1: minima; 9: massima]"
},
"HallEffSleepTimeout": {
"displayText": "Timer\nriposoHall",
"displayText": "Timer\nHall",
"description": "Imposta un timer per entrare in modalità riposo quando il sensore ad effetto Hall è al di sopra della soglia di attivazione [secondi]"
},
"TemperatureUnit": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室",
"SettingLockBoostChar": "ブ",
"SettingLockFullChar": "全"
"SettingLockFullChar": "全",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "M",
"SettingStartSleepOffChar": "K",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "V"
"SettingLockFullChar": "V",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "R",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "Z",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V"
"SettingLockFullChar": "V",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "K",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -4,7 +4,7 @@
"tempUnitFahrenheit": false,
"messagesWarn": {
"CalibrationDone": {
"message": "Kalibracja\nwykonana!"
"message": "Skalibrowano!"
},
"ResetOKMessage": {
"message": "Reset OK"
@@ -19,7 +19,7 @@
"message": "Nie rozpoznano\nkont. USB-PD IC!"
},
"LockingKeysString": {
"message": " ZABLOK."
"message": "ZABLOK."
},
"UnlockingKeysString": {
"message": "ODBLOK."
@@ -31,7 +31,7 @@
"message": "Ucieczka\ntermiczna"
},
"WarningTipShorted": {
"message": "!Tip Shorted!"
"message": "!Zwarty grot!"
},
"SettingsCalibrationWarning": {
"message": "Upewnij się, że końcówka i uchwyt mają temperaturę pokojową podczas następnego rozruchu!"
@@ -58,16 +58,16 @@
"message": "Grot: \n"
},
"ProfilePreheatString": {
"message": "Preheat\n"
"message": "Rozgrzewanie\n"
},
"ProfileCooldownString": {
"message": "Cooldown\n"
"message": "Schładzanie\n"
},
"DeviceFailedValidationWarning": {
"message": "Twoje urządzenie jest najprawdopodobniej podróbką!"
},
"TooHotToStartProfileWarning": {
"message": "Too hot to\nstart profile"
"message": "Zbyt gorące, aby\nuruchomić profil"
}
},
"characters": {
@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "O",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "P"
"SettingLockFullChar": "P",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {
@@ -107,22 +108,22 @@
},
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
"displayText": "Tryb\ndomyślny"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
"displayText": "Nie\ndynamiczny"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
"displayText": "Tryb\nbezpieczny"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
"displayText": "Auto\nwykrycie"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
"displayText": "Długi\nTS100"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
"displayText": "Krótki\nPine"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
@@ -137,27 +138,27 @@
"menuOptions": {
"DCInCutoff": {
"displayText": "Źródło\nzasilania",
"description": "Źródło zasilania. Ustaw napięcie odcięcia. (DC 10V) (S 3.3V dla ogniw Li, wyłącz limit mocy)"
"description": "Źródło zasilania. Ustaw napięcie odcięcia. (DC 10V) (S=3.3V dla ogniw Li, wyłącz limit mocy)"
},
"MinVolCell": {
"displayText": "Minimalne\nnapięcie",
"description": "Minimalne dozwolone napięcie na komórkę (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"QCMaxVoltage": {
"displayText": "QC\nnapięcie",
"displayText": "Napięcie QC",
"description": "Maksymalne napięcie, które lutownica będzie próbowała wynegocjować z ładowarką Quick Charge (V)"
},
"PDNegTimeout": {
"displayText": "Limit czasu\nPD",
"description": "Limit czasu negocjacji PD w krokach co 100 ms dla zgodności z niektórymi ładowarkami QC (0: wyłączone)"
"description": "Limit czasu negocjacji PD w krokach co 100ms dla zgodności z niektórymi ładowarkami QC (0: wyłączone)"
},
"USBPDMode": {
"displayText": "PD\nMode",
"displayText": "Tryb PD",
"description": "Włącza tryby PPS & EPR."
},
"BoostTemperature": {
"displayText": "Temp.\nboost",
"description": "Temperatura w trybie \"boost\" "
"description": "Temp. w trybie \"boost\" "
},
"AutoStart": {
"displayText": "Aut. uruch.\ntr. lutowania",
@@ -176,60 +177,60 @@
"description": "W trybie lutowania, wciśnij oba przyciski aby je zablokować (B=tylko Boost | P=pełna blokada)"
},
"ProfilePhases": {
"displayText": "Profile\nPhases",
"description": "Number of phases in profile mode"
"displayText": "Fazy\nprofilu",
"description": "Liczba faz w trybie profilu"
},
"ProfilePreheatTemp": {
"displayText": "Preheat\nTemp",
"description": "Preheat to this temperature at the start of profile mode"
"displayText": "Temp.\nrozgrzewania",
"description": "Rozgrzanie do tej temp. na początku trybu profilu"
},
"ProfilePreheatSpeed": {
"displayText": "Preheat\nSpeed",
"description": "Preheat at this rate (degrees per second)"
"displayText": "Prędk.\nrozgrzewania",
"description": "Tempo rozgrzewania (stopnie na sekundę)"
},
"ProfilePhase1Temp": {
"displayText": "Phase 1\nTemp",
"description": "Target temperature for the end of this phase"
"displayText": "Temp.\nfazy 1",
"description": "Docelowa temp. na koniec tej fazy"
},
"ProfilePhase1Duration": {
"displayText": "Phase 1\nDuration",
"description": "Target duration of this phase (seconds)"
"displayText": "Dług.\nfazy 1",
"description": "Docelowy czas trwania tej fazy (sekundy)"
},
"ProfilePhase2Temp": {
"displayText": "Phase 2\nTemp",
"displayText": "Temp.\nfazy 2",
"description": ""
},
"ProfilePhase2Duration": {
"displayText": "Phase 2\nDuration",
"displayText": "Dług.\nfazy 2",
"description": ""
},
"ProfilePhase3Temp": {
"displayText": "Phase 3\nTemp",
"displayText": "Temp.\nfazy 3",
"description": ""
},
"ProfilePhase3Duration": {
"displayText": "Phase 3\nDuration",
"displayText": "Dług.\nfazy 3",
"description": ""
},
"ProfilePhase4Temp": {
"displayText": "Phase 4\nTemp",
"displayText": "Temp.\nfazy 4",
"description": ""
},
"ProfilePhase4Duration": {
"displayText": "Phase 4\nDuration",
"displayText": "Dług.\nfazy 4",
"description": ""
},
"ProfilePhase5Temp": {
"displayText": "Phase 5\nTemp",
"displayText": "Temp.\nfazy 5",
"description": ""
},
"ProfilePhase5Duration": {
"displayText": "Phase 5\nDuration",
"displayText": "Dług.\nfazy 5",
"description": ""
},
"ProfileCooldownSpeed": {
"displayText": "Cooldown\nSpeed",
"description": "Cooldown at this rate at the end of profile mode (degrees per second)"
"displayText": "Prędk.\nschładzania",
"description": "Tempo schładzania na koniec trybu profilu (stopnie na sekundę)"
},
"MotionSensitivity": {
"displayText": "Czułość\nwykr. ruchu",
@@ -264,8 +265,8 @@
"description": "Obrót ekranu (P: dla praworęcznych | L: dla leworęcznych | A: automatycznie)"
},
"CooldownBlink": {
"displayText": "Mig. podczas\nwychładzania",
"description": "Temperatura miga podczas wychładzania, gdy grot jest wciąż gorący"
"displayText": "Mig. podczas\nschładzania",
"description": "Temperatura miga podczas schładzania, gdy grot jest wciąż gorący"
},
"ScrollingSpeed": {
"displayText": "Sz. przew.\ntekstu",
@@ -296,7 +297,7 @@
"description": "Ustawia czas wyświetlania loga podczas uruchamiania (s=sekund)"
},
"AdvancedIdle": {
"displayText": "Szeczegółowy\nekran bezczy.",
"displayText": "Szczegółowy\nekran bezczyn.",
"description": "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynności"
},
"AdvancedSoldering": {
@@ -305,7 +306,7 @@
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
"description": "Włącza Bluetooth Low Energy"
},
"PowerLimit": {
"displayText": "Ogr.\nmocy",
@@ -340,8 +341,8 @@
"description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
"displayText": "Typ grotu",
"description": "Wybierz typ zamontowanego grotu"
}
}
}

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "H",
"SettingStartSleepOffChar": "A",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "К",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П"
"SettingLockFullChar": "П",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "I",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "P"
"SettingLockFullChar": "P",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "V",
"SettingLockBoostChar": "L",
"SettingLockFullChar": "P"
"SettingLockFullChar": "P",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "X",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "X",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "R",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "U",
"SettingStartSleepOffChar": "S",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -52,7 +52,7 @@
"message": "Жив.(B): \n"
},
"SleepingAdvancedString": {
"message": "Очікування...\n"
"message": "Сон...\n"
},
"SleepingTipAdvancedString": {
"message": "Жало: \n"
@@ -78,10 +78,11 @@
"SettingMediumChar": "С",
"SettingFastChar": "М",
"SettingStartSolderingChar": "П",
"SettingStartSleepChar": "О",
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "К",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П"
"SettingLockFullChar": "П",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {
@@ -93,7 +94,7 @@
"description": ""
},
"PowerSavingMenu": {
"displayText": "Режим\nсну",
"displayText": "Режим сну\n",
"description": ""
},
"UIMenu": {
@@ -116,13 +117,13 @@
"displayText": "Безпечний\nРежим"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
"displayText": "Авто\nВизначення"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
"displayText": "TS100\nДовге"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
"displayText": "Pine\nКоротке"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
@@ -145,31 +146,31 @@
},
"QCMaxVoltage": {
"displayText": "Потужність\nдж. живлення",
"description": "Потужність джерела живлення в Ватах"
"description": "Потужність ДЖ в Ватах"
},
"PDNegTimeout": {
"displayText": "PD\nзатримка",
"description": "Затримка у 100мс інкрементах для PD для сумісності з деякими QC зарядними пристроями (0: вимкнено)"
"displayText": "PD\nЗатримка",
"description": "Затримка у 100мс інкрементах для PD для сумісності з деякими версіями QC (0: вимкнена)"
},
"USBPDMode": {
"displayText": "PD\nMode",
"displayText": "PD\nРежим",
"description": "Вмикає режими PPS & EPR."
},
"BoostTemperature": {
"displayText": "Темпер.\nТурбо",
"description": "Температура в \"Турбо\" режимі"
"description": "Температура \"Турбо\" режиму"
},
"AutoStart": {
"displayText": "Гарячий\nстарт",
"description": "Режим в якому запускається паяльник при ввімкненні (П=Пайка | О=Очікування | К=Очікування при кімн. темп.)"
"description": "Режим запуску паяльника (П=Пайка | С=Сон | К=Сон при кімн. темп.)"
},
"TempChangeShortStep": {
"displayText": "Зміна темп.\nкоротко?",
"description": "Змінювати температуру при короткому натисканні!"
"displayText": "Зміна темп.\nкоротким",
"description": "Зміна температуру при короткому натисканні!"
},
"TempChangeLongStep": {
"displayText": "Зміна темп.\nдовго?",
"description": "Змінювати температуру при довгому натисканні!"
"displayText": "Зміна темп.\nдовгим",
"description": "Зміна температуру при довгому натисканні!"
},
"LockingMode": {
"displayText": "Дозволити\nблок. кнопок",
@@ -185,15 +186,15 @@
},
"ProfilePreheatSpeed": {
"displayText": "Швидкість\nПоп.Розігріву",
"description": "Розігрівати з такою швидкістю (градусів в секунду)"
"description": "Розігрівати з швидкістю (у сек)"
},
"ProfilePhase1Temp": {
"displayText": "Етап 1\nТемпература",
"description": "Температура в кінці цього етапу"
"description": "Температура на кінці цього етапу"
},
"ProfilePhase1Duration": {
"displayText": "Етап 1\nТривалість",
"description": "Тривалість цього етапу (секунд)"
"description": "Тривалість цього етапу (сек)"
},
"ProfilePhase2Temp": {
"displayText": "Етап 2\nТемпература",
@@ -229,43 +230,43 @@
},
"ProfileCooldownSpeed": {
"displayText": "Швидкість\nОхолодження",
"description": "Швидкість охолодження в кінці режиму профілів (градусів в секунду)"
"description": "Швидкість охолодження на кінці режиму профілів (у сек)"
},
"MotionSensitivity": {
"displayText": "Чутливість\nсенсору руху",
"description": "Акселерометр (1=мін. чутливості | ... | 9=макс. чутливості)"
"displayText": "Чутливість\nдатчику руху",
"description": "Акселерометр (1=мін. чутливості | ... | 9=макс. чутливість)"
},
"SleepTemperature": {
"displayText": "Темпер.\nсну",
"description": "Температура режиму очікування (C° | F°)"
"description": "Температура режиму сну (C° | F°)"
},
"SleepTimeout": {
"displayText": "Тайм-аут\nсну",
"description": "Час до переходу в режим очікування (Хвилини | Секунди)"
"description": "Час до переходу до сну (Хв | Сек)"
},
"ShutdownTimeout": {
"displayText": "Часу до\nвимкнення",
"description": "Час до вимкнення (Хвилини)"
"description": "Час до вимкнення (Хв)"
},
"HallEffSensitivity": {
"displayText": "Чутливість\nЕфекту Холла",
"description": "Чутливість датчика ефекту Холла при виявленні сну (1=мін. чутливості | ... | 9=макс. чутливості)"
"displayText": "Чутливість\nДатчику Холла",
"description": "Чутливість датчика Холла при виявленні сну (1=мін. чутливість | ... | 9=макс. чутливість)"
},
"HallEffSleepTimeout": {
"displayText": "Сенсор Холла\nЧас очікування",
"description": "Проміжок часу до \"часу очікування\" за умови спрацювання датчику ефекту Холла"
"displayText": "Датчик Холла\nЧас сну",
"description": "Проміжок часу до \"часу сну\" за умови спрацювання датчику Холла"
},
"TemperatureUnit": {
"displayText": "Формат темпе-\nратури(C°/F°)",
"description": "Одиниця виміру температури (C=Цельсій | F=Фаренгейт)"
},
"DisplayRotation": {
"displayText": "Автоповорот\nекрану",
"description": "Орієнтація дисплея (П=Правша | Л=Лівша | A=Автоповорот)"
"displayText": "Обертання\nекрану",
"description": "Орієнтація екрану (П=Правша | Л=Лівша | A=Автооберт.)"
},
"CooldownBlink": {
"displayText": "Показ t° при\nохолодженні",
"description": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
"description": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран мерехтить"
},
"ScrollingSpeed": {
"displayText": "Швидкість\nтексту",
@@ -277,11 +278,11 @@
},
"AnimSpeed": {
"displayText": "Швидкість\nанімації",
"description": "Швидкість анімації іконок у головному меню (Н=Низькa | С=Середня | М=Максимальна)"
"description": "Швидкість анімації іконок у меню (Н=Низькa | С=Середня | М=Максимальна)"
},
"AnimLoop": {
"displayText": "Циклічна\nанімація",
"description": "Циклічна анімація іконок в головному меню"
"description": "Циклічна анімація іконок у меню"
},
"Brightness": {
"displayText": "Яскравість\nекрану",
@@ -292,8 +293,8 @@
"description": "Інвертувати кольори на OLED екрані"
},
"LOGOTime": {
"displayText": "Тривалість\nлоготипу завантаження",
"description": "Встановити тривалість показу лого при завантаженні (с=секунд)"
"displayText": "Тривалість\nлоготипу при запуску",
"description": "Поточна тривалість показу лого при запуску (сек)"
},
"AdvancedIdle": {
"displayText": "Детальний ре-\nжим очікуван.",
@@ -309,11 +310,11 @@
},
"PowerLimit": {
"displayText": "Макс.\nпотуж.",
"description": "Макс. потужність, яку може використовувати паяльник (Ват)"
"description": "Макс. потужність, яку може використовувати паяльник (Ватт)"
},
"CalibrateCJC": {
"displayText": "Калібрувати КХС\nпри наступному завантаженні",
"description": "При наступному завантаження буде відкалібровано Компенсацію Холодного Спаю жала (непотрібне при різниці температур < 5°C)"
"displayText": "Калібрувати КХС\nпри наступному запуску",
"description": "При наступному запуску буде відкалібровано Компенсацію Холодного Спаю жала (непотрібне при різниці температур < 5°C)"
},
"VoltageCalibration": {
"displayText": "Калібрування\nнапруги",
@@ -340,8 +341,8 @@
"description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
"displayText": "Тип Жала",
"description": "Оберіть відповідний тип жала"
}
}
}

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "U",
"SettingStartSleepOffChar": "X",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "T"
"SettingLockFullChar": "T",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {
@@ -137,7 +138,7 @@
"menuOptions": {
"DCInCutoff": {
"displayText": "Quvvat\nmanbai",
"description": "Batareya haddan tashqari zaryadsizlanishini oldini olish uchun kuchlanish chegarasini o'rnatish (DC 10V) (S=3.3V har bir yacheyka uchun, quvvat PWR chegarasini o'chirish)"
"description": "Batareya haddan tashqari zaryadsizlanishini oldini olish uchun kuchlanish chegarasini o'rnatish (DC 10V) (S=3.3V har bir yacheyka uchun, quvvat PWR chegarasini o'chirish)"
},
"MinVolCell": {
"displayText": "Minimal\nkuchlanish",

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F"
"SettingLockFullChar": "F",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室",
"SettingLockBoostChar": "增",
"SettingLockFullChar": "全"
"SettingLockFullChar": "全",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室",
"SettingLockBoostChar": "增",
"SettingLockFullChar": "全"
"SettingLockFullChar": "全",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -81,7 +81,8 @@
"SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室",
"SettingLockBoostChar": "增",
"SettingLockFullChar": "全"
"SettingLockFullChar": "全",
"SettingLockTempChar": "T"
},
"menuGroups": {
"PowerMenu": {

View File

@@ -165,6 +165,12 @@
"len": 1,
"default": "F",
"description": "Shown when the locking mode is set to lock all buttons."
},
{
"id": "SettingLockTempChar",
"len": 1,
"default": "T",
"description": "Shown when the locking mode is set to lock all buttons except for -/B to change the temperature."
}
],
"menuGroups": [

View File

@@ -95,9 +95,10 @@ docs_links()
{
ver_git="$(git tag -l | sort | grep -e "^v" | grep -v "rc" | tail -1)"
md="README.md"
test -f "${md}" || (echo "deploy.sh: docs_links: ERROR with the project directory structure!" && exit 1)
ver_md="$(grep -c "${ver_git}" "${md}")"
ret=0
if [ "${ver_md}" -ne 0 ]; then
if [ "${ver_md}" -eq 0 ]; then
ret=1
echo "Please, update mention & links in ${md} inside Builds section for release builds with version ${ver_git}."
fi;
@@ -108,16 +109,38 @@ docs_links()
build_langs()
{
mk="../source/Makefile"
cd Translations/ || exit 1
cd Translations/ || (echo "deploy.sh: build_langs: ERROR with the project directory structure!" && exit 1)
langs="$(echo "$(find ./*.json | sed -ne 's,^\./translation_,,; s,\.json$,,; /[A-Z]/p' ; sed -ne 's/^ALL_LANGUAGES=//p;' "${mk}")" | sed 's, ,\n,g; s,\r,,g' | sort | uniq -u)"
ret=0
if [ -n "${langs}" ]; then
ret=1
echo "It seems there is mismatch between supported languages and enabled builds."
echo "Please, check files in Translations/ and ALL_LANGUAGES variable in source/Makefile for:"
echo "${langs}"
return 1
fi;
return "${ret}"
cd ..
echo -ne "\n"
grep -nH $'\11' Translations/translation*.json
ret="${?}"
if [ "${ret}" -eq 0 ]; then
echo -ne "\t^^^^\t^^^^\n"
echo "Please, remove any tabs as indention from json file(s) in Translations/ directory (see the exact files & lines in the list above)."
echo "Use spaces only to indent in the future, please."
echo -ne "\n"
return 1
fi;
grep -nEH -e "^( {1}| {3}| {5}| {7}| {9}| {11})[^ ]" Translations/translation*.json
ret="${?}"
if [ "${ret}" -eq 0 ]; then
echo -ne "\t^^^^\t^^^^\n"
echo "Please, remove any odd amount of extra spaces as indention from json file(s) in Translations/ directory (see the exact files & lines in the list above)."
echo "Use even amount of spaces to indent in the future, please (two actual spaces per one indent, not tab)."
echo -ne "\n"
return 1
fi;
return 0
}
# Helper function to check code style using clang-format & grep/sed custom parsers:

View File

@@ -6,7 +6,7 @@
#include "Pins.h"
#include "Setup.h"
#include "TipThermoModel.h"
#include "Utils.h"
#include "Utils.hpp"
#include "WS2812.h"
#include "configuration.h"
#include "history.hpp"

View File

@@ -7,7 +7,7 @@
#include "Setup.h"
#include "TipThermoModel.h"
#include "Types.h"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
extern uint16_t tipSenseResistancex10Ohms;

View File

@@ -5,7 +5,7 @@
* Author: Ralim
*/
#include "TipThermoModel.h"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
#ifdef TEMP_uV_LOOKUP_HAKKO

View File

@@ -218,6 +218,7 @@
#define TEMP_NTC 1
#define ACCEL_I2CBB1 1
#define POW_EPR 1
#define TIP_TYPE_SUPPORT 1 // Support for tips of different types, i.e. resistance
#define AUTO_TIP_SELECTION 1 // Can auto-select the tip
#define TIPTYPE_T12 1 // Can manually pick a T12 tip
#define HAS_POWER_DEBUG_MENU

View File

@@ -5,7 +5,7 @@
* Author: Ralim
*/
#include "TipThermoModel.h"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
#ifdef TEMP_uV_LOOKUP_HAKKO

View File

@@ -9,7 +9,7 @@
#include "Setup.h"
#include "TipThermoModel.h"
#include "USBPD.h"
#include "Utils.h"
#include "Utils.hpp"
#include "bl702_adc.h"
#include "configuration.h"
#include "crc32.h"

View File

@@ -5,7 +5,7 @@
* Author: Ralim
*/
#include "TipThermoModel.h"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
#ifdef TEMP_uV_LOOKUP_HAKKO

View File

@@ -10,7 +10,7 @@
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include "types.h"
#include <zephyr/types.h>
#include "bl_port.h"
#define BT_UINT_MAX 0xffffffff

View File

@@ -10,7 +10,7 @@ NOTES
#ifndef _BLE_TP_SVC_H_
#define _BLE_TP_SVC_H_
#include "types.h"
#include <zephyr/types.h>
#include "ble_config.h"
// read value handle offset 2

View File

@@ -154,6 +154,7 @@
#define POW_EPR 1
#define ENABLE_QC2 1
#define MAG_SLEEP_SUPPORT 1
#define TIP_TYPE_SUPPORT 1 // Support for tips of different types, i.e. resistance
#define AUTO_TIP_SELECTION 1 // Can auto-select the tip
#define TIPTYPE_T12 1 // Can manually pick a T12 tip
#define DEVICE_HAS_VALIDATION_SUPPORT

View File

@@ -5,7 +5,7 @@
* Author: Ralim
*/
#include "TipThermoModel.h"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
#ifdef TEMP_uV_LOOKUP_PT1000

View File

@@ -1,6 +1,6 @@
#include "HUB238.hpp"
#include "I2CBB2.hpp"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
#if POW_PD_EXT == 1

View File

@@ -11,6 +11,7 @@
#include "cmsis_os.h"
#include "configuration.h"
#include <OLED.hpp>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
@@ -209,21 +210,18 @@ void OLED::drawChar(const uint16_t charCode, const FontStyle fontStyle, const ui
* of the indicator in pixels (0..<16).
*/
void OLED::drawScrollIndicator(uint8_t y, uint8_t height) {
union u_type {
uint32_t whole;
uint8_t strips[4];
} column;
column.whole = (1 << height) - 1; // preload a set of set bits of height
column.whole <<= y; // Shift down by the y value
const uint32_t whole = ((1 << height) - 1) << y; // preload a set of set bits of height
// Shift down by the y value
const uint8_t strips[4] = {static_cast<uint8_t>(whole & 0xff), static_cast<uint8_t>((whole & 0xff00) >> 8 * 1), static_cast<uint8_t>((whole & 0xff0000) >> 8 * 2),
static_cast<uint8_t>((whole & 0xff000000) >> 8 * 3)};
// Draw a one pixel wide bar to the left with a single pixel as
// the scroll indicator.
fillArea(OLED_WIDTH - 1, 0, 1, 8, column.strips[0]);
fillArea(OLED_WIDTH - 1, 8, 1, 8, column.strips[1]);
fillArea(OLED_WIDTH - 1, 0, 1, 8, strips[0]);
fillArea(OLED_WIDTH - 1, 8, 1, 8, strips[1]);
#if OLED_HEIGHT == 32
fillArea(OLED_WIDTH - 1, 16, 1, 8, column.strips[2]);
fillArea(OLED_WIDTH - 1, 24, 1, 8, column.strips[3]);
fillArea(OLED_WIDTH - 1, 16, 1, 8, strips[2]);
fillArea(OLED_WIDTH - 1, 24, 1, 8, strips[3]);
#endif
}

View File

@@ -9,7 +9,7 @@
#include "BSP.h"
#include "Settings.h"
#include "Types.h"
#include "Utils.h"
#include "Utils.hpp"
#include "configuration.h"
#include "main.hpp"
#include "power.hpp"

View File

@@ -8,7 +8,7 @@
#include "BSP_Power.h"
#include "Settings.h"
#include "configuration.h"
#include <Utils.h>
#include <Utils.hpp>
int32_t Utils::InterpolateLookupTable(const int32_t *lookupTable, const int noItems, const int32_t value) {
for (int i = 1; i < (noItems - 1); i++) {

View File

@@ -1,12 +1,12 @@
/*
* Utils.h
* Utils.hpp
*
* Created on: 28 Apr 2021
* Author: Ralim
*/
#ifndef CORE_DRIVERS_UTILS_H_
#define CORE_DRIVERS_UTILS_H_
#ifndef CORE_DRIVERS_UTILS_HPP_
#define CORE_DRIVERS_UTILS_HPP_
#include <stdint.h>
class Utils {
public:
@@ -18,4 +18,4 @@ public:
};
#endif /* CORE_DRIVERS_UTILS_H_ */
#endif /* CORE_DRIVERS_UTILS_HPP_ */

View File

@@ -114,15 +114,17 @@ typedef enum {
} usbpdMode_t;
typedef enum {
DISABLED = 0, // Locking buttons is disabled
BOOST = 1, // Locking buttons for Boost mode only
FULL = 2, // Locking buttons for Boost mode AND for Soldering mode
DISABLED = 0, // All buttons are unlocked
BOOST = 1, // All buttons are locked except boost
FULL = 2, // All buttons are locked
TEMP = 3, // All buttons are locked except -/B to change the temperature
} lockingMode_t;
/* Selection of the soldering tip
* Some devices allow multiple types of tips to be fitted, this allows selecting them or overriding the logic
* The first type will be the default (gets value of 0)
*/
#ifdef TIP_TYPE_SUPPORT
typedef enum {
#ifdef AUTO_TIP_SELECTION
TIP_TYPE_AUTO, // If the hardware supports automatic detection
@@ -142,7 +144,15 @@ typedef enum {
// #endif
TIP_TYPE_MAX, // Max value marker
} tipType_t;
uint8_t getUserSelectedTipResistance(); // returns the resistance matching the selected tip type or 0 for auto
#else
typedef enum {
TIP_TYPE_AUTO = 0, // value for the default case
TIP_TYPE_MAX = 0, // marker for settings when not supported
} tipType_t;
#endif /* TIP_TYPE_SUPPORT */
// returns the resistance matching the selected tip type or 0 for auto and when not supported
uint8_t getUserSelectedTipResistance();
// Settings wide operations
void saveSettings();
@@ -162,5 +172,7 @@ void setSettingValue(const enum SettingsOptions option, const uint16_t newValue)
// Special access helpers, to reduce logic duplication
uint8_t lookupVoltageLevel();
uint16_t lookupHallEffectThreshold();
#ifdef TIP_TYPE_SUPPORT
const char *lookupTipName(); // Get the name string for the current soldering tip
#endif /* TIP_TYPE_SUPPORT */
#endif /* SETTINGS_H_ */

View File

@@ -147,6 +147,7 @@ struct TranslationIndexTable {
uint16_t SettingStartSleepOffChar;
uint16_t SettingLockBoostChar;
uint16_t SettingLockFullChar;
uint16_t SettingLockTempChar;
uint16_t USBPDModeDefault;
uint16_t USBPDModeNoDynamic;
uint16_t USBPDModeSafe;

View File

@@ -7,4 +7,4 @@
typedef int32_t TemperatureType_t;
#endif
#endif

View File

@@ -54,7 +54,7 @@ typedef struct {
} SettingConstants;
static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOptionsLength] = {
//{ min, max, increment, default}
//{ min, max, increment, default}
{ MIN_TEMP_C, MAX_TEMP_F, 5, SOLDERING_TEMP}, // SolderingTemp
{ MIN_TEMP_C, MAX_TEMP_F, 5, 150}, // SleepTemp
{ 0, 15, 1, SLEEP_TIME}, // SleepTime
@@ -72,7 +72,7 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp
{ 0, 1, 1, DETAILED_SOLDERING}, // DetailedSoldering
{ 0, (uint16_t)(HasFahrenheit ? 1 : 0), 1, TEMPERATURE_INF}, // TemperatureInF
{ 0, 1, 1, DESCRIPTION_SCROLL_SPEED}, // DescriptionScrollSpeed
{ 0, 2, 1, LOCKING_MODE}, // LockingMode
{ 0, 3, 1, LOCKING_MODE}, // LockingMode
{ 0, 99, 1, POWER_PULSE_DEFAULT}, // KeepAwakePulse
{ 1, POWER_PULSE_WAIT_MAX, 1, POWER_PULSE_WAIT_DEFAULT}, // KeepAwakePulseWait
{ 1, POWER_PULSE_DURATION_MAX, 1, POWER_PULSE_DURATION_DEFAULT}, // KeepAwakePulseDuration
@@ -93,7 +93,7 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp
{ 0, 6, 1, 1}, // LOGOTime
{ 0, 1, 1, 0}, // CalibrateCJC
{ 0, 1, 1, 0}, // BluetoothLE
{ 0, 2, 1, 1}, // USBPDMode
{ 0, 2, 1, 0}, // USBPDMode
{ 1, 5, 1, 4}, // ProfilePhases
{ MIN_TEMP_C, MAX_TEMP_F, 5, 90}, // ProfilePreheatTemp
{ 1, 10, 1, 1}, // ProfilePreheatSpeed
@@ -298,16 +298,12 @@ uint8_t lookupVoltageLevel() {
}
}
#ifdef TIP_TYPE_SUPPORT
const char *lookupTipName() {
// Get the name string for the current soldering tip
tipType_t value = (tipType_t)getSettingValue(SettingsOptions::SolderingTipType);
switch (value) {
#ifdef AUTO_TIP_SELECTION
case tipType_t::TIP_TYPE_AUTO:
return translatedString(Tr->TipTypeAuto);
break;
#endif
#ifdef TIPTYPE_T12
case tipType_t::T12_8_OHM:
return translatedString(Tr->TipTypeT12Long);
@@ -319,7 +315,7 @@ const char *lookupTipName() {
return translatedString(Tr->TipTypeT12PTS);
break;
#endif
#ifdef TIPTYE_TS80
#ifdef TIPTYPE_TS80
case tipType_t::TS80_4_5_OHM:
return translatedString(Tr->TipTypeTS80);
break;
@@ -328,13 +324,19 @@ const char *lookupTipName() {
case tipType_t::JBC_210_2_5_OHM:
return translatedString(Tr->TipTypeJBCC210);
break;
#endif
#ifdef AUTO_TIP_SELECTION
case tipType_t::TIP_TYPE_AUTO:
#endif
default:
return nullptr;
return translatedString(Tr->TipTypeAuto);
break;
}
}
#endif /* TIP_TYPE_SUPPORT */
// Returns the resistance for the current tip selected by the user or 0 for auto
#ifdef TIP_TYPE_SUPPORT
uint8_t getUserSelectedTipResistance() {
tipType_t value = (tipType_t)getSettingValue(SettingsOptions::SolderingTipType);
@@ -370,3 +372,6 @@ uint8_t getUserSelectedTipResistance() {
break;
}
}
#else
uint8_t getUserSelectedTipResistance() { return tipType_t::TIP_TYPE_AUTO; }
#endif /* TIP_TYPE_SUPPORT */

View File

@@ -116,8 +116,10 @@ static bool showHallEffect(void);
#endif /* HALL_SENSOR */
// Tip type selection
#ifdef TIP_TYPE_SUPPORT
static void displaySolderingTipType(void);
static bool showSolderingTipType(void);
#endif /* TIP_TYPE_SUPPORT */
// Menu functions
@@ -267,12 +269,12 @@ const menuitem powerMenu[] = {
const menuitem solderingMenu[] = {
/*
* Tip Type
* Boost Mode Temp
* Auto Start
* Temp Change Short Step
* Temp Change Long Step
* Locking Mode
* Tip Type
* Profile Phases
* Profile Preheat Temperature
* Profile Preheat Max Temperature Change Per Second
@@ -288,8 +290,6 @@ const menuitem solderingMenu[] = {
* Profile Phase 5 Duration (s)
* Profile Cooldown Max Temperature Change Per Second
*/
/* Tip Type */
{SETTINGS_DESC(SettingsItemIndex::SolderingTipType), nullptr, displaySolderingTipType, showSolderingTipType, SettingsOptions::SolderingTipType, SettingsItemIndex::SolderingTipType, 5},
/* Boost Temp */
{SETTINGS_DESC(SettingsItemIndex::BoostTemperature), setBoostTemp, displayBoostTemp, nullptr, SettingsOptions::BoostTemp, SettingsItemIndex::BoostTemperature, 5},
/* Auto start */
@@ -300,6 +300,10 @@ const menuitem solderingMenu[] = {
{SETTINGS_DESC(SettingsItemIndex::TempChangeLongStep), nullptr, displayTempChangeLongStep, nullptr, SettingsOptions::TempChangeLongStep, SettingsItemIndex::TempChangeLongStep, 6},
/* Locking Mode */
{SETTINGS_DESC(SettingsItemIndex::LockingMode), nullptr, displayLockingMode, nullptr, SettingsOptions::LockingMode, SettingsItemIndex::LockingMode, 7},
#ifdef TIP_TYPE_SUPPORT
/* Tip Type */
{SETTINGS_DESC(SettingsItemIndex::SolderingTipType), nullptr, displaySolderingTipType, showSolderingTipType, SettingsOptions::SolderingTipType, SettingsItemIndex::SolderingTipType, 5},
#endif /* TIP_TYPE_SUPPORT */
#ifdef PROFILE_SUPPORT
/* Profile Phases */
{SETTINGS_DESC(SettingsItemIndex::ProfilePhases), nullptr, displayProfilePhases, nullptr, SettingsOptions::ProfilePhases, SettingsItemIndex::ProfilePhases, 7},
@@ -575,7 +579,6 @@ static void setBoostTemp(void) {
if (value >= MAX_TEMP_F) {
value = 0; // jump to off
}
setSettingValue(SettingsOptions::BoostTemp, value);
} else {
if (value == 0) {
value = MIN_BOOST_TEMP_C; // loop back at 250
@@ -632,6 +635,9 @@ static void displayLockingMode(void) {
case lockingMode_t::FULL:
OLED::print(translatedString(Tr->SettingLockFullChar), FontStyle::LARGE);
break;
case lockingMode_t::TEMP:
OLED::print(translatedString(Tr->SettingLockTempChar), FontStyle::LARGE);
break;
default:
OLED::drawUnavailableIcon();
break;
@@ -650,14 +656,13 @@ static void setProfileTemp(const enum SettingsOptions option) {
if (temp > MAX_TEMP_F) {
temp = MIN_TEMP_F;
}
setSettingValue(option, temp);
} else {
temp += 5;
if (temp > MAX_TEMP_C) {
temp = MIN_TEMP_C;
}
setSettingValue(option, temp);
}
setSettingValue(option, temp);
}
static void setProfilePreheatTemp(void) { return setProfileTemp(SettingsOptions::ProfilePreheatTemp); }
@@ -708,14 +713,13 @@ static void setSleepTemp(void) {
if (temp > 580) {
temp = 60;
}
setSettingValue(SettingsOptions::SleepTemp, temp);
} else {
temp += 10;
if (temp > 300) {
temp = 10;
}
setSettingValue(SettingsOptions::SleepTemp, temp);
}
setSettingValue(SettingsOptions::SleepTemp, temp);
}
static void displaySleepTemp(void) { OLED::printNumber(getSettingValue(SettingsOptions::SleepTemp), 3, FontStyle::LARGE); }
@@ -755,20 +759,23 @@ static bool showHallEffect(void) { return getHallSensorFitted(); }
static void displayHallEffectSleepTime(void) {
if (getSettingValue(SettingsOptions::HallEffectSleepTime)) {
OLED::printNumber(getSettingValue(SettingsOptions::HallEffectSleepTime) * 5, 2, FontStyle::LARGE, false);
OLED::print(LargeSymbolSeconds, FontStyle::LARGE);
} else {
// When sleep time is set to zero, we sleep for 1 second anyways. This is the default.
OLED::printNumber(1, 2, FontStyle::LARGE, false);
OLED::print(LargeSymbolSeconds, FontStyle::LARGE);
}
OLED::print(LargeSymbolSeconds, FontStyle::LARGE);
}
#endif /* HALL_SENSOR */
#ifdef TIP_TYPE_SUPPORT
static void displaySolderingTipType(void) {
// TODO wrapping X value
OLED::print(lookupTipName(), FontStyle::SMALL, 255, OLED::getCursorX());
}
// If there is no detection, and no options, max is 0
static bool showSolderingTipType(void) { return tipType_t::TIP_TYPE_MAX != 0; }
#endif /* TIP_TYPE_SUPPORT */
static void setTempF(const enum SettingsOptions option) {
uint16_t Temp = getSettingValue(option);
if (getSettingValue(SettingsOptions::TemperatureInF)) {

View File

@@ -25,20 +25,20 @@ extern "C" {
#endif
enum class OperatingMode {
StartupLogo = 0, // Showing the startup logo
CJCCalibration, // Cold Junction Calibration
StartupWarnings, // Startup checks and warnings
InitialisationDone, // Special state we use just before we to home screen at first startup. Allows jumping to extra startup states
HomeScreen, // Home/Idle screen that is the main launchpad to other modes
Soldering, // Main soldering operating mode
SolderingProfile, // Soldering by following a profile, used for reflow for example
Sleeping, // Sleep state holds iron at lower sleep temp
Hibernating, // Like sleeping but keeps heater fully off until woken
SettingsMenu, // Settings Menu
DebugMenuReadout, // Debug metrics
TemperatureAdjust, // Set point temperature adjustment
UsbPDDebug, // USB PD debugging information
ThermalRunaway, // Thermal Runaway warning state.
StartupLogo=10, // Showing the startup logo
CJCCalibration=11, // Cold Junction Calibration
StartupWarnings=12, // Startup checks and warnings
InitialisationDone=13, // Special state we use just before we to home screen at first startup. Allows jumping to extra startup states
HomeScreen=0, // Home/Idle screen that is the main launchpad to other modes
Soldering=1, // Main soldering operating mode
SolderingProfile=6, // Soldering by following a profile, used for reflow for example
Sleeping=3, // Sleep state holds iron at lower sleep temp
Hibernating=14, // Like sleeping but keeps heater fully off until woken
SettingsMenu=4, // Settings Menu
DebugMenuReadout=5, // Debug metrics
TemperatureAdjust=7, // Set point temperature adjustment
UsbPDDebug=8, // USB PD debugging information
ThermalRunaway=9, // Thermal Runaway warning state.
};
enum class TransitionAnimation {

View File

@@ -35,7 +35,7 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
cxt->scratch_state.state1 = 3;
break;
case BUTTON_F_LONG:
if (getSettingValue(SettingsOptions::BoostTemp) && (getSettingValue(SettingsOptions::LockingMode) == lockingMode_t::BOOST)) {
if (getSettingValue(SettingsOptions::BoostTemp) && (getSettingValue(SettingsOptions::LockingMode) >= lockingMode_t::BOOST ||)) {
cxt->scratch_state.state2 = 1;
break;
}
@@ -65,6 +65,9 @@ OperatingMode handleSolderingButtons(const ButtonState buttons, guiContext *cxt)
}
break;
case BUTTON_F_SHORT:
if (getSettingValue(SettingsOptions::LockingMode) == lockingMode_t::TEMP) {
break;
}
case BUTTON_B_SHORT:
cxt->transitionMode = TransitionAnimation::Left;
return OperatingMode::TemperatureAdjust;

View File

@@ -287,7 +287,7 @@ DEV_GLOBAL_DEFS=-DCFG_FREERTOS \
# -DCONFIG_BT_SMP
# Required to be turned off due to their drivers tripping warnings
DEV_CFLAGS=-Wno-error=enum-conversion -Wno-type-limits -Wno-implicit-fallthrough
DEV_CFLAGS=-Wno-error=enum-conversion -Wno-type-limits -Wno-implicit-fallthrough -Wno-error=implicit-function-declaration -Wno-error=incompatible-pointer-types
DEV_CXXFLAGS=$(DEV_CFLAGS)
flash_size=128k
bootldr_size=0x0