1
0
forked from me/IronOS

Compare commits

...

132 Commits

Author SHA1 Message Date
Ben V. Brown
5d96470e45 Merge pull request #1653 from Ralim/dev
Release 2.21
2023-04-09 19:51:01 +10:00
Ben V. Brown
1a087ca624 Merge branch 'master' into dev 2023-04-09 19:47:50 +10:00
discip
422b5b7563 unifying (#1657) 2023-04-07 23:42:14 +00:00
discip
38625b2f7e Merge pull request #1658 from Ralim/discip-patch-1
correcting MAX_POWER_LIMIT to 120
2023-04-08 01:36:12 +02:00
discip
cd592c94af Merge pull request #1654 from federicodilo/patch-5
Update translation_IT.json
2023-04-08 01:35:24 +02:00
discip
cc180f7d1a correcting MAX_POWER_LIMIT to 120 2023-04-08 01:19:07 +02:00
Federico Di Lorenzo
00a36f0fa0 Update translation_IT.json 2023-04-07 19:20:23 +02:00
Federico Di Lorenzo
0b5a617f8f Update translation_IT.json 2023-04-07 19:18:45 +02:00
Federico Di Lorenzo
25ccfc2204 Update translation_IT.json 2023-04-07 12:02:48 +02:00
Ben V. Brown
75c2589a6d Update version.h 2023-04-07 13:42:41 +10:00
River M
e5b1a364f3 fix typo on run command alignment (#1652)
* fix: edit button mkdocs

* fix: edit button on mkdocs

- should open edit page for  dev branch and requires  login if person is not already logged into github

* add favicons for the  mkdocs

* Delete android-chrome-192x192.png

* Delete android-chrome-512x512.png

* Delete favicon-16x16.png

* Delete favicon.ico

* Delete favicon-32x32.png

* Delete apple-touch-icon.png

* Create temp

* add favicon for mkdocs

* mkdocs - highlighting for source code

- Enables highlighting of source code in code blocks
- allow highlighting for other languages that are not default 23
- add favicon and custom location (until  folder names are changed to /docs  and /doc/img

* Delete temp

* Add files via upload

* organize mkdocs

* add mkdocs extensions & plugins

* remove favicon

* Delete favicon.ico

* Delete font-license.txt

* fix mkdocs for  markdown extensions

fixed the name since  this is not a materials theme.

* add plugins  to mkdocs

* add mkdocs git-revision-date

displays the last revision date of the current page of the documentation based on Git. this could be displayed at the bottom of each page.

* add plugins for MKdocs

* closes ticket  https://github.com/Ralim/IronOS/issues/1649

* clean up mkdocs plugins

break up code line as it's getting too long with more plugins.

* fix pip install comand

* fix typo

---------

Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com>
2023-04-07 13:04:43 +10:00
River M
da52357d87 add plugins for mkdocs features (#1650) 2023-04-07 12:47:06 +10:00
River M
8c90d3dee2 fix mkdocs markdown extensions (#1648)
* fix: edit button mkdocs

* fix: edit button on mkdocs

- should open edit page for  dev branch and requires  login if person is not already logged into github

* add favicons for the  mkdocs

* Delete android-chrome-192x192.png

* Delete android-chrome-512x512.png

* Delete favicon-16x16.png

* Delete favicon.ico

* Delete favicon-32x32.png

* Delete apple-touch-icon.png

* Create temp

* add favicon for mkdocs

* mkdocs - highlighting for source code

- Enables highlighting of source code in code blocks
- allow highlighting for other languages that are not default 23
- add favicon and custom location (until  folder names are changed to /docs  and /doc/img

* Delete temp

* Add files via upload

* organize mkdocs

* add mkdocs extensions & plugins

* remove favicon

* Delete favicon.ico

* Delete font-license.txt

* fix mkdocs for  markdown extensions

fixed the name since  this is not a materials theme.

* add plugins  to mkdocs

* add mkdocs git-revision-date

displays the last revision date of the current page of the documentation based on Git. this could be displayed at the bottom of each page.
2023-04-06 07:13:37 +10:00
River M
84095a80e8 fix Mkdocs edit button (#1642)
* fix: edit button mkdocs

* fix: edit button on mkdocs

- should open edit page for  dev branch and requires  login if person is not already logged into github

* add favicons for the  mkdocs

* Delete android-chrome-192x192.png

* Delete android-chrome-512x512.png

* Delete favicon-16x16.png

* Delete favicon.ico

* Delete favicon-32x32.png

* Delete apple-touch-icon.png

* Create temp

* add favicon for mkdocs

* mkdocs - highlighting for source code

- Enables highlighting of source code in code blocks
- allow highlighting for other languages that are not default 23
- add favicon and custom location (until  folder names are changed to /docs  and /doc/img

* Delete temp

* Add files via upload

* organize mkdocs

* add mkdocs extensions & plugins

* remove favicon

* Delete favicon.ico

* Delete font-license.txt
2023-04-04 16:19:17 +10:00
discip
ab3f5bd695 Merge pull request #1641 from discip/power_limit_display_fix
fixing power limit display
2023-04-04 01:00:16 +02:00
discip
a6926519d1 Update settingsGUI.cpp 2023-04-02 01:14:46 +02:00
Samuelrmlink
445069c92b USBPDDebug: Check whether VPDO is EPR or PPS (#1600)
* USBPDDebug: Check whether VPDO is EPR or PPS.

* USBPDDebug - Allow trailing zeros after a decimal point.

---------

Co-authored-by: discip <53649486+discip@users.noreply.github.com>
2023-04-02 00:14:45 +11:00
discip
e5e77aa475 Merge pull request #1616 from Ralim/discip-patch-1
implementing #1594
2023-04-01 05:24:33 +02:00
Ben V. Brown
0bbf8fb4c6 Merge branch 'dev' into discip-patch-1 2023-04-01 14:20:58 +11:00
Ben V. Brown
f6975b0aa2 Update ble_handlers.cpp 2023-04-01 14:20:10 +11:00
slycordinator
dcfb6507a6 Added Variables to Dockerfile (#1597)
Co-authored-by: discip <53649486+discip@users.noreply.github.com>
Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com>
2023-04-01 03:05:11 +00:00
discip
45c00dc767 Merge branch 'dev' into discip-patch-1 2023-03-31 22:59:31 +02:00
Ben V. Brown
e13f118788 Change to 128bit UUID's (#1608)
* Change to 128bit UUID's

* Make attrs const for BLE

* Forcefully set docker project name

* Cleaner UUIDS

* Cant use const attrs

* Adjust ram sections

* Update UUID decode

* Settings uuids

* Fix missed decoder for writing

---------

Co-authored-by: discip <53649486+discip@users.noreply.github.com>
2023-03-29 12:45:09 +11:00
discip
f937c8d7bd Merge pull request #1637 from StevenSeifried/translation_DE_update
Update translation_DE.json
2023-03-26 23:07:23 +02:00
Steven Seifried
9f7d7835ec Updated translation_DE.json 2023-03-26 22:56:37 +02:00
discip
fe9043fddf Merge branch 'dev' into discip-patch-1 2023-03-26 13:16:56 +02:00
Ben V. Brown
79187c3f5e Forcefully set docker project name 2023-03-26 12:48:30 +11:00
discip
3a4638ef42 Merge branch 'dev' into discip-patch-1 2023-03-26 01:47:47 +01:00
discip
fdff919508 Merge pull request #1632 from discip/fixing-translation_RO-using-diacritics
Update translation_RO.json
2023-03-26 01:45:08 +01:00
discip
9c8abbdfc2 Readjusting brightness (Pinecil v2) (#1622) 2023-03-26 11:43:56 +11:00
discip
744dd6b898 Merge branch 'dev' into discip-patch-1 2023-03-26 00:48:41 +01:00
discip
c192792b8f Merge branch 'dev' into fixing-translation_RO-using-diacritics 2023-03-26 00:47:32 +01:00
discip
070064e59e adapting 10 °C > 50 °F (#1636)
* Update configuration.h

* Update configuration.h

* Update configuration.h
2023-03-25 23:46:44 +00:00
discip
b41c44a191 Merge branch 'Ralim:dev' into fixing-translation_RO-using-diacritics 2023-03-24 23:04:19 +01:00
Vladimir
6177d4e2a4 Add building steps for Pinecil V2 to Development.md (#1634) 2023-03-24 13:19:52 +00:00
Vladimir
11bad84ce7 Add FW version to BLE characteristic (#1633)
Implements #1610
2023-03-24 19:15:05 +11:00
discip
2a27c38999 Update translation_RO.json 2023-03-21 06:48:21 +01:00
discip
d8b6fac176 Merge branch 'dev' into discip-patch-1 2023-03-20 22:12:50 +01:00
discip
0384288a37 Update translation_RO.json 2023-03-20 21:56:58 +01:00
discip
ccbee21872 Merge pull request #1631 from patridge/patch-1
Update settings icon description
2023-03-20 21:36:06 +01:00
Adam Patridge
9247075458 Fix Markdown link typo 2023-03-20 11:30:26 -07:00
Adam Patridge
d834a3395c Update settings icon description 2023-03-20 11:23:24 -07:00
discip
bed400e527 Merge branch 'dev' into discip-patch-1 2023-03-17 22:37:16 +01:00
discip
2a2acfe649 Merge pull request #1628 from mobycl1ck/patch-1
Update translation_RO.json
2023-03-17 22:35:44 +01:00
discip
e2456c3ac1 Apply suggestions from code review 2023-03-17 22:32:38 +01:00
mobycl1ck
b4900daecc Update translation_RO.json 2023-03-17 17:41:18 +01:00
discip
60f0437bf8 Merge branch 'dev' into discip-patch-1 2023-03-15 20:05:11 +01:00
discip
5a75cd077c Merge pull request #1627 from G-Pereira/patch-1
Update translation_PT.json
2023-03-15 20:03:44 +01:00
Gonçalo Pereira
87115b274d Update translation_PT.json 2023-03-15 13:26:47 +00:00
discip
cc2b072b4a Merge pull request #1626 from Ralim/discip-patch-2
Update translation_EN.json
2023-03-15 08:42:29 +01:00
discip
91f6c42c4a Update translation_EN.json 2023-03-15 00:19:01 +01:00
discip
c7bdbbb4b5 Merge branch 'dev' into discip-patch-1 2023-03-14 22:35:47 +01:00
discip
0a4560efac Merge pull request #1625 from River-Mochi/dev
Corrected value in °F to match value in °C
2023-03-14 22:35:07 +01:00
discip
656f1a3275 Merge branch 'dev' into discip-patch-1 2023-03-14 22:24:47 +01:00
discip
b32d5abda4 Merge branch 'dev' into dev 2023-03-14 22:24:02 +01:00
discip
72c1e1906d Merge pull request #1612 from ViPeR5000/dev
update translation_pt.jason
2023-03-14 22:23:49 +01:00
discip
36d5c05c8d Merge branch 'dev' into discip-patch-1 2023-03-14 22:21:52 +01:00
discip
2863b9321b Merge branch 'dev' into dev 2023-03-14 22:21:01 +01:00
discip
f0d1cdb3ff Merge branch 'dev' into dev 2023-03-14 22:20:37 +01:00
discip
ecef4002c4 Apply suggestions from code review 2023-03-14 22:19:54 +01:00
discip
e247010055 Merge pull request #1612 from ViPeR5000/dev
update translation_pt.jason
2023-03-14 22:19:00 +01:00
discip
e5c2eb8bbc Apply suggestions from code review 2023-03-14 22:08:01 +01:00
River M
8ea8632bb9 Update configuration.h 2023-03-14 14:05:45 -07:00
discip
53f74f3490 Merge branch 'dev' into dev 2023-03-13 23:27:26 +01:00
discip
3e3d0bbb84 Merge branch 'dev' into discip-patch-1 2023-03-13 23:27:01 +01:00
discip
ccc44bd217 Merge pull request #1623 from Devnol/dev
Add new EL translation strings
2023-03-13 22:57:55 +01:00
Panos Koutsoumanis
3371d001fc Update Translations/translation_EL.json
Co-authored-by: discip <53649486+discip@users.noreply.github.com>
2023-03-13 23:55:28 +02:00
Panos Koutsoumanis
9014f16ff3 Update Translations/translation_EL.json
Co-authored-by: discip <53649486+discip@users.noreply.github.com>
2023-03-13 23:55:18 +02:00
Devnol
3ab2ec9f84 Add new EL translation strings
Signed-off-by: Devnol <pgkoutsoumanis@gmail.com>
2023-03-13 23:34:55 +02:00
discip
2319eebe65 Update ble_handlers.cpp 2023-03-13 18:38:16 +01:00
discip
495954fd1c Merge branch 'dev' into dev 2023-03-11 15:30:31 +01:00
discip
1d47a85598 Merge branch 'dev' into discip-patch-1 2023-03-11 15:14:41 +01:00
discip
e12903ec28 Update ble_handlers.cpp 2023-03-11 13:56:47 +01:00
Marek Kraus
73be260b98 Merge pull request #1617 from StevenSeifried/translation_DE
Updated translation_DE.json
2023-03-11 13:47:21 +01:00
discip
dc47eb4221 Update translation_DE.json
unified translation
2023-03-11 13:44:23 +01:00
Steven Seifried
8a4a9cfc07 Updated translation_DE.json 2023-03-11 09:58:53 +01:00
Marek Kraus
e5aa51290d Merge pull request #1611 from DjordjeMandic/patch-1
Update README.md to fix small typo
2023-03-11 08:01:31 +01:00
Djordje
631b7ed7fc Update README.md
Fix small typo from #1588
2023-03-11 01:47:01 +01:00
discip
6174d80586 Update ble_handlers.cpp 2023-03-11 01:45:44 +01:00
discip
d88eed4e18 Update ble_handlers.cpp
Tried to implement #1594
2023-03-11 01:26:35 +01:00
Rui Melo
b021c85fdc update translation_pt.jason
update translation_pt.jason
2023-03-08 14:09:05 +00:00
Foxie The Dev
5022eca8af Fix README badges (#1607)
Fix badge image sources, and their target link locations to be up to date and correct.
2023-03-05 12:28:54 +11:00
River M
344c1a649d Update documents, esp. Pinecil V2 instructions (#1604)
* Update README.md

* Update Pinecil V2.md

* Update Pinecil V2.md

update very outdated instructions on how to update Pinecil V2.

* Update Pinecil V1.md

* Update Pinecil V2.md

* Update Pinecil V2.md
2023-03-02 17:58:46 +11:00
Ben V. Brown
6fc27e1544 Merge pull request #1596 from dmitrygribenchuk/translation
update translation
2023-02-24 07:51:30 +11:00
Dmitry Gribenchuk
682662d8e3 update translation_BE.json translation_PL.json translation_RU.json translation_UK.json 2023-02-23 21:52:20 +02:00
discip
68d18a4fb0 Merge pull request #1593 from Ralim/discip-patch-1
minor formatting fix
2023-02-23 01:20:31 +01:00
discip
36f5a14920 minor formatting fix 2023-02-23 01:19:28 +01:00
Ben V. Brown
8bff89ac02 Merge pull request #1592 from NeilHanlon/ble-fixes
Fix updating certain settings over BLE
2023-02-23 09:11:09 +11:00
Neil Hanlon
2a244df7b1 Fix typo in BLE settings mapping 2023-02-22 01:28:04 -05:00
Neil Hanlon
a76049acde Fix bug in setSettingsValue for values constrained between 0 and 1
Fixed a bug in the `setSettingValue` function that caused valid values
within the allowed range to be incorrectly constrained to the minimum
value, when the default value of the option was zero and the allowed
range was from zero to one. The bug was fixed by updating the order of
the `if` statements in the function to ensure that the range check is
done before the value is set. This ensures that valid values within the
range are correctly retained, while out-of-range values are still
constrained to the allowed range.
2023-02-22 01:26:06 -05:00
Neil Hanlon
b1658ec6ee Handle updating certain settings updates over BLE - Fixes #1560 2023-02-22 01:25:49 -05:00
Ben V. Brown
bb151f2dc5 Merge pull request #1588 from DjordjeMandic/patch-2
Update README.md to explain why TS80 is not recommended
2023-02-21 14:55:49 +11:00
Djordje
85b72ec9f8 Update README.md
Add explanation why TS80 is no longer recommended
2023-02-21 03:06:22 +01:00
Ben V. Brown
f29ec5cd99 Merge pull request #1582 from Samuelrmlink/PPSctrl
Added VPDO option for disabling PPS/EPR PDOs.
2023-02-20 11:53:15 +11:00
Samuelrmlink
669e3819e8 Add BLE characteristic - PD VPDOs Enabled 2023-02-19 16:59:26 -06:00
Samuelrmlink
20b4f80255 Attempt to reduce translation size.
TS80P build failed Github checks.
2023-02-19 16:34:29 -06:00
Samuel Hedrick
cd21b49e8c Added BLE characteristic - PD VPDOs Enabled 2023-02-19 16:22:46 -06:00
Samuel Hedrick
6729caa586 Added English strings to other language .json files. 2023-02-19 16:03:49 -06:00
Samuel Hedrick
9892dd0423 Added VPDO option for disabling PPS/EPR PDOs. 2023-02-19 14:13:50 -06:00
Ben V. Brown
eb5d6ea9fd Make BLE name more unique 2023-02-18 18:16:44 +11:00
Ben V. Brown
fe159ba747 Merge pull request #1572 from Samuelrmlink/dev
Fixed USB-PD policy bug.
2023-02-16 16:11:56 +11:00
Samuel Hedrick
5265d7b1ac Fixed USB-PD policy bug.
Some PPS chargers that advertise 7 PDOs are affected.
This includes the Samsung EP-TA845 - likely others as well.
2023-02-15 20:50:23 -06:00
Ben V. Brown
0dd0dc4983 Merge pull request #1567 from Ralim/ble-settings-reset
BLE Settings rename + Unique Name
2023-02-12 11:06:45 +11:00
Ben V. Brown
4a2d59b01c Added 37th option 2023-02-11 22:16:17 +11:00
Ben V. Brown
07cad37bcc Move extras to end of settings 2023-02-11 22:14:49 +11:00
Ben V. Brown
39148d11ed Shift settings to be 0 based; and add reset command 2023-02-11 22:09:26 +11:00
Ben V. Brown
5aacbeaecc Add unqiue id to BLE name 2023-02-11 20:39:41 +11:00
Ben V. Brown
c384194b7f Silence warnings 2023-02-11 19:54:30 +11:00
Ben V. Brown
ac1934f8de Fixup some of the includes for the ble lib 2023-02-11 19:47:58 +11:00
Ben V. Brown
662829ebd9 Merge pull request #1565 from federicodilo/patch-4
Small update in translation_IT.json
2023-02-07 20:06:17 +11:00
Federico Di Lorenzo
daaa9549cf Update translation_IT.json 2023-02-07 09:54:38 +01:00
Ben V. Brown
ee6ae1f3f1 Merge pull request #1557 from cohaolain/ble-adv-mods
Use the scan response to advertise some of the available service UUID…
2023-02-05 12:59:24 +11:00
Ciarán Ó hAoláin
b5f78bbeda Use the scan response to advertise some of the available service UUIDs rather than just repeating the device name 2023-02-05 00:41:57 +00:00
Alexandrebafoil
e23c361a57 Update translation_FR.json (#1556)
Addition of the missing French translations
2023-02-05 08:46:26 +11:00
Thomas White
8e7e58018a expand bulk data to match individual value data (#1555)
* track and return Operating mode with BLE

* move global variable to fix build on other platforms

* formatting

* expand bulk data to match individual value data

* formatting

* fix accidental single line if

---------

Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com>
2023-02-05 00:04:51 +11:00
Thomas White
9802a622d5 Track and return Operating Mode with BLE (#1553)
Track and return Operating Mode with BLE
2023-02-04 09:33:43 +11:00
Ben V. Brown
e19e1a066d Use alpine packaged black
Closes #1554
2023-02-04 09:30:05 +11:00
Ben V. Brown
bb76dfeff6 Merge pull request #1535 from Ralim/testing-fix-for-timer-slot-miss
Change timing scheduler to only run main timer once ADC is done
2023-01-30 17:33:32 +11:00
Ben V. Brown
4ddc9a28f9 Merge branch 'dev' into testing-fix-for-timer-slot-miss 2023-01-30 17:28:03 +11:00
Ben V. Brown
0b6c5ff837 👋 Goodbye Weblate
Dropping weblate for now as its just not reliable.
2023-01-30 17:26:41 +11:00
Ben V. Brown
586fd3b288 Merge pull request #1548 from discip/fix_languages
fixing languages & reverting unwanted weblate changes
2023-01-30 17:11:06 +11:00
discip
67df8c71ba Update translation_EN.json 2023-01-28 14:15:18 +01:00
discip
ce7e228fe5 Update translation_DE.json 2023-01-28 14:14:56 +01:00
discip
760d8c83cb Update translation_JA_JP.json 2023-01-28 14:14:23 +01:00
discip
36fbf760cb Update translation_ES.json 2023-01-28 14:13:19 +01:00
discip
af2b88cb59 fixing languages & reverting unwanted weblate changes 2023-01-28 02:17:23 +01:00
Ben V. Brown
939efbbf4f Merge branch 'testing-fix-for-timer-slot-miss' of ssh://github.com/Ralim/IronOS into testing-fix-for-timer-slot-miss 2023-01-24 18:57:00 +11:00
Ben V. Brown
7e103ccf2d Wait for full ADC Burst 2023-01-24 18:56:49 +11:00
Ben V. Brown
a84df7b94e Merge branch 'dev' into testing-fix-for-timer-slot-miss 2023-01-24 18:15:45 +11:00
Ben V. Brown
f3b4abf434 Update IRQ.cpp 2023-01-24 18:11:44 +11:00
Ben V. Brown
5fe019f40b Change timing scheduler to only run main timer once ADC is done 2023-01-23 17:40:06 +11:00
Erkan Colak
cc37899b1b Expanded the build script to build customizable multiple languages and models firmwares (#1520)
* Expanded the build script to build customizable multiple languages and models firmwares.

* Fixed build pipeline uses lower cases  for Pinecil* devices

* fixed shellcheck suggestions reported by reviewdog

fixed shellcheck suggestions reported by reviewdog
2023-01-17 08:12:30 +11:00
74 changed files with 1305 additions and 912 deletions

View File

@@ -28,7 +28,12 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
- run: pip install --upgrade pip && pip install mkdocs mkdocs-gen-files
- run: |
pip install --upgrade pip &&
pip install mkdocs mkdocs-gen-files pymdown-extensions \
mkdocs-git-revision-date-plugin mkdocs-autolinks-plugin \
mkdocs-awesome-pages-plugin
- run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' - run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: Publish docs - name: Publish docs

View File

@@ -140,14 +140,14 @@ jobs:
steps: steps:
- name: deps - name: deps
run: apk add --no-cache python3 py3-pip make git run: apk add --no-cache python3 py3-pip make git black
- uses: actions/checkout@v3 - uses: actions/checkout@v3
with: with:
submodules: true submodules: true
- name: install black - name: install black
run: python3 -m pip install bdflib black flake8 run: python3 -m pip install bdflib flake8
- name: Check formatting with clang-format - name: Check formatting with clang-format
run: cd source && make clean && make check-style run: cd source && make clean && make check-style

View File

@@ -1,25 +0,0 @@
name: Weblate PR
on:
create:
branches: ["^translations$"]
jobs:
pull-request:
name: Open PR to dev
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
name: checkout
- uses: repo-sync/pull-request@v2
name: pull-request
with:
destination_branch: "dev"
pr_title: "Merging newest translations into dev" # Title of pull request
pr_body: | # Full markdown support, requires pr_title to be set
Translations automatically submitted by Weblate
_Translations from [Weblate](https://hosted.weblate.org/projects/ironos/main-firmware/)_
pr_reviewer: "ralim"
pr_draft: true
github_token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -8,12 +8,20 @@ WORKDIR /build
# Misc -> findutils make git # Misc -> findutils make git
# musl-dev is required for the multi lang firmwares # musl-dev is required for the multi lang firmwares
# clang is required for clang-format (for dev) # clang is required for clang-format (for dev)
ARG APK_COMPS="gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf \
newlib-arm-none-eabi"
ARG APK_PYTHON="python3 py3-pip black"
ARG APK_MISC="findutils make git"
ARG APK_DEV="musl-dev clang bash clang-extra-tools"
RUN apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git musl-dev clang bash clang-extra-tools # PIP packages
ARG PIP_PKGS='bdflib'
RUN apk add --no-cache ${APK_COMPS} ${APK_PYTHON} ${APK_MISC} ${APK_DEV}
# Install Python3 packages # Install Python3 packages
RUN python3 -m pip install bdflib black RUN python3 -m pip install ${PIP_PKGS}
# Git trust # Git trust
RUN git config --global --add safe.directory /build/source RUN git config --global --add safe.directory /build/source

View File

@@ -104,3 +104,40 @@ If you _need_ an IDE I have used [Nuclei's IDE](https://nucleisys.com/download.p
Follow the same idea as the STM Cube IDE notes above. Follow the same idea as the STM Cube IDE notes above.
## Building Pinecil V2 ## Building Pinecil V2
To build the Pinecil V2 firmware, you can use a Docker container that provides a consistent development environment across different operating systems, including Windows with WSL2. Here's how to do it:
### Prerequisites
Docker Desktop: Install the latest version of Docker Desktop for your operating system from the official website.
On Windows follow the instructions on the official documentation to install 'Windows Subsystem for Linux' (WSL2).
### Building Steps
1. Clone the repository, initialize and update submodules:
```sh
git clone --recurse-submodules https://github.com/Ralim/IronOS.git
```
2. Start the Docker container with the development environment:
```sh
cd IronOS
./start_dev.sh
```
This script will build a Docker image and run a container with the necessary tools to build the firmware.
3. Build the firmware for Pinecil V2:
```sh
cd source/source
./build.sh -l EN -m Pinecilv2
```
This command will compile the firmware with English language support for Pinecil V2 board.
4. Find the firmware artifacts:
After the build completes successfully, you can find the firmware artifacts in the `source/Hexfile` directory.

View File

@@ -12,8 +12,8 @@ These are built on every change and can be found on the Actions tab (see below).
Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases). Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases).
Download the zip file that matches your model of soldering iron and extract it. Download the zip file that matches your model of soldering iron and extract it.
Select the appropriate file type for your unit, in general Miniware devices need `.hex` and Pinecil needs `.dfu`. Select the appropriate file type for your unit, in general Miniware devices need `.hex`, Pinecil V1 needs `.dfu`, and Pinecil V2 needs `.bin`.
Flash according to details below Flash according to details below.
### Bleeding edge / latest ### Bleeding edge / latest
@@ -26,13 +26,16 @@ Then this works the same as a production release (use the correct file).
# Pinecil V1 # Pinecil V1
- The MCU used in Pinecil supports usb-dfu. Reference [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil). - The MCU used in Pinecil supports usb-dfu. Reference [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil) for hardware and firmware instructions.
- Recommended Updater: the [Pine64 Updater](https://github.com/pine64/pinecil-firmware-updater/releases), is an easy-to-use GUI app. It is fast and works in several types of OS, i.e. Windows/Mac. It will automatically fetch the newest stable version of IronOS from GitHub. - Recommended Updater for Windows/MacOS: [Pine64 Updater](https://github.com/pine64/pine64_updater) is an easy-to-use GUI app. It is fast and automatically fetches the newest stable version of IronOS from GitHub. It can also be used to load custom boot logo art.
- Recommended Updater for Linux/MacOS: [PineFlash](https://github.com/Spagett1/PineFlash) is an easy-to-use GUI app. It is fast and automatically fetches the newest stable version of IronOS from Github. It can also be used to load custom boot logo art.
- Troubleshooting: if you have issues using the Pine64 Updater or your install fails, please go to troubleshooting tips below. - Troubleshooting: if you have issues using the Pine64 Updater or your install fails, please go to troubleshooting tips below.
- Community chat: if troubleshooting doesn't work, then join the Pine64 > Pinecil channel. There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine volunteers/members can see advice for Pinecil and related items or just get tips on which Power supply to purchase. - The [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil) is a great resource for all things Pinecil.
- Community chat: if troubleshooting doesn't work, then join the Pine64 > Pinecil channel [here](https://wiki.pine64.org/wiki/Pinecil#Live_Community_Chat). There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine64 volunteers/members can see advice for Pinecil and related items or just get tips on which power supply to purchase.
- One advantage of Pinecil is that you cannot permanently damage it doing a firmware update (because DFU is in ROM); an update could render Pinecil temporarily inoperable if you flash an invalid firmware. But no worries, simply re-flashing with a working firmware copy will fix everything. - One advantage of Pinecil is that you cannot permanently damage it doing a firmware update (because DFU is in ROM); an update could render Pinecil temporarily inoperable if you flash an invalid firmware. But no worries, simply re-flashing with a working firmware copy will fix everything.
- USB-C cable is required to do an update. Generally, all USB controllers work, but some hubs have issues, so it is preferred to avoid USB hubs for updates. - USB-C cable is required to do an update. Generally, all USB controllers work, but some hubs have issues, so it is preferred to avoid USB hubs for updates.
- Alternate Update Methods: if your OS is not currently supported by the [Updater](https://github.com/pine64/pinecil-firmware-updater/releases) or it does not meet your needs, i.e., you want to install a beta version, the below manual methods may be used. - Alternate Update Methods: if your OS is not currently supported by the [Pine64 Updater](https://github.com/pine64/pine64_updater) or it does not meet your needs, i.e., you want to install a beta version, the below manual methods may be used.
## Linux and Mac ## Linux and Mac

View File

@@ -12,21 +12,25 @@ These are built on every change and can be found on the Actions tab (see below).
Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases). Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases).
Download the zip file that matches your model of soldering iron and extract it. Download the zip file that matches your model of soldering iron and extract it.
Select the appropriate file type for your unit, in general Miniware devices need `.hex` and Pinecil needs `.dfu`. Select the appropriate file type for your unit, in general Miniware devices need `.hex`, Pinecil V1 needs `.dfu`, and Pinecil V2 needs `.bin`.
Flash according to details below Flash according to details below.
### Bleeding edge / latest ### Bleeding edge / latest
For the _latest_ code, you will need to download the zip file from the artifacts page on the build for what you want. For the _latest_ code, you need to download the zip file from the artifacts page for the build that you want.
Head to the [Actions](https://github.com/Ralim/IronOS/actions) page and then select the run for the appropriate branch you would like. Head to the [Actions](https://github.com/Ralim/IronOS/actions) page and then select the run for the appropriate branch and beta you would like.
In general you probably want `master`. In general you probably want `master`.
Once you click on a run, scroll down to the "Artifacts" section and then click on your model to download a zip file. Once you click on a run, scroll down to the "Artifacts" section and then click on your device model name to download a zip file.
Then this works the same as a production release (use the correct file). Then this works the same as a production release (use the correct file).
# Pinecil V2 # Pinecil V2
- The MCU in V2 is Bouffalo BL706 and does _not_ use usb-dfu for flashing as the previous MCU did. - The MCU in Pinecil V2 is Bouffalo BL706 and does _not_ use usb-dfu for flashing as the previous Pinecil V1 MCU did.
- The current firmware (2.18) is very fresh and no upgrade is available/needed. - See the Pinecil Wiki page [here](https://wiki.pine64.org/wiki/Pinecil#Firmware_&_Updates) for instructions.
- When an update is released for V2, then IronOS will also include an update method to follow. - The V2 uses the [BLISP flasher](https://github.com/pine64/blisp) to upload the firmware to the MCU.
- The [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil) is a great resource for all things Pinecil.
- Community chat: if there are issues updating, then join the Pine64 > Pinecil channel [here](https://wiki.pine64.org/wiki/Pinecil#Live_Community_Chat). There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine64 volunteers/members can see advice for Pinecil and related items or just get tips on which power supply to purchase.
- One advantage of Pinecil is that you cannot permanently damage it doing a firmware update (because BIN is in ROM); an update could render Pinecil temporarily inoperable if you flash an invalid firmware. But no worries, simply re-flashing with a working firmware copy will fix everything.
- USB-C cable is required to do an update. Generally, all USB controllers work, but some hubs have issues, so it is preferred to avoid USB hubs for updates.
- Background on the [BL706 chipset](https://lupyuen.github.io/articles/bl706) - Background on the [BL706 chipset](https://lupyuen.github.io/articles/bl706)

View File

@@ -28,7 +28,7 @@ Note that this may be drawn mirrored depending on the orientation of your screen
The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the iron will enter soldering mode. The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the iron will enter soldering mode.
And naturally, the spanner like icon represents that pressing the button near the rear of the soldering iron will enter the settings menu. And naturally, the slider controls icon (or spanner icon in older versions) represents that pressing the button near the rear of the soldering iron will enter the settings menu.
In the settings, you can turn on a detailed idle screen instead. The buttons still function the same, however, the image will be swapped for a text telling you the current status of the iron with extra details. In the settings, you can turn on a detailed idle screen instead. The buttons still function the same, however, the image will be swapped for a text telling you the current status of the iron with extra details.

View File

@@ -1,6 +1,12 @@
# Translation # Translation
Moving forward (after 2022/12/07); IronOS is using Weblate to provide the visual interface to doing translations to make it easier for people to work with. At the present time the main way of performing translations is to open a PR to this repository.
Currently there is a translation going on, so not _everything_ is perfect but its leaps in the right direction to help make it friendlier for people to edit and also subscribe to be notified when things are updated. All translations are stored as `json` files in the repository. Currently there is ongoing work to look into a more user friendly method of editing translations than these but for now these are reliable.
This can be accessed on the [weblate hosted instance](https://hosted.weblate.org/projects/ironos/main-firmware/). You can create a pull request with the new / updated json configuration file, and this will include this language into the new builds for the firmware.
For testing you can build locally and test of course; but if you dont want to figure out the build environment; you can just open a PR and github will build the firmware for you using the _actions_ feature.
This means that once you have a github account you can perform all of your edits inside Github should this be desired.
Translations are _NOT_ accepted via issues/discussions or email.

View File

@@ -1,7 +1,7 @@
![CI](https://github.com/Ralim/ts100/workflows/CI%20Build%20all/badge.svg) [![CI Build](https://github.com/Ralim/IronOS/actions/workflows/push.yml/badge.svg)](https://github.com/Ralim/IronOS/actions/workflows/push.yml)
![GitHub all](https://img.shields.io/github/downloads/ralim/IronOS/total) [![Total Downloads](https://img.shields.io/github/downloads/ralim/IronOS/total)](https://github.com/Ralim/IronOS)
![Latest Release](https://img.shields.io/github/v/release/ralim/IronOS) [![Contributors](https://img.shields.io/github/contributors-anon/ralim/ironos?color=blue&style=flat)](https://github.com/Ralim/IronOS/graphs/contributors)
[![Translation status](https://hosted.weblate.org/widgets/ironos/-/glossary/svg-badge.svg)](https://hosted.weblate.org/engage/ironos/) [![Latest Release](https://img.shields.io/github/v/release/ralim/IronOS)](https://github.com/Ralim/IronOS/releases/latest)
# IronOS - Flexible Soldering iron control Firmware # IronOS - Flexible Soldering iron control Firmware
@@ -23,15 +23,17 @@ _This firmware does **NOT** support the USB port while running for changing sett
| Device | DC | QC | PD | EPR | BLE | Battery | Recommended | | Device | DC | QC | PD | EPR | BLE | Battery | Recommended |
| :--------: | :-: | :-: | :-: | :-: | :-: | :-----: | :---------: | | :--------: | :-: | :-: | :-: | :-: | :-: | :-----: | :---------: |
| MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | | MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ |
| Pinecil V1 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | | Pinecil V1 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
| Pinecil V2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | Pinecil V2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| TS80P | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | | TS80P | ❌ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
| TS100 | ✔️ | ❌ | ❌ | ❌ | ❌ | ✔️ | | | TS100 | ✔️ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌* |
| TS80 | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | | TS80 | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌** |
\*Please note that Miniware started shipping TS100's using cloned STM32 Chips. While these do work with IronOS, their DFU bootloader works terribly, and it is hard to get it to successfully flash larger firmware images like IronOS without timing out. This is the main reason why the TS100 is **_no longer recommended_**. \*Please note that Miniware started shipping TS100's using cloned STM32 Chips. While these do work with IronOS, their DFU bootloader works terribly, and it is hard to get it to successfully flash larger firmware images like IronOS without timing out. This is the main reason why the TS100 is **_no longer recommended_**.
\**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_**.
## Getting Started ## Getting Started
To get started with IronOS firmware, please jump to [Getting Started Guide](https://ralim.github.io/IronOS/GettingStarted/). To get started with IronOS firmware, please jump to [Getting Started Guide](https://ralim.github.io/IronOS/GettingStarted/).
@@ -82,8 +84,9 @@ Operation details are over in the [Menu information.](https://ralim.github.io/Ir
## Translations ## Translations
Is your preferred language missing localisation of languages? Is your preferred language missing localisation of some of the text?
This project is using Weblate for managing translations in a user friendly way; [the user interface for this is on their hosted website.](https://hosted.weblate.org/engage/ironos/) Translations are stored as `json` files in the Translations folder.
PR's are loved and accepted to enhance the firmware.
## Thanks ## Thanks

View File

@@ -28,7 +28,7 @@
"message": "!ЗАМКНУТЫ!" "message": "!ЗАМКНУТЫ!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Цеплавы\nУцякач" "message": "Некантралюемае\nразаграванне"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Пераканайцеся, што пры наступнай загрузцы наканечнік і ручка маюць пакаёвую тэмпературу!" "message": "Пераканайцеся, што пры наступнай загрузцы наканечнік і ручка маюць пакаёвую тэмпературу!"
@@ -43,19 +43,19 @@
"message": "НАПРУГА--" "message": "НАПРУГА--"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Нізкая напруга" "message": "Нізкая напруга\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Сілкаванне В: " "message": "Сілкаванне В: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Чаканне..." "message": "Чаканне...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Джала:" "message": "Джала: \n"
}, },
"OffString": { "OffString": {
"message": "Выкл." "message": "Выкл."
@@ -119,6 +119,10 @@
"displayText": "PD\nпрыпынак", "displayText": "PD\nпрыпынак",
"description": "Час чакання ўзгаднення PD з крокам 100 мс для сумяшчальнасці з некаторымі зараднымі зараднымі прыладамі QC (0: адключана)" "description": "Час чакання ўзгаднення PD з крокам 100 мс для сумяшчальнасці з некаторымі зараднымі зараднымі прыладамі QC (0: адключана)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Уключае рэжымы PPS & EPR."
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "t° турба\nрэжыму", "displayText": "t° турба\nрэжыму",
"description": "Тэмпература джала ў турба-рэжыме" "description": "Тэмпература джала ў турба-рэжыме"
@@ -207,6 +211,10 @@
"displayText": "Падрабязны\nэкран пайкі", "displayText": "Падрабязны\nэкран пайкі",
"description": "Паказваць дэталёвую інформацыю на экране пайкі" "description": "Паказваць дэталёвую інформацыю на экране пайкі"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Межы\nмагутнасці", "displayText": "Межы\nмагутнасці",
"description": "Максімальная магутнасць, якую можа выкарыстоўваць паяльнік (Ватт)" "description": "Максімальная магутнасць, якую можа выкарыстоўваць паяльнік (Ватт)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Мова:\n BY Беларуская", "displayText": "Мова:\n BY Беларуская",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "Ниско DC Напрежение" "message": "Ниско DC Напрежение"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Ниско Напрежение" "message": "Ниско Напрежение\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Входно V: " "message": "Входно V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Сън" "message": "Сън"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Хър Хър Хър..." "message": "Хър Хър Хър...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Връх:" "message": "Връх: \n"
}, },
"OffString": { "OffString": {
"message": "Изкл." "message": "Изкл."
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Турбо\nтемп.", "displayText": "Турбо\nтемп.",
"description": "Температура за \"турбо\" режим" "description": "Температура за \"турбо\" режим"
@@ -207,6 +211,10 @@
"displayText": "Детайлен\nработен екран", "displayText": "Детайлен\nработен екран",
"description": "Детайлна информация в работен режим при запояване" "description": "Детайлна информация в работен режим при запояване"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Лимит на\nмощност", "displayText": "Лимит на\nмощност",
"description": "Максимална мощност на поялника (Watt)" "description": "Максимална мощност на поялника (Watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Език:\n BG Български", "displayText": "Език:\n BG Български",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "Nízké DC" "message": "Nízké DC"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Nízké napětí" "message": "Nízké napětí\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Napětí: " "message": "Napětí: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzz " "message": "Zzz "
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Režim spánku..." "message": "Režim spánku...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Hrot:" "message": "Hrot: \n"
}, },
"OffString": { "OffString": {
"message": "Vyp" "message": "Vyp"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "Maximální prodleva při jednání PD ve 100ms krocích pro kompatibilitu s některými QC nabíječkami" "description": "Maximální prodleva při jednání PD ve 100ms krocích pro kompatibilitu s některými QC nabíječkami"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Teplota\nboostu", "displayText": "Teplota\nboostu",
"description": "Teplota hrotu v \"režimu boost\"" "description": "Teplota hrotu v \"režimu boost\""
@@ -207,6 +211,10 @@
"displayText": "Podrobná obr.\npájení", "displayText": "Podrobná obr.\npájení",
"description": "Zobrazit detailní informace malým fontem na obrazovce pájení" "description": "Zobrazit detailní informace malým fontem na obrazovce pájení"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Omezení\nVýkonu", "displayText": "Omezení\nVýkonu",
"description": "Maximální příkon páječky (W=watt)" "description": "Maximální příkon páječky (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jazyk:\n CS Český", "displayText": "Jazyk:\n CS Český",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "Lav Volt" "message": "Lav Volt"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Undervolt" "message": "Undervolt\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: " "message": "Input V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Dvale..." "message": "Dvale...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip:" "message": "Tip: \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD-forhandlingstimeout i trin på 100 ms for kompatibilitet med nogle QC-opladere" "description": "PD-forhandlingstimeout i trin på 100 ms for kompatibilitet med nogle QC-opladere"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
"description": "Temperatur i \"boost mode\"" "description": "Temperatur i \"boost mode\""
@@ -207,6 +211,10 @@
"displayText": "Detaljeret\nloddeskærm", "displayText": "Detaljeret\nloddeskærm",
"description": "Vis detaljeret information mens der loddes" "description": "Vis detaljeret information mens der loddes"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Strøm\nbegrænsning", "displayText": "Strøm\nbegrænsning",
"description": "Maksimal effekt Loddekolben kan bruge (W=watt)" "description": "Maksimal effekt Loddekolben kan bruge (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Sprog:\n DA Dansk", "displayText": "Sprog:\n DA Dansk",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "V niedr." "message": "V niedr."
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Unterspannung" "message": "Unterspannung\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "V Eingang: " "message": "V Eingang: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Ruhemodus..." "message": "Ruhemodus...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Temp:" "message": "Temp: \n"
}, },
"OffString": { "OffString": {
"message": "Aus" "message": "Aus"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD Abfragedauer in 100ms Schritten (Kompatibilität mit best. QC-Ladegeräten)" "description": "PD Abfragedauer in 100ms Schritten (Kompatibilität mit best. QC-Ladegeräten)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Aktiviert PPS & EPR"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost-\ntemperatur", "displayText": "Boost-\ntemperatur",
"description": "Temperatur der Lötspitze im Boostmodus" "description": "Temperatur der Lötspitze im Boostmodus"
@@ -176,7 +180,7 @@
"description": "Scrollgeschwindigkeit der Erläuterungen (L=langsam | S=schnell)" "description": "Scrollgeschwindigkeit der Erläuterungen (L=langsam | S=schnell)"
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
"displayText": "+- Tasten\numkehren?", "displayText": "+- Tasten\numkehren",
"description": "Tastenbelegung zur Temperaturänderung umkehren" "description": "Tastenbelegung zur Temperaturänderung umkehren"
}, },
"AnimSpeed": { "AnimSpeed": {
@@ -188,7 +192,7 @@
"description": "Icon-Animationen im Hauptmenü wiederholen" "description": "Icon-Animationen im Hauptmenü wiederholen"
}, },
"Brightness": { "Brightness": {
"displayText": "Bildschirm-\nkontrast", "displayText": "Bildschirm-\nhelligkeit",
"description": "Verändert die Helligkeit des OLED-Displays" "description": "Verändert die Helligkeit des OLED-Displays"
}, },
"ColourInversion": { "ColourInversion": {
@@ -207,16 +211,20 @@
"displayText": "Detaillierte\nLötansicht", "displayText": "Detaillierte\nLötansicht",
"description": "Detaillierte Anzeige im Lötmodus" "description": "Detaillierte Anzeige im Lötmodus"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Aktiviert Bluetooth LE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Leistungs-\nmaximum", "displayText": "Leistungs-\nmaximum",
"description": "Maximal zulässige Leistungsaufnahme des Lötkolbens (W=Watt)" "description": "Maximal zulässige Leistungsaufnahme des Lötkolbens (W=Watt)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Temperatur\nkalibrieren?", "displayText": "Temperatur\nkalibrieren",
"description": "Beim nächsten Start wird die Kaltstellenkompensation kalibriert (nicht nötig wenn Delta T < 5°C)" "description": "Beim nächsten Start wird die Kaltstellenkompensation kalibriert (nicht nötig wenn Delta T < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Eingangsspannung\nkalibrieren?", "displayText": "Eingangsspannung\nkalibrieren",
"description": "Kalibrierung der Eingangsspannung (Langer Tastendruck zum Verlassen)" "description": "Kalibrierung der Eingangsspannung (Langer Tastendruck zum Verlassen)"
}, },
"PowerPulsePower": { "PowerPulsePower": {
@@ -232,16 +240,12 @@
"description": "Dauer des Wachhalteimpulses (x 250ms)" "description": "Dauer des Wachhalteimpulses (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "Einstellungen\nzurücksetzen?", "displayText": "Einstellungen\nzurücksetzen",
"description": "Werte auf Werkseinstellungen zurücksetzen" "description": "Werte auf Werkseinstellungen zurücksetzen"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Sprache:\n DE Deutsch", "displayText": "Sprache:\n DE Deutsch",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -4,7 +4,7 @@
"tempUnitFahrenheit": true, "tempUnitFahrenheit": true,
"messagesWarn": { "messagesWarn": {
"CJCCalibrationDone": { "CJCCalibrationDone": {
"message": "Calibration\ndone!" "message": "Βαθμονόμηση\nολοκληρώθηκε!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Επαν. OK" "message": "Επαν. OK"
@@ -31,10 +31,10 @@
"message": "Θερμική\nΦυγή" "message": "Θερμική\nΦυγή"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Πριν την επανεκκίνηση, βεβαιωθείτε ότι η μύτη και η συσκ. είναι σε θερμ. δωματίου!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "βαθμονόμηση\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Σίγουρα θέλετε επαναφορά αρχικών ρυθμίσεων;" "message": "Σίγουρα θέλετε επαναφορά αρχικών ρυθμίσεων;"
@@ -43,25 +43,25 @@
"message": "Χαμηλ DC" "message": "Χαμηλ DC"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Υπόταση" "message": "Υπόταση\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Είσοδος V: " "message": "Είσοδος V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Υπνος..." "message": "Υπνος...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Μύτη:" "message": "Μύτη: \n"
}, },
"OffString": { "OffString": {
"message": "Απ." "message": "Απ."
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Your device is most likely a counterfeit!" "message": "Η συσκευή σας ίσως να μην είναι αυθεντική!"
} }
}, },
"characters": { "characters": {
@@ -105,20 +105,24 @@
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Πηγή\nενέργειας", "displayText": "Πηγή\nενέργειας",
"description": "Πηγή ενέργειας. Oρισμός τάσης απενεργοποίησης. (DC 10V) (S 3.3V ανα κυψέλη, απενεργοποίηση ενεργειακού ορίου)" "description": "Πηγή ενέργειας. Oρισμός τάσης απενεργοποίησης. (DC 10V) (S 3.3V ανα μπαταρία, απενεργοποίηση ενεργειακού ορίου)"
}, },
"MinVolCell": { "MinVolCell": {
"displayText": "Ελάχιστη\nτάση", "displayText": "Ελάχιστη\nτάση",
"description": "Ελάχιστη επιτρεπτή τάση ανα κυψέλη (3 σε σειρά: 3 - 3.7V | 4-6 σε σειρά: 2.4 - 3.7V)" "description": "Ελάχιστη επιτρεπτή τάση ανα μπαταρία (3 σε σειρά: 3 - 3.7V | 4-6 σε σειρά: 2.4 - 3.7V)"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "Τάση\nQC", "displayText": "Τάση\nQC",
"description": "Μέγιστη τάση QC που να ζητά το κολλητήρι από το τροφοδοτικό" "description": "Μέγιστη τάση QC που να ζητείται από το τροφοδοτικό"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "χρονικό όριο\nPD", "displayText": "χρονικό όριο\nPD",
"description": "Χρονικό όριο διαπραγμάτευσης PD σε βήματα 100ms για συμβατότητα με κάποιους φορτιστές QC" "description": "Χρονικό όριο διαπραγμάτευσης PD σε βήματα 100ms για συμβατότητα με κάποιους φορτιστές QC"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Ενεργοποιεί λειτουργίες PPS & EPR."
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Θερμοκ.\nboost", "displayText": "Θερμοκ.\nboost",
"description": "Θερμοκρασία στη \"λειτουργία boost\"" "description": "Θερμοκρασία στη \"λειτουργία boost\""
@@ -196,8 +200,8 @@
"description": "Αντιστροφή χρωμάτων οθόνης OLED" "description": "Αντιστροφή χρωμάτων οθόνης OLED"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Boot logo\nduration", "displayText": "Διάρκεια\nlogo εκκίνησης",
"description": "Sets the duration for the boot logo (s=seconds)" "description": "Διάρκεια εμφάνισης της εικόνας εκκίνησης (s=seconds)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Λεπτομερής\nοθ. αδράνειας", "displayText": "Λεπτομερής\nοθ. αδράνειας",
@@ -207,13 +211,17 @@
"displayText": "Λεπτομερής\nοθ. κόλλησης", "displayText": "Λεπτομερής\nοθ. κόλλησης",
"description": "Προβολή λεπτομερών πληροφοριών σε μικρότερη γραμματοσειρά στην οθόνη κόλλησης" "description": "Προβολή λεπτομερών πληροφοριών σε μικρότερη γραμματοσειρά στην οθόνη κόλλησης"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Ενεργειακό\nόριο", "displayText": "Ενεργειακό\nόριο",
"description": "Μέγιστη ενέργεια που μπορεί να χρησιμοποιεί το κολλητήρι (W=watt)" "description": "Μέγιστη ενέργεια που μπορεί να χρησιμοποιεί το κολλητήρι (W=watt)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot", "displayText": "Βαθμονόμηση CJC\nσε επόμενη έναρξη",
"description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5 C)" "description": "Στην επόμενη εκκίνηση θα γίνει βαθμονόμηση θερμοκρασίας (δεν απαιτείται αν Δθερμ < 5 C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Βαθμονόμηση\nτάσης εισόδου;", "displayText": "Βαθμονόμηση\nτάσης εισόδου;",
@@ -236,11 +244,7 @@
"description": "Επαναφορά στις προεπιλεγμένες ρυθμίσεις" "description": "Επαναφορά στις προεπιλεγμένες ρυθμίσεις"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Γλώσσα:\n GR Ελληνικά", "displayText": "Γλώσσα:\n EL Ελληνικά",
"description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": "" "description": ""
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC LOW" "message": "DC LOW"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Undervoltage" "message": "Undervoltage\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: " "message": "Input V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Sleeping..." "message": "Sleeping...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip:" "message": "Tip: \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
"description": "Tip temperature used in \"boost mode\"" "description": "Tip temperature used in \"boost mode\""
@@ -207,13 +211,17 @@
"displayText": "Detailed\nsolder screen", "displayText": "Detailed\nsolder screen",
"description": "Display detailed info in a smaller font on soldering screen" "description": "Display detailed info in a smaller font on soldering screen"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Power\nlimit", "displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)" "description": "Maximum power the iron can use (W=watt)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot", "displayText": "Calibrate CJC\nat next boot",
"description": "Calbrate Cold Junction Compensation at next boot (not required if Delta T is < 5°C)" "description": "Calibrate Cold Junction Compensation at next boot (not required if Delta T is < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Calibrate\ninput voltage", "displayText": "Calibrate\ninput voltage",
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Language:\n EN English", "displayText": "Language:\n EN English",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -7,7 +7,7 @@
"message": "Calibration\ndone!" "message": "Calibration\ndone!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Hecho." "message": "Hecho"
}, },
"SettingsResetMessage": { "SettingsResetMessage": {
"message": "Ajustes\n¡Reiniciados!" "message": "Ajustes\n¡Reiniciados!"
@@ -28,13 +28,13 @@
"message": "¡BLOQUEADO!" "message": "¡BLOQUEADO!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Thermal\nRunaway" "message": "Térmico\nFuera de control"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "¡Antes de reiniciar, asegúrese de que la punta y el mango estén a temperatura ambiente!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "calibrando\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "¿Quieres restablecer los ajustes?" "message": "¿Quieres restablecer los ajustes?"
@@ -43,25 +43,25 @@
"message": "CC BAJA" "message": "CC BAJA"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Voltaje bajo" "message": "Voltaje bajo\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Voltaje: " "message": "Voltaje: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Reposo"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "En reposo..." "message": "En reposo...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punta:" "message": "Punta: \n"
}, },
"OffString": { "OffString": {
"message": "No" "message": "No"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Your device is most likely a counterfeit!" "message": "¡Lo más probable es que su dispositivo sea una falsificación!"
} }
}, },
"characters": { "characters": {
@@ -113,15 +113,19 @@
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "Potencia de\nentrada", "displayText": "Potencia de\nentrada",
"description": "Potencia en vatios del adaptador de corriente utilizado." "description": "Potencia en vatios del adaptador de corriente utilizado"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\ntimeout", "displayText": "PD\ntiempo de espera",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Ajustar la\ntemp. extra", "displayText": "Ajustar la\ntemp. extra",
"description": "Temperatura momentánea que se alcanza al apretar el botón del modo extra." "description": "Temperatura de la punta utilizada en el \"modo de impulso\""
}, },
"AutoStart": { "AutoStart": {
"displayText": "Calentar\nal enchufar", "displayText": "Calentar\nal enchufar",
@@ -129,15 +133,15 @@
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Cambio temp.\npuls. cortas", "displayText": "Cambio temp.\npuls. cortas",
"description": "Subir y bajar X grados de temperatura con cada pulsación corta de los botones +/-." "description": "Aumento de la temperatura al pulsar brevemente un botón"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"displayText": "Cambio temp.\npuls. largas", "displayText": "Cambio temp.\npuls. largas",
"description": "Subir y bajar X grados de temperatura con cada pulsación larga de los botones +/-." "description": "Aumento de la temperatura al pulsar prolongadamente un botón"
}, },
"LockingMode": { "LockingMode": {
"displayText": "Permitir botones\nbloqueo", "displayText": "Permitir botones\nbloqueo",
"description": "Al soldar, una pulsación larga en ambos botones los bloquea (D=desactivar | B=sólo potenciar | F=bloqueo total)." "description": "Mientras suelda, mantenga pulsados ambos botones para alternar su bloqueo (D=desactivar | B=sólo modo boost | F=bloqueo total)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Detección de\nmovimiento", "displayText": "Detección de\nmovimiento",
@@ -145,7 +149,7 @@
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temperatura\nen reposo", "displayText": "Temperatura\nen reposo",
"description": "Temperatura de la punta en reposo." "description": "Temperatura de la punta en \"reposo\""
}, },
"SleepTimeout": { "SleepTimeout": {
"displayText": "Entrar\nen reposo", "displayText": "Entrar\nen reposo",
@@ -169,7 +173,7 @@
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "Parpadear\nal enfriar", "displayText": "Parpadear\nal enfriar",
"description": "La temperatura en pantalla parpadea mientras la punta siga caliente." "description": "Lectura de la temperatura al ralentí mientras la punta está caliente"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "Velocidad\ndel texto", "displayText": "Velocidad\ndel texto",
@@ -177,7 +181,7 @@
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
"displayText": "Invertir\nbotones +/-", "displayText": "Invertir\nbotones +/-",
"description": "Intercambia las funciones de subir y bajar la temperatura de los botones +/- para que funcionen al revés." "description": "Intercambio inversa de los botones para ajustar la temperatura"
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nvelocidad", "displayText": "Anim.\nvelocidad",
@@ -201,14 +205,18 @@
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Info extra en\nmodo reposo", "displayText": "Info extra en\nmodo reposo",
"description": "Muestra información detallada en letra pequeña al reposar." "description": "Mostrar información detallada en una fuente más pequeña en la pantalla inactiva"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"displayText": "Info extra\nal soldar", "displayText": "Info extra\nal soldar",
"description": "Muestra más datos por pantalla cuando se está soldando." "description": "Mostrar información detallada en una fuente más pequeña en la pantalla de soldadura"
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Habilita BLE"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Ajustar la\npotenc. máx.", "displayText": "Potencia\nlímite",
"description": "Elige el límite de potencia máxima del soldador (en vatios)" "description": "Elige el límite de potencia máxima del soldador (en vatios)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
@@ -217,11 +225,11 @@
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Calibrar voltaje\nde entrada", "displayText": "Calibrar voltaje\nde entrada",
"description": "Calibra VIN. Ajusta con ambos botones y mantén pulsado para salir." "description": "Iniciar calibración VIN (pulsación larga para salir)"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"displayText": "Pulsos bat.\nconstantes", "displayText": "Pulsos bat.\nconstantes",
"description": "Aplica unos pulsos necesarios para mantener encendidas ciertas baterías portátiles. En vatios." "description": "Intensidad de la potencia del pulso de mantenimiento del estado de vigilia (W=vatio)"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"displayText": "Impulso de potencia\ntiempo de espera", "displayText": "Impulso de potencia\ntiempo de espera",
@@ -233,15 +241,11 @@
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "Volver a ajustes\nde fábrica", "displayText": "Volver a ajustes\nde fábrica",
"description": "Restablece todos los ajustes a los valores originales." "description": "Restablecer todos los ajustes por defecto"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Idioma:\n ES Castellano", "displayText": "Idioma:\n ES Castellano",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC ALH." "message": "DC ALH."
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Alijännite" "message": "Alijännite\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Jännite: " "message": "Jännite: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Lepotila..." "message": "Lepotila...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Kärki:" "message": "Kärki: \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Tehostus-\nlämpötila", "displayText": "Tehostus-\nlämpötila",
"description": "Tehostustilan lämpötila" "description": "Tehostustilan lämpötila"
@@ -207,6 +211,10 @@
"displayText": "Tarkempi\njuotosnäyttö", "displayText": "Tarkempi\njuotosnäyttö",
"description": "Näyttää yksityiskohtaisemmat tiedot pienellä fontilla juotostilassa" "description": "Näyttää yksityiskohtaisemmat tiedot pienellä fontilla juotostilassa"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Tehon-\nrajoitus", "displayText": "Tehon-\nrajoitus",
"description": "Suurin sallittu teho (Watti)" "description": "Suurin sallittu teho (Watti)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Kieli:\n FI Suomi", "displayText": "Kieli:\n FI Suomi",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -4,7 +4,7 @@
"tempUnitFahrenheit": false, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CJCCalibrationDone": { "CJCCalibrationDone": {
"message": "Calibration\ndone!" "message": "Étalonnage\nterminé!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Reset OK" "message": "Reset OK"
@@ -31,10 +31,10 @@
"message": "Emballement\nthermique" "message": "Emballement\nthermique"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Avant de redémarrer, assurez-vous que la panne et la poignée sont à température ambiante !"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "Etalonnage\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Voulez-vous vraiment réinitialiser les paramètres aux valeurs par défaut ?" "message": "Voulez-vous vraiment réinitialiser les paramètres aux valeurs par défaut ?"
@@ -43,19 +43,19 @@
"message": "DC FAIBL" "message": "DC FAIBL"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Sous-tension" "message": "Sous-tension\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "V d'entrée: " "message": "V d'entrée: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "En veille..." "message": "En veille...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Panne:" "message": "Panne: \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
@@ -119,6 +119,10 @@
"displayText": "Délai\nexpir. PD", "displayText": "Délai\nexpir. PD",
"description": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC" "description": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\nboost", "displayText": "Temp.\nboost",
"description": "Température utilisée en \"mode boost\"" "description": "Température utilisée en \"mode boost\""
@@ -207,13 +211,17 @@
"displayText": "Écran soudure\ndétaillé", "displayText": "Écran soudure\ndétaillé",
"description": "Afficher les informations détaillées sur l'écran de soudure" "description": "Afficher les informations détaillées sur l'écran de soudure"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Limite de\npuissance", "displayText": "Limite de\npuissance",
"description": "Puissance maximale utilisable (W=watts)" "description": "Puissance maximale utilisable (W=watts)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot", "displayText": "Étalonner CJC\nau prochain démarage",
"description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)" "description": "Au prochain démarrage, la compensation de soudure froide sera calibrée (non nécessaire si Delta T est < 5°C)."
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Étalonner\ntension d'entrée", "displayText": "Étalonner\ntension d'entrée",
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Langue:\n FR Français", "displayText": "Langue:\n FR Français",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -1,7 +1,7 @@
{ {
"languageCode": "HR", "languageCode": "HR",
"languageLocalName": "Hrvatski", "languageLocalName": "Hrvatski",
"tempUnitFahrenheit": true, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CJCCalibrationDone": { "CJCCalibrationDone": {
"message": "Kalibracija\ndovršena!" "message": "Kalibracija\ndovršena!"
@@ -43,19 +43,19 @@
"message": "BAT!!!" "message": "BAT!!!"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "PRENIZAK NAPON" "message": "PRENIZAK NAPON\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Napon V: " "message": "Napon V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzz " "message": "Zzz "
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "SPAVAM..." "message": "SPAVAM...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Vrh: " "message": "Vrh: \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
@@ -119,6 +119,10 @@
"displayText": "USB-PD\ntimeout", "displayText": "USB-PD\ntimeout",
"description": "Timeout za USB-Power Delivery u koracima od 100ms za kompatibilnost s nekim QC punjačima" "description": "Timeout za USB-Power Delivery u koracima od 100ms za kompatibilnost s nekim QC punjačima"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
"description": "Temperatura u pojačanom (Boost) načinu." "description": "Temperatura u pojačanom (Boost) načinu."
@@ -207,6 +211,10 @@
"displayText": "Detalji\npri lemljenju", "displayText": "Detalji\npri lemljenju",
"description": "Prikazivanje detaljnih informacija tijekom lemljenja" "description": "Prikazivanje detaljnih informacija tijekom lemljenja"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Ograničenje\nsnage", "displayText": "Ograničenje\nsnage",
"description": "Najveća snaga koju lemilica smije vući iz napajanja (W=watt)" "description": "Najveća snaga koju lemilica smije vući iz napajanja (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jezik:\n HR Hrvatski", "displayText": "Jezik:\n HR Hrvatski",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC túl alacsony" "message": "DC túl alacsony"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Alulfeszültség" "message": "Alulfeszültség\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Bemenet V: " "message": "Bemenet V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Alvás..." "message": "Alvás...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Hegy:" "message": "Hegy: \n"
}, },
"OffString": { "OffString": {
"message": "Ki" "message": "Ki"
@@ -119,6 +119,10 @@
"displayText": "PD\nidőtúllépés", "displayText": "PD\nidőtúllépés",
"description": "PD egyeztetés időkerete (kompatibilitás QC töltőkkel) (x 100ms)" "description": "PD egyeztetés időkerete (kompatibilitás QC töltőkkel) (x 100ms)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\nhőmérséklet", "displayText": "Boost\nhőmérséklet",
"description": "Hőmérséklet \"boost\" módban" "description": "Hőmérséklet \"boost\" módban"
@@ -207,6 +211,10 @@
"displayText": "Részletes\nforrasztás infó", "displayText": "Részletes\nforrasztás infó",
"description": "Részletes információk megjelenítése forrasztás közben" "description": "Részletes információk megjelenítése forrasztás közben"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Teljesítmény\nmaximum", "displayText": "Teljesítmény\nmaximum",
"description": "Maximális felvett teljesitmény beállitása" "description": "Maximális felvett teljesitmény beállitása"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Nyelv:\n HU Magyar", "displayText": "Nyelv:\n HU Magyar",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC BASSA" "message": "DC BASSA"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "DC INSUFFICIENTE" "message": "DC INSUFFICIENTE\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "V in:" "message": "V in: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzz " "message": "Zzz "
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Riposo" "message": "Riposo\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punta:" "message": "Punta: \n"
}, },
"OffString": { "OffString": {
"message": "OFF" "message": "OFF"
@@ -119,6 +119,10 @@
"displayText": "Abilitazione\nUSB PD", "displayText": "Abilitazione\nUSB PD",
"description": "Regola il massimo tempo utile per la negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]" "description": "Regola il massimo tempo utile per la negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Abilita le modalità Power Delivery PPS ed EPR"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp\nTurbo", "displayText": "Temp\nTurbo",
"description": "Imposta la temperatura della funzione Turbo [°C/°F]" "description": "Imposta la temperatura della funzione Turbo [°C/°F]"
@@ -207,6 +211,10 @@
"displayText": "Dettagli\nsaldatura", "displayText": "Dettagli\nsaldatura",
"description": "Mostra informazioni dettagliate durante la modalità Saldatura" "description": "Mostra informazioni dettagliate durante la modalità Saldatura"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Abilita BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Limite\npotenza", "displayText": "Limite\npotenza",
"description": "Imposta il valore di potenza massima erogabile al saldatore [watt]" "description": "Imposta il valore di potenza massima erogabile al saldatore [watt]"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Lingua:\n IT Italiano", "displayText": "Lingua:\n IT Italiano",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "Bluetooth LE\nabilitato",
"description": ""
} }
} }
} }

View File

@@ -55,7 +55,7 @@
"message": "Sleeping..." "message": "Sleeping..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip:" "message": "Tip: "
}, },
"OffString": { "OffString": {
"message": "オフ" "message": "オフ"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "一部のQC電源との互換性のため、PDネゴシエーションをタイムアウトする時間 <x100msミリ秒>" "description": "一部のQC電源との互換性のため、PDネゴシエーションをタイムアウトする時間 <x100msミリ秒>"
}, },
"PDVpdo": {
"displayText": "PD VPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "ブースト温度", "displayText": "ブースト温度",
"description": "ブーストモードで使用される温度" "description": "ブーストモードで使用される温度"
@@ -207,6 +211,10 @@
"displayText": "詳細な作業画面", "displayText": "詳細な作業画面",
"description": "半田付け画面に詳細情報を表示する" "description": "半田付け画面に詳細情報を表示する"
}, },
"BluetoothLE": {
"displayText": "Bluetooth",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "電力制限", "displayText": "電力制限",
"description": "最大電力を制限する <W=ワット>" "description": "最大電力を制限する <W=ワット>"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "言語: 日本語", "displayText": "言語: 日本語",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -10,7 +10,7 @@
"message": "Atstatyta" "message": "Atstatyta"
}, },
"SettingsResetMessage": { "SettingsResetMessage": {
"message": "Nust. atstatyti!" "message": "Nust. \natstatyti!"
}, },
"NoAccelerometerMessage": { "NoAccelerometerMessage": {
"message": "Nerastas\nakselerometras!" "message": "Nerastas\nakselerometras!"
@@ -43,19 +43,19 @@
"message": "MAŽ VOLT" "message": "MAŽ VOLT"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Žema įtampa" "message": "Žema įtampa\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Įvestis V: " "message": "Įvestis V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Miegu..." "message": "Miegu...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Antg:" "message": "Antg: \n"
}, },
"OffString": { "OffString": {
"message": "Išj" "message": "Išj"
@@ -119,6 +119,10 @@
"displayText": "PD\nlaikas", "displayText": "PD\nlaikas",
"description": "PD suderinimo laikas žingsniais po 100ms suderinamumui su kai kuriais QC įkrovikliais" "description": "PD suderinimo laikas žingsniais po 100ms suderinamumui su kai kuriais QC įkrovikliais"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Turbo\ntemperat.", "displayText": "Turbo\ntemperat.",
"description": "Temperatūra turbo režimu" "description": "Temperatūra turbo režimu"
@@ -207,6 +211,10 @@
"displayText": "Detalus lita-\nvimo ekranas", "displayText": "Detalus lita-\nvimo ekranas",
"description": "Ar rodyti išsamią informaciją lituojant" "description": "Ar rodyti išsamią informaciją lituojant"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Galios\nriba", "displayText": "Galios\nriba",
"description": "Didžiausia galia, kurią gali naudoti lituoklis (Vatai)" "description": "Didžiausia galia, kurią gali naudoti lituoklis (Vatai)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Kalba:\n LT Lietuvių", "displayText": "Kalba:\n LT Lietuvių",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -1,7 +1,7 @@
{ {
"languageCode": "NB", "languageCode": "NB",
"languageLocalName": "Norsk bokmål", "languageLocalName": "Norsk bokmål",
"tempUnitFahrenheit": true, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CJCCalibrationDone": { "CJCCalibrationDone": {
"message": "Calibration\ndone!" "message": "Calibration\ndone!"
@@ -43,19 +43,19 @@
"message": "Lavspenn" "message": "Lavspenn"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Underspenning" "message": "Underspenning\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Innspenn.: " "message": "Innspenn.: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Dvale..." "message": "Dvale...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Spiss:" "message": "Spiss: \n"
}, },
"OffString": { "OffString": {
"message": "Av" "message": "Av"
@@ -119,6 +119,10 @@
"displayText": "PD-\ntidsavb.", "displayText": "PD-\ntidsavb.",
"description": "PD-forhandlingstidsavbrudd i steg på 100 ms for kompatibilitet med noen QC-ladere" "description": "PD-forhandlingstidsavbrudd i steg på 100 ms for kompatibilitet med noen QC-ladere"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "KTmp\n", "displayText": "KTmp\n",
"description": "Temperatur i \"kraft-modus\"" "description": "Temperatur i \"kraft-modus\""
@@ -207,6 +211,10 @@
"displayText": "AvLdSk\n", "displayText": "AvLdSk\n",
"description": "Vis detaljert informasjon ved lodding" "description": "Vis detaljert informasjon ved lodding"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Effekt-\ngrense", "displayText": "Effekt-\ngrense",
"description": "Maks effekt jernet kan bruke (W=watt)" "description": "Maks effekt jernet kan bruke (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Språk:\n NB Norsk bm", "displayText": "Språk:\n NB Norsk bm",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC Laag" "message": "DC Laag"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Onderspanning" "message": "Onderspanning\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Voeding V: " "message": "Voeding V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Slaapstand..." "message": "Slaapstand...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punt:" "message": "Punt: \n"
}, },
"OffString": { "OffString": {
"message": "Uit" "message": "Uit"
@@ -112,13 +112,17 @@
"description": "Minimum toegestaan voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)" "description": "Minimum toegestaan voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "QC\nVoltage", "displayText": "QC\nvoltage",
"description": "Maximaal QC voltage dat gevraagd mag worden" "description": "Maximaal QC voltage dat gevraagd mag worden"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD afstemmingsduur in stappen van 100ms (voor compatibiliteit met sommige QC laders)" "description": "PD afstemmingsduur in stappen van 100ms (voor compatibiliteit met sommige QC laders)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
"description": "Punt temperatuur in boostmode" "description": "Punt temperatuur in boostmode"
@@ -207,6 +211,10 @@
"displayText": "Gedetailleerd\nsoldeerscherm", "displayText": "Gedetailleerd\nsoldeerscherm",
"description": "Gedetailleerde informatie weergeven in een kleiner lettertype op het soldeerscherm" "description": "Gedetailleerde informatie weergeven in een kleiner lettertype op het soldeerscherm"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Vermogen\nlimiet", "displayText": "Vermogen\nlimiet",
"description": "Maximaal vermogen (W=Watt)" "description": "Maximaal vermogen (W=Watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Taal:\n NL Nederlands", "displayText": "Taal:\n NL Nederlands",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "Voedingsspanning LAAG" "message": "Voedingsspanning LAAG"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Onderspanning" "message": "Onderspanning\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Voedingsspanning: " "message": "Voedingsspanning: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzz " "message": "Zzz "
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Slaapstand..." "message": "Slaapstand...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punt:" "message": "Punt: \n"
}, },
"OffString": { "OffString": {
"message": "Uit" "message": "Uit"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Verhogings\ntemp", "displayText": "Verhogings\ntemp",
"description": "Verhogingstemperatuur" "description": "Verhogingstemperatuur"
@@ -207,6 +211,10 @@
"displayText": "Gedetailleerd\nsoldeerscherm", "displayText": "Gedetailleerd\nsoldeerscherm",
"description": "Gedetailleerde informatie in kleiner lettertype in soldeerscherm." "description": "Gedetailleerde informatie in kleiner lettertype in soldeerscherm."
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Power\nlimit", "displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)" "description": "Maximum power the iron can use (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Spraak:\n NL_BE Vlaams", "displayText": "Spraak:\n NL_BE Vlaams",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -10,7 +10,7 @@
"message": "Reset OK" "message": "Reset OK"
}, },
"SettingsResetMessage": { "SettingsResetMessage": {
"message": "Ust. zresetowane" "message": "Ust. \nzresetowane"
}, },
"NoAccelerometerMessage": { "NoAccelerometerMessage": {
"message": "Nie rozpoznano\nakcelerometru!" "message": "Nie rozpoznano\nakcelerometru!"
@@ -43,19 +43,19 @@
"message": "NIS. NAP" "message": "NIS. NAP"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Zbyt niskie nap." "message": "Zbyt niskie nap.\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Nap. wej.:" "message": "Nap. wej.: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzz!" "message": "Zzz!"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Tr. uśpienia" "message": "Tr. uśpienia\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Grot:" "message": "Grot: \n"
}, },
"OffString": { "OffString": {
"message": "Wył" "message": "Wył"
@@ -86,7 +86,7 @@
"description": "" "description": ""
}, },
"SolderingMenu": { "SolderingMenu": {
"displayText": "Lutowanie", "displayText": "Lutowanie\n",
"description": "" "description": ""
}, },
"PowerSavingMenu": { "PowerSavingMenu": {
@@ -119,6 +119,10 @@
"displayText": "Limit czasu\nPD", "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 100 ms dla zgodności z niektórymi ładowarkami QC (0: wyłączone)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Włącza tryby PPS & EPR."
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\nboost", "displayText": "Temp.\nboost",
"description": "Temperatura w trybie \"boost\" " "description": "Temperatura w trybie \"boost\" "
@@ -207,6 +211,10 @@
"displayText": "Sz. inf. w\ntr. lutowania", "displayText": "Sz. inf. w\ntr. lutowania",
"description": "Wyświetl szczegółowe informacje w trybie lutowania" "description": "Wyświetl szczegółowe informacje w trybie lutowania"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Ogr.\nmocy", "displayText": "Ogr.\nmocy",
"description": "Maksymalna moc (W), jakiej może użyć lutownica" "description": "Maksymalna moc (W), jakiej może użyć lutownica"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Język:\n PL Polski", "displayText": "Język:\n PL Polski",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -4,37 +4,37 @@
"tempUnitFahrenheit": false, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CJCCalibrationDone": { "CJCCalibrationDone": {
"message": "Calibration\ndone!" "message": "Calibração\nefetuada!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Reset OK" "message": "Reset OK"
}, },
"SettingsResetMessage": { "SettingsResetMessage": {
"message": "Certain settings\nwere changed!" "message": "Algumas configurações\nforam alteradas!"
}, },
"NoAccelerometerMessage": { "NoAccelerometerMessage": {
"message": "No accelerometer\ndetected!" "message": "Acelerómetro não\ndetectado!"
}, },
"NoPowerDeliveryMessage": { "NoPowerDeliveryMessage": {
"message": "No USB-PD IC\ndetected!" "message": "USB-PD IC não\ndetectado!"
}, },
"LockingKeysString": { "LockingKeysString": {
"message": "LOCKED" "message": "Bloqueado"
}, },
"UnlockingKeysString": { "UnlockingKeysString": {
"message": "UNLOCKED" "message": "Desbloqueado"
}, },
"WarningKeysLockedString": { "WarningKeysLockedString": {
"message": "!LOCKED!" "message": "!Bloqueado!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Thermal\nRunaway" "message": "Thermal\nRunaway"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Antes de reninciar certifique-se que o ferro est à temperatura ambiente!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "calibrar\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Definições de fábrica?" "message": "Definições de fábrica?"
@@ -43,25 +43,25 @@
"message": "DC BAIXO" "message": "DC BAIXO"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Subtensão" "message": "Subtensão\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Tensão " "message": "Tensão: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Repouso..." "message": "Repouso...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Ponta:" "message": "Ponta: \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Your device is most likely a counterfeit!" "message": "Seu dispositivo provavelmente é falsificado!"
} }
}, },
"characters": { "characters": {
@@ -82,7 +82,7 @@
}, },
"menuGroups": { "menuGroups": {
"PowerMenu": { "PowerMenu": {
"displayText": "Power\nsettings", "displayText": "Configurações de\nenergia",
"description": "" "description": ""
}, },
"SolderingMenu": { "SolderingMenu": {
@@ -108,43 +108,47 @@
"description": "Fonte de alimentação. Define a tensão de corte. (DC=10V) (S=3.3V/célula)" "description": "Fonte de alimentação. Define a tensão de corte. (DC=10V) (S=3.3V/célula)"
}, },
"MinVolCell": { "MinVolCell": {
"displayText": "Minimum\nvoltage", "displayText": "Tensão\nmínima",
"description": "Minimum allowed voltage per battery cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)" "description": "Tensão mínima permitida por célula de bateria (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "Potência\nFonte", "displayText": "Potência\nFonte",
"description": "Potência da fonte usada (Watt)" "description": "Potência da fonte usada (Watt)"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\ntimeout", "displayText": "PD tempo\nlimite",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)" "description": "Tempo limite de negoiciação de PD de 100ms para compatibilidade com alguns carregadores é (0: disabled)"
},
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Activa o modo PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Modo turbo\ntemperat.", "displayText": "Modo turbo\ntemperat.",
"description": "Ajuste de temperatura do \"modo turbo\"" "description": "Ajuste de temperatura do \"modo turbo\""
}, },
"AutoStart": { "AutoStart": {
"displayText": "Partida\nautomática", "displayText": "Aquecimento\nautomático",
"description": "Aquece a ponta automaticamente ao ligar (D=desligar | S=soldagem | H=hibernar | A=hibernar temp. ambiente)" "description": "Aquece a ponta automaticamente ao ligar (D=desligar | S=soldagem | H=hibernar | A=hibernar temp. ambiente)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp change\nshort", "displayText": "Temp mudança\ncurta",
"description": "Temperature-change-increment on short button press" "description": "A temperatura será aumentada com um click curto"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"displayText": "Temp change\nlong", "displayText": "Temp mudança\nlonga",
"description": "Temperature-change-increment on long button press" "description": "A temperatura será aumentada com um click longo"
}, },
"LockingMode": { "LockingMode": {
"displayText": "Allow locking\nbuttons", "displayText": "Permitir bloquear\nbutões",
"description": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)" "description": "Durante a solda primir os dois butões para alternar entre (D=disativas | B=boost mode | F=bloqueio total)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Sensibilidade\nmovimento", "displayText": "Sensibilidade\nmovimento",
"description": "Sensibilidade ao movimento (0=Desligado | 1=Menor | ... | 9=Maior)" "description": "Sensibilidade ao movimento (0=Desligado | 1=Menor | ... | 9=Maior)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temperat.\nrepouso", "displayText": "Temperatura\nrepouso",
"description": "Temperatura de repouso (C)" "description": "Temperatura de repouso (C)"
}, },
"SleepTimeout": { "SleepTimeout": {
@@ -152,20 +156,20 @@
"description": "Tempo para repouso (Minutos | Segundos)" "description": "Tempo para repouso (Minutos | Segundos)"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"displayText": "Tempo\ndesligam.", "displayText": "Tempo\ndesligar",
"description": "Tempo para desligamento (Minutos)" "description": "Tempo para desligar (Minutos)"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\nsensitivity", "displayText": "Sensibilidade de\nmagentismo",
"description": "Sensitivity to magnets (0=Desligado | 1=Menor | ... | 9=Maior)" "description": "Sensibilidade de magnetismo (0=Desligado | 1=Menor | ... | 9=Maior)"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Unidade\ntemperatura", "displayText": "Unidade\ntemperatura",
"description": "Unidade de temperatura (C=Celsius | F=Fahrenheit)" "description": "Unidade de temperatura (C=Celsius | F=Fahrenheit)"
}, },
"DisplayRotation": { "DisplayRotation": {
"displayText": "Orientação\ntela", "displayText": "Orientação\necrã",
"description": "Orientação da tela (D=estro | C=anhoto | A=utomática)" "description": "Orientação do ecrã (D=estro | C=anhoto | A=utomática)"
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "Piscar ao\narrefecer", "displayText": "Piscar ao\narrefecer",
@@ -173,75 +177,75 @@
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "Velocidade\ntexto ajuda", "displayText": "Velocidade\ntexto ajuda",
"description": "Velocidade a que o texto é exibido" "description": "Velocidade a que o texto é mostrado"
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
"displayText": "Swap\n+ - keys", "displayText": "Mudar\n+ - teclas",
"description": "Reverse assignment of buttons for temperature adjustment" "description": "Inverter o alinhamento dos butões para ajudar a temperatura"
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nspeed", "displayText": "Velocidade de\nanimação",
"description": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)" "description": "Sitio das animações no menu (O=off | S=lentas | M=medias | F=rapidas)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Repetir\nanimações",
"description": "Loop icon animations in main menu" "description": "Repetir icon de animações no ecrã principal"
}, },
"Brightness": { "Brightness": {
"displayText": "Screen\nbrightness", "displayText": "Screen\nbrightness",
"description": "Adjust the OLED screen brightness" "description": "Ajustar o brilho do ecrã OLED"
}, },
"ColourInversion": { "ColourInversion": {
"displayText": "Invert\nscreen", "displayText": "Inverter\necrã",
"description": "Invert the OLED screen colors" "description": "Inverter as cores do ecrã OLED"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Boot logo\nduration", "displayText": "Duração do\nlogo no arranque",
"description": "Set boot logo duration (s=seconds)" "description": "Definir a duração do logotipo no arranque em (s=segundos)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Tela repouso\navançada", "displayText": "Ecrã repouso\navançada",
"description": "Exibe informações avançadas quando em espera" "description": "Mostra informações avançadas quando em espera"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"displayText": "Tela trabalho\navançada", "displayText": "Ecrã trabalho\navançado",
"description": "Exibe informações avançadas durante o uso" "description": "Mostra informações avançadas durante o uso"
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Power\nlimit", "displayText": "Limite de\npotência",
"description": "Maximum power the iron can use (W=watt)" "description": "Potência máxima a usar (W=watt)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot", "displayText": "Calibrar CJC\nno prozimo arranque",
"description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)" "description": "No próximo arranque CJC será calibrada (não será necessário caso o Delta T seja < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Calibrar\ntensão", "displayText": "Calibrar\ntensão",
"description": "Calibra a tensão de alimentação. Use os botões para ajustar o valor. Mantenha pressionado para sair" "description": "Calibra a tensão de alimentação. Use os botões para ajustar o valor. Mantenha pressionado para sair"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"displayText": "Power\npulse", "displayText": "Potência\ndo pulso",
"description": "Intensity of power of keep-awake-pulse (W=watt)" "description": "Intensidade de potência de arranque (W=watt)"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"displayText": "Power pulse\ndelay", "displayText": "Espera do\npulso",
"description": "Delay before keep-awake-pulse is triggered (x 2.5s)" "description": "Espera entre o acordar e o envio da rectivação (x 2.5s)"
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"displayText": "Power pulse\nduration", "displayText": "Duração\npulso",
"description": "Keep-awake-pulse duration (x 250ms)" "description": "Manter os inplosus de rectivação em (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "Reset de\nfábrica?", "displayText": "Reset de\nfábrica?",
"description": "Reverte todos ajustes" "description": "Ree todos os ajustes"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Idioma:\n PT Português", "displayText": "Idioma:\n PT Português",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -13,7 +13,7 @@
"message": "Setările au fost\nresetate!" "message": "Setările au fost\nresetate!"
}, },
"NoAccelerometerMessage": { "NoAccelerometerMessage": {
"message": "Nu accelerometru\ndetectat!" "message": "Fără accelerometru\ndetectat!"
}, },
"NoPowerDeliveryMessage": { "NoPowerDeliveryMessage": {
"message": "Fără USB-PD IC\ndetectat!" "message": "Fără USB-PD IC\ndetectat!"
@@ -28,40 +28,40 @@
"message": "!BLOCAT!" "message": "!BLOCAT!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Incalzire\nEsuata" "message": "Încălzire\nEşuată"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Înainte de repornire, asiguraţi-vă că vârful şi mânerul sunt la temperatura camerei!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "calibrare\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Sigur doriti să restaurati la setările implicite?" "message": "Sigur doriţi să restauraţi la setările implicite?"
}, },
"UVLOWarningString": { "UVLOWarningString": {
"message": "DC LOW" "message": "DC SCĂZUT"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Sub tensiune" "message": "Voltaj scăzut\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Intrare V: " "message": "Intrare V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Adormit..." "message": "Adormit...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip:" "message": "Tip: \n"
}, },
"OffString": { "OffString": {
"message": "Nu" "message": "Nu"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Your device is most likely a counterfeit!" "message": "Dispozitivul dvs. este cel mai probabil un fals!"
} }
}, },
"characters": { "characters": {
@@ -94,18 +94,18 @@
"description": "" "description": ""
}, },
"UIMenu": { "UIMenu": {
"displayText": "Interfată\nutilizator", "displayText": "Interfaţă\nutilizator",
"description": "" "description": ""
}, },
"AdvancedMenu": { "AdvancedMenu": {
"displayText": "Optiuni\navansate", "displayText": "Opţiuni\navansate",
"description": "" "description": ""
} }
}, },
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Sursa de\nalimentare", "displayText": "Sursa de\nalimentare",
"description": "Sursa de alimentare. Setează tensiunea de întrerupere. (DC 10V) (S 3.3V per celulă, dezactivati limita de alimentare)" "description": "Sursa de alimentare. Setează tensiunea de întrerupere. (DC 10V) (S 3.3V per celulă, dezactivaţi limita de alimentare)"
}, },
"MinVolCell": { "MinVolCell": {
"displayText": "Voltaj\nminim", "displayText": "Voltaj\nminim",
@@ -117,11 +117,15 @@
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "Timp limita de negociere pentru tranzactia PD, in pasi de 100ms, pentru compatibilitate cu alimentatoarele QC" "description": "Timp limită de negociere pentru tranzacţia PD, în paşi de 100ms, pentru compatibilitate cu alimentatoarele QC"
},
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Modifică\ntemp. impuls",
"description": "Temperatura utilizată în \"modul boost\"" "description": "Temperatura utilizată în \"modul de impuls\""
}, },
"AutoStart": { "AutoStart": {
"displayText": "Auto\nstart", "displayText": "Auto\nstart",
@@ -137,11 +141,11 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Blocare\nbutoane", "displayText": "Blocare\nbutoane",
"description": "Când lipiti, apăsati lung ambele butoane, pentru a le bloca (D=dezactivare | B=numai \"modul boost\" | F=blocare completă)" "description": "Când lipiţi, apăsaţi lung ambele butoane, pentru a le bloca (D=dezactivare | B=numai \"modul boost\" | F=blocare completă)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Sensibilitate\nla miscare", "displayText": "Sensibilitate\nla miscare",
"description": "Sensibilitate senzor miscare (0=oprit | 1=putin sensibil | ... | 9=cel mai sensibil)" "description": "Sensibilitate senzor miscare (0=oprit | 1=puţin sensibil | ... | 9=cel mai sensibil)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp\nrepaus", "displayText": "Temp\nrepaus",
@@ -168,8 +172,8 @@
"description": "R=dreptaci | L=stângaci | A=auto" "description": "R=dreptaci | L=stângaci | A=auto"
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "Clipeste\nla răcire", "displayText": "Clipeşte\nla răcire",
"description": "Clipeste temperatura după oprirea încălzirii, în timp ce vârful este încă fierbinte" "description": "Clipeşte temperatura după oprirea încălzirii, în timp ce vârful este încă fierbinte"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "Viteză\nderulare", "displayText": "Viteză\nderulare",
@@ -180,32 +184,36 @@
"description": "Inversarea butoanelor de reglare a temperaturii" "description": "Inversarea butoanelor de reglare a temperaturii"
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Animatii\nviteză", "displayText": "Animaţii\nviteză",
"description": "Ritmul animatiilor pictogramei din meniu (O=oprit | Î=încet | M=mediu | R=rapid)" "description": "Ritmul animaţiilor pictogramei din meniu (O=oprit | Î=încet | M=mediu | R=rapid)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Animatii\nbuclă", "displayText": "Animaţii\nbuclă",
"description": "Animatii de pictograme în meniul principal" "description": "Animaţii de pictograme în meniul principal"
}, },
"Brightness": { "Brightness": {
"displayText": "Ecranului\nluminozitatea", "displayText": "Ecranului\nluminozitatea",
"description": "Ajusteaza luminozitatea ecranului" "description": "Ajusteaza luminozitatea ecranului"
}, },
"ColourInversion": { "ColourInversion": {
"displayText": "Inverseaza\nculoarea", "displayText": "Inversează\nculoarea",
"description": "Inverseaza culoarea ecranului" "description": "Inversează culoarea ecranului"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Durată\nlogo încărcare", "displayText": "Durată\nlogo încărcare",
"description": "Setati durata logo de pornire (s=secunde)" "description": "Setaţi durată logo de pornire (s=secunde)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Detalii,\necran inactiv", "displayText": "Detalii,\necran inactiv",
"description": "Afisati informatii detaliate într-un font mai mic pe ecranul de repaus" "description": "Afisaţi informaţii detaliate într-un font mai mic pe ecranul de repaus"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"displayText": "Detalii\necran lipire", "displayText": "Detalii\necran lipire",
"description": "Afisati informatii detaliate într-un font mai mic pe ecranul de lipire" "description": "Afisaţi informaţii detaliate într-un font mai mic pe ecranul de lipire"
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Activează BLE"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Putere\nlimită", "displayText": "Putere\nlimită",
@@ -213,15 +221,15 @@
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Calibrare CJC\nla următoarea pornire", "displayText": "Calibrare CJC\nla următoarea pornire",
"description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)" "description": "La următorul vârf de pornire, compensarea joncţiunii reci va fi calibrată (nu este necesară dacă Delta T este < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Calibrare tens.\nde intrare?", "displayText": "Calibrare tens.\nde intrare?",
"description": "Porniti calibrarea VIN (apăsati lung pentru a iesi)" "description": "Porniţi calibrarea VIN (apăsaţi lung pentru a ieşi)"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"displayText": "Putere\npuls", "displayText": "Putere\npuls",
"description": "Puterea pulsului de mentinere activa a blocului de alimentare (watt)" "description": "Puterea pulsului de menţinere activă a blocului de alimentare (watt)"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"displayText": "Întârziere\npuls putere", "displayText": "Întârziere\npuls putere",
@@ -229,19 +237,15 @@
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"displayText": "Durată\npuls putere", "displayText": "Durată\npuls putere",
"description": "Durata pulsului de mentinere (x 250ms)" "description": "Durata pulsului de menţinere (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "Setări\ndin fabrică", "displayText": "Setări\ndin fabrică",
"description": "Reveniti la setările din fabrică" "description": "Reveniţi la setările din fabrică"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Limbă:\n RO Română", "displayText": "Limbă:\n RO Română",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -28,7 +28,7 @@
"message": "!ЗАБЛОК!" "message": "!ЗАБЛОК!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Thermal\nRunaway" "message": "Неуправляемый\nРазогрев"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Пожалуйста, убедитесь, что жало и корпус имеют комнатную температуру при следующей загрузке!" "message": "Пожалуйста, убедитесь, что жало и корпус имеют комнатную температуру при следующей загрузке!"
@@ -43,19 +43,19 @@
"message": "НАПРЯЖ--" "message": "НАПРЯЖ--"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Низ. напряжение" "message": "Низ. напряжение\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Питание В: " "message": "Питание В: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Ожидание..." "message": "Ожидание...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Жало:" "message": "Жало: \n"
}, },
"OffString": { "OffString": {
"message": "Вык" "message": "Вык"
@@ -119,6 +119,10 @@
"displayText": "PD\nтайм-аут", "displayText": "PD\nтайм-аут",
"description": "Power Delivery тайм-аут согласования с шагом 100 мс для совместимости с некоторыми быстрыми зарядными QC (0: отключено)" "description": "Power Delivery тайм-аут согласования с шагом 100 мс для совместимости с некоторыми быстрыми зарядными QC (0: отключено)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Включает режимы PPS & EPR."
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "t° турбо\nрежима", "displayText": "t° турбо\nрежима",
"description": "Температура жала в турбо-режиме" "description": "Температура жала в турбо-режиме"
@@ -207,6 +211,10 @@
"displayText": "Подробный\nэкран пайки", "displayText": "Подробный\nэкран пайки",
"description": "Показывать детальную информацию на экране пайки" "description": "Показывать детальную информацию на экране пайки"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Предел\nмощности", "displayText": "Предел\nмощности",
"description": "Максимальная мощность, которую может использовать паяльник (Ватт)" "description": "Максимальная мощность, которую может использовать паяльник (Ватт)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Язык:\n RU Русский", "displayText": "Язык:\n RU Русский",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "Nízke U!" "message": "Nízke U!"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Nízke napätie" "message": "Nízke napätie\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Vstupné U: " "message": "Vstupné U: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Chrr" "message": "Chrr"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Pokojový režim." "message": "Pokojový režim.\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Hrot:" "message": "Hrot: \n"
}, },
"OffString": { "OffString": {
"message": "Vyp" "message": "Vyp"
@@ -119,6 +119,10 @@
"displayText": "Čas vypršania\nPower Delivery", "displayText": "Čas vypršania\nPower Delivery",
"description": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)" "description": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\nteplota", "displayText": "Boost\nteplota",
"description": "Cieľová teplota pre prudký náhrev (v nastavených jednotkách)" "description": "Cieľová teplota pre prudký náhrev (v nastavených jednotkách)"
@@ -207,6 +211,10 @@
"displayText": "Detaily počas\nspájkovania", "displayText": "Detaily počas\nspájkovania",
"description": "Zobrazenie detailov počas spájkovania" "description": "Zobrazenie detailov počas spájkovania"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Obmedzenie\nvýkonu", "displayText": "Obmedzenie\nvýkonu",
"description": "Obmedzenie výkonu podľa použitého zdroja (watt)" "description": "Obmedzenie výkonu podľa použitého zdroja (watt)"
@@ -228,7 +236,7 @@
"description": "Interval medzi impulzami udržujúcimi napájací zdroj zapnutý (x 2.5s)" "description": "Interval medzi impulzami udržujúcimi napájací zdroj zapnutý (x 2.5s)"
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"displayText": "Dĺžka impulzu", "displayText": "Dĺžka\nimpulzu",
"description": "Dĺžka impulzu udržujúci napájací zdroj zapnutý (x 250ms)" "description": "Dĺžka impulzu udržujúci napájací zdroj zapnutý (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jazyk:\n SK Slovenčina", "displayText": "Jazyk:\n SK Slovenčina",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "NIZKA U" "message": "NIZKA U"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Nizka napetost" "message": "Nizka napetost\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Vhodna U: " "message": "Vhodna U: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Spim..." "message": "Spim...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Konica" "message": "Konica \n"
}, },
"OffString": { "OffString": {
"message": "Off" "message": "Off"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Pospešena\ntemp.", "displayText": "Pospešena\ntemp.",
"description": "Temperatura v pospešenem načinu" "description": "Temperatura v pospešenem načinu"
@@ -207,6 +211,10 @@
"displayText": "Več info na\nzaslonu spaj.", "displayText": "Več info na\nzaslonu spaj.",
"description": "Prikaže več informacij z manjšo pisavo na zaslonu med spajkanjem." "description": "Prikaže več informacij z manjšo pisavo na zaslonu med spajkanjem."
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Meja\nmoči", "displayText": "Meja\nmoči",
"description": "Največja dovoljena moč v vatih [W]" "description": "Največja dovoljena moč v vatih [W]"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jezik:\n SL Slovenščina", "displayText": "Jezik:\n SL Slovenščina",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "НИЗ.НАП." "message": "НИЗ.НАП."
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "ПРЕНИЗАК НАПОН" "message": "ПРЕНИЗАК НАПОН\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Ул. напон: " "message": "Ул. напон: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Сан" "message": "Сан"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Спавање..." "message": "Спавање...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Врх:" "message": "Врх: \n"
}, },
"OffString": { "OffString": {
"message": "Иск" "message": "Иск"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Темп.\nпојачања", "displayText": "Темп.\nпојачања",
"description": "Температура врха лемилице у току појачања." "description": "Температура врха лемилице у току појачања."
@@ -207,6 +211,10 @@
"displayText": "Детаљи током\nлемљења", "displayText": "Детаљи током\nлемљења",
"description": "Приказивање детаљних информација на екрану током лемљења." "description": "Приказивање детаљних информација на екрану током лемљења."
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Power\nlimit", "displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)" "description": "Maximum power the iron can use (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jезик:\n SR Српски", "displayText": "Jезик:\n SR Српски",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "NIZ.NAP." "message": "NIZ.NAP."
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "PRENIZAK NAPON" "message": "PRENIZAK NAPON\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Ul. napon: " "message": "Ul. napon: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzz" "message": "Zzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Spavanje..." "message": "Spavanje...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Vrh:" "message": "Vrh: \n"
}, },
"OffString": { "OffString": {
"message": "Isk" "message": "Isk"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\npojačanja", "displayText": "Temp.\npojačanja",
"description": "Temperatura vrha lemilice u toku pojačanja." "description": "Temperatura vrha lemilice u toku pojačanja."
@@ -207,6 +211,10 @@
"displayText": "Detalji tokom\nlemljenja", "displayText": "Detalji tokom\nlemljenja",
"description": "Prikazivanje detaljnih informacija na ekranu tokom lemljenja." "description": "Prikazivanje detaljnih informacija na ekranu tokom lemljenja."
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Power\nlimit", "displayText": "Power\nlimit",
"description": "Maximum power the iron can use (W=watt)" "description": "Maximum power the iron can use (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jezik:\n SR Srpski", "displayText": "Jezik:\n SR Srpski",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC LÅG" "message": "DC LÅG"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Underspänning" "message": "Underspänning\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Inspän. V: " "message": "Inspän. V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Viloläge..." "message": "Viloläge...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Spets:" "message": "Spets: \n"
}, },
"OffString": { "OffString": {
"message": "Av" "message": "Av"
@@ -119,6 +119,10 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Turbo-\ntemp", "displayText": "Turbo-\ntemp",
"description": "Temperatur i \"turbo-läge\"" "description": "Temperatur i \"turbo-läge\""
@@ -207,6 +211,10 @@
"displayText": "Detaljerad\nlödng.skärm", "displayText": "Detaljerad\nlödng.skärm",
"description": "Visa detaljerad information vid lödning" "description": "Visa detaljerad information vid lödning"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Max-\neffekt", "displayText": "Max-\neffekt",
"description": "Maximal effekt som enheten kan använda (Watt)" "description": "Maximal effekt som enheten kan använda (Watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Språk:\n SV Svenska", "displayText": "Språk:\n SV Svenska",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -1,7 +1,7 @@
{ {
"languageCode": "TR", "languageCode": "TR",
"languageLocalName": "Türkçe", "languageLocalName": "Türkçe",
"tempUnitFahrenheit": true, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CJCCalibrationDone": { "CJCCalibrationDone": {
"message": "Calibration\ndone!" "message": "Calibration\ndone!"
@@ -43,19 +43,19 @@
"message": "Güç Az" "message": "Güç Az"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Düşük Voltaj" "message": "Düşük Voltaj\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Giriş V: " "message": "Giriş V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Bekleme Modu ..." "message": "Bekleme Modu...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Uç:" "message": "Uç: \n"
}, },
"OffString": { "OffString": {
"message": "Kapalı" "message": "Kapalı"
@@ -104,7 +104,7 @@
}, },
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "GÇKYN", "displayText": "GÇKYN\n",
"description": "\"Güç Kaynağı\". En düşük çalışma voltajını ayarlar. (DC 10V) (S 3.3V hücre başına)" "description": "\"Güç Kaynağı\". En düşük çalışma voltajını ayarlar. (DC 10V) (S 3.3V hücre başına)"
}, },
"MinVolCell": { "MinVolCell": {
@@ -119,12 +119,16 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "YKSC", "displayText": "YKSC\n",
"description": "Yüksek Performans Modu Sıcaklığı" "description": "Yüksek Performans Modu Sıcaklığı"
}, },
"AutoStart": { "AutoStart": {
"displayText": "OTOBAŞ", "displayText": "OTOBAŞ\n",
"description": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (K=Kapalı | L=Lehimleme Modu | U=Uyku Modu | S=Uyku Modu Oda Sıcaklığı)" "description": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (K=Kapalı | L=Lehimleme Modu | U=Uyku Modu | S=Uyku Modu Oda Sıcaklığı)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
@@ -140,19 +144,19 @@
"description": "While soldering, hold down both buttons to toggle locking them (K=Kapalı | B=boost mode only | F=full locking)" "description": "While soldering, hold down both buttons to toggle locking them (K=Kapalı | B=boost mode only | F=full locking)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "HARHAS", "displayText": "HARHAS\n",
"description": "Hareket Hassasiyeti (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)" "description": "Hareket Hassasiyeti (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "BKSC", "displayText": "BKSC\n",
"description": "Bekleme Modu Sıcaklığı (C)" "description": "Bekleme Modu Sıcaklığı (C)"
}, },
"SleepTimeout": { "SleepTimeout": {
"displayText": "BMZA", "displayText": "BMZA\n",
"description": "Bekleme Modu Zaman Aşımı (Dakika | Saniye)" "description": "Bekleme Modu Zaman Aşımı (Dakika | Saniye)"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"displayText": "KPTZA", "displayText": "KPTZA\n",
"description": "Kapatma Zaman Aşımı (Dakika)" "description": "Kapatma Zaman Aşımı (Dakika)"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
@@ -160,19 +164,19 @@
"description": "Sensitivity to magnets (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)" "description": "Sensitivity to magnets (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "SCKBRM", "displayText": "SCKBRM\n",
"description": "Sıcaklık Birimi (C=Celsius | F=Fahrenheit)" "description": "Sıcaklık Birimi (C=Celsius | F=Fahrenheit)"
}, },
"DisplayRotation": { "DisplayRotation": {
"displayText": "GRNYÖN", "displayText": "GRNYÖN\n",
"description": "Görüntü Yönlendirme (R=Sağlak | L=Solak | O=Otomatik)" "description": "Görüntü Yönlendirme (R=Sağlak | L=Solak | O=Otomatik)"
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "SĞGÖST", "displayText": "SĞGÖST\n",
"description": "Soğutma ekranında uç hala sıcakken derece gösterilsin." "description": "Soğutma ekranında uç hala sıcakken derece gösterilsin."
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "YZKYHZ", "displayText": "YZKYHZ\n",
"description": "Bu yazının kayma hızı (Y=Yavaş | H=Hızlı)" "description": "Bu yazının kayma hızı (Y=Yavaş | H=Hızlı)"
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
@@ -200,13 +204,17 @@
"description": "Set boot logo duration (s=seconds)" "description": "Set boot logo duration (s=seconds)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "AYRBİL", "displayText": "AYRBİL\n",
"description": "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster." "description": "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster."
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"displayText": "GELLHM", "displayText": "GELLHM\n",
"description": "\"Gelişmiş Lehimleme\" Lehimleme yaparken detaylı bilgi göster" "description": "\"Gelişmiş Lehimleme\" Lehimleme yaparken detaylı bilgi göster"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Power\nlimit", "displayText": "Power\nlimit",
"description": "Havyanın kullanacağı en yüksek güç (W=Watts)" "description": "Havyanın kullanacağı en yüksek güç (W=Watts)"
@@ -216,7 +224,7 @@
"description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)" "description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "VOL KAL?", "displayText": "VOL KAL?\n",
"description": "Voltaj Girişi Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas." "description": "Voltaj Girişi Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas."
}, },
"PowerPulsePower": { "PowerPulsePower": {
@@ -232,16 +240,12 @@
"description": "Keep-awake-pulse duration (x 250ms)" "description": "Keep-awake-pulse duration (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "SIFIRLA?", "displayText": "SIFIRLA?\n",
"description": "Bütün ayarları sıfırlar" "description": "Bütün ayarları sıfırlar"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Dil:\n TR Türkçe", "displayText": "Dil:\n TR Türkçe",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "АККУМ--" "message": "АККУМ--"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Низька напруга" "message": "Низька напруга\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Жив.(B): " "message": "Жив.(B): \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "ZzZzz" "message": "ZzZzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Очікування..." "message": "Очікування...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Жало:" "message": "Жало: \n"
}, },
"OffString": { "OffString": {
"message": "Вимк" "message": "Вимк"
@@ -119,6 +119,10 @@
"displayText": "PD\nзатримка", "displayText": "PD\nзатримка",
"description": "Затримка у 100мс інкрементах для PD для сумісності з деякими QC зарядними пристроями (0: вимкнено)" "description": "Затримка у 100мс інкрементах для PD для сумісності з деякими QC зарядними пристроями (0: вимкнено)"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Вмикає режими PPS & EPR."
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Темпер.\nТурбо", "displayText": "Темпер.\nТурбо",
"description": "Температура в \"Турбо\" режимі" "description": "Температура в \"Турбо\" режимі"
@@ -207,6 +211,10 @@
"displayText": "Детальний\nрежим пайки", "displayText": "Детальний\nрежим пайки",
"description": "Показувати детальну інформацію при пайці." "description": "Показувати детальну інформацію при пайці."
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Макс.\nпотуж.", "displayText": "Макс.\nпотуж.",
"description": "Макс. потужність, яку може використовувати паяльник (Ват)" "description": "Макс. потужність, яку може використовувати паяльник (Ват)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Мова:\n UK Українська", "displayText": "Мова:\n UK Українська",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -43,19 +43,19 @@
"message": "DC thap" "message": "DC thap"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Đien áp thap" "message": "Đien áp thap\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Đau vào V: " "message": "Đau vào V: \n"
}, },
"SleepingSimpleString": { "SleepingSimpleString": {
"message": "Zzzz" "message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Đang ngu..." "message": "Đang ngu...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Meo:" "message": "Meo: \n"
}, },
"OffString": { "OffString": {
"message": "Tat" "message": "Tat"
@@ -119,6 +119,10 @@
"displayText": "PD\nsau", "displayText": "PD\nsau",
"description": "Thoi gian cho đàm phán PD trong các buoc 100ms đe tuong thích voi mot so bo sac QC" "description": "Thoi gian cho đàm phán PD trong các buoc 100ms đe tuong thích voi mot so bo sac QC"
}, },
"PDVpdo": {
"displayText": "PD\nVPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "Tăng\nnhiet đo", "displayText": "Tăng\nnhiet đo",
"description": "Nhiet đo dùng trong che đo \"tăng cuong\"" "description": "Nhiet đo dùng trong che đo \"tăng cuong\""
@@ -207,6 +211,10 @@
"displayText": "Chi tiet\nmàn hình hàn", "displayText": "Chi tiet\nmàn hình hàn",
"description": "-Hien thi thông tin bang phông chu nho hon trên màn hình hàn" "description": "-Hien thi thông tin bang phông chu nho hon trên màn hình hàn"
}, },
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "Công suat\ngioi han", "displayText": "Công suat\ngioi han",
"description": "-Công suat toi đa mà tay hàn có the su dung (W=watt)" "description": "-Công suat toi đa mà tay hàn có the su dung (W=watt)"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Ngôn ngu:\n VI Tieng Viet", "displayText": "Ngôn ngu:\n VI Tieng Viet",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -34,7 +34,7 @@
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Before rebooting, make sure tip & handle are at room temperature!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "calibrating"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "你係咪確定要將全部設定重設到預設值?" "message": "你係咪確定要將全部設定重設到預設值?"
@@ -55,7 +55,7 @@
"message": "Sleeping..." "message": "Sleeping..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip:" "message": "Tip: "
}, },
"OffString": { "OffString": {
"message": "關" "message": "關"
@@ -119,6 +119,10 @@
"displayText": "PD逾時", "displayText": "PD逾時",
"description": "設定USB PD協定交涉嘅逾時時限為兼容某啲QC電源而設 <x100ms亳秒>" "description": "設定USB PD協定交涉嘅逾時時限為兼容某啲QC電源而設 <x100ms亳秒>"
}, },
"PDVpdo": {
"displayText": "PD VPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "增熱温度", "displayText": "增熱温度",
"description": "喺增熱模式時使用嘅温度" "description": "喺增熱模式時使用嘅温度"
@@ -207,6 +211,10 @@
"displayText": "詳細焊接畫面", "displayText": "詳細焊接畫面",
"description": "喺焊接模式畫面以英文細字顯示詳細嘅資料" "description": "喺焊接模式畫面以英文細字顯示詳細嘅資料"
}, },
"BluetoothLE": {
"displayText": "Bluetooth",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "功率限制", "displayText": "功率限制",
"description": "限制焫雞可用嘅最大功率 <W=watt>" "description": "限制焫雞可用嘅最大功率 <W=watt>"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "語言: 廣東話", "displayText": "語言: 廣東話",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -34,7 +34,7 @@
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Before rebooting, make sure tip & handle are at room temperature!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "calibrating"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "你是否确定要将全部设定重置为默认值?" "message": "你是否确定要将全部设定重置为默认值?"
@@ -55,7 +55,7 @@
"message": "Zzzz..." "message": "Zzzz..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "--->" "message": "<--- "
}, },
"OffString": { "OffString": {
"message": "关" "message": "关"
@@ -119,6 +119,10 @@
"displayText": "PD超时", "displayText": "PD超时",
"description": "设定USB-PD协议交涉的超时时限为兼容某些QC电源而设 <x100ms亳秒>" "description": "设定USB-PD协议交涉的超时时限为兼容某些QC电源而设 <x100ms亳秒>"
}, },
"PDVpdo": {
"displayText": "PD VPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "增热温度", "displayText": "增热温度",
"description": "增热模式时使用的温度" "description": "增热模式时使用的温度"
@@ -207,6 +211,10 @@
"displayText": "焊接画面详情", "displayText": "焊接画面详情",
"description": "焊接模式画面以英语小字体显示详请" "description": "焊接模式画面以英语小字体显示详请"
}, },
"BluetoothLE": {
"displayText": "Bluetooth",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "功率限制", "displayText": "功率限制",
"description": "限制烙铁可用的最大功率 <W=瓦特>" "description": "限制烙铁可用的最大功率 <W=瓦特>"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "语言:简体中文", "displayText": "语言:简体中文",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -34,7 +34,7 @@
"message": "Before rebooting, make sure tip & handle are at room temperature!" "message": "Before rebooting, make sure tip & handle are at room temperature!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "calibrating\n" "message": "calibrating"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "你是否確定要將全部設定重設到預設值?" "message": "你是否確定要將全部設定重設到預設值?"
@@ -55,7 +55,7 @@
"message": "Sleeping..." "message": "Sleeping..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip:" "message": "Tip: "
}, },
"OffString": { "OffString": {
"message": "關" "message": "關"
@@ -119,6 +119,10 @@
"displayText": "PD逾時", "displayText": "PD逾時",
"description": "設定USB PD協定交涉的逾時時限為兼容某些QC電源而設 <x100ms亳秒>" "description": "設定USB PD協定交涉的逾時時限為兼容某些QC電源而設 <x100ms亳秒>"
}, },
"PDVpdo": {
"displayText": "PD VPDO",
"description": "Enables PPS & EPR modes"
},
"BoostTemperature": { "BoostTemperature": {
"displayText": "增熱溫度", "displayText": "增熱溫度",
"description": "於增熱模式時使用的溫度" "description": "於增熱模式時使用的溫度"
@@ -207,6 +211,10 @@
"displayText": "詳細焊接畫面", "displayText": "詳細焊接畫面",
"description": "於焊接模式畫面以英文小字型顯示詳細資料" "description": "於焊接模式畫面以英文小字型顯示詳細資料"
}, },
"BluetoothLE": {
"displayText": "Bluetooth",
"description": "Enables BLE"
},
"PowerLimit": { "PowerLimit": {
"displayText": "功率限制", "displayText": "功率限制",
"description": "限制烙鐵可用的最大功率 <W=watt瓦特>" "description": "限制烙鐵可用的最大功率 <W=watt瓦特>"
@@ -238,10 +246,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "語言:正體中文", "displayText": "語言:正體中文",
"description": "" "description": ""
},
"BLEEnabled": {
"displayText": "BLE\n Enabled",
"description": ""
} }
} }
} }

View File

@@ -217,6 +217,12 @@
"maxLen2": 15, "maxLen2": 15,
"description": "How long until firmware stops trying to negotiate for USB-PD and tries QC instead. Longer times may help dodgy / old PD adapters, faster times move onto PD quickly. Units of 100ms. Recommended to keep small values." "description": "How long until firmware stops trying to negotiate for USB-PD and tries QC instead. Longer times may help dodgy / old PD adapters, faster times move onto PD quickly. Units of 100ms. Recommended to keep small values."
}, },
{
"id": "PDVpdo",
"maxLen": 7,
"maxLen2": 15,
"description": "Enabled PPS & EPR modes."
},
{ {
"id": "BoostTemperature", "id": "BoostTemperature",
"maxLen": 4, "maxLen": 4,
@@ -349,6 +355,12 @@
"maxLen2": 13, "maxLen2": 13,
"description": "Should the device show an 'advanced' soldering view. This is a text-based view that shows more information at the cost of no nice graphics." "description": "Should the device show an 'advanced' soldering view. This is a text-based view that shows more information at the cost of no nice graphics."
}, },
{
"id": "BluetoothLE",
"maxLen": 7,
"maxLen2": 15,
"description": "Should BLE be enabled at boot time."
},
{ {
"id": "PowerLimit", "id": "PowerLimit",
"maxLen": 5, "maxLen": 5,
@@ -396,12 +408,6 @@
"maxLen": 7, "maxLen": 7,
"maxLen2": 15, "maxLen2": 15,
"description": "Changes the device language on multi-lingual builds." "description": "Changes the device language on multi-lingual builds."
},
{
"id": "BLEEnabled",
"maxLen": 7,
"maxLen2": 15,
"description": "Should BLE be enabled at boot time."
} }
] ]
} }

