Compare commits

...

95 Commits

Author SHA1 Message Date
Leo
82cb13204d Merge 0ede3ec687 into 05158321ba 2025-02-23 00:05:00 +02:00
Ben V. Brown
05158321ba Merge pull request #2082 from Ralim/pinecil-v2-tip-disconnected
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 / check_python (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 / check_shell (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
Dont adjust pinecilv2 max temp by Coe
2025-02-23 09:04:57 +11:00
Ben V. Brown
f810921b0c Merge pull request #2083 from tabudz/fix-CVE-2021-31571
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 / check_docs (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
Fix: Potential Vulnerability in Cloned Function
2025-02-22 18:55:43 +11:00
tabudz
2b8568ce37 add assert for addition overflow on queue creation (#225) 2025-02-22 15:46:12 +08:00
Ben V. Brown
d122a9fb52 Dont adjust pinecilv2 max temp by Coe 2025-02-22 15:19:43 +11:00
Ben V. Brown
57c8a35041 Merge pull request #2081 from Ralim/pd-sink-cap
Some checks are pending
Docs / deploy-docs (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
CI / check_shell (push) Waiting to run
USB-PD: Add minimal sink caps
2025-02-22 11:38:53 +11:00
Ben V. Brown
3ed86d2acf sink caps: Add default profiles 2025-02-22 11:35:49 +11:00
Ben V. Brown
7c6ce812f6 Add minimal sink caps 2025-02-22 11:24:02 +11:00
Ivan Zorin
c92bf89296 Merge pull request #2075 from ia/debug-time
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
Debug Menu: add time of compilation to timestamp build
2025-02-19 09:43:07 +03:00
Ivan Zorin
8a392b5364 Add the notice about EPR/PPS disabled by default in the main README.md (#2074)
* README.md: Supported Hardware - add notice about EPR/PPS disabled by default.
2025-02-19 17:42:55 +11:00
Ivan Zorin
0ede3ec687 Translation.h: reorder items in SettingsItemIndex properly and add the comment 2025-02-17 20:46:29 +03:00
Ivan Zorin
362713ae56 Translations: clarify the description of the option 2025-02-17 20:00:07 +03:00
Ivan Zorin
768668d78b Refactoring: Buttons - rename revert to swapButtonMenu 2025-02-17 19:50:03 +03:00
Ivan Zorin
d78dcb471d Refactoring: clang-format for comments in settings struct 2025-02-17 19:33:46 +03:00
Ivan Zorin
a7985095ff Refactoring: replace variables with one-letter names 2025-02-17 19:21:34 +03:00
Ivan Zorin
035f3dd205 Refactoring: trying to find a more suitable variable name to check status if swap buttons in menu is enabled 2025-02-17 19:13:48 +03:00
Ivan Zorin
432b583d89 translations_definitions.json: ReverseButtonMenu - extend description a bit 2025-02-17 18:39:00 +03:00
Ivan Zorin
0bd84d9d57 Refactoring: REVERSE_BUTTON_MENU handling and unify comment/section style in configuration.h files for related changes 2025-02-17 18:37:28 +03:00
Ivan Zorin
7e57184b65 Refactoring: unify the names of the variables related to ReverseButtonMenu handling and add the option to the end of the settings struct to avoid the collisions on factory resets 2025-02-17 18:20:55 +03:00
Ivan Zorin
726140d06f Translations/: rename ReverseButtonNav to ReverseButtonMenu 2025-02-17 18:04:59 +03:00
Ivan Zorin
883ef60935 Remove macro from configuration.h files 2025-02-17 17:57:06 +03:00
Ivan Zorin
68aac2847b Debug Menu: update documentation about timestamp format 2025-02-13 07:59:20 +03:00
Ivan Zorin
dc2b91c879 Debug Menu: add time of compilation to timestamp build 2025-02-13 07:49:22 +03:00
Ivan Zorin
0e703ca992 Sync 2025-02-12 23:41:35 +03: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
resistancelion
8b60290c7d Summary 2025-02-08 04:41:41 +02:00
Ivan Zorin
bfbd1a533b Sync 2025-02-08 03:35:59 +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
904a25add0 Merge branch 'patch-2' of github.com:resistancelion/IronOS into rl-menubuttons 2025-02-07 05:21:36 +03:00
Ivan Zorin
893678797c Sync 2025-02-07 05:19:32 +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
resistancelion
ef8c9a6c20 style (6) 2025-01-30 18:49:30 +02:00
resistancelion
b6642ac01b style (5) 2025-01-30 18:47:44 +02:00
resistancelion
9993fc1a19 style(4) 2025-01-30 18:43:03 +02:00
resistancelion
79cb0b5d92 style(3) 2025-01-30 18:40:34 +02:00
resistancelion
5e78168c90 -style 2025-01-30 18:38:17 +02:00
resistancelion
157769b099 -style 2025-01-30 18:33:30 +02:00
resistancelion
e346a7793e Requested change
Now it flips buttons only in menu by default, however i need the other option, so i've added definition "REVERSE_NAV_EVERYWHERE"
2025-01-30 18:30:08 +02:00
resistancelion
68116f7de2 Revert "Reverse Settings.h" 2025-01-30 11:38:52 +02:00
resistancelion
b7bfa3f4cf Reverse Settings.h 2025-01-30 11:16:29 +02:00
Leo
0646c24b09 Code style (11th try) 2025-01-29 06:48:46 +02:00
Leo
248a7b5525 Code style (10th try) 2025-01-29 06:41:58 +02:00
Leo
f882f57b18 Style cleanup (9th try!!!) 2025-01-29 06:35:14 +02:00
Leo
8908c9d687 Style correction (8th TRY) 2025-01-29 06:28:14 +02:00
Leo
54d14b421c Style correction 2025-01-29 06:23:04 +02:00
Ivan Zorin
c8ef810450 translations_definitions.json: expand the description for ReverseButtonNav 2025-01-29 04:25:38 +03:00
Ivan Zorin
80479cc0f5 Translations/: replace tab by spaces for ReverseButtonNav according to code style 2025-01-29 04:22:08 +03:00
Ivan Zorin
759b74812a Sync 2025-01-29 03:12:38 +03:00
Leo
ce86d6594d Update draw_homescreen_simplified (128x32)
Drawer rework, should look ok but testing is required
2025-01-28 16:32:20 +02:00
Leo
b469179058 Update draw_homescreen_simplified.cpp
Code cleanup
2025-01-28 16:31:45 +02:00
Leo
24cb221443 Update draw_homescreen_simplified.cpp
Sorry
2025-01-28 15:50:27 +02:00
Leo
5e5f8581ea Update draw_homescreen_simplified.cpp
Is It fOrMaTtEd EnOuGh??
2025-01-28 15:47:46 +02:00
Leo
719dc6b14d Update draw_homescreen_simplified.cpp
meh(2)
2025-01-28 15:08:06 +02:00
Leo
0f60d737fc Update draw_homescreen_simplified.cpp
meh
2025-01-28 14:44:21 +02:00
Leo
1ed2299ce0 Update draw_homescreen_simplified.cpp
Style corrected
2025-01-28 14:42:24 +02:00
Leo
71551e6db5 Update draw_homescreen_simplified.cpp
Rework of 96x12 drawer, in order to support swapping of setting/heating hints
2025-01-28 14:32:34 +02:00
Leo
031a47c36f Update translation_UK.json
Removed falsefully duplicated entry
2025-01-28 12:41:11 +02: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
Leo
659fa48a05 Entirely moved button flipping to GUIIThread.cpp
I don't know is it better or worse, functions the same
2025-01-26 18:55:55 +02:00
Leo
dfce09413f Removed edits from TemperatureAdjust.cpp, so less code will have changes 2025-01-26 16:51:44 +02:00
Leo
c6cd6983fb Update code format in Settings.cpp 2025-01-26 16:38:13 +02:00
Leo
9546086a3a Merge branch 'dev' into patch-2 2025-01-26 16:33:19 +02:00
Leo
1fb84d5f50 Implemented switching A and B buttons, closing #2034
getButtonState() now have an option int/bool argument to swap the result via XOR
2025-01-26 05:03:46 +02:00
Leo
c229cec87f Update translation_UK.json
Unified a few more sentences to be suitable for a context

Fixed text size to better fit TS101/TS100
2025-01-26 02:35:40 +02: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
Leo
8f37b4cb80 Update translation_UK.json
Spelling corrected + replaced "temperature" with "t°" in few places
2025-01-25 14:59:12 +02:00
Leo
3fc762ce3b Update translation_UK.json
Fixed padding
2025-01-25 14:34:29 +02:00
Leo
4a26abd2c1 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 06:21:00 +02: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
80 changed files with 641 additions and 391 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

@@ -40,9 +40,9 @@ I.e.:
**Additional scroll-able items appear in this order**:
### Date
### Timestamp
- This is a date of firmware compilation and it has the following format: `DD-MM-YY` (i.e., `01-07-23` means it has been built in July, 1st, 2023)
- This is a timestamp of firmware compilation and it has the following format: `YYYYMMDD HHMMSS` (i.e., `20230701 213456` means it has been built in July, 1st, 2023 at 9:34:56 pm)
### ID

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

@@ -23,7 +23,7 @@ _This firmware does **NOT** support the USB port while running for changing sett
## Supported Hardware
| Device | DC | QC | PD | EPR | BLE | Tip Sense | Recommended Purchase | Notes |
| Device | DC | QC | PD | EPR\*\*\*\* | BLE | Tip Sense | Recommended Purchase | Notes |
| :------------: | :-: | :-: | :-: | :-: | :-: | :-------: | :------------------: | :-------------------------------------: |
| Miniware MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Pinecil V1 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ \* | |
@@ -48,6 +48,9 @@ The _TS101_ & _S60(P)_ irons and _MHP30_ & _T55_ plates feature a higher resolut
\*\*\* _TS80_ is replaced by _TS80P_. Production ramped down a long time ago and it's just existing stock clearing the system. It's marked not recommended being optimistic that people might pause and buy the far superior _TS80P_ instead. This is the main reason why the _TS80_ is **_no longer recommended_**.
\*\*\*\* **EPR/PPS with 28V support** is _**disabled by default**_ due to [safety concerns](https://github.com/Ralim/IronOS/pull/2073), but to turn it back on set
_PD Mode_ option in _Power settings_ submenu to _Safe_ or _Default_.
## Getting Started
To get started with _IronOS firmware_, please jump to [Getting Started Guide](https://ralim.github.io/IronOS/GettingStarted/).
@@ -139,6 +142,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 +194,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

@@ -152,7 +152,7 @@ def get_constants() -> List[Tuple[str, str]]:
def get_debug_menu() -> List[str]:
return [
datetime.today().strftime("%Y-%m-%d"),
datetime.today().strftime("%Y%m%d %H%M%S"),
"ID ",
"ACC ",
"PWR ",

View File

@@ -272,9 +272,13 @@
"description": "Хуткасць гартання тэксту (М=марудна | Х=хутка)"
},
"ReverseButtonTempChange": {
"displayText": "Інвертаваць\nкнопкі",
"displayText": "Інвертаваць\nкнопкі +/-",
"description": "Інвертаваць кнопкі вымярэння тэмпературы"
},
"ReverseButtonMenu": {
"displayText": "Інвертаваць\nкнопкі A/B",
"description": "Інвертаваць кнопкі навігацыі ў меню"
},
"AnimSpeed": {
"displayText": "Хуткасць\nанімацыі",
"description": "Хуткасць анімацыі гузікаў у галоўным меню (Мілісекунды) (Н=Нізкая | С=Сярэдняя | В=Высокая)"

View File

@@ -275,6 +275,10 @@
"displayText": "Размяна\nбутони +/-",
"description": "Обръщане на бутоните + и - за промяна на температурата на човка на поялника"
},
"ReverseButtonMenu": {
"displayText": "Размяна\nбутони А/В",
"description": "Обръщане бутоните А и В за навигация в менютата"
},
"AnimSpeed": {
"displayText": "Скорост на\nанимацията",
"description": "Скорост на анимация на иконата в главното меню (Н=Ниска | C=Средна | B=Висока)"

View File

@@ -275,6 +275,10 @@
"displayText": "Prohodit\ntl. +-?",
"description": "Prohodit tlačítka pro změnu teploty"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nrychlost",
"description": "Tempo animace ikon v menu (P=pomalu | S=středně | R=rychle)"

View File

@@ -275,6 +275,10 @@
"displayText": "Skift\n+ - tasterne",
"description": "Skift tildeling af knapper til temperaturjustering"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nHastighed",
"description": "Hastigheden for ikonanimationer i menuen (S=langsomt | M=medium | F=hurtigt)"

View File

@@ -275,6 +275,10 @@
"displayText": "+- Tasten\numkehren",
"description": "Tastenbelegung zur Temperaturänderung umkehren"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nGeschw.",
"description": "Geschwindigkeit der Icon-Animationen im Menü (L=langsam | M=mittel | S=schnell)"
@@ -340,8 +344,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

@@ -275,6 +275,10 @@
"displayText": "Αντιστροφή\nπλήκτρων + -",
"description": "Αντιστροφή διάταξης πλήκτρων στη ρύθμιση θερμοκρασίας"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Ταχύτητα\nκιν. εικονιδ.",
"description": "Ρυθμός κίνησης εικονιδίων στο μενού (Α=αργός | Μ=μέτριος | Γ=γρήγορος)"

View File

@@ -272,9 +272,13 @@
"description": "Scrolling speed of info text (S=slow | F=fast)"
},
"ReverseButtonTempChange": {
"displayText": "Swap\n+ - keys",
"displayText": "Swap\n+/- keys",
"description": "Reverse assignment of buttons for temperature adjustment"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (S=slow | M=medium | F=fast)"

View File

@@ -275,6 +275,10 @@
"displayText": "Invertir\nbotones +/-",
"description": "Invertir botones de ajuste de temperatura"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nvelocidad",
"description": "Velocidad de animaciones de iconos en el menú (L=baja | M=media | R=alta)"

View File

@@ -275,6 +275,10 @@
"displayText": "Vaheta\n+ - nupud",
"description": "Temperatuurinuppude asukohtade vahetus"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nkiirus",
"description": "Menüüikoonide animatsiooni kiirus (A=aeglane | K=keskmine | T=tempokas)"

View File

@@ -275,6 +275,10 @@
"displayText": "Suunnanvaihto\n+ - näppäimille",
"description": "Lämpötilapainikkeiden suunnan vaihtaminen"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Animaation\nnopeus",
"description": "Animaatioiden nopeus valikossa (A=alhainen | K=keskiverto | S=suuri)"

View File

@@ -272,9 +272,13 @@
"description": "Vitesse de défilement du texte (R=rapide | L=lent)"
},
"ReverseButtonTempChange": {
"displayText": "Inverser les\ntouches + -",
"displayText": "Inverser les\ntouches +/-",
"description": "Inverser les boutons d'ajustement de température"
},
"ReverseButtonMenu": {
"displayText": "Inverser les\ntouches A/B",
"description": "Inverser les boutons de navigation du menu"
},
"AnimSpeed": {
"displayText": "Vitesse\nanim. icônes",
"description": "Vitesse des animations des icônes dans le menu (L=lente | M=moyenne | R=rapide)"

View File

@@ -275,6 +275,10 @@
"displayText": "Zamjena\n+ - tipki",
"description": "Zamjenjuje funkciju gornje i donje tipke za podešavanje temperature"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Brzina\nanimacije",
"description": "Brzina animacije ikona u menijima (S=sporo | M=srednje | B=brzo)"

View File

@@ -275,6 +275,10 @@
"displayText": "+/- gomb\nmegfordítása",
"description": "Forrasztó hegy hőmérsékletállító gombok felcserélése"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Animáció\nsebessége",
"description": "Menüikonok animációjának sebessége (L=lassú | K=közepes | Gy=gyors)"

View File

@@ -152,11 +152,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 +252,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": {
@@ -272,9 +272,13 @@
"description": "Imposta la velocità di scorrimento del testo [L: lenta; V: veloce]"
},
"ReverseButtonTempChange": {
"displayText": "Inversione\ntasti",
"displayText": "Inversione\ntasti +/-",
"description": "Inverti i tasti per aumentare o diminuire la temperatura della punta"
},
"ReverseButtonMenu": {
"displayText": "Inversione\ntasti A/B",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Velocità\nanimazioni",
"description": "Imposta la velocità di riproduzione delle animazioni del menù principale [L: lenta; M: media; V: veloce]"

View File

@@ -275,6 +275,10 @@
"displayText": "キー入れ替え",
"description": "温度設定時に+ボタンと-ボタンを入れ替える"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "動画の速度",
"description": "メニューアイコンのアニメーションの速さ <遅=低速 | 中=中速 | 速=高速>"

View File

@@ -275,6 +275,10 @@
"displayText": "Sukeisti + -\nmygtukus?",
"description": "Sukeisti + - temperatūros keitimo mygtukus vietomis"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Animacijų\ngreitis",
"description": "Paveiksliukų animacijų greitis meniu punktuose (L=Lėtas | V=Vidutinis | G=Greitas)"

View File

@@ -275,6 +275,10 @@
"displayText": "Bytt\n+ - kn.",
"description": "Bytt om på knappene for å stille temperatur"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nhastighet",
"description": "Hastigheten til animasjonene i menyen (S=slow | M=medium | F=fast)"

View File

@@ -275,6 +275,10 @@
"displayText": "Wissel\n+ - knoppen",
"description": "Wissel de knoppen voor temperatuur controle om"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nsnelheid",
"description": "Snelheid van de icoon animaties in het menu (Langzaam | Middel | Snel)"

View File

@@ -275,6 +275,10 @@
"displayText": "Wissel\n+ - knoppen",
"description": "Wissel de knoppen voor temperatuur controle"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nsnelheid",
"description": "Snelheid van de icoon animaties in het menu (T=sloom | M=middel | S=snel)"

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": {
@@ -107,22 +107,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 +137,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 +176,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,17 +264,21 @@
"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",
"description": "Szybkość przewijania tekstu"
},
"ReverseButtonTempChange": {
"displayText": "Zamień przyc.\n+ -",
"displayText": "Zamień przyc.\n+/-",
"description": "Zamienia działanie przycisków zmiany temperatury grotu"
},
"ReverseButtonMenu": {
"displayText": "Zamień przyc.\nA/B",
"description": "Zamienia działanie przycisków nawigacyjne menu"
},
"AnimSpeed": {
"displayText": "Prędkosć\nanimacji",
"description": "Prędkość animacji ikon w menu (W: mała | M: średnia | S: duża)"
@@ -296,7 +300,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 +309,7 @@
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
"description": "Włącza Bluetooth Low Energy"
},
"PowerLimit": {
"displayText": "Ogr.\nmocy",
@@ -340,8 +344,8 @@
"description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
"displayText": "Typ grotu",
"description": "Wybierz typ zamontowanego grotu"
}
}
}

View File

@@ -272,9 +272,13 @@
"description": "Velocidade a que o texto de ajuda é apresentado"
},
"ReverseButtonTempChange": {
"displayText": "Trocar\nbotões + -",
"displayText": "Trocar\nbotões +/-",
"description": "Inverte o funcionamento dos botões de ajuste da temperatura"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Velocidade\nde animação",
"description": "Velocidade das animações no menu (S=lenta | M=média | F=rápida)"

View File

@@ -272,9 +272,13 @@
"description": "Viteză derulare text cu informatii la (S=lent | F=rapid)"
},
"ReverseButtonTempChange": {
"displayText": "Inversare\n+ - butoane",
"displayText": "Inversare\n+/- butoane",
"description": "Inversarea butoanelor de reglare a temperaturii"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Animaţii\nviteză",
"description": "Ritmul animaţiilor pictogramei din meniu (Î=încet | M=mediu | R=rapid)"

View File

@@ -275,6 +275,10 @@
"displayText": "Поменять\nкнопки +/-",
"description": "Поменять кнопки изменения температуры"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Скорость\nанимации",
"description": "Скорость анимации иконок в главном меню (М=Медленная| С=Средняя | Б=Быстрая)"

View File

@@ -275,6 +275,10 @@
"displayText": "Otočenie\ntlačidiel +/-",
"description": "Prehodenie tlačidiel na nastavovanie teploty"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Rýchlosť\nanimácií",
"description": "Rýchlosť animácií ikoniek v menu (P=pomaly | S=stredne | R=rýchlo)"

View File

@@ -275,6 +275,10 @@
"displayText": "Obrni\ntipki + -?",
"description": "Zamenjaj funkciji gumbov."
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (P=slow | M=medium | H=fast)"

View File

@@ -275,6 +275,10 @@
"displayText": "Swap\n+ - keys",
"description": "Reverse assignment of buttons for temperature adjustment"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (С=slow | M=medium | Б=fast)"

View File

@@ -275,6 +275,10 @@
"displayText": "Swap\n+ - keys",
"description": "Reverse assignment of buttons for temperature adjustment"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (S=slow | M=medium | B=fast)"

View File

@@ -275,6 +275,10 @@
"displayText": "Omvända\n+- knappar",
"description": "Omvänd ordning för temperaturjustering via plus/minus knapparna"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.-\nhastighet",
"description": "Animationshastighet för ikoner i menyer (L=långsam | M=medel | S=snabb)"

View File

@@ -275,6 +275,10 @@
"displayText": "Düğme Yerleri\nRotasyonu",
"description": "\"Düğme Yerleri Rotasyonu\" Sıcaklık ayar düğmelerinin yerini değiştirin"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Animasyon\nHızı",
"description": "Menüdeki simge animasyonlarının hızı (Y=Yavaş | O=Orta | H=Hızlı)"

View File

@@ -34,7 +34,7 @@
"message": "!Жало закорочено!"
},
"SettingsCalibrationWarning": {
"message": "Під час наступного завантаження переконайтеся, що жало і ручка мають кімнатну температуру!"
"message": "Під час наступного завантаження переконайтеся, що жало і ручка мають кімнатну !"
},
"CJCCalibrating": {
"message": "калібрування\n"
@@ -52,7 +52,7 @@
"message": "Жив.(B): \n"
},
"SleepingAdvancedString": {
"message": "Очікування...\n"
"message": "Сон...\n"
},
"SleepingTipAdvancedString": {
"message": "Жало: \n"
@@ -78,7 +78,7 @@
"SettingMediumChar": "С",
"SettingFastChar": "М",
"SettingStartSolderingChar": "П",
"SettingStartSleepChar": "О",
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "К",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П"
@@ -93,11 +93,11 @@
"description": ""
},
"PowerSavingMenu": {
"displayText": "Режим\nсну",
"displayText": "Режим сну\n",
"description": ""
},
"UIMenu": {
"displayText": "Параметри\nінтерфейсу",
"displayText": "Параметри\nвзаємодії",
"description": ""
},
"AdvancedMenu": {
@@ -116,13 +116,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 +145,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",
"description": "Вмикає режими PPS & EPR."
"displayText": "PD\nРежим",
"description": "Вмикає режими PPS & EPR"
},
"BoostTemperature": {
"displayText": "Темпер.\nТурбо",
"description": "Температура в \"Турбо\" режимі"
"description": "у \"Турбо\" режимі"
},
"AutoStart": {
"displayText": "Гарячий\nстарт",
"description": "Режим в якому запускається паяльник при ввімкненні (П=Пайка | О=Очікування | К=Очікування при кімн. темп.)"
"description": "Режим запуску паяльника (П=Пайка | С=Сон | К=Сон при кімн. темп.)"
},
"TempChangeShortStep": {
"displayText": "Зміна темп.\nкоротко?",
"description": "Змінювати температуру при короткому натисканні!"
"displayText": "Зміна \nкоротким",
"description": "Крок t° при короткому натисканні:"
},
"TempChangeLongStep": {
"displayText": "Зміна темп.\nдовго?",
"description": "Змінювати температуру при довгому натисканні!"
"displayText": "Зміна \nдовгим",
"description": "Крок t° при довгому натисканні:"
},
"LockingMode": {
"displayText": "Дозволити\nблок. кнопок",
@@ -180,20 +180,20 @@
"description": "Кількість етапів в режимі профілів"
},
"ProfilePreheatTemp": {
"displayText": "Температура\nПоп.Розігріву",
"description": "Попередньо розігріти до цієї температури на початку режимку профілів"
"displayText": "t° Поперед.\nРозігріву",
"description": "Попередньо розігріти до цієї на початку режимку профілів"
},
"ProfilePreheatSpeed": {
"displayText": "Швидкість\nПоп.Розігріву",
"description": "Розігрівати з такою швидкістю (градусів в секунду)"
"description": "Розігрівати з швидкістю (у сек)"
},
"ProfilePhase1Temp": {
"displayText": "Етап 1\nТемпература",
"description": "Температура в кінці цього етапу"
"description": "t° на кінці цього етапу"
},
"ProfilePhase1Duration": {
"displayText": "Етап 1\nТривалість",
"description": "Тривалість цього етапу (секунд)"
"description": "Тривалість цього етапу (сек)"
},
"ProfilePhase2Temp": {
"displayText": "Етап 2\nТемпература",
@@ -229,79 +229,83 @@
},
"ProfileCooldownSpeed": {
"displayText": "Швидкість\nОхолодження",
"description": "Швидкість охолодження в кінці режиму профілів (градусів в секунду)"
"description": "Швидкість охолодження на кінці режиму профілів (у сек)"
},
"MotionSensitivity": {
"displayText": "Чутливість\nсенсору руху",
"description": "Акселерометр (1=мін. чутливості | ... | 9=макс. чутливості)"
"displayText": "Чутливість\nдатчику руху",
"description": "Акселерометр (1=мін. чутливість | ... | 9=макс. чутливість)"
},
"SleepTemperature": {
"displayText": "Темпер.\nсну",
"description": "Температура режиму очікування (C° | F°)"
"description": "у режимі сну"
},
"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=Фаренгейт)"
"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тексту",
"description": "Швидкість прокрутки тексту (Н=Низькa | М=Максимальна)"
},
"ReverseButtonTempChange": {
"displayText": "Інвертувати\nкнопки +-?",
"description": "Інвертувати кнопки зміни температури."
"displayText": "Обернути\nкнопки +/-?",
"description": "Обернути кнопки зміни "
},
"ReverseButtonMenu": {
"displayText": "Обернути\nкнопки A/B?",
"description": "Обернути кнопки навігації"
},
"AnimSpeed": {
"displayText": "Швидкість\nанімації",
"description": "Швидкість анімації іконок у головному меню (Н=Низькa | С=Середня | М=Максимальна)"
"description": "Швидкість анімації іконок у меню (Н=Низькa | С=Середня | М=Максимальна)"
},
"AnimLoop": {
"displayText": "Циклічна\nанімація",
"description": "Циклічна анімація іконок в головному меню"
"description": "Циклічна анімація іконок у меню"
},
"Brightness": {
"displayText": "Яскравість\nекрану",
"description": "Налаштування контрасту/яскравості OLED екрану"
},
"ColourInversion": {
"displayText": "Інверт\nекрану",
"description": "Інвертувати кольори на OLED екрані"
"displayText": "Обернути\nкольори",
"description": "Обернути кольори на OLED екрані"
},
"LOGOTime": {
"displayText": "Тривалість\nлоготипу завантаження",
"description": "Встановити тривалість показу лого при завантаженні (с=секунд)"
"displayText": "Тривалість\nекр лого",
"description": "Поточна тривалість лого при запуску (сек)"
},
"AdvancedIdle": {
"displayText": "Детальний ре-\nжим очікуван.",
"description": "Показувати детальну інформацію маленьким шрифтом на домашньому екрані"
"displayText": "Детальний\nрежим сну",
"description": "Показувати детальну інформацію дрібним шрифтом на домашньому екрані"
},
"AdvancedSoldering": {
"displayText": "Детальний\nрежим пайки",
"description": "Показувати детальну інформацію при пайці."
"description": "Показувати детальну інформацію при пайці"
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
@@ -309,19 +313,19 @@
},
"PowerLimit": {
"displayText": "Макс.\nпотуж.",
"description": "Макс. потужність, яку може використовувати паяльник (Ват)"
"description": "Макс. потужність живлення паяльника (Ватт)"
},
"CalibrateCJC": {
"displayText": "Калібрувати КХС\nпри наступному завантаженні",
"description": "При наступному завантаження буде відкалібровано Компенсацію Холодного Спаю жала (непотрібне при різниці температур < 5°C)"
"displayText": "Калібрація КХС\n",
"description": "При наступному запуску буде відкалібровано Компенсацію Холодного Спаю жала (непотрібне при Δt° < 5°C)"
},
"VoltageCalibration": {
"displayText": "Калібрування\nнапруги",
"description": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити."
"description": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити"
},
"PowerPulsePower": {
"displayText": "Пульс.\nНавантаж.",
"description": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає дуже мало енергії)"
"description": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає замало енергії)"
},
"PowerPulseWait": {
"displayText": "Час між імп.\nнапруги",
@@ -333,15 +337,15 @@
},
"SettingsReset": {
"displayText": "Скинути всі\nналаштування?",
"description": "Скидання всіх параметрів до стандартних значень."
"description": "Скидання всіх параметрів до стандартних значень"
},
"LanguageSwitch": {
"displayText": "Мова:\n UK Українська",
"description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
"displayText": "Тип\nЖала",
"description": "Оберіть відповідний тип жала"
}
}
}