View File

@@ -1,4 +1,5 @@
version: "3" version: "3"
name: "ironos"
services: services:
builder: builder:
stdin_open: true stdin_open: true

View File

@@ -1,8 +1,21 @@
# Project info
site_name: IronOS site_name: IronOS
site_url: https://ralim.github.io/IronOS/ site_url: https://ralim.github.io/IronOS/
repo_url: https://github.com/ralim/IronOS/
site_description: "IronOS Open Source Soldering Iron firmware for Miniware and Pinecil" site_description: "IronOS Open Source Soldering Iron firmware for Miniware and Pinecil"
# repo config
repo_url: https://github.com/ralim/IronOS/
docs_dir: Documentation docs_dir: Documentation
edit_uri: edit/dev/Documentation/
# Theme and config
theme:
name: readthedocs
highlightsjs: true
hljs_languages:
- yaml
nav: nav:
- Home: index.md - Home: index.md
- Getting Started: GettingStarted.md - Getting Started: GettingStarted.md
@@ -27,4 +40,17 @@ nav:
- Translations: Translation.md - Translations: Translation.md
- Development: Development.md - Development: Development.md
theme: readthedocs # Plugins
plugins:
- search
- autolinks
- awesome-pages
- git-revision-date
# Markdown Extensions
markdown_extensions:
- attr_list
- pymdownx.emoji:
emoji_index: !!python/name:pymdownx.emoji.twemoji
emoji_generator: !!python/name:pymdownx.emoji.to_svg

View File

@@ -60,6 +60,15 @@
#define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right #define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 0 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 100 // Max OLED brightness selectable
#define BRIGHTNESS_STEP 25 // OLED brightness increment
#define DEFAULT_BRIGHTNESS 25 // default OLED brightness
/** /**
* Temp change settings * Temp change settings
*/ */
@@ -137,7 +146,7 @@
#define MAX_TEMP_C 350 // Max soldering temp selectable °C #define MAX_TEMP_C 350 // Max soldering temp selectable °C
#define MAX_TEMP_F 660 // Max soldering temp selectable °F #define MAX_TEMP_F 660 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C #define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F #define MIN_TEMP_F 50 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 150 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_C 150 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 300 // The min settable temp for boost mode °F #define MIN_BOOST_TEMP_F 300 // The min settable temp for boost mode °F
#define NO_DISPLAY_ROTATE // Disable OLED rotation by accel #define NO_DISPLAY_ROTATE // Disable OLED rotation by accel

View File

@@ -59,6 +59,15 @@
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 0 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 100 // Max OLED brightness selectable
#define BRIGHTNESS_STEP 25 // OLED brightness increment
#define DEFAULT_BRIGHTNESS 25 // default OLED brightness
/** /**
* Temp change settings * Temp change settings
*/ */
@@ -141,7 +150,7 @@
#define MAX_TEMP_C 450 // Max soldering temp selectable °C #define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F #define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C #define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F #define MIN_TEMP_F 50 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F