View File

@@ -275,6 +275,10 @@
"displayText": "(+) va (-) tugmalarni\nalmashtirish",
"description": "Harorat o'zgarishi uchun tugmachalarni vazifasini almashish"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Anim.\ntezligi",
"description": "Menyudagi ikonka animatsiyalari tezligini sozlash (S=sekin | O=o'rtacha | T=tez)"

View File

@@ -275,6 +275,10 @@
"displayText": "Đao nguoc\nnút + -",
"description": "Đao nguoc chuc năng các nút đieu chinh nhiet đo"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "Toc đo\nhoat anh",
"description": "Toc đo cua hoat anh menu (S=cham | M=trung bình | F=nhanh)"

View File

@@ -275,6 +275,10 @@
"displayText": "反轉加減掣",
"description": "反轉調校温度時加減掣嘅方向"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "動畫速度",
"description": "功能表圖示動畫嘅速度 <慢=慢速 | 中=中速 | 快=快速>"

View File

@@ -275,6 +275,10 @@
"displayText": "调换加减键",
"description": "调校温度时更换加减键的方向"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "动画速度",
"description": "主菜单中功能图标动画的播放速度 <慢=慢速 | 中=中速 | 快=快速>"

View File

@@ -275,6 +275,10 @@
"displayText": "調換加減鍵",
"description": "調校溫度時調換加減鍵的方向"
},
"ReverseButtonMenu": {
"displayText": "Swap\nA/B keys",
"description": "Reverse assignment of buttons for Settings menu"
},
"AnimSpeed": {
"displayText": "動畫速度",
"description": "功能表圖示動畫的速度 <慢=慢速 | 中=中速 | 快=快速>"

View File

@@ -473,6 +473,12 @@
"maxLen2": 15,
"description": "Swaps which button increments and decrements on temperature change screens."
},
{
"id": "ReverseButtonMenu",
"maxLen": 6,
"maxLen2": 15,
"description": "Swaps which buttons are used as Enter/Change and which as Scroll/Back in the settings menu."
},
{
"id": "AnimSpeed",
"maxLen": 6,

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

@@ -53,15 +53,18 @@
/**
* OLED Orientation
*
*/
#define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right
#define MAX_ORIENTATION_MODE 1 // Unlikely to ever change
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* Buttons handling
*/
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assignment for temperature change
#define REVERSE_BUTTON_MENU 0 // 0:Default 1:Reverse - Reverse the A and B button assignment for Settings menu only
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 0 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 100 // Max OLED brightness selectable

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

@@ -53,15 +53,18 @@
/**
* OLED Orientation
*
*/
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define MAX_ORIENTATION_MODE 2 // Up to auto
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* Buttons handling
*/
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assignment for temperature change
#define REVERSE_BUTTON_MENU 0 // 0:Default 1:Reverse - Reverse the A and B button assignment for Settings menu only
/**
* OLED Brightness
*
*/
#if defined(MODEL_TS101)
#define MIN_BRIGHTNESS 1 // Min OLED brightness selectable
@@ -218,6 +221,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

@@ -53,15 +53,18 @@
/**
* OLED Orientation
*
*/
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define MAX_ORIENTATION_MODE 2 // Up to auto
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* Buttons handling
*/
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assignment for temperature change
#define REVERSE_BUTTON_MENU 0 // 0:Default 1:Reverse - Reverse the A and B button assignment for Settings menu only
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 0 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 100 // Max OLED brightness selectable

View File

@@ -9,7 +9,8 @@
#include "Setup.h"
#include "TipThermoModel.h"
#include "USBPD.h"
#include "Utils.h"
#include "Utils.hpp"
#include "bflb_platform.h"
#include "bl702_adc.h"
#include "configuration.h"
#include "crc32.h"
@@ -282,16 +283,3 @@ void showBootLogo(void) {
BootLogo::handleShowingLogo(scratch);
}
TemperatureType_t getCustomTipMaxInC() {
// have to lookup the max temp while being aware of the coe scaling value
float max_reading = ADC_MAX_READING - 1.0;
if (adcGainCoeffCal.adcGainCoeffEnable) {
max_reading /= adcGainCoeffCal.coe;
}
TemperatureType_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(max_reading);
maximumTipTemp += getHandleTemperature(0) / 10; // Add handle offset
return maximumTipTemp - 1;
}

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

@@ -53,15 +53,18 @@
/**
* OLED Orientation
*
*/
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define MAX_ORIENTATION_MODE 2 // Up to auto
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* Buttons handling
*/
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assignment for temperature change
#define REVERSE_BUTTON_MENU 0 // 0:Default 1:Reverse - Reverse the A and B button assignment for Settings menu only
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 1 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 101 // Max OLED brightness selectable
@@ -154,13 +157,13 @@
#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
#define OLED_96x16 1
#define TEMP_NTC
#define ACCEL_BMA
#define CUSTOM_MAX_TEMP_C 1 // Uses custom max temp lookup
#define ACCEL_SC7
#define HALL_SENSOR
#define HALL_SI7210

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

@@ -4,7 +4,6 @@
/**
* Configuration.h
* Define here your default pre settings for S60
*
*/
//===========================================================================
@@ -21,7 +20,6 @@
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 1 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 101 // Max OLED brightness selectable
@@ -62,11 +60,15 @@
/**
* OLED Orientation
*
*/
#define ORIENTATION_MODE 0 // 0: Right 1:Left (2:Automatic N/A)
#define MAX_ORIENTATION_MODE 1 // Disable auto mode
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* Buttons handling
*/
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assignment for temperature change
#define REVERSE_BUTTON_MENU 0 // 0:Default 1:Reverse - Reverse the A and B button assignment for Settings menu only
/**
* Temp change settings

View File

@@ -11,7 +11,7 @@
#include <Buttons.hpp>
TickType_t lastButtonTime = 0;
ButtonState getButtonState() {
ButtonState getButtonState(bool swapButtonMenu) {
/*
* Read in the buttons and then determine if a state change needs to occur
*/
@@ -28,8 +28,8 @@ ButtonState getButtonState() {
static TickType_t previousStateChange = 0;
const TickType_t timeout = TICKS_100MS * 4;
uint8_t currentState;
currentState = (getButtonA()) << 0;
currentState |= (getButtonB()) << 1;
currentState = (getButtonA()) << (0 xor swapButtonMenu);
currentState |= (getButtonB()) << (1 xor swapButtonMenu);
if (currentState) {
lastButtonTime = xTaskGetTickCount();

View File

@@ -27,7 +27,8 @@ enum ButtonState {
};
// Returns what buttons are pressed (if any)
ButtonState getButtonState();
ButtonState getButtonState(bool swapButtonMenu = 0);
// Helpers
void waitForButtonPressOrTimeout(TickType_t timeout);
void waitForButtonPress();

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

@@ -337,68 +337,51 @@ bool pdbs_dpm_evaluate_capability(const pd_msg *capabilities, pd_msg *request) {
return true;
}
void add_v_record(pd_msg *cap, uint16_t voltage_mv, int numobj) {
uint16_t current = (voltage_mv) / getTipResistanceX10(); // In centi-amps
/* Add a PDO for the desired power. */
cap->obj[numobj] = PD_PDO_TYPE_FIXED | PD_PDO_SNK_FIXED_VOLTAGE_SET(PD_MV2PDV(voltage_mv)) | PD_PDO_SNK_FIXED_CURRENT_SET(current);
}
void pdbs_dpm_get_sink_capability(pd_msg *cap, const bool isPD3) {
/* Keep track of how many PDOs we've added */
// int numobj = 0;
int numobj = 0;
// /* If we have no configuration or want something other than 5 V, add a PDO
// * for vSafe5V */
// /* Minimum current, 5 V, and higher capability. */
// cap->obj[numobj++] = PD_PDO_TYPE_FIXED | PD_PDO_SNK_FIXED_VOLTAGE_SET(PD_MV2PDV(5000)) | PD_PDO_SNK_FIXED_CURRENT_SET(DPM_MIN_CURRENT);
/* If we have no configuration or want something other than 5 V, add a PDO
* for vSafe5V */
/* Minimum current, 5 V, and higher capability. */
cap->obj[numobj++] = PD_PDO_TYPE_FIXED | PD_PDO_SNK_FIXED_VOLTAGE_SET(PD_MV2PDV(5000)) | PD_PDO_SNK_FIXED_CURRENT_SET(DPM_MIN_CURRENT);
// Voltages must be in order of lowest -> highest
#if USB_PD_VMAX >= 20
add_v_record(cap, 9000, numobj);
numobj++;
add_v_record(cap, 15000, numobj);
numobj++;
add_v_record(cap, 20000, numobj);
numobj++;
#elif USB_PD_VMAX >= 15
add_v_record(cap, 9000, numobj);
numobj++;
add_v_record(cap, 12000, numobj);
numobj++;
add_v_record(cap, 15000, numobj);
numobj++;
#elif USB_PD_VMAX >= 12
add_v_record(cap, 9000, numobj);
numobj++;
add_v_record(cap, 12000, numobj);
numobj++;
#elif USB_PD_VMAX >= 9
add_v_record(cap, 9000, numobj);
numobj++;
#endif
// /* Get the current we want */
// uint16_t voltage = USB_PD_VMAX * 1000; // in mv
// if (requested_voltage_mv != 5000) {
// voltage = requested_voltage_mv;
// }
// uint16_t current = (voltage) / getTipResistanceX10(); // In centi-amps
/* Set the USB communications capable flag. */
cap->obj[0] |= PD_PDO_SNK_FIXED_USB_COMMS;
// /* Add a PDO for the desired power. */
// cap->obj[numobj++] = PD_PDO_TYPE_FIXED | PD_PDO_SNK_FIXED_VOLTAGE_SET(PD_MV2PDV(voltage)) | PD_PDO_SNK_FIXED_CURRENT_SET(current);
// /* Get the PDO from the voltage range */
// int8_t i = dpm_get_range_fixed_pdo_index(cap);
// /* If it's vSafe5V, set our vSafe5V's current to what we want */
// if (i == 0) {
// cap->obj[0] &= ~PD_PDO_SNK_FIXED_CURRENT;
// cap->obj[0] |= PD_PDO_SNK_FIXED_CURRENT_SET(current);
// } else {
// /* If we want more than 5 V, set the Higher Capability flag */
// if (PD_MV2PDV(voltage) != PD_MV2PDV(5000)) {
// cap->obj[0] |= PD_PDO_SNK_FIXED_HIGHER_CAP;
// }
// /* If the range PDO is a different voltage than the preferred
// * voltage, add it to the array. */
// if (i > 0 && PD_PDO_SRC_FIXED_VOLTAGE_GET(cap->obj[i]) != PD_MV2PDV(voltage)) {
// cap->obj[numobj++] = PD_PDO_TYPE_FIXED | PD_PDO_SNK_FIXED_VOLTAGE_SET(PD_PDO_SRC_FIXED_VOLTAGE_GET(cap->obj[i])) | PD_PDO_SNK_FIXED_CURRENT_SET(PD_PDO_SRC_FIXED_CURRENT_GET(cap->obj[i]));
// }
// /* If we have three PDOs at this point, make sure the last two are
// * sorted by voltage. */
// if (numobj == 3 && (cap->obj[1] & PD_PDO_SNK_FIXED_VOLTAGE) > (cap->obj[2] & PD_PDO_SNK_FIXED_VOLTAGE)) {
// cap->obj[1] ^= cap->obj[2];
// cap->obj[2] ^= cap->obj[1];
// cap->obj[1] ^= cap->obj[2];
// }
// /* If we're using PD 3.0, add a PPS APDO for our desired voltage */
// if ((hdr_template & PD_HDR_SPECREV) >= PD_SPECREV_3_0) {
// cap->obj[numobj++]
// = PD_PDO_TYPE_AUGMENTED | PD_APDO_TYPE_PPS | PD_APDO_PPS_MAX_VOLTAGE_SET(PD_MV2PAV(voltage)) | PD_APDO_PPS_MIN_VOLTAGE_SET(PD_MV2PAV(voltage)) |
// PD_APDO_PPS_CURRENT_SET(PD_CA2PAI(current));
// }
// }
// /* Set the unconstrained power flag. */
// if (_unconstrained_power) {
// cap->obj[0] |= PD_PDO_SNK_FIXED_UNCONSTRAINED;
// }
// /* Set the USB communications capable flag. */
// cap->obj[0] |= PD_PDO_SNK_FIXED_USB_COMMS;
// /* Set the Sink_Capabilities message header */
// cap->hdr = hdr_template | PD_MSGTYPE_SINK_CAPABILITIES | PD_NUMOBJ(numobj);
/* Set the Sink_Capabilities message header */
cap->hdr = PD_DATAROLE_UFP | PD_SPECREV_3_0 | PD_POWERROLE_SINK | PD_MSGTYPE_SINK_CAPABILITIES | PD_NUMOBJ(numobj);
}
#endif

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

@@ -76,8 +76,9 @@ enum SettingsOptions {
ProfileCooldownSpeed = 52, // Maximum allowed cooldown speed in degrees per second
HallEffectSleepTime = 53, // Seconds (/5) timeout to sleep when hall effect over threshold
SolderingTipType = 54, // Selecting the type of soldering tip fitted
ReverseButtonMenu = 55, // Change the A and B button assigment in menus
//
SettingsOptionsLength = 55, // End marker
SettingsOptionsLength = 56, // End marker
};
typedef enum {
@@ -123,6 +124,7 @@ typedef enum {
* 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

@@ -54,6 +54,11 @@ extern const char *DebugMenu[];
extern const char *AccelTypeNames[];
extern const char *PowerSourceNames[];
/* !
* The order of the items inside this enum class SettingsItemIndex
* must be the same as the order of the related items
* in the "menuOptions" section of translations_definitions.json file.
*/
enum class SettingsItemIndex : uint8_t {
DCInCutoff,
MinVolCell,
@@ -90,6 +95,7 @@ enum class SettingsItemIndex : uint8_t {
CooldownBlink,
ScrollingSpeed,
ReverseButtonTempChange,
ReverseButtonMenu,
AnimSpeed,
AnimLoop,
Brightness,

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
@@ -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
@@ -110,6 +110,8 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp
{ 1, 10, 1, 2}, // ProfileCooldownSpeed
{ 0, 12, 1, 0}, // HallEffectSleepTime
{ 0, (tipType_t::TIP_TYPE_MAX - 1) > 0 ? (tipType_t::TIP_TYPE_MAX - 1) : 0, 1, 0}, // SolderingTipType
{ 0, 1, 1, REVERSE_BUTTON_MENU}, // ReverseButtonMenu
// MIN, MAX, INCREMENT, DEFAULT
};
static_assert((sizeof(settingsConstants) / sizeof(SettingConstants)) == ((int)SettingsOptions::SettingsOptionsLength));
@@ -298,16 +300,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 +317,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 +326,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 +374,6 @@ uint8_t getUserSelectedTipResistance() {
break;
}
}
#else
uint8_t getUserSelectedTipResistance() { return tipType_t::TIP_TYPE_AUTO; }
#endif /* TIP_TYPE_SUPPORT */

View File

@@ -47,6 +47,7 @@ static void displayAdvancedSolderingScreens(void);
static void displayAdvancedIDLEScreens(void);
static void displayScrollSpeed(void);
static void displayReverseButtonTempChangeEnabled(void);
static void displayReverseButtonMenu(void);
static void displayPowerLimit(void);
#ifdef BLE_ENABLED
@@ -116,8 +117,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 +270,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 +291,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 +301,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},
@@ -391,6 +396,8 @@ const menuitem UIMenu[] = {
{SETTINGS_DESC(SettingsItemIndex::ScrollingSpeed), nullptr, displayScrollSpeed, nullptr, SettingsOptions::DescriptionScrollSpeed, SettingsItemIndex::ScrollingSpeed, 7},
/* Reverse Temp change buttons +/- */
{SETTINGS_DESC(SettingsItemIndex::ReverseButtonTempChange), nullptr, displayReverseButtonTempChangeEnabled, nullptr, SettingsOptions::ReverseButtonTempChangeEnabled, SettingsItemIndex::ReverseButtonTempChange, 7},
/* Reverse menu nav buttons A/B */
{SETTINGS_DESC(SettingsItemIndex::ReverseButtonMenu), nullptr, displayReverseButtonMenu, nullptr, SettingsOptions::ReverseButtonMenu, SettingsItemIndex::ReverseButtonMenu, 7},
/* Animation Speed adjustment */
{SETTINGS_DESC(SettingsItemIndex::AnimSpeed), nullptr, displayAnimationSpeed, nullptr, SettingsOptions::AnimationSpeed, SettingsItemIndex::AnimSpeed, 7},
/* Animation Loop switch */
@@ -476,7 +483,7 @@ static int userConfirmation(const char *message) {
for (;;) {
drawScrollingText(message, xTaskGetTickCount() - tickStart);
ButtonState buttons = getButtonState();
ButtonState buttons = getButtonState(getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled));
switch (buttons) {
case BUTTON_F_SHORT:
// User confirmed
@@ -575,7 +582,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
@@ -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)) {
@@ -849,6 +856,8 @@ static void displayScrollSpeed(void) { OLED::print(translatedString((getSettingV
static void displayReverseButtonTempChangeEnabled(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled)); }
static void displayReverseButtonMenu(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::ReverseButtonMenu)); }
static void displayAnimationSpeed(void) {
switch (getSettingValue(SettingsOptions::AnimationSpeed)) {
case settingOffSpeed_t::SLOW:
@@ -944,7 +953,7 @@ static void setCalibrateVIN(void) {
OLED::setCursor(0, 8);
OLED::printNumber(getSettingValue(SettingsOptions::VoltageDiv), 3, FontStyle::SMALL);
switch (getButtonState()) {
switch (getButtonState(getSettingValue(SettingsOptions::ReverseButtonMenu))) {
case BUTTON_F_SHORT:
prevSettingValue(SettingsOptions::VoltageDiv);
break;

View File

@@ -41,10 +41,18 @@ OperatingMode currentOperatingMode = OperatingMode::InitialisationDone; // Curre
guiContext context; // Context passed to functions to aid in state during render passes
OperatingMode handle_post_init_state();
OperatingMode guiHandleDraw(void) {
OLED::clearScreen(); // Clear ready for render pass
bool swapButtonMenu = getSettingValue(SettingsOptions::ReverseButtonMenu);
bool swapButtonTemp = getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled);
#ifdef OPT_FULL_BUTTON_REVERSE
bool isTempAdjust = currentOperatingMode == OperatingMode::TemperatureAdjust;
// Read button state
ButtonState buttons = getButtonState((swapButtonTemp && isTempAdjust) || (swapButtonMenu && !swapButtonTemp && !isTempAdjust) || (swapButtonMenu && swapButtonTemp && !isTempAdjust));
#else
ButtonState buttons = getButtonState();
#endif
// Enforce screen on if buttons pressed, movement, hot tip etc
if (buttons != BUTTON_NONE) {
OLED::setDisplayState(OLED::DisplayState::ON);
@@ -110,7 +118,11 @@ OperatingMode guiHandleDraw(void) {
newMode = gui_SolderingSleepingMode(buttons, &context);
break;
case OperatingMode::TemperatureAdjust:
newMode = gui_solderingTempAdjust(buttons, &context);
#ifdef OPT_FULL_BUTTON_REVERSE
newMode = gui_solderingTempAdjust(getButtonState(), &context);
#else
newMode = gui_solderingTempAdjust(getButtonState(swapButtonTemp), &context);
#endif
break;
case OperatingMode::DebugMenuReadout:
newMode = showDebugMenu(buttons, &context);
@@ -119,7 +131,11 @@ OperatingMode guiHandleDraw(void) {
newMode = performCJCC(buttons, &context);
break;
case OperatingMode::SettingsMenu:
newMode = gui_SettingsMenu(buttons, &context);
#ifdef OPT_FULL_BUTTON_REVERSE
newMode = gui_SettingsMenu(getButtonState(), &context);
#else
newMode = gui_SettingsMenu(getButtonState(swapButtonMenu), &context);
#endif
break;
case OperatingMode::InitialisationDone:
newMode = handle_post_init_state();
@@ -138,6 +154,7 @@ OperatingMode guiHandleDraw(void) {
};
return newMode;
}
void guiRenderLoop(void) {
OperatingMode newMode = guiHandleDraw(); // This does the screen drawing

View File

@@ -7,56 +7,49 @@ extern uint8_t buttonBF[sizeof(buttonB)];
extern uint8_t disconnectedTipF[sizeof(disconnectedTip)];
void ui_draw_homescreen_simplified(TemperatureType_t tipTemp) {
bool tempOnDisplay = false;
bool tipDisconnectedDisplay = false;
if (OLED::getRotation()) {
OLED::drawArea(68, 0, 56, 32, buttonAF);
OLED::drawArea(12, 0, 56, 32, buttonBF);
OLED::setCursor(0, 0);
ui_draw_power_source_icon();
} else {
OLED::drawArea(0, 0, 56, 32, buttonA); // Needs to be flipped so button ends up
OLED::drawArea(58, 0, 56, 32, buttonB); // on right side of screen
OLED::setCursor(116, 0);
ui_draw_power_source_icon();
}
tipDisconnectedDisplay = false;
if (tipTemp > 55) {
tempOnDisplay = true;
} else if (tipTemp < 45) {
tempOnDisplay = false;
}
if (isTipDisconnected()) {
tempOnDisplay = false;
tipDisconnectedDisplay = true;
}
if (tempOnDisplay || tipDisconnectedDisplay) {
// draw temp over the start soldering button
// Location changes on screen rotation
if (OLED::getRotation()) {
// in right handed mode we want to draw over the first part
OLED::fillArea(68, 0, 56, 32, 0); // clear the area for the temp
OLED::setCursor(56, 0);
} else {
OLED::fillArea(0, 0, 56, 32, 0); // clear the area
OLED::setCursor(0, 0);
}
// If we have a tip connected draw the temp, if not we leave it blank
if (!tipDisconnectedDisplay) {
// draw in the temp
if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
ui_draw_tip_temperature(false, FontStyle::LARGE); // draw in the temp
}
} else {
// Draw in missing tip symbol
if (OLED::getRotation()) {
// in right handed mode we want to draw over the first part
OLED::drawArea(54, 0, 56, 32, disconnectedTipF);
} else {
OLED::drawArea(0, 0, 56, 32, disconnectedTip);
}
}
}
}
bool isFlipped = OLED::getRotation();
bool tipDisconnected = isTipDisconnected();
#ifdef OPT_FULL_BUTTON_REVERSE
bool swapButtonMenu = getSettingValue(SettingsOptions::ReverseButtonMenu);
#endif
// Flip and switch buttons accordingly
#ifdef OPT_FULL_BUTTON_REVERSE
OLED::drawArea(isFlipped ? 68 : 0, 0, 56, 32, isFlipped ? (swapButtonMenu ? buttonBF : buttonAF) : (swapButtonMenu ? buttonB : buttonA));
OLED::drawArea(isFlipped ? 12 : 58, 0, 56, 32, isFlipped ? (swapButtonMenu ? buttonAF : buttonBF) : (swapButtonMenu ? buttonA : buttonB));
#else
OLED::drawArea(isFlipped ? 68 : 0, 0, 56, 32, isFlipped ? buttonAF : buttonA);
OLED::drawArea(isFlipped ? 12 : 58, 0, 56, 32, isFlipped ? buttonBF : buttonB);
#endif
if ((tipTemp > 55) || tipDisconnected) {
// draw temp over the start soldering button
// Location changes on screen rotation and due to button swapping
// in right handed mode we want to draw over the first part
#ifdef OPT_FULL_BUTTON_REVERSE
OLED::fillArea(swapButtonMenu ? (isFlipped ? 26 : 58) : (isFlipped ? 68 : 0), 0, 56, 32, 0); // clear the area
OLED::setCursor(swapButtonMenu ? (isFlipped ? 27 : 59) : (isFlipped ? 56 : 0), 0);
#else
OLED::fillArea(isFlipped ? 68 : 0, 0, 56, 32, 0); // clear the area
OLED::setCursor(isFlipped ? 56 : 0, 0);
#endif
// If tip is disconnected draw the notification, otherwise - the temp
if (tipDisconnected) {
// Draw-in the missing tip symbol
#ifdef OPT_FULL_BUTTON_REVERSE
if (swapButtonMenu) {
OLED::drawArea(isFlipped ? 20 : 54, 0, 56, 32, isFlipped ? disconnectedTipF : disconnectedTip);
} else {
#endif
OLED::drawArea(isFlipped ? 54 : 0, 0, 56, 32, isFlipped ? disconnectedTipF : disconnectedTip);
#ifdef OPT_FULL_BUTTON_REVERSE
}
#endif
} else if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
ui_draw_tip_temperature(false, FontStyle::LARGE); // Draw-in the temp
}
}
OLED::setCursor(isFlipped ? 0 : 116, 0);
ui_draw_power_source_icon();
}
#endif

View File

@@ -6,57 +6,49 @@ extern uint8_t buttonBF[sizeof(buttonB)];
extern uint8_t disconnectedTipF[sizeof(disconnectedTip)];
void ui_draw_homescreen_simplified(TemperatureType_t tipTemp) {
bool tempOnDisplay = false;
bool tipDisconnectedDisplay = false;
if (OLED::getRotation()) {
OLED::drawArea(54, 0, 42, 16, buttonAF);
OLED::drawArea(12, 0, 42, 16, buttonBF);
OLED::setCursor(0, 0);
ui_draw_power_source_icon();
} else {
OLED::drawArea(0, 0, 42, 16, buttonA); // Needs to be flipped so button ends up
OLED::drawArea(42, 0, 42, 16, buttonB); // on right side of screen
OLED::setCursor(84, 0);
ui_draw_power_source_icon();
}
tipDisconnectedDisplay = false;
if (tipTemp > 55) {
tempOnDisplay = true;
} else if (tipTemp < 45) {
tempOnDisplay = false;
}
if (isTipDisconnected()) {
tempOnDisplay = false;
tipDisconnectedDisplay = true;
}
if (tempOnDisplay || tipDisconnectedDisplay) {
// draw temp over the start soldering button
// Location changes on screen rotation
if (OLED::getRotation()) {
// in right handed mode we want to draw over the first part
OLED::fillArea(55, 0, 41, 16, 0); // clear the area for the temp
OLED::setCursor(56, 0);
} else {
OLED::fillArea(0, 0, 41, 16, 0); // clear the area
OLED::setCursor(0, 0);
}
// If we have a tip connected draw the temp, if not we leave it blank
if (!tipDisconnectedDisplay) {
// draw in the temp
if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
ui_draw_tip_temperature(false, FontStyle::LARGE); // draw in the temp
}
} else {
// Draw in missing tip symbol
if (OLED::getRotation()) {
// in right handed mode we want to draw over the first part
OLED::drawArea(54, 0, 42, 16, disconnectedTipF);
} else {
OLED::drawArea(0, 0, 42, 16, disconnectedTip);
}
}
}
}
bool isFlipped = OLED::getRotation();
bool tipDisconnected = isTipDisconnected();
#ifdef OPT_FULL_BUTTON_REVERSE
bool swapButtonMenu = getSettingValue(SettingsOptions::ReverseButtonMenu);
#endif
// Flip and switch buttons accordingly
#ifdef OPT_FULL_BUTTON_REVERSE
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? (swapButtonMenu ? buttonBF : buttonAF) : (swapButtonMenu ? buttonB : buttonA));
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? (swapButtonMenu ? buttonAF : buttonBF) : (swapButtonMenu ? buttonA : buttonB));
#else
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? buttonAF : buttonA);
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? buttonBF : buttonB);
#endif
if ((tipTemp > 55) || tipDisconnected) {
// draw temp over the start soldering button
// Location changes on screen rotation and due to button swapping
// in right handed mode we want to draw over the first part
#ifdef OPT_FULL_BUTTON_REVERSE
OLED::fillArea(swapButtonMenu ? (isFlipped ? 14 : 42) : (isFlipped ? 55 : 0), 0, 41, 16, 0); // clear the area
OLED::setCursor(swapButtonMenu ? (isFlipped ? 15 : 43) : (isFlipped ? 56 : 0), 0);
#else
OLED::fillArea(isFlipped ? 55 : 0, 0, 41, 16, 0); // clear the area
OLED::setCursor(isFlipped ? 56 : 0, 0);
#endif
// If tip is disconnected draw the notification, otherwise - the temp
if (tipDisconnected) {
// Draw-in the missing tip symbol
#ifdef OPT_FULL_BUTTON_REVERSE
if (swapButtonMenu) {
OLED::drawArea(isFlipped ? 12 : 42, 0, 42, 16, isFlipped ? disconnectedTipF : disconnectedTip);
} else {
#endif
OLED::drawArea(isFlipped ? 54 : 0, 0, 42, 16, isFlipped ? disconnectedTipF : disconnectedTip);
#ifdef OPT_FULL_BUTTON_REVERSE
}
#endif
} else if (!(getSettingValue(SettingsOptions::CoolingTempBlink) && (xTaskGetTickCount() % 1000 < 300))) {
ui_draw_tip_temperature(false, FontStyle::LARGE); // Draw-in the temp
}
}
OLED::setCursor(isFlipped ? 0 : 84, 0);
ui_draw_power_source_icon();
}
#endif

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

@@ -54,10 +54,6 @@ OperatingMode gui_solderingTempAdjust(const ButtonState buttonIn, guiContext *cx
if ((PRESS_ACCEL_INTERVAL_MAX - (*autoRepeatAcceleration)) < PRESS_ACCEL_INTERVAL_MIN) {
(*autoRepeatAcceleration) = PRESS_ACCEL_INTERVAL_MAX - PRESS_ACCEL_INTERVAL_MIN;
}
// If buttons are flipped; flip the delta
if (getSettingValue(SettingsOptions::ReverseButtonTempChangeEnabled)) {
delta = -delta;
}
if (delta != 0) {
// constrain between the set temp limits, i.e. 10-450 C
int16_t newTemp = getSettingValue(SettingsOptions::SolderingTemp);

View File

@@ -17,7 +17,11 @@ bool shouldShutdown(void) {
}
}
}
#ifdef OPT_FULL_BUTTON_REVERSE
if (getButtonState(getSettingValue(SettingsOptions::ReverseButtonMenu) == BUTTON_B_LONG) { // allow also if back button is pressed long
#else
if (getButtonState() == BUTTON_B_LONG) { // allow also if back button is pressed long
#endif
return true;
}
return false;

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

View File

@@ -397,6 +397,9 @@ BaseType_t xQueueGenericReset( QueueHandle_t xQueue,
/* Check for multiplication overflow. */
configASSERT( ( uxItemSize == 0 ) || ( uxQueueLength == ( xQueueSizeInBytes / uxItemSize ) ) );
/* Check for addition overflow. */
configASSERT( ( sizeof( Queue_t ) + xQueueSizeInBytes ) > xQueueSizeInBytes );
/* Allocate the queue and storage area. Justification for MISRA
* deviation as follows: pvPortMalloc() always ensures returned memory
* blocks are aligned per the requirements of the MCU stack. In this case