View File

@@ -59,6 +59,15 @@
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 0 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 100 // Max OLED brightness selectable
#define BRIGHTNESS_STEP 25 // OLED brightness increment
#define DEFAULT_BRIGHTNESS 25 // default OLED brightness
/** /**
* Temp change settings * Temp change settings
*/ */
@@ -132,7 +141,7 @@
#define MAX_TEMP_C 450 // Max soldering temp selectable °C #define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F #define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C #define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F #define MIN_TEMP_F 50 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F

View File

@@ -17,15 +17,18 @@ extern "C" {
#include "bl702_pwm.h" #include "bl702_pwm.h"
#include "bl702_timer.h" #include "bl702_timer.h"
} }
void start_PWM_output(void);
#define ADC_Filter_Smooth 4 #define ADC_Filter_Smooth 4
history<uint16_t, ADC_Filter_Smooth> ADC_Vin; history<uint16_t, ADC_Filter_Smooth> ADC_Vin;
history<uint16_t, ADC_Filter_Smooth> ADC_Temp; history<uint16_t, ADC_Filter_Smooth> ADC_Temp;
history<uint16_t, ADC_Filter_Smooth> ADC_Tip; history<uint16_t, ADC_Filter_Smooth> ADC_Tip;
volatile uint8_t ADCBurstCounter = 0;
void adc_fifo_irq(void) { void adc_fifo_irq(void) {
if (ADC_GetIntStatus(ADC_INT_FIFO_READY) == SET) { if (ADC_GetIntStatus(ADC_INT_FIFO_READY) == SET) {
// Read out all entries in the fifo // Read out all entries in the fifo
while (ADC_Get_FIFO_Count()) { while (ADC_Get_FIFO_Count()) {
ADCBurstCounter++;
volatile uint32_t reading = ADC_Read_FIFO(); volatile uint32_t reading = ADC_Read_FIFO();
// As per manual, 26 bit reading; lowest 16 are the ADC // As per manual, 26 bit reading; lowest 16 are the ADC
uint16_t sample = reading & 0xFFFF; uint16_t sample = reading & 0xFFFF;
@@ -46,12 +49,17 @@ void adc_fifo_irq(void) {
} }
} }
// unblock the PID controller thread if (ADCBurstCounter >= 8) {
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { ADCBurstCounter = 0;
BaseType_t xHigherPriorityTaskWoken = pdFALSE; start_PWM_output();
if (pidTaskNotification) {
vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken); // unblock the PID controller thread
portYIELD_FROM_ISR(xHigherPriorityTaskWoken); if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
if (pidTaskNotification) {
vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken);
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
}
} }
} }
} }
@@ -66,12 +74,8 @@ volatile uint16_t PWMSafetyTimer = 0;
volatile uint8_t pendingPWM = 0; volatile uint8_t pendingPWM = 0;
volatile bool lastPeriodWasFast = false; volatile bool lastPeriodWasFast = false;
// Timer 0 is used to co-ordinate the ADC and the output PWM void start_PWM_output(void) {
void timer0_comp0_callback(void) { ADC_Start(); }
void timer0_comp1_callback(void) { PWM_Channel_Disable(PWM_Channel); }
void timer0_comp2_callback(void) {
// This occurs at timer rollover, so if we want to turn on the output PWM; we do so
if (PWMSafetyTimer) { if (PWMSafetyTimer) {
PWMSafetyTimer--; PWMSafetyTimer--;
if (lastPeriodWasFast != fastPWM) { if (lastPeriodWasFast != fastPWM) {
@@ -93,8 +97,16 @@ void timer0_comp2_callback(void) {
} else { } else {
PWM_Channel_Disable(PWM_Channel); PWM_Channel_Disable(PWM_Channel);
} }
TIMER_Enable(TIMER_CH0);
} }
// Timer 0 is used to co-ordinate the ADC and the output PWM
void timer0_comp0_callback(void) {
TIMER_Disable(TIMER_CH0);
ADC_Start();
}
void timer0_comp1_callback(void) { PWM_Channel_Disable(PWM_Channel); } // Trigged at end of output cycle; turn off the tip PWM
void switchToFastPWM(void) { void switchToFastPWM(void) {
fastPWM = true; fastPWM = true;
totalPWM = powerPWM + tempMeasureTicks + holdoffTicks; totalPWM = powerPWM + tempMeasureTicks + holdoffTicks;

View File

@@ -62,10 +62,10 @@ void hardware_init() {
setup_timer_scheduler(); setup_timer_scheduler();
setup_adc(); setup_adc();
setup_pwm(); setup_pwm();
I2C_SetSclSync(I2C0_ID,1); I2C_SetSclSync(I2C0_ID, 1);
I2C_SetDeglitchCount(I2C0_ID,1); // Turn on de-glitch I2C_SetDeglitchCount(I2C0_ID, 1); // Turn on de-glitch
//Note on I2C clock rate @ 100Khz the screen update == 20ms which is too long for USB-PD to work // Note on I2C clock rate @ 100Khz the screen update == 20ms which is too long for USB-PD to work
//200kHz and above works // 200kHz and above works
I2C_ClockSet(I2C0_ID, 300000); // Sets clock to around 25 kHz less than set here I2C_ClockSet(I2C0_ID, 300000); // Sets clock to around 25 kHz less than set here
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, 0); TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, 0);
} }
@@ -139,32 +139,28 @@ void setup_timer_scheduler() {
TIMER_Disable(TIMER_CH0); TIMER_Disable(TIMER_CH0);
TIMER_CFG_Type cfg = { TIMER_CFG_Type cfg = {
TIMER_CH0, // Channel TIMER_CH0, // Channel
TIMER_CLKSRC_32K, // Clock source TIMER_CLKSRC_32K, // Clock source
TIMER_PRELOAD_TRIG_COMP2, // Trigger TIMER_PRELOAD_TRIG_COMP0, // Trigger; reset after trigger 0
TIMER_COUNT_PRELOAD, // Counter mode TIMER_COUNT_PRELOAD, // Counter mode
22, // Clock div 22, // Clock div
(uint16_t)(powerPWM + holdoffTicks), // CH0 compare (adc) (uint16_t)(powerPWM + holdoffTicks), // CH0 compare (adc)
0, // CH1 compare (pwm out) 0, // CH1 compare (pwm out)
(uint16_t)(powerPWM + tempMeasureTicks + holdoffTicks), // CH2 comapre (total period) 0, // CH2 compare not used
0, // Preload 0, // Preload
}; };
TIMER_Init(&cfg); TIMER_Init(&cfg);
Timer_Int_Callback_Install(TIMER_CH0, TIMER_INT_COMP_0, timer0_comp0_callback); Timer_Int_Callback_Install(TIMER_CH0, TIMER_INT_COMP_0, timer0_comp0_callback);
Timer_Int_Callback_Install(TIMER_CH0, TIMER_INT_COMP_1, timer0_comp1_callback); Timer_Int_Callback_Install(TIMER_CH0, TIMER_INT_COMP_1, timer0_comp1_callback);
Timer_Int_Callback_Install(TIMER_CH0, TIMER_INT_COMP_2, timer0_comp2_callback);
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_0); TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_0);
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_1); TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_1);
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_2);
TIMER_IntMask(TIMER_CH0, TIMER_INT_COMP_0, UNMASK); TIMER_IntMask(TIMER_CH0, TIMER_INT_COMP_0, UNMASK);
TIMER_IntMask(TIMER_CH0, TIMER_INT_COMP_1, UNMASK); TIMER_IntMask(TIMER_CH0, TIMER_INT_COMP_1, UNMASK);
TIMER_IntMask(TIMER_CH0, TIMER_INT_COMP_2, UNMASK);
CPU_Interrupt_Enable(TIMER_CH0_IRQn); CPU_Interrupt_Enable(TIMER_CH0_IRQn);
TIMER_Enable(TIMER_CH0); TIMER_Enable(TIMER_CH0);
// switchToSlowPWM();
} }
void setupFUSBIRQ() { void setupFUSBIRQ() {

View File

@@ -1,65 +1,71 @@
/** @file /** @file
* @brief Internal APIs for Bluetooth connection handling. * @brief Internal APIs for Bluetooth connection handling.
*/ */
#include "addr.h"
#include "atomic.h"
#include "slist.h"
#include "types.h"
#include "work_q.h"
#include <stddef.h>
#include <stdint.h>
/* /*
* Copyright (c) 2015 Intel Corporation * Copyright (c) 2015 Intel Corporation
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
typedef enum __packed { typedef enum __packed {
BT_CONN_DISCONNECTED, BT_CONN_DISCONNECTED,
BT_CONN_CONNECT_SCAN, BT_CONN_CONNECT_SCAN,
BT_CONN_CONNECT_DIR_ADV, BT_CONN_CONNECT_DIR_ADV,
BT_CONN_CONNECT, BT_CONN_CONNECT,
BT_CONN_CONNECTED, BT_CONN_CONNECTED,
BT_CONN_DISCONNECT, BT_CONN_DISCONNECT,
} bt_conn_state_t; } bt_conn_state_t;
/* bt_conn flags: the flags defined here represent connection parameters */ /* bt_conn flags: the flags defined here represent connection parameters */
enum { enum {
BT_CONN_AUTO_CONNECT, BT_CONN_AUTO_CONNECT,
BT_CONN_BR_LEGACY_SECURE, /* 16 digits legacy PIN tracker */ BT_CONN_BR_LEGACY_SECURE, /* 16 digits legacy PIN tracker */
BT_CONN_USER, /* user I/O when pairing */ BT_CONN_USER, /* user I/O when pairing */
BT_CONN_BR_PAIRING, /* BR connection in pairing context */ BT_CONN_BR_PAIRING, /* BR connection in pairing context */
BT_CONN_BR_NOBOND, /* SSP no bond pairing tracker */ BT_CONN_BR_NOBOND, /* SSP no bond pairing tracker */
BT_CONN_BR_PAIRING_INITIATOR, /* local host starts authentication */ BT_CONN_BR_PAIRING_INITIATOR, /* local host starts authentication */
BT_CONN_CLEANUP, /* Disconnected, pending cleanup */ BT_CONN_CLEANUP, /* Disconnected, pending cleanup */
BT_CONN_AUTO_PHY_UPDATE, /* Auto-update PHY */ BT_CONN_AUTO_PHY_UPDATE, /* Auto-update PHY */
BT_CONN_SLAVE_PARAM_UPDATE, /* If slave param update timer fired */ BT_CONN_SLAVE_PARAM_UPDATE, /* If slave param update timer fired */
BT_CONN_SLAVE_PARAM_SET, /* If slave param were set from app */ BT_CONN_SLAVE_PARAM_SET, /* If slave param were set from app */
BT_CONN_SLAVE_PARAM_L2CAP, /* If should force L2CAP for CPUP */ BT_CONN_SLAVE_PARAM_L2CAP, /* If should force L2CAP for CPUP */
BT_CONN_FORCE_PAIR, /* Pairing even with existing keys. */ BT_CONN_FORCE_PAIR, /* Pairing even with existing keys. */
BT_CONN_AUTO_PHY_COMPLETE, /* Auto-initiated PHY procedure done */ BT_CONN_AUTO_PHY_COMPLETE, /* Auto-initiated PHY procedure done */
BT_CONN_AUTO_FEATURE_EXCH, /* Auto-initiated LE Feat done */ BT_CONN_AUTO_FEATURE_EXCH, /* Auto-initiated LE Feat done */
BT_CONN_AUTO_VERSION_INFO, /* Auto-initiated LE version done */ BT_CONN_AUTO_VERSION_INFO, /* Auto-initiated LE version done */
/* Total number of flags - must be at the end of the enum */ /* Total number of flags - must be at the end of the enum */
BT_CONN_NUM_FLAGS, BT_CONN_NUM_FLAGS,
}; };
struct bt_conn_le { struct bt_conn_le {
bt_addr_le_t dst; bt_addr_le_t dst;
bt_addr_le_t init_addr; bt_addr_le_t init_addr;
bt_addr_le_t resp_addr; bt_addr_le_t resp_addr;
u16_t interval; u16_t interval;
u16_t interval_min; u16_t interval_min;
u16_t interval_max; u16_t interval_max;
u16_t latency; u16_t latency;
u16_t timeout; u16_t timeout;
u16_t pending_latency; u16_t pending_latency;
u16_t pending_timeout; u16_t pending_timeout;
u8_t features[8]; u8_t features[8];
struct bt_keys *keys; struct bt_keys *keys;
#if defined(CONFIG_BT_STACK_PTS) #if defined(CONFIG_BT_STACK_PTS)
u8_t own_adder_type; u8_t own_adder_type;
#endif #endif
}; };
@@ -68,107 +74,107 @@ struct bt_conn_le {
#define LMP_MAX_PAGES 2 #define LMP_MAX_PAGES 2
struct bt_conn_br { struct bt_conn_br {
bt_addr_t dst; bt_addr_t dst;
u8_t remote_io_capa; u8_t remote_io_capa;
u8_t remote_auth; u8_t remote_auth;
u8_t pairing_method; u8_t pairing_method;
/* remote LMP features pages per 8 bytes each */ /* remote LMP features pages per 8 bytes each */
u8_t features[LMP_MAX_PAGES][8]; u8_t features[LMP_MAX_PAGES][8];
struct bt_keys_link_key *link_key; struct bt_keys_link_key *link_key;
}; };
struct bt_conn_sco { struct bt_conn_sco {
/* Reference to ACL Connection */ /* Reference to ACL Connection */
struct bt_conn *acl; struct bt_conn *acl;
u16_t pkt_type; u16_t pkt_type;
}; };
#endif #endif
struct bt_conn_iso { struct bt_conn_iso {
/* Reference to ACL Connection */ /* Reference to ACL Connection */
struct bt_conn *acl; struct bt_conn *acl;
/* CIG ID */ /* CIG ID */
uint8_t cig_id; uint8_t cig_id;
/* CIS ID */ /* CIS ID */
uint8_t cis_id; uint8_t cis_id;
}; };
typedef void (*bt_conn_tx_cb_t)(struct bt_conn *conn, void *user_data); typedef void (*bt_conn_tx_cb_t)(struct bt_conn *conn, void *user_data);
struct bt_conn_tx { struct bt_conn_tx {
sys_snode_t node; sys_snode_t node;
bt_conn_tx_cb_t cb; bt_conn_tx_cb_t cb;
void *user_data; void *user_data;
/* Number of pending packets without a callback after this one */ /* Number of pending packets without a callback after this one */
u32_t pending_no_cb; u32_t pending_no_cb;
}; };
struct bt_conn { struct bt_conn {
u16_t handle; u16_t handle;
u8_t type; u8_t type;
u8_t role; u8_t role;
ATOMIC_DEFINE(flags, BT_CONN_NUM_FLAGS); ATOMIC_DEFINE(flags, BT_CONN_NUM_FLAGS);
/* Which local identity address this connection uses */ /* Which local identity address this connection uses */
u8_t id; u8_t id;
#if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR) #if defined(CONFIG_BT_SMP) || defined(CONFIG_BT_BREDR)
bt_security_t sec_level; bt_security_t sec_level;
bt_security_t required_sec_level; bt_security_t required_sec_level;
u8_t encrypt; u8_t encrypt;
#endif /* CONFIG_BT_SMP || CONFIG_BT_BREDR */ #endif /* CONFIG_BT_SMP || CONFIG_BT_BREDR */
/* Connection error or reason for disconnect */ /* Connection error or reason for disconnect */
u8_t err; u8_t err;
bt_conn_state_t state; bt_conn_state_t state;
u16_t rx_len; u16_t rx_len;
struct net_buf *rx; struct net_buf *rx;
/* Sent but not acknowledged TX packets with a callback */ /* Sent but not acknowledged TX packets with a callback */
sys_slist_t tx_pending; sys_slist_t tx_pending;
/* Sent but not acknowledged TX packets without a callback before /* Sent but not acknowledged TX packets without a callback before
* the next packet (if any) in tx_pending. * the next packet (if any) in tx_pending.
*/ */
u32_t pending_no_cb; u32_t pending_no_cb;
/* Completed TX for which we need to call the callback */ /* Completed TX for which we need to call the callback */
sys_slist_t tx_complete; sys_slist_t tx_complete;
struct k_work tx_complete_work; struct k_work tx_complete_work;
/* Queue for outgoing ACL data */ /* Queue for outgoing ACL data */
struct k_fifo tx_queue; struct k_fifo tx_queue;
/* Active L2CAP channels */ /* Active L2CAP channels */
sys_slist_t channels; sys_slist_t channels;
atomic_t ref; atomic_t ref;
/* Delayed work for connection update and other deferred tasks */ /* Delayed work for connection update and other deferred tasks */
struct k_delayed_work update_work; struct k_delayed_work update_work;
union { union {
struct bt_conn_le le; struct bt_conn_le le;
#if defined(CONFIG_BT_BREDR) #if defined(CONFIG_BT_BREDR)
struct bt_conn_br br; struct bt_conn_br br;
struct bt_conn_sco sco; struct bt_conn_sco sco;
#endif #endif
#if defined(CONFIG_BT_AUDIO) #if defined(CONFIG_BT_AUDIO)
struct bt_conn_iso iso; struct bt_conn_iso iso;
#endif #endif
}; };
#if defined(CONFIG_BT_REMOTE_VERSION) #if defined(CONFIG_BT_REMOTE_VERSION)
struct bt_conn_rv { struct bt_conn_rv {
u8_t version; u8_t version;
u16_t manufacturer; u16_t manufacturer;
u16_t subversion; u16_t subversion;
} rv; } rv;
#endif #endif
}; };
@@ -178,23 +184,19 @@ void bt_conn_reset_rx_state(struct bt_conn *conn);
void bt_conn_recv(struct bt_conn *conn, struct net_buf *buf, u8_t flags); void bt_conn_recv(struct bt_conn *conn, struct net_buf *buf, u8_t flags);
/* Send data over a connection */ /* Send data over a connection */
int bt_conn_send_cb(struct bt_conn *conn, struct net_buf *buf, int bt_conn_send_cb(struct bt_conn *conn, struct net_buf *buf, bt_conn_tx_cb_t cb, void *user_data);
bt_conn_tx_cb_t cb, void *user_data);
static inline int bt_conn_send(struct bt_conn *conn, struct net_buf *buf) static inline int bt_conn_send(struct bt_conn *conn, struct net_buf *buf) { return bt_conn_send_cb(conn, buf, NULL, NULL); }
{
return bt_conn_send_cb(conn, buf, NULL, NULL);
}
/* Add a new LE connection */ /* Add a new LE connection */
struct bt_conn *bt_conn_add_le(u8_t id, const bt_addr_le_t *peer); struct bt_conn *bt_conn_add_le(u8_t id, const bt_addr_le_t *peer);
/** Connection parameters for ISO connections */ /** Connection parameters for ISO connections */
struct bt_iso_create_param { struct bt_iso_create_param {
uint8_t id; uint8_t id;
uint8_t num_conns; uint8_t num_conns;
struct bt_conn **conns; struct bt_conn **conns;
struct bt_iso_chan **chans; struct bt_iso_chan **chans;
}; };
/* Bind ISO connections parameters */ /* Bind ISO connections parameters */
@@ -251,14 +253,12 @@ struct bt_conn *bt_conn_lookup_id(u8_t id);
/* Look up a connection state. For BT_ADDR_LE_ANY, returns the first connection /* Look up a connection state. For BT_ADDR_LE_ANY, returns the first connection
* with the specific state * with the specific state
*/ */
struct bt_conn *bt_conn_lookup_state_le(const bt_addr_le_t *peer, struct bt_conn *bt_conn_lookup_state_le(const bt_addr_le_t *peer, const bt_conn_state_t state);
const bt_conn_state_t state);
/* Set connection object in certain state and perform action related to state */ /* Set connection object in certain state and perform action related to state */
void bt_conn_set_state(struct bt_conn *conn, bt_conn_state_t state); void bt_conn_set_state(struct bt_conn *conn, bt_conn_state_t state);
int bt_conn_le_conn_update(struct bt_conn *conn, int bt_conn_le_conn_update(struct bt_conn *conn, const struct bt_le_conn_param *param);
const struct bt_le_conn_param *param);
void notify_remote_info(struct bt_conn *conn); void notify_remote_info(struct bt_conn *conn);
@@ -268,8 +268,7 @@ bool le_param_req(struct bt_conn *conn, struct bt_le_conn_param *param);
#if defined(CONFIG_BT_SMP) #if defined(CONFIG_BT_SMP)
/* rand and ediv should be in BT order */ /* rand and ediv should be in BT order */
int bt_conn_le_start_encryption(struct bt_conn *conn, u8_t rand[8], int bt_conn_le_start_encryption(struct bt_conn *conn, u8_t rand[8], u8_t ediv[2], const u8_t *ltk, size_t len);
u8_t ediv[2], const u8_t *ltk, size_t len);
/* Notify higher layers that RPA was resolved */ /* Notify higher layers that RPA was resolved */
void bt_conn_identity_resolved(struct bt_conn *conn); void bt_conn_identity_resolved(struct bt_conn *conn);
@@ -282,41 +281,27 @@ void bt_conn_security_changed(struct bt_conn *conn, enum bt_security_err err);
/* Prepare a PDU to be sent over a connection */ /* Prepare a PDU to be sent over a connection */
#if defined(CONFIG_NET_BUF_LOG) #if defined(CONFIG_NET_BUF_LOG)
struct net_buf *bt_conn_create_pdu_timeout_debug(struct net_buf_pool *pool, struct net_buf *bt_conn_create_pdu_timeout_debug(struct net_buf_pool *pool, size_t reserve, s32_t timeout, const char *func, int line);
size_t reserve, s32_t timeout, #define bt_conn_create_pdu_timeout(_pool, _reserve, _timeout) bt_conn_create_pdu_timeout_debug(_pool, _reserve, _timeout, __func__, __LINE__)
const char *func, int line);
#define bt_conn_create_pdu_timeout(_pool, _reserve, _timeout) \
bt_conn_create_pdu_timeout_debug(_pool, _reserve, _timeout, \
__func__, __LINE__)
#define bt_conn_create_pdu(_pool, _reserve) \ #define bt_conn_create_pdu(_pool, _reserve) bt_conn_create_pdu_timeout_debug(_pool, _reserve, K_FOREVER, __func__, __line__)
bt_conn_create_pdu_timeout_debug(_pool, _reserve, K_FOREVER, \
__func__, __line__)
#else #else
struct net_buf *bt_conn_create_pdu_timeout(struct net_buf_pool *pool, struct net_buf *bt_conn_create_pdu_timeout(struct net_buf_pool *pool, size_t reserve, s32_t timeout);
size_t reserve, s32_t timeout);
#define bt_conn_create_pdu(_pool, _reserve) \ #define bt_conn_create_pdu(_pool, _reserve) bt_conn_create_pdu_timeout(_pool, _reserve, K_FOREVER)
bt_conn_create_pdu_timeout(_pool, _reserve, K_FOREVER)
#endif #endif
/* Prepare a PDU to be sent over a connection */ /* Prepare a PDU to be sent over a connection */
#if defined(CONFIG_NET_BUF_LOG) #if defined(CONFIG_NET_BUF_LOG)
struct net_buf *bt_conn_create_frag_timeout_debug(size_t reserve, s32_t timeout, struct net_buf *bt_conn_create_frag_timeout_debug(size_t reserve, s32_t timeout, const char *func, int line);
const char *func, int line);
#define bt_conn_create_frag_timeout(_reserve, _timeout) \ #define bt_conn_create_frag_timeout(_reserve, _timeout) bt_conn_create_frag_timeout_debug(_reserve, _timeout, __func__, __LINE__)
bt_conn_create_frag_timeout_debug(_reserve, _timeout, \
__func__, __LINE__)
#define bt_conn_create_frag(_reserve) \ #define bt_conn_create_frag(_reserve) bt_conn_create_frag_timeout_debug(_reserve, K_FOREVER, __func__, __LINE__)
bt_conn_create_frag_timeout_debug(_reserve, K_FOREVER, \
__func__, __LINE__)
#else #else
struct net_buf *bt_conn_create_frag_timeout(size_t reserve, s32_t timeout); struct net_buf *bt_conn_create_frag_timeout(size_t reserve, s32_t timeout);
#define bt_conn_create_frag(_reserve) \ #define bt_conn_create_frag(_reserve) bt_conn_create_frag_timeout(_reserve, K_FOREVER)
bt_conn_create_frag_timeout(_reserve, K_FOREVER)
#endif #endif
/* Initialize connection management */ /* Initialize connection management */
@@ -326,7 +311,7 @@ int bt_conn_init(void);
struct k_sem *bt_conn_get_pkts(struct bt_conn *conn); struct k_sem *bt_conn_get_pkts(struct bt_conn *conn);
/* k_poll related helpers for the TX thread */ /* k_poll related helpers for the TX thread */
int bt_conn_prepare_events(struct k_poll_event events[]); int bt_conn_prepare_events(struct k_poll_event events[]);
void bt_conn_process_tx(struct bt_conn *conn); void bt_conn_process_tx(struct bt_conn *conn);
#if defined(BFLB_BLE) #if defined(BFLB_BLE)

View File

@@ -17,16 +17,16 @@ OUTPUT_ARCH( "riscv" )
/* configure the entry point */ /* configure the entry point */
ENTRY(_enter) ENTRY(_enter)
StackSize = 0x1000; /* 4KB */ StackSize = 0x800; /* 2KB */
HeapSize = 0x1000; /* 4KB */ HeapSize = 0x800; /* 2KB */
__EM_SIZE = DEFINED(ble_controller_init) ? 8K : 0K; __EM_SIZE = DEFINED(ble_controller_init) ? 8K : 0K;
MEMORY MEMORY
{ {
xip_memory (rx) : ORIGIN = 0x23000000, LENGTH = 1022K xip_memory (rx) : ORIGIN = 0x23000000, LENGTH = 1022K
itcm_memory (rx) : ORIGIN = 0x22014000, LENGTH = 16K itcm_memory (rx) : ORIGIN = 0x22014000, LENGTH = 16K
dtcm_memory (rx) : ORIGIN = 0x42018000, LENGTH = 32K dtcm_memory (rx) : ORIGIN = 0x42017000, LENGTH = 4K
ram_memory (!rx) : ORIGIN = 0x42020000, LENGTH = 32K ram_memory (!rx) : ORIGIN = 0x42018000, LENGTH = 64K
rsvd_memory (!rx) : ORIGIN = 0x42028000, LENGTH = 1K rsvd_memory (!rx) : ORIGIN = 0x42028000, LENGTH = 1K
ram2_memory (!rx) : ORIGIN = 0x42028400, LENGTH = (31K - __EM_SIZE) ram2_memory (!rx) : ORIGIN = 0x42028400, LENGTH = (31K - __EM_SIZE)
hbn_memory (rx) : ORIGIN = 0x40010000, LENGTH = 0xE00 /* hbn ram 4K used 3.5K*/ hbn_memory (rx) : ORIGIN = 0x40010000, LENGTH = 0xE00 /* hbn ram 4K used 3.5K*/

View File

@@ -19,72 +19,74 @@
*/ */
// d85efab4-168e-4a71-affd-33e27f9bc533 // d85efab4-168e-4a71-affd-33e27f9bc533
#define BT_UUID_SVC_LIVE_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85efab4, 0x168e, 0x4a71, 0xaffd, 0x33e27f9bc533)) #define BT_UUID_SVC_LIVE_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef000, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
// f6d75f91-5a10-4eba-a233-47d3f26a907f // f6d75f91-5a10-4eba-a233-47d3f26a907f
#define BT_UUID_SVC_SETTINGS_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d75f91, 0x5a10, 0x4eba, 0xa233, 0x47d3f26a907f)) #define BT_UUID_SVC_SETTINGS_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d80000, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
// 9eae1adb-9d0d-48c5-a6e7-ae93f0ea37b0 // 9eae1adb-9d0d-48c5-a6e7-ae93f0ea37b0
#define BT_UUID_SVC_BULK_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x9eae1adb, 0x9d0d, 0x48c5, 0xa6e7, 0xae93f0ea37b0)) #define BT_UUID_SVC_BULK_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x9eae1000, 0x9d0d, 0x48c5, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_LIVE_TEMP BT_UUID_DECLARE_16(0x0001) #define BT_UUID_CHAR_BLE_LIVE_LIVE_TEMP BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef001, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_SETPOINT_TEMP BT_UUID_DECLARE_16(0x0002) #define BT_UUID_CHAR_BLE_LIVE_SETPOINT_TEMP BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef002, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_DC_INPUT BT_UUID_DECLARE_16(0x0003) #define BT_UUID_CHAR_BLE_LIVE_DC_INPUT BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef003, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_HANDLE_TEMP BT_UUID_DECLARE_16(0x0004) #define BT_UUID_CHAR_BLE_LIVE_HANDLE_TEMP BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef004, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_POWER_LEVEL BT_UUID_DECLARE_16(0x0005) #define BT_UUID_CHAR_BLE_LIVE_POWER_LEVEL BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef005, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_POWER_SRC BT_UUID_DECLARE_16(0x0006) #define BT_UUID_CHAR_BLE_LIVE_POWER_SRC BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef006, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_TIP_RES BT_UUID_DECLARE_16(0x0007) #define BT_UUID_CHAR_BLE_LIVE_TIP_RES BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef007, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_UPTIME BT_UUID_DECLARE_16(0x0008) #define BT_UUID_CHAR_BLE_LIVE_UPTIME BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef008, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_MOVEMENT BT_UUID_DECLARE_16(0x0009) #define BT_UUID_CHAR_BLE_LIVE_MOVEMENT BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef009, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_MAX_TEMP BT_UUID_DECLARE_16(0x000A) #define BT_UUID_CHAR_BLE_LIVE_MAX_TEMP BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef00A, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_RAW_TIP BT_UUID_DECLARE_16(0x000B) #define BT_UUID_CHAR_BLE_LIVE_RAW_TIP BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef00B, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_HALL_SENSOR BT_UUID_DECLARE_16(0x000C) #define BT_UUID_CHAR_BLE_LIVE_HALL_SENSOR BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef00C, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_OP_MODE BT_UUID_DECLARE_16(0x000D) #define BT_UUID_CHAR_BLE_LIVE_OP_MODE BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef00D, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_EST_WATTS BT_UUID_DECLARE_16(0x000E) #define BT_UUID_CHAR_BLE_LIVE_EST_WATTS BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xd85ef00E, 0x168e, 0x4a71, 0xAA55, 0x33e27f9bc533))
// Bulk data that returns non-fixed sized objects // Bulk data that returns non-fixed sized objects
#define BT_UUID_CHAR_BLE_LIVE_BULK_LIVE_DATA BT_UUID_DECLARE_16(0x0001) #define BT_UUID_CHAR_BLE_LIVE_BULK_LIVE_DATA BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x9eae1001, 0x9d0d, 0x48c5, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_ACCEL_NAME BT_UUID_DECLARE_16(0x0002) #define BT_UUID_CHAR_BLE_LIVE_ACCEL_NAME BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x9eae1002, 0x9d0d, 0x48c5, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_BUILD BT_UUID_DECLARE_16(0x0003) #define BT_UUID_CHAR_BLE_LIVE_BUILD BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x9eae1003, 0x9d0d, 0x48c5, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_LIVE_DEV_ID BT_UUID_DECLARE_16(0x0004) #define BT_UUID_CHAR_BLE_LIVE_DEV_ID BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0x9eae1004, 0x9d0d, 0x48c5, 0xAA55, 0x33e27f9bc533))
// Settings // Settings
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE BT_UUID_DECLARE_16(0) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7FFFF, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_1 BT_UUID_DECLARE_16(1) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_RESET BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7FFFE, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_2 BT_UUID_DECLARE_16(2) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_0 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70000, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_3 BT_UUID_DECLARE_16(3) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_1 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70001, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_4 BT_UUID_DECLARE_16(4) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_2 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70002, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_5 BT_UUID_DECLARE_16(5) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_3 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70003, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_6 BT_UUID_DECLARE_16(6) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_4 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70004, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_7 BT_UUID_DECLARE_16(7) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_5 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70005, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_8 BT_UUID_DECLARE_16(8) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_6 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70006, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_9 BT_UUID_DECLARE_16(9) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_7 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70007, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_10 BT_UUID_DECLARE_16(10) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_8 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70008, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_11 BT_UUID_DECLARE_16(11) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_9 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70009, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_12 BT_UUID_DECLARE_16(12) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_10 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7000a, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_13 BT_UUID_DECLARE_16(13) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_11 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7000b, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_14 BT_UUID_DECLARE_16(14) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_12 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7000c, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_15 BT_UUID_DECLARE_16(15) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_13 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7000d, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_16 BT_UUID_DECLARE_16(16) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_14 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7000e, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_17 BT_UUID_DECLARE_16(17) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_15 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7000f, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_18 BT_UUID_DECLARE_16(18) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_16 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70010, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_19 BT_UUID_DECLARE_16(19) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_17 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70011, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_20 BT_UUID_DECLARE_16(20) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_18 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70012, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_21 BT_UUID_DECLARE_16(21) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_19 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70013, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_22 BT_UUID_DECLARE_16(22) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_20 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70014, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_23 BT_UUID_DECLARE_16(23) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_21 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70015, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_24 BT_UUID_DECLARE_16(24) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_22 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70016, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_25 BT_UUID_DECLARE_16(25) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_23 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70017, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_26 BT_UUID_DECLARE_16(26) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_24 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70018, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_27 BT_UUID_DECLARE_16(27) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_25 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70019, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_28 BT_UUID_DECLARE_16(28) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_26 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7001a, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_29 BT_UUID_DECLARE_16(29) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_27 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7001b, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_30 BT_UUID_DECLARE_16(30) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_28 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7001c, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_31 BT_UUID_DECLARE_16(31) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_29 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7001d, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_32 BT_UUID_DECLARE_16(32) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_30 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7001e, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_33 BT_UUID_DECLARE_16(33) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_31 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d7001f, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_34 BT_UUID_DECLARE_16(34) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_32 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70020, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_35 BT_UUID_DECLARE_16(35) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_33 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70021, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_36 BT_UUID_DECLARE_16(36) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_34 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70022, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_37 BT_UUID_DECLARE_16(37) #define BT_UUID_CHAR_BLE_SETTINGS_VALUE_35 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70023, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_36 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70024, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_37 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70025, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#define BT_UUID_CHAR_BLE_SETTINGS_VALUE_38 BT_UUID_DECLARE_128(BT_UUID_128_ENCODE(0xf6d70026, 0x5a10, 0x4eba, 0xAA55, 0x33e27f9bc533))
#endif #endif

View File

@@ -20,6 +20,9 @@
#include "log.h" #include "log.h"
#include "uuid.h" #include "uuid.h"
#include "../../version.h"
#include "OLED.hpp"
#include "OperatingModes.h"
#include "USBPD.h" #include "USBPD.h"
#include "ble_characteristics.h" #include "ble_characteristics.h"
#include "ble_handlers.h" #include "ble_handlers.h"
@@ -30,13 +33,16 @@
#include "pd.h" #include "pd.h"
#endif #endif
extern TickType_t lastMovementTime; extern TickType_t lastMovementTime;
extern OperatingMode currentMode;
int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset) { int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset) {
if (attr == NULL || attr->uuid == NULL) { if (attr == NULL || attr->uuid == NULL) {
return 0; return 0;
} }
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val; // Decode the uuid
// Byte 12 has the lowest part of the first UUID chunk
uint16_t uuid_value = ((struct bt_uuid_128 *)attr->uuid)->val[12];
uint32_t temp = 0; uint32_t temp = 0;
switch (uuid_value) { switch (uuid_value) {
case 1: // Live temp case 1: // Live temp
@@ -68,13 +74,7 @@ int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_att
break; break;
case 6: // power src case 6: // power src
// Todo return enum for current power source // Todo return enum for current power source
if (getIsPoweredByDCIN()) { temp = getPowerSrc();
temp = 0;
} else if (USBPowerDelivery::negotiationComplete()) {
temp = 1;
} else {
temp = 2;
}
memcpy(buf, &temp, sizeof(temp)); memcpy(buf, &temp, sizeof(temp));
return sizeof(temp); return sizeof(temp);
break; break;
@@ -122,7 +122,9 @@ int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_att
break; break;
case 13: case 13:
// Operating mode // Operating mode
// TODO: Needs tracking temp = currentMode;
memcpy(buf, &temp, sizeof(temp));
return sizeof(temp);
break; break;
case 14: case 14:
// Estimated watts // Estimated watts
@@ -131,27 +133,35 @@ int ble_char_read_status_callback(struct bt_conn *conn, const struct bt_gatt_att
return sizeof(temp); return sizeof(temp);
break; break;
} }
MSG("Unhandled attr read %d | %d\n", (uint32_t)attr->uuid, uuid_value); MSG((char *)"Unhandled attr read %d | %d\n", (uint32_t)attr->uuid, uuid_value);
return 0; return 0;
} }
int ble_char_read_bulk_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset) { int ble_char_read_bulk_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, void *buf, u16_t len, u16_t offset) {
if (attr == NULL || attr->uuid == NULL) { if (attr == NULL || attr->uuid == NULL) {
return 0; return 0;
} }
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val; // Byte 12 has the lowest part of the first UUID chunk
uint16_t uuid_value = ((struct bt_uuid_128 *)attr->uuid)->val[12];
// Bulk is the non-const size service // Bulk is the non-const size service
switch (uuid_value) { switch (uuid_value) {
case 1: case 1:
// Bulk data // Bulk data
{ {
uint32_t bulkData[] = { uint32_t bulkData[] = {
TipThermoModel::getTipInC(), // Current temp TipThermoModel::getTipInC(), // 0 - Current temp
getSettingValue(SettingsOptions::SolderingTemp), // Setpoint getSettingValue(SettingsOptions::SolderingTemp), // 1 - Setpoint
getHandleTemperature(0), // Handle X10 Temp in C getInputVoltageX10(getSettingValue(SettingsOptions::VoltageDiv), 0), // 2 - Input voltage
getInputVoltageX10(getSettingValue(SettingsOptions::VoltageDiv), 0), // Input voltage getHandleTemperature(0), // 3 - Handle X10 Temp in C
x10WattHistory.average(), // Estimated Wattage X10WattsToPWM(x10WattHistory.average()), // 4 - Power as PWM level
X10WattsToPWM(x10WattHistory.average()), // Power as PWM level getPowerSrc(), // 5 - power src
TipThermoModel::convertTipRawADCTouV(getTipRawTemp(0), true), // Raw tip getTipResistanceX10(), // 6 - Tip resistance
xTaskGetTickCount() / TICKS_100MS, // 7 - uptime in deciseconds
lastMovementTime / TICKS_100MS, // 8 - last movement time (deciseconds)
TipThermoModel::getTipMaxInC(), // 9 - max temp
TipThermoModel::convertTipRawADCTouV(getTipRawTemp(0), true), // 10 - Raw tip in μV
abs(getRawHallEffect()), // 11 - hall sensor
currentMode, // 12 - Operating mode
x10WattHistory.average(), // 13 - Estimated Wattage *10
}; };
int lenToCopy = sizeof(bulkData) - offset; int lenToCopy = sizeof(bulkData) - offset;
if (lenToCopy > len) { if (lenToCopy > len) {
@@ -170,9 +180,9 @@ int ble_char_read_bulk_value_callback(struct bt_conn *conn, const struct bt_gatt
// TODO: Need to store non-encoded version // TODO: Need to store non-encoded version
break; break;
case 3: case 3:
// Build // FW Version
// TODO: Need to store non-encoded version memcpy(buf, &BUILD_VERSION, sizeof(BUILD_VERSION) - 1);
break; return sizeof(BUILD_VERSION) - 1;
case 4: case 4:
// Device unique id // Device unique id
{ {
@@ -188,18 +198,19 @@ int ble_char_read_setting_value_callback(struct bt_conn *conn, const struct bt_g
if (attr == NULL || attr->uuid == NULL) { if (attr == NULL || attr->uuid == NULL) {
return 0; return 0;
} }
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val; // Byte 12 has the lowest part of the first UUID chunk
uint16_t temp = 0; uint16_t uuid_value = ((struct bt_uuid_128 *)attr->uuid)->val[12];
if (uuid_value == 0) { uint16_t temp = 0xFFFF;
if (uuid_value <= SettingsOptions::SettingsOptionsLength) {
temp = getSettingValue((SettingsOptions)(uuid_value));
memcpy(buf, &temp, sizeof(temp)); memcpy(buf, &temp, sizeof(temp));
return sizeof(temp); return sizeof(temp);
} else if (uuid_value <= SettingsOptions::SettingsOptionsLength) { } else {
temp = getSettingValue((SettingsOptions)(uuid_value - 1));
memcpy(buf, &temp, sizeof(temp)); memcpy(buf, &temp, sizeof(temp));
return sizeof(temp); return sizeof(temp);
} }
MSG("Unhandled attr read %d | %d\n", (uint32_t)attr->uuid, uuid_value); MSG((char *)"Unhandled attr read %d | %d\n", (uint32_t)attr->uuid, uuid_value);
return 0; return 0;
} }
@@ -207,7 +218,7 @@ int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_
if (flags & BT_GATT_WRITE_FLAG_PREPARE) { if (flags & BT_GATT_WRITE_FLAG_PREPARE) {
// Don't use prepare write data, execute write will upload data again. // Don't use prepare write data, execute write will upload data again.
BT_WARN("recv prepare write request\n"); BT_WARN((char *)"recv prepare write request\n");
return 0; return 0;
} }
if (attr == NULL || attr->uuid == NULL) { if (attr == NULL || attr->uuid == NULL) {
@@ -216,25 +227,77 @@ int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_
if (flags & BT_GATT_WRITE_FLAG_CMD) { if (flags & BT_GATT_WRITE_FLAG_CMD) {
// Use write command data. // Use write command data.
BT_WARN("recv write command\n"); BT_WARN((char *)"recv write command\n");
} else { } else {
// Use write request / execute write data. // Use write request / execute write data.
BT_WARN("recv write request / exce write\n"); BT_WARN((char *)"recv write request / exce write\n");
} }
uint16_t uuid_value = ((struct bt_uuid_16 *)attr->uuid)->val; uint8_t uuid_value = ((struct bt_uuid_128 *)attr->uuid)->val[12];
if (len == 2) { if (len == 2) {
uint16_t new_value = 0; uint16_t new_value = 0;
memcpy(&new_value, buf, sizeof(new_value)); memcpy(&new_value, buf, sizeof(new_value));
if (uuid_value == 0) { if (uuid_value == 0xFF) {
if (new_value == 1) { if (new_value == 1) {
saveSettings(); saveSettings();
return len; return len;
} }
} else if (uuid_value == 0xFE) {
if (new_value == 1) {
resetSettings();
return len;
}
} else if (uuid_value < SettingsOptions::SettingsOptionsLength) { } else if (uuid_value < SettingsOptions::SettingsOptionsLength) {
setSettingValue((SettingsOptions)(uuid_value - 1), new_value); setSettingValue((SettingsOptions)(uuid_value), new_value);
switch (uuid_value) {
case SettingsOptions::OLEDInversion:
OLED::setInverseDisplay(getSettingValue(SettingsOptions::OLEDInversion));
break;
case SettingsOptions::OLEDBrightness:
OLED::setBrightness(getSettingValue(SettingsOptions::OLEDBrightness));
break;
case SettingsOptions::OrientationMode:
OLED::setRotation(getSettingValue(SettingsOptions::OrientationMode) & 1);
break;
default:
break;
}
return len; return len;
} }
} }
MSG("Unhandled attr write %d | %d\n", (uint32_t)attr->uuid, uuid_value); MSG((char *)"Unhandled attr write %d | %d\n", (uint32_t)attr->uuid, uuid_value);
return 0; return 0;
} }
uint32_t getPowerSrc() {
int sourceNumber = 0;
if (getIsPoweredByDCIN()) {
sourceNumber = 0;
} else {
// We are not powered via DC, so want to display the appropriate state for PD or QC
bool poweredbyPD = false;
bool pdHasVBUSConnected = false;
#if POW_PD
if (USBPowerDelivery::fusbPresent()) {
// We are PD capable
if (USBPowerDelivery::negotiationComplete()) {
// We are powered via PD
poweredbyPD = true;
#ifdef VBUS_MOD_TEST
pdHasVBUSConnected = USBPowerDelivery::isVBUSConnected();
#endif
}
}
#endif
if (poweredbyPD) {
if (pdHasVBUSConnected) {
sourceNumber = 2;
} else {
sourceNumber = 3;
}
} else {
sourceNumber = 1;
}
}
return sourceNumber;
}

View File

@@ -13,6 +13,8 @@ int ble_char_read_bulk_value_callback(struct bt_conn *conn, const struct bt_gatt
int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, u16_t len, u16_t offset, u8_t flags); int ble_char_write_setting_value_callback(struct bt_conn *conn, const struct bt_gatt_attr *attr, const void *buf, u16_t len, u16_t offset, u8_t flags);
uint32_t getPowerSrc();
#ifdef __cplusplus #ifdef __cplusplus
}; };
#endif #endif

View File

@@ -26,9 +26,9 @@ NOTES
#include "log.h" #include "log.h"
#include "uuid.h" #include "uuid.h"
#include "BSP.h"
#include "ble_characteristics.h" #include "ble_characteristics.h"
#include "ble_handlers.h" #include "ble_handlers.h"
bool pds_start; bool pds_start;
static void ble_device_connected(struct bt_conn *conn, u8_t err); static void ble_device_connected(struct bt_conn *conn, u8_t err);
@@ -142,7 +142,7 @@ static void ble_tp_ind_ccc_changed(const struct bt_gatt_attr *attr, u16_t value)
/************************************************************************* /*************************************************************************
* DEFINE : attrs * DEFINE : attrs
*/ */
static struct bt_gatt_attr attrs[] = { static struct bt_gatt_attr ble_attrs_declaration[] = {
BT_GATT_PRIMARY_SERVICE(BT_UUID_SVC_LIVE_DATA), BT_GATT_PRIMARY_SERVICE(BT_UUID_SVC_LIVE_DATA),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_LIVE_LIVE_TEMP, BT_GATT_CHRC_READ, BT_GATT_PERM_READ, ble_char_read_status_callback, NULL, NULL), BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_LIVE_LIVE_TEMP, BT_GATT_CHRC_READ, BT_GATT_PERM_READ, ble_char_read_status_callback, NULL, NULL),
@@ -167,7 +167,7 @@ static struct bt_gatt_attr attrs[] = {
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_LIVE_DEV_ID, BT_GATT_CHRC_READ, BT_GATT_PERM_READ, ble_char_read_bulk_value_callback, NULL, NULL), BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_LIVE_DEV_ID, BT_GATT_CHRC_READ, BT_GATT_PERM_READ, ble_char_read_bulk_value_callback, NULL, NULL),
BT_GATT_PRIMARY_SERVICE(BT_UUID_SVC_SETTINGS_DATA), BT_GATT_PRIMARY_SERVICE(BT_UUID_SVC_SETTINGS_DATA),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE, BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_0, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL), ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_1, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE, BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_1, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL), ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
@@ -243,6 +243,13 @@ static struct bt_gatt_attr attrs[] = {
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL), ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_37, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE, BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_37, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL), ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_38, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_SAVE, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
BT_GATT_CHARACTERISTIC(BT_UUID_CHAR_BLE_SETTINGS_VALUE_RESET, BT_GATT_CHRC_READ | BT_GATT_CHRC_WRITE | BT_GATT_CHRC_WRITE_WITHOUT_RESP, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE,
ble_char_read_setting_value_callback, ble_char_write_setting_value_callback, NULL),
}; };
@@ -250,13 +257,9 @@ static struct bt_gatt_attr attrs[] = {
NAME NAME
get_attr get_attr
*/ */
struct bt_gatt_attr *get_attr(u8_t index) { struct bt_gatt_attr *get_attr(u8_t index) { return &ble_attrs_declaration[index]; }
return &attrs[index];
}
static struct bt_gatt_service ble_tp_server = BT_GATT_SERVICE(attrs); static struct bt_gatt_service ble_tp_server = BT_GATT_SERVICE(ble_attrs_declaration);
const char *DEVICE_BLE_NAME = "Pinecil";
// Start advertising with expected default values // Start advertising with expected default values
int ble_start_adv(void) { int ble_start_adv(void) {
@@ -267,13 +270,17 @@ int ble_start_adv(void) {
.interval_min = BT_GAP_ADV_FAST_INT_MIN_3, .interval_min = BT_GAP_ADV_FAST_INT_MIN_3,
.interval_max = BT_GAP_ADV_FAST_INT_MAX_3, .interval_max = BT_GAP_ADV_FAST_INT_MAX_3,
}; };
char nameBuffer[16];
uint32_t scratch = getDeviceID() & 0xFFFFFFFF;
scratch ^= (getDeviceID() >> 32) & 0xFFFFFFFF;
int nameLen = snprintf(nameBuffer, 16, "Pinecil-%08X", (int)scratch);
struct bt_data adv_data[2] = { // scan and response data must each stay < 31 bytes
BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_NO_BREDR | BT_LE_AD_GENERAL)), struct bt_data adv_data[2] = {BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_NO_BREDR | BT_LE_AD_GENERAL)), BT_DATA(BT_DATA_NAME_COMPLETE, nameBuffer, nameLen)};
BT_DATA(BT_DATA_NAME_COMPLETE, DEVICE_BLE_NAME, strlen(DEVICE_BLE_NAME)),
};
return bt_le_adv_start(&adv_param, adv_data, ARRAY_SIZE(adv_data), &adv_data[1], 1); struct bt_data scan_response_data[1] = {BT_DATA(BT_DATA_UUID128_SOME, ((struct bt_uuid_128 *)BT_UUID_SVC_BULK_DATA)->val, 16)};
return bt_le_adv_start(&adv_param, adv_data, ARRAY_SIZE(adv_data), scan_response_data, ARRAY_SIZE(scan_response_data));
} }
// Callback that the ble stack will call once it has been kicked off running // Callback that the ble stack will call once it has been kicked off running

View File

@@ -59,6 +59,15 @@
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/**
* OLED Brightness
*
*/
#define MIN_BRIGHTNESS 1 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 101 // Max OLED brightness selectable
#define BRIGHTNESS_STEP 25 // OLED brightness increment
#define DEFAULT_BRIGHTNESS 26 // default OLED brightness
/** /**
* Temp change settings * Temp change settings
*/ */
@@ -121,9 +130,9 @@
#define VOLTAGE_DIV 600 // 600 - Default divider from schematic #define VOLTAGE_DIV 600 // 600 - Default divider from schematic
#define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV #define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV
#define MIN_CALIBRATION_OFFSET 100 // Min value for calibration #define MIN_CALIBRATION_OFFSET 100 // Min value for calibration
#define PID_POWER_LIMIT 220 // Sets the max pwm power limit #define PID_POWER_LIMIT 120 // Sets the max pwm power limit
#define POWER_LIMIT 0 // 0 watts default limit #define POWER_LIMIT 0 // 0 watts default limit
#define MAX_POWER_LIMIT 220 // #define MAX_POWER_LIMIT 120 // Sets the max power limit
#define POWER_LIMIT_STEPS 5 // #define POWER_LIMIT_STEPS 5 //
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_PINECIL // Uses TS100 resistors #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_PINECIL // Uses TS100 resistors
#define TEMP_uV_LOOKUP_HAKKO // Use Hakko lookup table #define TEMP_uV_LOOKUP_HAKKO // Use Hakko lookup table
@@ -132,7 +141,7 @@
#define MAX_TEMP_C 450 // Max soldering temp selectable °C #define MAX_TEMP_C 450 // Max soldering temp selectable °C
#define MAX_TEMP_F 850 // Max soldering temp selectable °F #define MAX_TEMP_F 850 // Max soldering temp selectable °F
#define MIN_TEMP_C 10 // Min soldering temp selectable °C #define MIN_TEMP_C 10 // Min soldering temp selectable °C
#define MIN_TEMP_F 60 // Min soldering temp selectable °F #define MIN_TEMP_F 50 // Min soldering temp selectable °F
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F
#define DEVICE_HAS_VALIDATION_CODE // We have 2 digit validations #define DEVICE_HAS_VALIDATION_CODE // We have 2 digit validations

View File

@@ -20,7 +20,7 @@ void postRToSInit() {
} }
#endif #endif
if (getSettingValue(SettingsOptions::BLEEnabled)) { if (getSettingValue(SettingsOptions::BluetoothLE)) {
ble_stack_start(); ble_stack_start();
} }
} }

View File

@@ -152,7 +152,7 @@ bool parseCapabilitiesArray(const uint8_t numCaps, uint8_t *bestIndex, uint16_t
} }
} }
} }
} else if ((lastCapabilities[i] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED && (((lastCapabilities[i] & PD_APDO_TYPE) == PD_APDO_TYPE_PPS))) { } else if ((lastCapabilities[i] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED && (((lastCapabilities[i] & PD_APDO_TYPE) == PD_APDO_TYPE_PPS)) && getSettingValue(SettingsOptions::PDVpdo)) {
// If this is a PPS slot, calculate the max voltage in the PPS range that can we be used and maintain // If this is a PPS slot, calculate the max voltage in the PPS range that can we be used and maintain
uint16_t max_voltage = PD_PAV2MV(PD_APDO_PPS_MAX_VOLTAGE_GET(lastCapabilities[i])); uint16_t max_voltage = PD_PAV2MV(PD_APDO_PPS_MAX_VOLTAGE_GET(lastCapabilities[i]));
// uint16_t min_voltage = PD_PAV2MV(PD_APDO_PPS_MIN_VOLTAGE_GET(lastCapabilities[i])); // uint16_t min_voltage = PD_PAV2MV(PD_APDO_PPS_MIN_VOLTAGE_GET(lastCapabilities[i]));
@@ -179,7 +179,7 @@ bool parseCapabilitiesArray(const uint8_t numCaps, uint8_t *bestIndex, uint16_t
} }
} }
#ifdef POW_EPR #ifdef POW_EPR
else if ((lastCapabilities[i] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED && (((lastCapabilities[i] & PD_APDO_TYPE) == PD_APDO_TYPE_AVS))) { else if ((lastCapabilities[i] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED && (((lastCapabilities[i] & PD_APDO_TYPE) == PD_APDO_TYPE_AVS)) && getSettingValue(SettingsOptions::PDVpdo)) {
uint16_t max_voltage = PD_PAV2MV(PD_APDO_AVS_MAX_VOLTAGE_GET(lastCapabilities[i])); uint16_t max_voltage = PD_PAV2MV(PD_APDO_AVS_MAX_VOLTAGE_GET(lastCapabilities[i]));
uint8_t max_wattage = PD_APDO_AVS_MAX_POWER_GET(lastCapabilities[i]); uint8_t max_wattage = PD_APDO_AVS_MAX_POWER_GET(lastCapabilities[i]);

View File

@@ -51,10 +51,10 @@ enum SettingsOptions {
OLEDBrightness = 34, // Brightness for the OLED display OLEDBrightness = 34, // Brightness for the OLED display
LOGOTime = 35, // Duration the logo will be displayed for LOGOTime = 35, // Duration the logo will be displayed for
CalibrateCJC = 36, // Toggle calibrate CJC at next boot CalibrateCJC = 36, // Toggle calibrate CJC at next boot
BLEEnabled = 37, // Should BLE hardware be enabled if present BluetoothLE = 37, // Toggle BLE if present
PDVpdo = 38, // Toggle PPS & EPR
// //
SettingsOptionsLength = 38, // SettingsOptionsLength = 39, //
}; };
typedef enum { typedef enum {

View File

@@ -55,6 +55,7 @@ enum class SettingsItemIndex : uint8_t {
MinVolCell, MinVolCell,
QCMaxVoltage, QCMaxVoltage,
PDNegTimeout, PDNegTimeout,
PDVpdo,
BoostTemperature, BoostTemperature,
AutoStart, AutoStart,
TempChangeShortStep, TempChangeShortStep,
@@ -77,6 +78,7 @@ enum class SettingsItemIndex : uint8_t {
LOGOTime, LOGOTime,
AdvancedIdle, AdvancedIdle,
AdvancedSoldering, AdvancedSoldering,
BluetoothLE,
PowerLimit, PowerLimit,
CalibrateCJC, CalibrateCJC,
VoltageCalibration, VoltageCalibration,
@@ -85,7 +87,6 @@ enum class SettingsItemIndex : uint8_t {
PowerPulseDuration, PowerPulseDuration,
SettingsReset, SettingsReset,
LanguageSwitch, LanguageSwitch,
BLEEnabled,
NUM_ITEMS, NUM_ITEMS,
}; };

View File

@@ -49,45 +49,45 @@ typedef struct {
static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOptionsLength] = { static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOptionsLength] = {
//{min,max,increment,default} //{min,max,increment,default}
{MIN_TEMP_C, MAX_TEMP_F, 5, 320}, // SolderingTemp {MIN_TEMP_C, MAX_TEMP_F, 5, 320}, // SolderingTemp
{MIN_TEMP_C, MAX_TEMP_F, 5, 150}, // SleepTemp {MIN_TEMP_C, MAX_TEMP_F, 5, 150}, // SleepTemp
{0, 15, 1, SLEEP_TIME}, // SleepTime {0, 15, 1, SLEEP_TIME}, // SleepTime
{0, 4, 1, CUT_OUT_SETTING}, // MinDCVoltageCells {0, 4, 1, CUT_OUT_SETTING}, // MinDCVoltageCells
{24, 38, 1, RECOM_VOL_CELL}, // MinVoltageCells {24, 38, 1, RECOM_VOL_CELL}, // MinVoltageCells
{90, QC_VOLTAGE_MAX, 2, 90}, // QCIdealVoltage {90, QC_VOLTAGE_MAX, 2, 90}, // QCIdealVoltage
{0, 2, 1, ORIENTATION_MODE}, // OrientationMode {0, 2, 1, ORIENTATION_MODE}, // OrientationMode
{0, 9, 1, SENSITIVITY}, // Sensitivity {0, 9, 1, SENSITIVITY}, // Sensitivity
{0, 1, 1, ANIMATION_LOOP}, // AnimationLoop {0, 1, 1, ANIMATION_LOOP}, // AnimationLoop
{0, settingOffSpeed_t::MAX_VALUE - 1, 1, ANIMATION_SPEED}, // AnimationSpeed {0, settingOffSpeed_t::MAX_VALUE - 1, 1, ANIMATION_SPEED}, // AnimationSpeed
{0, 3, 1, AUTO_START_MODE}, // AutoStartMode {0, 3, 1, AUTO_START_MODE}, // AutoStartMode
{0, 60, 1, SHUTDOWN_TIME}, // ShutdownTime {0, 60, 1, SHUTDOWN_TIME}, // ShutdownTime
{0, 1, 1, COOLING_TEMP_BLINK}, // CoolingTempBlink {0, 1, 1, COOLING_TEMP_BLINK}, // CoolingTempBlink
{0, 1, 1, DETAILED_IDLE}, // DetailedIDLE {0, 1, 1, DETAILED_IDLE}, // DetailedIDLE
{0, 1, 1, DETAILED_SOLDERING}, // DetailedSoldering {0, 1, 1, DETAILED_SOLDERING}, // DetailedSoldering
{0, 1, 1, TEMPERATURE_INF}, // TemperatureInF {0, 1, 1, TEMPERATURE_INF}, // TemperatureInF
{0, 1, 1, DESCRIPTION_SCROLL_SPEED}, // DescriptionScrollSpeed {0, 1, 1, DESCRIPTION_SCROLL_SPEED}, // DescriptionScrollSpeed
{0, 2, 1, LOCKING_MODE}, // LockingMode {0, 2, 1, LOCKING_MODE}, // LockingMode
{0, 99, 1, POWER_PULSE_DEFAULT}, // KeepAwakePulse {0, 99, 1, POWER_PULSE_DEFAULT}, // KeepAwakePulse
{1, POWER_PULSE_WAIT_MAX, 1, POWER_PULSE_WAIT_DEFAULT}, // KeepAwakePulseWait {1, POWER_PULSE_WAIT_MAX, 1, POWER_PULSE_WAIT_DEFAULT}, // KeepAwakePulseWait
{1, POWER_PULSE_DURATION_MAX, 1, POWER_PULSE_DURATION_DEFAULT}, // KeepAwakePulseDuration {1, POWER_PULSE_DURATION_MAX, 1, POWER_PULSE_DURATION_DEFAULT}, // KeepAwakePulseDuration
{360, 900, 1, VOLTAGE_DIV}, // VoltageDiv {360, 900, 1, VOLTAGE_DIV}, // VoltageDiv
{0, MAX_TEMP_F, 10, BOOST_TEMP}, // BoostTemp {0, MAX_TEMP_F, 10, BOOST_TEMP}, // BoostTemp
{MIN_CALIBRATION_OFFSET, 2500, 1, CALIBRATION_OFFSET}, // CalibrationOffset {MIN_CALIBRATION_OFFSET, 2500, 1, CALIBRATION_OFFSET}, // CalibrationOffset
{0, MAX_POWER_LIMIT, POWER_LIMIT_STEPS, POWER_LIMIT}, // PowerLimit {0, MAX_POWER_LIMIT, POWER_LIMIT_STEPS, POWER_LIMIT}, // PowerLimit
{0, 1, 1, REVERSE_BUTTON_TEMP_CHANGE}, // ReverseButtonTempChangeEnabled {0, 1, 1, REVERSE_BUTTON_TEMP_CHANGE}, // ReverseButtonTempChangeEnabled
{5, TEMP_CHANGE_LONG_STEP_MAX, 5, TEMP_CHANGE_LONG_STEP}, // TempChangeLongStep {5, TEMP_CHANGE_LONG_STEP_MAX, 5, TEMP_CHANGE_LONG_STEP}, // TempChangeLongStep
{1, TEMP_CHANGE_SHORT_STEP_MAX, 1, TEMP_CHANGE_SHORT_STEP}, // TempChangeShortStep {1, TEMP_CHANGE_SHORT_STEP_MAX, 1, TEMP_CHANGE_SHORT_STEP}, // TempChangeShortStep
{0, 9, 1, 7}, // HallEffectSensitivity {0, 9, 1, 7}, // HallEffectSensitivity
{0, 9, 1, 0}, // AccelMissingWarningCounter {0, 9, 1, 0}, // AccelMissingWarningCounter
{0, 9, 1, 0}, // PDMissingWarningCounter {0, 9, 1, 0}, // PDMissingWarningCounter
{0, 0xFFFF, 0, 41431 /*EN*/}, // UILanguage {0, 0xFFFF, 0, 41431 /*EN*/}, // UILanguage
{0, 50, 1, 20}, // PDNegTimeout {0, 50, 1, 20}, // PDNegTimeout
{0, 1, 1, 0}, // OLEDInversion {0, 1, 1, 0}, // OLEDInversion
{0, 99, 11, 33}, // OLEDBrightness {MIN_BRIGHTNESS, MAX_BRIGHTNESS, BRIGHTNESS_STEP, DEFAULT_BRIGHTNESS}, // OLEDBrightness
{0, 5, 1, 1}, // LOGOTime {0, 5, 1, 1}, // LOGOTime
{0, 1, 1, 0}, // CalibrateCJC {0, 1, 1, 0}, // CalibrateCJC
{0, 1, 1, 1}, // BLEEnabled {0, 1, 1, 1}, // BluetoothLE
{0, 1, 1, 1}, // PDVpdo
}; };
static_assert((sizeof(settingsConstants) / sizeof(SettingConstants)) == ((int)SettingsOptions::SettingsOptionsLength)); static_assert((sizeof(settingsConstants) / sizeof(SettingConstants)) == ((int)SettingsOptions::SettingsOptionsLength));
@@ -140,15 +140,16 @@ void resetSettings() {
void setSettingValue(const enum SettingsOptions option, const uint16_t newValue) { void setSettingValue(const enum SettingsOptions option, const uint16_t newValue) {
const auto constants = settingsConstants[(int)option]; const auto constants = settingsConstants[(int)option];
systemSettings.settingsValues[(int)option] = newValue; uint16_t constrainedValue = newValue;
// If less than min, constrain if (constrainedValue < constants.min) {
if (systemSettings.settingsValues[(int)option] < constants.min) { // If less than min, constrain
systemSettings.settingsValues[(int)option] = constants.min; constrainedValue = constants.min;
} }
// If hit max, constrain else if (constrainedValue > constants.max) {
if (systemSettings.settingsValues[(int)option] > constants.max) { // If hit max, constrain
systemSettings.settingsValues[(int)option] = constants.max; constrainedValue = constants.max;
} }
systemSettings.settingsValues[(int)option] = constrainedValue;
} }
// Lookup wrapper for ease of use (with typing) // Lookup wrapper for ease of use (with typing)
uint16_t getSettingValue(const enum SettingsOptions option) { return systemSettings.settingsValues[(int)option]; } uint16_t getSettingValue(const enum SettingsOptions option) { return systemSettings.settingsValues[(int)option]; }

View File

@@ -26,6 +26,7 @@ static void displayQCInputV(void);
#endif #endif
#if POW_PD #if POW_PD
static void displayPDNegTimeout(void); static void displayPDNegTimeout(void);
static void displayPDVpdo(void);
#endif #endif
static void displaySensitivity(void); static void displaySensitivity(void);
static void displayShutdownTime(void); static void displayShutdownTime(void);
@@ -42,7 +43,7 @@ static void displayAdvancedIDLEScreens(void);
static void displayScrollSpeed(void); static void displayScrollSpeed(void);
static void displayPowerLimit(void); static void displayPowerLimit(void);
#ifdef BLE_ENABLED #ifdef BLE_ENABLED
static void displayBLEEnabled(void); static void displayBluetoothLE(void);
#endif #endif
#ifndef NO_DISPLAY_ROTATE #ifndef NO_DISPLAY_ROTATE
static bool setDisplayRotation(void); static bool setDisplayRotation(void);
@@ -100,6 +101,7 @@ static bool enterAdvancedMenu(void);
* -Minimum Voltage * -Minimum Voltage
* QC Voltage * QC Voltage
* PD Timeout * PD Timeout
* PDVpdo
* *
* Soldering * Soldering
* Boost Mode Temp * Boost Mode Temp
@@ -130,6 +132,7 @@ static bool enterAdvancedMenu(void);
* Detailed Soldering * Detailed Soldering
* *
* Advanced * Advanced
* BluetoothLE
* Power Limit * Power Limit
* Calibrate CJC At Next Boot * Calibrate CJC At Next Boot
* Calibrate Input V * Calibrate Input V
@@ -169,6 +172,7 @@ const menuitem powerMenu[] = {
* -Minimum Voltage * -Minimum Voltage
* QC Voltage * QC Voltage
* PD Timeout * PD Timeout
* PDVpdo
*/ */
#ifdef POW_DC #ifdef POW_DC
{SETTINGS_DESC(SettingsItemIndex::DCInCutoff), nullptr, displayInputVRange, nullptr, SettingsOptions::MinDCVoltageCells, SettingsItemIndex::DCInCutoff, 6}, /*Voltage input*/ {SETTINGS_DESC(SettingsItemIndex::DCInCutoff), nullptr, displayInputVRange, nullptr, SettingsOptions::MinDCVoltageCells, SettingsItemIndex::DCInCutoff, 6}, /*Voltage input*/
@@ -179,6 +183,7 @@ const menuitem powerMenu[] = {
#endif #endif
#if POW_PD #if POW_PD
{SETTINGS_DESC(SettingsItemIndex::PDNegTimeout), nullptr, displayPDNegTimeout, nullptr, SettingsOptions::PDNegTimeout, SettingsItemIndex::PDNegTimeout, 5}, /*PD timeout setup*/ {SETTINGS_DESC(SettingsItemIndex::PDNegTimeout), nullptr, displayPDNegTimeout, nullptr, SettingsOptions::PDNegTimeout, SettingsItemIndex::PDNegTimeout, 5}, /*PD timeout setup*/
{SETTINGS_DESC(SettingsItemIndex::PDVpdo), nullptr, displayPDVpdo, nullptr, SettingsOptions::PDVpdo, SettingsItemIndex::PDVpdo, 7 }, /*Toggle PPS & EPR*/
#endif #endif
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::NUM_ITEMS, 0} // end of menu marker. DO NOT REMOVE {0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::NUM_ITEMS, 0} // end of menu marker. DO NOT REMOVE
}; };
@@ -259,7 +264,7 @@ const menuitem UIMenu[] = {
}; };
const menuitem advancedMenu[] = { const menuitem advancedMenu[] = {
/* /*
* BLE Enabled or not * BluetoothLE
* Power Limit * Power Limit
* Calibrate CJC At Next Boot * Calibrate CJC At Next Boot
* Calibrate Input V * Calibrate Input V
@@ -269,9 +274,9 @@ const menuitem advancedMenu[] = {
* Factory Reset * Factory Reset
*/ */
#ifdef BLE_ENABLED #ifdef BLE_ENABLED
{SETTINGS_DESC(SettingsItemIndex::BLEEnabled), nullptr, displayBLEEnabled, nullptr, SettingsOptions::BLEEnabled, SettingsItemIndex::BLEEnabled, 7}, /*Advanced idle screen*/ {SETTINGS_DESC(SettingsItemIndex::BluetoothLE), nullptr, displayBluetoothLE, nullptr, SettingsOptions::BluetoothLE, SettingsItemIndex::BluetoothLE, 7}, /*Toggle BLE*/
#endif #endif
{SETTINGS_DESC(SettingsItemIndex::PowerLimit), nullptr, displayPowerLimit, nullptr, SettingsOptions::PowerLimit, SettingsItemIndex::PowerLimit, 5}, /*Power limit*/ {SETTINGS_DESC(SettingsItemIndex::PowerLimit), nullptr, displayPowerLimit, nullptr, SettingsOptions::PowerLimit, SettingsItemIndex::PowerLimit, 4}, /*Power limit*/
{SETTINGS_DESC(SettingsItemIndex::CalibrateCJC), setCalibrate, displayCalibrate, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::CalibrateCJC, {SETTINGS_DESC(SettingsItemIndex::CalibrateCJC), setCalibrate, displayCalibrate, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::CalibrateCJC,
7}, /*Calibrate Cold Junktion Compensation at next boot*/ 7}, /*Calibrate Cold Junktion Compensation at next boot*/
{SETTINGS_DESC(SettingsItemIndex::VoltageCalibration), setCalibrateVIN, displayCalibrateVIN, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::VoltageCalibration, {SETTINGS_DESC(SettingsItemIndex::VoltageCalibration), setCalibrateVIN, displayCalibrateVIN, nullptr, SettingsOptions::SettingsOptionsLength, SettingsItemIndex::VoltageCalibration,
@@ -376,6 +381,7 @@ static void displayPDNegTimeout(void) {
OLED::printNumber(value, 3, FontStyle::LARGE); OLED::printNumber(value, 3, FontStyle::LARGE);
} }
} }
static void displayPDVpdo(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::PDVpdo)); }
#endif #endif
static bool setBoostTemp(void) { static bool setBoostTemp(void) {
@@ -613,7 +619,7 @@ static void displayAnimationLoop(void) { OLED::drawCheckbox(getSettingValue(Sett
static void displayBrightnessLevel(void) { static void displayBrightnessLevel(void) {
OLED::printNumber((getSettingValue(SettingsOptions::OLEDBrightness) / 11 + 1), 2, FontStyle::LARGE); OLED::printNumber((getSettingValue(SettingsOptions::OLEDBrightness) / BRIGHTNESS_STEP + 1), 2, FontStyle::LARGE);
// While not optimal to apply this here, it is _very_ convienient // While not optimal to apply this here, it is _very_ convienient
OLED::setBrightness(getSettingValue(SettingsOptions::OLEDBrightness)); OLED::setBrightness(getSettingValue(SettingsOptions::OLEDBrightness));
} }
@@ -641,14 +647,14 @@ static void displayAdvancedIDLEScreens(void) { OLED::drawCheckbox(getSettingValu
static void displayAdvancedSolderingScreens(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::DetailedSoldering)); } static void displayAdvancedSolderingScreens(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::DetailedSoldering)); }
#ifdef BLE_ENABLED #ifdef BLE_ENABLED
static void displayBLEEnabled(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::BLEEnabled)); } static void displayBluetoothLE(void) { OLED::drawCheckbox(getSettingValue(SettingsOptions::BluetoothLE)); }
#endif #endif
static void displayPowerLimit(void) { static void displayPowerLimit(void) {
if (getSettingValue(SettingsOptions::PowerLimit) == 0) { if (getSettingValue(SettingsOptions::PowerLimit) == 0) {
OLED::print(translatedString(Tr->OffString), FontStyle::LARGE); OLED::print(translatedString(Tr->OffString), FontStyle::LARGE);
} else { } else {
OLED::printNumber(getSettingValue(SettingsOptions::PowerLimit), 2, FontStyle::LARGE); OLED::printNumber(getSettingValue(SettingsOptions::PowerLimit), 3, FontStyle::LARGE);
OLED::print(LargeSymbolWatts, FontStyle::LARGE); OLED::print(LargeSymbolWatts, FontStyle::LARGE);
} }
} }

View File

@@ -1,9 +1,11 @@
#include "OperatingModes.h" #include "OperatingModes.h"
extern osThreadId GUITaskHandle; extern osThreadId GUITaskHandle;
extern osThreadId MOVTaskHandle; extern osThreadId MOVTaskHandle;
extern osThreadId PIDTaskHandle; extern osThreadId PIDTaskHandle;
extern OperatingMode currentMode;
void showDebugMenu(void) { void showDebugMenu(void) {
currentMode = OperatingMode::debug;
uint8_t screen = 0; uint8_t screen = 0;
ButtonState b; ButtonState b;
for (;;) { for (;;) {

View File

@@ -5,9 +5,10 @@
#define MOVEMENT_INACTIVITY_TIME (60 * configTICK_RATE_HZ) #define MOVEMENT_INACTIVITY_TIME (60 * configTICK_RATE_HZ)
#define BUTTON_INACTIVITY_TIME (60 * configTICK_RATE_HZ) #define BUTTON_INACTIVITY_TIME (60 * configTICK_RATE_HZ)
uint8_t buttonAF[sizeof(buttonA)]; uint8_t buttonAF[sizeof(buttonA)];
uint8_t buttonBF[sizeof(buttonB)]; uint8_t buttonBF[sizeof(buttonB)];
uint8_t disconnectedTipF[sizeof(disconnectedTip)]; uint8_t disconnectedTipF[sizeof(disconnectedTip)];
extern OperatingMode currentMode;
void renderHomeScreenAssets(void) { void renderHomeScreenAssets(void) {
@@ -29,6 +30,7 @@ void drawHomeScreen(bool buttonLockout) {
renderHomeScreenAssets(); renderHomeScreenAssets();
for (;;) { for (;;) {
currentMode = OperatingMode::idle;
ButtonState buttons = getButtonState(); ButtonState buttons = getButtonState();
if (buttons != BUTTON_NONE) { if (buttons != BUTTON_NONE) {
OLED::setDisplayState(OLED::DisplayState::ON); OLED::setDisplayState(OLED::DisplayState::ON);
@@ -63,6 +65,7 @@ void drawHomeScreen(bool buttonLockout) {
} }
break; break;
case BUTTON_B_SHORT: case BUTTON_B_SHORT:
currentMode = OperatingMode::settings;
enterSettingsMenu(); // enter the settings menu enterSettingsMenu(); // enter the settings menu
{ {
OLED::useSecondaryFramebuffer(true); OLED::useSecondaryFramebuffer(true);

View File

@@ -0,0 +1,8 @@
//
// Created by Thomas White on 3/02/2023.
//
#include "OperatingModes.h"
// Global variables
OperatingMode currentMode = OperatingMode::idle;

View File

@@ -24,6 +24,14 @@ extern "C" {
#endif #endif
// Exposed modes // Exposed modes
enum OperatingMode {
idle = 0,
soldering = 1,
boost = 2,
sleeping = 3,
settings = 4,
debug = 5
};
void performCJCC(void); // Used to calibrate the Cold Junction offset void performCJCC(void); // Used to calibrate the Cold Junction offset
void gui_solderingTempAdjust(void); // For adjusting the setpoint temperature of the iron void gui_solderingTempAdjust(void); // For adjusting the setpoint temperature of the iron

View File

@@ -1,7 +1,10 @@
#include "OperatingModes.h" #include "OperatingModes.h"
extern OperatingMode currentMode;
int gui_SolderingSleepingMode(bool stayOff, bool autoStarted) { int gui_SolderingSleepingMode(bool stayOff, bool autoStarted) {
// Drop to sleep temperature and display until movement or button press // Drop to sleep temperature and display until movement or button press
currentMode = OperatingMode::sleeping;
for (;;) { for (;;) {
// user moved or pressed a button, go back to soldering // user moved or pressed a button, go back to soldering

View File

@@ -1,7 +1,8 @@
#include "OperatingModes.h" #include "OperatingModes.h"
extern bool heaterThermalRunaway; extern bool heaterThermalRunaway;
extern OperatingMode currentMode;
void gui_solderingMode(uint8_t jumpToSleep) { void gui_solderingMode(uint8_t jumpToSleep) {
/* /*
@@ -20,6 +21,7 @@ void gui_solderingMode(uint8_t jumpToSleep) {
*/ */
bool boostModeOn = false; bool boostModeOn = false;
bool buttonsLocked = false; bool buttonsLocked = false;
currentMode = OperatingMode::soldering;
if (jumpToSleep) { if (jumpToSleep) {
if (gui_SolderingSleepingMode(jumpToSleep == 2, true) == 1) { if (gui_SolderingSleepingMode(jumpToSleep == 2, true) == 1) {
@@ -43,6 +45,7 @@ void gui_solderingMode(uint8_t jumpToSleep) {
// if boost mode is enabled turn it on // if boost mode is enabled turn it on
if (getSettingValue(SettingsOptions::BoostTemp) && (getSettingValue(SettingsOptions::LockingMode) == 1)) { if (getSettingValue(SettingsOptions::BoostTemp) && (getSettingValue(SettingsOptions::LockingMode) == 1)) {
boostModeOn = true; boostModeOn = true;
currentMode = OperatingMode::boost;
} }
break; break;
// fall through // fall through
@@ -61,14 +64,17 @@ void gui_solderingMode(uint8_t jumpToSleep) {
case BUTTON_NONE: case BUTTON_NONE:
// stay // stay
boostModeOn = false; boostModeOn = false;
currentMode = OperatingMode::soldering;
break; break;
case BUTTON_BOTH: case BUTTON_BOTH:
case BUTTON_B_LONG: case BUTTON_B_LONG:
return; // exit on back long hold return; // exit on back long hold
case BUTTON_F_LONG: case BUTTON_F_LONG:
// if boost mode is enabled turn it on // if boost mode is enabled turn it on
if (getSettingValue(SettingsOptions::BoostTemp)) if (getSettingValue(SettingsOptions::BoostTemp)) {
boostModeOn = true; boostModeOn = true;
currentMode = OperatingMode::boost;
}
break; break;
case BUTTON_F_SHORT: case BUTTON_F_SHORT:
case BUTTON_B_SHORT: { case BUTTON_B_SHORT: {

View File

@@ -40,12 +40,12 @@ void showPDDebug(void) {
if ((lastCaps[screen - 1] & PD_PDO_TYPE) == PD_PDO_TYPE_FIXED) { if ((lastCaps[screen - 1] & PD_PDO_TYPE) == PD_PDO_TYPE_FIXED) {
voltage_mv = PD_PDV2MV(PD_PDO_SRC_FIXED_VOLTAGE_GET(lastCaps[screen - 1])); // voltage in mV units voltage_mv = PD_PDV2MV(PD_PDO_SRC_FIXED_VOLTAGE_GET(lastCaps[screen - 1])); // voltage in mV units
current_a_x100 = PD_PDO_SRC_FIXED_CURRENT_GET(lastCaps[screen - 1]); // current in 10mA units current_a_x100 = PD_PDO_SRC_FIXED_CURRENT_GET(lastCaps[screen - 1]); // current in 10mA units
} else if ((lastCaps[screen - 1] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED) { } else if (((lastCaps[screen - 1] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED) && ((lastCaps[screen - 1] & PD_APDO_TYPE) == PD_APDO_TYPE_AVS)) {
voltage_mv = PD_PAV2MV(PD_APDO_AVS_MAX_VOLTAGE_GET(lastCaps[screen - 1])); voltage_mv = PD_PAV2MV(PD_APDO_AVS_MAX_VOLTAGE_GET(lastCaps[screen - 1]));
min_voltage = PD_PAV2MV(PD_APDO_PPS_MIN_VOLTAGE_GET(lastCaps[screen - 1])); min_voltage = PD_PAV2MV(PD_APDO_PPS_MIN_VOLTAGE_GET(lastCaps[screen - 1]));
// Last value is wattage // Last value is wattage
wattage = PD_APDO_AVS_MAX_POWER_GET(lastCaps[screen - 1]); wattage = PD_APDO_AVS_MAX_POWER_GET(lastCaps[screen - 1]);
} else { } else if (((lastCaps[screen - 1] & PD_PDO_TYPE) == PD_PDO_TYPE_AUGMENTED) && ((lastCaps[screen - 1] & PD_APDO_TYPE) == PD_APDO_TYPE_PPS)) {
voltage_mv = PD_PAV2MV(PD_APDO_PPS_MAX_VOLTAGE_GET(lastCaps[screen - 1])); voltage_mv = PD_PAV2MV(PD_APDO_PPS_MAX_VOLTAGE_GET(lastCaps[screen - 1]));
min_voltage = PD_PAV2MV(PD_APDO_PPS_MIN_VOLTAGE_GET(lastCaps[screen - 1])); min_voltage = PD_PAV2MV(PD_APDO_PPS_MIN_VOLTAGE_GET(lastCaps[screen - 1]));
current_a_x100 = PD_PAI2CA(PD_APDO_PPS_CURRENT_GET(lastCaps[screen - 1])); // max current in 10mA units current_a_x100 = PD_PAI2CA(PD_APDO_PPS_CURRENT_GET(lastCaps[screen - 1])); // max current in 10mA units
@@ -70,7 +70,7 @@ void showPDDebug(void) {
} else { } else {
OLED::printNumber(current_a_x100 / 100, 2, FontStyle::SMALL, true); // print the current in 0.1A res OLED::printNumber(current_a_x100 / 100, 2, FontStyle::SMALL, true); // print the current in 0.1A res
OLED::print(SmallSymbolDot, FontStyle::SMALL); OLED::print(SmallSymbolDot, FontStyle::SMALL);
OLED::printNumber(current_a_x100 % 100, 2, FontStyle::SMALL, true); // print the current in 0.1A res OLED::printNumber(current_a_x100 % 100, 2, FontStyle::SMALL, false); // print the current in 0.1A res
OLED::print(SmallSymbolAmps, FontStyle::SMALL); OLED::print(SmallSymbolAmps, FontStyle::SMALL);
} }
} }

View File

@@ -1,8 +1,7 @@
#!/bin/bash #!/bin/bash
set -e set -e
TRANSLATION_DIR="../Translations" TRANSLATION_DIR="../Translations"
TRANSLATION_SCRIPT="make_translation.py" #TRANSLATION_SCRIPT="make_translation.py"
# AVAILABLE_LANGUAGES will be calculating according to json files in $TRANSLATION_DIR # AVAILABLE_LANGUAGES will be calculating according to json files in $TRANSLATION_DIR
AVAILABLE_LANGUAGES=() AVAILABLE_LANGUAGES=()
@@ -10,30 +9,64 @@ BUILD_LANGUAGES=()
AVAILABLE_MODELS=("TS100" "TS80" "TS80P" "Pinecil" "MHP30" "Pinecilv2") AVAILABLE_MODELS=("TS100" "TS80" "TS80P" "Pinecil" "MHP30" "Pinecilv2")
BUILD_MODELS=() BUILD_MODELS=()
builder_info() {
echo -e "
********************************************
IronOS Firmware
builder for Miniware + Pine64
by Ralim
********************************************"
}
# Calculate available languages
for f in "$TRANSLATION_DIR"/translation_*.json; do
AVAILABLE_LANGUAGES+=("$(echo "$f" | tr "[:lower:]" "[:upper:]" | sed "s/[^_]*_//" | sed "s/\.JSON//g")")
done
usage() { usage() {
echo "Usage : $(basename "$0") [-l <LANG_CODE>] [-m <TS100|TS80|TS80P|Pinecil|MHP30>] [-h] builder_info
echo -e "
Usage :
$(basename "$0") [-l <LANG_CODES>] [-m <MODELS>] [-h]
Parameters : Parameters :
-l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...) -l LANG_CODE : Force a specific language (${AVAILABLE_LANGUAGES[*]})
-m MODEL : Force a specific model (E.g. : TS100 or TS80) -m MODEL : Force a specific model (${AVAILABLE_MODELS[*]})
-h : Show this help message -h : Show this help message
INFO : By default, without parameters, the build is for all platforms and all languages" 1>&2 Example :
$(basename "$0") -l EN -m TS100 (Build one language and model)
$(basename "$0") -l EN -m \"TS100 MHP30\" (Build one language and multi models)
$(basename "$0") -l \"DE EN\" -m \"TS100 MHP30\" (Build multi languages and models)
INFO :
By default, without parameters, the build is for all platforms and all languages
" 1>&2
exit 1 exit 1
} }
StartBuild(){
read -n 1 -r -s -p $'Press Enter to start the building process...\n'
}
checkLastCommand() { checkLastCommand() {
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo " [Success]" echo " [Success]"
echo "*********************************************" echo "********************************************"
else else
forceExit forceExit "checkLastCommand"
fi fi
} }
forceExit() { forceExit() {
echo " [Error]" if [ -n "$*" ]; then
echo "*********************************************" echo -e "\n\n [Error]: $*"
else
echo " [Error]"
fi
echo "********************************************"
echo " -- Stop on error --" echo " -- Stop on error --"
exit 1 exit 1
} }
@@ -49,72 +82,86 @@ isInArray() {
return 1 return 1
} }
while getopts h:l:m: option; do declare -a margs=()
declare -a largs=()
while getopts "h:l:m:" option; do
case "${option}" in case "${option}" in
h) h)
usage usage
;; ;;
l) l)
LANGUAGEREQ=${OPTARG} set -f
;; IFS=' '
m) largs=($OPTARG)
MODEL=${OPTARG} ;;
;; m)
*) set -f
usage IFS=' '
margs=($OPTARG)
;;
*)
usage
;; ;;
esac esac
done done
shift $((OPTIND - 1)) shift $((OPTIND - 1))
builder_info
echo "*********************************************"
echo " Builder for the"
echo " Alternate Open Source Firmware"
echo " for Miniware + Pine64"
echo " by Ralim"
echo " "
echo "*********************************************"
# Calculate available languages
for f in "$TRANSLATION_DIR"/translation_*.json; do
AVAILABLE_LANGUAGES+=("$(echo "$f" | tr "[:lower:]" "[:upper:]" | sed "s/[^_]*_//" | sed "s/\.JSON//g")")
done
# Checking requested language # Checking requested language
echo "Available languages :" echo -n "Available languages :"
echo " ${AVAILABLE_LANGUAGES[*]}" echo " ${AVAILABLE_LANGUAGES[*]}"
echo "Requested languages :" echo -n "Requested languages : "
if [ -n "$LANGUAGEREQ" ]; then if ((${#largs[@]})); then
if isInArray "$LANGUAGEREQ" "${AVAILABLE_LANGUAGES[@]}"; then for i in "${largs[@]}"; do
echo " $LANGUAGEREQ" i=$(echo "${i}" | tr '[:lower:]' '[:upper:]')
BUILD_LANGUAGES+=("$LANGUAGEREQ") if isInArray "$i" "${AVAILABLE_LANGUAGES[@]}"; then
else echo -n "$i "
echo " $LANGUAGEREQ doesn't exist" BUILD_LANGUAGES+=("$i")
forceExit else
fi forceExit "Language '$i' is unknown. Check and use only from the available languages."
else fi
echo " [ALL LANGUAGES]" done
echo ""
fi
if [ -z "$BUILD_LANGUAGES" ]; then
echo " No custom languages selected."
echo " Building: [ALL LANGUAGES]"
BUILD_LANGUAGES+=("${AVAILABLE_LANGUAGES[@]}") BUILD_LANGUAGES+=("${AVAILABLE_LANGUAGES[@]}")
fi fi
echo "*********************************************" echo "********************************************"
# Checking requested model # Checking requested model
echo "Available models :" echo -n "Available models :"
echo " ${AVAILABLE_MODELS[*]}" echo " ${AVAILABLE_MODELS[*]}"
echo "Requested models :" echo -n "Requested models : "
if [ -n "$MODEL" ]; then if ((${#margs[@]})); then
if isInArray "$MODEL" "${AVAILABLE_MODELS[@]}"; then for i in "${margs[@]}"; do
echo " $MODEL"
BUILD_MODELS+=("$MODEL") if [[ "$i" != "Pinecil" ]] && [[ "$i" != "Pinecilv2" ]]; then # Dirty. Need to adapt the Build process to use upper cases only
else i=$(echo "${i}" | tr '[:lower:]' '[:upper:]')
echo " $MODEL doesn't exist" fi
forceExit
fi if isInArray "$i" "${AVAILABLE_MODELS[@]}"; then
else echo -n "$i "
echo " [ALL MODELS]" BUILD_MODELS+=("$i")
else
forceExit "Model '$i' is unknown. Check and use only from the available models."
fi
done
echo ""
fi
if [ -z "$BUILD_MODELS" ]; then
echo " No custom models selected."
echo " Building: [ALL MODELS]"
BUILD_MODELS+=("${AVAILABLE_MODELS[@]}") BUILD_MODELS+=("${AVAILABLE_MODELS[@]}")
fi fi
echo "*********************************************"
echo "********************************************"
##
#StartBuild
if [ ${#BUILD_LANGUAGES[@]} -gt 0 ] && [ ${#BUILD_MODELS[@]} -gt 0 ]; then if [ ${#BUILD_LANGUAGES[@]} -gt 0 ] && [ ${#BUILD_MODELS[@]} -gt 0 ]; then
echo "Cleaning previous builds" echo "Cleaning previous builds"
@@ -129,8 +176,7 @@ if [ ${#BUILD_LANGUAGES[@]} -gt 0 ] && [ ${#BUILD_MODELS[@]} -gt 0 ]; then
checkLastCommand checkLastCommand
done done
else else
echo "Nothing to build. (no model or language specified)" forceExit "Nothing to build. (no model or language specified)"
forceExit
fi fi
echo " -- Firmwares successfully generated --" echo " -- Firmwares successfully generated --"
echo "End..." echo "End..."

View File

@@ -4,4 +4,4 @@
* i.e.: BUILD_VERSION = 'Rel. v2.08' --> Will generated to: 'v2.08.1a2b3c4' * i.e.: BUILD_VERSION = 'Rel. v2.08' --> Will generated to: 'v2.08.1a2b3c4'
*/ */
#define BUILD_VERSION "v2.20" #define BUILD_VERSION "v2.21"