1
0
forked from me/IronOS

Compare commits

..

427 Commits

Author SHA1 Message Date
Ben V. Brown
d6af4654b3 Fix #1089 2021-10-02 15:03:50 +10:00
Ben V. Brown
3594604efc Fixes for I2C on Pinecil + USB-PD stack (#1099)
* Remove unused includes

* Adding in submodule

* Move fusb functions to the BSP

* Remove old code

* Creating IronOS PD integration wrapper

* Redirect to wrapper

* pd lib updates

* fix Docker build

* Finish linking across

* Cleanup

* Update Makefile

* Update push.yml

* Update push.yml

* PD -> Compensate for different tick rates

* Update codeql-analysis.yml

* Fix PD #define for @Firebie

* Check irq low at start

* Update BSP.h

* Update main.cpp

* Closer delay

* Update OLED.cpp

* Bugfix trying to start QC too early

* Missing fusb shouldnt hang qc

* Update FreeRTOSConfig.h

* Update the GD drivers

* Update Pinecil IRQ setup

* Redirect printf() to uart

* Update Power.cpp

* Adding extras to PD state

* Update USBPD.cpp

* Delay in printf

* Iterate once before delay on start

* Update usb-pd

* master usb-pd now

* Format gd libs

* Update gd32vf103_bkp.c

* Guard with PD timeout

* Remove CodeQL

* Slow for testing, fix runt pulses at start

* Fix runt pulse in read size 1

* Cleaner probing setup

* Testing delay during stop gen in read 1

* Update I2C driver

* Update gd32vf103_i2c.c

* Cleaning up i2c wrapper a little, given up on dma for rx

* Update preRTOS.cpp

* Update Setup.cpp

* Update MOVThread.cpp

* Slow down UART to work with new clock config

* Better ack setup for 2 byte read

* Cleanup POW_PD so cant be lost in #includes

* tipResistance -> TIP_RESISTANCE

* handle NOP race on len==2

* Update configuration.h

* Dont use neg timeout to mask anymore

* Not required for MHP

* Fix up source display Miniware

* Fix race on PD init

* Update POWThread.cpp

* Update formatting

* MHP format

* Update push.yml

* Faster TS80P I2C

* Bugfix for IRQ handlers

* Correctly handle I2C race on PD access

* Fix CI error (unused var) and MHP IRQ

* Test Pinecil alt ADC mode
2021-10-02 14:48:58 +10:00
discip
04ad5a3bfc changed idle screen & missing tip (#1097) 2021-10-01 19:23:28 +10:00
discip
5fd16bb673 adjusted max brightness (#1087)
* Delete Development Resources/Images directory

* jpg -> png

* fix value alignment for PD timeout

* Delete 001_TS80.png

* replace TS80 logo

* Update Settings.cpp

* Update gui.cpp

* Update Settings.cpp

* adding missing en dash

* Update translation_EN.json

* Update Settings.cpp

* Update gui.cpp
2021-09-30 21:25:51 +10:00
Ben V. Brown
4f020b8f5b Merge pull request #1096 from HanaO00/patch-2
Update translation_FR.json
2021-09-30 19:15:30 +10:00
HanaO00
77df5e2f0e Update translation_FR.json 2021-09-30 10:02:53 +02:00
Ben V. Brown
07ceb46d84 Merge pull request #1090 from yuk7/patch-1
Improve translation_JA_JP.json
2021-09-29 22:37:11 +10:00
yuk7
20c2b78e38 Update translation_JA_JP.json 2021-09-29 18:57:26 +09:00
federicodilo
2d21c96339 IT translation - second update (#1088)
* Update translation_IT.json

* Update translation_IT.json
2021-09-29 08:50:31 +10:00
discip
66cf63e048 jpg -> png | fixed value alignment for PD timeout (#1086)
* Delete Development Resources/Images directory

* jpg -> png

* fix value alignment for PD timeout

* Delete 001_TS80.png

* replace TS80 logo
2021-09-28 11:40:07 +10:00
discip
fa4b2fbe9b changed power animation (#1082)
As requested https://github.com/Ralim/IronOS/issues/1078#issue-1007487827.
2021-09-27 12:40:11 +10:00
discip
45f5838067 change increment and values of brightness settings (#1083) 2021-09-27 11:35:50 +10:00
Ben V. Brown
f9fa24687f Merge pull request #1076 from Vinigas/master
Added LT translations to new entries.
2021-09-26 23:01:32 +10:00
Vinigas
a320574f50 Added LT translations to new entries. 2021-09-26 15:29:32 +03:00
Ben V. Brown
f507ec59f7 Merge pull request #1075 from HanaO00/patch-1
Update translation_FR.json
2021-09-26 17:17:36 +10:00
HanaO00
168e640676 Update translation_FR.json 2021-09-26 09:10:24 +02:00
Ben V. Brown
6d9692b7f2 Merge pull request #1063 from discip/patch-3
Update DebugMenu.md
2021-09-26 09:11:36 +10:00
Ben V. Brown
26dc6805bd Merge pull request #1074 from Ralim/ralim/named-power-source
Ralim/named power source
2021-09-26 09:11:26 +10:00
Ben V. Brown
e606e7fe03 Merge branch 'master' into patch-3 2021-09-26 08:00:46 +10:00
Ben V. Brown
9964b6ee31 Use new power names 2021-09-26 07:58:33 +10:00
Ben V. Brown
73b6ca28f2 Generate power names 2021-09-26 07:58:19 +10:00
Ben V. Brown
26c1f6e60f Merge pull request #1073 from discip/master
translation_DE & translation_EN update
2021-09-26 07:48:51 +10:00
Ben V. Brown
adc26d0087 Merge branch 'master' into master 2021-09-26 07:43:08 +10:00
Ben V. Brown
bdc8e07273 Merge pull request #1072 from alvinhochun/alvin/translations-zh-update
Update Chinese translations
2021-09-26 07:41:09 +10:00
Ben V. Brown
6f4dc024bd Merge pull request #1071 from OndroNR/patch-2
Update translation_SK.json
2021-09-26 07:40:48 +10:00
Ben V. Brown
f7bddf7d32 Merge pull request #1069 from federicodilo/patch-11
Updates in IT translation
2021-09-26 07:39:34 +10:00
discip
cfbcbaee86 Merge branch 'master' into patch-3 2021-09-25 22:01:41 +02:00
discip
5ada069f30 Update translation_EN.json 2021-09-25 21:49:58 +02:00
discip
4f2c6a58f0 Update translation_DE.json 2021-09-25 21:49:16 +02:00
discip
5c90e359f7 Merge pull request #4 from discip/patch-8
Update translation_EN.json
2021-09-25 21:39:45 +02:00
discip
b3176fcf61 Merge pull request #3 from discip/patch-7
Patch 7
2021-09-25 21:39:09 +02:00
discip
461d1c95b8 Update translation_EN.json 2021-09-25 21:38:09 +02:00
discip
512eff2e74 Update translation_DE.json 2021-09-25 21:34:48 +02:00
federicodilo
f138ac1562 Adjustments 2021-09-25 20:12:53 +02:00
Alvin Wong
4aa9a67f20 Update Chinese translations 2021-09-26 01:01:01 +08:00
Ondrej Galbavy
d4f7c34809 Update translation_SK.json 2021-09-25 17:46:42 +02:00
federicodilo
65f0224cac Update translation_IT.json 2021-09-25 13:02:30 +02:00
Ben V. Brown
d4f5aaf4bc Merge pull request #1067 from gamelaster/patch-1
Update SK translation
2021-09-25 18:46:04 +10:00
Marek Kraus
71a3e021d7 Update translation_SK.json 2021-09-25 10:31:24 +02:00
discip
9d88260016 Update DebugMenu.md 2021-09-25 03:48:25 +02:00
Ben V. Brown
674e0f265d Update History.md 2021-09-25 11:44:51 +10:00
Ben V. Brown
e0ccc695bb Fix VID/PID for dapboot 2021-09-25 11:37:16 +10:00
Ben V. Brown
6742a7a0e0 Update documentation 2021-09-25 11:32:03 +10:00
Ben V. Brown
51efaea639 Merge pull request #1061 from discip/patch-3
Update GUIThread.cpp
2021-09-25 11:15:39 +10:00
discip
5105f91621 Update GUIThread.cpp 2021-09-25 03:13:16 +02:00
Ben V. Brown
cadbd3883a Update version.h 2021-09-25 11:11:24 +10:00
Ben V. Brown
714ef4bfda Merge pull request #1058 from Ralim/ralim/dfuse-header
Generate .dfu files
2021-09-25 11:10:54 +10:00
Ben V. Brown
5ff4a75b68 Merge branch 'master' into ralim/dfuse-header 2021-09-25 11:07:58 +10:00
Ben V. Brown
0ea9ae19f2 Merge pull request #1060 from Ralim/ralim/scrollbar
Fix scrollbar to handle omitted menu items
2021-09-25 11:07:47 +10:00
Ben V. Brown
bbeedeb36b Merge branch 'master' into ralim/scrollbar 2021-09-25 11:04:23 +10:00
Ben V. Brown
72242fc6d8 Merge pull request #1059 from discip/master
Rename PCB -> ACC and use real model numbers
2021-09-25 11:04:03 +10:00
Ben V. Brown
ec6e7c0812 Merge branch 'master' of https://github.com/discip/IronOS into pr/1059 2021-09-25 11:03:16 +10:00
Ben V. Brown
8d7e1c6415 Quick fix of docs 2021-09-25 11:02:54 +10:00
Ben V. Brown
44e2ff1bd7 Merge branch 'master' into ralim/scrollbar 2021-09-25 10:53:15 +10:00
Ben V. Brown
6c8cf32bdf Merge branch 'master' into master 2021-09-25 10:52:33 +10:00
Ben V. Brown
62100640cd Delete codeql-analysis.yml 2021-09-25 10:52:26 +10:00
Ben V. Brown
c05d63edf7 Update lang_multi.cpp 2021-09-25 10:51:55 +10:00
Ben V. Brown
c2593763a0 Expand Names 2021-09-25 10:43:09 +10:00
Ben V. Brown
7dad28a41e Expand python code to auto-generate the array of names 2021-09-25 10:38:09 +10:00
Ben V. Brown
a936eee83e Define array of Accelerometer names 2021-09-25 10:35:23 +10:00
Ben V. Brown
a3d5902ed1 Remove int cast 2021-09-25 10:35:11 +10:00
Ben V. Brown
68038038a7 Make enum in order 2021-09-25 10:34:41 +10:00
Ben V. Brown
04fce5d669 Fix enum annocations 2021-09-25 10:31:17 +10:00
Ben V. Brown
0619ada6d9 Update type of DetectedAccelerometerVersion 2021-09-25 10:31:10 +10:00
Ben V. Brown
c1f9442ec7 Move accelType to header for reachability, change type of DetectedAccelerometerVersion to suit 2021-09-25 10:30:40 +10:00
Ben V. Brown
17917404df Fix formatting 2021-09-25 10:27:39 +10:00
Ben V. Brown
1bb9254365 Update translation 2021-09-25 10:21:50 +10:00
Ben V. Brown
e8d26c3159 Draw no longer needs a return value 2021-09-25 10:21:44 +10:00
Ben V. Brown
2b390d68b4 Add visibility function 2021-09-25 09:58:33 +10:00
Ben V. Brown
f598b9a96f Bin files are no longer required 2021-09-25 09:50:55 +10:00
discip
7a67b064ba Update MOVThread.cpp 2021-09-25 01:32:15 +02:00
discip
dd85780447 Update MOVThread.cpp 2021-09-25 01:29:45 +02:00
discip
ba0ed93989 Update MOVThread.cpp 2021-09-25 01:20:06 +02:00
discip
412f1fa60f Update MOVThread.cpp 2021-09-25 01:10:53 +02:00
discip
46a62bc4f5 Update MOVThread.cpp 2021-09-25 00:55:45 +02:00
discip
92856d802d Update DebugMenu.md 2021-09-25 00:45:24 +02:00
discip
2467e6f004 Update MOVThread.cpp 2021-09-25 00:43:52 +02:00
discip
343ef02d03 Merge pull request #2 from discip/patch-2
Update make_translation.py
2021-09-25 00:29:02 +02:00
discip
3b5f7df9e8 Merge pull request #1 from discip/patch-1
show name of accelerometer in debug menu
2021-09-25 00:28:27 +02:00
discip
69d8d14e0c Update make_translation.py 2021-09-25 00:25:43 +02:00
discip
9f7a7ea0d0 show name of accelerometer in debug menu
Instead of displaying numbers in debug menu, show the actual name of the accelerometer.
2021-09-25 00:17:44 +02:00
Ben V. Brown
b258ff3b3d Persist dfu files into github assets 2021-09-24 13:17:12 +10:00
Ben V. Brown
113a9c6250 Add dfu file step 2021-09-24 13:16:17 +10:00
Ben V. Brown
fcce18ff7a Ubuntu doesnt appear to pack dfuse-pack 2021-09-24 13:16:10 +10:00
Ben V. Brown
b916e4ae25 Add dfu-util dep 2021-09-24 13:16:03 +10:00
Ben V. Brown
aad0f3691c Merge pull request #1056 from discip/patch-3
Create translation_RO.json
2021-09-23 08:55:11 +10:00
discip
8f4f7a6028 Update translation_RO.json 2021-09-22 17:33:29 +02:00
discip
fbf1b52aed Update translation_RO.json 2021-09-22 03:27:20 +02:00
discip
0cfae22e5b Update translation_RO.json 2021-09-22 03:21:27 +02:00
discip
81c775b936 Update translation_RO.json 2021-09-22 02:49:48 +02:00
discip
81ecf21dd9 Update translation_RO.json 2021-09-22 02:41:28 +02:00
discip
741703035a Update translation_RO.json 2021-09-22 02:12:00 +02:00
discip
5eff3d9a30 Create translation_RO.json 2021-09-22 02:01:34 +02:00
Ben V. Brown
1b6d0a8ba6 Merge pull request #1052 from discip/patch-3
Update translation_EN.json
2021-09-22 08:52:06 +10:00
Ben V. Brown
d41fe5979f Merge pull request #1053 from discip/patch-2
Update translation_DE.json
2021-09-22 08:51:45 +10:00
discip
5bfc567889 Update translation_EN.json 2021-09-21 23:00:05 +02:00
discip
313e2cc6a8 DE update 2021-09-21 22:52:21 +02:00
Ben V. Brown
5729479c87 Merge pull request #1051 from i4M1k0SU/master
Update JP translation
2021-09-20 18:48:29 +10:00
i4M1k0SU
aec93ae223 Update JP translation 2021-09-20 17:16:18 +09:00
Ben V. Brown
4d0c6e5b35 Merge pull request #1046 from Ralim/adjustable-qc
Make QC3 voltages adjustable
2021-09-19 09:31:06 +10:00
Ben V. Brown
00adf5bdb4 Merge branch 'master' into adjustable-qc 2021-09-19 09:19:29 +10:00
Ben V. Brown
b56ceb7200 Merge pull request #1048 from discip/patch-1
changed Power - & Advanced - animation
2021-09-19 09:19:18 +10:00
Ben V. Brown
5dafb98c25 Merge branch 'master' into adjustable-qc 2021-09-19 09:17:54 +10:00
discip
749e550f01 Merge branch 'master' into patch-1 2021-09-18 14:39:37 +02:00
Ben V. Brown
e2a33bd8af Merge pull request #1049 from KITT3000/patch-4
Update PL translation
2021-09-18 20:48:21 +10:00
Ziuta
c53f603d85 Update PL translation 2021-09-18 12:25:49 +02:00
Ben V. Brown
2125d1e143 Update QC3.cpp 2021-09-18 12:55:54 +10:00
discip
baab10d1df Update Font.h 2021-09-18 00:30:20 +02:00
discip
87f3507b55 changed Power - & Advanced - animation 2021-09-18 00:24:00 +02:00
Ben V. Brown
02453ce252 Update Settings.cpp 2021-09-17 21:38:22 +10:00
Ben V. Brown
21f8859f5a Fix text pos 2021-09-17 21:38:19 +10:00
Ben V. Brown
4951d72aee Bump power limits 2021-09-17 21:38:13 +10:00
Ben V. Brown
87b22e52ed Rough pass 2021-09-17 21:13:21 +10:00
Ben V. Brown
1d64e786de Merge pull request #1043 from Ralim/ralim/pid
PID complete rewrite with kudos to @sandmanRO  and help from @discip
2021-09-17 18:53:38 +10:00
Ben V. Brown
ed374ffb57 Update PIDThread.cpp 2021-09-15 21:55:43 +10:00
Ben V. Brown
b04fcb9246 PD negotiation timeout -> Off 2021-09-15 21:28:50 +10:00
Ben V. Brown
b1479733ca Move detailed display options
For @discip 😂
2021-09-15 21:24:18 +10:00
Ben V. Brown
f88e6bccf4 Update Setup.cpp 2021-09-15 21:18:23 +10:00
Ben V. Brown
7c014062be Update QC3.cpp 2021-09-15 21:16:09 +10:00
Ben V. Brown
6f46fc0bed style 2021-09-15 20:27:03 +10:00
Ben V. Brown
2bfb8a6535 Unify settings for each model into once place 2021-09-15 20:24:41 +10:00
Ben V. Brown
ebde786ca1 Bugfixes for settings menu 2021-09-15 19:24:19 +10:00
Ben V. Brown
bfca4c9336 Better limiter in the PID 2021-09-15 19:05:11 +10:00
Ben V. Brown
a213f4bd97 Update gui.cpp 2021-09-15 18:59:17 +10:00
Ben V. Brown
6989f10829 Remove old PID 2021-09-15 18:54:11 +10:00
Ben V. Brown
4a11b81d08 Cleanup pwm changeover point 2021-09-15 18:54:03 +10:00
Ben V. Brown
bd703c7d51 Dont need history compensation for delay 2021-09-15 18:53:34 +10:00
Ben V. Brown
e18c877a96 Removed unused 2021-09-15 18:53:07 +10:00
Ben V. Brown
3d992512f4 Merge branch 'master' into ralim/pid 2021-09-14 22:17:14 +10:00
Ben V. Brown
ad857a08ab QC code does not get control of vin filter 2021-09-14 22:01:10 +10:00
Ben V. Brown
0f3aff6619 Cleaning up new PID 2021-09-14 21:52:10 +10:00
Ben V. Brown
1b0c3bcb67 Cleaning up fast/slow PWM change 2021-09-14 21:48:58 +10:00
Ben V. Brown
811446fcb1 Update TipThermoModel.cpp 2021-09-14 21:48:41 +10:00
Ben V. Brown
a57449ed0f Retiming all the PWM's 2021-09-14 21:48:37 +10:00
Ben V. Brown
446faa4f74 Merge pull request #1041 from discip/patch-1
updated advanced menu icon
2021-09-14 19:11:05 +10:00
discip
0120a5d811 updated advanced menu icon 2021-09-13 16:35:26 +02:00
Ben V. Brown
159ae7a8e2 Rough pass new PID 2021-09-12 20:59:40 +10:00
Ben V. Brown
416af2ff70 Refactor PID inner core out 2021-09-12 20:44:09 +10:00
Ben V. Brown
c99d6b731e Update PIDThread.cpp 2021-09-12 20:37:05 +10:00
Ben V. Brown
9c3cc12726 Update PIDThread.cpp 2021-09-12 20:10:09 +10:00
Ben V. Brown
3165fbe592 Pull out PID irrelevant filters 2021-09-12 20:06:12 +10:00
Ben V. Brown
3220fdeeff Update PIDThread.cpp 2021-09-12 19:56:27 +10:00
Ben V. Brown
393f2dee67 Merge pull request #1039 from Ralim/refactor-adc
Refactor adc using wisdom from @sandmanRO
2021-09-12 19:23:39 +10:00
Ben V. Brown
55a2cb3f24 Merge branch 'master' into refactor-adc 2021-09-12 19:18:58 +10:00
Ben V. Brown
ccfd4bbdd4 Merge pull request #1010 from alvinhochun/contrast-invert
Add contrast/brightness and screen invert settings
2021-09-12 19:18:55 +10:00
Ben V. Brown
4b2f350b35 Contrast -> Brightness
As it makes a little more sense in a 1 bit display
2021-09-12 19:14:45 +10:00
Ben V. Brown
87a96bcff7 Fix settings bug 2021-09-12 19:06:50 +10:00
Ben V. Brown
45116fb7b1 Updating translations 2021-09-12 19:03:25 +10:00
Ben V. Brown
fd0e242488 Merge branch 'master' into pr/1010 2021-09-12 18:36:33 +10:00
Ben V. Brown
74c64ce0c9 Merge pull request #1040 from Ralim/ralim/settings-rework
Rewriting entire settings handling to allow inplace upgrades, and better roll forwards/backwards support
2021-09-12 18:31:35 +10:00
Ben V. Brown
18b9dc0fa3 Update Settings.cpp 2021-09-12 17:37:46 +10:00
Ben V. Brown
c36119656a 🎉 Remove pointless set values now with helper 2021-09-12 15:43:38 +10:00
Ben V. Brown
3214a103ea Assign static values to the enum 2021-09-12 15:43:26 +10:00
Ben V. Brown
46ceb556b2 First sweep gui cleanup 2021-09-12 15:19:00 +10:00
Ben V. Brown
68e6c050b8 Bugfix: bools and end on non 1 increment 2021-09-12 15:01:15 +10:00
Ben V. Brown
f6382cf7cb Building multi-lang 2021-09-12 14:50:39 +10:00
Ben V. Brown
63edd24ee2 Rough link unique language ID 2021-09-12 14:47:55 +10:00
Ben V. Brown
17e82105b1 Give all languages a unique ID 2021-09-12 14:47:44 +10:00
Ben V. Brown
798868e0e1 Set defaults 2021-09-12 14:12:46 +10:00
Ben V. Brown
8fd2f6e95c Second pass 2021-09-12 14:03:09 +10:00
Ben V. Brown
eb2a748e3f Pass one settings refactor 2021-09-12 13:31:03 +10:00
Ben V. Brown
a207f03c02 Merge branch 'master' into pr/1010 2021-09-11 22:46:51 +10:00
Ben V. Brown
af0adb0708 Reworking raw adc, handle temp done
Pre seed adc values

Pinecil port

Update PIDThread.cpp

TRGO is more stable for timing (buffered)?
2021-09-11 22:25:57 +10:00
Ben V. Brown
fc47c71ec3 Merge pull request #1028 from Mel-kior/AdvancedViewRework
Rework of advanced view to be cleaner and easier to work with
2021-08-20 09:31:45 +10:00
Mel-kior
9aa34348da Change advanced views ( home and soldering ) 2021-08-19 21:46:19 +02:00
Ben V. Brown
8a72bfc625 Merge pull request #1025 from ironiridis/patch-1
Alternate flash command for Pinecil w/o mass-erase
2021-08-07 01:05:26 +10:00
Christopher Harrington
778dc1caea Alternate flash command for Pinecil w/o mass-erase
It seems the common wisdom at this point is to flash without the explicit erase if `dfu-util` is unable to complete the erase.
2021-07-31 12:35:04 -05:00
Ben V. Brown
dd5012a3c1 Merge pull request #1013 from RichardBronosky/link-to-miniware-website
Add link to Miniware official website
2021-07-17 19:12:11 +10:00
Bruno Bronosky
9a0345f13a Add link to Miniware official website
The URL used is a list of Miniware soldering irons each of which include links to their own firmware downloads.
2021-07-16 08:46:19 -05:00
Alvin Wong
4ab3b5b116 Add POC contrast and screen invert settings 2021-07-14 16:13:11 +08:00
Ben V. Brown
758379a7e6 Merge pull request #993 from Ralim/ralim/const-temp-catch
Thermal Runaway alert
2021-06-24 21:15:55 +10:00
Ben V. Brown
0400da7c88 Merge branch 'master' into ralim/const-temp-catch 2021-06-24 20:46:19 +10:00
Ben V. Brown
6a19bfbf47 Merge pull request #1002 from discip/patch-1
Update Flashing.md
2021-06-24 20:46:06 +10:00
discip
0e09421690 Update Flashing.md
one more typo fixed
2021-06-23 22:15:59 +02:00
Ben V. Brown
8488b5a1d0 Merge branch 'master' into ralim/const-temp-catch 2021-06-22 20:40:13 +10:00
Ben V. Brown
e64e754d29 Update Flashing.md 2021-06-22 20:39:35 +10:00
Ben V. Brown
7021ecbd2e Merge pull request #999 from jhenninger/documentation-fixes
Fix documentation typos
2021-06-20 20:50:15 +10:00
Johannes Henninger
153e7ba36f Fix documentation typos 2021-06-20 12:26:27 +02:00
Ben V. Brown
976512fbd7 Merge branch 'master' into ralim/const-temp-catch 2021-06-09 08:49:07 +10:00
Ben V. Brown
4165124efc Merge pull request #994 from VaZso/master
USB PD timeout added as an option for improved QC3 compatibility
2021-06-09 08:47:05 +10:00
Varga Zsolt
93f8adbd4c Redoing last modification 2021-06-08 23:00:13 +02:00
Varga Zsolt
2755bb15b2 Revert "Test"
This reverts commit 3e502f462d.
2021-06-08 22:57:09 +02:00
Varga Zsolt
3e502f462d Test 2021-06-08 22:49:48 +02:00
Varga Zsolt
8bfbff360a Cosmetic fix of a comment 2021-06-08 01:02:18 +02:00
Varga Zsolt
a7ec2748bb Cosmetic fixes3 2021-06-07 16:14:55 +02:00
Varga Zsolt
b3f987d34a Cosmetic fixes2 2021-06-07 14:55:30 +02:00
Varga Zsolt
54a28b47fe Cosmetic fixes 2021-06-07 13:54:11 +02:00
Varga Zsolt
71223367d6 Fixed typo 2021-06-07 06:58:24 +02:00
Varga Zsolt
a75d97360f Suggestions mostly corrected 2021-06-07 01:09:41 +02:00
Varga Zsolt
81de60e1e4 USB PD timeout added 2021-06-06 18:45:00 +02:00
Ben V. Brown
f6e8c79e8e Merge branch 'master' into ralim/const-temp-catch 2021-06-06 08:49:54 +10:00
Ben V. Brown
9ed1c1fc04 Update cache invalidator 2021-06-06 08:35:40 +10:00
Ben V. Brown
966f4d732d Approx thermal runaway config 2021-06-06 08:14:40 +10:00
Ben V. Brown
49167fdc5a Translations, add warning message 2021-06-06 08:12:58 +10:00
Ben V. Brown
3bee1411a3 Merge pull request #991 from Ralim/fix-ci-formatter
Fix ci formatter
2021-06-06 07:43:37 +10:00
Ben V. Brown
5a0f3e13d8 Update push.yml 2021-06-05 22:58:44 +10:00
Ben V. Brown
0336432994 Format 2021-06-05 22:51:47 +10:00
Ben V. Brown
27c7166922 Remove unused variables in PD stack 2021-06-04 21:04:55 +10:00
Ben V. Brown
14c2ea37ce Merge pull request #987 from discip/patch-1
Update translation_SV.json
2021-06-04 20:26:01 +10:00
discip
11f092d8dc Update translation_SV.json 2021-06-03 03:24:32 +02:00
Ben V. Brown
da7d558341 Merge pull request #982 from piksel/patch-1
Add missing SV translations and fix errors
2021-06-02 18:03:29 +10:00
Ben V. Brown
3bb7146ed4 Merge pull request #981 from discip/patch-1
Update DebugMenu.md
2021-06-02 18:03:11 +10:00
Ben V. Brown
7500db9914 Merge branch 'master' into patch-1 2021-06-02 17:27:39 +10:00
Ben V. Brown
3ce41d677c Merge branch 'master' into patch-1 2021-06-02 17:27:34 +10:00
Ben V. Brown
1a97b42fae Merge pull request #986 from Ralim/dependabot/github_actions/actions/cache-2.1.6
chore(deps): bump actions/cache from 2.1.5 to 2.1.6
2021-05-31 16:49:17 +10:00
dependabot[bot]
13927fcdbc chore(deps): bump actions/cache from 2.1.5 to 2.1.6
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 06:39:14 +00:00
nils måsén
3ac5645891 Add additional strings 2021-05-25 20:04:12 +02:00
nils måsén
12b202f531 Add missing SV translations and fix errors 2021-05-25 19:48:54 +02:00
discip
bea2ae5211 Update DebugMenu.md
correction of unit of measurement of time
*`seconds` => `deciseconds`*
2021-05-25 00:46:01 +02:00
Ben V. Brown
b1fd7ebb8f Merge pull request #977 from playday3008/patch-1
Update translation_UK.json
2021-05-24 21:23:43 +10:00
Ben V. Brown
b680887dd9 Merge branch 'master' into patch-1 2021-05-24 21:22:59 +10:00
Ben V. Brown
4a8352650a Merge pull request #974 from discip/master
languages (certain unifying)
2021-05-24 21:22:36 +10:00
discip
0d6dbae820 Update translation_ZH_TW.json 2021-05-23 00:08:24 +02:00
discip
568f78301a Update translation_ZH_CN.json 2021-05-23 00:07:19 +02:00
discip
b927e2f839 Update translation_YUE_HK.json 2021-05-23 00:06:27 +02:00
discip
ba2f5bcd64 Update translation_UK.json 2021-05-23 00:05:41 +02:00
discip
93c67728da Update translation_TR.json 2021-05-23 00:04:57 +02:00
discip
3e37f2c3e9 Update translation_SV.json 2021-05-23 00:03:55 +02:00
discip
89f43643c2 Update translation_SR_LATN.json 2021-05-23 00:03:08 +02:00
discip
b41f621f77 Update translation_SR_CYRL.json 2021-05-23 00:02:18 +02:00
discip
25baa2d21b Update translation_SL.json 2021-05-23 00:01:29 +02:00
discip
001f632164 Update translation_SK.json 2021-05-23 00:00:36 +02:00
discip
8d275be3ee Update translation_RU.json 2021-05-22 23:59:57 +02:00
discip
7cb3c754ea Update translation_PT.json 2021-05-22 23:59:16 +02:00
discip
2376ea44ce Update translation_PL.json 2021-05-22 23:58:31 +02:00
discip
f60912c0fe Update translation_NO.json 2021-05-22 23:57:45 +02:00
discip
d0bcb15897 Update translation_NL_BE.json 2021-05-22 23:56:58 +02:00
discip
a7c12559f9 Update translation_NL.json 2021-05-22 23:56:15 +02:00
discip
51d0809d7e Update translation_LT.json 2021-05-22 23:55:17 +02:00
discip
7be0bae354 Update translation_JA_JP.json 2021-05-22 23:53:25 +02:00
discip
f0f61f1268 Update translation_IT.json 2021-05-22 23:51:50 +02:00
discip
77df8bfd07 Update translation_HU.json 2021-05-22 23:50:24 +02:00
discip
44be6ef808 Update translation_HR.json 2021-05-22 23:49:42 +02:00
discip
8f155eab7c Update translation_FR.json 2021-05-22 23:48:52 +02:00
discip
3777f19bfd Update translation_FI.json 2021-05-22 23:48:05 +02:00
discip
7192e8bd1a Update translation_ES.json 2021-05-22 23:47:20 +02:00
discip
b92fb8634e Update translation_DE.json 2021-05-22 23:43:41 +02:00
discip
e512debae8 Update translation_DA.json 2021-05-22 23:42:53 +02:00
discip
8791b0ba4f Update translation_CS.json 2021-05-22 23:42:02 +02:00
discip
a33d01f885 Update translation_BG.json 2021-05-22 23:41:17 +02:00
discip
791270a128 Update translation_EN.json 2021-05-22 23:40:15 +02:00
discip
abe25a664e Update translation_EN.json 2021-05-22 23:28:03 +02:00
discip
e34a4aa7aa Update translation_UK.json 2021-05-22 16:06:42 +02:00
discip
69cf83d833 Update translation_BG.json 2021-05-22 15:52:01 +02:00
discip
47ee857e30 Update translation_UK.json 2021-05-22 15:48:46 +02:00
discip
d050e29327 Update translation_TR.json 2021-05-22 15:48:00 +02:00
discip
5935a0c1dd Update translation_SV.json 2021-05-22 15:47:10 +02:00
discip
258e40c540 Update translation_SR_LATN.json 2021-05-22 15:46:30 +02:00
discip
a8b99d7d7a Update translation_SR_CYRL.json 2021-05-22 15:45:48 +02:00
discip
2a580d1ac1 Update translation_SL.json 2021-05-22 15:43:56 +02:00
discip
af701f0a97 Update translation_SK.json 2021-05-22 15:43:01 +02:00
discip
3689931dea Update translation_RU.json 2021-05-22 15:41:45 +02:00
discip
c0806a3aaf Update translation_PT.json 2021-05-22 15:36:25 +02:00
discip
0029c5f66e Update translation_PL.json 2021-05-22 15:35:39 +02:00
discip
7ff832cf98 Update translation_NO.json 2021-05-22 15:34:53 +02:00
discip
ba9826c4e9 Update translation_NL_BE.json 2021-05-22 15:33:56 +02:00
discip
0868c81534 Update translation_NL.json 2021-05-22 15:32:57 +02:00
discip
1289c8d9b9 Update translation_LT.json 2021-05-22 15:31:39 +02:00
discip
0d8bb3078b Update translation_HU.json 2021-05-22 15:29:08 +02:00
discip
5a9641c9fd Update translation_HR.json 2021-05-22 15:27:51 +02:00
discip
3731900e67 Update translation_FR.json 2021-05-22 15:26:45 +02:00
discip
c486e9abd5 Update translation_FI.json 2021-05-22 15:25:33 +02:00
discip
16e0b3b6cb Update translation_ES.json 2021-05-22 15:23:55 +02:00
discip
54a9f877d8 Update translation_EN.json 2021-05-22 15:20:15 +02:00
discip
c59c8645a1 Update translation_ES.json 2021-05-22 14:21:02 +02:00
discip
1ef38c1f45 Update translation_ZH_TW.json 2021-05-22 14:09:14 +02:00
discip
94b50dbb4f Update translation_ZH_CN.json 2021-05-22 14:07:24 +02:00
discip
eb9054d622 Update translation_YUE_HK.json 2021-05-22 14:05:47 +02:00
discip
1798f674b6 Update translation_JA_JP.json 2021-05-22 14:01:01 +02:00
discip
df1df8d8dd Update translation_EN.json 2021-05-22 13:58:26 +02:00
discip
3aa98397ce Update translation_DE.json 2021-05-22 13:56:17 +02:00
discip
727a7e179d Update translation_DA.json 2021-05-22 13:52:48 +02:00
discip
ca09247d0a Update translation_CS.json 2021-05-22 13:51:57 +02:00
discip
6e7f10fc16 Update translation_BG.json 2021-05-22 13:50:52 +02:00
discip
5f0ad50fdd Update translation_IT.json 2021-05-22 13:49:26 +02:00
PlayDay
5b34a6b7e4 Update translation_UK.json 2021-05-22 13:48:08 +02:00
discip
079bf03864 Update translation_YUE_HK.json 2021-05-21 22:11:32 +02:00
discip
29f1ec2348 Update translation_ZH_CN.json 2021-05-21 22:10:21 +02:00
discip
600b11c89f Update translation_ZH_TW.json 2021-05-21 22:08:56 +02:00
discip
5921da2ec1 Update translation_JA_JP.json 2021-05-21 22:07:19 +02:00
discip
b3c4ddc72c Merge branch 'master' into master 2021-05-21 21:56:33 +02:00
discip
15bf02bd58 Update translation_NL.json 2021-05-21 21:45:56 +02:00
discip
68226c2ae6 Update translation_NL.json 2021-05-21 21:44:03 +02:00
Ben V. Brown
c38574fabc Update push.yml 2021-05-21 20:59:13 +10:00
Ben V. Brown
23fe246026 Revert "Update STM32 hal for Miniware"
This reverts commit 730ee94c5c.
2021-05-21 20:58:05 +10:00
Ben V. Brown
730ee94c5c Update STM32 hal for Miniware 2021-05-21 20:54:48 +10:00
Ben V. Brown
ab4e5e70ca 🤷‍♂️🤷‍♂️ 2021-05-21 20:49:58 +10:00
Ben V. Brown
c4512210a6 Update stm32f1xx_hal_tim_ex.h 2021-05-21 20:42:13 +10:00
Ben V. Brown
028c356c72 🤷‍♂️ 2021-05-21 20:38:30 +10:00
Ben V. Brown
4ef082d228 Update Makefile 2021-05-21 20:26:57 +10:00
Ben V. Brown
062a4f78fd Update Makefile 2021-05-21 20:24:29 +10:00
Ben V. Brown
5f7d9dd042 Print formatting error 2021-05-21 20:20:24 +10:00
Ben V. Brown
23bd22d109 Merge pull request #973 from HanaO00/patch-4
Update translation_FR.json
2021-05-21 19:59:48 +10:00
discip
4831593394 Add files via upload 2021-05-20 23:47:04 +02:00
HanaO00
6db4fe4d59 Update translation_FR.json 2021-05-20 20:48:34 +02:00
HanaO00
2b7b3e91e1 Update translation_FR.json 2021-05-20 19:35:47 +02:00
HanaO00
e03d2051c9 Update translation_FR.json 2021-05-20 19:27:44 +02:00
HanaO00
50505ac300 Update translation_FR.json 2021-05-20 19:19:15 +02:00
HanaO00
6bfa243bae Update translation_FR.json 2021-05-20 19:15:18 +02:00
HanaO00
15dd6c02d9 Update translation_FR.json 2021-05-20 19:12:04 +02:00
HanaO00
7d3be76f25 Update translation_FR.json
Better screen rendering in detailed settings
Track changes in translation_EN to be more faithful to the original
2021-05-20 19:02:42 +02:00
Ben V. Brown
70ec7189ca Merge pull request #972 from discip/patch-1
Update translation_DE.json
2021-05-20 09:00:00 +10:00
discip
dcc1920901 Update translation_DE.json 2021-05-19 19:43:29 +02:00
Ben V. Brown
0b656c207e Merge pull request #968 from marius137/patch-1
Fix typo in line 9 of Flashing.md
2021-05-17 21:13:19 +10:00
Ben V. Brown
4dc2abebc1 Merge branch 'master' into patch-1 2021-05-17 20:38:46 +10:00
Ben V. Brown
d1916d0c97 Merge pull request #966 from discip/patch-1
Update translation_EN.json
2021-05-17 20:38:40 +10:00
Ben V. Brown
5347c9854b Merge branch 'master' into patch-1 2021-05-17 20:22:29 +10:00
Ben V. Brown
85e30a9786 Merge pull request #971 from greenbigfrog/patch-1
[Docs] Fix how to exit VIN calib
2021-05-16 12:50:58 +10:00
Jonathan
bfd0991c41 Fix how to exit VIN calib docs 2021-05-15 19:17:09 +02:00
Ben V. Brown
96d6f63469 Merge pull request #970 from HanaO00/patch-3
Update translation_FR.json
2021-05-15 13:27:27 +10:00
HanaO00
37dac9ae6a Update translation_FR.json 2021-05-14 20:48:02 +02:00
marius137
5132420fa0 Fix typo in line 9 of Flashing.md
there was a dot included as code block after .bin in line 9
2021-05-11 21:48:08 +02:00
discip
5be205fb22 Merge branch 'master' into patch-1 2021-05-11 18:01:01 +02:00
discip
15bd804f87 Update translation_EN.json 2021-05-11 17:29:00 +02:00
discip
b1c73fe0c6 Update translation_EN.json 2021-05-11 17:16:09 +02:00
Ben V. Brown
b9856b4977 Delete ISSUE_TEMPLATE.md 2021-05-11 20:13:00 +10:00
Ben V. Brown
deeae4364d Update issue templates 2021-05-11 20:12:47 +10:00
Ben V. Brown
a084fd28ed Update README.md 2021-05-11 20:06:45 +10:00
Ben V. Brown
4a2425862b Update Flashing.md to include note for drivers
Closes 967
2021-05-11 20:04:16 +10:00
discip
9473fae255 Update translation_EN.json 2021-05-10 23:24:57 +02:00
discip
7c4fcc7c91 Update translation_EN.json 2021-05-10 20:21:31 +02:00
Ben V. Brown
f6e407c8f8 Merge pull request #961 from discip/patch-2
Update translation_DE.json
2021-05-10 21:05:11 +10:00
discip
3b4e9af077 Update translation_DE.json 2021-05-09 14:38:25 +02:00
Ben V. Brown
40087e6281 Merge pull request #940 from Ralim/MHP30
MHP30 Support
2021-05-08 22:00:02 +10:00
Ben V. Brown
0887bbe3cf Mask PWM during beep 2021-05-08 16:28:33 +10:00
Ben V. Brown
f752e694df Merge branch 'master' into MHP30 2021-05-08 13:46:56 +10:00
Ben V. Brown
a238a7813c Merge pull request #958 from FL550/exit-soldering-mode-from-sleep-mode-with-button
Enable shutdown from sleep mode
2021-05-08 13:46:37 +10:00
FL550
c8ecbe174f Enable shutdown from sleep mode
If the iron is in sleep mode it is now possible to shutdown with
a long press on the back button without reheating in-between.
2021-05-07 17:23:33 +02:00
Ben V. Brown
e380f9c129 Dont need round down 2021-05-06 21:37:35 +10:00
Ben V. Brown
293c09cffa Add slew rate to the PID output for MHP 2021-05-06 21:35:43 +10:00
Ben V. Brown
73f11499b6 Format 2021-05-06 19:49:07 +10:00
Ben V. Brown
7bca0280f9 Backoff by about 1W from approx limit 2021-05-06 19:46:32 +10:00
Ben V. Brown
c6899574f6 Merge branch 'MHP30' of https://github.com/Ralim/IronOS into MHP30 2021-05-06 19:39:09 +10:00
Ben V. Brown
e254dc5ec6 Merge branch 'master' into MHP30 2021-05-06 19:38:53 +10:00
Ben V. Brown
bd25aefe29 Disable display rotation selection 2021-05-06 19:33:51 +10:00
Ben V. Brown
2f03788631 Merge pull request #957 from federicodilo/patch-9
Update translation_IT.json
2021-05-06 17:43:35 +10:00
federicodilo
e3283a88a6 Update translation_IT.json 2021-05-06 09:20:29 +02:00
Ben V. Brown
532c5136d6 Merge branch 'master' into MHP30 2021-05-05 19:26:59 +10:00
Ben V. Brown
1b3445cefa Add buzzer beep when at temperature 🎵 2021-05-05 19:19:00 +10:00
Ben V. Brown
79fa47eb16 Reduce max temp for MHP30 2021-05-05 18:48:12 +10:00
Ben V. Brown
246b93236c Merge pull request #955 from alvinhochun/menu-exit-transition
Impl. menu exit transition
2021-05-05 17:06:08 +10:00
Ben V. Brown
ff58c473bf Merge branch 'master' into menu-exit-transition 2021-05-05 16:53:40 +10:00
Ben V. Brown
5b17d00958 Merge pull request #956 from discip/patch-1
Update translation_DE.json
2021-05-05 16:53:23 +10:00
discip
42dbe63465 Update translation_DE.json 2021-05-05 00:42:49 +02:00
discip
4d3fa18f01 Update translation_DE.json 2021-05-05 00:24:06 +02:00
discip
d0d8bf98ec Update translation_DE.json 2021-05-05 00:14:28 +02:00
discip
66c3edeaa0 Update translation_DE.json
some minor updates
2021-05-05 00:05:15 +02:00
Alvin Wong
d9b0e7cf6b Draw menu icon even during a transition 2021-05-04 18:14:39 +08:00
Alvin Wong
9e40449c64 Add menu exit transition animation
Part of which was removed in commit 04d72cb.
2021-05-04 18:14:39 +08:00
Ben V. Brown
0be4d596e3 Update OLED.cpp 2021-05-04 19:23:34 +10:00
Ben V. Brown
a7f1c076ef Merge branch 'master' into MHP30 2021-05-04 19:20:12 +10:00
Ben V. Brown
34518b1883 Merge branch 'master' into MHP30 2021-05-04 19:05:26 +10:00
Ben V. Brown
a3b37fabf6 Turn off power menu if no options 2021-05-04 19:05:20 +10:00
Ben V. Brown
9cccac68fc Merge pull request #952 from alvinhochun/menu-scroll
Impl. menu item scroll down animation
2021-05-04 18:57:57 +10:00
Ben V. Brown
b10a65dd74 Fix bootloader size 2021-05-04 18:54:09 +10:00
Ben V. Brown
bdeb8ef38a Move WS2812 driver to template class 2021-05-04 18:37:09 +10:00
Ben V. Brown
4261056f61 Merge branch 'master' into menu-scroll 2021-05-04 18:20:19 +10:00
Ben V. Brown
cc32c9eaef Merge pull request #954 from HanaO00/patch-2
Update translation_FR.json
2021-05-04 18:20:04 +10:00
HanaO00
1ed5de2fb8 Update translation_FR.json 2021-05-04 02:47:51 +02:00
Ben V. Brown
64cb9c1158 Fix build issues 2021-05-03 22:39:57 +10:00
Ben V. Brown
ee12c99d9e Update PD to support awareness of having inductor for DCDC op
+ fix voltage divider to be more on point
+ Create adjustment for thermal mass causes overshoot
2021-05-03 22:36:25 +10:00
Ben V. Brown
dd5daf51e3 Format new content 2021-05-03 22:10:14 +10:00
Ben V. Brown
e3deb33d7f Slow down adc and therefore pid to ~128ms 2021-05-03 22:09:26 +10:00
Ben V. Brown
5b4ae22f12 Better colour 2021-05-03 22:05:38 +10:00
Ben V. Brown
e6427f1d27 Fix tip disconnection sense value
oops
2021-05-03 22:02:51 +10:00
Ben V. Brown
c20ed926cd Hook some status colours to the LED 2021-05-03 22:00:24 +10:00
Ben V. Brown
5ea2908fa2 Removing timer as wont work & replace with bit bang
Cant keep up with irq
2021-05-03 21:52:18 +10:00
Ben V. Brown
dd5714fa17 Update BSP.h 2021-05-03 21:51:45 +10:00
Ben V. Brown
69ef62f0a7 Update st libs 2021-05-03 21:51:40 +10:00
Alvin Wong
a27db526af Remove the scroll indicator when scrolling menu 2021-05-03 16:53:45 +08:00
Alvin Wong
82c985d785 Impl. menu item scroll down animation 2021-05-02 21:57:45 +08:00
Ben V. Brown
5128602335 LED iffy (unstable timer?) 2021-05-02 21:39:47 +10:00
Ben V. Brown
e4f7946dcb WiP on WS2812 Protocol driver 2021-05-02 21:22:29 +10:00
alvinhochun
969cadc3eb Change description scroll message behaviour (#950)
* Refactor: Extract common scroll message code

* Change desc. scrolling to stop at the start and end

* Extract `ScrollMessage` to its own file
2021-05-02 18:12:41 +10:00
Ben V. Brown
5637e1a215 Add irq handlers for new timer and dma 2021-05-02 17:51:19 +10:00
Ben V. Brown
2e0279b36a Setting up TIM1 for WS2812 2021-05-02 17:42:41 +10:00
Ben V. Brown
1ad00aa8b2 Handle tip connect & disconnect in detection 2021-05-02 16:47:33 +10:00
Ben V. Brown
7a5c0ad20f Updated cold junction temp curve
* Disabled the hack off on temp as we dont need it for MHP30
* faster ADC on MHP30
2021-05-02 15:45:45 +10:00
Ben V. Brown
018b984665 Importing Miniware's alg for tip temperature for the MHP
Love to @g3gg0
2021-05-02 14:34:36 +10:00
Ben V. Brown
5fac16a14a Format BSP 2021-05-02 14:33:07 +10:00
Ben V. Brown
70c03ba771 Fromatting + setup adc pin explicitly 2021-05-02 14:32:42 +10:00
Ben V. Brown
9e5550815d Add extra ADC channel working 2021-05-02 14:31:33 +10:00
Ben V. Brown
b779d63ca0 WiP res measurement 2021-05-01 17:31:59 +10:00
Ben V. Brown
7903df36e5 Create isTipDisconnected function 2021-05-01 16:44:50 +10:00
Ben V. Brown
6ceac48f89 Update configuration.h 2021-05-01 16:22:27 +10:00
Ben V. Brown
ffe5794cf5 Split thermoModel uV conversion to BSP 2021-05-01 16:22:24 +10:00
Ben V. Brown
9ad5fa030c Merge branch 'master' into MHP30 2021-05-01 13:30:51 +10:00
Ben V. Brown
26ad63b03b Followthrough of the cleanup 2021-05-01 13:29:26 +10:00
Ben V. Brown
7fba51649a Cleanup user functions 2021-05-01 13:17:10 +10:00
HanaO00
a6c4d3675b Update translation_FR.json (#947)
* Update translation_FR.json

Improved translation with RC

* Update translation_FR.json
2021-05-01 12:31:33 +10:00
Vinigas
bd7e03b8f8 Update translation_LT.json (#945)
Translated new entries and minor-fixed some old ones.
2021-05-01 12:30:46 +10:00
Hippi Viking
cae36f9eab Update translation_HU.json (#944)
updated Hungarian translation
2021-05-01 12:30:32 +10:00
Ben V. Brown
2ca2f9084f Formatting 2021-05-01 12:22:06 +10:00
Ben V. Brown
0bfe052127 Reworking USB-PD stack to remove a thread 2021-05-01 12:21:37 +10:00
Ben V. Brown
27aecd2436 Merge branch 'master' into MHP30 2021-04-30 21:19:31 +10:00
Ben V. Brown
6cdb67e675 Update gui.cpp 2021-04-29 21:57:56 +10:00
Ben V. Brown
b817c33181 Update GUIThread.cpp 2021-04-29 21:52:04 +10:00
Ben V. Brown
5114b4243b Turn off sleep mode 2021-04-29 21:43:22 +10:00
Ben V. Brown
56a885ed42 Style 2021-04-28 21:08:42 +10:00
Ben V. Brown
fe2469fdb5 NTC lookup cleaned up and shrunk + linear interpolate 2021-04-28 21:06:29 +10:00
Ben V. Brown
7c54b24209 Fix cold junction temperature channel
Kudos to @g3gg0
2021-04-28 21:06:13 +10:00
Ben V. Brown
b06c58bb81 Fix utils length calc 2021-04-28 21:05:49 +10:00
Ben V. Brown
33278e672d Use Utils linear interpolate 2021-04-28 20:57:52 +10:00
Ben V. Brown
3d5b189bfd Extracting Utils class 2021-04-28 20:57:43 +10:00
Ben V. Brown
a36e0c4c6e Merge branch 'master' into MHP30 2021-04-27 22:06:23 +10:00
Ben V. Brown
7a3a5fab04 Update build.sh 2021-04-27 21:51:33 +10:00
Ben V. Brown
41c9439e8c Formatting 2021-04-27 21:48:53 +10:00
Ben V. Brown
595f828da9 Add MHP30 to github ci matrix 2021-04-27 21:47:52 +10:00
Ben V. Brown
6d0f9897b9 Adding MHP30 to makefile 2021-04-27 21:44:35 +10:00
Ben V. Brown
67ba9e20c0 Move ld file into bsp
Long overdue
2021-04-27 21:44:21 +10:00
Ben V. Brown
90f23a9228 WiP on hotplate temp reading 2021-04-27 21:35:07 +10:00
Ben V. Brown
68316f0735 Fixing up ADC config 2021-04-27 20:53:35 +10:00
Ben V. Brown
d4ea53cdcd Dont use stale data in PD IRQ 2021-04-27 20:06:49 +10:00
Ben V. Brown
a42c5ccd40 Update fusb302b.cpp 2021-04-27 20:06:18 +10:00
Ben V. Brown
f40ebdcaf5 Update Setup.c 2021-04-27 19:55:01 +10:00
Ben V. Brown
9d2124387c Return if read actually worked for fusb 2021-04-27 19:54:56 +10:00
Ben V. Brown
db39d9ab2c Update policy_engine_user.cpp 2021-04-27 19:54:37 +10:00
Ben V. Brown
fd78aa192a Formatting pass 2021-04-27 19:11:12 +10:00
Ben V. Brown
3780a76be8 Update BSP.cpp 2021-04-27 19:09:32 +10:00
Ben V. Brown
c9ad627e31 Faster I2C BB | slow down ADC 2021-04-27 19:09:29 +10:00
Ben V. Brown
a05e99b3a6 Heater control working 2021-04-26 22:32:25 +10:00
Ben V. Brown
9b15e68859 ADC IRQ's 2021-04-26 22:27:50 +10:00
Ben V. Brown
e84717765a Basic OLED working
* OLED
* Buttons
2021-04-26 22:22:32 +10:00
Ben V. Brown
8b65fa5d10 Remapping pins 2021-04-26 21:51:18 +10:00
Ben V. Brown
66a86ab723 Update TipThermoModel.cpp 2021-04-26 21:07:57 +10:00
Ben V. Brown
3e5e0c1d6b Cleaning up config 2021-04-26 21:05:04 +10:00
Ben V. Brown
35f4054530 Import miniware files 2021-04-26 20:58:39 +10:00
289 changed files with 83681 additions and 19545 deletions

32
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: Ralim
---
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->
**To Reproduce**
<!-- Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error -->
**Expected behavior**
<!-- A clear and concise description of what you expected to happen. -->
**Details on your device:**
<!-- You can get these from the debug menu by holding the rear button down and then using the front one to cycle through-->
- Device: [e.g. TS80/Pinecil etc]
- Release: [eg 2.15.40087E6]
- Power adapter being used:
- If this is an acceleromter related issue, please include its model number here:
**Additional context**
<!-- Add any other context about the problem here. -->

View File

@@ -0,0 +1,10 @@
---
name: Everything else (Questions, notes etc)
about: For remarking questions or notes
title: ''
labels: ''
assignees: ''
---
<!-- **Questions are preferred to be kept to the discussions tab where possible, but otherwise go for it. be polite and as clear as possible.** -->

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: Ralim
---
**Is your feature request related to a problem? Please describe.**
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
**Describe the solution you'd like**
<!-- A clear and concise description of what you want to happen. -->
**Describe alternatives you've considered**
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
**Additional context**
<!-- Add any other context or screenshots about the feature request here. -->

View File

@@ -1,69 +0,0 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: "38 23 * * 6"
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: ["cpp", "python"]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- name: chmod
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
- name: Cached compiler source files
uses: actions/cache@v2.1.5
env:
cache-name: cache-compilers
with:
path: /build/cache
key: ${{ runner.os }}-build-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-
- name: setup
run: ./setup.sh && cd source && ./build.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

View File

@@ -7,17 +7,19 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
model: ["TS100", "TS80", "TS80P", "Pinecil"]
model: ["TS100", "TS80", "TS80P", "Pinecil", "MHP30"]
fail-fast: true
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: chmod
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
- name: Cached compiler source files
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
env:
cache-name: cache-compilers
with:
@@ -43,7 +45,7 @@ jobs:
name: ${{ matrix.model }}
path: |
source/Hexfile/${{ matrix.model }}_*.hex
source/Hexfile/${{ matrix.model }}_*.bin
source/Hexfile/${{ matrix.model }}_*.dfu
source/Hexfile/LICENSE
source/Hexfile/LICENSE_RELEASE.md
if-no-files-found: error
@@ -57,12 +59,14 @@ jobs:
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: chmod
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
- name: Cached compiler source files
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
env:
cache-name: cache-compilers
with:
@@ -88,7 +92,7 @@ jobs:
name: ${{ matrix.model }}_multi-lang
path: |
source/Hexfile/${{ matrix.model }}_*.hex
source/Hexfile/${{ matrix.model }}_*.bin
source/Hexfile/${{ matrix.model }}_*.dfu
source/Hexfile/LICENSE
source/Hexfile/LICENSE_RELEASE.md
if-no-files-found: error
@@ -97,6 +101,8 @@ jobs:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Setup
run: sudo apt-get update && sudo apt-get install -y python3 && pip3 install bdflib
@@ -117,12 +123,14 @@ jobs:
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: chmod
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
- name: Cached compiler source files
uses: actions/cache@v2.1.5
uses: actions/cache@v2.1.6
env:
cache-name: cache-compilers
with:
@@ -133,8 +141,7 @@ jobs:
${{ runner.os }}-
- name: setup
run: ./setup.sh
run: sudo apt-get update && sudo apt-get install -y make clang git python3 python3-pip && python3 -m pip install bdflib black flake8
- name: Check formatting with clang-format
run: cd source && make clean && make check-style

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "source/Core/Drivers/usb-pd"]
path = source/Core/Drivers/usb-pd
url = https://github.com/Ralim/usb-pd.git

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 736 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 722 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 B

View File

@@ -4,9 +4,9 @@ LABEL maintainer="Ben V. Brown <ralim@ralimtek.com>"
WORKDIR /build
# Add extra mirrors for options
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal main restricted universe multiverse" > /etc/apt/sources.list && \
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \
DEBIAN_FRONTEND=noninteractive apt-get update
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \
DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ca-certificates
# Install dependencies to build the firmware
RUN apt-get install -y \
make \
@@ -14,6 +14,8 @@ RUN apt-get install -y \
git \
python3 \
python3-pip \
clang-format \
dfu-util \
wget --no-install-recommends && \
apt-get clean
RUN python3 -m pip install bdflib

View File

@@ -1,7 +1,7 @@
# Debugging Menu
In this firmware there is extra debugging information hidden under and extra menu.
This is accessed by holding the rear (B) button on the iron while its on the home screen.
In this firmware there is extra debugging information hidden under an extra menu.
This is accessed by holding the rear (B) button on the iron while it is on the home screen.
This menu is meant to be simple, so it has no fancy GUI animations.
@@ -27,7 +27,7 @@ This indicates the High Water mark for the stack for the PID thread. The smaller
### Time
This just shows how many seconds the unit has been powered for.
This just shows how many deciseconds the unit has been powered for.
### Move
@@ -52,27 +52,26 @@ This is shown in degrees C x10, so 200 == 20.0C
The input voltage as read by the internal ADC. Can be used to sanity check its being read correctly.
### PCB
### ACC
This is slightly miss-named, but preserving the name for now.
This indicates the PCB "version" number, which comes from the TS100 changing the model of accelerometer without warning.
This indicates the accelerometer that is fitted inside the unit.
- 1 = MMA8652
- 2 = LIS2DH12
- 3 = BMA223
- 4 = MSA301
- 5 = SC7A20
- 99 = None detected (running in fallback without movement detection)
- MMA8652
- LIS2DH12
- BMA223
- MSA301
- SC7A20
- None detected -> running in fallback without movement detection
- Scanning -> Still searching I2C for one
### PWR
This indicates the current power source for the iron.
This may change during power up as the sources are negotiated in turn.
- 0 = DC input (dumb)
- 1 = QC input (We used QC2/3 negotiation for current supply)
- 2 = PD input (We used the PD subsystem to negotiate for the current supply)
- **DC** input (dumb)
- **QC** input (We used QC2/3 negotiation for current supply)
- **PD** input (We used the PD subsystem to negotiate for the current supply)
### Max

View File

@@ -24,7 +24,7 @@ To update the language translation files & associated font map, execute the `mak
## Building Pinecil
I highly reccomend using the command line tools and using docker to run the compiler.
Its a bit more fussy on setup than the STM tooling and this is by far the easiest way.
I highly recommend using the command line tools and using docker to run the compiler.
It's a bit more fussy on setup than the STM tooling and this is by far the easiest way.
If you _need_ an IDE I have used [Nuclei's IDE](https://nucleisys.com/download.php)
And follow same idea as the STM Cube IDE notes above.

View File

@@ -6,12 +6,12 @@
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.
You then need to use the appropriate file type for your unit, in general Miniware irons are `.hex` and Pinecil is `.bin.`
You then need to use the appropriate file type for your unit, in general Miniware irons are `.hex` and Pinecil is `.bin`.
Flash according to details below
### Bleeding edge / latest
For the _latest_ code, you will need to download the zip file from the artefacts page on the build for what you want.
For the _latest_ code, you will need to download the zip file from the artifacts page on the build for what 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.
In general you probably want `master`.
@@ -20,14 +20,12 @@ Then this works the same as a production release (use the correct file).
## Miniware irons (TS100, TS80, TS80P)
This is completely safe, but if it goes wrong just put the .hex file from the official website onto the unit and you're back to the old firmware. Downloads for the hex files to flash are available on the [releases page.](https://github.com/Ralim/IronOS/releases) The file you want is called *(MODEL)_EN.hex* unless you want the translations, they are (MODEL)_*language short name*.hex. Where (MODEL) is either TS100 or TS80.
Officially the bootloader on the iron only works under Windows (use the built-in File Explorer, as alternative file managers or copy handlers like Teracopy will fail). However, users have reported that it does work under Mac, and can be made to work under Linux *sometimes*. Details over on the [wiki page](https://github.com/Ralim/ts100/wiki/Upgrading-Firmware).
This is completely safe, but if it goes wrong just put the .hex file from the [official website](http://www.miniware.com.cn/product-category/soldering-pen/electric-soldering-kit/) onto the unit and you're back to the old firmware. Downloads for the hex files to flash are available on the [releases page.](https://github.com/Ralim/IronOS/releases) The file you want is called _(MODEL)\_EN.hex_ unless you want the translations, they are (MODEL)\__language short name_.hex. Where (MODEL) is either TS100 or TS80.
Officially the bootloader on the iron only works under Windows (use the built-in File Explorer, as alternative file managers or copy handlers like Teracopy will fail). However, users have reported that it does work under Mac, and can be made to work under Linux _sometimes_. Details over on the [wiki page](https://github.com/Ralim/ts100/wiki/Upgrading-Firmware).
1. Hold the button closest to the tip, and plug in the USB to the computer.
2. The unit will appear as a USB drive.
2. The unit will appear as a USB drive. ( Screen will say `DFU` on it.)
3. Drag the .hex file onto the USB drive.
4. The unit will disconnect and reconnect.
5. The filename will have changed to end in .RDY or .ERR
@@ -35,8 +33,6 @@ Officially the bootloader on the iron only works under Windows (use the built-in
7. If it didn't work the first time, try copying the file again without disconnecting the iron, often it will work on the second shot.
8. Disconnect the USB and power up the iron. You're good to go.
For the more adventurous out there, you can also load this firmware onto the device using an SWD programmer.
On the bottom of the MCU riser PCB, there are 4 pads for programming. On v2.51A PCB revision `USB_D+` is shorted to `SWDIO` and `USB_D-` is shorted to `SWCLK` so debugging works without disassembly (attach while staying in the bootloader). Installing [dapboot from eDesignOSS](https://github.com/eDesignOSS/dapboot) (`make TARGET=TS100 -C src`) is recommended as it allows reliable flashing of binary files with [dfu-util](http://dfu-util.sourceforge.net/).
@@ -45,7 +41,6 @@ There is a complete device flash backup included in this repository. (Note this
For the TS80 the SWD pins are used for the QC negotiation, so you can actually connect to the SWD power via the USB connector.
# Mac
sgr1ff1n (Shane) commented in [issue 11](https://github.com/Ralim/ts100/issues/11) that upgrading worked on their Mac as per normal:
@@ -56,22 +51,22 @@ sgr1ff1n (Shane) commented in [issue 11](https://github.com/Ralim/ts100/issues/1
While in past there were reports of unreliable upgrades, the consensus in [issue 11](https://github.com/Ralim/ts100/issues/11) is that things work mostly as expected in Linux.
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/ts100/master/Flashing/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distro's.
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/ts100/master/Flashing/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distros.
If you want to do it manually (or if the script does not work for some reason) the general procedure is the same as for Windows, the differences are in the way to mount the unit and copy the firmware.
Remember that after flashing, the firmware filename will have changed to end in `.RDY` or `.ERR` or `.NOT` and only `.RDY` means the flashing was successful!
* The unit has to be mounted as ```msdos``` type (thanks @balrog-kun for having spotted it). You may disable automount, but unmounting the automounted drive and remounting as `msdos` works fine. You do not need to turn off automounting, but you do need to unmount the device with `umount`.
* It is recommended to use an all-caps filename for the firmware, even if successful flashing were done with lower case names.
* Avoid USB hubs, plug directly in your computer.
* If it fails, try again several times without unplugging. Just let it remount.
- The unit has to be mounted as `msdos` type (thanks @balrog-kun for having spotted it). You may disable automount, but unmounting the automounted drive and remounting as `msdos` works fine. You do not need to turn off automounting, but you do need to unmount the device with `umount`.
- It is recommended to use an all-caps filename for the firmware, even if successful flashing were done with lower case names.
- Avoid USB hubs, plug directly in your computer.
- If it fails, try again several times without unplugging. Just let it remount.
Example, to be run as root, once the unit has been plugged in DFU mode and auto-mounted:
```bash
FW=ts100.hex
unset NAME
eval $(lsblk -P -p -d --output NAME,MODEL|grep "DFU Disk")
eval $(lsblk -P -p -d --output NAME,MODEL|grep "DFU[ _]Disk")
[ -z ${NAME+x} ] && exit 1 # Could not find DFU device
umount "$NAME"
mkdir /tmp/mntdfu
@@ -85,52 +80,62 @@ rmdir /tmp/mntdfu
Device will reboot and automount will rerun if not disabled.
Check the extension of your firmware, it should be `.RDY` now.
## Pinecil (Pine64)
The MCU used in the Pinecil supports usb-dfu.
To enter DFU mode, hold the button at the back of the iron while connecting to usb over usb-c.
Generally all usb controllers work, but some hubs have issues so avoiding hubs may be best.
Once the device is connected while holding the button, the screen will stay **off**.
This is normal, and then you can use the appropriate tool to load the .hex or .bin file as per your OS.
You can also refer to the Pine64 [Wiki](https://wiki.pine64.org/wiki/Pinecil)
Once the device is connected while holding the button, the screen will stay **off**.
This is normal, and then you can use the appropriate tool to load the .hex or .bin file as per your OS.
You can also refer to the Pine64 [Wiki](https://wiki.pine64.org/wiki/Pinecil).
### Linux and Mac
Using `dfu-util` you can flash the firmware using a command line as such:
```
dfu-util -d 28e9:0189 -a 0 -D Pinecil_EN.bin -s 0x08000000:mass-erase:force
dfu-util -D Pinecil_EN.dfu
```
### Windows
For windows the easiest tool to use is the vendors gui tool from [here](http://www.gd32mcu.com/download/down/document_id/176/path_type/1)
Should the link break, its called "GD32 MCU Dfu Tool" and can be grabbed from http://www.gd32mcu.com/en/download/
For windows the easiest tool to use is the vendors gui tool from [here](http://www.gd32mcu.com/download/down/document_id/176/path_type/1).
Should the link break, its called "GD32 MCU Dfu Tool" and can be grabbed from http://www.gd32mcu.com/en/download/.
You will also need the matching drivers from [here](http://www.gd32mcu.com/download/down/document_id/244/path_type/1) installed if you have not used gigadevice parts before.
These are called "GD32 Dfu Drivers" if the link breaks.
You can also use dfu-util if you wish to set it up, but that is better documented by others
### FAQ
#### [Miniware] The file is showing up with the extension `.ERR`
This can occur duing the programming process if any of the checks in the bootloader fail. This is often triggered by anti-virus software or using a non-windows host OS.
This can occur during the programming process if any of the checks in the bootloader fail. This is often triggered by anti-virus software or using a non-windows host OS.
First, try just copying the file a second time.
1. Attach the iron in DFU mode
2. Copy the hex file to the device
3. The device disconnects and connects with the `.ERR` file
4. Copy the same hex file again **DO NOT TRY AND DELETE THE OLD ONE**
4. Copy the same hex file again **DO NOT TRY AND DELETE THE OLD ONE**
5. The device will disconnect and reconnect again
6. The device _should_ now have the `.RDY` file
7. Your done.
7. You're done.
If this fails, if you are on Mac or Linux reading the wiki page about programming can help. There is also a very long issue thread going through all of the different attempts around this too.
If this fails and you are on Mac or Linux reading the wiki page about programming can help. There is also a very long issue thread going through all of the different attempts around this too.
If you are on windows, its often to try another computer (friends, work, partners etc).
If you are on windows, it's often best to try another computer (friends, work, partners etc).
#### [Miniware] Device randomly disconnects or does not show up in DFU mode
First, check the USB cable your using has the data pins; test it on another device. There are a surprisingly large number of usb-micro cables that are power _only_.
First, check the USB cable you are using has the data pins; test it on another device. There are a surprisingly large number of usb-micro cables that are power _only_.
Secondly, try other USB ports. Often different USB controllers will interact with the units differently due to design quirks in the miniware design.
@@ -142,4 +147,4 @@ This will **NOT** show up as a USB storage drive, but instead show up using a st
To change to dapboot based alternative bootloader, you need to flash the hex file from [here](https://github.com/eDesignOSS/ts100-bl-flasher/releases).
`ts100-stockbl.hex` will reflash the stock bootloader, `ts100-dapboot.hex` will flash the new dapboot based usb bootloader.
Note that this is only reccomended for users who know what they doing. If you dont not understand how this works; please dont flash this.
Note that this is only recommended for users who know what they are doing. If you don't understand how this works, please don't flash this.

View File

@@ -3,14 +3,14 @@
Getting started with Iron OS on your Pinecil/TS80/TS80P/TS100.
If your device did not come with Iron OS already installed, or if you need to update to the latest version; please see the [Flashing Guide](/Documentation/Flashing.md).
Once your Iron has been flashed, one first power on it _may_ warn you about the system settings being reset.
Once your Iron has been flashed, on first power on it _may_ warn you about the system settings being reset.
_Do not panic_; this is 100% completely normal. This is here to note to you that they have been reset to handle the internal structure changing.
If you receive a warning about the accelerometer or USB-PD not being detected, please see [here](/Documentation/HardwareIssues.md).
## The Home screen (or idle screen)
This is the landing page of the firmware, from here you can choose to either go into the [settings menu](##-Settings-Menu) or go into [soldering mode](##-Soldering-Mode).
This is the landing page of the firmware, from here you can choose to either go into the [settings menu](#Settings-Menu) or go into [soldering mode](#Soldering-Mode).
By default this will show a screen similar to the one below:

View File

@@ -0,0 +1,8 @@
## Notes on the various supported hardware
### MHP30
- Accelerometer is the MSA301, this is mounted roughly in the middle of the unit
- USB-PD is using the FUSB302
- The hardware I2C bus on PB6/7 is used for the MSA301 and FUSB302
- The OLED is the same SSD1306 as everything else, but its on a bit-banged bus

View File

@@ -1,5 +1,48 @@
# Version Changes
## V2.16
* Overhaul of the Timer+ADC setup with help from @sandmanRO
* Overhaul of the PID with help from @sandmanRO
* Settings _should_ now upgrade in place to future versions, with resets only happening to new/changed settings
* Shows error if tip runaway (failed temperature sensor) is detected
* USB-PD now has a timeout, to allow forcing QC3 negotiation to start faster
* QC3 Voltages are now adjustable to user desired setpoint
* Added a small tolerance to allow "overvoltage" on QC3 above unit specifications.
* * Please note: Doing this is entirely at your own risk!
* New Advanced view that is much nicer to use and a very good daily driver option from @Mel-kior
* OLED brightness and contrast thanks to @alvinhochun
* Scrollbar is fixed so it doesnt jump around when menus are shown/hidden
* Moved to `.dfu` files from `.bin` to make flashing commands easier
* Every language had translation updates I believe
* Romanian language added
## V2.15
## Feature upgrades:
* MHP30 support
* Multi-lingual firmware combinations now exist for Pinecil
* More fine grained voltage controlled options
* USB-PD improvements (version one and two)
* More configuration options for power pulse
* All font / character encoding has been very reworked
* More translation updates than one can count
* More languages 😱
### MHP30
The MHP30 is a small reflow station from Miniware.
Thanks to a massive amount of help from @g3gg0 this firmware brings the beginnings of support for this unit.
Also kudo's to @Vinigas and @GoJian for helping with testing.
This is not a _final_ version I'm sure, but this is a working, usable version of firmware support.
Programs the same as any one Miniware unit using drag and drop.
**Note: The boot logo scripts will need updates for this unit, so not supported yet.**
The flood doors are now open for feature requests for this unit :)
## V2.14
- Fixing auto rotation bug in the LIS accelerometer in the TS80/TS80P

View File

@@ -17,7 +17,7 @@ Note that settings are not saved until you exit the menu.
If you leave the unit alone (ie don't press any buttons) on a setting, after 3 seconds the screen will scroll a rough description of the setting.
The menu is arranged so that the most often used settings are first.
With submenu's being selected to enter using the front button (as if you were going to change the setting).
With submenus being selected to enter using the front button (as if you were going to change the setting).
Scrolling through the submenu will return you back to its entry location after you scroll through all of the options.
### Calibrating input voltage
@@ -34,7 +34,7 @@ To calibrate your iron:
4. Under the advanced submenu
5. Select the calibrate voltage option
6. Use the front and back buttons to adjust the displayed voltage to minimize the error to your original measurement
7. Hold both buttons to save and exit to the menu
7. Press both buttons at the same time to save and exit to the menu
### Calibrating tip offset (Set tip model)
@@ -48,7 +48,7 @@ Some tips will have an offset on their readings, to calibrate this out perform t
6. The display will start to scroll a warning message to check that the tip is at ambient temperature!
7. Press the button near the tip of the iron to confirm
8. The display will go to "...." for a short period of time as the unit measures the tip temperature and the handle temperature and compares them
9. The display will then go back to *TMP CAL* and it will display a number, this is your offset number. You generally dont need it unless debugging issues
9. The display will then go back to *TMP CAL* and it will display a number, this is your offset number. You generally don't need it unless debugging issues
10. Calibration is done, just exit the settings menu as normal
11. You're done, enjoy your iron!

View File

@@ -2,7 +2,7 @@
All of the irons are PWM controlled resistive heating elements.
This means that the electronics in the handle can only turn the heating element on and off.
This *means* that the power proivded in the tip is 100% controlled by the supply voltage used.
This *means* that the power provided in the tip is 100% controlled by the supply voltage used.
Both irons at their simplest are just a resistor connected to your power source via a switch.

View File

@@ -1,31 +0,0 @@
Please edit this template and fill out all the information you can (where relevant). Failure to provide essential information can delay the response you receive.
_This is a [Bug/Feature Request/Question/Complaint]_
* **I have**
- [ ] Searched previous issues
- [ ] This is in _this_ firmware, not vendor "offical" firmware
- [ ] This is not a bug in the vendor bootloader (aka DFU)
- [ ] I have checked this is not already covered in the docs in `/Documentation`
* **What is the current behavior?**
* **What is the expected behavior?**
***Steps to reproduce the bug:***
- Turn on...
- Hold....
* **What is the motivation / use case for changing the behavior?**
* **What are you running:**
On the idle screen, you can hold the settings button and it will show you the firmware & PCB version.
If using a USB-C supply please note model number
- Firmware Version: 2.x?
- PCB Version: (1/2)
- Power Supply (Voltage and Current Rating) :

View File

@@ -1,17 +1,17 @@
Please try and fill out this template where possible, not all fields are required and can be removed.
<!-- Please try and fill out this template where possible, not all fields are required and can be removed. -->
* **Please check if the PR fulfills these requirements**
- [] The changes have been tested locally
- [] There are no breaking changes
* **What kind of change does this PR introduce?**
(Bug fix, feature, docs update, ...)
<!-- (Bug fix, feature, docs update, ...) -->
* **What is the current behavior?**
(You can also link to an open issue here)
<!-- (You can also just link to an open issue here) -->
* **What is the new behavior (if this is a feature change)?**

View File

@@ -4,12 +4,12 @@
# IronOS - Flexible Soldering iron control Firmware
_This repository was formerly known as TS100, its the same great code. Just with more supported devices_
_This repository was formerly known as TS100, it's the same great code. Just with more supported devices_
Originally concieved as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware.
Originally conceived as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware.
The firmware implements all of the standard features of a "smart" soldering iron, with lots of little extras and tweaks.
I highly reccomend reading the installation guide fully when installing on your iron. And after install just explore the settings menu.
I highly recommend reading the installation guide fully when installing on your iron. And after install just explore the settings menu.
For soldering irons that are designed to be powered by "smart" power sources (QC and PD), the firmware supports settings around the negotiated power and voltage.
For soldering irons that are designed to be powered by batteries (TS100), settings for a cutoff voltage for battery protection are supported.
@@ -27,15 +27,15 @@ To get started with this firmware, please jump over to [here](Documentation/Gett
- PID style iron temperature control
- Automatic sleep with selectable sensitivity
- Motion wake support
- All settings exposed in intuitive menu
- All settings exposed in the intuitive menu
- (TS100) Set a voltage lower limit for Lithium batteries so you don't kill your battery pack
- (TS80) Set 18W or 24W settings for your power bank
- (TS80P) Automatically negotiates appropriate PD and falls back to QC mode like TS80
- (Pinecil) Supports all 3 power modes (PD,QC, DC In).
- (Pinecil) Supports all 3 power modes (PD, QC, DC In).
- Improved readability Fonts, supporting multiple languages
- Use hardware features to improve reliability
- Can disable movement detection if desired
- Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods of time)
- Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods)
- (TS100/Pinecil) Battery charge level indicator if power source set to a lipo cell count
- (TS80/TS80P/Pinecil) Power bank operating voltage is displayed
- [Custom boot up logo support](Documentation/Logo.md)
@@ -43,14 +43,14 @@ To get started with this firmware, please jump over to [here](Documentation/Gett
## Installation
For installation for your device, please refer to the [Flashing Guide](Documentation/Flashing.md).
For notes on installation for your device, please refer to the [Flashing Guide](Documentation/Flashing.md).
## Menu System
This new firmware uses a new menu system to allow access to the settings on the device.
When on the main screen, the unit shows prompts for the two most common operations.
When on the main screen, the unit shows a pair of prompts for the two most common operations.
- Pressing the button near the tip enters soldering mode
- Pressing the button near the tip enters the soldering mode
- Pressing the button near the USB enters the settings menu
- Holding the button near the tip will enter soldering temperature adjust mode (This is the same as the one in the soldering menu, just to let you edit before heating up)
- Holding the button near the USB end will show the [debug menu](Documentation/DebugMenu.md)
@@ -88,5 +88,5 @@ Other components such as FreeRTOS/USB-PD have their own licence.
## Commercial Use
This software is provided as-is, so I cannot provide any commercial support for the firmware.
However, you are more than welcome to distribute links to the firmware, or provide irons with this software on them.
However, you are more than welcome to distribute links to the firmware or provide irons with this software on them.
Please do not re-host the files, but rather link to this page, so that there are no old versions of the firmware scattered around.

View File

@@ -3,6 +3,7 @@
import argparse
import functools
import json
import hashlib
import logging
import os
import pickle
@@ -41,6 +42,16 @@ def load_json(filename: str, skip_first_line: bool) -> dict:
return json.loads(f.read())
def get_language_unqiue_id(language_ascii_name: str):
"""
Given a language code, it will return a unique (enough) uint16_t id code
When we have a collision here we can tweak this, but language list should be fairly stable from now on
"""
return (
int(hashlib.sha1(language_ascii_name.encode("utf-8")).hexdigest(), 16) % 0xFFFF
)
def read_translation(json_root: Union[str, Path], lang_code: str) -> dict:
filename = f"translation_{lang_code}.json"
@@ -113,12 +124,32 @@ def get_debug_menu() -> List[str]:
"CTip ",
"CHan ",
"Vin ",
"PCB ",
"ACC ",
"PWR ",
"Max ",
]
def get_accel_names_list() -> List[str]:
return [
"Scanning",
"None",
"MMA8652FC",
"LIS2DH12",
"BMA223",
"MSA301",
"SC7A20",
]
def get_power_source_list() -> List[str]:
return [
"DC",
"QC",
"PD",
]
def get_letter_counts(
defs: dict, lang: dict, build_version: str
) -> Tuple[List[str], Dict[str, int]]:
@@ -178,6 +209,8 @@ def get_letter_counts(
for x in constants:
text_list.append(x[1])
text_list.extend(get_debug_menu())
text_list.extend(get_accel_names_list())
text_list.extend(get_power_source_list())
# collapse all strings down into the composite letters and store totals for these
@@ -868,10 +901,10 @@ def write_languages(
f.write("const LanguageMeta LanguageMetas[] = {\n")
for lang in data.langs:
lang_code = lang["languageCode"]
lang_id = get_language_unqiue_id(lang_code)
f.write(
" {\n"
# NOTE: Cannot specify C99 designator here due to GCC (g++) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55227
f' /* .code = */ "{lang_code}",\n'
f" .uniqueID = {lang_id},\n"
f" .translation_data = reinterpret_cast<const uint8_t *>(&translation_{lang_code}),\n"
f" .translation_size = sizeof(translation_{lang_code}),\n"
f" .translation_is_compressed = false,\n"
@@ -898,10 +931,10 @@ def write_languages(
f.write("const LanguageMeta LanguageMetas[] = {\n")
for lang in data.langs:
lang_code = lang["languageCode"]
lang_id = get_language_unqiue_id(lang_code)
f.write(
" {\n"
# NOTE: Cannot specify C99 designator here due to GCC (g++) bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55227
f' /* .code = */ "{lang_code}",\n'
f" .uniqueID = {lang_id},\n"
f" .translation_data = translation_data_brieflz_{lang_code},\n"
f" .translation_size = sizeof(translation_data_brieflz_{lang_code}),\n"
f" .translation_is_compressed = true,\n"
@@ -937,6 +970,25 @@ def get_translation_common_text(
f'\t "{convert_string(symbol_conversion_table, c)}",//{c} \n'
)
translation_common_text += "};\n\n"
# accel names
translation_common_text += "const char* AccelTypeNames[] = {\n"
for c in get_accel_names_list():
translation_common_text += (
f'\t "{convert_string(symbol_conversion_table, c)}",//{c} \n'
)
translation_common_text += "};\n\n"
# power source types
translation_common_text += "const char* PowerSourceNames[] = {\n"
for c in get_power_source_list():
translation_common_text += (
f'\t "{convert_string(symbol_conversion_table, c)}",//{c} \n'
)
translation_common_text += "};\n\n"
return translation_common_text

19
Translations/make_translation_test.py Normal file → Executable file
View File

@@ -1,4 +1,6 @@
#!/usr/bin/env python3
import json
import os
import unittest
@@ -30,6 +32,23 @@ class TestMakeTranslation(unittest.TestCase):
self.assertEqual(bytes_to_c_hex(b"\x00"), "0x00,")
self.assertEqual(bytes_to_c_hex(b"\xF1\xAB"), "0xF1, 0xAB,")
def test_no_language_id_collisions(self):
"""
Asserting that we have no language collisions and that the has works ok
"""
from make_translation import get_language_unqiue_id
seen_ids = []
for filename in os.listdir("."):
if filename.endswith(".json") and filename.startswith("translation_"):
with open(filename) as f:
data = json.loads(f.read())
lang_code = data.get("languageCode")
self.assertNotEqual(lang_code, None)
id = get_language_unqiue_id(lang_code)
self.assertFalse(id in seen_ids)
seen_ids.append(id)
if __name__ == "__main__":
unittest.main()

View File

@@ -1,320 +1,214 @@
{
"languageCode": "BG",
"languageLocalName": "Български",
"fonts": [
"ascii_basic",
"cyrillic"
],
"messages": {
"SettingsCalibrationDone": "Калибрацията завършена!",
"SettingsCalibrationWarning": "Уверете се, че върха на поялника е със стайна температура преди да продължите!",
"SettingsResetWarning": "Сигурни ли сте, че искате да върнете фабричните настройки?",
"UVLOWarningString": "Ниско DC Напрежение",
"UndervoltageString": "Ниско Напрежение",
"InputVoltageString": "Входно V: ",
"WarningTipTempString": "Темп.: ",
"BadTipString": "ЛОШ ВРЪХ",
"SleepingSimpleString": "Сън",
"SleepingAdvancedString": "Хър Хър Хър...",
"WarningSimpleString": "ОХ!",
"WarningAdvancedString": "ВНИМАНИЕ! ТОПЛО!",
"SleepingTipAdvancedString": "Връх:",
"IdleTipString": "Връх:",
"IdleSetString": " Настройка:",
"TipDisconnectedString": "ПРЕКЪСНАТ ВРЪХ",
"SolderingAdvancedPowerPrompt": "Захранване: ",
"OffString": "Изкл.",
"YourGainMessage": "Усилване:"
},
"messagesWarn": {
"ResetOKMessage": [
"Нулиране",
"завършено"
],
"SettingsResetMessage": [
"Настройките бяха",
"нулирани!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "F",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Поялник",
"Настройки"
],
"desc": "Настройки на поялника"
},
"PowerSavingMenu": {
"text2": [
"Режими",
"Настройки"
],
"desc": "Настройки енергоспестяване"
},
"UIMenu": {
"text2": [
"Интерфейс",
"Настройки"
],
"desc": "Настройки на интерфейса"
},
"AdvancedMenu": {
"text2": [
"Разширени",
"Настройки"
],
"desc": "Допълнителни настройки"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Източник",
"захранване"
],
"desc": "Източник на захранване. Минимално напрежение. <DC 10V> <S 3.3V за клетка>"
},
"SleepTemperature": {
"text2": [
"Темп.",
"сън"
],
"desc": "Температура при режим \"сън\" <C>"
},
"SleepTimeout": {
"text2": [
"Време",
"сън"
],
"desc": "Включване в режим \"сън\" след: <Минути/Секунди>"
},
"ShutdownTimeout": {
"text2": [
"Време",
"изкл."
],
"desc": "Изключване след <Минути>"
},
"MotionSensitivity": {
"text2": [
"Усещане",
"за движение"
],
"desc": "Усещане за движение <0.Изключено 1.Слабо 9.Силно>"
},
"TemperatureUnit": {
"text2": [
"Единици за",
"температура"
],
"desc": "Единици за температура <C=Целзии F=Фаренхайт>"
},
"AdvancedIdle": {
"text2": [
"Детайлен",
"екран в покой"
],
"desc": "Покажи детайлна информация със ситен шрифт на екрана в режим на покой."
},
"DisplayRotation": {
"text2": [
"Ориентация",
"на дисплея"
],
"desc": "Ориентация на дисплея <A. Автоматично L. Лява Ръка R. Дясна Ръка>"
},
"BoostTemperature": {
"text2": [
"Турбо",
"темп."
],
"desc": "Температура за \"турбо\" режим"
},
"AutoStart": {
"text2": [
"Автоматичен",
"работен режим"
],
"desc": "Режим на поялника при включване на захранването. T=Работен, S=Сън, F=Изключен"
},
"CooldownBlink": {
"text2": [
"Мигай при",
"топъл поялник"
],
"desc": "След изключване от работен режим, индикатора за температура да мига докато човката на поялника все още е топла"
},
"TemperatureCalibration": {
"text2": [
"Калибриране",
"температура?"
],
"desc": "Калибриране на температурата"
},
"SettingsReset": {
"text2": [
"Фабрични",
"настройки?"
],
"desc": "Връщане на фабрични настройки"
},
"VoltageCalibration": {
"text2": [
"Калибриране",
"напрежение?"
],
"desc": "Калибриране на входното напрежение. Задръжте бутонa за изход"
},
"AdvancedSoldering": {
"text2": [
"Детайлен",
"работен екран"
],
"desc": "Детайлна информация в работен режим при запояване"
},
"ScrollingSpeed": {
"text2": [
"Скорост",
"на текста"
],
"desc": "Скорост на движение на този текст"
},
"QCMaxVoltage": {
"text2": [
"Мощност на",
"захранване"
],
"desc": "Мощност на избраното захранване"
},
"PowerLimit": {
"text2": [
"Лимит на",
"мощност"
],
"desc": "Максимална мощност на поялника <W>"
},
"ReverseButtonTempChange": {
"text2": [
"Размяна",
"бутони +-?"
],
"desc": "Обръщане на бутоните \"+\" и \"-\" за промяна на температурата на върха на поялника"
},
"TempChangeShortStep": {
"text2": [
"Промяна T",
"бързо?"
],
"desc": "Промяна на температура при бързо натискане на бутон!"
},
"TempChangeLongStep": {
"text2": [
"Промяна Т",
"задържане?"
],
"desc": "Промяна на температура при задържане на бутон!"
},
"PowerPulsePower": {
"text2": [
"Захранващ",
"импулс"
],
"desc": "Поддържане на интензивност на захранващия импулс"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" BG Български"
],
"desc": ""
}
}
"languageCode": "BG",
"languageLocalName": "Български",
"fonts": ["ascii_basic", "cyrillic"],
"messages": {
"SettingsCalibrationDone": "Калибрацията завършена!",
"SettingsCalibrationWarning": "Уверете се, че върха на поялника е със стайна температура преди да продължите!",
"SettingsResetWarning": "Сигурни ли сте, че искате да върнете фабричните настройки?",
"UVLOWarningString": "Ниско DC Напрежение",
"UndervoltageString": "Ниско Напрежение",
"InputVoltageString": "Входно V: ",
"WarningTipTempString": "Темп.: ",
"BadTipString": "ЛОШ ВРЪХ",
"SleepingSimpleString": "Сън",
"SleepingAdvancedString": "Хър Хър Хър...",
"WarningSimpleString": "ОХ!",
"WarningAdvancedString": "ВНИМАНИЕ! ТОПЛО!",
"SleepingTipAdvancedString": "Връх:",
"IdleTipString": "Връх:",
"IdleSetString": " Настройка:",
"TipDisconnectedString": "ПРЕКЪСНАТ ВРЪХ",
"SolderingAdvancedPowerPrompt": "Захранване: ",
"OffString": "Изкл.",
"YourGainMessage": "Усилване:"
},
"messagesWarn": {
"ResetOKMessage": "Нулиране",
"SettingsResetMessage": ["Настройките бяха", "нулирани!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "F",
"SettingStartNoneChar": "И",
"SettingStartSolderingChar": "Р",
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": ",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Поялник", "Настройки"],
"desc": "Настройки на поялника"
},
"PowerSavingMenu": {
"text2": ["Режими", "Настройки"],
"desc": "Настройки енергоспестяване"
},
"UIMenu": {
"text2": ["Интерфейс", "Настройки"],
"desc": "Настройки на интерфейса"
},
"AdvancedMenu": {
"text2": ["Разширени", "Настройки"],
"desc": "Допълнителни настройки"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Източник", "захранване"],
"desc": "Източник на захранване. Минимално напрежение. (DC 10V) (S 3,3V за клетка)"
},
"SleepTemperature": {
"text2": ["Темп.", "сън"],
"desc": "Температура при режим \"сън\" (C)"
},
"SleepTimeout": {
"text2": ["Време", "сън"],
"desc": "Включване в режим \"сън\" след: (Минути | Секунди)"
},
"ShutdownTimeout": {
"text2": ["Време", "изкл."],
"desc": "Изключване след (Минути)"
},
"MotionSensitivity": {
"text2": ["Усещане", "за движение"],
"desc": "Усещане за движение (0=Изключено | 1=Слабо | ... | 9=Силно)"
},
"TemperatureUnit": {
"text2": ["Единици за", "температура"],
"desc": "Единици за температура (C=Целзии | F=Фаренхайт)"
},
"AdvancedIdle": {
"text2": ["Детайлен", "екран в покой"],
"desc": "Покажи детайлна информация със ситен шрифт на екрана в режим на покой."
},
"DisplayRotation": {
"text2": ["Ориентация", "на дисплея"],
"desc": "Ориентация на дисплея (R=Дясна Ръка | L=Лява Ръка | A=Автоматично)"
},
"BoostTemperature": {
"text2": ["Турбо", "темп."],
"desc": "Температура за \"турбо\" режим"
},
"AutoStart": {
"text2": ["Автоматичен", "работен режим"],
"desc": "Режим на поялника при включване на захранването. (И=Изключен | Р=Работен | С=Сън | П=Сън температура помещение)"
},
"CooldownBlink": {
"text2": ["Мигай при", "топъл поялник"],
"desc": "След изключване от работен режим, индикатора за температура да мига докато човката на поялника все още е топла"
},
"TemperatureCalibration": {
"text2": ["Калибриране", "температура?"],
"desc": "Калибриране на температурата"
},
"SettingsReset": {
"text2": ["Фабрични", "настройки?"],
"desc": "Връщане на фабрични настройки"
},
"VoltageCalibration": {
"text2": ["Калибриране", "напрежение?"],
"desc": "Калибриране на входното напрежение. Задръжте бутонa за изход"
},
"AdvancedSoldering": {
"text2": ["Детайлен", "работен екран"],
"desc": "Детайлна информация в работен режим при запояване"
},
"ScrollingSpeed": {
"text2": ["Скорост", "на текста"],
"desc": "Скорост на движение на този текст"
},
"QCMaxVoltage": {
"text2": ["Мощност на", "захранване"],
"desc": "Мощност на избраното захранване"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Лимит на", "мощност"],
"desc": "Максимална мощност на поялника (Watt)"
},
"ReverseButtonTempChange": {
"text2": ["Размяна", "бутони +-?"],
"desc": "Обръщане на бутоните \"+\" и \"-\" за промяна на температурата на върха на поялника"
},
"TempChangeShortStep": {
"text2": ["Промяна T", "бързо?"],
"desc": "Промяна на температура при бързо натискане на бутон!"
},
"TempChangeLongStep": {
"text2": ["Промяна Т", "задържане?"],
"desc": "Промяна на температура при задържане на бутон!"
},
"PowerPulsePower": {
"text2": ["Захранващ", "импулс"],
"desc": "Поддържане на интензивност на захранващия импулс"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5с)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250мс)"
},
"LanguageSwitch": {
"text2": ["Език:", " BG Български"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "CS",
"languageLocalName": "Český",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibrace dokončena!",
"SettingsCalibrationWarning": "Ujistěte se, že hrot má pokojovou teplotu!",
"SettingsResetWarning": "Opravdu chcete resetovat zařízení do továrního nastavení?",
"UVLOWarningString": "Nízké DC",
"UndervoltageString": "! Nízké napětí !",
"InputVoltageString": "Napětí: ",
"WarningTipTempString": "Teplota: ",
"BadTipString": "ŠP. HROT",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Režim spánku...",
"WarningSimpleString": "PÁLÍ",
"WarningAdvancedString": "!! HORKÝ HROT !!",
"SleepingTipAdvancedString": "Hrot:",
"IdleTipString": "Hrot:",
"IdleSetString": " Cíl:",
"TipDisconnectedString": "HROT NEPŘIPOJEN",
"SolderingAdvancedPowerPrompt": "Ohřev: ",
"OffString": "Vyp",
"YourGainMessage": "Zisk:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Tov. nas. obnov.",
""
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "P",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "R",
"SettingSlowChar": "P",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Pájecí",
"nastavení"
],
"desc": "Nastavení pájení (boost, auto start...)."
},
"PowerSavingMenu": {
"text2": [
"Režim",
"spánku"
],
"desc": "Nastavení režimu spánku, automatického vypnutí..."
},
"UIMenu": {
"text2": [
"Uživatelské",
"rozhraní"
],
"desc": "Nastavení uživatelského rozhraní."
},
"AdvancedMenu": {
"text2": [
"Pokročilé",
"volby"
],
"desc": "Pokročilé volby (detailní obrazovky, kalibrace, tovární nastavení...)."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Zdroj",
"napájení"
],
"desc": "Při nižším napětí ukončí pájení <DC=10V, ?S=?x3.3V pro LiPo, LiIon...>."
},
"SleepTemperature": {
"text2": [
"Teplota v",
"r. spánku"
],
"desc": "Teplota v režimu spánku."
},
"SleepTimeout": {
"text2": [
"Čas do",
"r. spánku"
],
"desc": "Čas do režimu spánku <Minut/Sekund>."
},
"ShutdownTimeout": {
"text2": [
"Čas do",
"vypnutí"
],
"desc": "Čas do automatického vypnutí <Minut>."
},
"MotionSensitivity": {
"text2": [
"Citlivost",
"det. pohybu"
],
"desc": "Citlivost detekce pohybu <0=Vyp, 1=Min, ... 9=Max>."
},
"TemperatureUnit": {
"text2": [
"Jednotky",
"teploty"
],
"desc": "Jednotky měření teploty <C=Celsius, F=Fahrenheit>."
},
"AdvancedIdle": {
"text2": [
"Podrobnosti",
"na vých. obr."
],
"desc": "Zobrazit podrobnosti na výchozí obrazovce?"
},
"DisplayRotation": {
"text2": [
"Orientace",
"obrazovky"
],
"desc": "Orientace obrazovky <A=Auto, L=Levák, P=Pravák>."
},
"BoostTemperature": {
"text2": [
"Teplota v",
"r. boost"
],
"desc": "Teplota v režimu boost."
},
"AutoStart": {
"text2": [
"Automatický",
"start"
],
"desc": "Při startu ihned nahřát hrot?"
},
"CooldownBlink": {
"text2": [
"Blikáni při",
"chladnutí"
],
"desc": "Blikání teploty při chladnutí, dokud je hrot horký?"
},
"TemperatureCalibration": {
"text2": [
"Kalibrovat",
"teplotu?"
],
"desc": "Kalibrace měření teploty."
},
"SettingsReset": {
"text2": [
"Tovární",
"nastavení?"
],
"desc": "Obnovení továrního nastavení."
},
"VoltageCalibration": {
"text2": [
"Kalibrovat",
"vstupní napětí?"
],
"desc": "Kalibrace vstupního napětí. Tlačítky uprav, podržením potvrď."
},
"AdvancedSoldering": {
"text2": [
"Podrobnosti",
"při pájení"
],
"desc": "Zobrazit podrobnosti při pájení?"
},
"ScrollingSpeed": {
"text2": [
"Rychlost",
"popisků"
],
"desc": "Rychlost posuvu popisků podobných tomuto <P=Pomalu, R=Rychle>"
},
"QCMaxVoltage": {
"text2": [
"Výkon",
"ve wattech"
],
"desc": "Výkon použítého napájecího adaptéru ve wattech."
},
"PowerLimit": {
"text2": [
"Omezení",
"Výkonu"
],
"desc": "Maximální příkon <Watty>"
},
"ReverseButtonTempChange": {
"text2": [
"Prohodit",
"tl. +-?"
],
"desc": "Prohodí tlačítka plus a minus pro změnu teploty hrotu."
},
"TempChangeShortStep": {
"text2": [
"Krok teploty",
"krátký?"
],
"desc": "Velikost skoku při změně teploty krátkým stiskem tlačítka!"
},
"TempChangeLongStep": {
"text2": [
"Krok teploty",
"dlouhý?"
],
"desc": "Velikost skoku při změně teploty dlouhým stiskem tlačítka!"
},
"PowerPulsePower": {
"text2": [
"Intenzita",
"Výkon. pulsu"
],
"desc": "Puls pro udržení zařízení v chodu (kvůli power bankám)."
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" CS Český"
],
"desc": ""
}
}
"languageCode": "CS",
"languageLocalName": "Český",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibrace dokončena!",
"SettingsCalibrationWarning": "Ujistěte se, že hrot má pokojovou teplotu!",
"SettingsResetWarning": "Opravdu chcete resetovat zařízení do továrního nastavení?",
"UVLOWarningString": "Nízké DC",
"UndervoltageString": "! Nízké napětí !",
"InputVoltageString": "Napětí: ",
"WarningTipTempString": "Teplota: ",
"BadTipString": "ŠP. HROT",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Režim spánku...",
"WarningSimpleString": "PÁLÍ",
"WarningAdvancedString": "!! HORKÝ HROT !!",
"SleepingTipAdvancedString": "Hrot:",
"IdleTipString": "Hrot:",
"IdleSetString": " Cíl:",
"TipDisconnectedString": "HROT NEPŘIPOJEN",
"SolderingAdvancedPowerPrompt": "Ohřev: ",
"OffString": "Vyp",
"YourGainMessage": "Zisk:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Tov. nas. obnov.", ""],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "P",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "P",
"SettingMediumChar": "M",
"SettingFastChar": "R",
"SettingStartNoneChar": "O",
"SettingStartSolderingChar": "P",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "M",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Pájecí", "nastavení"],
"desc": "Nastavení pájení (boost, auto start...)."
},
"PowerSavingMenu": {
"text2": ["Režim", "spánku"],
"desc": "Nastavení režimu spánku, automatického vypnutí..."
},
"UIMenu": {
"text2": ["Uživatelské", "rozhraní"],
"desc": "Nastavení uživatelského rozhraní."
},
"AdvancedMenu": {
"text2": ["Pokročilé", "volby"],
"desc": "Pokročilé volby (detailní obrazovky, kalibrace, tovární nastavení...)."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Zdroj", "napájení"],
"desc": "Při nižším napětí ukončí pájení (DC=10V | ?S=?x3,3V pro LiPo, LiIon...)."
},
"SleepTemperature": {
"text2": ["Teplota v", "r. spánku"],
"desc": "Teplota v režimu spánku."
},
"SleepTimeout": {
"text2": ["Čas do", "r. spánku"],
"desc": "Čas do režimu spánku (Minut | Sekund)."
},
"ShutdownTimeout": {
"text2": ["Čas do", "vypnutí"],
"desc": "Čas do automatického vypnutí (Minut)."
},
"MotionSensitivity": {
"text2": ["Citlivost", "det. pohybu"],
"desc": "Citlivost detekce pohybu (0=Vyp | 1=Min | ... | 9=Max)."
},
"TemperatureUnit": {
"text2": ["Jednotky", "teploty"],
"desc": "Jednotky měření teploty (C=Celsius | F=Fahrenheit)."
},
"AdvancedIdle": {
"text2": ["Podrobnosti", "na vých. obr."],
"desc": "Zobrazit podrobnosti na výchozí obrazovce?"
},
"DisplayRotation": {
"text2": ["Orientace", "obrazovky"],
"desc": "Orientace obrazovky (P=Pravák | L=Levák | A=Auto)."
},
"BoostTemperature": {
"text2": ["Teplota v", "r. boost"],
"desc": "Teplota v režimu boost."
},
"AutoStart": {
"text2": ["Automatický", "start"],
"desc": "Při startu ihned nahřát hrot? (O=Pryč | P=Pájení | S=Spát | M=Spát teplota místnosti)"
},
"CooldownBlink": {
"text2": ["Blikáni při", "chladnutí"],
"desc": "Blikání teploty při chladnutí, dokud je hrot horký?"
},
"TemperatureCalibration": {
"text2": ["Kalibrovat", "teplotu?"],
"desc": "Kalibrace měření teploty."
},
"SettingsReset": {
"text2": ["Tovární", "nastavení?"],
"desc": "Obnovení továrního nastavení."
},
"VoltageCalibration": {
"text2": ["Kalibrovat", "vstupní napětí?"],
"desc": "Kalibrace vstupního napětí. Tlačítky uprav, podržením potvrď."
},
"AdvancedSoldering": {
"text2": ["Podrobnosti", "při pájení"],
"desc": "Zobrazit podrobnosti při pájení?"
},
"ScrollingSpeed": {
"text2": ["Rychlost", "popisků"],
"desc": "Rychlost posuvu popisků podobných tomuto (P=Pomalu | R=Rychle)"
},
"QCMaxVoltage": {
"text2": ["Výkon", "ve wattech"],
"desc": "Výkon použítého napájecího adaptéru ve wattech."
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Omezení", "Výkonu"],
"desc": "Maximální příkon (Watty)"
},
"ReverseButtonTempChange": {
"text2": ["Prohodit", "tl. +-?"],
"desc": "Prohodí tlačítka plus a minus pro změnu teploty hrotu."
},
"TempChangeShortStep": {
"text2": ["Krok teploty", "krátký?"],
"desc": "Velikost skoku při změně teploty krátkým stiskem tlačítka!"
},
"TempChangeLongStep": {
"text2": ["Krok teploty", "dlouhý?"],
"desc": "Velikost skoku při změně teploty dlouhým stiskem tlačítka!"
},
"PowerPulsePower": {
"text2": ["Intenzita", "Výkon. pulsu"],
"desc": "Puls pro udržení zařízení v chodu (kvůli power bankám)."
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Řeč:", " CS Český"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "DA",
"languageLocalName": "Dansk",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Sørg for at loddespidsen er ved stuetemperatur, inden du fortsætter!",
"SettingsResetWarning": "Are you sure to reset settings to default values?",
"UVLOWarningString": "Lav Volt",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip Temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Dvale...",
"WarningSimpleString": "Varm",
"WarningAdvancedString": "VARM LODDESPIDS!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "TIP DISCONNECTED",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "H",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingFastChar": "F",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "S",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Soldering",
"Settings"
],
"desc": "Soldering settings"
},
"PowerSavingMenu": {
"text2": [
"Sleep",
"Modes"
],
"desc": "Power Saving Settings"
},
"UIMenu": {
"text2": [
"User",
"Interface"
],
"desc": "User Interface settings"
},
"AdvancedMenu": {
"text2": [
"Advanced",
"Options"
],
"desc": "Advanced options"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Power",
"source"
],
"desc": "Strømforsyning. Indstil Cutoff Spændingen. <DC 10V <S 3.3V per cell"
},
"SleepTemperature": {
"text2": [
"Sleep",
"temp"
],
"desc": "Dvale Temperatur <C>"
},
"SleepTimeout": {
"text2": [
"Sleep",
"timeout"
],
"desc": "Dvale Timeout <Minutter/Sekunder"
},
"ShutdownTimeout": {
"text2": [
"Shutdown",
"timeout"
],
"desc": "sluknings Timeout <Minutter"
},
"MotionSensitivity": {
"text2": [
"Motion",
"sensitivity"
],
"desc": "Bevægelsesfølsomhed <0.Slukket 1.Mindst følsom 9.Mest følsom"
},
"TemperatureUnit": {
"text2": [
"Temperature",
"unit"
],
"desc": "Temperatur Enhed <C=Celsius F=Fahrenheit"
},
"AdvancedIdle": {
"text2": [
"Detailed",
"idle screen"
],
"desc": "Vis detialieret information med en mindre skriftstørrelse på standby skærmen."
},
"DisplayRotation": {
"text2": [
"Display",
"orientation"
],
"desc": "Skærm Orientering <A. Automatisk V. Venstre Håndet H. Højre Håndet"
},
"BoostTemperature": {
"text2": [
"Boost",
"temp"
],
"desc": "Temperatur i \"boost\" mode"
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Start automatisk med lodning når strøm sættes til. L=Lodning, D= Dvale tilstand,S=Slukket"
},
"CooldownBlink": {
"text2": [
"Cooldown",
"blink"
],
"desc": "Blink temperaturen på skærmen, mens spidsen stadig er varm."
},
"TemperatureCalibration": {
"text2": [
"Calibrate",
"temperature?"
],
"desc": "kalibrere spids temperatur."
},
"SettingsReset": {
"text2": [
"Factory",
"Reset?"
],
"desc": "Gendan alle indstillinger"
},
"VoltageCalibration": {
"text2": [
"Calibrate",
"input voltage?"
],
"desc": "VIN kalibrering. Knapperne justere, Lang tryk for at gå ud"
},
"AdvancedSoldering": {
"text2": [
"Detailed",
"solder screen"
],
"desc": "Vis detialieret information mens der loddes"
},
"ScrollingSpeed": {
"text2": [
"Scrolling",
"speed"
],
"desc": "Speed this text scrolls past at"
},
"QCMaxVoltage": {
"text2": [
"Power",
"Wattage"
],
"desc": "Power Wattage of the power adapter used"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" DA Dansk"
],
"desc": ""
}
}
"languageCode": "DA",
"languageLocalName": "Dansk",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Sørg for at loddespidsen er ved stuetemperatur, inden du fortsætter!",
"SettingsResetWarning": "Are you sure to reset settings to default values?",
"UVLOWarningString": "Lav Volt",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip Temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Dvale...",
"WarningSimpleString": "Varm",
"WarningAdvancedString": "VARM LODDESPIDS!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "TIP DISCONNECTED",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "H",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "F",
"SettingStartNoneChar": "S",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "R",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Soldering", "Settings"],
"desc": "Soldering settings"
},
"PowerSavingMenu": {
"text2": ["Sleep", "Modes"],
"desc": "Power Saving Settings"
},
"UIMenu": {
"text2": ["User", "Interface"],
"desc": "User Interface settings"
},
"AdvancedMenu": {
"text2": ["Advanced", "Options"],
"desc": "Advanced options"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Power", "source"],
"desc": "Strømforsyning. Indstil Cutoff Spændingen. (DC 10V) (S 3,3V per cell)"
},
"SleepTemperature": {
"text2": ["Sleep", "temp"],
"desc": "Dvale Temperatur (C)"
},
"SleepTimeout": {
"text2": ["Sleep", "timeout"],
"desc": "Dvale Timeout (Minutter | Sekunder)"
},
"ShutdownTimeout": {
"text2": ["Shutdown", "timeout"],
"desc": "sluknings Timeout (Minutter)"
},
"MotionSensitivity": {
"text2": ["Motion", "sensitivity"],
"desc": "Bevægelsesfølsomhed (0=Slukket | 1=Mindst følsom | ... | 9=Mest følsom)"
},
"TemperatureUnit": {
"text2": ["Temperature", "unit"],
"desc": "Temperatur Enhed (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Detailed", "idle screen"],
"desc": "Vis detialieret information med en mindre skriftstørrelse på standby skærmen."
},
"DisplayRotation": {
"text2": ["Display", "orientation"],
"desc": "Skærm Orientering (H=Højre Håndet | V=Venstre Håndet | A=Automatisk)"
},
"BoostTemperature": {
"text2": ["Boost", "temp"],
"desc": "Temperatur i \"boost\" mode"
},
"AutoStart": {
"text2": ["Auto", "start"],
"desc": "Start automatisk med lodning når strøm sættes til. (S=Slukket | L=Lodning | D=Dvale tilstand | R=Dvale tilstand rumtemperatur)"
},
"CooldownBlink": {
"text2": ["Cooldown", "blink"],
"desc": "Blink temperaturen på skærmen, mens spidsen stadig er varm."
},
"TemperatureCalibration": {
"text2": ["Calibrate", "temperature?"],
"desc": "kalibrere spids temperatur."
},
"SettingsReset": {
"text2": ["Factory", "Reset?"],
"desc": "Gendan alle indstillinger"
},
"VoltageCalibration": {
"text2": ["Calibrate", "input voltage?"],
"desc": "VIN kalibrering. Knapperne justere, Lang tryk for at gå ud"
},
"AdvancedSoldering": {
"text2": ["Detailed", "solder screen"],
"desc": "Vis detialieret information mens der loddes"
},
"ScrollingSpeed": {
"text2": ["Scrolling", "speed"],
"desc": "Speed this text scrolls past at"
},
"QCMaxVoltage": {
"text2": ["Power", "Wattage"],
"desc": "Power Wattage of the power adapter used"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Sprog :", " DA Dansk"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,318 +1,208 @@
{
"languageCode": "DE",
"languageLocalName": "Deutsch",
"fonts": [
"ascii_basic",
"latin_extended"
],
"tempUnitFahrenheit": false,
"messages": {
"SettingsCalibrationDone": "Kalibrierung abgeschlossen!",
"SettingsCalibrationWarning": "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!",
"SettingsResetWarning": "Sicher, dass alle Werte zurückgesetzt werden sollen?",
"UVLOWarningString": "V niedr.",
"UndervoltageString": "Unterspannung",
"InputVoltageString": "V Eingang: ",
"WarningTipTempString": "Temperatur: ",
"BadTipString": "Spitze Defekt",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Ruhemodus...",
"WarningSimpleString": "HEISS!",
"WarningAdvancedString": "! Achtung Heiß !",
"SleepingTipAdvancedString": "Temp:",
"IdleTipString": "Ist:",
"IdleSetString": " Soll:",
"TipDisconnectedString": "Spitze fehlt",
"SolderingAdvancedPowerPrompt": "Leistung: ",
"OffString": "Aus",
"YourGainMessage": "Dein Faktor:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Einstellungen",
"zurückgesetzt!"
],
"NoAccelerometerMessage": [
"Kein Bewegungssensor",
"erkannt!"
],
"NoPowerDeliveryMessage": [
"Kein USB-PD IC",
"erkannt!"
],
"LockingKeysString": "GESPERRT",
"UnlockingKeysString": "ENTSPERRT",
"WarningKeysLockedString": "!GESPERRT!"
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "S",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "A",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "K",
"SettingStartNoneChar": "A",
"SettingSensitivityOff": "A",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "A",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingNAChar": "-"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Energie-",
"einstellungen"
],
"desc": "Energieeinstellungen"
},
"SolderingMenu": {
"text2": [
"Löt-",
"einstellungen"
],
"desc": "Löteinstellungen"
},
"PowerSavingMenu": {
"text2": [
"Ruhe-",
"modus"
],
"desc": "Energiespareinstellungen"
},
"UIMenu": {
"text2": [
"Anzeige-",
"einstellungen"
],
"desc": "Menüeinstellungen"
},
"AdvancedMenu": {
"text2": [
"Erweiterte",
"Optionen"
],
"desc": "Erweiterte Einstellungen"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Spannungs-",
"quelle"
],
"desc": "Spannungsquelle (Abschaltspannung) <DC=10V, nS=n*3.3V für n LiIon-Zellen>"
},
"SleepTemperature": {
"text2": [
"Ruhe-",
"temperatur"
],
"desc": "Ruhetemperatur der Spitze"
},
"SleepTimeout": {
"text2": [
"Ruhever-",
"zögerung"
],
"desc": "Dauer vor Übergang in den Ruhemodus <S=Sekunden | M=Minuten>"
},
"ShutdownTimeout": {
"text2": [
"Abschalt-",
"zeit"
],
"desc": "Dauer vor automatischer Abschaltung <M=Minuten>"
},
"MotionSensitivity": {
"text2": [
"Bewegungs-",
"empfindlichk."
],
"desc": "0=aus | 1=minimal | ... | 9=maximal"
},
"TemperatureUnit": {
"text2": [
"Temperatur-",
"einheit"
],
"desc": "C=Celsius | F=Fahrenheit"
},
"AdvancedIdle": {
"text2": [
"Detaillierte",
"Ruheansicht"
],
"desc": "Detaillierte Anzeige im Ruhemodus"
},
"DisplayRotation": {
"text2": [
"Anzeige-",
"ausrichtung"
],
"desc": "A=automatisch | L=linkshändig | R=rechtshändig"
},
"BoostTemperature": {
"text2": [
"Boost-",
"temperatur"
],
"desc": "Temperatur der Lötspitze im Boostmodus"
},
"AutoStart": {
"text2": [
"Start im",
"Lötmodus"
],
"desc": "Heizverhalten beim Einschalten der Spannungsversorgung <A=aus | L=Lötmodus | R=Ruhemodus | K=Ruhemodus mit kalter Spitze>"
},
"CooldownBlink": {
"text2": [
"Abkühl-",
"blinken"
],
"desc": "Temperaturanzeige blinkt beim Abkühlen, solange Spitze heiß ist"
},
"TemperatureCalibration": {
"text2": [
"Temperatur",
"kalibrieren?"
],
"desc": "Kalibrierung der Lötspitzentemperatur"
},
"SettingsReset": {
"text2": [
"Einstellungen",
"zurücksetzen?"
],
"desc": "Werte auf Werkseinstellungen zurücksetzen"
},
"VoltageCalibration": {
"text2": [
"Eingangsspannung",
"kalibrieren?"
],
"desc": "Kalibrierung der Eingangsspannung <Langer Tastendruck zum Verlassen>"
},
"AdvancedSoldering": {
"text2": [
"Detaillierte",
"Lötansicht"
],
"desc": "Detaillierte Anzeige im Lötmodus"
},
"ScrollingSpeed": {
"text2": [
"Scroll-",
"geschw."
],
"desc": "Scrollgeschwindigkeit der Erläuterungen <L=langsam | S=schnell>"
},
"QCMaxVoltage": {
"text2": [
"Spannungs-",
"grenze"
],
"desc": "Maximal zulässige Spannung der verwendeten Spannungsversorgung <V=Volt>"
},
"PowerLimit": {
"text2": [
"Leistungs-",
"grenze"
],
"desc": "Maximale zulässige Leistungsaufnahme des Lötkolbens <W=Watt>"
},
"ReverseButtonTempChange": {
"text2": [
"+- Tasten",
"umkehren?"
],
"desc": "Tastenbelegung zur Temperaturänderung umkehren"
},
"TempChangeShortStep": {
"text2": [
"Temp-Schritt",
"Druck kurz"
],
"desc": "Schrittweite für Temperaturwechsel bei kurzem Tastendruck"
},
"TempChangeLongStep": {
"text2": [
"Temp-Schritt",
"Druck lang"
],
"desc": "Schrittweite für Temperaturwechsel bei langem Tastendruck"
},
"PowerPulsePower": {
"text2": [
"Leistungs-",
"impuls"
],
"desc": "Powerbank mit einem Impuls wach halten <Watt>"
},
"HallEffSensitivity": {
"text2": [
"Hall-Sonde",
"Empfindlichkeit"
],
"desc": "Empfindlichkeit der Hall-Sonde beim Erkennen des Ruhemodus <A=aus | N=niedrig | M=mittel | H=hoch>"
},
"LockingMode": {
"text2": [
"Tasten-",
"sperre"
],
"desc": "Langes drücken beider Tasten im Lötmodus sperrt diese <A=aus | B=nur Boost | V=vollständig>"
},
"MinVolCell": {
"text2": [
"Minimum",
"Spannung"
],
"desc": "Minimal zulässige Spannung pro Zelle <Volt> <3S: 3,0V - 3,7V, 4/5/6S: 2,4V - 3,7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"Schleife"
],
"desc": "Icon-Animationen im Stammmenü wiederholen"
},
"AnimSpeed": {
"text2": [
"Anim.",
"Geschw."
],
"desc": "Geschwindigkeit der Icon-Animationen im Menü <A=aus | L=langsam | M=mittel | S=schnell>"
},
"PowerPulseWait": {
"text2": [
"Leistungsimpulse",
"Wartezeit"
],
"desc": "Dauer vor Abgabe von Wachhalteimpulsen (x 2,5s)"
},
"PowerPulseDuration": {
"text2": [
"Leistungsimpulse",
"Dauer"
],
"desc": "Dauer des Wachhalteimpulses (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" DE Deutsch"
],
"desc": ""
}
}
"languageCode": "DE",
"languageLocalName": "Deutsch",
"fonts": ["ascii_basic", "latin_extended"],
"tempUnitFahrenheit": false,
"messages": {
"SettingsCalibrationWarning": "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!",
"SettingsResetWarning": "Sicher, dass alle Werte zurückgesetzt werden sollen?",
"UVLOWarningString": "V niedr.",
"UndervoltageString": "Unterspannung",
"InputVoltageString": "V Eingang: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Ruhemodus...",
"SleepingTipAdvancedString": "Temp:",
"IdleTipString": "Ist:",
"IdleSetString": " Soll:",
"TipDisconnectedString": "Spitze fehlt",
"SolderingAdvancedPowerPrompt": "Leistung: ",
"OffString": "Aus"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Einstellungen", "zurückgesetzt!"],
"NoAccelerometerMessage": ["Bewegungssensor", "nicht erkannt!"],
"NoPowerDeliveryMessage": ["USB-PD IC", "nicht erkannt!"],
"LockingKeysString": "GESPERRT",
"UnlockingKeysString": "ENTSPERRT",
"WarningKeysLockedString": "!GESPERRT!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "A",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingFastChar": "S",
"SettingStartNoneChar": "A",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "K",
"SettingSensitivityOff": "A",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "A",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingNAChar": "-"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Energie-", "einstellungen"],
"desc": "Energieeinstellungen"
},
"SolderingMenu": {
"text2": ["Löt-", "einstellungen"],
"desc": "Löteinstellungen"
},
"PowerSavingMenu": {
"text2": ["Ruhe-", "modus"],
"desc": "Energiespareinstellungen"
},
"UIMenu": {
"text2": ["Anzeige-", "einstellungen"],
"desc": "Menüeinstellungen"
},
"AdvancedMenu": {
"text2": ["Erweiterte", "Einstellungen"],
"desc": "Erweiterte Einstellungen"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Spannungs-", "quelle"],
"desc": "Spannungsquelle (Abschaltspannung) (DC=10V | nS=n*3.3V für n LiIon-Zellen)"
},
"SleepTemperature": {
"text2": ["Ruhe-", "temperatur"],
"desc": "Ruhetemperatur der Spitze"
},
"SleepTimeout": {
"text2": ["Ruhever-", "zögerung"],
"desc": "Dauer vor Übergang in den Ruhemodus (S=Sekunden | M=Minuten)"
},
"ShutdownTimeout": {
"text2": ["Abschalt-", "verzög."],
"desc": "Dauer vor automatischer Abschaltung (M=Minuten)"
},
"MotionSensitivity": {
"text2": ["Bewegungs-", "empfindlichk."],
"desc": "0=aus | 1=minimal | ... | 9=maximal"
},
"TemperatureUnit": {
"text2": ["Temperatur-", "einheit"],
"desc": "C=Celsius | F=Fahrenheit"
},
"AdvancedIdle": {
"text2": ["Detaillierte", "Ruheansicht"],
"desc": "Detaillierte Anzeige im Ruhemodus"
},
"DisplayRotation": {
"text2": ["Anzeige-", "ausrichtung"],
"desc": "R=rechtshändig | L=linkshändig | A=automatisch"
},
"BoostTemperature": {
"text2": ["Boost-", "temperatur"],
"desc": "Temperatur der Lötspitze im Boostmodus"
},
"AutoStart": {
"text2": ["Start im", "Lötmodus"],
"desc": "Heizverhalten beim Einschalten der Spannungsversorgung (A=aus | L=Lötmodus | R=Ruhemodus | K=Ruhemodus mit kalter Spitze)"
},
"CooldownBlink": {
"text2": ["Abkühl-", "blinken"],
"desc": "Temperaturanzeige blinkt beim Abkühlen, solange Spitze heiß ist"
},
"TemperatureCalibration": {
"text2": ["Temperatur", "kalibrieren?"],
"desc": "Kalibrierung der Lötspitzentemperatur"
},
"SettingsReset": {
"text2": ["Einstellungen", "zurücksetzen?"],
"desc": "Werte auf Werkseinstellungen zurücksetzen"
},
"VoltageCalibration": {
"text2": ["Eingangsspannung", "kalibrieren?"],
"desc": "Kalibrierung der Eingangsspannung (Langer Tastendruck zum Verlassen)"
},
"AdvancedSoldering": {
"text2": ["Detaillierte", "Lötansicht"],
"desc": "Detaillierte Anzeige im Lötmodus"
},
"ScrollingSpeed": {
"text2": ["Scroll-", "geschw."],
"desc": "Scrollgeschwindigkeit der Erläuterungen (L=langsam | S=schnell)"
},
"QCMaxVoltage": {
"text2": ["Spannungs-", "maximum"],
"desc": "Maximal zulässige Spannung der verwendeten Spannungsversorgung (V=Volt)"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD Abfragedauer in 100ms Schritten (Kompatibilität mit best. QC-Ladegeräten)"
},
"PowerLimit": {
"text2": ["Leistungs-", "maximum"],
"desc": "Maximal zulässige Leistungsaufnahme des Lötkolbens (W=Watt)"
},
"ReverseButtonTempChange": {
"text2": ["+- Tasten", "umkehren?"],
"desc": "Tastenbelegung zur Temperaturänderung umkehren"
},
"TempChangeShortStep": {
"text2": ["Temp-Schritt", "Druck kurz"],
"desc": "Schrittweite für Temperaturwechsel bei kurzem Tastendruck"
},
"TempChangeLongStep": {
"text2": ["Temp-Schritt", "Druck lang"],
"desc": "Schrittweite für Temperaturwechsel bei langem Tastendruck"
},
"PowerPulsePower": {
"text2": ["Leistungs-", "impuls"],
"desc": "Powerbank mit einem Impuls wach halten (Watt)"
},
"HallEffSensitivity": {
"text2": ["Empfindlichkeit", "der Hall-Sonde"],
"desc": "Empfindlichkeit der Hall-Sonde beim Erkennen des Ruhemodus (A=aus | N=niedrig | M=mittel | H=hoch)"
},
"LockingMode": {
"text2": ["Tasten-", "sperre"],
"desc": "Langes drücken beider Tasten im Lötmodus sperrt diese (A=aus | B=nur Boost | V=vollständig)"
},
"MinVolCell": {
"text2": ["Minimale", "Spannung"],
"desc": "Minimal zulässige Spannung pro Zelle (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Anim.", "Schleife"],
"desc": "Icon-Animationen im Hauptmenü wiederholen"
},
"AnimSpeed": {
"text2": ["Anim.", "Geschw."],
"desc": "Geschwindigkeit der Icon-Animationen im Menü (A=aus | L=langsam | M=mittel | S=schnell)"
},
"PowerPulseWait": {
"text2": ["Impuls-", "verzögerung"],
"desc": "Dauer vor Abgabe von Wachhalteimpulsen (x 2,5s)"
},
"PowerPulseDuration": {
"text2": ["Impuls-", "dauer"],
"desc": "Dauer des Wachhalteimpulses (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Sprache:", " DE Deutsch"],
"desc": ""
},
"Brightness": {
"text2": ["Bildschirm-", "kontrast"],
"desc": "Verändert die Helligkeit des OLED-Displays"
},
"ColourInversion": {
"text2": ["Farben", "umkehren"],
"desc": "Invertiert die Farben des OLED-Displays"
}
}
}

View File

@@ -1,317 +1,208 @@
{
"languageCode": "EN",
"languageLocalName": "English",
"fonts": [
"ascii_basic"
],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature, before continuing!",
"SettingsResetWarning": "Sure you want to restore default settings?",
"UVLOWarningString": "DC LOW",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "!!! HOT TIP !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "F",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R",
"SettingStartNoneChar": "O",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Soldering",
"settings"
],
"desc": "Soldering settings"
},
"PowerSavingMenu": {
"text2": [
"Sleep",
"mode"
],
"desc": "Power saving settings"
},
"UIMenu": {
"text2": [
"User",
"interface"
],
"desc": "User interface settings"
},
"AdvancedMenu": {
"text2": [
"Advanced",
"options"
],
"desc": "Advanced options"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Power",
"source"
],
"desc": "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell, disable power limit>"
},
"SleepTemperature": {
"text2": [
"Sleep",
"temp"
],
"desc": "Tip temperature while in \"sleep mode\""
},
"SleepTimeout": {
"text2": [
"Sleep",
"timeout"
],
"desc": "Interval before \"sleep mode\" kicks in <S=seconds | M=minutes>"
},
"ShutdownTimeout": {
"text2": [
"Shutdown",
"timeout"
],
"desc": "Interval before the iron shuts down <M=minutes>"
},
"MotionSensitivity": {
"text2": [
"Motion",
"sensitivity"
],
"desc": "0=off | 1=least sensitive | ... | 9=most sensitive"
},
"TemperatureUnit": {
"text2": [
"Temperature",
"unit"
],
"desc": "C=Celsius | F=Fahrenheit"
},
"AdvancedIdle": {
"text2": [
"Detailed",
"idle screen"
],
"desc": "Display detailed information in a smaller font on the idle screen"
},
"DisplayRotation": {
"text2": [
"Display",
"orientation"
],
"desc": "A=automatic | L=left-handed | R=right-handed"
},
"BoostTemperature": {
"text2": [
"Boost",
"temp"
],
"desc": "Temperature used in \"boost mode\""
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Starts the iron into soldering mode on power up <O=off | S=soldering | Z=sleep | R=sleep at room temperature>"
},
"CooldownBlink": {
"text2": [
"Cooldown",
"blink"
],
"desc": "Flash the temperature after heating was halted, while the tip is still hot"
},
"TemperatureCalibration": {
"text2": [
"Calibrate",
"temperature?"
],
"desc": "Start tip temperature offset calibration"
},
"SettingsReset": {
"text2": [
"Factory",
"reset?"
],
"desc": "Reset settings to default"
},
"VoltageCalibration": {
"text2": [
"Calibrate",
"input voltage?"
],
"desc": "Start VIN calibration <long press to exit>"
},
"AdvancedSoldering": {
"text2": [
"Detailed",
"solder screen"
],
"desc": "Display detailed information in a smaller font on soldering screen"
},
"ScrollingSpeed": {
"text2": [
"Scrolling",
"speed"
],
"desc": "Speed info text scrolls past at <S=slow | F=fast>"
},
"QCMaxVoltage": {
"text2": [
"QC",
"voltage"
],
"desc": "Desired max QC voltage the iron negotiates for"
},
"PowerLimit": {
"text2": [
"Power",
"limit"
],
"desc": "Maximum power the iron can use <W=watt>"
},
"ReverseButtonTempChange": {
"text2": [
"Reverse",
"+ - keys"
],
"desc": "Reverse assignment of temperature adjustment buttons"
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short"
],
"desc": "Temperature change increment on short button press"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long"
],
"desc": "Temperature change increment on long button press"
},
"PowerPulsePower": {
"text2": [
"Power",
"pulse"
],
"desc": "Intensity of power of keep-awake-pulse <watt>"
},
"HallEffSensitivity": {
"text2": [
"Hall sensor",
"sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor to detect sleep <O=off | L=low | M=medium | H=high>"
},
"LockingMode": {
"text2": [
"Allow locking",
"buttons"
],
"desc": "When soldering, long press both buttons, to lock them <D=disable | B=\"boost mode\" only | F=full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in main menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Pace of icon animations in menu <O=off | S=slow | M=medium | F=fast>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"delay"
],
"desc": "Delay before keep-awake pulse is triggered (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" EN English"
],
"desc": ""
}
}
"languageCode": "EN",
"languageLocalName": "English",
"fonts": ["ascii_basic"],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature, before proceeding!",
"SettingsResetWarning": "Sure you want to restore default settings?",
"UVLOWarningString": "DC LOW",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Some settings", "changed"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "F",
"SettingStartNoneChar": "O",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Soldering", "settings"],
"desc": "Soldering settings"
},
"PowerSavingMenu": {
"text2": ["Sleep", "mode"],
"desc": "Power saving settings"
},
"UIMenu": {
"text2": ["User", "interface"],
"desc": "User interface settings"
},
"AdvancedMenu": {
"text2": ["Advanced", "settings"],
"desc": "Advanced settings"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Power", "source"],
"desc": "Power source. Sets cutoff voltage. (DC 10V) (S 3.3V per cell, disable power limit)"
},
"SleepTemperature": {
"text2": ["Sleep", "temp"],
"desc": "Tip temperature while in \"sleep mode\""
},
"SleepTimeout": {
"text2": ["Sleep", "timeout"],
"desc": "Interval before \"sleep mode\" kicks in (S=seconds | M=minutes)"
},
"ShutdownTimeout": {
"text2": ["Shutdown", "timeout"],
"desc": "Interval before the iron shuts down (M=minutes)"
},
"MotionSensitivity": {
"text2": ["Motion", "sensitivity"],
"desc": "0=off | 1=least sensitive | ... | 9=most sensitive"
},
"TemperatureUnit": {
"text2": ["Temperature", "unit"],
"desc": "C=Celsius | F=Fahrenheit"
},
"AdvancedIdle": {
"text2": ["Detailed", "idle screen"],
"desc": "Display detailed information in a smaller font on the idle screen"
},
"DisplayRotation": {
"text2": ["Display", "orientation"],
"desc": "R=right-handed | L=left-handed | A=automatic"
},
"BoostTemperature": {
"text2": ["Boost", "temp"],
"desc": "Temperature used in \"boost mode\""
},
"AutoStart": {
"text2": ["Heat", "on power up"],
"desc": "O=off | S=soldering temp | Z=standby at sleep temp until moved | R=standby without heating until moved"
},
"CooldownBlink": {
"text2": ["Cooldown", "blink"],
"desc": "Flash the temperature reading after heating was halted while the tip is still hot"
},
"TemperatureCalibration": {
"text2": ["Calibrate", "temperature?"],
"desc": "Start tip temperature offset calibration"
},
"SettingsReset": {
"text2": ["Factory", "reset?"],
"desc": "Reset settings to default"
},
"VoltageCalibration": {
"text2": ["Calibrate", "input voltage?"],
"desc": "Start VIN calibration (long press to exit)"
},
"AdvancedSoldering": {
"text2": ["Detailed", "solder screen"],
"desc": "Display detailed information in a smaller font on soldering screen"
},
"ScrollingSpeed": {
"text2": ["Scrolling", "speed"],
"desc": "Speed info text scrolls past at (S=slow | F=fast)"
},
"QCMaxVoltage": {
"text2": ["QC", "voltage"],
"desc": "Max QC voltage the iron should negotiate for"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
},
"PowerLimit": {
"text2": ["Power", "limit"],
"desc": "Maximum power the iron can use (W=watt)"
},
"ReverseButtonTempChange": {
"text2": ["Reverse", "+ - keys"],
"desc": "Reverse assignment of buttons for temperature adjustment"
},
"TempChangeShortStep": {
"text2": ["Temp change", "short"],
"desc": "Temperature-change-increment on short button press"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long"],
"desc": "Temperature-change-increment on long button press"
},
"PowerPulsePower": {
"text2": ["Power", "pulse"],
"desc": "Intensity of power of keep-awake-pulse (watt)"
},
"HallEffSensitivity": {
"text2": ["Hall sensor", "sensitivity"],
"desc": "Sensitivity of the Hall effect sensor to detect sleep (O=off | L=low | M=medium | H=high)"
},
"LockingMode": {
"text2": ["Allow locking", "buttons"],
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in main menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "delay"],
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Language:", " EN English"],
"desc": "Current firmware language"
},
"Brightness": {
"text2": ["Screen", "contrast"],
"desc": "Adjust the brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Invert", "screen"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,318 +1,214 @@
{
"languageCode": "ES",
"languageLocalName": "Castellano",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "¡Calibrada!",
"SettingsCalibrationWarning": "¡Asegúrate que la punta esté a temperatura ambiente antes de empezar!",
"SettingsResetWarning": "¿Quieres restablecer los ajustes?",
"UVLOWarningString": "CC BAJA",
"UndervoltageString": "Voltaje bajo",
"InputVoltageString": "Voltaje: ",
"WarningTipTempString": "Temp punta: ",
"BadTipString": "PT. ROTA",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "En reposo...",
"WarningSimpleString": "QUEMA",
"WarningAdvancedString": "¡LA PUNTA QUEMA!",
"SleepingTipAdvancedString": "Punta:",
"IdleTipString": "Punta:",
"IdleSetString": " Aj:",
"TipDisconnectedString": "NO HAY PUNTA",
"SolderingAdvancedPowerPrompt": "Potencia: ",
"OffString": " No",
"YourGainMessage": "Gananc.:",
"SettingsResetMessage": "Ajustes borrados"
},
"messagesWarn": {
"ResetOKMessage": "Hecho.",
"SettingsResetMessage": [
"Los ajustes fueron",
"¡Reinicio!"
],
"NoAccelerometerMessage": [
"Sin acelerómetro",
"¡Detectado!"
],
"NoPowerDeliveryMessage": [
"Sin USB-PD IC",
"¡Detectado!"
],
"LockingKeysString": " BLOQUEADO",
"UnlockingKeysString": "DESBLOQUEADO",
"WarningKeysLockedString": "¡BLOQUEADO!"
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "I",
"SettingAutoChar": "A",
"SettingFastChar": "R",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "F",
"SettingStartNoneChar": "N",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Potencia",
"ajustes"
],
"desc": "Ajustes de potencia"
},
"SolderingMenu": {
"text2": [
"Ajustes de",
"soldadura"
],
"desc": "Ajustes para soldar."
},
"PowerSavingMenu": {
"text2": [
"Modos de",
"reposo"
],
"desc": "Ajustes de ahorro energético."
},
"UIMenu": {
"text2": [
"Interfaz",
"de usuario"
],
"desc": "Ajustes de interfaz de usuario."
},
"AdvancedMenu": {
"text2": [
"Ajustes",
"avanzados"
],
"desc": "Ajustes avanzados."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Fuente",
"de energía"
],
"desc": "Elige el tipo de fuente para limitar el voltaje <DC 10V> <S 3,3V por pila, ilimitado>"
},
"SleepTemperature": {
"text2": [
"Temperatura",
"en reposo"
],
"desc": "Temperatura de la punta en reposo."
},
"SleepTimeout": {
"text2": [
"Entrar",
"en reposo"
],
"desc": "Tiempo de inactividad para entrar en reposo <min/seg>"
},
"ShutdownTimeout": {
"text2": [
"Tiempo de",
"apagado"
],
"desc": "Tiempo de inactividad para apagarse <en minutos>"
},
"MotionSensitivity": {
"text2": [
"Detección de",
"movimiento"
],
"desc": "Tiempo de reacción al agarrar <0=no 1=menos sensible 9=más sensible>"
},
"TemperatureUnit": {
"text2": [
"Unidad de",
"temperatura"
],
"desc": "Unidad de temperatura <C=centígrados F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Info extra en",
"modo reposo"
],
"desc": "Muestra información detallada en letra pequeña al reposar."
},
"DisplayRotation": {
"text2": [
"Orientación",
"de pantalla"
],
"desc": "Orientación de la pantalla <A=automático I=zurdo D=diestro>"
},
"BoostTemperature": {
"text2": [
"Ajustar la",
"temp. extra"
],
"desc": "Temperatura momentánea que se alcanza al apretar el botón del modo extra."
},
"AutoStart": {
"text2": [
"Calentar",
"al enchufar"
],
"desc": "Se calienta él solo al arrancar <S=entrar en modo soldar R=solo entrar en reposo F=en reposo pero mantiene la punta fría N=no>"
},
"CooldownBlink": {
"text2": [
"Parpadear",
"al enfriar"
],
"desc": "La temperatura en pantalla parpadea mientras la punta siga caliente."
},
"TemperatureCalibration": {
"text2": [
"Calibrar temp.",
"de la punta"
],
"desc": "Calibra la desviación térmica de la punta."
},
"SettingsReset": {
"text2": [
"Volver a ajustes",
"de fábrica"
],
"desc": "Restablece todos los ajustes a los valores originales."
},
"VoltageCalibration": {
"text2": [
"Calibrar voltaje",
"de entrada"
],
"desc": "Calibra VIN. Ajusta con ambos botones y mantén pulsado para salir."
},
"AdvancedSoldering": {
"text2": [
"Info extra",
"al soldar"
],
"desc": "Muestra más datos por pantalla cuando se está soldando."
},
"ScrollingSpeed": {
"text2": [
"Velocidad",
"del texto"
],
"desc": "Velocidad de desplazamiento del texto <R=rápida L=lenta>"
},
"QCMaxVoltage": {
"text2": [
"Potencia de",
"entrada"
],
"desc": "Potencia en vatios del adaptador de corriente utilizado."
},
"PowerLimit": {
"text2": [
"Ajustar la",
"potenc. máx."
],
"desc": "Elige el límite de potencia máxima del soldador <en vatios>"
},
"ReverseButtonTempChange": {
"text2": [
"Invertir",
"botones +/-"
],
"desc": "Intercambia las funciones de subir y bajar la temperatura de los botones +/- para que funcionen al revés."
},
"TempChangeShortStep": {
"text2": [
"Cambio temp.",
"puls. cortas"
],
"desc": "Subir y bajar X grados de temperatura con cada pulsación corta de los botones +/-."
},
"TempChangeLongStep": {
"text2": [
"Cambio temp.",
"puls. largas"
],
"desc": "Subir y bajar X grados de temperatura con cada pulsación larga de los botones +/-."
},
"PowerPulsePower": {
"text2": [
"Pulsos bat.",
"constantes"
],
"desc": "Aplica unos pulsos necesarios para mantener encendidas ciertas baterías portátiles. En vatios."
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensibilidad"
],
"desc": "Sensibilidad del sensor de efecto Hall en la detección de reposo <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Permitir botones",
"bloqueo"
],
"desc": "Al soldar, una pulsación larga en ambos botones los bloquea <D=desactivar, B=sólo potenciar, F=bloqueo total>."
},
"MinVolCell": {
"text2": [
"Mínimo",
"voltaje"
],
"desc": "voltaje mínimo permitido por célula <Voltios> <3S: 3,0V - 3,7V, 4/5/6S: 2,4V - 3,7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"bucle"
],
"desc": "Animaciones de iconos en bucle en el menú raíz"
},
"AnimSpeed": {
"text2": [
"Anim.",
"velocidad"
],
"desc": "Velocidad de las animaciones de los iconos en el menú <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Impulso de potencia",
"tiempo de espera"
],
"desc": "Tiempo de espera antes de disparar cada pulso de mantenimiento de la vigilia (x 2,5s)"
},
"PowerPulseDuration": {
"text2": [
"Impulso de potencia",
"duración"
],
"desc": "Duración del impulso de mantenimiento de la vigilia (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" ES Castellano"
],
"desc": ""
}
}
"languageCode": "ES",
"languageLocalName": "Castellano",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "¡Calibrada!",
"SettingsCalibrationWarning": "¡Asegúrate que la punta esté a temperatura ambiente antes de empezar!",
"SettingsResetWarning": "¿Quieres restablecer los ajustes?",
"UVLOWarningString": "CC BAJA",
"UndervoltageString": "Voltaje bajo",
"InputVoltageString": "Voltaje: ",
"WarningTipTempString": "Temp punta: ",
"BadTipString": "PT. ROTA",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "En reposo...",
"WarningSimpleString": "QUEMA",
"WarningAdvancedString": "¡LA PUNTA QUEMA!",
"SleepingTipAdvancedString": "Punta:",
"IdleTipString": "Punta:",
"IdleSetString": " Aj:",
"TipDisconnectedString": "NO HAY PUNTA",
"SolderingAdvancedPowerPrompt": "Potencia: ",
"OffString": " No",
"YourGainMessage": "Gananc.:",
"SettingsResetMessage": "Ajustes borrados"
},
"messagesWarn": {
"ResetOKMessage": "Hecho.",
"SettingsResetMessage": ["Los ajustes fueron", "¡Reinicio!"],
"NoAccelerometerMessage": ["Sin acelerómetro", "¡Detectado!"],
"NoPowerDeliveryMessage": ["Sin USB-PD IC", "¡Detectado!"],
"LockingKeysString": " BLOQUEADO",
"UnlockingKeysString": "DESBLOQUEADO",
"WarningKeysLockedString": "¡BLOQUEADO!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "I",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingFastChar": "R",
"SettingStartNoneChar": "N",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Potencia", "ajustes"],
"desc": "Ajustes de potencia"
},
"SolderingMenu": {
"text2": ["Ajustes de", "soldadura"],
"desc": "Ajustes para soldar."
},
"PowerSavingMenu": {
"text2": ["Modos de", "reposo"],
"desc": "Ajustes de ahorro energético."
},
"UIMenu": {
"text2": ["Interfaz", "de usuario"],
"desc": "Ajustes de interfaz de usuario."
},
"AdvancedMenu": {
"text2": ["Ajustes", "avanzados"],
"desc": "Ajustes avanzados."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Fuente", "de energía"],
"desc": "Elige el tipo de fuente para limitar el voltaje (DC 10V) (S 3,3V por pila, ilimitado)"
},
"SleepTemperature": {
"text2": ["Temperatura", "en reposo"],
"desc": "Temperatura de la punta en reposo."
},
"SleepTimeout": {
"text2": ["Entrar", "en reposo"],
"desc": "Tiempo de inactividad para entrar en reposo (min | seg)"
},
"ShutdownTimeout": {
"text2": ["Tiempo de", "apagado"],
"desc": "Tiempo de inactividad para apagarse (en minutos)"
},
"MotionSensitivity": {
"text2": ["Detección de", "movimiento"],
"desc": "Tiempo de reacción al agarrar (0=no | 1=menos sensible | ... | 9=más sensible)"
},
"TemperatureUnit": {
"text2": ["Unidad de", "temperatura"],
"desc": "Unidad de temperatura (C=centígrados | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Info extra en", "modo reposo"],
"desc": "Muestra información detallada en letra pequeña al reposar."
},
"DisplayRotation": {
"text2": ["Orientación", "de pantalla"],
"desc": "Orientación de la pantalla (D=diestro | I=zurdo | A=automático)"
},
"BoostTemperature": {
"text2": ["Ajustar la", "temp. extra"],
"desc": "Temperatura momentánea que se alcanza al apretar el botón del modo extra."
},
"AutoStart": {
"text2": ["Calentar", "al enchufar"],
"desc": "Se calienta él solo al arrancar (N=no | S=entrar en modo soldar | R=solo entrar en reposo | F=en reposo pero mantiene la punta fría)"
},
"CooldownBlink": {
"text2": ["Parpadear", "al enfriar"],
"desc": "La temperatura en pantalla parpadea mientras la punta siga caliente."
},
"TemperatureCalibration": {
"text2": ["Calibrar temp.", "de la punta"],
"desc": "Calibra la desviación térmica de la punta."
},
"SettingsReset": {
"text2": ["Volver a ajustes", "de fábrica"],
"desc": "Restablece todos los ajustes a los valores originales."
},
"VoltageCalibration": {
"text2": ["Calibrar voltaje", "de entrada"],
"desc": "Calibra VIN. Ajusta con ambos botones y mantén pulsado para salir."
},
"AdvancedSoldering": {
"text2": ["Info extra", "al soldar"],
"desc": "Muestra más datos por pantalla cuando se está soldando."
},
"ScrollingSpeed": {
"text2": ["Velocidad", "del texto"],
"desc": "Velocidad de desplazamiento del texto (R=rápida | L=lenta)"
},
"QCMaxVoltage": {
"text2": ["Potencia de", "entrada"],
"desc": "Potencia en vatios del adaptador de corriente utilizado."
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Ajustar la", "potenc. máx."],
"desc": "Elige el límite de potencia máxima del soldador (en vatios)"
},
"ReverseButtonTempChange": {
"text2": ["Invertir", "botones +/-"],
"desc": "Intercambia las funciones de subir y bajar la temperatura de los botones +/- para que funcionen al revés."
},
"TempChangeShortStep": {
"text2": ["Cambio temp.", "puls. cortas"],
"desc": "Subir y bajar X grados de temperatura con cada pulsación corta de los botones +/-."
},
"TempChangeLongStep": {
"text2": ["Cambio temp.", "puls. largas"],
"desc": "Subir y bajar X grados de temperatura con cada pulsación larga de los botones +/-."
},
"PowerPulsePower": {
"text2": ["Pulsos bat.", "constantes"],
"desc": "Aplica unos pulsos necesarios para mantener encendidas ciertas baterías portátiles. En vatios."
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensibilidad"],
"desc": "Sensibilidad del sensor de efecto Hall en la detección de reposo (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Permitir botones", "bloqueo"],
"desc": "Al soldar, una pulsación larga en ambos botones los bloquea (D=desactivar | B=sólo potenciar | F=bloqueo total)."
},
"MinVolCell": {
"text2": ["Mínimo", "voltaje"],
"desc": "voltaje mínimo permitido por célula (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Anim.", "bucle"],
"desc": "Animaciones de iconos en bucle en el menú raíz"
},
"AnimSpeed": {
"text2": ["Anim.", "velocidad"],
"desc": "Velocidad de las animaciones de los iconos en el menú (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Impulso de potencia", "tiempo de espera"],
"desc": "Tiempo de espera antes de disparar cada pulso de mantenimiento de la vigilia (x 2,5s)"
},
"PowerPulseDuration": {
"text2": ["Impulso de potencia", "duración"],
"desc": "Duración del impulso de mantenimiento de la vigilia (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Language:", " ES Castellano"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,314 +1,212 @@
{
"languageCode": "FI",
"languageLocalName": "Suomi",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationWarning": "Varmista että kärki on huoneenlämpöinen ennen jatkamista!",
"SettingsResetWarning": "Haluatko varmasti palauttaa oletusarvot?",
"UVLOWarningString": "DC ALH.",
"UndervoltageString": "Alijännite",
"InputVoltageString": "Jännite: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Lepotila...",
"SleepingTipAdvancedString": "Kärki:",
"IdleTipString": "Pää:",
"IdleSetString": "Aseta:",
"TipDisconnectedString": "KÄRKI PUUTTUU",
"SolderingAdvancedPowerPrompt": "Teho: ",
"OffString": "Off"
},
"messagesWarn": {
"ResetOKMessage": [
"Palautus",
"onnistui"
],
"SettingsResetMessage": [
"Asetukset",
"palautettu!"
],
"NoAccelerometerMessage": [
"Kiihtyvyysanturi",
"puuttuu!"
],
"NoPowerDeliveryMessage": [
"USB-PD IC",
"puuttuu!"
],
"LockingKeysString": " LUKITTU",
"UnlockingKeysString": "AUKI",
"WarningKeysLockedString": "!LUKKO!"
},
"characters": {
"SettingRightChar": "O",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingFastChar": "N",
"SettingSlowChar": "H",
"SettingMediumChar": "M",
"SettingOffChar": "P",
"SettingStartSolderingChar": "K",
"SettingStartSleepChar": "L",
"SettingStartSleepOffChar": "N",
"SettingStartNoneChar": "E",
"SettingSensitivityOff": "P",
"SettingSensitivityLow": "A",
"SettingSensitivityMedium": "K",
"SettingSensitivityHigh": "S",
"SettingLockDisableChar": "P",
"SettingLockBoostChar": "V",
"SettingLockFullChar": "K",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Virta-",
"asetukset"
],
"desc": "Virta-asetukset"
},
"SolderingMenu": {
"text2": [
"Juotos-",
"asetukset"
],
"desc": "Juotosasetukset"
},
"PowerSavingMenu": {
"text2": [
"Lepotilan",
"asetukset"
],
"desc": "Virransäästöasetukset"
},
"UIMenu": {
"text2": [
"Käyttö-",
"liittymä"
],
"desc": "Käyttöliittymän asetukset"
},
"AdvancedMenu": {
"text2": [
"Lisä-",
"asetukset"
],
"desc": "Lisäasetukset"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Virtalähde",
"DC"
],
"desc": "Virtalähde. Asettaa katkaisujännitteen. <DC 10V> <S 3.3V per kenno, poistaa virtarajoitukset>"
},
"SleepTemperature": {
"text2": [
"Lepotilan",
"lämpötila"
],
"desc": "Kärjen lämpötila \"lepotilassa\""
},
"SleepTimeout": {
"text2": [
"Lepotilan",
"viive"
],
"desc": "\"Lepotilan\" ajastus <S=sekuntia | M=minuuttia>"
},
"ShutdownTimeout": {
"text2": [
"Sammutus",
"viive"
],
"desc": "Automaattisen sammutuksen ajastus <M=minuuttia>"
},
"MotionSensitivity": {
"text2": [
"Liikkeen",
"herkkyys"
],
"desc": "0=pois päältä | 1=vähäinen herkkyys | ... | 9=suurin herkkyys"
},
"TemperatureUnit": {
"text2": [
"Lämpötilan",
"yksikkö"
],
"desc": "<C=celsius, F=fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Tiedot",
"lepotilassa"
],
"desc": "Näyttää yksityiskohtaisemmat pienemmällä fontilla tiedot lepotilassa."
},
"DisplayRotation": {
"text2": [
"Näytön",
"kierto"
],
"desc": "A=automaattinen | V=vasenkätinen | O=oikeakätinen"
},
"BoostTemperature": {
"text2": [
"Tehostus-",
"lämpötila"
],
"desc": "Tehostustilan lämpötila"
},
"AutoStart": {
"text2": [
"Autom.",
"käynnistys"
],
"desc": "Käynnistää virrat kytkettäessä juotostilan automaattisesti. T=juotostila, S=Lepotila, F=Ei käytössä"
},
"CooldownBlink": {
"text2": [
"Jäähdytyksen",
"vilkutus"
],
"desc": "Vilkuttaa jäähtyessä juotoskärjen lämpötilaa sen ollessa vielä vaarallisen kuuma"
},
"TemperatureCalibration": {
"text2": [
"Kalibroi",
"lämpötila?"
],
"desc": "Kalibroi kärjen lämpötilaeron"
},
"SettingsReset": {
"text2": [
"Palauta",
"tehdasasetukset?"
],
"desc": "Palauta kaikki asetukset oletusarvoihin"
},
"VoltageCalibration": {
"text2": [
"Kalibroi",
"tulojännite?"
],
"desc": "Tulojännitten kalibrointi (VIN) <paina pitkään poistuaksesi>"
},
"AdvancedSoldering": {
"text2": [
"Tarkempi",
"juotosnäyttö"
],
"desc": "Näyttää yksityiskohtaisemmat tiedot pienellä fontilla juotostilassa"
},
"ScrollingSpeed": {
"text2": [
"Selityksien",
"nopeus"
],
"desc": "Selityksien vieritysnopeus <H=hidas | N=nopea>"
},
"QCMaxVoltage": {
"text2": [
"QC",
"jännite"
],
"desc": "Ensisijainen maksimi QC jännite"
},
"PowerLimit": {
"text2": [
"Tehon-",
"rajoitus"
],
"desc": "Suurin sallittu teho <Watti>"
},
"ReverseButtonTempChange": {
"text2": [
"Suunnanvaihto",
"+ - näppäimille"
],
"desc": "Lämpötilapainikkeiden suunnan vaihtaminen"
},
"TempChangeShortStep": {
"text2": [
"Lämmön muutos",
"lyhyt painal."
],
"desc": "Lämpötilan muutos lyhyellä painalluksella"
},
"TempChangeLongStep": {
"text2": [
"Lämmön muutos",
"pitkä painal."
],
"desc": "Lämpötilan muutos pitkällä painalluksella"
},
"PowerPulsePower": {
"text2": [
"Herätyspulssin",
"voimakkuus"
],
"desc": "Herätyspulssin voimakkuus <watti>"
},
"HallEffSensitivity": {
"text2": [
"Hall-",
"herk."
],
"desc": "Hall-efektianturin herkkyys lepotilan tunnistuksessa <P=pois | A=alhainen | K=keskiverto | S=suuri>"
},
"LockingMode": {
"text2": [
"Salli nappien",
"lukitus"
],
"desc": "Kolvatessa paina molempia näppäimiä lukitaksesi ne <P=pois | V=vain tehostus | K=kaikki>"
},
"MinVolCell": {
"text2": [
"Pienin",
"jännite"
],
"desc": "Pienin sallittu jännite per kenno <Voltit> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Animaation",
"toistaminen"
],
"desc": "Toista animaatiot valikossa"
},
"AnimSpeed": {
"text2": [
"Animaation",
"nopeus"
],
"desc": "Animaatioiden nopeus valikossa <P=pois | A=alhainen | K=keskiverto | S=suuri>"
},
"PowerPulseWait": {
"text2": [
"Pulssin",
"odotusaika"
],
"desc": "Odotusaika herätyspulssin lähetykseen (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Pulssin",
"kesto"
],
"desc": "Herätyspulssin kesto (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" FI Suomi"
],
"desc": ""
}
}
"languageCode": "FI",
"languageLocalName": "Suomi",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibrointi tehty!",
"SettingsCalibrationWarning": "Varmista että kärki on huoneenlämpöinen ennen jatkamista!",
"SettingsResetWarning": "Haluatko varmasti palauttaa oletusarvot?",
"UVLOWarningString": "DC ALH.",
"UndervoltageString": "Alijännite",
"InputVoltageString": "Jännite: ",
"WarningTipTempString": "Kärjet lämpö: ",
"BadTipString": "PAHA KÄRJET",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Lepotila...",
"WarningSimpleString": "KUUMA!",
"WarningAdvancedString": "!!! KUUMA KÄRJET !!!",
"SleepingTipAdvancedString": "Kärki:",
"IdleTipString": "Pää:",
"IdleSetString": "Aseta:",
"TipDisconnectedString": "KÄRKI PUUTTUU",
"SolderingAdvancedPowerPrompt": "Teho: ",
"OffString": "Off"
},
"messagesWarn": {
"ResetOKMessage": "Palautus",
"SettingsResetMessage": ["Asetukset", "palautettu!"],
"NoAccelerometerMessage": ["Kiihtyvyysanturi", "puuttuu!"],
"NoPowerDeliveryMessage": ["USB-PD IC", "puuttuu!"],
"LockingKeysString": " LUKITTU",
"UnlockingKeysString": "AUKI",
"WarningKeysLockedString": "!LUKKO!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "O",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingOffChar": "P",
"SettingSlowChar": "H",
"SettingMediumChar": "M",
"SettingFastChar": "N",
"SettingStartNoneChar": "E",
"SettingStartSolderingChar": "J",
"SettingStartSleepChar": "L",
"SettingStartSleepOffChar": "H",
"SettingSensitivityOff": "P",
"SettingSensitivityLow": "A",
"SettingSensitivityMedium": "K",
"SettingSensitivityHigh": "S",
"SettingLockDisableChar": "P",
"SettingLockBoostChar": "V",
"SettingLockFullChar": "K",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Virta-", "asetukset"],
"desc": "Virta-asetukset"
},
"SolderingMenu": {
"text2": ["Juotos-", "asetukset"],
"desc": "Juotosasetukset"
},
"PowerSavingMenu": {
"text2": ["Lepotilan", "asetukset"],
"desc": "Virransäästöasetukset"
},
"UIMenu": {
"text2": ["Käyttö-", "liittymä"],
"desc": "Käyttöliittymän asetukset"
},
"AdvancedMenu": {
"text2": ["Lisä-", "asetukset"],
"desc": "Lisäasetukset"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Virtalähde", "DC"],
"desc": "Virtalähde. Asettaa katkaisujännitteen. (DC 10V) (S 3.3V per kenno, poistaa virtarajoitukset)"
},
"SleepTemperature": {
"text2": ["Lepotilan", "lämpötila"],
"desc": "Kärjen lämpötila \"lepotilassa\""
},
"SleepTimeout": {
"text2": ["Lepotilan", "viive"],
"desc": "\"Lepotilan\" ajastus (S=sekuntia | M=minuuttia)"
},
"ShutdownTimeout": {
"text2": ["Sammutus", "viive"],
"desc": "Automaattisen sammutuksen ajastus (M=minuuttia)"
},
"MotionSensitivity": {
"text2": ["Liikkeen", "herkkyys"],
"desc": "0=pois päältä | 1=vähäinen herkkyys | ... | 9=suurin herkkyys"
},
"TemperatureUnit": {
"text2": ["Lämpötilan", "yksikkö"],
"desc": "C=celsius, F=fahrenheit"
},
"AdvancedIdle": {
"text2": ["Tiedot", "lepotilassa"],
"desc": "Näyttää yksityiskohtaisemmat pienemmällä fontilla tiedot lepotilassa."
},
"DisplayRotation": {
"text2": ["Näytön", "kierto"],
"desc": "O=oikeakätinen | V=vasenkätinen | A=automaattinen"
},
"BoostTemperature": {
"text2": ["Tehostus-", "lämpötila"],
"desc": "Tehostustilan lämpötila"
},
"AutoStart": {
"text2": ["Autom.", "käynnistys"],
"desc": "Käynnistää virrat kytkettäessä juotostilan automaattisesti. (E=Ei käytössä | J=juotostila | L=Lepotila | H=Lepotila huoneenlämpö)"
},
"CooldownBlink": {
"text2": ["Jäähdytyksen", "vilkutus"],
"desc": "Vilkuttaa jäähtyessä juotoskärjen lämpötilaa sen ollessa vielä vaarallisen kuuma"
},
"TemperatureCalibration": {
"text2": ["Kalibroi", "lämpötila?"],
"desc": "Kalibroi kärjen lämpötilaeron"
},
"SettingsReset": {
"text2": ["Palauta", "tehdasasetukset?"],
"desc": "Palauta kaikki asetukset oletusarvoihin"
},
"VoltageCalibration": {
"text2": ["Kalibroi", "tulojännite?"],
"desc": "Tulojännitten kalibrointi (VIN) (paina pitkään poistuaksesi)"
},
"AdvancedSoldering": {
"text2": ["Tarkempi", "juotosnäyttö"],
"desc": "Näyttää yksityiskohtaisemmat tiedot pienellä fontilla juotostilassa"
},
"ScrollingSpeed": {
"text2": ["Selityksien", "nopeus"],
"desc": "Selityksien vieritysnopeus (H=hidas | N=nopea)"
},
"QCMaxVoltage": {
"text2": ["QC", "jännite"],
"desc": "Ensisijainen maksimi QC jännite"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Tehon-", "rajoitus"],
"desc": "Suurin sallittu teho (Watti)"
},
"ReverseButtonTempChange": {
"text2": ["Suunnanvaihto", "+ - näppäimille"],
"desc": "Lämpötilapainikkeiden suunnan vaihtaminen"
},
"TempChangeShortStep": {
"text2": ["Lämmön muutos", "lyhyt painal."],
"desc": "Lämpötilan muutos lyhyellä painalluksella"
},
"TempChangeLongStep": {
"text2": ["Lämmön muutos", "pitkä painal."],
"desc": "Lämpötilan muutos pitkällä painalluksella"
},
"PowerPulsePower": {
"text2": ["Herätyspulssin", "voimakkuus"],
"desc": "Herätyspulssin voimakkuus (watti)"
},
"HallEffSensitivity": {
"text2": ["Hall-", "herk."],
"desc": "Hall-efektianturin herkkyys lepotilan tunnistuksessa (P=pois | A=alhainen | K=keskiverto | S=suuri)"
},
"LockingMode": {
"text2": ["Salli nappien", "lukitus"],
"desc": "Kolvatessa paina molempia näppäimiä lukitaksesi ne (P=pois | V=vain tehostus | K=kaikki)"
},
"MinVolCell": {
"text2": ["Pienin", "jännite"],
"desc": "Pienin sallittu jännite per kenno (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Animaation", "toistaminen"],
"desc": "Toista animaatiot valikossa"
},
"AnimSpeed": {
"text2": ["Animaation", "nopeus"],
"desc": "Animaatioiden nopeus valikossa (P=pois | A=alhainen | K=keskiverto | S=suuri)"
},
"PowerPulseWait": {
"text2": ["Pulssin", "odotusaika"],
"desc": "Odotusaika herätyspulssin lähetykseen (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Pulssin", "kesto"],
"desc": "Herätyspulssin kesto (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Kieli:", " FI Suomi"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "FR",
"languageLocalName": "Français",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibration effectuée !",
"SettingsCalibrationWarning": "Assurez-vous que la panne soit à température ambiante avant de continuer !",
"SettingsResetWarning": "Voulez-vous vraiment initialiser les paramètres aux valeurs par défaut ?",
"UVLOWarningString": "DC FAIBL",
"UndervoltageString": "Sous-tension",
"InputVoltageString": "V d'entrée : ",
"WarningTipTempString": "Temp. Panne : ",
"BadTipString": "PANNE HS",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "En veille...",
"WarningSimpleString": "CHAUD !",
"WarningAdvancedString": "ATTENTION ! CHAUD !",
"SleepingTipAdvancedString": "Panne : ",
"IdleTipString": "Act : ",
"IdleSetString": "Reg : ",
"TipDisconnectedString": "PANNE DÉBRANCHÉE",
"SolderingAdvancedPowerPrompt": "Puissance : ",
"OffString": "Off",
"YourGainMessage": "Gain : "
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Réglage",
"réinit. !"
],
"NoAccelerometerMessage": [
"Accéléromètre",
"non détecté !"
],
"NoPowerDeliveryMessage": [
"Pas d'USB-PD",
"détecté !"
],
"LockingKeysString": "VERROUIL",
"UnlockingKeysString": "DEVERROU",
"WarningKeysLockedString": "! VERR. !"
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "G",
"SettingAutoChar": "A",
"SettingFastChar": "R",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "D",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "D",
"SettingSensitivityOff": "D",
"SettingSensitivityLow": "B",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Paramètres",
"de soudure"
],
"desc": "Paramètres de soudure"
},
"PowerSavingMenu": {
"text2": [
"Mode",
"veille"
],
"desc": "Paramètres d'économie d'énergie"
},
"UIMenu": {
"text2": [
"Interface",
"utilisateur"
],
"desc": "Paramètres de l'interface utilisateur"
},
"AdvancedMenu": {
"text2": [
"Options",
"avancées"
],
"desc": "Options avancées"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Source",
"d'alim."
],
"desc": "Source d'alimentation. Règle la tension de coupure <DC=10V> <S=3.3V par cellules>"
},
"SleepTemperature": {
"text2": [
"Temp.",
"veille"
],
"desc": "Température en veille <C>"
},
"SleepTimeout": {
"text2": [
"Délai",
"veille"
],
"desc": "Délai avant mise en veille <S=secondes | M=minutes>"
},
"ShutdownTimeout": {
"text2": [
"Délai",
"extinction"
],
"desc": "Délai avant extinction <M=minutes>"
},
"MotionSensitivity": {
"text2": [
"Sensibilité",
"au mouvement"
],
"desc": "0=inactif | 1=peu sensible | ... | 9=très sensible"
},
"TemperatureUnit": {
"text2": [
"Unité de",
"température"
],
"desc": "Unité de température <C=Celsius | F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Écran veille",
"détaillé"
],
"desc": "Afficher les informations détaillées lors de la veille."
},
"DisplayRotation": {
"text2": [
"Orientation",
"de l'écran"
],
"desc": "Orientation de l'affichage <A=automatique | G=gaucher | D=droitier>"
},
"BoostTemperature": {
"text2": [
"Temp.",
"Boost"
],
"desc": "Température du mode \"Boost\""
},
"AutoStart": {
"text2": [
"Démarrage",
"automatique"
],
"desc": "Démarrer automatiquement la soudure à l'allumage <D=désactivé | A=activé | V=mode veille | O=mode veille à température ambiante>"
},
"CooldownBlink": {
"text2": [
"Refroidir en",
"clignotant"
],
"desc": "Faire clignoter la température lors du refroidissement tant que la panne est chaude."
},
"TemperatureCalibration": {
"text2": [
"Étalonner",
"température"
],
"desc": "Étalonner température de la panne."
},
"SettingsReset": {
"text2": [
"Réinitialisation",
"d'usine"
],
"desc": "Réinitialiser tous les réglages"
},
"VoltageCalibration": {
"text2": [
"Étalonner",
"tension d'entrée"
],
"desc": "Étalonner tension d'entrée <appui long pour quitter>"
},
"AdvancedSoldering": {
"text2": [
"Écran soudure",
"détaillé"
],
"desc": "Afficher les informations détaillées pendant la soudure"
},
"ScrollingSpeed": {
"text2": [
"Vitesse de",
"défilement"
],
"desc": "Vitesse de défilement du texte <R=rapide | L=lent>"
},
"QCMaxVoltage": {
"text2": [
"Tension max.",
"QC"
],
"desc": "Tension maximale désirée avec une alimentation QC"
},
"PowerLimit": {
"text2": [
"Limite de",
"puissance"
],
"desc": "Puissance maximale utilisable <W=watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Inverser les",
"touches + -"
],
"desc": "Inverser l'assignation des boutons d'ajustement de température de la panne."
},
"TempChangeShortStep": {
"text2": [
"Incrément",
"appui court"
],
"desc": "Incrément de changement de température sur appui court."
},
"TempChangeLongStep": {
"text2": [
"Incrément",
"appui long"
],
"desc": "Incrément de changement de température sur appui long."
},
"PowerPulsePower": {
"text2": [
"Puissance des",
"impulsions"
],
"desc": "Puissance des impulsions pour éviter la mise en veille des batteries <watt>"
},
"LockingMode": {
"text2": [
"Verrouiller",
"les boutons"
],
"desc": "Pendant la soudure, appuyer sur les deux boutons pour les verrouiller <D=désactivé | B=boost seulement | V=verr. total>"
},
"HallEffSensitivity": {
"text2": [
"Sensibilité",
"capteur effet hall"
],
"desc": "Sensibilité du capteur à effet Hall lors de la détection de mise en veille <D=désactivé | B=basse | M=moyenne | H=haute>"
},
"MinVolCell": {
"text2": [
"Tension",
"minimale"
],
"desc": "Tension minimale autorisée par cellule <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Icônes",
"animées"
],
"desc": "Animations des icônes dans le menu principal"
},
"AnimSpeed": {
"text2": [
"Vitesse",
"d'animations"
],
"desc": "Vitesse des animations des icônes dans le menu <D=désactivé | L=lente | M=moyenne | H=haute>"
},
"PowerPulseWait": {
"text2": [
"Délai entre",
"les impulsions"
],
"desc": "Délai entre chaque impulsions pour empêcher la mise en veille (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Durée des",
"impulsions"
],
"desc": "Durée des impulsions pour empêcher la mise en veille (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" FR Français"
],
"desc": ""
}
}
"languageCode": "FR",
"languageLocalName": "Français",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Calibration effectuée !",
"SettingsCalibrationWarning": "Assurez-vous que la panne soit à température ambiante avant de continuer !",
"SettingsResetWarning": "Voulez-vous vraiment réinitialiser les paramètres aux valeurs par défaut ?",
"UVLOWarningString": "DC FAIBL",
"UndervoltageString": "Sous-tension",
"InputVoltageString": "V d'entrée: ",
"WarningTipTempString": "Temp. Panne : ",
"BadTipString": "PANNE HS",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "En veille...",
"WarningSimpleString": "CHAUD !",
"WarningAdvancedString": "ATTENTION ! CHAUD !",
"SleepingTipAdvancedString": "Panne:",
"IdleTipString": "Act:",
"IdleSetString": " Reg:",
"TipDisconnectedString": "PANNE DÉBRANCHÉE",
"SolderingAdvancedPowerPrompt": "Puiss.:",
"OffString": "Off",
"YourGainMessage": "Gain : "
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Réglages", "réinitialisés !"],
"NoAccelerometerMessage": ["Accéléromètre", "non détecté !"],
"NoPowerDeliveryMessage": ["USB-PD", "non détecté !"],
"LockingKeysString": "VERROUIL",
"UnlockingKeysString": "DEVERROU",
"WarningKeysLockedString": "! VERR. !",
"WarningThermalRunaway": ["Emballement", "thermique"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "G",
"SettingAutoChar": "A",
"SettingOffChar": "D",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingFastChar": "R",
"SettingStartNoneChar": "D",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "O",
"SettingSensitivityOff": "D",
"SettingSensitivityLow": "B",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Paramètres", "d'alim."],
"desc": "Paramètres d'alimentation"
},
"SolderingMenu": {
"text2": ["Paramètres", "de soudure"],
"desc": "Paramètres de soudure"
},
"PowerSavingMenu": {
"text2": ["Mode", "veille"],
"desc": "Paramètres d'économie d'énergie"
},
"UIMenu": {
"text2": ["Interface", "utilisateur"],
"desc": "Paramètres de l'interface utilisateur"
},
"AdvancedMenu": {
"text2": ["Options", "avancées"],
"desc": "Options avancées"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Source", "d'alim."],
"desc": "Source d'alimentation. Règle la tension de coupure (DC 10V) (S 3.3V par cellules, désactive la limite de puissance)"
},
"SleepTemperature": {
"text2": ["Temp.", "veille"],
"desc": "Température de la panne en \"mode veille\""
},
"SleepTimeout": {
"text2": ["Délai", "veille"],
"desc": "Délai avant mise en veille (S=secondes | M=minutes)"
},
"ShutdownTimeout": {
"text2": ["Délai", "extinction"],
"desc": "Délai avant extinction (M=minutes)"
},
"MotionSensitivity": {
"text2": ["Sensibilité", "au mouvement"],
"desc": "0=désactivé | 1=peu sensible | ... | 9=très sensible"
},
"TemperatureUnit": {
"text2": ["Unité de", "température"],
"desc": "C=Celsius | F=Fahrenheit"
},
"AdvancedIdle": {
"text2": ["Écran veille", "détaillé"],
"desc": "Afficher les informations détaillées sur l'écran de veille"
},
"DisplayRotation": {
"text2": ["Orientation", "de l'écran"],
"desc": "D=droitier | G=gaucher | A=automatique"
},
"BoostTemperature": {
"text2": ["Temp.", "boost"],
"desc": "Température utilisée en \"mode boost\""
},
"AutoStart": {
"text2": ["Chauffer au", "démarrage"],
"desc": "D=désactivé | A=activé | V=mode veille | O=mode veille à température ambiante"
},
"CooldownBlink": {
"text2": ["Refroidir en", "clignotant"],
"desc": "Faire clignoter la température lors du refroidissement tant que la panne est chaude"
},
"TemperatureCalibration": {
"text2": ["Étalonner", "température"],
"desc": "Étalonner température de la panne"
},
"SettingsReset": {
"text2": ["Réinitialisation", "d'usine"],
"desc": "Réinitialiser tous les réglages"
},
"VoltageCalibration": {
"text2": ["Étalonner", "tension d'entrée"],
"desc": "Étalonner tension d'entrée (appui long pour quitter)"
},
"AdvancedSoldering": {
"text2": ["Écran soudure", "détaillé"],
"desc": "Afficher les informations détaillées sur l'écran de soudure"
},
"ScrollingSpeed": {
"text2": ["Vitesse de", "défilement"],
"desc": "Vitesse de défilement du texte (R=rapide | L=lent)"
},
"QCMaxVoltage": {
"text2": ["Tension", "QC"],
"desc": "Tension maximale désirée avec une alimentation QC"
},
"PDNegTimeout": {
"text2": ["Délai", "expiration PD"],
"desc": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC (0: désactivé)"
},
"PowerLimit": {
"text2": ["Limite de", "puissance"],
"desc": "Puissance maximale utilisable (W=watts)"
},
"ReverseButtonTempChange": {
"text2": ["Inverser les", "touches + -"],
"desc": "Inverser les boutons d'ajustement de température"
},
"TempChangeShortStep": {
"text2": ["Incrément", "appui court"],
"desc": "Incrément de changement de température sur appui court"
},
"TempChangeLongStep": {
"text2": ["Incrément", "appui long"],
"desc": "Incrément de changement de température sur appui long"
},
"PowerPulsePower": {
"text2": ["Puissance des", "impulsions"],
"desc": "Puissance des impulsions pour éviter la mise en veille des batteries (watts)"
},
"LockingMode": {
"text2": ["Verrouiller", "les boutons"],
"desc": "Pendant la soudure, appuyer sur les deux boutons pour les verrouiller (D=désactivé | B=boost seulement | V=verr. total)"
},
"HallEffSensitivity": {
"text2": ["Sensibilité", "capteur effet hall"],
"desc": "Sensibilité du capteur à effet Hall pour la mise en veille (D=désactivé | B=basse | M=moyenne | H=haute)"
},
"MinVolCell": {
"text2": ["Tension", "minimale"],
"desc": "Tension minimale autorisée par cellule (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Rejouer", "anim. icônes"],
"desc": "Rejouer en boucle les animations des icônes dans le menu principal"
},
"AnimSpeed": {
"text2": ["Vitesse", "anim. icônes"],
"desc": "Vitesse des animations des icônes dans le menu (D=désactivé | L=lente | M=moyenne | R=rapide)"
},
"PowerPulseWait": {
"text2": ["Délai entre", "les impulsions"],
"desc": "Délai entre chaque impulsion pour empêcher la mise en veille (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Durée des", "impulsions"],
"desc": "Durée des impulsions pour empêcher la mise en veille (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Langue :", " FR Français"],
"desc": ""
},
"Brightness": {
"text2": ["Luminosité", "de l'écran"],
"desc": "Ajuster le contraste/luminosité de l'écran OLED"
},
"ColourInversion": {
"text2": ["Inverser", "les couleurs"],
"desc": "Inverser les couleurs de l'écran OLED"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "HR",
"languageLocalName": "Hrvatski",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibracija gotova!",
"SettingsCalibrationWarning": "Provjerite da je vršak ohlađen na sobnu temperaturu prije nego što nastavite!",
"SettingsResetWarning": "Jeste li sigurni da želite sve postavke vratiti na tvorničke vrijednosti?",
"UVLOWarningString": "BATERIJA",
"UndervoltageString": "PRENIZAK NAPON",
"InputVoltageString": "Napajanje: ",
"WarningTipTempString": "Temp vrha: ",
"BadTipString": "LOŠ VRH",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "SPAVANJE...",
"WarningSimpleString": "VRUĆ",
"WarningAdvancedString": "OPREZ, VRUĆE!",
"SleepingTipAdvancedString": "Vrh: ",
"IdleTipString": "Vrh: ",
"IdleSetString": " / ",
"TipDisconnectedString": "VRH NIJE SPOJEN!",
"SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "B",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Postavke",
"lemljenja"
],
"desc": "Postavke pri lemljenju"
},
"PowerSavingMenu": {
"text2": [
"Ušteda",
"energije"
],
"desc": "Postavke spavanja i štednje energije"
},
"UIMenu": {
"text2": [
"Korisničko",
"sučelje"
],
"desc": "Postavke korisničkog sučelja"
},
"AdvancedMenu": {
"text2": [
"Napredne",
"opcije"
],
"desc": "Upravljanje naprednim opcijama"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Izvor",
"napajanja"
],
"desc": "Izvor napajanja. Postavlja napon isključivanja. <DC 10V> <S 3.3V po ćeliji>"
},
"SleepTemperature": {
"text2": [
"Temp",
"spavanja"
],
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. <C/F>"
},
"SleepTimeout": {
"text2": [
"Vrijeme",
"spavanja"
],
"desc": "Vrijeme mirovanja nakon kojega lemilica spušta temperaturu. <Minute/Sekunde>"
},
"ShutdownTimeout": {
"text2": [
"Vrijeme",
"gašenja"
],
"desc": "Vrijeme mirovanja nakon kojega će se lemilica ugasiti. <Minute>"
},
"MotionSensitivity": {
"text2": [
"Osjetljivost",
"pokreta"
],
"desc": "Osjetljivost prepoznavanja pokreta. <0=Ugašeno, 1=Najmanje osjetljivo, 9=Najosjetljivije>"
},
"TemperatureUnit": {
"text2": [
"Jedinica",
"temperature"
],
"desc": "Jedinica temperature. <C=Celzij, F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Detalji",
"pri čekanju"
],
"desc": "Prikazivanje detaljnih informacija tijekom čekanja."
},
"DisplayRotation": {
"text2": [
"Rotacija",
"ekrana"
],
"desc": "Orijentacija ekrana. <A=Automatski, L=Ljevoruki, D=Desnoruki>"
},
"BoostTemperature": {
"text2": [
"Boost",
"temp"
],
"desc": "Temperatura u pojačanom (Boost) načinu."
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Ako je aktivno, lemilica po uključivanju napajanja odmah počinje grijati."
},
"CooldownBlink": {
"text2": [
"Upozorenje",
"pri hlađenju"
],
"desc": "Bljeskanje temperature prilikom hlađenja, ako je lemilica vruća."
},
"TemperatureCalibration": {
"text2": [
"Kalibracija",
"temperature"
],
"desc": "Kalibriranje temperature mjeri razliku temperatura vrška i drške, dok je lemilica hladna."
},
"SettingsReset": {
"text2": [
"Tvorničke",
"postavke"
],
"desc": "Vraćanje svih postavki na tvorničke vrijednosti."
},
"VoltageCalibration": {
"text2": [
"Kalibracija",
"napona napajanja"
],
"desc": "Kalibracija ulaznog napona. Podešavanje gumbima, dugački pritisak za kraj."
},
"AdvancedSoldering": {
"text2": [
"Detalji",
"pri lemljenju"
],
"desc": "Prikazivanje detaljnih informacija tijekom lemljenja."
},
"ScrollingSpeed": {
"text2": [
"Brzina",
"poruka"
],
"desc": "Brzina kretanja dugačkih poruka. <B=brzo, S=sporo>"
},
"QCMaxVoltage": {
"text2": [
"Snaga",
"napajanja"
],
"desc": "Snaga modula za napajanje"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" HR Hrvatski"
],
"desc": ""
}
}
"languageCode": "HR",
"languageLocalName": "Hrvatski",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibracija gotova!",
"SettingsCalibrationWarning": "Provjerite da je vršak ohlađen na sobnu temperaturu prije nego što nastavite!",
"SettingsResetWarning": "Jeste li sigurni da želite sve postavke vratiti na tvorničke vrijednosti?",
"UVLOWarningString": "BATERIJA",
"UndervoltageString": "PRENIZAK NAPON",
"InputVoltageString": "Napajanje: ",
"WarningTipTempString": "Temp vrha: ",
"BadTipString": "LOŠ VRH",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "SPAVANJE...",
"WarningSimpleString": "VRUĆ",
"WarningAdvancedString": "OPREZ, VRUĆE!",
"SleepingTipAdvancedString": "Vrh: ",
"IdleTipString": "Vrh: ",
"IdleSetString": " / ",
"TipDisconnectedString": "VRH NIJE SPOJEN!",
"SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "B",
"SettingStartNoneChar": "I",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "S",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Postavke", "lemljenja"],
"desc": "Postavke pri lemljenju"
},
"PowerSavingMenu": {
"text2": ["Ušteda", "energije"],
"desc": "Postavke spavanja i štednje energije"
},
"UIMenu": {
"text2": ["Korisničko", "sučelje"],
"desc": "Postavke korisničkog sučelja"
},
"AdvancedMenu": {
"text2": ["Napredne", "opcije"],
"desc": "Upravljanje naprednim opcijama"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Izvor", "napajanja"],
"desc": "Izvor napajanja. Postavlja napon isključivanja. (DC 10V) (S 3.3V po ćeliji)"
},
"SleepTemperature": {
"text2": ["Temp", "spavanja"],
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. (C | F)"
},
"SleepTimeout": {
"text2": ["Vrijeme", "spavanja"],
"desc": "Vrijeme mirovanja nakon kojega lemilica spušta temperaturu. (Minute | Sekunde)"
},
"ShutdownTimeout": {
"text2": ["Vrijeme", "gašenja"],
"desc": "Vrijeme mirovanja nakon kojega će se lemilica ugasiti. (Minute)"
},
"MotionSensitivity": {
"text2": ["Osjetljivost", "pokreta"],
"desc": "Osjetljivost prepoznavanja pokreta. (0=Ugašeno | 1=Najmanje osjetljivo | ... | 9=Najosjetljivije)"
},
"TemperatureUnit": {
"text2": ["Jedinica", "temperature"],
"desc": "Jedinica temperature. (C=Celzij | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Detalji", "pri čekanju"],
"desc": "Prikazivanje detaljnih informacija tijekom čekanja."
},
"DisplayRotation": {
"text2": ["Rotacija", "ekrana"],
"desc": "Orijentacija ekrana. (D=Desnoruki | L=Ljevoruki | A=Automatski)"
},
"BoostTemperature": {
"text2": ["Boost", "temp"],
"desc": "Temperatura u pojačanom (Boost) načinu."
},
"AutoStart": {
"text2": ["Auto", "start"],
"desc": "Ako je aktivno, lemilica po uključivanju napajanja odmah počinje grijati. (I=isključeno | L=lemljenje | R=rezervni | S=rezervni sobna temperatura)"
},
"CooldownBlink": {
"text2": ["Upozorenje", "pri hlađenju"],
"desc": "Bljeskanje temperature prilikom hlađenja, ako je lemilica vruća."
},
"TemperatureCalibration": {
"text2": ["Kalibracija", "temperature"],
"desc": "Kalibriranje temperature mjeri razliku temperatura vrška i drške, dok je lemilica hladna."
},
"SettingsReset": {
"text2": ["Tvorničke", "postavke"],
"desc": "Vraćanje svih postavki na tvorničke vrijednosti."
},
"VoltageCalibration": {
"text2": ["Kalibracija", "napona napajanja"],
"desc": "Kalibracija ulaznog napona. Podešavanje gumbima, dugački pritisak za kraj."
},
"AdvancedSoldering": {
"text2": ["Detalji", "pri lemljenju"],
"desc": "Prikazivanje detaljnih informacija tijekom lemljenja."
},
"ScrollingSpeed": {
"text2": ["Brzina", "poruka"],
"desc": "Brzina kretanja dugačkih poruka. (B=brzo | S=sporo)"
},
"QCMaxVoltage": {
"text2": ["Snaga", "napajanja"],
"desc": "Snaga modula za napajanje"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V, 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Jezik:", " HR Hrvatski"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,320 +1,213 @@
{
"languageCode": "HU",
"languageLocalName": "Magyar",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibráció befejezve!",
"SettingsCalibrationWarning": "Folytatás előtt győződjön meg róla, hogy a páka szobahőmérsékletű!",
"SettingsResetWarning": "Biztosan visszaállítja a beállításokat az alapértelmezett értékekre?",
"UVLOWarningString": "DC KEVÉS",
"UndervoltageString": "Alulfeszültség",
"InputVoltageString": "Bemenet V: ",
"WarningTipTempString": "Hegy hő: ",
"BadTipString": "PÁKAHIBA",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Alvás...",
"WarningSimpleString": "FORRÓ!",
"WarningAdvancedString": "!! FORRÓ PÁKA !!",
"SleepingTipAdvancedString": "Páka:",
"IdleTipString": "Páka:",
"IdleSetString": "Cél:",
"TipDisconnectedString": "PÁKA LEVÉVE",
"SolderingAdvancedPowerPrompt": "Telj: ",
"OffString": "Ki",
"YourGainMessage": "Erősítés:"
},
"messagesWarn": {
"ResetOKMessage": [
"Törlés OK",
""
],
"SettingsResetMessage": [
"Beállítások",
"törölve!"
],
"NoAccelerometerMessage": [
"Nincs",
"gyorsulásmérő!"
],
"NoPowerDeliveryMessage": [
"Nincs USB-PD IC!",
""
],
"LockingKeysString": "LEZÁRVA",
"UnlockingKeysString": "FELOLDVA",
"WarningKeysLockedString": "!LEZÁRVA!"
},
"characters": {
"SettingRightChar": "J",
"SettingLeftChar": "B",
"SettingAutoChar": "A",
"SettingFastChar": "G",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "0",
"SettingStartSolderingChar": "F",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "S",
"SettingStartNoneChar": "K",
"SettingSensitivityOff": "0",
"SettingSensitivityLow": "A",
"SettingSensitivityMedium": "K",
"SettingSensitivityHigh": "M",
"SettingLockDisableChar": "K",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "T",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Forrasztási",
"beállítások"
],
"desc": "Forrasztási beállítások"
},
"PowerSavingMenu": {
"text2": [
"Alvási",
"módok"
],
"desc": "Energiatakarékossági beállítások"
},
"UIMenu": {
"text2": [
"Felhasználói",
"felület"
],
"desc": "Felhasználói felület beállításai"
},
"AdvancedMenu": {
"text2": [
"Haladó",
"beállítások"
],
"desc": "Haladó beállítások"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Áram",
"forrás"
],
"desc": "Kikapcsolási feszültség beállítása (DC:10V, S:3.3V/LiPo cella)"
},
"SleepTemperature": {
"text2": [
"Alvási",
"hőmérs."
],
"desc": "Hőmérséklet alvó módban <C/F>"
},
"SleepTimeout": {
"text2": [
"Alvás",
"időzítő"
],
"desc": "Alvási időzítő <perc/másodperc>"
},
"ShutdownTimeout": {
"text2": [
"Kikapcsolás",
"időzítő"
],
"desc": "Kikapcsolási időzítő <perc>"
},
"MotionSensitivity": {
"text2": [
"Mozgás",
"érzékenység"
],
"desc": "Mozgás érzékenység beállítása (0=kikapcsolva 1=legkevésbé érzékeny 9=legérzékenyebb)"
},
"TemperatureUnit": {
"text2": [
"Hőmérséklet",
"mértékegysége"
],
"desc": "Hőmérséklet mértékegysége (C=Celsius F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": [
"Részletes",
"készenlét"
],
"desc": "Részletes információk megjelenítése kisebb betűméretben a készenléti képernyőn"
},
"DisplayRotation": {
"text2": [
"Kijelző",
"tájolása"
],
"desc": "Kijelző tájolása (A=automatikus B=balkezes J=jobbkezes)"
},
"BoostTemperature": {
"text2": [
"Boost",
"hőmérs."
],
"desc": "Hőmérséklet \"boost\" módban"
},
"AutoStart": {
"text2": [
"Automatikus",
"indítás"
],
"desc": "Bekapcsolás után automatikusan lépjen forrasztás módba (F=forrasztás S=szobahőmérséklet Z=alvó mód K=ki)"
},
"CooldownBlink": {
"text2": [
"Villogás",
"hűléskor"
],
"desc": "Villogjon a hőmérséklet hűlés közben, amíg a páka forró"
},
"TemperatureCalibration": {
"text2": [
"Hőmérséklet",
"kalibrálása?"
],
"desc": "Páka hőmérséklet-érzékelőjének kalibrálása"
},
"SettingsReset": {
"text2": [
"Gyári",
"beállítások?"
],
"desc": "Beállítások alaphelyzetbe állítása"
},
"VoltageCalibration": {
"text2": [
"Bemeneti fesz.",
"kalibrálása?"
],
"desc": "Bemeneti feszültség kalibrálása (röviden megnyomva módosítás, hosszan megnyomva kilépés)"
},
"AdvancedSoldering": {
"text2": [
"Részletes",
"forr.kép"
],
"desc": "Részletes információk megjelenítése forrasztás közben"
},
"ScrollingSpeed": {
"text2": [
"Görgetés",
"sebessége"
],
"desc": "Szöveggörgetés sebessége"
},
"QCMaxVoltage": {
"text2": [
"Max. USB",
"fesz."
],
"desc": "Maximális USB feszültség (QuickCharge)"
},
"PowerLimit": {
"text2": [
"Teljesítm.",
"maximum"
],
"desc": "Maximális felvett teljesitmény beállitása"
},
"ReverseButtonTempChange": {
"text2": [
"+/- gomb",
"fordítva"
],
"desc": "Páka hőmérséklet növelés/csökkentés gombok felcserélése"
},
"TempChangeShortStep": {
"text2": [
"Hőm.váltás",
"rövid"
],
"desc": "Hőmérséklet váltás rövid gombnyomásra <C/F>"
},
"TempChangeLongStep": {
"text2": [
"Hőm.váltás",
"hosszú"
],
"desc": "Hőmérséklet váltás hosszú gombnyomásra <C/F>"
},
"PowerPulsePower": {
"text2": [
"Ébrentartó",
"pulzus W"
],
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok nagysága <W>"
},
"HallEffSensitivity": {
"text2": [
"Alvásérzékelő",
"érzékenység"
],
"desc": "Alvásérzékelő gyorsulásmérő érzékenysége (0=ki A=alacsony K=közepes M=magas)"
},
"LockingMode": {
"text2": [
"Lezárás",
"enged."
],
"desc": "Forrasztás közben mindkét gombot hosszan lenyomva rögzíti a hőmérsékletet (K=ki B=csak \"boost\" mód T=teljes lezárás)"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" HU Magyar"
],
"desc": ""
}
}
"languageCode": "HU",
"languageLocalName": "Magyar",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibráció befejezve!",
"SettingsCalibrationWarning": "Folytatás előtt győződjön meg róla, hogy a páka szobahőmérsékletű!",
"SettingsResetWarning": "Biztosan visszaállítja a beállításokat az alapértelmezett értékekre?",
"UVLOWarningString": "DC KEVÉS",
"UndervoltageString": "Alulfeszültség",
"InputVoltageString": "Bemenet V: ",
"WarningTipTempString": "Hegy hő: ",
"BadTipString": "PÁKAHIBA",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Alvás...",
"WarningSimpleString": "FORRÓ!",
"WarningAdvancedString": "!! FORRÓ PÁKA !!",
"SleepingTipAdvancedString": "Páka:",
"IdleTipString": "Páka:",
"IdleSetString": " Cél:",
"TipDisconnectedString": "PÁKA LEVÉVE",
"SolderingAdvancedPowerPrompt": "Telj: ",
"OffString": "Ki",
"YourGainMessage": "Erősítés:"
},
"messagesWarn": {
"ResetOKMessage": ["Törlés OK", ""],
"SettingsResetMessage": ["Beállítások", "törölve!"],
"NoAccelerometerMessage": ["Nincs", "gyorsulásmérő!"],
"NoPowerDeliveryMessage": ["Nincs USB-PD IC!", ""],
"LockingKeysString": "LEZÁRVA",
"UnlockingKeysString": "FELOLDVA",
"WarningKeysLockedString": "!LEZÁRVA!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "J",
"SettingLeftChar": "B",
"SettingAutoChar": "A",
"SettingOffChar": "0",
"SettingSlowChar": "L",
"SettingMediumChar": "K",
"SettingFastChar": "G",
"SettingStartNoneChar": "K",
"SettingStartSolderingChar": "F",
"SettingStartSleepChar": "A",
"SettingStartSleepOffChar": "S",
"SettingSensitivityOff": "0",
"SettingSensitivityLow": "A",
"SettingSensitivityMedium": "K",
"SettingSensitivityHigh": "M",
"SettingLockDisableChar": "K",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "T",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Táp", "beállítások"],
"desc": "Táp beállítások"
},
"SolderingMenu": {
"text2": ["Forrasztási", "beállítások"],
"desc": "Forrasztási beállítások"
},
"PowerSavingMenu": {
"text2": ["Alvási", "módok"],
"desc": "Energiatakarékossági beállítások"
},
"UIMenu": {
"text2": ["Felhasználói", "felület"],
"desc": "Felhasználói felület beállításai"
},
"AdvancedMenu": {
"text2": ["Haladó", "beállítások"],
"desc": "Haladó beállítások"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Áram", "forrás"],
"desc": "Kikapcsolási feszültség beállítása (DC:10V | S:3.3V/LiPo cella)"
},
"SleepTemperature": {
"text2": ["Alvási", "hőmérséklet"],
"desc": "Hőmérséklet alvó módban (C | F)"
},
"SleepTimeout": {
"text2": ["Alvás", "időzítő"],
"desc": "Alvási időzítő (perc | másodperc)"
},
"ShutdownTimeout": {
"text2": ["Kikapcsolás", "időzítő"],
"desc": "Kikapcsolási időzítő (perc)"
},
"MotionSensitivity": {
"text2": ["Mozgás", "érzékenység"],
"desc": "Mozgás érzékenység beállítása (0=kikapcsolva | 1=legkevésbé érzékeny | ... | 9=legérzékenyebb)"
},
"TemperatureUnit": {
"text2": ["Hőmérséklet", "mértékegysége"],
"desc": "Hőmérséklet mértékegysége (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Részletes", "készenlét"],
"desc": "Részletes információk megjelenítése kisebb betűméretben a készenléti képernyőn"
},
"DisplayRotation": {
"text2": ["Kijelző", "tájolása"],
"desc": "Kijelző tájolása (J=jobbkezes | B=balkezes | A=automatikus)"
},
"BoostTemperature": {
"text2": ["Boost", "hőmérséklet"],
"desc": "Hőmérséklet \"boost\" módban"
},
"AutoStart": {
"text2": ["Automatikus", "indítás"],
"desc": "Bekapcsolás után automatikusan lépjen forrasztás módba (K=ki | F=forrasztás | A=alvó mód | S=szobahőmérséklet)"
},
"CooldownBlink": {
"text2": ["Villogás", "hűléskor"],
"desc": "Villogjon a hőmérséklet hűlés közben, amíg a páka forró"
},
"TemperatureCalibration": {
"text2": ["Hőmérséklet", "kalibrálása?"],
"desc": "Páka hőmérséklet-érzékelőjének kalibrálása"
},
"SettingsReset": {
"text2": ["Gyári", "beállítások?"],
"desc": "Beállítások alaphelyzetbe állítása"
},
"VoltageCalibration": {
"text2": ["Bemeneti fesz.", "kalibrálása?"],
"desc": "Bemeneti feszültség kalibrálása (röviden megnyomva módosítás, hosszan megnyomva kilépés)"
},
"AdvancedSoldering": {
"text2": ["Részletes", "forrasztás"],
"desc": "Részletes információk megjelenítése forrasztás közben"
},
"ScrollingSpeed": {
"text2": ["Görgetés", "sebessége"],
"desc": "Szöveggörgetés sebessége"
},
"QCMaxVoltage": {
"text2": ["Max. USB", "feszültség"],
"desc": "Maximális USB feszültség (QuickCharge)"
},
"PDNegTimeout": {
"text2": ["PD", "időtúllépés"],
"desc": "PD egyeztetési leidőzítés 100ms lépésekben megadva néhány QC töltővel való kompatibilitás érdekében (0: kikapcsolva)"
},
"PowerLimit": {
"text2": ["Teljesítmény", "maximum"],
"desc": "Maximális felvett teljesitmény beállitása"
},
"ReverseButtonTempChange": {
"text2": ["+/- gomb", "fordítva"],
"desc": "Páka hőmérséklet növelés/csökkentés gombok felcserélése"
},
"TempChangeShortStep": {
"text2": ["Hőm. váltás", "rövid"],
"desc": "Hőmérséklet váltás rövid gombnyomásra (C | F)"
},
"TempChangeLongStep": {
"text2": ["Hőm. váltás", "hosszú"],
"desc": "Hőmérséklet váltás hosszú gombnyomásra (C | F)"
},
"PowerPulsePower": {
"text2": ["Ébr. pulzus", "nagysága"],
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok nagysága (W)"
},
"HallEffSensitivity": {
"text2": ["Alvásérzékelő", "érzékenység"],
"desc": "Alvásérzékelő gyorsulásmérő érzékenysége (0=ki | A=alacsony | K=közepes | M=magas)"
},
"LockingMode": {
"text2": ["Lezárás", "engedélyezés"],
"desc": "Forrasztás közben mindkét gombot hosszan lenyomva rögzíti a hőmérsékletet (K=ki | B=csak \"boost\" mód | T=teljes lezárás)"
},
"MinVolCell": {
"text2": ["Minimum", "feszültség"],
"desc": "Minimális engedélyezett cellafeszültség (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Folytonos", "animáció"],
"desc": "Főmenü ikonjainak folytonos animációja"
},
"AnimSpeed": {
"text2": ["Animáció", "sebessége"],
"desc": "Menüikonok animációjának sebessége (0=ki | L=lassú | K=közepes | G=gyors)"
},
"PowerPulseWait": {
"text2": ["Ébr. pulzus", "időköze"],
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok időköze (x2.5s)"
},
"PowerPulseDuration": {
"text2": ["Ébr. pulzus", "időtartama"],
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok időtartama (x250ms)"
},
"LanguageSwitch": {
"text2": ["Nyelv:", " HU Magyar"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -6,25 +6,19 @@
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibrazione effettuata",
"SettingsCalibrationWarning": "Assicurati che la punta si trovi a temperatura ambiente prima di continuare!",
"SettingsCalibrationWarning": "Assicurarsi che la punta si trovi a temperatura ambiente prima di continuare!",
"SettingsResetWarning": "Ripristinare le impostazioni iniziali?",
"UVLOWarningString": "DC BASSA",
"UndervoltageString": "DC INSUFFICIENTE",
"InputVoltageString": "V ingresso:",
"WarningTipTempString": "Temp punta:",
"BadTipString": "PUNTA KO",
"InputVoltageString": "V in:",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Riposo",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "PUNTA CALDA!",
"SleepingTipAdvancedString": "Punta:",
"IdleTipString": "T punta:",
"IdleSetString": "/",
"TipDisconnectedString": "PUNTA ASSENTE",
"SolderingAdvancedPowerPrompt": "Potenz:",
"OffString": "OFF",
"YourGainMessage": "Guad.: "
"OffString": "OFF"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
@@ -37,25 +31,29 @@
"non rilevato"
],
"NoPowerDeliveryMessage": [
"USB-PD non",
"disponibile"
"USB PD",
"non rilevato"
],
"LockingKeysString": "Blocc.",
"UnlockingKeysString": "Sblocc.",
"WarningKeysLockedString": "BLOCCATO"
"WarningKeysLockedString": "BLOCCATO",
"WarningThermalRunaway": [
"Temperatura",
"fuori controllo"
]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "S",
"SettingAutoChar": "A",
"SettingFastChar": "V",
"SettingOffChar": "O",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingFastChar": "V",
"SettingStartNoneChar": "D",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "A",
"SettingStartNoneChar": "D",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "B",
"SettingSensitivityMedium": "M",
@@ -63,7 +61,7 @@
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "C",
"SettingNAChar": "NA"
"SettingNAChar": " NA"
},
"menuGroups": {
"PowerMenu": {
@@ -155,9 +153,9 @@
"DisplayRotation": {
"text2": [
"Orientamento",
"display"
"schermo"
],
"desc": "Imposta l'orientamento del display [A: automatico; S: mano sinistra; D: mano destra]"
"desc": "Imposta l'orientamento dello schermo [D: mano destra; S: mano sinistra; A: automatico]"
},
"BoostTemperature": {
"text2": [
@@ -192,7 +190,7 @@
"Ripristino",
"impostazioni"
],
"desc": "Ripristina tutte le impostazioni"
"desc": "Ripristina le impostazioni allo stato iniziale"
},
"VoltageCalibration": {
"text2": [
@@ -218,9 +216,16 @@
"QCMaxVoltage": {
"text2": [
"Voltaggio",
"Quick Charge"
"QC"
],
"desc": "Imposta il massimo voltaggio negoziabile con un alimentatore Quick Charge"
"desc": "Imposta il massimo voltaggio negoziabile con un alimentatore Quick Charge [volt]"
},
"PDNegTimeout": {
"text2": [
"Abilitazione",
"USB PD"
],
"desc": "Regola il massimo tempo utile per la negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]"
},
"PowerLimit": {
"text2": [
@@ -241,14 +246,14 @@
"Temp passo",
"breve"
],
"desc": "Imposta il \"passo\" dei valori di temperatura per una breve pressione dei tasti"
"desc": "Imposta il passo dei valori di temperatura per una breve pressione dei tasti"
},
"TempChangeLongStep": {
"text2": [
"Temp passo",
"lungo"
],
"desc": "Imposta il \"passo\" dei valori di temperatura per una lunga pressione dei tasti"
"desc": "Imposta il passo dei valori di temperatura per una lunga pressione dei tasti"
},
"PowerPulsePower": {
"text2": [
@@ -259,7 +264,7 @@
},
"HallEffSensitivity": {
"text2": [
"Effetto",
"Sensore",
"Hall"
],
"desc": "Regola la sensibilità alla rilevazione di supporti metallici per entrare in modalità Riposo [O: OFF; B: bassa; M: media; A: alta]"
@@ -269,14 +274,14 @@
"Blocco",
"tasti"
],
"desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare o sbloccare [D: disattiva; T: blocca Turbo; C: blocco completo]"
"desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare o sbloccare [D: disattiva; T: consenti Turbo; C: blocco completo]"
},
"MinVolCell": {
"text2": [
"Tensione",
"min celle"
],
"desc": "Modifica il valore di tensione minima \"di scaricamento\" per le celle di una batteria Li-Po [3S: 3,0-3,7 V; 4S/5S/6S: 2,4-3,7 V]"
"desc": "Modifica la tensione di minima carica delle celle di una batteria Li-Po [3S: 3,0-3,7 V; 4S/5S/6S: 2,4-3,7 V]"
},
"AnimLoop": {
"text2": [
@@ -308,10 +313,24 @@
},
"LanguageSwitch": {
"text2": [
"Language:",
" IT Italiano"
"Lingua:",
" IT Italiano"
],
"desc": ""
"desc": "Imposta la lingua del dispositivo"
},
"Brightness": {
"text2": [
"Luminosità",
"schermo"
],
"desc": "Regola la luminosità dello schermo [1: minimo; 10: massimo]"
},
"ColourInversion": {
"text2": [
"Inverti",
"colori"
],
"desc": "Inverti i colori dello schermo"
}
}
}

422
Translations/translation_JA_JP.json Normal file → Executable file
View File

@@ -1,210 +1,214 @@
{
"languageCode": "JA_JP",
"languageLocalName": "日本語",
"fonts": [
"ascii_basic",
"cjk"
],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "校正完了",
"SettingsCalibrationWarning": "続行する前に、コテが室温になっていることを確認してください",
"SettingsResetWarning": "設定をリセットしますか?",
"UVLOWarningString": "電圧が低すぎます",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "!!! HOT TIP !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "オフ",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "リセットOK",
"SettingsResetMessage": "初期化されました",
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": "ボタンロック",
"UnlockingKeysString": "ロックを解除",
"WarningKeysLockedString": "!入力ロック中!"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "",
"SettingAutoChar": "",
"SettingFastChar": "",
"SettingSlowChar": "",
"SettingMediumChar": "中",
"SettingOffChar": "X",
"SettingStartSolderingChar": "",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "",
"SettingStartNoneChar": "X",
"SettingSensitivityOff": "X",
"SettingSensitivityLow": "低",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "",
"SettingLockDisableChar": "X",
"SettingLockBoostChar": "ブ",
"SettingLockFullChar": "全",
"SettingNAChar": "非適用"
},
"menuGroups": {
"PowerMenu": {
"text2": "電源設定",
"desc": "電源設定"
},
"SolderingMenu": {
"text2": "半田付け設定",
"desc": "はんだ付け設定"
},
"PowerSavingMenu": {
"text2": "待機設定",
"desc": "待機設定"
},
"UIMenu": {
"text2": "UI設定",
"desc": "ユーザーインターフェイスの設定"
},
"AdvancedMenu": {
"text2": "高度な設定",
"desc": "高度な設定"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "電源",
"desc": "電源設定。下限電圧を指定します。 <DC=10V> <S=セルあたり3.3V、電力制限は無効化されます>"
},
"SleepTemperature": {
"text2": "待機温度",
"desc": "スタンバイ時のコテ先温度"
},
"SleepTimeout": {
"text2": "待機遅延",
"desc": "スタンバイモードに入るまでの待機時間 <S=秒 | M=分>"
},
"ShutdownTimeout": {
"text2": "自動オフ",
"desc": "自動電源オフするまでの待機時間 <M=分>"
},
"MotionSensitivity": {
"text2": "動きの感度",
"desc": "0=オフ | 1=最低感度 | ... | 9=最高感度"
},
"TemperatureUnit": {
"text2": "温度単位",
"desc": "C=摂氏度 | F=華氏度"
},
"AdvancedIdle": {
"text2": "詳細な待受画面",
"desc": "待ち受け画面に小さな英語のテキストで詳細情報を表示する"
},
"DisplayRotation": {
"text2": "画面の向き",
"desc": "自=自動 | 左=左利き | 右=右利き"
},
"BoostTemperature": {
"text2": "ブースト温度",
"desc": "ブーストモードで使用される温度"
},
"AutoStart": {
"text2": "自動起動",
"desc": "電源投入時に自動的に起動します <X=オフ | 熱=はんだ加熱モード | 待=スタンバイモード | 室=室温スタンバイモード>"
},
"CooldownBlink": {
"text2": "冷却中に点滅",
"desc": "加熱を停止した後、コテ先がまだ熱い間は温度テキストを点滅させます"
},
"TemperatureCalibration": {
"text2": "温度を校正する?",
"desc": "コテ先の温度の校正を開始します"
},
"SettingsReset": {
"text2": "設定をリセット?",
"desc": "すべての設定をデフォルトに初期化します"
},
"VoltageCalibration": {
"text2": "電圧を校正する?",
"desc": "入力電圧VINの校正を開始します <長押しして終了します>"
},
"AdvancedSoldering": {
"text2": "詳細な作業画面",
"desc": "はんだ付け画面に小さな英語のテキストで詳細情報を表示する"
},
"ScrollingSpeed": {
"text2": "スクロール速度",
"desc": "説明テキストがスクロールする速度 <遅=遅い | 早=早い>"
},
"QCMaxVoltage": {
"text2": "QC電圧",
"desc": "QC電源使用時に要求する目標電圧"
},
"PowerLimit": {
"text2": "電力制限",
"desc": "はんだ付てが使用できる最大電力を制限する <W=ワット>"
},
"ReverseButtonTempChange": {
"text2": "キーを交換する",
"desc": "温度設定時に+ボタンと-ボタンの機能を逆にする"
},
"TempChangeShortStep": {
"text2": "温度変化 ",
"desc": "ボタンを短く押した際の温度変化値"
},
"TempChangeLongStep": {
"text2": "温度変化 長",
"desc": "ボタンを長押しした際の温度変化値"
},
"PowerPulsePower": {
"text2": "電力パルス",
"desc": "電源供給元をオンに保つための電力パルス <ワット>"
},
"HallEffSensitivity": {
"text2": "磁界感度",
"desc": "スタンバイモードに入るのに使用される磁場センサーの感度 <X=オフ | 低=最低感度 | 中=中程度の感度 | 高=最高感度>"
},
"LockingMode": {
"text2": "ボタンロック",
"desc": "はんだ付けモードの場合、2つのボタンを長押ししてボタンロックをオンにします <X=オフ | ブ=ブーストのみ許可 | 全=すべてをロック>"
},
"MinVolCell": {
"text2": "最低電圧",
"desc": "セルあたりの最低電圧 <ボルト> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "動画をループ",
"desc": "メニューアイコンをループする"
},
"AnimSpeed": {
"text2": "動画の速度",
"desc": "メニューアイコンのアニメーションの再生速度 <X=アニメーションを再生しない | 遅=低速 | 中=中速 | 早=高速>"
},
"PowerPulseWait": {
"text2": "パルス間隔",
"desc": "電源供給元をオンに保つために使用される、電力パルスの時間間隔 <x2.5s秒)>"
},
"PowerPulseDuration": {
"text2": "パルス時間長",
"desc": "電源供給元をオンに保つために使用される、電力パルスの時間長 <x250msミリ秒>"
},
"LanguageSwitch": {
"text2": "言語: 日本語",
"desc": ""
}
}
}
"languageCode": "JA_JP",
"languageLocalName": "日本語",
"fonts": ["ascii_basic", "cjk"],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "校正完了",
"SettingsCalibrationWarning": "続行する前に、コテ先が室温と同じになっていることを確認してください",
"SettingsResetWarning": "設定をリセットしますか?",
"UVLOWarningString": "DC電圧が低すぎます",
"UndervoltageString": "電圧不足",
"InputVoltageString": "入力電圧 V: ",
"WarningTipTempString": "コテ先温度: ",
"BadTipString": "コテ先エラー",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "スリープ中...",
"WarningSimpleString": "高温注意!",
"WarningAdvancedString": "!!! コテ先高温 !!!",
"SleepingTipAdvancedString": "コテ先:",
"IdleTipString": "コテ先:",
"IdleSetString": " 設定:",
"TipDisconnectedString": "コテ先が接続されていません",
"SolderingAdvancedPowerPrompt": "電源: ",
"OffString": "オフ",
"YourGainMessage": "ゲイン:"
},
"messagesWarn": {
"ResetOKMessage": "リセットOK",
"SettingsResetMessage": "初期化されました",
"NoAccelerometerMessage": "加速度計未検出",
"NoPowerDeliveryMessage": "PD IC未検出",
"LockingKeysString": "ボタンロック",
"UnlockingKeysString": "ロックを解除",
"WarningKeysLockedString": "!入力ロック中!",
"WarningThermalRunaway": "過熱"
},
"characters": {
"SettingRightChar": "右",
"SettingLeftChar": "左",
"SettingAutoChar": "自",
"SettingOffChar": "×",
"SettingSlowChar": "",
"SettingMediumChar": "中",
"SettingFastChar": "速",
"SettingStartNoneChar": "×",
"SettingStartSolderingChar": "",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "",
"SettingSensitivityOff": "×",
"SettingSensitivityLow": "",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "",
"SettingLockDisableChar": "×",
"SettingLockBoostChar": "",
"SettingLockFullChar": "",
"SettingNAChar": "非適用"
},
"menuGroups": {
"PowerMenu": {
"text2": "電源設定",
"desc": "電源設定"
},
"SolderingMenu": {
"text2": "半田付け設定",
"desc": "半田付け設定"
},
"PowerSavingMenu": {
"text2": "待機設定",
"desc": "待機設定"
},
"UIMenu": {
"text2": "UI設定",
"desc": "ユーザーインターフェイスの設定"
},
"AdvancedMenu": {
"text2": "高度な設定",
"desc": "高度な設定"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "下限電圧",
"desc": "下限電圧を指定する <DC=10V | S=セルあたり3.3V、電力制限を無効化>"
},
"SleepTemperature": {
"text2": "待機温度",
"desc": "スタンバイ時のコテ先温度"
},
"SleepTimeout": {
"text2": "待機遅延",
"desc": "スタンバイモードに入るまでの待機時間 <S=秒 | M=分>"
},
"ShutdownTimeout": {
"text2": "自動オフ",
"desc": "自動電源オフまでの待機時間 <M=分>"
},
"MotionSensitivity": {
"text2": "動きの感度",
"desc": "0=オフ | 1=最低感度 | ... | 9=最高感度"
},
"TemperatureUnit": {
"text2": "温度単位",
"desc": "C=摂氏 | F=華氏"
},
"AdvancedIdle": {
"text2": "詳細な待受画面",
"desc": "待ち受け画面に詳細情報を表示する"
},
"DisplayRotation": {
"text2": "画面の向き",
"desc": "右=右利き | 左=左利き | 自=自動"
},
"BoostTemperature": {
"text2": "ブースト温度",
"desc": "ブーストモードで使用される温度"
},
"AutoStart": {
"text2": "自動加熱",
"desc": "電源投入時に自動的に加熱する <×=オフ | 熱=半田付けモード | 待=スタンバイモード | 室=室温スタンバイモード>"
},
"CooldownBlink": {
"text2": "冷却中に点滅",
"desc": "加熱の停止後、コテ先が熱い間は温度表示を点滅する"
},
"TemperatureCalibration": {
"text2": "温度校正",
"desc": "コテ先の温度校正を開始する"
},
"SettingsReset": {
"text2": "設定をリセット",
"desc": "すべての設定を初期化する"
},
"VoltageCalibration": {
"text2": "電圧校正",
"desc": "入力電圧(VIN)の校正を開始する <長押しで終了>"
},
"AdvancedSoldering": {
"text2": "詳細な作業画面",
"desc": "半田付け画面に詳細情報を表示する"
},
"ScrollingSpeed": {
"text2": "スクロール速度",
"desc": "テキストをスクロールする速さ <遅=遅い | 速=速い>"
},
"QCMaxVoltage": {
"text2": "QC電圧",
"desc": "QC電源使用時に要求する目標電圧"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "一部のQC電源との互換性のため、PDネゴシエーションをタイムアウトする時間 <x100msミリ秒>"
},
"PowerLimit": {
"text2": "電力制限",
"desc": "最大電力を制限する <W=ワット>"
},
"ReverseButtonTempChange": {
"text2": "キー入れ替え",
"desc": "温度設定時に+ボタンと-ボタンを入れ替える"
},
"TempChangeShortStep": {
"text2": "温度変化 短",
"desc": "ボタンを短く押した時の温度変化値"
},
"TempChangeLongStep": {
"text2": "温度変化 ",
"desc": "ボタンを長押しした時の温度変化値"
},
"PowerPulsePower": {
"text2": "電力パルス",
"desc": "電源をオンに保つための電力パルス <ワット>"
},
"HallEffSensitivity": {
"text2": "磁界感度",
"desc": "スタンバイモードに入るのに使用される磁場センサーの感度 <×=オフ | 低=最低感度 | 中=中程度の感度 | 高=最高感度>"
},
"LockingMode": {
"text2": "ボタンロック",
"desc": "半田付けモード時に両方のボタンを長押しし、ボタンロックする <×=オフ | ブ=ブーストのみ許可 | 全=すべてをロック>"
},
"MinVolCell": {
"text2": "最低電圧",
"desc": "セルあたりの最低電圧 <ボルト> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "動画をループ",
"desc": "メニューアイコンのアニメーションをループする"
},
"AnimSpeed": {
"text2": "動画の速度",
"desc": "メニューアイコンのアニメーションの速さ <×=再生しない | 遅=低速 | 中=中速 | 速=高速>"
},
"PowerPulseWait": {
"text2": "パルス間隔",
"desc": "電源をオンに保つための電力パルスの時間間隔 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "パルス時間長",
"desc": "電源をオンに保つため電力パルスの時間 <x250msミリ秒)>"
},
"LanguageSwitch": {
"text2": "言語: 日本語",
"desc": ""
},
"Brightness": {
"text2": "画面輝度",
"desc": "画面の明るさ・コントラストを変更する"
},
"ColourInversion": {
"text2": "色反転",
"desc": "画面の色を反転する"
}
}
}

View File

@@ -1,320 +1,213 @@
{
"languageCode": "LT",
"languageLocalName": "Lietuvių",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibravimas atliktas!",
"SettingsCalibrationWarning": "Prieš tęsdami įsitikinkite, kad antgalis yra kambario temperatūros!",
"SettingsResetWarning": "Ar norite atstatyti nustatymus į numatytas reikšmes?",
"UVLOWarningString": "MAŽ VOLT",
"UndervoltageString": "Žema įtampa",
"InputVoltageString": "Įvestis V: ",
"WarningTipTempString": "Angal Temp: ",
"BadTipString": "BLOG ANT",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Miegu...",
"WarningSimpleString": "KRŠ!",
"WarningAdvancedString": "ANTGALIS KARŠTAS",
"SleepingTipAdvancedString": "Antg: ",
"IdleTipString": "Ant:",
"IdleSetString": " Nust:",
"TipDisconnectedString": "NĖRA ANTGALIO",
"SolderingAdvancedPowerPrompt": "Galia: ",
"OffString": "Išj",
"YourGainMessage": "Greitis:"
},
"messagesWarn": {
"ResetOKMessage": [
"Atstatytas OK",
""
],
"SettingsResetMessage": [
"Nust. atstatyti!",
""
],
"NoAccelerometerMessage": [
"Nerastas",
"akselerometras!"
],
"NoPowerDeliveryMessage": [
"Nerastas",
"USB-PD IC !"
],
"LockingKeysString": " UŽRAKIN",
"UnlockingKeysString": "ATRAKIN",
"WarningKeysLockedString": "!UŽRAK!"
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "K",
"SettingAutoChar": "A",
"SettingFastChar": "G",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "I",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "M",
"SettingStartSleepOffChar": "K",
"SettingStartNoneChar": "N",
"SettingSensitivityOff": "I",
"SettingSensitivityLow": "Ž",
"SettingSensitivityMedium": "V",
"SettingSensitivityHigh": "A",
"SettingLockDisableChar": "I",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "V",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Litavimo",
"nustatymai"
],
"desc": "Litavimo nustatymai"
},
"PowerSavingMenu": {
"text2": [
"Miego",
"režimai"
],
"desc": "Energijos tausojimo nustatymai"
},
"UIMenu": {
"text2": [
"Naudotojo",
"sąsaja"
],
"desc": "Naudotojo sąsajos nustatymai"
},
"AdvancedMenu": {
"text2": [
"Išplėsti.",
"nustatymai"
],
"desc": "Išplėstiniai nustatymai"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Maitinimo",
"šaltinis"
],
"desc": "Išjungimo įtampa. <DC 10V> arba celių (S) kiekis (3.3V per celę)>"
},
"SleepTemperature": {
"text2": [
"Miego",
"temperat."
],
"desc": "Miego temperatūra"
},
"SleepTimeout": {
"text2": [
"Miego",
"laikas"
],
"desc": "Užmigimo laikas <sekundės/minutės>"
},
"ShutdownTimeout": {
"text2": [
"Išjungimo",
"laikas"
],
"desc": "Išjungimo laikas <minutės>"
},
"MotionSensitivity": {
"text2": [
"Judesio",
"jautrumas"
],
"desc": "Judesio jautrumas <0=Išjungta, 1=Mažiausias, 9=Didžiausias>"
},
"TemperatureUnit": {
"text2": [
"Temperatūros",
"vienetai"
],
"desc": "Temperatūros vienetai <C=Celsijus, F=Farenheitas>"
},
"AdvancedIdle": {
"text2": [
"Detalus lau-",
"kimo ekranas"
],
"desc": "Ar rodyti papildomą informaciją mažesniu šriftu laukimo ekrane"
},
"DisplayRotation": {
"text2": [
"Ekrano",
"orientacija"
],
"desc": "Ekrano orientacija <A=Automatinė, K=Kairiarankiams, D=Dešiniarankiams>"
},
"BoostTemperature": {
"text2": [
"Turbo",
"temperat."
],
"desc": "Temperatūra turbo režimu"
},
"AutoStart": {
"text2": [
"Auto",
"paleidimas"
],
"desc": "Ar pradėti kaitininti iš karto įjungus lituoklį <N=Ne, T=Taip, M=Miegas, K=Miegoti kambario temperatūroje>"
},
"CooldownBlink": {
"text2": [
"Atvėsimo",
"mirksėjimas"
],
"desc": "Ar mirksėti temperatūrą ekrane kol vėstantis antgalis vis dar karštas"
},
"TemperatureCalibration": {
"text2": [
"Kalibruoti",
"temperatūrą?"
],
"desc": "Antgalio temperatūros kalibravimas"
},
"SettingsReset": {
"text2": [
"Atstatyti",
"nustatymus?"
],
"desc": "Nustatyti nustatymus iš naujo"
},
"VoltageCalibration": {
"text2": [
"Kalibruoti",
"įvesties įtampą?"
],
"desc": "Įvesties įtampos kalibravimas. Trumpai paspauskite, norėdami nustatyti, ilgai paspauskite, kad išeitumėte"
},
"AdvancedSoldering": {
"text2": [
"Detalus lita-",
"vimo ekranas"
],
"desc": "Ar rodyti išsamią informaciją lituojant"
},
"ScrollingSpeed": {
"text2": [
"Aprašymo",
"greitis"
],
"desc": "Greitis, kuriuo šis tekstas slenka"
},
"QCMaxVoltage": {
"text2": [
"QC mait.",
"įtampa"
],
"desc": "Maksimali QC maitinimo bloko įtampa"
},
"PowerLimit": {
"text2": [
"Galios",
"riba"
],
"desc": "Didžiausia galia, kurią gali naudoti lituoklis <Vatai>"
},
"ReverseButtonTempChange": {
"text2": [
"Sukeisti + -",
"mygtukus?"
],
"desc": "Sukeisti + - temperatūros keitimo mygtukus vietomis."
},
"TempChangeShortStep": {
"text2": [
"Temp.keitim.",
"trump.spust."
],
"desc": "Temperatūros keitimo žingsnis trumpai spustėlėjus mygtuką!"
},
"TempChangeLongStep": {
"text2": [
"Temp.keitim.",
"ilgas pasp."
],
"desc": "Temperatūros keitimo žingsnis ilgai paspaudus mygtuką!"
},
"PowerPulsePower": {
"text2": [
"Galios",
"Pulso W"
],
"desc": "Periodinis galios pulso intensyvumas maitinblokiui, neleidžiantis jam užmigti."
},
"HallEffSensitivity": {
"text2": [
"Holo",
"jutiklis"
],
"desc": "Holo jutiklio jautrumas nustatant miegą <I=Išjungtas, Ž=Žemas, V=Vidutinis, A=Aukštas>"
},
"LockingMode": {
"text2": [
"Mygtukų",
"užraktas"
],
"desc": "Lituodami, ilgai paspauskite abu mygtukus, kad juos užrakintumėte <I=Išjungta, T=Tik turbo režimas, V=Visiškas užrakinimas>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" LT Lietuvių"
],
"desc": ""
}
}
"languageCode": "LT",
"languageLocalName": "Lietuvių",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibravimas atliktas!",
"SettingsCalibrationWarning": "Prieš tęsdami įsitikinkite, kad antgalis yra kambario temperatūros!",
"SettingsResetWarning": "Ar norite atstatyti nustatymus į numatytas reikšmes?",
"UVLOWarningString": "MAŽ VOLT",
"UndervoltageString": "Žema įtampa",
"InputVoltageString": "Įvestis V: ",
"WarningTipTempString": "Angal Temp: ",
"BadTipString": "BLOG ANT",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Miegu...",
"WarningSimpleString": "KRŠ!",
"WarningAdvancedString": "ANTGALIS KARŠTAS",
"SleepingTipAdvancedString": "Antg: ",
"IdleTipString": "Ant:",
"IdleSetString": " Nust:",
"TipDisconnectedString": "NĖRA ANTGALIO",
"SolderingAdvancedPowerPrompt": "Galia: ",
"OffString": "Išj",
"YourGainMessage": "Greitis:"
},
"messagesWarn": {
"ResetOKMessage": "Atstatytas OK",
"SettingsResetMessage": ["Nust. atstatyti!", ""],
"NoAccelerometerMessage": ["Nerastas", "akselerometras!"],
"NoPowerDeliveryMessage": ["Nerastas", "USB-PD IC !"],
"LockingKeysString": " UŽRAKIN",
"UnlockingKeysString": "ATRAKIN",
"WarningKeysLockedString": "!UŽRAK!",
"WarningThermalRunaway": ["Perkaitimo", "pavojus"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "K",
"SettingAutoChar": "A",
"SettingOffChar": "I",
"SettingSlowChar": "L",
"SettingMediumChar": "V",
"SettingFastChar": "G",
"SettingStartNoneChar": "N",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "M",
"SettingStartSleepOffChar": "K",
"SettingSensitivityOff": "I",
"SettingSensitivityLow": "Ž",
"SettingSensitivityMedium": "V",
"SettingSensitivityHigh": "A",
"SettingLockDisableChar": "I",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "V",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Maitinimo", "nustatymai"],
"desc": "Su maitinblokiu susiję nustatymai"
},
"SolderingMenu": {
"text2": ["Litavimo", "nustatymai"],
"desc": "Litavimo nustatymai"
},
"PowerSavingMenu": {
"text2": ["Miego", "režimai"],
"desc": "Energijos tausojimo nustatymai"
},
"UIMenu": {
"text2": ["Naudotojo", "sąsaja"],
"desc": "Naudotojo sąsajos nustatymai"
},
"AdvancedMenu": {
"text2": ["Išplėsti.", "nustatymai"],
"desc": "Išplėstiniai nustatymai"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Maitinimo", "šaltinis"],
"desc": "Išjungimo įtampa. (DC 10V) (arba celių [S] kiekis [3.3V per celę])"
},
"SleepTemperature": {
"text2": ["Miego", "temperat."],
"desc": "Miego temperatūra"
},
"SleepTimeout": {
"text2": ["Miego", "laikas"],
"desc": "Užmigimo laikas (sekundės | minutės)"
},
"ShutdownTimeout": {
"text2": ["Išjungimo", "laikas"],
"desc": "Išjungimo laikas (minutės)"
},
"MotionSensitivity": {
"text2": ["Judesio", "jautrumas"],
"desc": "Judesio jautrumas (0=Išjungta | 1=Mažiausias | ... | 9=Didžiausias)"
},
"TemperatureUnit": {
"text2": ["Temperatūros", "vienetai"],
"desc": "Temperatūros vienetai (C=Celsijus | F=Farenheitas)"
},
"AdvancedIdle": {
"text2": ["Detalus lau-", "kimo ekranas"],
"desc": "Ar rodyti papildomą informaciją mažesniu šriftu laukimo ekrane"
},
"DisplayRotation": {
"text2": ["Ekrano", "orientacija"],
"desc": "Ekrano orientacija (D=Dešiniarankiams | K=Kairiarankiams | A=Automatinė)"
},
"BoostTemperature": {
"text2": ["Turbo", "temperat."],
"desc": "Temperatūra turbo režimu"
},
"AutoStart": {
"text2": ["Automatinis", "paleidimas"],
"desc": "Ar pradėti kaitininti iš karto įjungus lituoklį (N=Ne | T=Taip | M=Miegas | K=Miegoti kambario temperatūroje)"
},
"CooldownBlink": {
"text2": ["Atvėsimo", "mirksėjimas"],
"desc": "Ar mirksėti temperatūrą ekrane kol vėstantis antgalis vis dar karštas?"
},
"TemperatureCalibration": {
"text2": ["Kalibruoti", "temperatūrą?"],
"desc": "Antgalio temperatūros kalibravimas"
},
"SettingsReset": {
"text2": ["Atstatyti", "nustatymus?"],
"desc": "Nustato nustatymus į numatytuosius"
},
"VoltageCalibration": {
"text2": ["Kalibruoti", "įvesties įtampą?"],
"desc": "Įvesties įtampos kalibravimas. Trumpai paspauskite, norėdami nustatyti, ilgai paspauskite, kad išeitumėte."
},
"AdvancedSoldering": {
"text2": ["Detalus lita-", "vimo ekranas"],
"desc": "Ar rodyti išsamią informaciją lituojant"
},
"ScrollingSpeed": {
"text2": ["Aprašymo", "greitis"],
"desc": "Greitis, kuriuo šis tekstas slenka"
},
"QCMaxVoltage": {
"text2": ["QC mait.", "įtampa"],
"desc": "Maksimali QC maitinimo bloko įtampa"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Galios", "riba"],
"desc": "Didžiausia galia, kurią gali naudoti lituoklis (Vatai)"
},
"ReverseButtonTempChange": {
"text2": ["Sukeisti + -", "mygtukus?"],
"desc": "Sukeisti + - temperatūros keitimo mygtukus vietomis."
},
"TempChangeShortStep": {
"text2": ["Temp.keitim.", "trump.spust."],
"desc": "Temperatūros keitimo žingsnis trumpai spustėlėjus mygtuką!"
},
"TempChangeLongStep": {
"text2": ["Temp.keitim.", "ilgas pasp."],
"desc": "Temperatūros keitimo žingsnis ilgai paspaudus mygtuką!"
},
"PowerPulsePower": {
"text2": ["Galios", "pulso W"],
"desc": "Periodinis galios pulso intensyvumas maitinblokiui, neleidžiantis jam užmigti."
},
"HallEffSensitivity": {
"text2": ["Holo", "jutiklis"],
"desc": "Holo jutiklio jautrumas nustatant miegą (I=Išjungtas | Ž=Žemas | V=Vidutinis | A=Aukštas)"
},
"LockingMode": {
"text2": ["Mygtukų", "užraktas"],
"desc": "Lituodami, ilgai paspauskite abu mygtukus, kad juos užrakintumėte (I=Išjungta | T=leidžiamas tik Turbo režimas | V=Visiškas užrakinimas)"
},
"MinVolCell": {
"text2": ["Minimalus", "voltažas"],
"desc": "Minimalus voltažas, kuris yra leidžiamas kiekvienam baterijos elementui (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Animacijų", "pakartojimas"],
"desc": "Leidžia kartoti animacijas be sustojimo pagrindiniame meniu."
},
"AnimSpeed": {
"text2": ["Animacijų", "greitis"],
"desc": "Paveiksliukų animacijų greitis meniu punktuose (I=Išjungtas | L=Lėtas | V=Vidutinis | G=Greitas)"
},
"PowerPulseWait": {
"text2": ["Galios pulso", "dažnumas"],
"desc": "Pasikartojantis laiko intervalas (x 2.5s), ties kuriuo kartojamas galios pulsas maitinblokiui, neleidžiantis jam užmigti."
},
"PowerPulseDuration": {
"text2": ["Galios pulso", "trukmė"],
"desc": "Galios pulso aktyvioji trukmė (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Kalba:", " LT Lietuvių"],
"desc": ""
},
"Brightness": {
"text2": ["Ekrano", "šviesumas"],
"desc": "Nustato OLED ekrano kontrastą/šviesumą."
},
"ColourInversion": {
"text2": ["Ekrano", "invertavimas"],
"desc": "Invertuoja OLED ekrano spalvas."
}
}
}

View File

@@ -1,326 +1,213 @@
{
"languageCode": "NL",
"languageLocalName": "Nederlands",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibratie klaar!",
"SettingsCalibrationWarning": "Zorg ervoor dat te punt op kamertemperatuur is voor je verder gaat!",
"SettingsResetWarning": "Weet je zeker dat je de fabrieksinstellingen terug wil zetten?",
"UVLOWarningString": "DC Laag",
"UndervoltageString": "Onderspanning",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Punt temp: ",
"BadTipString": "DEFECTE PUNT",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Slaapstand...",
"WarningSimpleString": "HEET!",
"WarningAdvancedString": "!!! PUNT HOT !!!",
"SleepingTipAdvancedString": "Punt:",
"IdleTipString": "Punt:",
"IdleSetString": " Zet:",
"TipDisconnectedString": "PUNT LOSGEKOPPELT",
"SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit",
"YourGainMessage": "Niveau:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Instellingen",
"zijn gereset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": [
" GEBLOKKEERD",
""
],
"UnlockingKeysString": [
"GEDEBLOKKEERD",
""
],
"WarningKeysLockedString": [
"!GEBLOKKEERD!",
""
]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "F",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingLockDisableChar": "U",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Soldeer",
"Instellingen"
],
"desc": "Soldeer instellingen"
},
"PowerSavingMenu": {
"text2": [
"Slaap",
"Modes"
],
"desc": "Stroom besparings instellingen"
},
"UIMenu": {
"text2": [
"Gebruikers-",
"interface"
],
"desc": "Gebruikers-interface instellingen"
},
"AdvancedMenu": {
"text2": [
"Geavanceerde",
"Instellingen"
],
"desc": "Geavanceerde Instellingen"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Spannings-",
"bron"
],
"desc": "Spanningsbron. Stelt drempelspanning in. <DC 10V> <S 3.3V per cel>"
},
"SleepTemperature": {
"text2": [
"Slaap",
"temp"
],
"desc": "Temperatuur in slaapstand"
},
"SleepTimeout": {
"text2": [
"Slaap",
"time-out"
],
"desc": "Slaap time-out <Minuten/Seconden>"
},
"ShutdownTimeout": {
"text2": [
"Uitschakel",
"time-out"
],
"desc": "Automatisch afsluiten time-out <Minuten>"
},
"MotionSensitivity": {
"text2": [
"Bewegings-",
"gevoeligheid"
],
"desc": "Bewegingsgevoeligheid <0=uit 1=minst gevoelig 9=meest gevoelig>"
},
"TemperatureUnit": {
"text2": [
"Temperatuur",
"eenheid"
],
"desc": "Temperatuureenheid <C=Celsius F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Gedetailleerd",
"startscherm"
],
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het startscherm."
},
"DisplayRotation": {
"text2": [
"Scherm-",
"oriëntatie"
],
"desc": "Schermoriëntatie <A=Automatisch L=Linkshandig R=Rechtshandig>"
},
"BoostTemperature": {
"text2": [
"Boost",
"temp"
],
"desc": "Temperatuur in boostmode"
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Breng de soldeerbout direct op temperatuur bij het opstarten. <T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit>"
},
"CooldownBlink": {
"text2": [
"Afkoel",
"flikker"
],
"desc": "Temperatuur laten flikkeren in het hoofdmenu als de soldeerpunt aan het afkoelen is."
},
"TemperatureCalibration": {
"text2": [
"Calibreer",
"temperatuur?"
],
"desc": "Temperatuursafwijking van de soldeerpunt calibreren."
},
"SettingsReset": {
"text2": [
"Instellingen",
"resetten?"
],
"desc": "Alle instellingen terugzetten."
},
"VoltageCalibration": {
"text2": [
"Calibreer",
"input-voltage?"
],
"desc": "VIN Calibreren. <druk lang om te sluiten>."
},
"AdvancedSoldering": {
"text2": [
"Gedetailleerd",
"soldeerscherm"
],
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het soldeerscherm."
},
"ScrollingSpeed": {
"text2": [
"Scroll",
"snelheid"
],
"desc": "Snelheid waarmee de tekst scrolt."
},
"QCMaxVoltage": {
"text2": [
"Power",
"Wattage"
],
"desc": "Wattage van de gebruikte voeding"
},
"PowerLimit": {
"text2": [
"Vermogen",
"limiet"
],
"desc": "Maximaal vermogen <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Draai",
"+ - knoppen om"
],
"desc": "Keer de +- knoppen om de termperatuur van de punt te regelen om."
},
"TempChangeShortStep": {
"text2": [
"Temp veranderen",
"kort"
],
"desc": "Temperatuur verandering bij kort drukken"
},
"TempChangeLongStep": {
"text2": [
"Temp veranderen",
"lang"
],
"desc": "Temperatuur verandering bij lang drukken"
},
"PowerPulsePower": {
"text2": [
"Vermogen",
"Puls W"
],
"desc": "Vermogen van puls om soldeerbout aan te houden"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Blokkeer",
"knoppen"
],
"desc": "Tijdens solderen lang op beide knoppen drukken, blokkeert ze. <U=Uit, B=Alleen boost, V=Volledig blokkeren>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" NL Nederlands"
],
"desc": ""
}
}
"languageCode": "NL",
"languageLocalName": "Nederlands",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Calibratie klaar!",
"SettingsCalibrationWarning": "Zorg ervoor dat te punt op kamertemperatuur is voor je verder gaat!",
"SettingsResetWarning": "Weet je zeker dat je de fabrieksinstellingen terug wil zetten?",
"UVLOWarningString": "DC Laag",
"UndervoltageString": "Onderspanning",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Punt temp: ",
"BadTipString": "DEFECTE PUNT",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Slaapstand...",
"WarningSimpleString": "HEET!",
"WarningAdvancedString": "!!! PUNT HOT !!!",
"SleepingTipAdvancedString": "Punt:",
"IdleTipString": "Punt:",
"IdleSetString": " Zet:",
"TipDisconnectedString": "PUNT LOSGEKOPPELT",
"SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit",
"YourGainMessage": "Niveau:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Instellingen", "zijn gereset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " GEBLOKKEERD",
"UnlockingKeysString": "GEDEBLOKKEERD",
"WarningKeysLockedString": "!GEBLOKKEERD!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "F",
"SettingStartNoneChar": "F",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "K",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "U",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "V",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Soldeer", "Instellingen"],
"desc": "Soldeer instellingen"
},
"PowerSavingMenu": {
"text2": ["Slaap", "Modes"],
"desc": "Stroom besparings instellingen"
},
"UIMenu": {
"text2": ["Gebruikers-", "interface"],
"desc": "Gebruikers-interface instellingen"
},
"AdvancedMenu": {
"text2": ["Geavanceerde", "Instellingen"],
"desc": "Geavanceerde Instellingen"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Spannings-", "bron"],
"desc": "Spanningsbron. Stelt drempelspanning in. (DC 10V) (S 3.3V per cel)"
},
"SleepTemperature": {
"text2": ["Slaap", "temp"],
"desc": "Temperatuur in slaapstand"
},
"SleepTimeout": {
"text2": ["Slaap", "time-out"],
"desc": "Slaap time-out (Minuten | Seconden)"
},
"ShutdownTimeout": {
"text2": ["Uitschakel", "time-out"],
"desc": "Automatisch afsluiten time-out (Minuten)"
},
"MotionSensitivity": {
"text2": ["Bewegings-", "gevoeligheid"],
"desc": "Bewegingsgevoeligheid (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
},
"TemperatureUnit": {
"text2": ["Temperatuur", "eenheid"],
"desc": "Temperatuureenheid (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Gedetailleerd", "startscherm"],
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het startscherm."
},
"DisplayRotation": {
"text2": ["Scherm-", "oriëntatie"],
"desc": "Schermoriëntatie (R=Rechtshandig | L=Linkshandig | A=Automatisch)"
},
"BoostTemperature": {
"text2": ["Boost", "temp"],
"desc": "Temperatuur in boostmode"
},
"AutoStart": {
"text2": ["Auto", "start"],
"desc": "Breng de soldeerbout direct op temperatuur bij het opstarten. (F=Uit | T=Soldeertemperatuur | S=Slaapstand-temperatuur | K=Slaapstand kamertemperatuur)"
},
"CooldownBlink": {
"text2": ["Afkoel", "flikker"],
"desc": "Temperatuur laten flikkeren in het hoofdmenu als de soldeerpunt aan het afkoelen is."
},
"TemperatureCalibration": {
"text2": ["Calibreer", "temperatuur?"],
"desc": "Temperatuursafwijking van de soldeerpunt calibreren."
},
"SettingsReset": {
"text2": ["Instellingen", "resetten?"],
"desc": "Alle instellingen terugzetten."
},
"VoltageCalibration": {
"text2": ["Calibreer", "input-voltage?"],
"desc": "VIN Calibreren. (druk lang om te sluiten)."
},
"AdvancedSoldering": {
"text2": ["Gedetailleerd", "soldeerscherm"],
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het soldeerscherm."
},
"ScrollingSpeed": {
"text2": ["Scroll", "snelheid"],
"desc": "Snelheid waarmee de tekst scrolt."
},
"QCMaxVoltage": {
"text2": ["Power", "Wattage"],
"desc": "Wattage van de gebruikte voeding"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Vermogen", "limiet"],
"desc": "Maximaal vermogen (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Draai", "+ - knoppen om"],
"desc": "Keer de +- knoppen om de termperatuur van de punt te regelen om."
},
"TempChangeShortStep": {
"text2": ["Temp veranderen", "kort"],
"desc": "Temperatuur verandering bij kort drukken"
},
"TempChangeLongStep": {
"text2": ["Temp veranderen", "lang"],
"desc": "Temperatuur verandering bij lang drukken"
},
"PowerPulsePower": {
"text2": ["Vermogen", "Puls W"],
"desc": "Vermogen van puls om soldeerbout aan te houden"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Blokkeer", "knoppen"],
"desc": "Tijdens solderen lang op beide knoppen drukken, blokkeert ze. (U=Uit | B=Alleen boost | V=Volledig blokkeren)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Spraak :", " NL Nederlands"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "NL_BE",
"languageLocalName": "Vlaams",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Gecalibreerd!",
"SettingsCalibrationWarning": "Zorg vooraf dat de punt op kamertemperatuur is!",
"SettingsResetWarning": "Ben je zeker dat je alle standaardwaarden wil resetten?",
"UVLOWarningString": "Voedingsspanning LAAG",
"UndervoltageString": "Onderspanning",
"InputVoltageString": "Voedingsspanning: ",
"WarningTipTempString": "Punt Temp: ",
"BadTipString": "DEFECT",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Slaapstand...",
"WarningSimpleString": "HEET",
"WarningAdvancedString": "!!! PUNT HEET !!!",
"SleepingTipAdvancedString": "Punt:",
"IdleTipString": "Punt:",
"IdleSetString": "Stel in:",
"TipDisconnectedString": "Punt ONTKOPPELD",
"SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "S",
"SettingSlowChar": "T",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Soldeer",
"Instellingen"
],
"desc": "Soldeerinstellingen"
},
"PowerSavingMenu": {
"text2": [
"Slaap",
"standen"
],
"desc": "Batterijspaarstanden"
},
"UIMenu": {
"text2": [
"Gebruikers-",
"Interface"
],
"desc": "Gebruikersinterface Instellingen"
},
"AdvancedMenu": {
"text2": [
"Gevorderde",
"Instellingen"
],
"desc": "Gevorderde Instellingen"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Spannings-",
"bron"
],
"desc": "Spanningsbron. Stelt minimumspanning in. <DC 10V> <S 3.3V per cel>"
},
"SleepTemperature": {
"text2": [
"Slaap",
"temp"
],
"desc": "Temperatuur in slaapstand <°C>"
},
"SleepTimeout": {
"text2": [
"Slaap",
"time-out"
],
"desc": "Slaapstand time-out <Minuten/Seconden>"
},
"ShutdownTimeout": {
"text2": [
"Uitschakel",
"time-out"
],
"desc": "Automatisch afsluiten time-out <Minuten>"
},
"MotionSensitivity": {
"text2": [
"Bewegings-",
"gevoeligheid"
],
"desc": "Bewegingsgevoeligheid <0.uit 1.minst gevoelig 9.meest gevoelig>"
},
"TemperatureUnit": {
"text2": [
"Temperatuur",
"schaal"
],
"desc": "Temperatuurschaal <°C=Celsius °F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Gedetailleerd",
"slaapscherm"
],
"desc": "Gedetailleerde informatie in een kleiner lettertype in het slaapscherm."
},
"DisplayRotation": {
"text2": [
"Scherm-",
"oriëntatie"
],
"desc": "Schermoriëntatie <A. Automatisch L. Linkshandig R. Rechtshandig>"
},
"BoostTemperature": {
"text2": [
"Verhogings",
"temp"
],
"desc": "Verhogingstemperatuur"
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Breng de soldeerbout op temperatuur bij het opstarten. T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit"
},
"CooldownBlink": {
"text2": [
"Afkoel",
"knipper"
],
"desc": "Temperatuur knippert in hoofdmenu tijdens afkoeling."
},
"TemperatureCalibration": {
"text2": [
"Calibreer",
"temperatuur?"
],
"desc": "Temperatuur van de punt calibreren."
},
"SettingsReset": {
"text2": [
"Instellingen",
"resetten?"
],
"desc": "Alle instellingen resetten."
},
"VoltageCalibration": {
"text2": [
"Calibreer",
"voedingsspanning?"
],
"desc": "VIN Calibreren. Bevestigen door knoppen lang in te drukken."
},
"AdvancedSoldering": {
"text2": [
"Gedetailleerd",
"soldeerscherm"
],
"desc": "Gedetailleerde informatie in kleiner lettertype in soldeerscherm."
},
"ScrollingSpeed": {
"text2": [
"Scrol",
"snelheid"
],
"desc": "Scrolsnelheid van de tekst."
},
"QCMaxVoltage": {
"text2": [
"Vermogen",
"Watt"
],
"desc": "Vermogen van de adapter"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" NL_BE Vlaams"
],
"desc": ""
}
}
"languageCode": "NL_BE",
"languageLocalName": "Vlaams",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Gecalibreerd!",
"SettingsCalibrationWarning": "Zorg vooraf dat de punt op kamertemperatuur is!",
"SettingsResetWarning": "Ben je zeker dat je alle standaardwaarden wil resetten?",
"UVLOWarningString": "Voedingsspanning LAAG",
"UndervoltageString": "Onderspanning",
"InputVoltageString": "Voedingsspanning: ",
"WarningTipTempString": "Punt Temp: ",
"BadTipString": "DEFECT",
"SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Slaapstand...",
"WarningSimpleString": "HEET",
"WarningAdvancedString": "!!! PUNT HEET !!!",
"SleepingTipAdvancedString": "Punt:",
"IdleTipString": "Punt:",
"IdleSetString": "Stel in:",
"TipDisconnectedString": "Punt ONTKOPPELD",
"SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "T",
"SettingMediumChar": "M",
"SettingFastChar": "S",
"SettingStartNoneChar": "F",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "K",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Soldeer", "Instellingen"],
"desc": "Soldeerinstellingen"
},
"PowerSavingMenu": {
"text2": ["Slaap", "standen"],
"desc": "Batterijspaarstanden"
},
"UIMenu": {
"text2": ["Gebruikers-", "Interface"],
"desc": "Gebruikersinterface Instellingen"
},
"AdvancedMenu": {
"text2": ["Gevorderde", "Instellingen"],
"desc": "Gevorderde Instellingen"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Spannings-", "bron"],
"desc": "Spanningsbron. Stelt minimumspanning in. (DC 10V) (S 3.3V per cel)"
},
"SleepTemperature": {
"text2": ["Slaap", "temp"],
"desc": "Temperatuur in slaapstand (°C)"
},
"SleepTimeout": {
"text2": ["Slaap", "time-out"],
"desc": "Slaapstand time-out (Minuten | Seconden)"
},
"ShutdownTimeout": {
"text2": ["Uitschakel", "time-out"],
"desc": "Automatisch afsluiten time-out (Minuten)"
},
"MotionSensitivity": {
"text2": ["Bewegings-", "gevoeligheid"],
"desc": "Bewegingsgevoeligheid (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
},
"TemperatureUnit": {
"text2": ["Temperatuur", "schaal"],
"desc": "Temperatuurschaal (°C=Celsius | °F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Gedetailleerd", "slaapscherm"],
"desc": "Gedetailleerde informatie in een kleiner lettertype in het slaapscherm."
},
"DisplayRotation": {
"text2": ["Scherm-", "oriëntatie"],
"desc": "Schermoriëntatie (R=Rechtshandig | L=Linkshandig | A=Automatisch)"
},
"BoostTemperature": {
"text2": ["Verhogings", "temp"],
"desc": "Verhogingstemperatuur"
},
"AutoStart": {
"text2": ["Auto", "start"],
"desc": "Breng de soldeerbout op temperatuur bij het opstarten. (F=Uit | T=Soldeertemperatuur | S=Slaapstand-temperatuur | K=Slaapstand kamertemperatuur)"
},
"CooldownBlink": {
"text2": ["Afkoel", "knipper"],
"desc": "Temperatuur knippert in hoofdmenu tijdens afkoeling."
},
"TemperatureCalibration": {
"text2": ["Calibreer", "temperatuur?"],
"desc": "Temperatuur van de punt calibreren."
},
"SettingsReset": {
"text2": ["Instellingen", "resetten?"],
"desc": "Alle instellingen resetten."
},
"VoltageCalibration": {
"text2": ["Calibreer", "voedingsspanning?"],
"desc": "VIN Calibreren. Bevestigen door knoppen lang in te drukken."
},
"AdvancedSoldering": {
"text2": ["Gedetailleerd", "soldeerscherm"],
"desc": "Gedetailleerde informatie in kleiner lettertype in soldeerscherm."
},
"ScrollingSpeed": {
"text2": ["Scrol", "snelheid"],
"desc": "Scrolsnelheid van de tekst."
},
"QCMaxVoltage": {
"text2": ["Vermogen", "Watt"],
"desc": "Vermogen van de adapter"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Spraak:", " NL_BE Vlaams"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "NO",
"languageLocalName": "Norsk",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Sørg for at loddespissen har romtemperatur før du fortsetter!",
"SettingsResetWarning": "Er du sikker på at du vil tilbakestille til standardinnstillinger?",
"UVLOWarningString": "Lavspenn",
"UndervoltageString": "Underspenning",
"InputVoltageString": "Innspenn.: ",
"WarningTipTempString": "Spisstemp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Dvale...",
"WarningSimpleString": "Varm",
"WarningAdvancedString": "VARM SPISS!",
"SleepingTipAdvancedString": "Spiss:",
"IdleTipString": "Spiss:",
"IdleSetString": "Set:",
"TipDisconnectedString": "SPISS FRAKOBLET",
"SolderingAdvancedPowerPrompt": "Effekt: ",
"OffString": "Av",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "H",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingFastChar": "H",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "I",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Lodde-",
"innst."
],
"desc": "Loddeinnstillinger"
},
"PowerSavingMenu": {
"text2": [
"Dvale-",
"innst."
],
"desc": "Dvaleinnstillinger"
},
"UIMenu": {
"text2": [
"Bruker-",
"grensesn."
],
"desc": "Brukergrensesnitt-innstillinger"
},
"AdvancedMenu": {
"text2": [
"Avanserte",
"valg"
],
"desc": "Avanserte valg"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Kilde",
""
],
"desc": "Strømforsyning. Sett nedre spenning for automatisk nedstenging. <DC 10V <S 3.3V per celle"
},
"SleepTemperature": {
"text2": [
"DTmp",
""
],
"desc": "Dvaletemperatur <C>"
},
"SleepTimeout": {
"text2": [
"DTid",
""
],
"desc": "Tid før dvale <Minutter/Sekunder"
},
"ShutdownTimeout": {
"text2": [
"AvTid",
""
],
"desc": "Tid før automatisk nedstenging <Minutter"
},
"MotionSensitivity": {
"text2": [
"BSensr",
""
],
"desc": "Bevegelsesfølsomhet <0.Inaktiv 1.Minst følsom 9.Mest følsom"
},
"TemperatureUnit": {
"text2": [
"TmpEnh",
""
],
"desc": "Temperaturskala <C=Celsius F=Fahrenheit"
},
"AdvancedIdle": {
"text2": [
"AvDvSk",
""
],
"desc": "Vis detaljert informasjon med liten skrift på dvaleskjermen."
},
"DisplayRotation": {
"text2": [
"SkRetn",
""
],
"desc": "Skjermretning <A. Automatisk V. Venstrehendt H. Høyrehendt"
},
"BoostTemperature": {
"text2": [
"KTmp",
""
],
"desc": "Temperatur i \"kraft\"-modus"
},
"AutoStart": {
"text2": [
"AStart",
""
],
"desc": "Start automatisk med lodding når strøm kobles til. L=Lodding, D=Dvale, I=Inaktiv"
},
"CooldownBlink": {
"text2": [
"KjBlnk",
""
],
"desc": "Blink temperaturen på skjermen mens spissen fortsatt er varm."
},
"TemperatureCalibration": {
"text2": [
"TempKal?",
""
],
"desc": "Kalibrer spiss-temperatur."
},
"SettingsReset": {
"text2": [
"TilbStl?",
""
],
"desc": "Tilbakestill alle innstillinger"
},
"VoltageCalibration": {
"text2": [
"KalSpIn?",
""
],
"desc": "Kalibrer spenning. Knappene justerer. Langt trykk for å gå ut"
},
"AdvancedSoldering": {
"text2": [
"AvLdSk",
""
],
"desc": "Vis detaljert informasjon ved lodding"
},
"ScrollingSpeed": {
"text2": [
"RullHa",
""
],
"desc": "Hastigheten på rulletekst"
},
"QCMaxVoltage": {
"text2": [
"Power",
"Wattage"
],
"desc": "Power Wattage of the power adapter used"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" NO Norsk"
],
"desc": ""
}
}
"languageCode": "NO",
"languageLocalName": "Norsk",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Sørg for at loddespissen har romtemperatur før du fortsetter!",
"SettingsResetWarning": "Er du sikker på at du vil tilbakestille til standardinnstillinger?",
"UVLOWarningString": "Lavspenn",
"UndervoltageString": "Underspenning",
"InputVoltageString": "Innspenn.: ",
"WarningTipTempString": "Spisstemp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Dvale...",
"WarningSimpleString": "Varm",
"WarningAdvancedString": "VARM SPISS!",
"SleepingTipAdvancedString": "Spiss:",
"IdleTipString": "Spiss:",
"IdleSetString": "Set:",
"TipDisconnectedString": "SPISS FRAKOBLET",
"SolderingAdvancedPowerPrompt": "Effekt: ",
"OffString": "Av",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "H",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingFastChar": "H",
"SettingStartNoneChar": "I",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "R",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Lodde-", "innst."],
"desc": "Loddeinnstillinger"
},
"PowerSavingMenu": {
"text2": ["Dvale-", "innst."],
"desc": "Dvaleinnstillinger"
},
"UIMenu": {
"text2": ["Bruker-", "grensesn."],
"desc": "Brukergrensesnitt-innstillinger"
},
"AdvancedMenu": {
"text2": ["Avanserte", "valg"],
"desc": "Avanserte valg"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Kilde", ""],
"desc": "Strømforsyning. Sett nedre spenning for automatisk nedstenging. (DC 10V) (S 3.3V per celle)"
},
"SleepTemperature": {
"text2": ["DTmp", ""],
"desc": "Dvaletemperatur (C)"
},
"SleepTimeout": {
"text2": ["DTid", ""],
"desc": "Tid før dvale (Minutter | Sekunder)"
},
"ShutdownTimeout": {
"text2": ["AvTid", ""],
"desc": "Tid før automatisk nedstenging (Minutter)"
},
"MotionSensitivity": {
"text2": ["BSensr", ""],
"desc": "Bevegelsesfølsomhet (0=Inaktiv | 1=Minst følsom | ... | 9=Mest følsom)"
},
"TemperatureUnit": {
"text2": ["TmpEnh", ""],
"desc": "Temperaturskala (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["AvDvSk", ""],
"desc": "Vis detaljert informasjon med liten skrift på dvaleskjermen."
},
"DisplayRotation": {
"text2": ["SkRetn", ""],
"desc": "Skjermretning (H=Høyrehendt | V=Venstrehendt | A=Automatisk)"
},
"BoostTemperature": {
"text2": ["KTmp", ""],
"desc": "Temperatur i \"kraft\"-modus"
},
"AutoStart": {
"text2": ["AStart", ""],
"desc": "Start automatisk med lodding når strøm kobles til. (I=Inaktiv | L=Lodding | D=Dvale | R=Dvale romtemperatur)"
},
"CooldownBlink": {
"text2": ["KjBlnk", ""],
"desc": "Blink temperaturen på skjermen mens spissen fortsatt er varm."
},
"TemperatureCalibration": {
"text2": ["TempKal?", ""],
"desc": "Kalibrer spiss-temperatur."
},
"SettingsReset": {
"text2": ["TilbStl?", ""],
"desc": "Tilbakestill alle innstillinger"
},
"VoltageCalibration": {
"text2": ["KalSpIn?", ""],
"desc": "Kalibrer spenning. Knappene justerer. Langt trykk for å gå ut"
},
"AdvancedSoldering": {
"text2": ["AvLdSk", ""],
"desc": "Vis detaljert informasjon ved lodding"
},
"ScrollingSpeed": {
"text2": ["RullHa", ""],
"desc": "Hastigheten på rulletekst"
},
"QCMaxVoltage": {
"text2": ["Power", "Wattage"],
"desc": "Power Wattage of the power adapter used"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Språk:", " NO Norsk"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,318 +1,214 @@
{
"languageCode": "PL",
"languageLocalName": "Polski",
"fonts": [
"ascii_basic",
"latin_extended"
],
"tempUnitFahrenheit": false,
"messages": {
"SettingsCalibrationDone": "Kalibracja udana!",
"SettingsCalibrationWarning": "Przed kontynuowaniem upewnij się, że końcówka osiągnęła temperaturę pokojową!",
"SettingsResetWarning": "Czy na pewno chcesz przywrócić ustawienia fabryczne?",
"UVLOWarningString": "NIS. NAP",
"UndervoltageString": "Zbyt niskie nap.",
"InputVoltageString": "Nap. wej.:",
"WarningTipTempString": "Temp. grotu:",
"BadTipString": "ZŁY GROT",
"SleepingSimpleString": "Zzz!",
"SleepingAdvancedString": "Tr. uśpienia",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "GORĄCA KOŃCÓWKA!",
"SleepingTipAdvancedString": "Grot:",
"IdleTipString": "Grot:",
"IdleSetString": " Ust:",
"TipDisconnectedString": "GROT ODŁĄCZONY",
"SolderingAdvancedPowerPrompt": "Moc: ",
"OffString": "Wył",
"YourGainMessage": "Us.zysk:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Ust. zresetowane",
""
],
"NoAccelerometerMessage": [
"Nie rozpoznano",
"akcelerometru!"
],
"NoPowerDeliveryMessage": [
"Nie rozpoznano",
"kont. USB-PD IC!"
],
"LockingKeysString": " ZABLOK.",
"UnlockingKeysString": "ODBLOK.",
"WarningKeysLockedString": "!ZABLOK!"
},
"characters": {
"SettingRightChar": "P",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "S",
"SettingSlowChar": "W",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "B",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "Ś",
"SettingSensitivityHigh": "W",
"SettingLockDisableChar": "W",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "P",
"SettingNAChar": "N/D"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Ustawienia",
"zasilania"
],
"desc": "Zasilanie i minimalne napięcie na komórkę"
},
"SolderingMenu": {
"text2": [
"Lutowanie",
""
],
"desc": "Ustawienia trybu lutowania"
},
"PowerSavingMenu": {
"text2": [
"Oszcz.",
"energii"
],
"desc": "Ustawienia oszczędzania energii"
},
"UIMenu": {
"text2": [
"Interfejs",
"użytkownika"
],
"desc": "Ustawienia interfejsu użytkownika"
},
"AdvancedMenu": {
"text2": [
"Ustawienia",
"zaawans."
],
"desc": "Ustawienia zaawansowane"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Źródło",
"zasilania"
],
"desc": "Źródło zasilania. Ustaw napięcie odcięcia. <DC 10V> <S 3.3V dla ogniw Li, wyłącz limit mocy>"
},
"SleepTemperature": {
"text2": [
"Temp.",
"uśpienia"
],
"desc": "Temperatura w trybie uśpienia <°C>"
},
"SleepTimeout": {
"text2": [
"Czas do",
"uśpienia"
],
"desc": "Czas do przejścia w tryb uśpienia <minuty/sekundy>"
},
"ShutdownTimeout": {
"text2": [
"Czas do",
"wyłączenia"
],
"desc": "Czas do wyłączenia <minuty>"
},
"MotionSensitivity": {
"text2": [
"Czułość",
"wykr. ruchu"
],
"desc": "Czułość wykrywania ruchu <0-Wyłączona, 1-Minimalna, 9-Maksymalna>"
},
"TemperatureUnit": {
"text2": [
"Jednostka",
"temperatury"
],
"desc": "Jednostka temperatury <C-Celciusz, F-Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Szeczegółowy",
"ekran bezczy."
],
"desc": "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynności"
},
"DisplayRotation": {
"text2": [
"Obrót",
"ekranu"
],
"desc": "Obrót ekranu <A-automatycznie, L-dla leworęcznych, P-dla praworęcznych>"
},
"BoostTemperature": {
"text2": [
"Temp.",
"boost"
],
"desc": "Temperatura w trybie \"boost\" "
},
"AutoStart": {
"text2": [
"Aut. uruch.",
"tr. lutowania"
],
"desc": "Automatyczne uruchamianie trybu lutowania po włączeniu zasilania.<B - wyłączone, T - lutowanie, Z - uśpienie, O - uśpienie w temp. pokojowej"
},
"CooldownBlink": {
"text2": [
"Mig. podczas",
"wychładzania"
],
"desc": "Temperatura miga podczas wychładzania, gdy grot jest wciąż gorący"
},
"TemperatureCalibration": {
"text2": [
"Kalibracja",
"temp. grotu"
],
"desc": "Kalibracja temperatury grotu lutownicy"
},
"SettingsReset": {
"text2": [
"Ustawienia",
"fabryczne"
],
"desc": "Resetuje wszystkie ustawienia"
},
"VoltageCalibration": {
"text2": [
"Kalibracja",
"napięcia"
],
"desc": "Kalibracja napięcia wejściowego. Krótkie naciśnięcie, aby ustawić, długie naciśnięcie, aby wyjść."
},
"AdvancedSoldering": {
"text2": [
"Sz. inf. w",
"tr. lutowania"
],
"desc": "Wyświetl szczegółowe informacje w trybie lutowania"
},
"ScrollingSpeed": {
"text2": [
"Sz. przew.",
"tekstu"
],
"desc": "Szybkość przewijania tekstu"
},
"QCMaxVoltage": {
"text2": [
"Moc",
"w W"
],
"desc": "Moc używanego zasilacza w <W>"
},
"PowerLimit": {
"text2": [
"Ogr.",
"mocy"
],
"desc": "Maksymalna moc <W>, jakiej może użyć lutownica"
},
"ReverseButtonTempChange": {
"text2": [
"Zamień przyc.",
"+ -"
],
"desc": "Zamienia działanie przycisków zmiany temperatury grotu"
},
"TempChangeShortStep": {
"text2": [
"Zm. temp.",
"kr. przyc."
],
"desc": "Wartość zmiany temperatury, po krótkim przyciśnięciu <°C>"
},
"TempChangeLongStep": {
"text2": [
"Zm. temp.",
"dł. przyc."
],
"desc": "Wartość zmiany temperatury, po długim przyciśnięciu <°C>"
},
"PowerPulsePower": {
"text2": [
"Moc",
"impulsu"
],
"desc": "W przypadku używania powerbanku, utrzymuj moc na poziomie <W> aby nie uśpić powerbanku"
},
"HallEffSensitivity": {
"text2": [
"Czułość",
"cz.Halla"
],
"desc": "Czułość czujnika Halla, używanego do przechodznia w tryb uśpienia <O-Wył,N-Niska,Ś=Średnia,W=Wysoka>"
},
"LockingMode": {
"text2": [
"Blokada",
"przycisków"
],
"desc": "W trybie lutowania, wciśnij oba przyciski aby je zablokować <O-Wyłączona, B-tylko Boost, P-pełna blokada>"
},
"MinVolCell": {
"text2": [
"Minimalne",
"napięcie"
],
"desc": "Minimalne dozwolone napięcie na komórkę <W woltach> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Zapętlona",
"animacja"
],
"desc": "Zapętla animację ikon w menu głównym"
},
"AnimSpeed": {
"text2": [
"Prędkosć",
"animacji"
],
"desc": "Prędkość animacji ikon w menu <O=wył. | L=mała | M=średnia | H=duża>"
},
"PowerPulseWait": {
"text2": [
"Czas między",
"imp. mocy"
],
"desc": "Czas między kolejnymi impulsami mocy zapobiegającymi usypianiu powerbanku (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Długość",
"impulsu mocy"
],
"desc": "Długość impulsu mocy zapobiegającego usypianiu powerbanku (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" PL Polski"
],
"desc": ""
}
}
"languageCode": "PL",
"languageLocalName": "Polski",
"fonts": ["ascii_basic", "latin_extended"],
"tempUnitFahrenheit": false,
"messages": {
"SettingsCalibrationDone": "Kalibracja udana!",
"SettingsCalibrationWarning": "Przed kontynuowaniem upewnij się, że końcówka osiągnęła temperaturę pokojową!",
"SettingsResetWarning": "Czy na pewno chcesz przywrócić ustawienia fabryczne?",
"UVLOWarningString": "NIS. NAP",
"UndervoltageString": "Zbyt niskie nap.",
"InputVoltageString": "Nap. wej.:",
"WarningTipTempString": "Temp. grotu:",
"BadTipString": "ZŁY GROT",
"SleepingSimpleString": "Zzz!",
"SleepingAdvancedString": "Tr. uśpienia",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "GORĄCA KOŃCÓWKA!",
"SleepingTipAdvancedString": "Grot:",
"IdleTipString": "Grot:",
"IdleSetString": " Ust:",
"TipDisconnectedString": "GROT ODŁĄCZONY",
"SolderingAdvancedPowerPrompt": "Moc: ",
"OffString": "Wył",
"YourGainMessage": "Us.zysk:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Ust. zresetowane", ""],
"NoAccelerometerMessage": ["Nie rozpoznano", "akcelerometru!"],
"NoPowerDeliveryMessage": ["Nie rozpoznano", "kont. USB-PD IC!"],
"LockingKeysString": " ZABLOK.",
"UnlockingKeysString": "ODBLOK.",
"WarningKeysLockedString": "!ZABLOK!",
"WarningThermalRunaway": ["Ucieczka", "termiczna"]
},
"characters": {
"SettingRightChar": "P",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "W",
"SettingMediumChar": "M",
"SettingFastChar": "S",
"SettingStartNoneChar": "B",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "O",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "Ś",
"SettingSensitivityHigh": "W",
"SettingLockDisableChar": "W",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "P",
"SettingNAChar": "N/D"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Ustawienia", "zasilania"],
"desc": "Zasilanie i minimalne napięcie na komórkę"
},
"SolderingMenu": {
"text2": ["Lutowanie", ""],
"desc": "Ustawienia trybu lutowania"
},
"PowerSavingMenu": {
"text2": ["Oszcz.", "energii"],
"desc": "Ustawienia oszczędzania energii"
},
"UIMenu": {
"text2": ["Interfejs", "użytkownika"],
"desc": "Ustawienia interfejsu użytkownika"
},
"AdvancedMenu": {
"text2": ["Ustawienia", "zaawans."],
"desc": "Ustawienia zaawansowane"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Źródło", "zasilania"],
"desc": "Źródło zasilania. Ustaw napięcie odcięcia. (DC 10V) (S 3.3V dla ogniw Li, wyłącz limit mocy)"
},
"SleepTemperature": {
"text2": ["Temp.", "uśpienia"],
"desc": "Temperatura w trybie uśpienia (°C)"
},
"SleepTimeout": {
"text2": ["Czas do", "uśpienia"],
"desc": "Czas do przejścia w tryb uśpienia (minuty | sekundy)"
},
"ShutdownTimeout": {
"text2": ["Czas do", "wyłączenia"],
"desc": "Czas do wyłączenia (minuty)"
},
"MotionSensitivity": {
"text2": ["Czułość", "wykr. ruchu"],
"desc": "Czułość wykrywania ruchu (0: Wyłączona | 1: Minimalna | ... | 9: Maksymalna)"
},
"TemperatureUnit": {
"text2": ["Jednostka", "temperatury"],
"desc": "Jednostka temperatury (C: Celciusz | F: Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Szeczegółowy", "ekran bezczy."],
"desc": "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynności"
},
"DisplayRotation": {
"text2": ["Obrót", "ekranu"],
"desc": "Obrót ekranu (P: dla praworęcznych | L: dla leworęcznych | A: automatycznie)"
},
"BoostTemperature": {
"text2": ["Temp.", "boost"],
"desc": "Temperatura w trybie \"boost\" "
},
"AutoStart": {
"text2": ["Aut. uruch.", "tr. lutowania"],
"desc": "Automatyczne uruchamianie trybu lutowania po włączeniu zasilania. (B: wyłączone | T: lutowanie | Z: uśpienie | O: uśpienie w temp. pokojowej)"
},
"CooldownBlink": {
"text2": ["Mig. podczas", "wychładzania"],
"desc": "Temperatura miga podczas wychładzania, gdy grot jest wciąż gorący"
},
"TemperatureCalibration": {
"text2": ["Kalibracja", "temp. grotu"],
"desc": "Kalibracja temperatury grotu lutownicy"
},
"SettingsReset": {
"text2": ["Ustawienia", "fabryczne"],
"desc": "Resetuje wszystkie ustawienia"
},
"VoltageCalibration": {
"text2": ["Kalibracja", "napięcia"],
"desc": "Kalibracja napięcia wejściowego. Krótkie naciśnięcie, aby ustawić, długie naciśnięcie, aby wyjść."
},
"AdvancedSoldering": {
"text2": ["Sz. inf. w", "tr. lutowania"],
"desc": "Wyświetl szczegółowe informacje w trybie lutowania"
},
"ScrollingSpeed": {
"text2": ["Sz. przew.", "tekstu"],
"desc": "Szybkość przewijania tekstu"
},
"QCMaxVoltage": {
"text2": ["Moc", "w W"],
"desc": "Moc używanego zasilacza w (W)"
},
"PDNegTimeout": {
"text2": ["Limit czasu", "PD"],
"desc": "Limit czasu negocjacji PD w krokach co 100 ms dla zgodności z niektórymi ładowarkami QC (0: wyłączone)"
},
"PowerLimit": {
"text2": ["Ogr.", "mocy"],
"desc": "Maksymalna moc (W), jakiej może użyć lutownica"
},
"ReverseButtonTempChange": {
"text2": ["Zamień przyc.", "+ -"],
"desc": "Zamienia działanie przycisków zmiany temperatury grotu"
},
"TempChangeShortStep": {
"text2": ["Zm. temp.", "kr. przyc."],
"desc": "Wartość zmiany temperatury, po krótkim przyciśnięciu (°C)"
},
"TempChangeLongStep": {
"text2": ["Zm. temp.", "dł. przyc."],
"desc": "Wartość zmiany temperatury, po długim przyciśnięciu (°C)"
},
"PowerPulsePower": {
"text2": ["Moc", "impulsu"],
"desc": "W przypadku używania powerbanku, utrzymuj moc na poziomie (W) aby nie uśpić powerbanku"
},
"HallEffSensitivity": {
"text2": ["Czułość", "cz. Halla"],
"desc": "Czułość czujnika Halla, używanego do przechodznia w tryb uśpienia (O=Wył | N=Niska | Ś=Średnia | W=Wysoka)"
},
"LockingMode": {
"text2": ["Blokada", "przycisków"],
"desc": "W trybie lutowania, wciśnij oba przyciski aby je zablokować (O=Wyłączona | B=tylko Boost | P=pełna blokada)"
},
"MinVolCell": {
"text2": ["Minimalne", "napięcie"],
"desc": "Minimalne dozwolone napięcie na komórkę (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Zapętlona", "animacja"],
"desc": "Zapętla animację ikon w menu głównym"
},
"AnimSpeed": {
"text2": ["Prędkosć", "animacji"],
"desc": "Prędkość animacji ikon w menu (O: wył. | L: mała | M: średnia | H: duża)"
},
"PowerPulseWait": {
"text2": ["Czas między", "imp. mocy"],
"desc": "Czas między kolejnymi impulsami mocy zapobiegającymi usypianiu powerbanku (x2,5 s)"
},
"PowerPulseDuration": {
"text2": ["Długość", "impulsu mocy"],
"desc": "Długość impulsu mocy zapobiegającego usypianiu powerbanku (x250 ms)"
},
"LanguageSwitch": {
"text2": ["Język :", " PL Polski"],
"desc": ""
},
"Brightness": {
"text2": ["Jasność", "wyświetlacza"],
"desc": "Regulacja kontrastu/jasności wyświetlacza OLED"
},
"ColourInversion": {
"text2": ["Odwrócenie", "kolorów"],
"desc": "Odwrócenie kolorów wyświetlacza OLED"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "PT",
"languageLocalName": "Português",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibração terminada!",
"SettingsCalibrationWarning": "A ponta deve estar à temperatura ambiente antes de continuar!",
"SettingsResetWarning": "Definições de fábrica?",
"UVLOWarningString": "DC BAIXO",
"UndervoltageString": "Subtensão",
"InputVoltageString": "Tensão ",
"WarningTipTempString": "Temperatura ",
"BadTipString": "ER PONTA",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Repouso...",
"WarningSimpleString": "TEMP",
"WarningAdvancedString": "TEMP ELEVADA!",
"SleepingTipAdvancedString": "Ponta:",
"IdleTipString": "Ponta:",
"IdleSetString": " Aj:",
"TipDisconnectedString": "SEM PONTA",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "C",
"SettingAutoChar": "A",
"SettingFastChar": "R",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Configurações",
"Solda"
],
"desc": "Configurações de soldagem"
},
"PowerSavingMenu": {
"text2": [
"Modos",
"Repouso"
],
"desc": "Configurações de economia de energia"
},
"UIMenu": {
"text2": [
"Interface",
"Utilizador"
],
"desc": "Configurações do interface do utilizador"
},
"AdvancedMenu": {
"text2": [
"Menu",
"Avançado"
],
"desc": "Opções avançadas"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Fonte",
"alimentação"
],
"desc": "Fonte de alimentação. Define a tensão de corte. <DC=10V> <S=3.3V/célula>"
},
"SleepTemperature": {
"text2": [
"Temperat.",
"repouso"
],
"desc": "Temperatura de repouso <C>"
},
"SleepTimeout": {
"text2": [
"Tempo",
"repouso"
],
"desc": "Tempo para repouso <Minutos/Segundos>"
},
"ShutdownTimeout": {
"text2": [
"Tempo",
"desligam."
],
"desc": "Tempo para desligamento <Minutos>"
},
"MotionSensitivity": {
"text2": [
"Sensibilidade",
"movimento"
],
"desc": "Sensibilidade ao movimento <0=Desligado 1=Menor 9=Maior>"
},
"TemperatureUnit": {
"text2": [
"Unidade",
"temperatura"
],
"desc": "Unidade de temperatura <C=Celsius F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Tela repouso",
"avançada"
],
"desc": "Exibe informações avançadas quando em espera"
},
"DisplayRotation": {
"text2": [
"Orientação",
"tela"
],
"desc": "Orientação da tela <A.utomática C.anhoto D.estro>"
},
"BoostTemperature": {
"text2": [
"Modo turbo",
"temperat."
],
"desc": "Ajuste de temperatura do modo \"turbo\""
},
"AutoStart": {
"text2": [
"Partida",
"automática"
],
"desc": "Aquece a ponta automaticamente ao ligar"
},
"CooldownBlink": {
"text2": [
"Piscar ao",
"arrefecer"
],
"desc": "Faz o valor da temperatura piscar durante o arrefecimento"
},
"TemperatureCalibration": {
"text2": [
"Calibrar",
"temperatura"
],
"desc": "Calibra a temperatura"
},
"SettingsReset": {
"text2": [
"Reset de",
"fábrica?"
],
"desc": "Reverte todos ajustes"
},
"VoltageCalibration": {
"text2": [
"Calibrar",
"tensão"
],
"desc": "Calibra a tensão de alimentação. Use os botões para ajustar o valor. Mantenha pressionado para sair"
},
"AdvancedSoldering": {
"text2": [
"Tela trabalho",
"avançada"
],
"desc": "Exibe informações avançadas durante o uso"
},
"ScrollingSpeed": {
"text2": [
"Velocidade",
"texto ajuda"
],
"desc": "Velocidade a que o texto é exibido"
},
"QCMaxVoltage": {
"text2": [
"Potência",
"Fonte"
],
"desc": "Potência da fonte usada (Watt)"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" PT Português"
],
"desc": ""
}
}
"languageCode": "PT",
"languageLocalName": "Português",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Calibração terminada!",
"SettingsCalibrationWarning": "A ponta deve estar à temperatura ambiente antes de continuar!",
"SettingsResetWarning": "Definições de fábrica?",
"UVLOWarningString": "DC BAIXO",
"UndervoltageString": "Subtensão",
"InputVoltageString": "Tensão ",
"WarningTipTempString": "Temperatura ",
"BadTipString": "ER PONTA",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Repouso...",
"WarningSimpleString": "TEMP",
"WarningAdvancedString": "TEMP ELEVADA!",
"SleepingTipAdvancedString": "Ponta:",
"IdleTipString": "Ponta:",
"IdleSetString": " Aj:",
"TipDisconnectedString": "SEM PONTA",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "C",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingFastChar": "R",
"SettingStartNoneChar": "D",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "H",
"SettingStartSleepOffChar": "A",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Configurações", "Solda"],
"desc": "Configurações de soldagem"
},
"PowerSavingMenu": {
"text2": ["Modos", "Repouso"],
"desc": "Configurações de economia de energia"
},
"UIMenu": {
"text2": ["Interface", "Utilizador"],
"desc": "Configurações do interface do utilizador"
},
"AdvancedMenu": {
"text2": ["Menu", "Avançado"],
"desc": "Opções avançadas"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Fonte", "alimentação"],
"desc": "Fonte de alimentação. Define a tensão de corte. (DC=10V) (S=3.3V/célula)"
},
"SleepTemperature": {
"text2": ["Temperat.", "repouso"],
"desc": "Temperatura de repouso (C)"
},
"SleepTimeout": {
"text2": ["Tempo", "repouso"],
"desc": "Tempo para repouso (Minutos | Segundos)"
},
"ShutdownTimeout": {
"text2": ["Tempo", "desligam."],
"desc": "Tempo para desligamento (Minutos)"
},
"MotionSensitivity": {
"text2": ["Sensibilidade", "movimento"],
"desc": "Sensibilidade ao movimento (0=Desligado | 1=Menor | ... | 9=Maior)"
},
"TemperatureUnit": {
"text2": ["Unidade", "temperatura"],
"desc": "Unidade de temperatura (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Tela repouso", "avançada"],
"desc": "Exibe informações avançadas quando em espera"
},
"DisplayRotation": {
"text2": ["Orientação", "tela"],
"desc": "Orientação da tela (D=estro | C=anhoto | A=utomática)"
},
"BoostTemperature": {
"text2": ["Modo turbo", "temperat."],
"desc": "Ajuste de temperatura do modo \"turbo\""
},
"AutoStart": {
"text2": ["Partida", "automática"],
"desc": "Aquece a ponta automaticamente ao ligar (D=desligar | S=soldagem | H=hibernar | A=hibernar temp. ambiente)"
},
"CooldownBlink": {
"text2": ["Piscar ao", "arrefecer"],
"desc": "Faz o valor da temperatura piscar durante o arrefecimento"
},
"TemperatureCalibration": {
"text2": ["Calibrar", "temperatura"],
"desc": "Calibra a temperatura"
},
"SettingsReset": {
"text2": ["Reset de", "fábrica?"],
"desc": "Reverte todos ajustes"
},
"VoltageCalibration": {
"text2": ["Calibrar", "tensão"],
"desc": "Calibra a tensão de alimentação. Use os botões para ajustar o valor. Mantenha pressionado para sair"
},
"AdvancedSoldering": {
"text2": ["Tela trabalho", "avançada"],
"desc": "Exibe informações avançadas durante o uso"
},
"ScrollingSpeed": {
"text2": ["Velocidade", "texto ajuda"],
"desc": "Velocidade a que o texto é exibido"
},
"QCMaxVoltage": {
"text2": ["Potência", "Fonte"],
"desc": "Potência da fonte usada (Watt)"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Idioma :", " PT Português"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -0,0 +1,214 @@
{
"languageCode": "RO",
"languageLocalName": "Română",
"fonts": ["ascii_basic", "latin_extended"],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "Calibrare completa!",
"SettingsCalibrationWarning": "Vă rugăm să vă asigurati că vârful este la temperatura camerei, înainte de a continua!",
"SettingsResetWarning": "Sigur doriti să restaurati la setările implicite?",
"UVLOWarningString": "DC LOW",
"UndervoltageString": "Sub tensiune",
"InputVoltageString": "Intrare V: ",
"WarningTipTempString": "Temp. varf: ",
"BadTipString": "VARF DEFECT",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Adormit...",
"WarningSimpleString": "FIERBINTE!",
"WarningAdvancedString": "!!! VARF FIERBINTE !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "FĂRĂ VARF",
"SolderingAdvancedPowerPrompt": "Putere: ",
"OffString": "Nu",
"YourGainMessage": "Coeficient:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Setările au fost", "resetate!"],
"NoAccelerometerMessage": ["Nu accelerometru", "detectat!"],
"NoPowerDeliveryMessage": ["Fără USB-PD IC", "detectat!"],
"LockingKeysString": "BLOCAT",
"UnlockingKeysString": "DEBLOCAT",
"WarningKeysLockedString": "!BLOCAT!",
"WarningThermalRunaway": ["Incalzire", "Esuata"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "S",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "Î",
"SettingMediumChar": "M",
"SettingFastChar": "R",
"SettingStartNoneChar": "O",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Setări de", "alimentare"],
"desc": "Setări de alimentare"
},
"SolderingMenu": {
"text2": ["Setări de", "lipire"],
"desc": "Setări de lipire"
},
"PowerSavingMenu": {
"text2": ["Modul", "repaus"],
"desc": "Setări de economisire a energiei"
},
"UIMenu": {
"text2": ["Interfată", "utilizator"],
"desc": "Setări interfată utilizator"
},
"AdvancedMenu": {
"text2": ["Optiuni", "avansate"],
"desc": "Optiuni avansate"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Sursa de", "alimentare"],
"desc": "Sursa de alimentare. Setează tensiunea de întrerupere. (DC 10V) (S 3.3V per celulă, dezactivati limita de alimentare)"
},
"SleepTemperature": {
"text2": ["Temp", "repaus"],
"desc": "Temperatura vârfului în \"modul repaus\""
},
"SleepTimeout": {
"text2": ["Expirare", "repaus"],
"desc": "Interval înainte de lansarea \"modului de repaus\" în (S=secunde | M=minute)"
},
"ShutdownTimeout": {
"text2": ["Expirare", "oprire"],
"desc": "Interval înainte ca letconul să se oprească (M=minute)"
},
"MotionSensitivity": {
"text2": ["Sensibilitate", "la mişcare"],
"desc": "0=oprit | 1=putin sensibil | ... | 9=cel mai sensibil"
},
"TemperatureUnit": {
"text2": ["Unitate de", "temperatură"],
"desc": "C=Celsius | F=Fahrenheit"
},
"AdvancedIdle": {
"text2": ["Detalii,", "ecran inactiv"],
"desc": "Afisati informatii detaliate într-un font mai mic pe ecranul de repaus"
},
"DisplayRotation": {
"text2": ["Orientare", "ecran"],
"desc": "R=dreptaci | L=stângaci | A=auto"
},
"BoostTemperature": {
"text2": ["Boost", "temp"],
"desc": "Temperatura utilizată în \"modul boost\""
},
"AutoStart": {
"text2": ["Auto", "start"],
"desc": "Start letcon în modul de lipire la pornire (O=oprit | S=lipire | Z=repaus | R=repaus la temperatura camerei)"
},
"CooldownBlink": {
"text2": ["Clipeste", "la răcire"],
"desc": "Clipeste temperatura după oprirea încălzirii, în timp ce vârful este încă fierbinte"
},
"TemperatureCalibration": {
"text2": ["Calibrare", "temperatură?"],
"desc": "Începeti calibrarea compensării de temperatură a vârfului"
},
"SettingsReset": {
"text2": ["Setări", "din fabrică"],
"desc": "Reveniti la setările din fabrică"
},
"VoltageCalibration": {
"text2": ["Calibrare tens.", "de intrare?"],
"desc": "Porniti calibrarea VIN (apăsati lung pentru a iesi)"
},
"AdvancedSoldering": {
"text2": ["Detalii", "ecran lipire"],
"desc": "Afisati informatii detaliate într-un font mai mic pe ecranul de lipire"
},
"ScrollingSpeed": {
"text2": ["Viteză", "derulare"],
"desc": "Viteză derulare text cu informatii la (S=lent | F=rapid)"
},
"QCMaxVoltage": {
"text2": ["QC", "voltaj"],
"desc": "Tensiunea maximă QC dorită pentru care negociază letconul"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "Timp limita de negociere pentru tranzactia PD, in pasi de 100ms, pentru compatibilitate cu alimentatoarele QC"
},
"PowerLimit": {
"text2": ["Putere", "limită"],
"desc": "Puterea maximă pe care letconul o poate folosi (W=watt)"
},
"ReverseButtonTempChange": {
"text2": ["Inversare", "+ - butoane"],
"desc": "Inversarea butoanelor de reglare a temperaturii"
},
"TempChangeShortStep": {
"text2": ["Schimbare temp.", "apăsare scută"],
"desc": "Schimbarea temperaturii la apăsarea scurtă a butonului"
},
"TempChangeLongStep": {
"text2": ["Schimbare temp.", "apăsare lungă"],
"desc": "Schimbarea temperaturii la apăsarea lungă a butonului"
},
"PowerPulsePower": {
"text2": ["Putere", "puls"],
"desc": "Puterea pulsului de mentinere activa a blocului de alimentare (watt)"
},
"HallEffSensitivity": {
"text2": ["Sensibilitate", "senzor Hall"],
"desc": "Sensibilitate senzor cu efect Hall pentru a detecta repausul (O=oprit | L=scăzut | M=mediu | H=înalt)"
},
"LockingMode": {
"text2": ["Blocare", "butoane"],
"desc": "Când lipiti, apăsati lung ambele butoane, pentru a le bloca (D=dezactivare | B=numai \"modul boost\" | F=blocare completă)"
},
"MinVolCell": {
"text2": ["Voltaj", "minim"],
"desc": "Tensiunea minimă admisă pe celulă (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Animatii", "buclă"],
"desc": "Animatii de pictograme în meniul principal"
},
"AnimSpeed": {
"text2": ["Animatii", "viteză"],
"desc": "Ritmul animatiilor pictogramei din meniu (O=oprit | S=încet | M=mediu | F=rapid)"
},
"PowerPulseWait": {
"text2": ["Întârziere", "puls putere"],
"desc": "Perioada pulsului de mentinere (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Durată", "puls putere"],
"desc": "Durata pulsului de mentinere (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Limbă:", " RO Română"],
"desc": "Limba curenta"
},
"Brightness": {
"text2": ["Ecranului", "luminozitatea"],
"desc": "Ajusteaza luminozitatea ecranului"
},
"ColourInversion": {
"text2": ["Inverseaza", "culoarea"],
"desc": "Inverseaza culoarea ecranului"
}
}
}

View File

@@ -1,318 +1,213 @@
{
"languageCode": "RU",
"languageLocalName": "Русский",
"fonts": [
"ascii_basic",
"latin_extended",
"cyrillic"
],
"messages": {
"SettingsCalibrationDone": "Калибровка завершена!",
"SettingsCalibrationWarning": "Прежде чем продолжить, пожалуйста, убедитесь, что жало имеет комнатную температуру!",
"SettingsResetWarning": "Вы уверены, что хотите сбросить настройки к значениям по умолчанию?",
"UVLOWarningString": "НАПРЯЖ--",
"UndervoltageString": "Низкое напряжение",
"InputVoltageString": "Питание В: ",
"WarningTipTempString": "Темп. жала: ",
"BadTipString": "ЖАЛО--",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Ожидание...",
"WarningSimpleString": "ГОРЯЧО!",
"WarningAdvancedString": "!!! ГОРЯЧЕЕ !!!\n!!! ЖАЛО !!!",
"SleepingTipAdvancedString": "Жало:",
"IdleTipString": "Жало:",
"IdleSetString": " ->",
"TipDisconnectedString": "ЖАЛО ОТСОЕДИНЕНО",
"SolderingAdvancedPowerPrompt": "Питание: ",
"OffString": "Выкл.",
"YourGainMessage": "Прирост:"
},
"messagesWarn": {
"ResetOKMessage": "Сброс OK",
"SettingsResetMessage": [
"Настройки",
"сброшены!"
],
"NoAccelerometerMessage": [
"Не определен",
"акселерометр!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "П",
"SettingLeftChar": "Л",
"SettingAutoChar": "А",
"SettingFastChar": "Б",
"SettingSlowChar": "М",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "П",
"SettingStartSleepChar": "О",
"SettingStartSleepOffChar": "К",
"SettingStartNoneChar": "В",
"SettingSensitivityOff": "О",
"SettingSensitivityLow": "Н",
"SettingSensitivityMedium": "С",
"SettingSensitivityHigh": "В",
"SettingLockDisableChar": "О",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П",
"SettingNAChar": "Н/Д"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Параметры",
"питания"
],
"desc": "Источник питания и минимальное напряжение на ячейку"
},
"SolderingMenu": {
"text2": [
"Параметры",
"пайки"
],
"desc": "Параметры пайки"
},
"PowerSavingMenu": {
"text2": [
"Режимы",
"сна"
],
"desc": "Настройки режима ожидания"
},
"UIMenu": {
"text2": [
"Параметры",
"интерфейса"
],
"desc": "Настройки пользовательского интерфейса"
},
"AdvancedMenu": {
"text2": [
"Дополнител.",
"настройки"
],
"desc": "Дополнительные настройки"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Источник",
"питания"
],
"desc": "Источник питания. Устанавливает напряжение отсечки. <DC 10В> <S 3.3В на ячейку, без лимита мощности>"
},
"SleepTemperature": {
"text2": [
"Темп.",
"ожидания"
],
"desc": "Температура режима ожидания"
},
"SleepTimeout": {
"text2": [
"Таймаут",
"ожидания"
],
"desc": "Время до перехода в режим ожидания <Минуты/Секунды>"
},
"ShutdownTimeout": {
"text2": [
"Таймаут",
"выключения"
],
"desc": "Время до отключения паяльника <Минуты>"
},
"MotionSensitivity": {
"text2": [
"Чувствительн.",
"акселерометра"
],
"desc": "Чувствительность акселерометра <0=Выкл., 1=Мин., 9=Макс.>"
},
"TemperatureUnit": {
"text2": [
"Единицы",
"температуры"
],
"desc": "Единицы измерения температуры <C=Цельcия, F=Фаренгейта>"
},
"AdvancedIdle": {
"text2": [
"Подробный",
"реж. ожидания"
],
"desc": "Отображать детальную информацию уменьшенным шрифтом на экране ожидания"
},
"DisplayRotation": {
"text2": [
"Ориентация",
"экрана"
],
"desc": "Ориентация экрана <А=Авто, Л=Левая рука, П=Правая рука>"
},
"BoostTemperature": {
"text2": [
"t° турбо",
"режима"
],
"desc": "Температура жала в турбо-режиме"
},
"AutoStart": {
"text2": [
"Авто",
"старт"
],
"desc": "Режим, в котором запускается паяльник при подаче питания <П=Пайка, О=Ожидание, К=Ожидание при комн. темп., В=Выкл.>"
},
"CooldownBlink": {
"text2": [
"Мигание t°",
"при остывании"
],
"desc": "Мигать температурой на экране охлаждения, пока жало еще горячее"
},
"TemperatureCalibration": {
"text2": [
"Калибровка",
"температуры"
],
"desc": "Калибровка термодатчика жала"
},
"SettingsReset": {
"text2": [
"Сброс",
"Настроек"
],
"desc": "Сброс настроек к значеням по умолчанию"
},
"VoltageCalibration": {
"text2": [
"Калибровка",
"напряжения"
],
"desc": "Калибровка входного напряжения <длинное нажатие для выхода>"
},
"AdvancedSoldering": {
"text2": [
"Подробный",
"экран пайки"
],
"desc": "Показывать детальную информацию на экране пайки"
},
"ScrollingSpeed": {
"text2": [
"Скорость",
"текста"
],
"desc": "Скорость прокрутки текста <М=медленно, Б=быстро>"
},
"QCMaxVoltage": {
"text2": [
"Мощность",
"питания"
],
"desc": "Мощность используемого источника питания"
},
"PowerLimit": {
"text2": [
"Предел",
"мощности"
],
"desc": "Максимальная мощность, которую может использовать паяльник <Ватт>"
},
"ReverseButtonTempChange": {
"text2": [
"Инвертировать",
"кнопки"
],
"desc": "Инвертировать кнопки изменения температуры"
},
"TempChangeShortStep": {
"text2": [
"Шаг темп.",
"кор. наж."
],
"desc": "Шаг изменения температуры при коротком нажатии кнопок"
},
"TempChangeLongStep": {
"text2": [
"Шаг темп.",
"длин. наж."
],
"desc": "Шаг изменения температуры при длинном нажатии кнопок"
},
"PowerPulsePower": {
"text2": [
"Сила имп.",
"питания Вт"
],
"desc": "Сила импульса удерживающего от сна повербанк или другой источник питания"
},
"HallEffSensitivity": {
"text2": [
"Эффект Холла",
"чувствительность"
],
"desc": "Уровень чувствительности датчика холла в режиме сна <О=Отключено, Н=Низкий, С=Средний, В=Высокий>"
},
"LockingMode": {
"text2": [
"Разрешить",
"блок. кнопок"
],
"desc": "При работе длинное нажатие обеих кнопок блокирует их <О=Отключено, Т=Только турбо, П=Полная блокировка>"
},
"MinVolCell": {
"text2": [
"Мин.",
"напр."
],
"desc": "Минимальное разрешенное напряжение на ячейку <В вольтах> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Зацикленная",
"анимация"
],
"desc": "Зацикленная анимация иконок в главном меню"
},
"AnimSpeed": {
"text2": [
"Скорость",
"анимации"
],
"desc": "Скорость анимации иконок в главном меню <Милисекунды> <О=Отключено, Н=Низкий, С=Средний, В=Высокий>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" RU Русский"
],
"desc": ""
}
}
"languageCode": "RU",
"languageLocalName": "Русский",
"fonts": ["ascii_basic", "latin_extended", "cyrillic"],
"messages": {
"SettingsCalibrationDone": "Калибровка завершена!",
"SettingsCalibrationWarning": "Прежде чем продолжить, пожалуйста, убедитесь, что жало имеет комнатную температуру!",
"SettingsResetWarning": "Вы уверены, что хотите сбросить настройки к значениям по умолчанию?",
"UVLOWarningString": "НАПРЯЖ--",
"UndervoltageString": "Низкое напряжение",
"InputVoltageString": "Питание В: ",
"WarningTipTempString": "Темп. жала: ",
"BadTipString": АЛО--",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Ожидание...",
"WarningSimpleString": "ГОРЯЧО!",
"WarningAdvancedString": "!!! ГОРЯЧЕЕ !!!\n!!! ЖАЛО !!!",
"SleepingTipAdvancedString": "Жало:",
"IdleTipString": "Жало:",
"IdleSetString": " ->",
"TipDisconnectedString": "ЖАЛО ОТСОЕДИНЕНО",
"SolderingAdvancedPowerPrompt": "Питание: ",
"OffString": "Выкл.",
"YourGainMessage": "Прирост:"
},
"messagesWarn": {
"ResetOKMessage": "Сброс OK",
"SettingsResetMessage": ["Настройки", "сброшены!"],
"NoAccelerometerMessage": ["Не определен", "акселерометр!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": ",
"SettingLeftChar": "Л",
"SettingAutoChar": "А",
"SettingOffChar": "O",
"SettingSlowChar": "М",
"SettingMediumChar": "M",
"SettingFastChar": "Б",
"SettingStartNoneChar": "В",
"SettingStartSolderingChar": ",
"SettingStartSleepChar": "О",
"SettingStartSleepOffChar": "К",
"SettingSensitivityOff": "О",
"SettingSensitivityLow": "Н",
"SettingSensitivityMedium": "С",
"SettingSensitivityHigh": "В",
"SettingLockDisableChar": "О",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П",
"SettingNAChar": "Н/Д"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Параметры", "питания"],
"desc": "Источник питания и минимальное напряжение на ячейку"
},
"SolderingMenu": {
"text2": ["Параметры", "пайки"],
"desc": "Параметры пайки"
},
"PowerSavingMenu": {
"text2": ["Режимы", "сна"],
"desc": "Настройки режима ожидания"
},
"UIMenu": {
"text2": ["Параметры", "интерфейса"],
"desc": "Настройки пользовательского интерфейса"
},
"AdvancedMenu": {
"text2": ["Дополнител.", "настройки"],
"desc": "Дополнительные настройки"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Источник", "питания"],
"desc": "Источник питания. Устанавливает напряжение отсечки. (DC 10В) (S 3,3В на ячейку, без лимита мощности)"
},
"SleepTemperature": {
"text2": ["Темп.", "ожидания"],
"desc": "Температура режима ожидания"
},
"SleepTimeout": {
"text2": ["Таймаут", "ожидания"],
"desc": "Время до перехода в режим ожидания (Минуты | Секунды)"
},
"ShutdownTimeout": {
"text2": ["Таймаут", "выключения"],
"desc": "Время до отключения паяльника (Минуты)"
},
"MotionSensitivity": {
"text2": ["Чувствительн.", "акселерометра"],
"desc": "Чувствительность акселерометра (0=Выкл. | 1=Мин. | ... | 9=Макс.)"
},
"TemperatureUnit": {
"text2": ["Единицы", "температуры"],
"desc": "Единицы измерения температуры (C=Цельcия | F=Фаренгейта)"
},
"AdvancedIdle": {
"text2": ["Подробный", "реж. ожидания"],
"desc": "Отображать детальную информацию уменьшенным шрифтом на экране ожидания"
},
"DisplayRotation": {
"text2": ["Ориентация", "экрана"],
"desc": "Ориентация экрана (П=Правая рука | Л=Левая рука | А=Авто)"
},
"BoostTemperature": {
"text2": ["t° турбо", "режима"],
"desc": "Температура жала в турбо-режиме"
},
"AutoStart": {
"text2": ["Авто", "старт"],
"desc": "Режим, в котором запускается паяльник при подаче питания (В=Выкл. | П=Пайка | О=Ожидание | К=Ожидание при комн. темп.)"
},
"CooldownBlink": {
"text2": ["Мигание t°", "при остывании"],
"desc": "Мигать температурой на экране охлаждения, пока жало еще горячее"
},
"TemperatureCalibration": {
"text2": ["Калибровка", "температуры"],
"desc": "Калибровка термодатчика жала"
},
"SettingsReset": {
"text2": ["Сброс", "Настроек"],
"desc": "Сброс настроек к значеням по умолчанию"
},
"VoltageCalibration": {
"text2": ["Калибровка", "напряжения"],
"desc": "Калибровка входного напряжения (длинное нажатие для выхода)"
},
"AdvancedSoldering": {
"text2": ["Подробный", "экран пайки"],
"desc": "Показывать детальную информацию на экране пайки"
},
"ScrollingSpeed": {
"text2": ["Скорость", "текста"],
"desc": "Скорость прокрутки текста (М=медленно | Б=быстро)"
},
"QCMaxVoltage": {
"text2": ["Мощность", "питания"],
"desc": "Мощность используемого источника питания"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Предел", "мощности"],
"desc": "Максимальная мощность, которую может использовать паяльник (Ватт)"
},
"ReverseButtonTempChange": {
"text2": ["Инвертировать", "кнопки"],
"desc": "Инвертировать кнопки изменения температуры"
},
"TempChangeShortStep": {
"text2": ["Шаг темп.", "кор. наж."],
"desc": "Шаг изменения температуры при коротком нажатии кнопок"
},
"TempChangeLongStep": {
"text2": ["Шаг темп.", "длин. наж."],
"desc": "Шаг изменения температуры при длинном нажатии кнопок"
},
"PowerPulsePower": {
"text2": ["Сила имп.", "питания Вт"],
"desc": "Сила импульса удерживающего от сна повербанк или другой источник питания"
},
"HallEffSensitivity": {
"text2": ["Эффект Холла", "чувствительность"],
"desc": "Уровень чувствительности датчика холла в режиме сна (О=Отключено | Н=Низкий | С=Средний | В=Высокий)"
},
"LockingMode": {
"text2": ["Разрешить", "блок. кнопок"],
"desc": "При работе длинное нажатие обеих кнопок блокирует их (О=Отключено | Т=Только турбо | П=Полная блокировка)"
},
"MinVolCell": {
"text2": ["Мин.", "напр."],
"desc": "Минимальное разрешенное напряжение на ячейку (3S: 3 - 3,7V | 4-S: 2,4 - 3,7V)"
},
"AnimLoop": {
"text2": ["Зацикленная", "анимация"],
"desc": "Зацикленная анимация иконок в главном меню"
},
"AnimSpeed": {
"text2": ["Скорость", "анимации"],
"desc": "Скорость анимации иконок в главном меню (Милисекунды) (О=Отключено | Н=Низкий | С=Средний | В=Высокий)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5с)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250мс)"
},
"LanguageSwitch": {
"text2": ["Язык:", " RU Русский"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -6,56 +6,54 @@
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibrácia hotová!",
"SettingsCalibrationWarning": "Najprv sa prosím uistite, že hrot má izbovú teplotu!",
"SettingsResetWarning": "Naozaj chcete obnovit továrenské nastavenia?",
"SettingsResetWarning": "Naozaj chcete obnoviť továrenské nastavenia?",
"UVLOWarningString": "Nízke U!",
"UndervoltageString": "Nízke napätie",
"InputVoltageString": "Vstupné U: ",
"WarningTipTempString": "Tep. hrotu: ",
"BadTipString": "ZLÝ HROT",
"SleepingSimpleString": "Chrr",
"SleepingAdvancedString": "Pokojový režim..",
"WarningSimpleString": "PÁLI",
"WarningAdvancedString": "HROT JE HORÚCI !",
"SleepingTipAdvancedString": "Hrot:",
"IdleTipString": "Hrot:",
"IdleSetString": "Cieľ:",
"TipDisconnectedString": "HROT ODPOJENÝ",
"SolderingAdvancedPowerPrompt": "Výkon: ",
"OffString": "Vyp",
"YourGainMessage": "Zisk:"
"OffString": "Vyp"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Tov. nas. obnov.",
""
"Nastavenia",
"resetované"
],
"NoAccelerometerMessage": [
"Bez pohyb. senz.",
""
"Bez pohybového",
"senzora!"
],
"NoPowerDeliveryMessage": [
"Chýba čip USB-PD",
""
"Chýba čip",
"USB-PD!"
],
"LockingKeysString": " ZABLOK.",
"LockingKeysString": "ZABLOK.",
"UnlockingKeysString": "ODBLOK.",
"WarningKeysLockedString": "!ZABLOK!"
"WarningKeysLockedString": "!ZABLOK!",
"WarningThermalRunaway": [
"Únik",
"Tepla"
]
},
"characters": {
"SettingRightChar": "P",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "R",
"SettingSlowChar": "P",
"SettingMediumChar": "M",
"SettingOffChar": "Z",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "K",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "N",
"SettingSlowChar": "P",
"SettingMediumChar": "S",
"SettingFastChar": "R",
"SettingStartNoneChar": "V",
"SettingStartSolderingChar": "Z",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "I",
"SettingSensitivityOff": "Z",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "S",
@@ -68,10 +66,10 @@
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
"Nastavenie",
"výkonu"
],
"desc": "Power settings"
"desc": "Nastavenie výkonu"
},
"SolderingMenu": {
"text2": [
@@ -108,7 +106,7 @@
"Zdroj",
"napätia"
],
"desc": "Zdroj napätia. Nastavenie napätia pre vypnutie (cutoff) <DC=10V, nS=n*3.3V pre LiIon články>"
"desc": "Zdroj napätia. Nastavenie napätia pre vypnutie (cutoff) (DC=10V | nS=n*3.3V pre LiIon články)"
},
"SleepTemperature": {
"text2": [
@@ -122,42 +120,42 @@
"Pokojový",
"režim po"
],
"desc": "Pokojový režim po <S=sekundách/M=minútach>"
"desc": "Pokojový režim po (S=sekundách | M=minútach)"
},
"ShutdownTimeout": {
"text2": [
"Vypnutie",
"po"
],
"desc": "Čas na vypnutie <minúty>"
"desc": "Čas na vypnutie (minúty)"
},
"MotionSensitivity": {
"text2": [
"Citlivosť",
"pohybu"
],
"desc": "Citlivosť detekcie pohybu <0=Vyp, 1=Min ... 9=Max>"
"desc": "Citlivosť detekcie pohybu (0=Vyp | 1=Min | ... | 9=Max)"
},
"TemperatureUnit": {
"text2": [
"Jednotka",
"teploty"
],
"desc": "Jednotky merania teploty <C=stupne Celzia, F=stupne Fahrenheita>"
"desc": "Jednotky merania teploty (C=stupne Celzia | F=stupne Fahrenheita)"
},
"AdvancedIdle": {
"text2": [
"Detaily v",
"pokoj. režime"
],
"desc": "Zobraziť detailné informácie v pokojovom režime <T=Zap, F=Vyp>"
"desc": "Zobraziť detailné informácie v pokojovom režime (T=Zap | F=Vyp)"
},
"DisplayRotation": {
"text2": [
"Orientácia",
"displeja"
],
"desc": "Orientácia displeja <A=Auto, L=Ľavák, P=Pravák>"
"desc": "Orientácia displeja (P=Pravák | L=Ľavák | A=Auto)"
},
"BoostTemperature": {
"text2": [
@@ -171,7 +169,7 @@
"Automatické",
"spustenie"
],
"desc": "Pri štarte spustiť režim spájkovania <S=Zap, N=Vyp, K=Spanok>"
"desc": "Pri štarte spustiť režim spájkovania (V=Vyp | Z=Spájkovanie | S=Spanok | I=Spanok izbová teplota)"
},
"CooldownBlink": {
"text2": [
@@ -217,17 +215,24 @@
},
"QCMaxVoltage": {
"text2": [
"Obmedzenie",
"výkonu"
"Obmedzenie QC",
"napätia"
],
"desc": "Obmedzenie výkonu podľa použitého zdroja"
"desc": "Maximálne QC napätie ktoré si má systém vyžiadať"
},
"PDNegTimeout": {
"text2": [
"Čas vypršania",
"Power Delivery"
],
"desc": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)"
},
"PowerLimit": {
"text2": [
"Obmedzenie",
"výkonu"
],
"desc": "Obmedzenie výkonu podľa použitého zdroja <watt>"
"desc": "Obmedzenie výkonu podľa použitého zdroja (watt)"
},
"ReverseButtonTempChange": {
"text2": [
@@ -255,63 +260,77 @@
"Intenzita",
"impulzu"
],
"desc": "Impulz udržujúci napájací zdroj zapnutý (power banky) <watt>"
"desc": "Impulz udržujúci napájací zdroj zapnutý (power banky) (watt)"
},
"HallEffSensitivity": {
"text2": [
"Citliv.",
"Hall"
],
"desc": "Citlivosť Halloveho senzora pre detekciu spánku <Z=Zakázať,N=Nízka,S=Stredná,V=Vysoká>"
"desc": "Citlivosť Hallovho senzora pre detekciu spánku (Z=Zakázať | N=Nízka | S=Stredná | V=Vysoká)"
},
"LockingMode": {
"text2": [
"Povoliť zámok",
"tlačidiel"
],
"desc": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania <Z=Zakázať, B=Okrem boost, P=Plné zamknutie>"
"desc": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania (Z=Zakázať | B=Okrem boost | P=Plné zamknutie)"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
"Minimálne",
"napätie"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
"desc": "Minimálne napätie povolené na jeden článok (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
"Opakovanie",
"animácií"
],
"desc": "Loop icon animations in root menu"
"desc": "Opakovanie animácií ikoniek v hlavnom menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
"Rýchlosť",
"animácií"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
"desc": "Rýchlosť animácií ikoniek v menu (O=off | P=pomaly | S=stredne | R=rýchlo)"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
"Interval",
"impulzu"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
"desc": "Interval medzi impulzami udržujúcimi napájací zdroj zapnutý (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
"Dĺžka impulzu",
""
],
"desc": "Keep-awake-pulse duration (x 250ms)"
"desc": "Dĺžka impulzu udržujúci napájací zdroj zapnutý (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
"Jazyk:",
" SK Slovenčina"
],
"desc": ""
"desc": "Aktuálny jazyk"
},
"Brightness": {
"text2": [
"Jas",
"obrazovky"
],
"desc": "Mení jas/kontrast OLED displeja"
},
"ColourInversion": {
"text2": [
"Invertovať",
"obrazovku"
],
"desc": "Invertovať farby OLED displeja"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "SL",
"languageLocalName": "Slovenščina",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibracija opravljena!",
"SettingsCalibrationWarning": "Pred nadaljevanjem mora biti konica segreta na sobno temperaturo!",
"SettingsResetWarning": "Res želite ponastaviti na privzete nastavitve?",
"UVLOWarningString": "NIZKA U",
"UndervoltageString": "Nizka napetost",
"InputVoltageString": "Vhodna U: ",
"WarningTipTempString": "Temp. kon.: ",
"BadTipString": "KONICA?",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Spim...",
"WarningSimpleString": "VROČ",
"WarningAdvancedString": "!!VROČA KONICA!!",
"SleepingTipAdvancedString": "Konica",
"IdleTipString": "Kon:",
"IdleSetString": " temp:",
"TipDisconnectedString": "NI KONICE",
"SolderingAdvancedPowerPrompt": "Moč: ",
"OffString": "Off",
"YourGainMessage": "Ojačenje"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Nastavitve OK!",
""
],
"NoAccelerometerMessage": [
"Ni pospeševalnik",
""
],
"NoPowerDeliveryMessage": [
"Ni USB-PD čipa!",
""
],
"LockingKeysString": "ZAKLENJ.",
"UnlockingKeysString": "ODKLENJ.",
"WarningKeysLockedString": "ZAKLENJ."
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "L",
"SettingAutoChar": "S",
"SettingFastChar": "H",
"SettingSlowChar": "P",
"SettingMediumChar": "M",
"SettingOffChar": "U",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "V",
"SettingStartNoneChar": "U",
"SettingSensitivityOff": "U",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "S",
"SettingSensitivityHigh": "V",
"SettingLockDisableChar": "O",
"SettingLockBoostChar": "L",
"SettingLockFullChar": "P",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Nastavitve",
"spajkanja"
],
"desc": "Nastavitve spajkanja"
},
"PowerSavingMenu": {
"text2": [
"Način",
"spanja"
],
"desc": "Nastavitve varčevanja z energijo"
},
"UIMenu": {
"text2": [
"Uporabniški",
"vmesnik"
],
"desc": "Nastavitve uporabniškega vmesnika"
},
"AdvancedMenu": {
"text2": [
"Napredne",
"možnosti"
],
"desc": "Napredne možnosti"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Vir",
"napajanja"
],
"desc": "Vir napajanja. Nastavi napetost izklopa. <DC 10V> <S 3.3V na celico>"
},
"SleepTemperature": {
"text2": [
"Temp. med",
"spanjem"
],
"desc": "Temperatura med spanjem"
},
"SleepTimeout": {
"text2": [
"Čas do",
"spanja"
],
"desc": "Čas pred spanjem <S=sekunde | M=minute>"
},
"ShutdownTimeout": {
"text2": [
"Čas do",
"izklopa"
],
"desc": "Čas do izklopa <M=minute>"
},
"MotionSensitivity": {
"text2": [
"Občutljivost",
"premikanja"
],
"desc": "0=izklopljeno | 1=najmanjša | ... | 9=največja"
},
"TemperatureUnit": {
"text2": [
"Enota za",
"temperaturo"
],
"desc": "Enota za temperaturo <C=celzij | F=fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Več info. na",
"mir. zaslonu"
],
"desc": "Prikaži več informacij z manjšo pisavo na mirovalnem zaslonu."
},
"DisplayRotation": {
"text2": [
"Orientacija",
"zaslona"
],
"desc": "S=samodejno | L=levičar | D=desničar"
},
"BoostTemperature": {
"text2": [
"Pospešena",
"temp."
],
"desc": "Temperatura v pospešenem načinu"
},
"AutoStart": {
"text2": [
"Samodejni",
"zagon"
],
"desc": "Samodejno gretje konice ob vklopu <U=ugasnjeno | S=spajkanje | Z=spanje | V=spanje na sobni temperaturi>"
},
"CooldownBlink": {
"text2": [
"Utripanje med",
"hlajenjem"
],
"desc": "Ko je konica še vroča, utripaj prikaz temperature med hlajenjem."
},
"TemperatureCalibration": {
"text2": [
"Kalibriram",
"temperaturo?"
],
"desc": "Kalibracija temperature na konici."
},
"SettingsReset": {
"text2": [
"Tovarniške",
"nastavitve?"
],
"desc": "Ponastavitev vseh nastavitev"
},
"VoltageCalibration": {
"text2": [
"Kalibriram",
"vhodno napetost?"
],
"desc": "Kalibracija VIN <nastavitve z gumbi, dolg pritisk za izhod>"
},
"AdvancedSoldering": {
"text2": [
"Več info na",
"zaslonu spaj."
],
"desc": "Prikaže več informacij z manjšo pisavo na zaslonu med spajkanjem."
},
"ScrollingSpeed": {
"text2": [
"Hitrost",
"besedila"
],
"desc": "Hitrost, s katero se prikazuje besedilo <P=počasi | H=hitro>"
},
"QCMaxVoltage": {
"text2": [
"QC",
"napetost"
],
"desc": "Moč napajalnega vira v vatih [W]"
},
"PowerLimit": {
"text2": [
"Meja",
"moči"
],
"desc": "Največja dovoljena moč v vatih [W]"
},
"ReverseButtonTempChange": {
"text2": [
"Obrni",
"tipki + -?"
],
"desc": "Zamenjaj funkciji gumbov."
},
"TempChangeShortStep": {
"text2": [
"Kratka sprememba",
"temperature?"
],
"desc": "Temperatura se spremeni ob kratkem pritisku na gumb."
},
"TempChangeLongStep": {
"text2": [
"Dolga sprememba",
"temperature?"
],
"desc": "Temperatura se spremeni ob dolgem pritisku na gumb."
},
"PowerPulsePower": {
"text2": [
"Pulz",
"moči"
],
"desc": "Velikost moči za vzdrževanje budnosti."
},
"HallEffSensitivity": {
"text2": [
"Občut.",
"Hall son"
],
"desc": "Občutljivost Hallove sonde za zaznavanje spanja <U=ugasnjen | N=nizka | S=srednja | V=visoka>"
},
"LockingMode": {
"text2": [
"Omogoči",
"zaklep gumbov"
],
"desc": "Za zaklep med spajkanjem drži oba gumba <O=onemogoči | L=le pospešeno | P=polno>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" SL Slovenščina"
],
"desc": ""
}
}
"languageCode": "SL",
"languageLocalName": "Slovenščina",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibracija opravljena!",
"SettingsCalibrationWarning": "Pred nadaljevanjem mora biti konica segreta na sobno temperaturo!",
"SettingsResetWarning": "Res želite ponastaviti na privzete nastavitve?",
"UVLOWarningString": "NIZKA U",
"UndervoltageString": "Nizka napetost",
"InputVoltageString": "Vhodna U: ",
"WarningTipTempString": "Temp. kon.: ",
"BadTipString": "KONICA?",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Spim...",
"WarningSimpleString": "VROČ",
"WarningAdvancedString": "!!VROČA KONICA!!",
"SleepingTipAdvancedString": "Konica",
"IdleTipString": "Kon:",
"IdleSetString": " temp:",
"TipDisconnectedString": "NI KONICE",
"SolderingAdvancedPowerPrompt": "Moč: ",
"OffString": "Off",
"YourGainMessage": "Ojačenje"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Nastavitve OK!", ""],
"NoAccelerometerMessage": ["Ni pospeševalnik", ""],
"NoPowerDeliveryMessage": ["Ni USB-PD čipa!", ""],
"LockingKeysString": "ZAKLENJ.",
"UnlockingKeysString": "ODKLENJ.",
"WarningKeysLockedString": "ZAKLENJ.",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "L",
"SettingAutoChar": "S",
"SettingOffChar": "U",
"SettingSlowChar": "P",
"SettingMediumChar": "M",
"SettingFastChar": "H",
"SettingStartNoneChar": "U",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "V",
"SettingSensitivityOff": "U",
"SettingSensitivityLow": "N",
"SettingSensitivityMedium": "S",
"SettingSensitivityHigh": "V",
"SettingLockDisableChar": "O",
"SettingLockBoostChar": "L",
"SettingLockFullChar": "P",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Nastavitve", "spajkanja"],
"desc": "Nastavitve spajkanja"
},
"PowerSavingMenu": {
"text2": ["Način", "spanja"],
"desc": "Nastavitve varčevanja z energijo"
},
"UIMenu": {
"text2": ["Uporabniški", "vmesnik"],
"desc": "Nastavitve uporabniškega vmesnika"
},
"AdvancedMenu": {
"text2": ["Napredne", "možnosti"],
"desc": "Napredne možnosti"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Vir", "napajanja"],
"desc": "Vir napajanja. Nastavi napetost izklopa. (DC 10V) (S 3.3V na celico)"
},
"SleepTemperature": {
"text2": ["Temp. med", "spanjem"],
"desc": "Temperatura med spanjem"
},
"SleepTimeout": {
"text2": ["Čas do", "spanja"],
"desc": "Čas pred spanjem (S=sekunde | M=minute)"
},
"ShutdownTimeout": {
"text2": ["Čas do", "izklopa"],
"desc": "Čas do izklopa (M=minute)"
},
"MotionSensitivity": {
"text2": ["Občutljivost", "premikanja"],
"desc": "0=izklopljeno | 1=najmanjša | ... | 9=največja"
},
"TemperatureUnit": {
"text2": ["Enota za", "temperaturo"],
"desc": "Enota za temperaturo (C=celzij | F=fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Več info. na", "mir. zaslonu"],
"desc": "Prikaži več informacij z manjšo pisavo na mirovalnem zaslonu."
},
"DisplayRotation": {
"text2": ["Orientacija", "zaslona"],
"desc": "D=desničar | L=levičar | S=samodejno"
},
"BoostTemperature": {
"text2": ["Pospešena", "temp."],
"desc": "Temperatura v pospešenem načinu"
},
"AutoStart": {
"text2": ["Samodejni", "zagon"],
"desc": "Samodejno gretje konice ob vklopu (U=ugasnjeno | S=spajkanje | Z=spanje | V=spanje na sobni temperaturi)"
},
"CooldownBlink": {
"text2": ["Utripanje med", "hlajenjem"],
"desc": "Ko je konica še vroča, utripaj prikaz temperature med hlajenjem."
},
"TemperatureCalibration": {
"text2": ["Kalibriram", "temperaturo?"],
"desc": "Kalibracija temperature na konici."
},
"SettingsReset": {
"text2": ["Tovarniške", "nastavitve?"],
"desc": "Ponastavitev vseh nastavitev"
},
"VoltageCalibration": {
"text2": ["Kalibriram", "vhodno napetost?"],
"desc": "Kalibracija VIN (nastavitve z gumbi, dolg pritisk za izhod)"
},
"AdvancedSoldering": {
"text2": ["Več info na", "zaslonu spaj."],
"desc": "Prikaže več informacij z manjšo pisavo na zaslonu med spajkanjem."
},
"ScrollingSpeed": {
"text2": ["Hitrost", "besedila"],
"desc": "Hitrost, s katero se prikazuje besedilo (P=počasi | H=hitro)"
},
"QCMaxVoltage": {
"text2": ["QC", "napetost"],
"desc": "Moč napajalnega vira v vatih [W]"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Meja", "moči"],
"desc": "Največja dovoljena moč v vatih [W]"
},
"ReverseButtonTempChange": {
"text2": ["Obrni", "tipki + -?"],
"desc": "Zamenjaj funkciji gumbov."
},
"TempChangeShortStep": {
"text2": ["Kratka sprememba", "temperature?"],
"desc": "Temperatura se spremeni ob kratkem pritisku na gumb."
},
"TempChangeLongStep": {
"text2": ["Dolga sprememba", "temperature?"],
"desc": "Temperatura se spremeni ob dolgem pritisku na gumb."
},
"PowerPulsePower": {
"text2": ["Pulz", "moči"],
"desc": "Velikost moči za vzdrževanje budnosti."
},
"HallEffSensitivity": {
"text2": ["Občut.", "Hall son"],
"desc": "Občutljivost Hallove sonde za zaznavanje spanja (U=ugasnjen | N=nizka | S=srednja | V=visoka)"
},
"LockingMode": {
"text2": ["Omogoči", "zaklep gumbov"],
"desc": "Za zaklep med spajkanjem drži oba gumba (O=onemogoči | L=le pospešeno | P=polno)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Jezik:", " SL Slovenščina"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "SR_CYRL",
"languageLocalName": "Српски",
"fonts": [
"ascii_basic",
"cyrillic"
],
"messages": {
"SettingsCalibrationDone": "Калибрација готова",
"SettingsCalibrationWarning": "Проверите да ли је врх охлађен на собну температуру пре него што наставите",
"SettingsResetWarning": "Да ли заиста желите да вратите поставке на фабричке вредности?",
"UVLOWarningString": "НИЗ.НАП.",
"UndervoltageString": "ПРЕНИЗАК НАПОН",
"InputVoltageString": "Ул. напон: ",
"WarningTipTempString": "Темп. врха: ",
"BadTipString": "ЛОШ ВРХ",
"SleepingSimpleString": "Сан",
"SleepingAdvancedString": "Спавање...",
"WarningSimpleString": "ВРУЋ",
"WarningAdvancedString": "! ОПРЕЗ, ВРУЋЕ !",
"SleepingTipAdvancedString": "Врх:",
"IdleTipString": "Врх:",
"IdleSetString": " / ",
"TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН",
"SolderingAdvancedPowerPrompt": "Снага: ",
"OffString": "Иск",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "Д",
"SettingLeftChar": "Л",
"SettingAutoChar": "А",
"SettingFastChar": "Б",
"SettingSlowChar": "С",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Поставке",
"лемљења"
],
"desc": "Поставке режима лемљења."
},
"PowerSavingMenu": {
"text2": [
"Уштеда",
"енергије"
],
"desc": "Поставке режима мировања."
},
"UIMenu": {
"text2": [
"Корисничко",
"сучеље"
],
"desc": "Поставке корисничког сучеља."
},
"AdvancedMenu": {
"text2": [
"Напредне",
"поставке"
],
"desc": "Напредне поставке."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Врста",
"напајања"
],
"desc": "Тип напајања; одређује најнижи радни напон. <DC=адаптер (10V), S=батерија (3,3V по ћелији)>"
},
"SleepTemperature": {
"text2": [
"Темп.",
"спавања"
],
"desc": "Температура на коју се спушта лемилица након одређеног времена мировања. <C/F>"
},
"SleepTimeout": {
"text2": [
"Време до",
"спавања"
],
"desc": "Време мировања након кога лемилица спушта температуру. <M=минути, S=секунде>"
},
"ShutdownTimeout": {
"text2": [
"Време до",
"гашења"
],
"desc": "Време мировања након кога се лемилица гаси. <M=минути>"
},
"MotionSensitivity": {
"text2": [
"Осетљивост",
"на покрет"
],
"desc": "Осетљивост сензора покрета. <0=искључено, 1=најмање осетљиво, 9=најосетљивије>"
},
"TemperatureUnit": {
"text2": [
"Јединица",
"температуре"
],
"desc": "Јединице у којима се приказује температура. <C=целзијус, F=фаренхајт>"
},
"AdvancedIdle": {
"text2": [
"Детаљи током",
"мировања"
],
"desc": "Приказивање детаљних информација на екрану током мировања."
},
"DisplayRotation": {
"text2": [
"Оријентација",
"екрана"
],
"desc": "Како је окренут екран. <А=аутоматски, Л=за леворуке, Д=за десноруке>"
},
"BoostTemperature": {
"text2": [
"Темп.",
"појачања"
],
"desc": "Температура врха лемилице у току појачања."
},
"AutoStart": {
"text2": [
"Врући",
"старт"
],
"desc": "Лемилица одмах по покретању прелази у режим лемљења и греје се."
},
"CooldownBlink": {
"text2": [
"Упозорење",
"при хлађењу"
],
"desc": "Приказ температуре трепће приликом хлађења докле год је врх и даље врућ."
},
"TemperatureCalibration": {
"text2": [
"Калибрација",
"температуре"
],
"desc": "Калибрисање одступања температуре врха у односу на дршку."
},
"SettingsReset": {
"text2": [
"Фабричке",
"поставке"
],
"desc": "Враћање свих поставки на фабричке вредности."
},
"VoltageCalibration": {
"text2": [
"Калибрација",
"улазног напона"
],
"desc": "Калибрисање улазног напона. Подешава се на тастере; дуги притисак за крај."
},
"AdvancedSoldering": {
"text2": [
"Детаљи током",
"лемљења"
],
"desc": "Приказивање детаљних информација на екрану током лемљења."
},
"ScrollingSpeed": {
"text2": [
"Брзина",
"порука"
],
"desc": "Брзина кретања описних порука попут ове. <С=споро, Б=брзо>"
},
"QCMaxVoltage": {
"text2": [
"Улазна",
"снага"
],
"desc": "Снага напајања у ватима."
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" SR Српски"
],
"desc": ""
}
}
"languageCode": "SR_CYRL",
"languageLocalName": "Српски",
"fonts": ["ascii_basic", "cyrillic"],
"messages": {
"SettingsCalibrationDone": "Калибрација готова",
"SettingsCalibrationWarning": "Проверите да ли је врх охлађен на собну температуру пре него што наставите",
"SettingsResetWarning": "Да ли заиста желите да вратите поставке на фабричке вредности?",
"UVLOWarningString": "НИЗ.НАП.",
"UndervoltageString": "ПРЕНИЗАК НАПОН",
"InputVoltageString": "Ул. напон: ",
"WarningTipTempString": "Темп. врха: ",
"BadTipString": "ЛОШ ВРХ",
"SleepingSimpleString": "Сан",
"SleepingAdvancedString": "Спавање...",
"WarningSimpleString": "ВРУЋ",
"WarningAdvancedString": "! ОПРЕЗ, ВРУЋЕ !",
"SleepingTipAdvancedString": "Врх:",
"IdleTipString": "Врх:",
"IdleSetString": " / ",
"TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН",
"SolderingAdvancedPowerPrompt": "Снага: ",
"OffString": "Иск",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "Д",
"SettingLeftChar": "Л",
"SettingAutoChar": "А",
"SettingOffChar": "O",
"SettingSlowChar": "С",
"SettingMediumChar": "M",
"SettingFastChar": "Б",
"SettingStartNoneChar": ",
"SettingStartSolderingChar": "Л",
"SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "X",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Поставке", "лемљења"],
"desc": "Поставке режима лемљења."
},
"PowerSavingMenu": {
"text2": ["Уштеда", "енергије"],
"desc": "Поставке режима мировања."
},
"UIMenu": {
"text2": ["Корисничко", "сучеље"],
"desc": "Поставке корисничког сучеља."
},
"AdvancedMenu": {
"text2": ["Напредне", "поставке"],
"desc": "Напредне поставке."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Врста", "напајања"],
"desc": "Тип напајања; одређује најнижи радни напон. (DC=адаптер [10V] | S=батерија [3,3V по ћелији])"
},
"SleepTemperature": {
"text2": ["Темп.", "спавања"],
"desc": "Температура на коју се спушта лемилица након одређеног времена мировања. (C | F)"
},
"SleepTimeout": {
"text2": ["Време до", "спавања"],
"desc": "Време мировања након кога лемилица спушта температуру. (M=минути | S=секунде)"
},
"ShutdownTimeout": {
"text2": ["Време до", "гашења"],
"desc": "Време мировања након кога се лемилица гаси. (M=минути)"
},
"MotionSensitivity": {
"text2": ["Осетљивост", "на покрет"],
"desc": "Осетљивост сензора покрета. (0=искључено | 1=најмање осетљиво | ... | 9=најосетљивије)"
},
"TemperatureUnit": {
"text2": ["Јединица", "температуре"],
"desc": "Јединице у којима се приказује температура. (C=целзијус | F=фаренхајт)"
},
"AdvancedIdle": {
"text2": ["Детаљи током", "мировања"],
"desc": "Приказивање детаљних информација на екрану током мировања."
},
"DisplayRotation": {
"text2": ["Оријентација", "екрана"],
"desc": "Како је окренут екран. (Д=за десноруке | Л=за леворуке | А=аутоматски)"
},
"BoostTemperature": {
"text2": ["Темп.", "појачања"],
"desc": "Температура врха лемилице у току појачања."
},
"AutoStart": {
"text2": ["Врући", "старт"],
"desc": "Лемилица одмах по покретању прелази у режим лемљења и греје се. (И=искључити | Л=лемљење | С=спавати | X=спавати собна температура)"
},
"CooldownBlink": {
"text2": ["Упозорење", "при хлађењу"],
"desc": "Приказ температуре трепће приликом хлађења докле год је врх и даље врућ."
},
"TemperatureCalibration": {
"text2": ["Калибрација", "температуре"],
"desc": "Калибрисање одступања температуре врха у односу на дршку."
},
"SettingsReset": {
"text2": ["Фабричке", "поставке"],
"desc": "Враћање свих поставки на фабричке вредности."
},
"VoltageCalibration": {
"text2": ["Калибрација", "улазног напона"],
"desc": "Калибрисање улазног напона. Подешава се на тастере; дуги притисак за крај."
},
"AdvancedSoldering": {
"text2": ["Детаљи током", "лемљења"],
"desc": "Приказивање детаљних информација на екрану током лемљења."
},
"ScrollingSpeed": {
"text2": ["Брзина", "порука"],
"desc": "Брзина кретања описних порука попут ове. (С=споро | Б=брзо)"
},
"QCMaxVoltage": {
"text2": ["Улазна", "снага"],
"desc": "Снага напајања у ватима."
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5с)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250мс)"
},
"LanguageSwitch": {
"text2": ["Jезик:", " SR Српски"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,213 @@
{
"languageCode": "SR_LATN",
"languageLocalName": "Srpski",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibracija gotova",
"SettingsCalibrationWarning": "Proverite da li je vrh ohlađen na sobnu temperaturu pre nego što nastavite",
"SettingsResetWarning": "Da li zaista želite da vratite postavke na fabričke vrednosti?",
"UVLOWarningString": "NIZ.NAP.",
"UndervoltageString": "PRENIZAK NAPON",
"InputVoltageString": "Ul. napon: ",
"WarningTipTempString": "Temp. vrha: ",
"BadTipString": "LOŠ VRH",
"SleepingSimpleString": "Zzz",
"SleepingAdvancedString": "Spavanje...",
"WarningSimpleString": "VRUĆ",
"WarningAdvancedString": "! OPREZ, VRUĆE !",
"SleepingTipAdvancedString": "Vrh:",
"IdleTipString": "Vrh:",
"IdleSetString": " / ",
"TipDisconnectedString": "VRH NIJE SPOJEN",
"SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Isk",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "B",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Postavke",
"lemljenja"
],
"desc": "Postavke režima lemljenja."
},
"PowerSavingMenu": {
"text2": [
"Ušteda",
"energije"
],
"desc": "Postavke režima mirovanja."
},
"UIMenu": {
"text2": [
"Korisničko",
"sučelje"
],
"desc": "Postavke korisničkog sučelja."
},
"AdvancedMenu": {
"text2": [
"Napredne",
"postavke"
],
"desc": "Napredne postavke."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Vrsta",
"napajanja"
],
"desc": "Tip napajanja; određuje najniži radni napon. <DC=adapter (10V), S=baterija (3,3V po ćeliji)>"
},
"SleepTemperature": {
"text2": [
"Temp.",
"spavanja"
],
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. <C/F>"
},
"SleepTimeout": {
"text2": [
"Vreme do",
"spavanja"
],
"desc": "Vreme mirovanja nakon koga lemilica spušta temperaturu. <M=minuti, S=sekunde>"
},
"ShutdownTimeout": {
"text2": [
"Vreme do",
"gašenja"
],
"desc": "Vreme mirovanja nakon koga se lemilica gasi. <M=minuti>"
},
"MotionSensitivity": {
"text2": [
"Osetljivost",
"na pokret"
],
"desc": "Osetljivost senzora pokreta. <0=isključeno, 1=najmanje osetljivo, 9=najosetljivije>"
},
"TemperatureUnit": {
"text2": [
"Jedinica",
"temperature"
],
"desc": "Jedinice u kojima se prikazuje temperatura. <C=celzijus, F=farenhajt>"
},
"AdvancedIdle": {
"text2": [
"Detalji tokom",
"mirovanja"
],
"desc": "Prikazivanje detaljnih informacija na ekranu tokom mirovanja."
},
"DisplayRotation": {
"text2": [
"Orijentacija",
"ekrana"
],
"desc": "Kako je okrenut ekran. <A=automatski, L=za levoruke, D=za desnoruke>"
},
"BoostTemperature": {
"text2": [
"Temp.",
"pojačanja"
],
"desc": "Temperatura vrha lemilice u toku pojačanja."
},
"AutoStart": {
"text2": [
"Vrući",
"start"
],
"desc": "Lemilica odmah po pokretanju prelazi u režim lemljenja i greje se."
},
"CooldownBlink": {
"text2": [
"Upozorenje",
"pri hlađenju"
],
"desc": "Prikaz temperature trepće prilikom hlađenja dokle god je vrh i dalje vruć."
},
"TemperatureCalibration": {
"text2": [
"Kalibracija",
"temperature"
],
"desc": "Kalibrisanje odstupanja temperature vrha u odnosu na dršku."
},
"SettingsReset": {
"text2": [
"Fabričke",
"postavke"
],
"desc": "Vraćanje svih postavki na fabričke vrednosti."
},
"VoltageCalibration": {
"text2": [
"Kalibracija",
"ulaznog napona"
],
"desc": "Kalibrisanje ulaznog napona. Podešava se na tastere; dugi pritisak za kraj."
},
"AdvancedSoldering": {
"text2": [
"Detalji tokom",
"lemljenja"
],
"desc": "Prikazivanje detaljnih informacija na ekranu tokom lemljenja."
},
"ScrollingSpeed": {
"text2": [
"Brzina",
"poruka"
],
"desc": "Brzina kretanja opisnih poruka poput ove. <S=sporo, B=brzo>"
},
"QCMaxVoltage": {
"text2": [
"Ulazna",
"snaga"
],
"desc": "Snaga napajanja u vatima."
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" SR Srpski"
],
"desc": ""
}
}
"languageCode": "SR_LATN",
"languageLocalName": "Srpski",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibracija gotova",
"SettingsCalibrationWarning": "Proverite da li je vrh ohlađen na sobnu temperaturu pre nego što nastavite",
"SettingsResetWarning": "Da li zaista želite da vratite postavke na fabričke vrednosti?",
"UVLOWarningString": "NIZ.NAP.",
"UndervoltageString": "PRENIZAK NAPON",
"InputVoltageString": "Ul. napon: ",
"WarningTipTempString": "Temp. vrha: ",
"BadTipString": "LOŠ VRH",
"SleepingSimpleString": "Zzz",
"SleepingAdvancedString": "Spavanje...",
"WarningSimpleString": "VRUĆ",
"WarningAdvancedString": "! OPREZ, VRUĆE !",
"SleepingTipAdvancedString": "Vrh:",
"IdleTipString": "Vrh:",
"IdleSetString": " / ",
"TipDisconnectedString": "VRH NIJE SPOJEN",
"SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Isk",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Settings were", "reset!"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "D",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "B",
"SettingStartNoneChar": "I",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "X",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Postavke", "lemljenja"],
"desc": "Postavke režima lemljenja."
},
"PowerSavingMenu": {
"text2": ["Ušteda", "energije"],
"desc": "Postavke režima mirovanja."
},
"UIMenu": {
"text2": ["Korisničko", "sučelje"],
"desc": "Postavke korisničkog sučelja."
},
"AdvancedMenu": {
"text2": ["Napredne", "postavke"],
"desc": "Napredne postavke."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Vrsta", "napajanja"],
"desc": "Tip napajanja; određuje najniži radni napon. (DC=adapter [10V], S=baterija [3,3V po ćeliji])"
},
"SleepTemperature": {
"text2": ["Temp.", "spavanja"],
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. (C | F)"
},
"SleepTimeout": {
"text2": ["Vreme do", "spavanja"],
"desc": "Vreme mirovanja nakon koga lemilica spušta temperaturu. (M=minuti | S=sekunde)"
},
"ShutdownTimeout": {
"text2": ["Vreme do", "gašenja"],
"desc": "Vreme mirovanja nakon koga se lemilica gasi. (M=minuti)"
},
"MotionSensitivity": {
"text2": ["Osetljivost", "na pokret"],
"desc": "Osetljivost senzora pokreta. (0=isključeno | 1=najmanje osetljivo | ... | 9=najosetljivije)"
},
"TemperatureUnit": {
"text2": ["Jedinica", "temperature"],
"desc": "Jedinice u kojima se prikazuje temperatura. (C=celzijus | F=farenhajt)"
},
"AdvancedIdle": {
"text2": ["Detalji tokom", "mirovanja"],
"desc": "Prikazivanje detaljnih informacija na ekranu tokom mirovanja."
},
"DisplayRotation": {
"text2": ["Orijentacija", "ekrana"],
"desc": "Kako je okrenut ekran. (D=za desnoruke | L=za levoruke | A=automatski)"
},
"BoostTemperature": {
"text2": ["Temp.", "pojačanja"],
"desc": "Temperatura vrha lemilice u toku pojačanja."
},
"AutoStart": {
"text2": ["Vrući", "start"],
"desc": "Lemilica odmah po pokretanju prelazi u režim lemljenja i greje se. (I=isključiti | L=lemljenje | S=spavati | X=spavati sobna temperatura)"
},
"CooldownBlink": {
"text2": ["Upozorenje", "pri hlađenju"],
"desc": "Prikaz temperature trepće prilikom hlađenja dokle god je vrh i dalje vruć."
},
"TemperatureCalibration": {
"text2": ["Kalibracija", "temperature"],
"desc": "Kalibrisanje odstupanja temperature vrha u odnosu na dršku."
},
"SettingsReset": {
"text2": ["Fabričke", "postavke"],
"desc": "Vraćanje svih postavki na fabričke vrednosti."
},
"VoltageCalibration": {
"text2": ["Kalibracija", "ulaznog napona"],
"desc": "Kalibrisanje ulaznog napona. Podešava se na tastere; dugi pritisak za kraj."
},
"AdvancedSoldering": {
"text2": ["Detalji tokom", "lemljenja"],
"desc": "Prikazivanje detaljnih informacija na ekranu tokom lemljenja."
},
"ScrollingSpeed": {
"text2": ["Brzina", "poruka"],
"desc": "Brzina kretanja opisnih poruka poput ove. (S=sporo | B=brzo)"
},
"QCMaxVoltage": {
"text2": ["Ulazna", "snaga"],
"desc": "Snaga napajanja u vatima."
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Maximum power the iron can use (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Jezik:", " SR Srpski"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,317 +1,207 @@
{
"languageCode": "SV",
"languageLocalName": "Svenska",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature before continuing!",
"SettingsResetWarning": "Are you sure you want to reset settings to default values?",
"UVLOWarningString": "DC LÅG",
"UndervoltageString": "Underspänning",
"InputVoltageString": "Inspän. V: ",
"WarningTipTempString": "Spetstemp: ",
"BadTipString": "SPETSFEL",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Viloläge...",
"WarningSimpleString": "VARM",
"WarningAdvancedString": "!! SPETS VARM !!",
"SleepingTipAdvancedString": "Spets:",
"IdleTipString": "Spets:",
"IdleSetString": " Ange:",
"TipDisconnectedString": "SPETS URTAGEN",
"SolderingAdvancedPowerPrompt": "Ström: ",
"OffString": "Av",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": [
"Settings were",
"reset!"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": " LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "H",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingFastChar": "S",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Lödnings-",
"inställningar"
],
"desc": "Lödningsinställningar"
},
"PowerSavingMenu": {
"text2": [
"Vilo-",
"lägen"
],
"desc": "Viloläges-inställningar"
},
"UIMenu": {
"text2": [
"Användar-",
"gränssnitt"
],
"desc": "Användargränssnitts-inställningar"
},
"AdvancedMenu": {
"text2": [
"Avancerade",
"alternativ"
],
"desc": "Avancerade alternativ"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Ström-",
"källa"
],
"desc": "Strömkälla. Anger lägsta spänning. <DC 10V> <S 3.3V per cell>"
},
"SleepTemperature": {
"text2": [
"Vilo-",
"temp"
],
"desc": "Vilotemperatur <C>"
},
"SleepTimeout": {
"text2": [
"Vilo-",
"timeout"
],
"desc": "Vilo-timeout <Minuter/Seconder>"
},
"ShutdownTimeout": {
"text2": [
"Avstängn.",
"timeout"
],
"desc": "Avstängnings-timeout <Minuter>"
},
"MotionSensitivity": {
"text2": [
"Rörelse-",
"känslighet"
],
"desc": "Rörelsekänslighet <0.Av 1.minst känslig 9.mest känslig>"
},
"TemperatureUnit": {
"text2": [
"Temperatur-",
"enheter"
],
"desc": "Temperaturenhet <C=Celsius F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"Detaljerad",
"vid inaktiv"
],
"desc": "Visa detaljerad information i mindre typsnitt när inaktiv."
},
"DisplayRotation": {
"text2": [
"Visnings",
"läge"
],
"desc": "Visningsläge <A. Automatisk V. Vänsterhänt H. Högerhänt>"
},
"BoostTemperature": {
"text2": [
"Turbo-",
"temp"
],
"desc": "Temperatur i \"turbo\"-läge"
},
"AutoStart": {
"text2": [
"Auto",
"start"
],
"desc": "Startar automatiskt lödpennan vid uppstart. T=Lödning, S=Viloläge, F=Av"
},
"CooldownBlink": {
"text2": [
"Nedkylnings-",
"blink"
],
"desc": "Blinka temperaturen medan spetsen kyls av och fortfarande är varm."
},
"TemperatureCalibration": {
"text2": [
"Kalibrera",
"temperatur?"
],
"desc": "Kalibrera spets-kompensation."
},
"SettingsReset": {
"text2": [
"Fabriks-",
"inställ?"
],
"desc": "Återställ alla inställningar"
},
"VoltageCalibration": {
"text2": [
"Kalibrera",
"inspänning?"
],
"desc": "Inspänningskalibrering. Knapparna justerar, håll inne för avslut"
},
"AdvancedSoldering": {
"text2": [
"Detaljerad",
"lödng.skärm"
],
"desc": "Visa detaljerad information vid lödning"
},
"ScrollingSpeed": {
"text2": [
"Beskrivning",
"rullhast."
],
"desc": "Hastighet som den här texten rullar i"
},
"QCMaxVoltage": {
"text2": [
"Power",
"Wattage"
],
"desc": "Power Wattage of the power adapter used"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" SV Svenska"
],
"desc": ""
}
}
"languageCode": "SV",
"languageLocalName": "Svenska",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationWarning": "Se till att spetsen är rumstemererad innan du fortsätter!",
"SettingsResetWarning": "Är du säker på att du vill återställa inställningarna?",
"UVLOWarningString": "DC LÅG",
"UndervoltageString": "Underspänning",
"InputVoltageString": "Inspän. V: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Viloläge...",
"SleepingTipAdvancedString": "Spets:",
"IdleTipString": "Spts:",
"IdleSetString": " Ang:",
"TipDisconnectedString": "SPETS URTAGEN",
"SolderingAdvancedPowerPrompt": "Ström: ",
"OffString": "Av"
},
"messagesWarn": {
"ResetOKMessage": "Reset OK",
"SettingsResetMessage": ["Inställningar", "återställda"],
"NoAccelerometerMessage": ["Ingen", "accelerometer"],
"NoPowerDeliveryMessage": ["Ingen USB-PD IC", "hittades!"],
"LockingKeysString": "LÅST",
"UnlockingKeysString": "UPPLÅST",
"WarningKeysLockedString": "!LÅST!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "H",
"SettingLeftChar": "V",
"SettingAutoChar": "A",
"SettingOffChar": "A",
"SettingSlowChar": "L",
"SettingMediumChar": "M",
"SettingFastChar": "S",
"SettingStartNoneChar": "A",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "R",
"SettingSensitivityOff": "A",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "A",
"SettingLockBoostChar": "T",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Effekt-", "inställning"],
"desc": "Effektinställningar"
},
"SolderingMenu": {
"text2": ["Lödnings-", "inställning"],
"desc": "Lödningsinställningar"
},
"PowerSavingMenu": {
"text2": ["Vilo-", "läge"],
"desc": "Viloläges-inställningar"
},
"UIMenu": {
"text2": ["Användar-", "gränssnitt"],
"desc": "Användargränssnitts-inställningar"
},
"AdvancedMenu": {
"text2": ["Avancerade", "alternativ"],
"desc": "Avancerade alternativ"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Ström-", "källa"],
"desc": "Strömkälla. Anger lägsta spänning. (DC 10V) (S 3.3V per cell)"
},
"SleepTemperature": {
"text2": ["Vilo-", "temp"],
"desc": "Vilotemperatur (C)"
},
"SleepTimeout": {
"text2": ["Vilo-", "timeout"],
"desc": "Vilo-timeout (M=Minuter | S=Sekunder)"
},
"ShutdownTimeout": {
"text2": ["Avstängn.", "timeout"],
"desc": "Avstängnings-timeout (Minuter)"
},
"MotionSensitivity": {
"text2": ["Rörelse-", "känslighet"],
"desc": "Rörelsekänslighet (0=Av | 1=minst känslig | ... | 9=mest känslig)"
},
"TemperatureUnit": {
"text2": ["Temperatur-", "enheter"],
"desc": "Temperaturenhet (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["Detaljerad", "vid inaktiv"],
"desc": "Visa detaljerad information i mindre typsnitt när inaktiv."
},
"DisplayRotation": {
"text2": ["Visnings", "läge"],
"desc": "Visningsläge (H=Högerhänt | V=Vänsterhänt | A=Automatisk)"
},
"BoostTemperature": {
"text2": ["Turbo-", "temp"],
"desc": "Temperatur i \"turbo\"-läge"
},
"AutoStart": {
"text2": ["Auto", "start"],
"desc": "Startar automatiskt lödpennan vid uppstart. (A=Av | L=Lödning | V=Viloläge | R=Viloläge Rumstemperatur)"
},
"CooldownBlink": {
"text2": ["Nedkylnings-", "blink"],
"desc": "Blinka temperaturen medan spetsen kyls av och fortfarande är varm."
},
"TemperatureCalibration": {
"text2": ["Kalibrera", "temperatur?"],
"desc": "Kalibrera spets-kompensation."
},
"SettingsReset": {
"text2": ["Fabriks-", "inställ?"],
"desc": "Återställ alla inställningar"
},
"VoltageCalibration": {
"text2": ["Kalibrera", "inspänning?"],
"desc": "Inspänningskalibrering. Knapparna justerar, håll inne för avslut"
},
"AdvancedSoldering": {
"text2": ["Detaljerad", "lödng.skärm"],
"desc": "Visa detaljerad information vid lödning"
},
"ScrollingSpeed": {
"text2": ["Beskrivning", "rullhast."],
"desc": "Hastighet som den här texten rullar i"
},
"QCMaxVoltage": {
"text2": ["QC", "spänning"],
"desc": "Maximal QC-spänning enheten skall efterfråga"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Max-", "effekt"],
"desc": "Maximal effekt som enheten kan använda (Watt)"
},
"ReverseButtonTempChange": {
"text2": ["Omvända", "+- knappar"],
"desc": "Omvänd ordning för temperaturjustering via plus/minus knapparna"
},
"TempChangeShortStep": {
"text2": ["Temp.just", "korttryck"],
"desc": "Temperaturjustering vid kort knapptryckning"
},
"TempChangeLongStep": {
"text2": ["Temp.just", "långtryck"],
"desc": "Temperaturjustering vid lång knapptryckning"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Keep awake pulse power intensity"
},
"HallEffSensitivity": {
"text2": ["Sensor-", "känslght"],
"desc": "Känslighet för halleffekt-sensorn för viloläges-detektering (A=Av | L=Låg | M=Medium | H=Hög)"
},
"LockingMode": {
"text2": ["Tillåt lås", "via knappar"],
"desc": "Vid lödning, håll nere bägge knappar för att slå på lås (A=Av | T=Bara turbo | F=Fullt lås)"
},
"MinVolCell": {
"text2": ["Minimim-", "spänning"],
"desc": "Minimumspänning per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loopa animationer i huvudmeny"
},
"AnimSpeed": {
"text2": ["Anim.-", "hastighet"],
"desc": "Animationshastighet för ikoner i menyer (A=av | L=långsam | M=medel | S=snabb)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Språk:", " SV Svenska"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,341 +1,225 @@
{
"languageCode": "TR",
"languageLocalName": "Türkçe",
"fonts": [
"ascii_basic",
"latin_extended"
],
"messages": {
"SettingsCalibrationDone": "Kalibrasyon tamamlandı!",
"SettingsCalibrationWarning": "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!",
"SettingsResetWarning": "Ayarları varsayılan değerlere sıfırlamak istediğinizden emin misiniz?",
"UVLOWarningString": "Güç Az",
"UndervoltageString": "Düşük Voltaj",
"InputVoltageString": "Giriş V: ",
"WarningTipTempString": "Uç Sıcaklığı: ",
"BadTipString": "KÖTÜ UÇ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Bekleme Modu ...",
"WarningSimpleString": "SICAK!",
"WarningAdvancedString": "UYARI! UÇ SICAK!",
"SleepingTipAdvancedString": "Uç:",
"IdleTipString": "Uç:",
"IdleSetString": " Ayarla:",
"TipDisconnectedString": "UÇ ÇIKARILDI",
"SolderingAdvancedPowerPrompt": "Güç: ",
"OffString": "Kapalı",
"YourGainMessage": "Kazancınız:"
},
"messagesWarn": {
"ResetOKMessage": [
"Sıfırlama Tamam",
""
],
"SettingsResetMessage": [
"Ayarlar",
"Sıfırlandı"
],
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!"
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingFastChar": "F",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingOffChar": "O",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Power",
"settings"
],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": [
"Lehimleme",
"Ayarları"
],
"desc": "Lehimleme Ayarları"
},
"PowerSavingMenu": {
"text2": [
"Uyku",
"Modları"
],
"desc": "Güç Tasarrufu Ayarları"
},
"UIMenu": {
"text2": [
"Kullanıcı",
"Arayüzü"
],
"desc": "Kullanıcı Arayüzü Ayarları"
},
"AdvancedMenu": {
"text2": [
"Gelişmiş",
"Ayarlar"
],
"desc": "Gelişmiş Ayarlar"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"GÇKYN",
""
],
"desc": "\"Güç Kaynağı\". En düşük çalışma voltajını ayarlar. <DC 10V> <S 3.3V hücre başına>"
},
"SleepTemperature": {
"text2": [
"BKSC",
""
],
"desc": "Bekleme Modu Sıcaklığı <C>"
},
"SleepTimeout": {
"text2": [
"BMZA",
""
],
"desc": "Bekleme Modu Zaman Aşımı <Dakika/Saniye>"
},
"ShutdownTimeout": {
"text2": [
"KPTZA",
""
],
"desc": "Kapatma Zaman Aşımı <Dakika>"
},
"MotionSensitivity": {
"text2": [
"HARHAS",
""
],
"desc": "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>"
},
"TemperatureUnit": {
"text2": [
"SCKBRM",
""
],
"desc": "Sıcaklık Birimi <C=Celsius F=Fahrenheit>"
},
"AdvancedIdle": {
"text2": [
"AYRBİL",
""
],
"desc": "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster."
},
"DisplayRotation": {
"text2": [
"GRNYÖN",
""
],
"desc": "Görüntü Yönlendirme <A. Otomatik L. Solak R. Sağlak>"
},
"BoostEnabled": {
"text2": [
"YÜKPER",
""
],
"desc": "Lehimleme yaparken ön tuşa basmak anlık sıcaklık yükselişi sağlar. (450C)"
},
"BoostTemperature": {
"text2": [
"YKSC",
""
],
"desc": "Yüksek Performans Modu Sıcaklığı"
},
"AutoStart": {
"text2": [
"OTOBAŞ",
""
],
"desc": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı"
},
"CooldownBlink": {
"text2": [
"SĞGÖST",
""
],
"desc": "Soğutma ekranında uç hala sıcakken derece gösterilsin."
},
"TemperatureCalibration": {
"text2": [
"SCK KAL?",
""
],
"desc": "Ucu kalibre et."
},
"SettingsReset": {
"text2": [
"SIFIRLA?",
""
],
"desc": "Bütün ayarları sıfırlar"
},
"VoltageCalibration": {
"text2": [
"VOL KAL?",
""
],
"desc": "Voltaj Girişi Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas."
},
"AdvancedSoldering": {
"text2": [
"GELLHM",
""
],
"desc": "\"Gelişmiş Lehimleme\" Lehimleme yaparken detaylı bilgi göster"
},
"ScrollingSpeed": {
"text2": [
"YZKYHZ",
""
],
"desc": "Bu yazının kayma hızı S= Yavaş, F= Hızlı"
},
"QCMaxVoltage": {
"text2": [
"QC",
"Voltage"
],
"desc": "Desired max QC Voltage negotiated for"
},
"PowerInput": {
"text2": [
"Güç",
"Miktarı(W)"
],
"desc": "Kullanılan adaptörün watt biriminden güç miktarı"
},
"PowerLimitEnable": {
"text2": [
"P Limit",
"Enable"
],
"desc": "Güç sınırlamayı aç"
},
"PowerLimit": {
"text2": [
"Power",
"Limit"
],
"desc": "Havyanın kullanacağı en yüksek güç <Watts>"
},
"ReverseButtonTempChange": {
"text2": [
"Key +-",
"reverse?"
],
"desc": "\"Düğme Yerleri Rotasyonu\" Sıcaklık ayar düğmelerinin yerini değiştirin"
},
"TempChangeShortStep": {
"text2": [
"Temp change",
"short?"
],
"desc": "Kısa basışlardaki sıcaklık derecesi atlama oranı"
},
"TempChangeLongStep": {
"text2": [
"Temp change",
"long?"
],
"desc": "Uzun başışlardaki sıcaklık derecesi atlama oranı"
},
"PowerPulsePower": {
"text2": [
"Power",
"Pulse W"
],
"desc": "Güç girişi voltajı ölçüm yoğunluğunu sık tut."
},
"HallEffSensitivity": {
"text2": [
"Hall Eff",
"Sensitivity"
],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep <O=Off,L=Low,M=Medium,H=High>"
},
"LockingMode": {
"text2": [
"Allow buttons",
"locking"
],
"desc": "When soldering, long press on both buttons lock them <D=Disable, B=Boost only, F=Full locking>"
},
"MinVolCell": {
"text2": [
"Minimum",
"voltage"
],
"desc": "Minimum allowed voltage per cell <Volts> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Anim.",
"loop"
],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": [
"Anim.",
"speed"
],
"desc": "Speed of icon animations in menu <O=off | L=low | M=medium | H=high>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" TR Türkçe"
],
"desc": ""
}
}
"languageCode": "TR",
"languageLocalName": "Türkçe",
"fonts": ["ascii_basic", "latin_extended"],
"messages": {
"SettingsCalibrationDone": "Kalibrasyon tamamlandı!",
"SettingsCalibrationWarning": "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!",
"SettingsResetWarning": "Ayarları varsayılan değerlere sıfırlamak istediğinizden emin misiniz?",
"UVLOWarningString": "Güç Az",
"UndervoltageString": "Düşük Voltaj",
"InputVoltageString": "Giriş V: ",
"WarningTipTempString": "Uç Sıcaklığı: ",
"BadTipString": "KÖTÜ UÇ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Bekleme Modu ...",
"WarningSimpleString": "SICAK!",
"WarningAdvancedString": "UYARI! UÇ SICAK!",
"SleepingTipAdvancedString": "Uç:",
"IdleTipString": "Uç:",
"IdleSetString": " Ayarla:",
"TipDisconnectedString": "UÇ ÇIKARILDI",
"SolderingAdvancedPowerPrompt": "ç: ",
"OffString": "Kapalı",
"YourGainMessage": "Kazancınız:"
},
"messagesWarn": {
"ResetOKMessage": ["Sıfırlama Tamam", ""],
"SettingsResetMessage": ["Ayarlar", "Sıfırlandı"],
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "LOCKED",
"UnlockingKeysString": "UNLOCKED",
"WarningKeysLockedString": "!LOCKED!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": "R",
"SettingLeftChar": "L",
"SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S",
"SettingMediumChar": "M",
"SettingFastChar": "F",
"SettingStartNoneChar": "K",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "U",
"SettingStartSleepOffChar": "O",
"SettingSensitivityOff": "O",
"SettingSensitivityLow": "L",
"SettingSensitivityMedium": "M",
"SettingSensitivityHigh": "H",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "F",
"SettingNAChar": "N/A"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Power", "settings"],
"desc": "Power settings"
},
"SolderingMenu": {
"text2": ["Lehimleme", "Ayarları"],
"desc": "Lehimleme Ayarları"
},
"PowerSavingMenu": {
"text2": ["Uyku", "Modları"],
"desc": "Güç Tasarrufu Ayarları"
},
"UIMenu": {
"text2": ["Kullanıcı", "Arayüzü"],
"desc": "Kullanıcı Arayüzü Ayarları"
},
"AdvancedMenu": {
"text2": ["Gelişmiş", "Ayarlar"],
"desc": "Gelişmiş Ayarlar"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["GÇKYN", ""],
"desc": "\"Güç Kaynağı\". En düşük çalışma voltajını ayarlar. (DC 10V) (S 3.3V hücre başına)"
},
"SleepTemperature": {
"text2": ["BKSC", ""],
"desc": "Bekleme Modu Sıcaklığı (C)"
},
"SleepTimeout": {
"text2": ["BMZA", ""],
"desc": "Bekleme Modu Zaman Aşımı (Dakika | Saniye)"
},
"ShutdownTimeout": {
"text2": ["KPTZA", ""],
"desc": "Kapatma Zaman Aşımı (Dakika)"
},
"MotionSensitivity": {
"text2": ["HARHAS", ""],
"desc": "Hareket Hassasiyeti (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)"
},
"TemperatureUnit": {
"text2": ["SCKBRM", ""],
"desc": "Sıcaklık Birimi (C=Celsius | F=Fahrenheit)"
},
"AdvancedIdle": {
"text2": ["AYRBİL", ""],
"desc": "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster."
},
"DisplayRotation": {
"text2": ["GRNYÖN", ""],
"desc": "Görüntü Yönlendirme (R=Sağlak | L=Solak | A=Otomatik)"
},
"BoostEnabled": {
"text2": ["YÜKPER", ""],
"desc": "Lehimleme yaparken ön tuşa basmak anlık sıcaklık yükselişi sağlar. (450C)"
},
"BoostTemperature": {
"text2": ["YKSC", ""],
"desc": "Yüksek Performans Modu Sıcaklığı"
},
"AutoStart": {
"text2": ["OTOBAŞ", ""],
"desc": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (K=Kapalı | L=Lehimleme Modu | U=Uyku Modu | O=Uyku Modu Oda Sıcaklığı)"
},
"CooldownBlink": {
"text2": ["SĞGÖST", ""],
"desc": "Soğutma ekranında uç hala sıcakken derece gösterilsin."
},
"TemperatureCalibration": {
"text2": ["SCK KAL?", ""],
"desc": "Ucu kalibre et."
},
"SettingsReset": {
"text2": ["SIFIRLA?", ""],
"desc": "Bütün ayarları sıfırlar"
},
"VoltageCalibration": {
"text2": ["VOL KAL?", ""],
"desc": "Voltaj Girişi Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas."
},
"AdvancedSoldering": {
"text2": ["GELLHM", ""],
"desc": "\"Gelişmiş Lehimleme\" Lehimleme yaparken detaylı bilgi göster"
},
"ScrollingSpeed": {
"text2": ["YZKYHZ", ""],
"desc": "Bu yazının kayma hızı (S=Yavaş | F=Hızlı)"
},
"QCMaxVoltage": {
"text2": ["QC", "Voltage"],
"desc": "Desired max QC Voltage negotiated for"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerInput": {
"text2": ["Güç", "Miktarı(W)"],
"desc": "Kullanılan adaptörün watt biriminden güç miktarı"
},
"PowerLimitEnable": {
"text2": ["P Limit", "Enable"],
"desc": "Güç sınırlamayı aç"
},
"PowerLimit": {
"text2": ["Power", "Limit"],
"desc": "Havyanın kullanacağı en yüksek güç (Watts)"
},
"ReverseButtonTempChange": {
"text2": ["Key +-", "reverse?"],
"desc": "\"Düğme Yerleri Rotasyonu\" Sıcaklık ayar düğmelerinin yerini değiştirin"
},
"TempChangeShortStep": {
"text2": ["Temp change", "short?"],
"desc": "Kısa basışlardaki sıcaklık derecesi atlama oranı"
},
"TempChangeLongStep": {
"text2": ["Temp change", "long?"],
"desc": "Uzun başışlardaki sıcaklık derecesi atlama oranı"
},
"PowerPulsePower": {
"text2": ["Power", "Pulse W"],
"desc": "Güç girişi voltajı ölçüm yoğunluğunu sık tut."
},
"HallEffSensitivity": {
"text2": ["Hall Eff", "Sensitivity"],
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
},
"LockingMode": {
"text2": ["Allow buttons", "locking"],
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
},
"MinVolCell": {
"text2": ["Minimum", "voltage"],
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Anim.", "loop"],
"desc": "Loop icon animations in root menu"
},
"AnimSpeed": {
"text2": ["Anim.", "speed"],
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
},
"PowerPulseWait": {
"text2": ["Power pulse", "wait time"],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": ["Power pulse", "duration"],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": ["Dil:", " TR Türkçe"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,318 +1,213 @@
{
"languageCode": "UK",
"languageLocalName": "Українська",
"fonts": [
"ascii_basic",
"latin_extended",
"cyrillic"
],
"messages": {
"SettingsCalibrationDone": "Калібрування виконане!",
"SettingsCalibrationWarning": "Переконайтеся, що жало охололо до кімнатної температури, перш ніж продовжувати!",
"SettingsResetWarning": "Ви дійсно хочете скинути налаштування до значень за замовчуванням? <A - Так, В - Ні>",
"UVLOWarningString": "АККУМ--",
"UndervoltageString": "Низька напруга",
"InputVoltageString": "Жив.(B): ",
"WarningTipTempString": "Жало t°: ",
"BadTipString": "ЖАЛО--",
"SleepingSimpleString": "ZzZzz",
"SleepingAdvancedString": "Очікування...",
"WarningSimpleString": "ГАРЯЧЕ!",
"WarningAdvancedString": "!!! ГАРЯЧЕ !!!\n!!! ЖАЛО !!!",
"SleepingTipAdvancedString": "Жало:",
"IdleTipString": "Жало:",
"IdleSetString": " ->",
"TipDisconnectedString": "Жало вимкнено!",
"SolderingAdvancedPowerPrompt": "Живлення: ",
"OffString": "Вимк",
"YourGainMessage": "Приріст:"
},
"messagesWarn": {
"ResetOKMessage": "Скид. OK",
"SettingsResetMessage": [
"Налаштування",
"скинуті!"
],
"NoAccelerometerMessage": [
"Акселерометр",
"не виявлено!"
],
"NoPowerDeliveryMessage": [
"USB-PD IC",
"не виявлено!"
],
"LockingKeysString": " ЗАБЛОК.",
"UnlockingKeysString": "РОЗБЛОК.",
"WarningKeysLockedString": "!ЗАБЛОК!"
},
"characters": {
"SettingRightChar": "П",
"SettingLeftChar": "Л",
"SettingAutoChar": "A",
"SettingFastChar": "Ш",
"SettingSlowChar": "П",
"SettingMediumChar": "M",
"SettingOffChar": "B",
"SettingStartSolderingChar": "П",
"SettingStartSleepChar": "О",
"SettingStartSleepOffChar": "К",
"SettingStartNoneChar": "В",
"SettingSensitivityOff": "В",
"SettingSensitivityLow": "Н",
"SettingSensitivityMedium": "С",
"SettingSensitivityHigh": "М",
"SettingLockDisableChar": "В",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П",
"SettingNAChar": "Н/Д"
},
"menuGroups": {
"PowerMenu": {
"text2": [
"Параметри",
"живлення"
],
"desc": "Джерело живлення, та мінамільна напруга на комірку"
},
"SolderingMenu": {
"text2": [
"Параметри",
"пайки"
],
"desc": "Налаштування для режиму пайки. Діють при увімкненому жалі."
},
"PowerSavingMenu": {
"text2": [
"Режим",
"сну"
],
"desc": "Налаштування при бездіяльності. Корисно що б не обпектися і з часом не спалити житло."
},
"UIMenu": {
"text2": [
"Параметри",
"інтерфейсу"
],
"desc": "Параметри користувальницького інтерфейсу."
},
"AdvancedMenu": {
"text2": [
"Додаткові",
"параметри"
],
"desc": "Розширені налаштування. Додаткові зручності."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": [
"Джерело",
"живлення"
],
"desc": "Встановлює напругу відсічки. <DC - 10V, 3S - 9.9V, 4S - 13.2V, 5S - 16.5V, 6S - 19.8V>"
},
"SleepTemperature": {
"text2": [
"Темпер.",
"сну"
],
"desc": "Температура режиму очікування <C°/F°>"
},
"SleepTimeout": {
"text2": [
"Тайм-аут",
"сну"
],
"desc": "Час до переходу в режим очікування <Хвилини/Секунди>"
},
"ShutdownTimeout": {
"text2": [
"Часу до",
"вимкнення"
],
"desc": "Час до вимкнення <Хвилини>"
},
"MotionSensitivity": {
"text2": [
"Чутливість",
"сенсору руху"
],
"desc": "Акселерометр <0 - Вимк. 1 - мін. чутливості 9 - макс. чутливості>"
},
"TemperatureUnit": {
"text2": [
"Формат темпе-",
"ратури(C°/F°)"
],
"desc": "Одиниця виміру температури <C - Цельсій, F - Фаренгейт>"
},
"AdvancedIdle": {
"text2": [
"Детальний ре-",
"жим очікуван."
],
"desc": "Показувати детальну інформацію маленьким шрифтом на домашньому екрані"
},
"DisplayRotation": {
"text2": [
"Автоповорот",
"екрану"
],
"desc": "Орієнтація дисплея <A - Автоповорот, Л - Лівша, П - Правша>"
},
"BoostTemperature": {
"text2": [
"Темпер.",
"Турбо"
],
"desc": "Температура в \"Турбо\" режимі"
},
"AutoStart": {
"text2": [
"Гарячий",
"старт"
],
"desc": "Режим в якому запускається паяльник при ввімкненні <П=Пайка, О=Очікування, К=Очікування при кімн. темп., В=Вимк.>"
},
"CooldownBlink": {
"text2": [
"Показ t° при",
"охолодженні"
],
"desc": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
},
"TemperatureCalibration": {
"text2": [
"Калібрування",
"температури"
],
"desc": "Калібрування температурного датчика."
},
"SettingsReset": {
"text2": [
"Скинути всі",
"налаштування?"
],
"desc": "Скидання всіх параметрів до стандартних значень."
},
"VoltageCalibration": {
"text2": [
"Калібрування",
"напруги"
],
"desc": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити."
},
"AdvancedSoldering": {
"text2": [
"Детальний",
"режим пайки"
],
"desc": "Показувати детальну інформацію при пайці."
},
"ScrollingSpeed": {
"text2": [
"Швидкість",
"тексту"
],
"desc": "Швидкість прокрутки тексту <П=повільно, Ш=швидко>"
},
"QCMaxVoltage": {
"text2": [
"Потужність",
"дж. живлення"
],
"desc": "Потужність джерела живлення в Ватах"
},
"PowerLimit": {
"text2": [
"Макс.",
"потуж."
],
"desc": "Макс. потужність, яку може використовувати паяльник <Ват>"
},
"ReverseButtonTempChange": {
"text2": [
"Інвертувати",
"кнопки +-?"
],
"desc": "Інвертувати кнопки зміни температури."
},
"TempChangeShortStep": {
"text2": [
"Зміна темп.",
"коротко?"
],
"desc": "Змінювати температуру при короткому натисканні!"
},
"TempChangeLongStep": {
"text2": [
"Зміна темп.",
"довго?"
],
"desc": "Змінювати температуру при довгому натисканні!"
},
"PowerPulsePower": {
"text2": [
"Пульс.",
"Навантаж."
],
"desc": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає дуже мало енергії)"
},
"HallEffSensitivity": {
"text2": [
"Чутливість",
"Ефекту Холла"
],
"desc": "Чутливість датчика ефекту Холла при виявленні сну <В=Вимк,Н=Низький,С=Середній,М=Макс>"
},
"LockingMode": {
"text2": [
"Дозволити",
"блок. кнопок"
],
"desc": "Під час пайки тривале натискання обох кнопок заблокує їх <В=Вимк, Т=Тільки турбо, П=Повне>"
},
"MinVolCell": {
"text2": [
"Мін.",
"напруга"
],
"desc": "Мінімальна дозволена напруга на комірку <В вольтах> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": [
"Зациклена",
"анімація"
],
"desc": "Зациклена анімація іконок в головному меню"
},
"AnimSpeed": {
"text2": [
"Швидкість",
"анімації"
],
"desc": "Швидкість анімації іконок у головному меню <Мілісекунди> <В=Вимк, Н=Низькa, С=Середня, М=Макс>"
},
"PowerPulseWait": {
"text2": [
"Power pulse",
"wait time"
],
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
},
"PowerPulseDuration": {
"text2": [
"Power pulse",
"duration"
],
"desc": "Keep-awake-pulse duration (x 250ms)"
},
"LanguageSwitch": {
"text2": [
"Language:",
" UK Українська"
],
"desc": ""
}
}
"languageCode": "UK",
"languageLocalName": "Українська",
"fonts": ["ascii_basic", "latin_extended", "cyrillic"],
"messages": {
"SettingsCalibrationDone": "Калібрування виконане!",
"SettingsCalibrationWarning": "Переконайтеся, що жало охололо до кімнатної температури, перш ніж продовжувати!",
"SettingsResetWarning": "Ви дійсно хочете скинути налаштування до значень за замовчуванням? (A=Так, В=Ні)",
"UVLOWarningString": "АККУМ--",
"UndervoltageString": "Низька напруга",
"InputVoltageString": "Жив.(B): ",
"WarningTipTempString": "Жало t°: ",
"BadTipString": "ЖАЛО--",
"SleepingSimpleString": "ZzZzz",
"SleepingAdvancedString": "Очікування...",
"WarningSimpleString": "ГАРЯЧЕ!",
"WarningAdvancedString": "!!! ГАРЯЧЕ !!!\n!!! ЖАЛО !!!",
"SleepingTipAdvancedString": "Жало:",
"IdleTipString": "Жало:",
"IdleSetString": " ->",
"TipDisconnectedString": "Жало вимкнено!",
"SolderingAdvancedPowerPrompt": "Живлення: ",
"OffString": "Вимк",
"YourGainMessage": "Приріст:"
},
"messagesWarn": {
"ResetOKMessage": "Скид. OK",
"SettingsResetMessage": ["Налаштування", "скинуті!"],
"NoAccelerometerMessage": ["Акселерометр", "не виявлено!"],
"NoPowerDeliveryMessage": ["USB-PD IC", "не виявлено!"],
"LockingKeysString": "ЗАБЛОК.",
"UnlockingKeysString": "РОЗБЛОК.",
"WarningKeysLockedString": "!ЗАБЛОК!",
"WarningThermalRunaway": ["Thermal", "Runaway"]
},
"characters": {
"SettingRightChar": ",
"SettingLeftChar": "Л",
"SettingAutoChar": "A",
"SettingOffChar": "B",
"SettingSlowChar": ",
"SettingMediumChar": "M",
"SettingFastChar": "Ш",
"SettingStartNoneChar": "В",
"SettingStartSolderingChar": ",
"SettingStartSleepChar": "О",
"SettingStartSleepOffChar": "К",
"SettingSensitivityOff": "В",
"SettingSensitivityLow": "Н",
"SettingSensitivityMedium": "С",
"SettingSensitivityHigh": "М",
"SettingLockDisableChar": "В",
"SettingLockBoostChar": "Т",
"SettingLockFullChar": "П",
"SettingNAChar": "Н/Д"
},
"menuGroups": {
"PowerMenu": {
"text2": ["Параметри", "живлення"],
"desc": "Джерело живлення, та мінамільна напруга на комірку"
},
"SolderingMenu": {
"text2": ["Параметри", "пайки"],
"desc": "Налаштування для режиму пайки. Діють при увімкненому жалі."
},
"PowerSavingMenu": {
"text2": ["Режим", "сну"],
"desc": "Налаштування при бездіяльності. Корисно що б не обпектися і з часом не спалити житло."
},
"UIMenu": {
"text2": ["Параметри", "інтерфейсу"],
"desc": "Параметри користувальницького інтерфейсу."
},
"AdvancedMenu": {
"text2": ["Додаткові", "параметри"],
"desc": "Розширені налаштування. Додаткові зручності."
}
},
"menuOptions": {
"DCInCutoff": {
"text2": ["Джерело", "живлення"],
"desc": "Встановлює напругу відсічки. (DC - 10V) (3S - 9.9V | 4S - 13.2V | 5S - 16.5V | 6S - 19.8V)"
},
"SleepTemperature": {
"text2": ["Темпер.", "сну"],
"desc": "Температура режиму очікування (C° | F°)"
},
"SleepTimeout": {
"text2": ["Тайм-аут", "сну"],
"desc": "Час до переходу в режим очікування (Хвилини | Секунди)"
},
"ShutdownTimeout": {
"text2": ["Часу до", "вимкнення"],
"desc": "Час до вимкнення (Хвилини)"
},
"MotionSensitivity": {
"text2": ["Чутливість", "сенсору руху"],
"desc": "Акселерометр (0=Вимк. | 1=мін. чутливості | ... | 9=макс. чутливості)"
},
"TemperatureUnit": {
"text2": ["Формат темпе-", "ратури(C°/F°)"],
"desc": "Одиниця виміру температури (C=Цельсій | F=Фаренгейт)"
},
"AdvancedIdle": {
"text2": ["Детальний ре-", "жим очікуван."],
"desc": "Показувати детальну інформацію маленьким шрифтом на домашньому екрані"
},
"DisplayRotation": {
"text2": ["Автоповорот", "екрану"],
"desc": "Орієнтація дисплея (П=Правша | Л=Лівша | A=Автоповорот)"
},
"BoostTemperature": {
"text2": ["Темпер.", "Турбо"],
"desc": "Температура в \"Турбо\" режимі"
},
"AutoStart": {
"text2": ["Гарячий", "старт"],
"desc": "Режим в якому запускається паяльник при ввімкненні (В=Вимк. | П=Пайка | О=Очікування | К=Очікування при кімн. темп.)"
},
"CooldownBlink": {
"text2": ["Показ t° при", "охолодженні"],
"desc": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
},
"TemperatureCalibration": {
"text2": ["Калібрування", "температури"],
"desc": "Калібрування температурного датчика."
},
"SettingsReset": {
"text2": ["Скинути всі", "налаштування?"],
"desc": "Скидання всіх параметрів до стандартних значень."
},
"VoltageCalibration": {
"text2": ["Калібрування", "напруги"],
"desc": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити."
},
"AdvancedSoldering": {
"text2": ["Детальний", "режим пайки"],
"desc": "Показувати детальну інформацію при пайці."
},
"ScrollingSpeed": {
"text2": ["Швидкість", "тексту"],
"desc": "Швидкість прокрутки тексту (П=повільно | Ш=швидко)"
},
"QCMaxVoltage": {
"text2": ["Потужність", "дж. живлення"],
"desc": "Потужність джерела живлення в Ватах"
},
"PDNegTimeout": {
"text2": ["PD", "timeout"],
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
},
"PowerLimit": {
"text2": ["Макс.", "потуж."],
"desc": "Макс. потужність, яку може використовувати паяльник (Ват)"
},
"ReverseButtonTempChange": {
"text2": ["Інвертувати", "кнопки +-?"],
"desc": "Інвертувати кнопки зміни температури."
},
"TempChangeShortStep": {
"text2": ["Зміна темп.", "коротко?"],
"desc": "Змінювати температуру при короткому натисканні!"
},
"TempChangeLongStep": {
"text2": ["Зміна темп.", "довго?"],
"desc": "Змінювати температуру при довгому натисканні!"
},
"PowerPulsePower": {
"text2": ["Пульс.", "Навантаж."],
"desc": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає дуже мало енергії)"
},
"HallEffSensitivity": {
"text2": ["Чутливість", "Ефекту Холла"],
"desc": "Чутливість датчика ефекту Холла при виявленні сну (В=Вимк | Н=Низький | С=Середній | М=Макс)"
},
"LockingMode": {
"text2": ["Дозволити", "блок. кнопок"],
"desc": "Під час пайки тривале натискання обох кнопок заблокує їх (В=Вимк | Т=Тільки турбо | П=Повне)"
},
"MinVolCell": {
"text2": ["Мін.", "напруга"],
"desc": "Мінімальна дозволена напруга на комірку (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"AnimLoop": {
"text2": ["Зациклена", "анімація"],
"desc": "Зациклена анімація іконок в головному меню"
},
"AnimSpeed": {
"text2": ["Швидкість", "анімації"],
"desc": "Швидкість анімації іконок у головному меню (Мілісекунди) (В=Вимк | Н=Низькa | С=Середня | М=Макс)"
},
"PowerPulseWait": {
"text2": ["Час між імп.", "напруги"],
"desc": "Час між імпульсами напруги яка не дає PowerBank-у заснути (x 2.5с)"
},
"PowerPulseDuration": {
"text2": ["Тривалість", "імп. напруги"],
"desc": "Тривалість імпульсу напруги яка не дає PowerBank-у заснути (x 250мс)"
},
"LanguageSwitch": {
"text2": ["Мова:", " UK Українська"],
"desc": ""
},
"Brightness": {
"text2": ["Screen", "Brightness"],
"desc": "Adjust the contrast/brightness of the OLED screen"
},
"ColourInversion": {
"text2": ["Screen", "Invert"],
"desc": "Invert the colours of the OLED screen"
}
}
}

View File

@@ -1,210 +1,208 @@
{
"languageCode": "YUE_HK",
"languageLocalName": "廣東話 (香港)",
"fonts": [
"ascii_basic",
"cjk"
],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "校正完成!",
"SettingsCalibrationWarning": "開始温度校正之前,請先確定辣雞咀係處於室温!",
"SettingsResetWarning": "你係咪確定要將全部設定重設到預設值?",
"UVLOWarningString": "電壓過低",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "!!! HOT TIP !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "已重設!",
"SettingsResetMessage": "設定已被重設!",
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": "已鎖定",
"UnlockingKeysString": "已解除鎖定",
"WarningKeysLockedString": "!撳掣鎖定!"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "",
"SettingAutoChar": "",
"SettingFastChar": "",
"SettingSlowChar": "慢",
"SettingMediumChar": "中",
"SettingOffChar": "關",
"SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "室",
"SettingStartNoneChar": "無",
"SettingSensitivityOff": "關",
"SettingSensitivityLow": "",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "高",
"SettingLockDisableChar": "無",
"SettingLockBoostChar": "",
"SettingLockFullChar": "全",
"SettingNAChar": "不適用"
},
"menuGroups": {
"PowerMenu": {
"text2": "電源設定",
"desc": "電源設定"
},
"SolderingMenu": {
"text2": "焊接設定",
"desc": "焊接設定"
},
"PowerSavingMenu": {
"text2": "待機設定",
"desc": "自動待機慳電設定"
},
"UIMenu": {
"text2": "使用者介面",
"desc": "使用者介面設定"
},
"AdvancedMenu": {
"text2": "進階設定",
"desc": "進階設定"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "電源",
"desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每粒3.3V計算;依個設定會停用功率限制>"
},
"SleepTemperature": {
"text2": "待機温度",
"desc": "喺待機模式時嘅辣雞咀温度"
},
"SleepTimeout": {
"text2": "待機延時",
"desc": "自動進入待機模式前嘅閒置等候時間 <S=秒 | M=分鐘>"
},
"ShutdownTimeout": {
"text2": "自動熄機",
"desc": "自動熄機前嘅閒置等候時間 <M=分鐘>"
},
"MotionSensitivity": {
"text2": "動作敏感度",
"desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
},
"TemperatureUnit": {
"text2": "温度單位",
"desc": "C=攝氏 | F=華氏"
},
"AdvancedIdle": {
"text2": "詳細閒置畫面",
"desc": "喺閒置畫面以英文細字顯示詳細嘅資料"
},
"DisplayRotation": {
"text2": "畫面方向",
"desc": "自=自動 | 左=使用左手 | 右=使用右手"
},
"BoostTemperature": {
"text2": "增熱温度",
"desc": "喺增熱模式時使用嘅温度"
},
"AutoStart": {
"text2": "自動啓用",
"desc": "開機時自動啓用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室温待機>"
},
"CooldownBlink": {
"text2": "降温時閃爍",
"desc": "停止加熱之後,當辣雞咀仲係熱嗰陣閃爍畫面"
},
"TemperatureCalibration": {
"text2": "温度校正?",
"desc": "開始校正辣雞咀温度位移"
},
"SettingsReset": {
"text2": "全部重設?",
"desc": "將所有設定重設到預設值"
},
"VoltageCalibration": {
"text2": "輸入電壓校正?",
"desc": "開始校正VIN輸入電壓 <長撳以退出>"
},
"AdvancedSoldering": {
"text2": "詳細焊接畫面",
"desc": "喺焊接模式畫面以英文細字顯示詳細嘅資料"
},
"ScrollingSpeed": {
"text2": "捲動速度",
"desc": "解說文字嘅捲動速度"
},
"QCMaxVoltage": {
"text2": "QC電壓",
"desc": "使用QC電源時請求嘅最高目標電壓"
},
"PowerLimit": {
"text2": "功率限制",
"desc": "限制辣雞可用嘅最大功率 <W=watt>"
},
"ReverseButtonTempChange": {
"text2": "反轉加減掣",
"desc": "反轉調校温度時加減掣嘅方向"
},
"TempChangeShortStep": {
"text2": "温度調整 短",
"desc": "調校温度時短撳一下嘅温度變幅"
},
"TempChangeLongStep": {
"text2": "温度調整 長",
"desc": "調校温度時長撳嘅温度變幅"
},
"PowerPulsePower": {
"text2": "電源脈衝",
"desc": "為保持電源喚醒而通電所用嘅功率 <watt>"
},
"HallEffSensitivity": {
"text2": "磁場敏感度",
"desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
},
"LockingMode": {
"text2": "撳掣鎖定",
"desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=淨係容許增熱模式 | 全=鎖定全部>"
},
"MinVolCell": {
"text2": "最低電壓",
"desc": "每粒電池嘅最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "動畫循環",
"desc": "循環顯示功能表圖示動畫"
},
"AnimSpeed": {
"text2": "動畫速度",
"desc": "功能表圖示動畫嘅速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
},
"PowerPulseWait": {
"text2": "電源脈衝間隔",
"desc": "為保持電源喚醒,每次通電之間嘅間隔時間 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "電源脈衝時長",
"desc": "為保持電源喚醒,每次通電脈衝嘅時間長度 <x250ms亳秒>"
},
"LanguageSwitch": {
"text2": "語言: 廣東話",
"desc": ""
}
}
"languageCode": "YUE_HK",
"languageLocalName": "廣東話 (香港)",
"fonts": ["ascii_basic", "cjk"],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationWarning": "開始温度校正之前,請先確定辣雞咀係處於室温!",
"SettingsResetWarning": "你係咪確定要將全部設定重設到預設值?",
"UVLOWarningString": "電壓過低",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "關"
},
"messagesWarn": {
"ResetOKMessage": "已重設!",
"SettingsResetMessage": "設定已被重設!",
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "已鎖定",
"UnlockingKeysString": "已解除鎖定",
"WarningKeysLockedString": "!撳掣鎖定!",
"WarningThermalRunaway": "加熱失控"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "左",
"SettingAutoChar": "自",
"SettingOffChar": "關",
"SettingSlowChar": "慢",
"SettingMediumChar": "中",
"SettingFastChar": "快",
"SettingStartNoneChar": "無",
"SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "",
"SettingSensitivityOff": "關",
"SettingSensitivityLow": "低",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "",
"SettingLockDisableChar": "",
"SettingLockBoostChar": "",
"SettingLockFullChar": "",
"SettingNAChar": "不適用"
},
"menuGroups": {
"PowerMenu": {
"text2": "電源設定",
"desc": "電源設定"
},
"SolderingMenu": {
"text2": "焊接設定",
"desc": "焊接設定"
},
"PowerSavingMenu": {
"text2": "待機設定",
"desc": "自動待機慳電設定"
},
"UIMenu": {
"text2": "使用者介面",
"desc": "使用者介面設定"
},
"AdvancedMenu": {
"text2": "進階設定",
"desc": "進階設定"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "電源",
"desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每粒3.3V計算;依個設定會停用功率限制>"
},
"SleepTemperature": {
"text2": "待機温度",
"desc": "喺待機模式時嘅辣雞咀温度"
},
"SleepTimeout": {
"text2": "待機延時",
"desc": "自動進入待機模式前嘅閒置等候時間 <S=秒 | M=分鐘>"
},
"ShutdownTimeout": {
"text2": "自動熄機",
"desc": "自動熄機前嘅閒置等候時間 <M=分鐘>"
},
"MotionSensitivity": {
"text2": "動作敏感度",
"desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
},
"TemperatureUnit": {
"text2": "温度單位",
"desc": "C=攝氏 | F=華氏"
},
"AdvancedIdle": {
"text2": "詳細閒置畫面",
"desc": "喺閒置畫面以英文細字顯示詳細嘅資料"
},
"DisplayRotation": {
"text2": "畫面方向",
"desc": "右=使用右手 | 左=使用左手 | 自=自動"
},
"BoostTemperature": {
"text2": "增熱温度",
"desc": "喺增熱模式時使用嘅温度"
},
"AutoStart": {
"text2": "自動啓用",
"desc": "開機時自動啓用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室温待機>"
},
"CooldownBlink": {
"text2": "降温時閃爍",
"desc": "停止加熱之後,當辣雞咀仲係熱嗰陣閃爍畫面"
},
"TemperatureCalibration": {
"text2": "温度校正?",
"desc": "開始校正辣雞咀温度位移"
},
"SettingsReset": {
"text2": "全部重設?",
"desc": "將所有設定重設到預設值"
},
"VoltageCalibration": {
"text2": "輸入電壓校正?",
"desc": "開始校正VIN輸入電壓 <長撳以退出>"
},
"AdvancedSoldering": {
"text2": "詳細焊接畫面",
"desc": "喺焊接模式畫面以英文細字顯示詳細嘅資料"
},
"ScrollingSpeed": {
"text2": "捲動速度",
"desc": "解說文字嘅捲動速度"
},
"QCMaxVoltage": {
"text2": "QC電壓",
"desc": "使用QC電源時請求嘅最高目標電壓"
},
"PDNegTimeout": {
"text2": "PD逾時",
"desc": "設定USB PD協定交涉嘅逾時時限為兼容某啲QC電源而設 <x100ms亳秒>"
},
"PowerLimit": {
"text2": "功率限制",
"desc": "限制辣雞可用嘅最大功率 <W=watt>"
},
"ReverseButtonTempChange": {
"text2": "反轉加減掣",
"desc": "反轉調校温度時加減掣嘅方向"
},
"TempChangeShortStep": {
"text2": "温度調整 短",
"desc": "調校温度時短撳一下嘅温度變幅"
},
"TempChangeLongStep": {
"text2": "温度調整 長",
"desc": "調校温度時長撳嘅温度變幅"
},
"PowerPulsePower": {
"text2": "電源脈衝",
"desc": "為保持電源喚醒而通電所用嘅功率 <watt>"
},
"HallEffSensitivity": {
"text2": "磁場敏感度",
"desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
},
"LockingMode": {
"text2": "撳掣鎖定",
"desc": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=淨係容許增熱模式 | 全=鎖定全部>"
},
"MinVolCell": {
"text2": "最低電壓",
"desc": "每粒電池嘅最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "動畫循環",
"desc": "循環顯示功能表圖示動畫"
},
"AnimSpeed": {
"text2": "動畫速度",
"desc": "功能表圖示動畫嘅速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
},
"PowerPulseWait": {
"text2": "電源脈衝間隔",
"desc": "為保持電源喚醒,每次通電之間嘅間隔時間 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "電源脈衝時長",
"desc": "為保持電源喚醒,每次通電脈衝嘅時間長度 <x250ms亳秒>"
},
"LanguageSwitch": {
"text2": "語言: 廣東話",
"desc": ""
},
"Brightness": {
"text2": "熒幕亮度",
"desc": "設定OLED熒幕嘅亮度"
},
"ColourInversion": {
"text2": "熒幕反轉色",
"desc": "反轉OLED熒幕嘅黑白色"
}
}
}

View File

@@ -1,210 +1,208 @@
{
"languageCode": "ZH_CN",
"languageLocalName": "简体中文",
"fonts": [
"ascii_basic",
"cjk"
],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "校正完成!",
"SettingsCalibrationWarning": "开始温度校正前,请先确定铬铁头正处于室温!",
"SettingsResetWarning": "你是否确定要将全部设置重置为默认值?",
"UVLOWarningString": "电压过低",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "!!! HOT TIP !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "已重置!",
"SettingsResetMessage": "设置已被重置!",
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": "已锁定",
"UnlockingKeysString": "已解除锁定",
"WarningKeysLockedString": "!按键锁定!"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "",
"SettingAutoChar": "",
"SettingFastChar": "",
"SettingSlowChar": "慢",
"SettingMediumChar": "中",
"SettingOffChar": "关",
"SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "室",
"SettingStartNoneChar": "无",
"SettingSensitivityOff": "关",
"SettingSensitivityLow": "",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "高",
"SettingLockDisableChar": "无",
"SettingLockBoostChar": "",
"SettingLockFullChar": "全",
"SettingNAChar": "不适用"
},
"menuGroups": {
"PowerMenu": {
"text2": "电源设置",
"desc": "电源设置"
},
"SolderingMenu": {
"text2": "焊接设置",
"desc": "焊接设置"
},
"PowerSavingMenu": {
"text2": "待机设置",
"desc": "自动待机省电设置"
},
"UIMenu": {
"text2": "使用者介面",
"desc": "使用者介面设置"
},
"AdvancedMenu": {
"text2": "进阶设置",
"desc": "进阶设置"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "电源",
"desc": "输入电源;设置自动停机电压 <DC 10V> <S 锂电池以每颗3.3V计算;此设置会禁用功率限制>"
},
"SleepTemperature": {
"text2": "待机温度",
"desc": "于待机模式时的铬铁头温度"
},
"SleepTimeout": {
"text2": "待机延时",
"desc": "自动进入待机模式前的闲置等候时间 <S=秒 | M=分钟>"
},
"ShutdownTimeout": {
"text2": "自动关机",
"desc": "自动关机前的闲置等候时间 <M=分钟>"
},
"MotionSensitivity": {
"text2": "动作灵敏度",
"desc": "0=禁用 | 1=最低灵敏度 | ... | 9=最高灵敏度"
},
"TemperatureUnit": {
"text2": "温标",
"desc": "C=摄氏 | F=华氏"
},
"AdvancedIdle": {
"text2": "详细闲置画面",
"desc": "于闲置画面以英语小字显示详细信息"
},
"DisplayRotation": {
"text2": "画面方向",
"desc": "自=自动 | 左=使用左手 | 右=使用右手"
},
"BoostTemperature": {
"text2": "增热温度",
"desc": "于增热模式时使用的温度"
},
"AutoStart": {
"text2": "自动启用",
"desc": "开机时自动启用 <无=禁用 | 焊=焊接模式 | 待=待机模式 | 室=室温待机>"
},
"CooldownBlink": {
"text2": "降温时闪烁",
"desc": "停止加热之后,当铬铁头仍处于高温时闪烁画面"
},
"TemperatureCalibration": {
"text2": "温度校正?",
"desc": "开始校正铬铁头温度位移"
},
"SettingsReset": {
"text2": "全部重置?",
"desc": "将所有设置重置为默认值"
},
"VoltageCalibration": {
"text2": "输入电压校正?",
"desc": "开始校正VIN输入电压 <长按以退出>"
},
"AdvancedSoldering": {
"text2": "详细焊接画面",
"desc": "于焊接模式画面以英语小字显示详细信息"
},
"ScrollingSpeed": {
"text2": "卷动速度",
"desc": "解说文字的卷动速度"
},
"QCMaxVoltage": {
"text2": "QC电压",
"desc": "使用QC电源时请求的最高目标电压"
},
"PowerLimit": {
"text2": "功率限制",
"desc": "限制铬铁可用的最大功率 <W=watt瓦特>"
},
"ReverseButtonTempChange": {
"text2": "调换加减键",
"desc": "调校温度时调换加减键的方向"
},
"TempChangeShortStep": {
"text2": "温度调整 短",
"desc": "调校温度时短按一下的温度变幅"
},
"TempChangeLongStep": {
"text2": "温度调整 长",
"desc": "调校温度时长按按键的温度变幅"
},
"PowerPulsePower": {
"text2": "电源脉冲",
"desc": "为保持电源唤醒而通电所用的功率 <watt瓦特>"
},
"HallEffSensitivity": {
"text2": "磁场灵敏度",
"desc": "磁场感应器用作启动待机模式的灵敏度 <关=禁用 | 低=最低灵敏度 | 中=中等灵敏度 | 高=最高灵敏度>"
},
"LockingMode": {
"text2": "按键锁定",
"desc": "于焊接模式时,同时长按两个按键启用按键锁定 <无=禁用 | 增=只容许增热模式 | 全=锁定全部>"
},
"MinVolCell": {
"text2": "最低电压",
"desc": "每颗电池的最低可用电压 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "动画循环",
"desc": "循环显示功能表图示动画"
},
"AnimSpeed": {
"text2": "动画速度",
"desc": "功能表图示动画的速度 <关=不显示动画 | 慢=慢速 | 中=中速 | 快=快速>"
},
"PowerPulseWait": {
"text2": "电源脉冲间隔",
"desc": "为保持电源唤醒,每次通电之间的间隔时间 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "电源脉冲时长",
"desc": "为保持电源唤醒,每次通电脉冲的时间长度 <x250ms亳秒>"
},
"LanguageSwitch": {
"text2": "语言:简体中文",
"desc": ""
}
}
"languageCode": "ZH_CN",
"languageLocalName": "简体中文",
"fonts": ["ascii_basic", "cjk"],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationWarning": "开始温度校正前,请先确定铬铁头正处于室温!",
"SettingsResetWarning": "你是否确定要将全部设置重置为默认值?",
"UVLOWarningString": "电压过低",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "关"
},
"messagesWarn": {
"ResetOKMessage": "已重置!",
"SettingsResetMessage": "设置已被重置!",
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "已锁定",
"UnlockingKeysString": "已解除锁定",
"WarningKeysLockedString": "!按键锁定!",
"WarningThermalRunaway": "加热失控"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "左",
"SettingAutoChar": "自",
"SettingOffChar": "关",
"SettingSlowChar": "慢",
"SettingMediumChar": "中",
"SettingFastChar": "快",
"SettingStartNoneChar": "无",
"SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "",
"SettingSensitivityOff": "关",
"SettingSensitivityLow": "低",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "",
"SettingLockDisableChar": "",
"SettingLockBoostChar": "",
"SettingLockFullChar": "",
"SettingNAChar": "不适用"
},
"menuGroups": {
"PowerMenu": {
"text2": "电源设置",
"desc": "电源设置"
},
"SolderingMenu": {
"text2": "焊接设置",
"desc": "焊接设置"
},
"PowerSavingMenu": {
"text2": "待机设置",
"desc": "自动待机省电设置"
},
"UIMenu": {
"text2": "使用者介面",
"desc": "使用者介面设置"
},
"AdvancedMenu": {
"text2": "进阶设置",
"desc": "进阶设置"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "电源",
"desc": "输入电源;设置自动停机电压 <DC 10V> <S 锂电池以每颗3.3V计算;此设置会禁用功率限制>"
},
"SleepTemperature": {
"text2": "待机温度",
"desc": "于待机模式时的铬铁头温度"
},
"SleepTimeout": {
"text2": "待机延时",
"desc": "自动进入待机模式前的闲置等候时间 <S=秒 | M=分钟>"
},
"ShutdownTimeout": {
"text2": "自动关机",
"desc": "自动关机前的闲置等候时间 <M=分钟>"
},
"MotionSensitivity": {
"text2": "动作灵敏度",
"desc": "0=禁用 | 1=最低灵敏度 | ... | 9=最高灵敏度"
},
"TemperatureUnit": {
"text2": "温标",
"desc": "C=摄氏 | F=华氏"
},
"AdvancedIdle": {
"text2": "详细闲置画面",
"desc": "于闲置画面以英语小字显示详细信息"
},
"DisplayRotation": {
"text2": "画面方向",
"desc": "右=使用右手 | 左=使用左手 | 自=自动"
},
"BoostTemperature": {
"text2": "增热温度",
"desc": "于增热模式时使用的温度"
},
"AutoStart": {
"text2": "自动启用",
"desc": "开机时自动启用 <无=禁用 | 焊=焊接模式 | 待=待机模式 | 室=室温待机>"
},
"CooldownBlink": {
"text2": "降温时闪烁",
"desc": "停止加热之后,当铬铁头仍处于高温时闪烁画面"
},
"TemperatureCalibration": {
"text2": "温度校正?",
"desc": "开始校正铬铁头温度位移"
},
"SettingsReset": {
"text2": "全部重置?",
"desc": "将所有设置重置为默认值"
},
"VoltageCalibration": {
"text2": "输入电压校正?",
"desc": "开始校正VIN输入电压 <长按以退出>"
},
"AdvancedSoldering": {
"text2": "详细焊接画面",
"desc": "于焊接模式画面以英语小字显示详细信息"
},
"ScrollingSpeed": {
"text2": "卷动速度",
"desc": "解说文字的卷动速度"
},
"QCMaxVoltage": {
"text2": "QC电压",
"desc": "使用QC电源时请求的最高目标电压"
},
"PDNegTimeout": {
"text2": "PD超时",
"desc": "设定USB PD协议交涉的超时时限为兼容某些QC电源而设 <x100ms亳秒>"
},
"PowerLimit": {
"text2": "功率限制",
"desc": "限制铬铁可用的最大功率 <W=watt瓦特>"
},
"ReverseButtonTempChange": {
"text2": "调换加减键",
"desc": "调校温度时调换加减键的方向"
},
"TempChangeShortStep": {
"text2": "温度调整 短",
"desc": "调校温度时短按一下的温度变幅"
},
"TempChangeLongStep": {
"text2": "温度调整 长",
"desc": "调校温度时长按按键的温度变幅"
},
"PowerPulsePower": {
"text2": "电源脉冲",
"desc": "为保持电源唤醒而通电所用的功率 <watt瓦特>"
},
"HallEffSensitivity": {
"text2": "磁场灵敏度",
"desc": "磁场感应器用作启动待机模式的灵敏度 <关=禁用 | 低=最低灵敏度 | 中=中等灵敏度 | 高=最高灵敏度>"
},
"LockingMode": {
"text2": "按键锁定",
"desc": "于焊接模式时,同时长按两个按键启用按键锁定 <无=禁用 | 增=只容许增热模式 | 全=锁定全部>"
},
"MinVolCell": {
"text2": "最低电压",
"desc": "每颗电池的最低可用电压 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "动画循环",
"desc": "循环显示功能表图示动画"
},
"AnimSpeed": {
"text2": "动画速度",
"desc": "功能表图示动画的速度 <关=不显示动画 | 慢=慢速 | 中=中速 | 快=快速>"
},
"PowerPulseWait": {
"text2": "电源脉冲间隔",
"desc": "为保持电源唤醒,每次通电之间的间隔时间 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "电源脉冲时长",
"desc": "为保持电源唤醒,每次通电脉冲的时间长度 <x250ms亳秒>"
},
"LanguageSwitch": {
"text2": "语言:简体中文",
"desc": ""
},
"Brightness": {
"text2": "屏幕亮度",
"desc": "设定OLED屏幕的亮度"
},
"ColourInversion": {
"text2": "螢幕反轉色",
"desc": "反转OLED屏幕的黑白色彩"
}
}
}

View File

@@ -1,210 +1,208 @@
{
"languageCode": "ZH_TW",
"languageLocalName": "正體中文",
"fonts": [
"ascii_basic",
"cjk"
],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationDone": "校正完成!",
"SettingsCalibrationWarning": "開始溫度校正前,請先確定鉻鐵頭正處於室溫!",
"SettingsResetWarning": "你是否確定要將全部設定重設到預設值?",
"UVLOWarningString": "電壓過低",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"WarningTipTempString": "Tip temp: ",
"BadTipString": "BAD TIP",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"WarningSimpleString": "HOT!",
"WarningAdvancedString": "!!! HOT TIP !!!",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "",
"YourGainMessage": "Your gain:"
},
"messagesWarn": {
"ResetOKMessage": "已重設!",
"SettingsResetMessage": "設定已被重設!",
"NoAccelerometerMessage": [
"No accelerometer",
"detected!"
],
"NoPowerDeliveryMessage": [
"No USB-PD IC",
"detected!"
],
"LockingKeysString": "已鎖定",
"UnlockingKeysString": "已解除鎖定",
"WarningKeysLockedString": "!按鍵鎖定!"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "",
"SettingAutoChar": "",
"SettingFastChar": "",
"SettingSlowChar": "慢",
"SettingMediumChar": "中",
"SettingOffChar": "關",
"SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "室",
"SettingStartNoneChar": "無",
"SettingSensitivityOff": "關",
"SettingSensitivityLow": "",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "高",
"SettingLockDisableChar": "無",
"SettingLockBoostChar": "",
"SettingLockFullChar": "全",
"SettingNAChar": "不適用"
},
"menuGroups": {
"PowerMenu": {
"text2": "電源設定",
"desc": "電源設定"
},
"SolderingMenu": {
"text2": "焊接設定",
"desc": "焊接設定"
},
"PowerSavingMenu": {
"text2": "待機設定",
"desc": "自動待機省電設定"
},
"UIMenu": {
"text2": "使用者介面",
"desc": "使用者介面設定"
},
"AdvancedMenu": {
"text2": "進階設定",
"desc": "進階設定"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "電源",
"desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每顆3.3V計算;此設定會停用功率限制>"
},
"SleepTemperature": {
"text2": "待機溫度",
"desc": "於待機模式時的鉻鐵頭溫度"
},
"SleepTimeout": {
"text2": "待機延時",
"desc": "自動進入待機模式前的閒置等候時間 <S=秒 | M=分鐘>"
},
"ShutdownTimeout": {
"text2": "自動關機",
"desc": "自動關機前的閒置等候時間 <M=分鐘>"
},
"MotionSensitivity": {
"text2": "動作敏感度",
"desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
},
"TemperatureUnit": {
"text2": "溫標",
"desc": "C=攝氏 | F=華氏"
},
"AdvancedIdle": {
"text2": "詳細閒置畫面",
"desc": "於閒置畫面以英文小字型顯示詳細資料"
},
"DisplayRotation": {
"text2": "畫面方向",
"desc": "自=自動 | 左=使用左手 | 右=使用右手"
},
"BoostTemperature": {
"text2": "增熱溫度",
"desc": "於增熱模式時使用的溫度"
},
"AutoStart": {
"text2": "自動啟用",
"desc": "開機時自動啟用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室溫待機>"
},
"CooldownBlink": {
"text2": "降溫時閃爍",
"desc": "停止加熱之後,當鉻鐵頭仍處於高溫時閃爍畫面"
},
"TemperatureCalibration": {
"text2": "溫度校正?",
"desc": "開始校正鉻鐵頭溫度位移"
},
"SettingsReset": {
"text2": "全部重設?",
"desc": "將所有設定重設到預設值"
},
"VoltageCalibration": {
"text2": "輸入電壓校正?",
"desc": "開始校正VIN輸入電壓 <長按以退出>"
},
"AdvancedSoldering": {
"text2": "詳細焊接畫面",
"desc": "於焊接模式畫面以英文小字型顯示詳細資料"
},
"ScrollingSpeed": {
"text2": "捲動速度",
"desc": "解說文字的捲動速度"
},
"QCMaxVoltage": {
"text2": "QC電壓",
"desc": "使用QC電源時請求的最高目標電壓"
},
"PowerLimit": {
"text2": "功率限制",
"desc": "限制鉻鐵可用的最大功率 <W=watt瓦特>"
},
"ReverseButtonTempChange": {
"text2": "調換加減鍵",
"desc": "調校溫度時調換加減鍵的方向"
},
"TempChangeShortStep": {
"text2": "溫度調整 短",
"desc": "調校溫度時短按一下的溫度變幅"
},
"TempChangeLongStep": {
"text2": "溫度調整 長",
"desc": "調校溫度時長按按鍵的溫度變幅"
},
"PowerPulsePower": {
"text2": "電源脈衝",
"desc": "為保持電源喚醒而通電所用的功率 <watt瓦特>"
},
"HallEffSensitivity": {
"text2": "磁場敏感度",
"desc": "磁場感應器用作啟動待機模式的敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
},
"LockingMode": {
"text2": "按鍵鎖定",
"desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=只容許增熱模式 | 全=鎖定全部>"
},
"MinVolCell": {
"text2": "最低電壓",
"desc": "每顆電池的最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "動畫循環",
"desc": "循環顯示功能表圖示動畫"
},
"AnimSpeed": {
"text2": "動畫速度",
"desc": "功能表圖示動畫的速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
},
"PowerPulseWait": {
"text2": "電源脈衝間隔",
"desc": "為保持電源喚醒,每次通電之間的間隔時間 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "電源脈衝時長",
"desc": "為保持電源喚醒,每次通電脈衝的時間長度 <x250ms亳秒>"
},
"LanguageSwitch": {
"text2": "語言:正體中文",
"desc": ""
}
}
"languageCode": "ZH_TW",
"languageLocalName": "正體中文",
"fonts": ["ascii_basic", "cjk"],
"tempUnitFahrenheit": true,
"messages": {
"SettingsCalibrationWarning": "開始溫度校正前,請先確定鉻鐵頭正處於室溫!",
"SettingsResetWarning": "你是否確定要將全部設定重設到預設值?",
"UVLOWarningString": "電壓過低",
"UndervoltageString": "Undervoltage",
"InputVoltageString": "Input V: ",
"SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "Sleeping...",
"SleepingTipAdvancedString": "Tip:",
"IdleTipString": "Tip:",
"IdleSetString": " Set:",
"TipDisconnectedString": "NO TIP",
"SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "關"
},
"messagesWarn": {
"ResetOKMessage": "已重設!",
"SettingsResetMessage": "設定已被重設!",
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
"LockingKeysString": "已鎖定",
"UnlockingKeysString": "已解除鎖定",
"WarningKeysLockedString": "!按鍵鎖定!",
"WarningThermalRunaway": "加熱失控"
},
"characters": {
"SettingRightChar": "",
"SettingLeftChar": "左",
"SettingAutoChar": "自",
"SettingOffChar": "關",
"SettingSlowChar": "慢",
"SettingMediumChar": "中",
"SettingFastChar": "快",
"SettingStartNoneChar": "無",
"SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "",
"SettingStartSleepOffChar": "",
"SettingSensitivityOff": "關",
"SettingSensitivityLow": "低",
"SettingSensitivityMedium": "中",
"SettingSensitivityHigh": "",
"SettingLockDisableChar": "",
"SettingLockBoostChar": "",
"SettingLockFullChar": "",
"SettingNAChar": "不適用"
},
"menuGroups": {
"PowerMenu": {
"text2": "電源設定",
"desc": "電源設定"
},
"SolderingMenu": {
"text2": "焊接設定",
"desc": "焊接設定"
},
"PowerSavingMenu": {
"text2": "待機設定",
"desc": "自動待機省電設定"
},
"UIMenu": {
"text2": "使用者介面",
"desc": "使用者介面設定"
},
"AdvancedMenu": {
"text2": "進階設定",
"desc": "進階設定"
}
},
"menuOptions": {
"DCInCutoff": {
"text2": "電源",
"desc": "輸入電源;設定自動停機電壓 <DC 10V> <S 鋰電池以每顆3.3V計算;此設定會停用功率限制>"
},
"SleepTemperature": {
"text2": "待機溫度",
"desc": "於待機模式時的鉻鐵頭溫度"
},
"SleepTimeout": {
"text2": "待機延時",
"desc": "自動進入待機模式前的閒置等候時間 <S=秒 | M=分鐘>"
},
"ShutdownTimeout": {
"text2": "自動關機",
"desc": "自動關機前的閒置等候時間 <M=分鐘>"
},
"MotionSensitivity": {
"text2": "動作敏感度",
"desc": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
},
"TemperatureUnit": {
"text2": "溫標",
"desc": "C=攝氏 | F=華氏"
},
"AdvancedIdle": {
"text2": "詳細閒置畫面",
"desc": "於閒置畫面以英文小字型顯示詳細資料"
},
"DisplayRotation": {
"text2": "畫面方向",
"desc": "右=使用右手 | 左=使用左手 | 自=自動"
},
"BoostTemperature": {
"text2": "增熱溫度",
"desc": "於增熱模式時使用的溫度"
},
"AutoStart": {
"text2": "自動啟用",
"desc": "開機時自動啟用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室溫待機>"
},
"CooldownBlink": {
"text2": "降溫時閃爍",
"desc": "停止加熱之後,當鉻鐵頭仍處於高溫時閃爍畫面"
},
"TemperatureCalibration": {
"text2": "溫度校正?",
"desc": "開始校正鉻鐵頭溫度位移"
},
"SettingsReset": {
"text2": "全部重設?",
"desc": "將所有設定重設到預設值"
},
"VoltageCalibration": {
"text2": "輸入電壓校正?",
"desc": "開始校正VIN輸入電壓 <長按以退出>"
},
"AdvancedSoldering": {
"text2": "詳細焊接畫面",
"desc": "於焊接模式畫面以英文小字型顯示詳細資料"
},
"ScrollingSpeed": {
"text2": "捲動速度",
"desc": "解說文字的捲動速度"
},
"QCMaxVoltage": {
"text2": "QC電壓",
"desc": "使用QC電源時請求的最高目標電壓"
},
"PDNegTimeout": {
"text2": "PD逾時",
"desc": "設定USB PD協定交涉的逾時時限為兼容某些QC電源而設 <x100ms亳秒>"
},
"PowerLimit": {
"text2": "功率限制",
"desc": "限制鉻鐵可用的最大功率 <W=watt瓦特>"
},
"ReverseButtonTempChange": {
"text2": "調換加減鍵",
"desc": "調校溫度時調換加減鍵的方向"
},
"TempChangeShortStep": {
"text2": "溫度調整 短",
"desc": "調校溫度時短按一下的溫度變幅"
},
"TempChangeLongStep": {
"text2": "溫度調整 長",
"desc": "調校溫度時長按按鍵的溫度變幅"
},
"PowerPulsePower": {
"text2": "電源脈衝",
"desc": "為保持電源喚醒而通電所用的功率 <watt瓦特>"
},
"HallEffSensitivity": {
"text2": "磁場敏感度",
"desc": "磁場感應器用作啟動待機模式的敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
},
"LockingMode": {
"text2": "按鍵鎖定",
"desc": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=只容許增熱模式 | 全=鎖定全部>"
},
"MinVolCell": {
"text2": "最低電壓",
"desc": "每顆電池的最低可用電壓 <伏特> <3S: 3.0V - 3.7V, 4/5/6S: 2.4V - 3.7V>"
},
"AnimLoop": {
"text2": "動畫循環",
"desc": "循環顯示功能表圖示動畫"
},
"AnimSpeed": {
"text2": "動畫速度",
"desc": "功能表圖示動畫的速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
},
"PowerPulseWait": {
"text2": "電源脈衝間隔",
"desc": "為保持電源喚醒,每次通電之間的間隔時間 <x2.5s(秒)>"
},
"PowerPulseDuration": {
"text2": "電源脈衝時長",
"desc": "為保持電源喚醒,每次通電脈衝的時間長度 <x250ms亳秒>"
},
"LanguageSwitch": {
"text2": "語言:正體中文",
"desc": ""
},
"Brightness": {
"text2": "螢幕亮度",
"desc": "設定OLED螢幕的亮度"
},
"ColourInversion": {
"text2": "螢幕反轉色",
"desc": "反轉OLED螢幕的黑白色彩"
}
}
}

View File

@@ -83,6 +83,9 @@ var def =
},
{
"id": "WarningKeysLockedString"
},
{
"id": "WarningThermalRunaway"
}
],
"characters": [
@@ -280,6 +283,12 @@ var def =
"maxLen": 8,
"maxLen2": 16
},
{
"id": "PDNegTimeout",
"maxLen": 8,
"maxLen2": 16
},
{
"id": "PowerLimit",
"maxLen": 5,
@@ -344,6 +353,16 @@ var def =
"id": "LanguageSwitch",
"maxLen": 7,
"maxLen2": 15
},
{
"id": "Brightness",
"maxLen": 7,
"maxLen2": 15
},
{
"id": "ColourInversion",
"maxLen": 7,
"maxLen2": 15
}
]
}

View File

@@ -1,12 +1,12 @@
#!/bin/bash
set -e
# Setup shell file to setup the environment on an ubuntu machine
sudo apt-get update && sudo apt-get install -y make bzip2 git python3 python3-pip wget
sudo apt-get update && sudo apt-get install -y make bzip2 git python3 python3-pip wget dfu-util
python3 -m pip install bdflib black flake8
sudo mkdir -p /build
cd /build
#Download source files to cache folder
# Download source files to cache folder
# Remember if these are updated, you need to update the md5 file respectively
# Github checks out under $GITHUB_WORKSPACE
MDPATH=${GITHUB_WORKSPACE:-/build/source/}
@@ -16,16 +16,16 @@ if md5sum -c $MDPATH/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.
echo "Good MD5 ARM"
else
echo "ARM MD5 Mismatch, downloading fresh"
rm -rf /build/cache/gcc-arm*.bz2 || true
sudo wget -q "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" -O gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
rm -rf $MDPATH/ci/gcc-arm*.bz2 || true
fi
if md5sum -c $MDPATH/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5; then
echo "Good MD5 RISCV"
else
echo "RISCV MD5 Mismatch, downloading fresh"
rm -rf /build/cache/nuclei*.bz2 || true
sudo wget -q "https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2" -O nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2
rm -rf $MDPATH/ci/nuclei*.bz2 || true
fi
echo "Extracting compilers"

View File

@@ -1,8 +1,9 @@
#include "BSP_Flash.h"
#include "BSP_PD.h"
#include "BSP_Power.h"
#include "BSP_QC.h"
#include "Defines.h"
#include "Model_Config.h"
#include "configuration.h"
#include <stdbool.h>
#include <stdint.h>
/*
@@ -33,16 +34,13 @@ void BSPInit(void);
// Called to reset the hardware watchdog unit
void resetWatchdog();
// Accepts a output level of 0.. to use to control the tip output PWM
void setTipPWM(uint8_t pulse);
void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM);
// Returns the Handle temp in C, X10
uint16_t getHandleTemperature();
uint16_t getHandleTemperature(uint8_t sample);
// Returns the Tip temperature ADC reading in raw units
uint16_t getTipRawTemp(uint8_t refresh);
// Returns the main DC input voltage, using the adjustable divisor + sample flag
uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample);
// Switch to the most suitable PWM freq given the desired period;
// returns true if the switch was performed and totalPWM changed
bool tryBetterPWM(uint8_t pwm);
// Readers for the two buttons
// !! Returns 1 if held down, 0 if released
@@ -61,9 +59,8 @@ void reboot();
uint8_t showBootLogoIfavailable();
// delay wrapper for delay using the hardware timer (used before RTOS)
void delay_ms(uint16_t count);
// Used to allow knowledge of if usb_pd is being used
uint8_t usb_pd_detect();
bool getHallSensorFitted();
// Probe if the Hall sensor is fitted to the unit
bool getHallSensorFitted();
// If the iron has a hall effect sensor in the handle, return an signed count of the reading
// If the sensor is single polarity (or polarity insensitive) just return 0..32768
int16_t getRawHallEffect();
@@ -74,6 +71,21 @@ bool getIsPoweredByDCIN();
// Logs the system state to a debug interface if supported
void log_system_state(int32_t PWMWattsx10);
// Returns true if the tip is disconnected
bool isTipDisconnected();
// Status LED controls
enum StatusLED {
LED_OFF = 0, // Turn off status led
LED_STANDBY, // unit is in sleep /standby
LED_HEATING, // The unit is heating up to temperature
LED_HOT, // The unit is at operating temperature
LED_COOLING_STILL_HOT, // The unit is off and cooling but still hot
LED_UNKNOWN, //
};
void setStatusLED(const enum StatusLED state);
#ifdef __cplusplus
}
#endif

View File

@@ -8,6 +8,8 @@
#ifndef USER_BSP_PD_H_
#define USER_BSP_PD_H_
#include "BSP.h"
bool getFUS302IRQLow(); // Return true if the IRQ line is still held low
bool fusb_write_buf(const uint8_t deviceAddr, const uint8_t registerAdd, const uint8_t size, uint8_t *buf);
bool fusb_read_buf(const uint8_t deviceAddr, const uint8_t registerAdd, const uint8_t size, uint8_t *buf);
void setupFUSBIRQ();
bool getFUS302IRQLow();
#endif /* USER_BSP_PD_H_ */

View File

@@ -10,8 +10,6 @@
#include "FreeRTOSConfig.h"
enum Orientation { ORIENTATION_LEFT_HAND = 0, ORIENTATION_RIGHT_HAND = 1, ORIENTATION_FLAT = 3 };
// It is assumed that all hardware implements an 8Hz update period at this time
#define PID_TIM_HZ (8)
#define TICKS_SECOND configTICK_RATE_HZ
#define TICKS_MIN (60 * TICKS_SECOND)
#define TICKS_100MS (TICKS_SECOND / 10)

View File

@@ -0,0 +1,457 @@
// BSP mapping functions
#include "BSP.h"
#include "I2C_Wrapper.hpp"
#include "Pins.h"
#include "Setup.h"
#include "TipThermoModel.h"
#include "Utils.h"
#include "WS2812.h"
#include "configuration.h"
#include "history.hpp"
#include "main.hpp"
#include <IRQ.h>
WS2812<GPIOA_BASE, WS2812_Pin, 1> ws2812;
volatile uint16_t PWMSafetyTimer = 0;
volatile uint8_t pendingPWM = 0;
uint16_t totalPWM = 255;
const uint16_t powerPWM = 255;
history<uint16_t, PID_TIM_HZ> rawTempFilter = {{0}, 0, 0};
void resetWatchdog() { HAL_IWDG_Refresh(&hiwdg); }
#ifdef TEMP_NTC
// Lookup table for the NTC
// Stored as ADCReading,Temp in degC
static const uint16_t NTCHandleLookup[] = {
// ADC Reading , Temp in Cx10
808, 1600, //
832, 1590, //
848, 1580, //
872, 1570, //
888, 1560, //
912, 1550, //
936, 1540, //
960, 1530, //
984, 1520, //
1008, 1510, //
1032, 1500, //
1056, 1490, //
1080, 1480, //
1112, 1470, //
1136, 1460, //
1168, 1450, //
1200, 1440, //
1224, 1430, //
1256, 1420, //
1288, 1410, //
1328, 1400, //
1360, 1390, //
1392, 1380, //
1432, 1370, //
1464, 1360, //
1504, 1350, //
1544, 1340, //
1584, 1330, //
1632, 1320, //
1672, 1310, //
1720, 1300, //
1760, 1290, //
1808, 1280, //
1856, 1270, //
1912, 1260, //
1960, 1250, //
2016, 1240, //
2072, 1230, //
2128, 1220, //
2184, 1210, //
2248, 1200, //
2304, 1190, //
2368, 1180, //
2440, 1170, //
2504, 1160, //
2576, 1150, //
2648, 1140, //
2720, 1130, //
2792, 1120, //
2872, 1110, //
2952, 1100, //
3040, 1090, //
3128, 1080, //
3216, 1070, //
3304, 1060, //
3400, 1050, //
3496, 1040, //
3592, 1030, //
3696, 1020, //
3800, 1010, //
3912, 1000, //
4024, 990, //
4136, 980, //
4256, 970, //
4376, 960, //
4504, 950, //
4632, 940, //
4768, 930, //
4904, 920, //
5048, 910, //
5192, 900, //
5336, 890, //
5488, 880, //
5648, 870, //
5808, 860, //
5976, 850, //
6144, 840, //
6320, 830, //
6504, 820, //
6688, 810, //
6872, 800, //
7072, 790, //
7264, 780, //
7472, 770, //
7680, 760, //
7896, 750, //
8112, 740, //
8336, 730, //
8568, 720, //
8800, 710, //
9040, 700, //
9288, 690, //
9536, 680, //
9792, 670, //
10056, 660, //
10320, 650, //
10592, 640, //
10872, 630, //
11152, 620, //
11440, 610, //
11728, 600, //
12024, 590, //
12320, 580, //
12632, 570, //
12936, 560, //
13248, 550, //
13568, 540, //
13888, 530, //
14216, 520, //
14544, 510, //
14880, 500, //
15216, 490, //
15552, 480, //
15888, 470, //
16232, 460, //
16576, 450, //
16920, 440, //
17272, 430, //
17616, 420, //
17968, 410, //
18320, 400, //
18664, 390, //
19016, 380, //
19368, 370, //
19712, 360, //
20064, 350, //
20408, 340, //
20752, 330, //
21088, 320, //
21432, 310, //
21768, 300, //
22096, 290, //
22424, 280, //
22752, 270, //
23072, 260, //
23392, 250, //
23704, 240, //
24008, 230, //
24312, 220, //
24608, 210, //
24904, 200, //
25192, 190, //
25472, 180, //
25744, 170, //
26016, 160, //
26280, 150, //
26536, 140, //
26784, 130, //
27024, 120, //
27264, 110, //
27496, 100, //
27720, 90, //
27936, 80, //
28144, 70, //
28352, 60, //
28544, 50, //
28736, 40, //
28920, 30, //
29104, 20, //
29272, 10, //
};
const int NTCHandleLookupItems = sizeof(NTCHandleLookup) / (2 * sizeof(uint16_t));
#endif
// These are called by the HAL after the corresponding events from the system
// timers.
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
// Period has elapsed
if (htim->Instance == TIM4) {
// STM uses this for internal functions as a counter for timeouts
HAL_IncTick();
}
}
uint16_t getHandleTemperature(uint8_t sample) {
int32_t result = getADC(0);
return Utils::InterpolateLookupTable(NTCHandleLookup, NTCHandleLookupItems, result);
}
uint16_t getTipInstantTemperature() { return getADC(2); }
uint16_t getTipRawTemp(uint8_t refresh) {
if (refresh) {
uint16_t lastSample = getTipInstantTemperature();
rawTempFilter.update(lastSample);
return lastSample;
} else {
return rawTempFilter.average();
}
}
uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) {
// ADC maximum is 32767 == 3.3V at input == 28.05V at VIN
// Therefore we can divide down from there
// Multiplying ADC max by 4 for additional calibration options,
// ideal term is 467
static uint8_t preFillneeded = 10;
static uint32_t samples[BATTFILTERDEPTH];
static uint8_t index = 0;
if (preFillneeded) {
for (uint8_t i = 0; i < BATTFILTERDEPTH; i++)
samples[i] = getADC(1);
preFillneeded--;
}
if (sample) {
samples[index] = getADC(1);
index = (index + 1) % BATTFILTERDEPTH;
}
uint32_t sum = 0;
for (uint8_t i = 0; i < BATTFILTERDEPTH; i++)
sum += samples[i];
sum /= BATTFILTERDEPTH;
if (divisor == 0) {
divisor = 1;
}
return sum * 4 / divisor;
}
void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM) {
// We can just set the timer directly
if (htim3.Instance->PSC > 20) {
htim3.Instance->CCR1 = 0;
} else {
htim3.Instance->CCR1 = pulse;
}
}
void unstick_I2C() {
GPIO_InitTypeDef GPIO_InitStruct;
int timeout = 100;
int timeout_cnt = 0;
// 1. Clear PE bit.
hi2c1.Instance->CR1 &= ~(0x0001);
/**I2C1 GPIO Configuration
PB6 ------> I2C1_SCL
PB7 ------> I2C1_SDA
*/
// 2. Configure the SCL and SDA I/Os as General Purpose Output Open-Drain, High level (Write 1 to GPIOx_ODR).
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Pin = SCL_Pin;
HAL_GPIO_Init(SCL_GPIO_Port, &GPIO_InitStruct);
HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_SET);
GPIO_InitStruct.Pin = SDA_Pin;
HAL_GPIO_Init(SDA_GPIO_Port, &GPIO_InitStruct);
HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_SET);
while (GPIO_PIN_SET != HAL_GPIO_ReadPin(SDA_GPIO_Port, SDA_Pin)) {
// Move clock to release I2C
HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_RESET);
asm("nop");
asm("nop");
asm("nop");
asm("nop");
HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_SET);
timeout_cnt++;
if (timeout_cnt > timeout)
return;
}
// 12. Configure the SCL and SDA I/Os as Alternate function Open-Drain.
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Pin = SCL_Pin;
HAL_GPIO_Init(SCL_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = SDA_Pin;
HAL_GPIO_Init(SDA_GPIO_Port, &GPIO_InitStruct);
HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_SET);
// 13. Set SWRST bit in I2Cx_CR1 register.
hi2c1.Instance->CR1 |= 0x8000;
asm("nop");
// 14. Clear SWRST bit in I2Cx_CR1 register.
hi2c1.Instance->CR1 &= ~0x8000;
asm("nop");
// 15. Enable the I2C peripheral by setting the PE bit in I2Cx_CR1 register
hi2c1.Instance->CR1 |= 0x0001;
// Call initialization function.
HAL_I2C_Init(&hi2c1);
}
uint8_t getButtonA() { return HAL_GPIO_ReadPin(KEY_A_GPIO_Port, KEY_A_Pin) == GPIO_PIN_RESET ? 1 : 0; }
uint8_t getButtonB() { return HAL_GPIO_ReadPin(KEY_B_GPIO_Port, KEY_B_Pin) == GPIO_PIN_RESET ? 1 : 0; }
void BSPInit(void) { ws2812.init(); }
void reboot() { NVIC_SystemReset(); }
void delay_ms(uint16_t count) { HAL_Delay(count); }
void setPlatePullup(bool pullingUp) {
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.Pin = PLATE_SENSOR_PULLUP_Pin;
GPIO_InitStruct.Pull = GPIO_NOPULL;
if (pullingUp) {
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_WritePin(PLATE_SENSOR_PULLUP_GPIO_Port, PLATE_SENSOR_PULLUP_Pin, GPIO_PIN_SET);
} else {
// Hi-z
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
HAL_GPIO_WritePin(PLATE_SENSOR_PULLUP_GPIO_Port, PLATE_SENSOR_PULLUP_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_Init(PLATE_SENSOR_PULLUP_GPIO_Port, &GPIO_InitStruct);
}
uint16_t tipSenseResistancex10Ohms = 0;
bool isTipDisconnected() {
static bool lastTipDisconnectedState = true;
static uint16_t adcReadingPD1Set = 0;
static TickType_t lastMeas = 0;
// For the MHP30 we want to include a little extra logic in here
// As when the tip is first connected we want to measure the ~100 ohm resistor on the base of the tip
// And likewise if its removed we want to clear that measurement
/*
* plate_sensor_res = ((adc5_value_PD1_set - adc5_value_PD1_cleared) / (adc5_value_PD1_cleared + 4096 - adc5_value_PD1_set)) * 1000.0;
* */
bool tipDisconnected = getADC(2) > (4090 * 8);
// We have to handle here that this ^ will trip while measuring the gain resistor
if (xTaskGetTickCount() - lastMeas < (TICKS_100MS * 2 + (TICKS_100MS / 2))) {
tipDisconnected = false;
}
if (tipDisconnected != lastTipDisconnectedState) {
if (tipDisconnected) {
// Tip is now disconnected
tipSenseResistancex10Ohms = 0; // zero out the resistance
adcReadingPD1Set = 0;
lastMeas = 0;
}
lastTipDisconnectedState = tipDisconnected;
}
if (!tipDisconnected) {
if (tipSenseResistancex10Ohms == 0) {
if (lastMeas == 0) {
lastMeas = xTaskGetTickCount();
setPlatePullup(true);
} else if (xTaskGetTickCount() - lastMeas > (TICKS_100MS)) {
lastMeas = xTaskGetTickCount();
// We are sensing the resistance
if (adcReadingPD1Set == 0) {
// We will record the reading for PD1 being set
adcReadingPD1Set = getADC(3);
setPlatePullup(false);
} else {
// We have taken reading one
uint16_t adcReadingPD1Cleared = getADC(3);
uint32_t a = ((int)adcReadingPD1Set - (int)adcReadingPD1Cleared);
a *= 10000;
uint32_t b = ((int)adcReadingPD1Cleared + (32768 - (int)adcReadingPD1Set));
if (b) {
tipSenseResistancex10Ohms = a / b;
} else {
tipSenseResistancex10Ohms = adcReadingPD1Set = lastMeas = 0;
}
if (tipSenseResistancex10Ohms > 1100 || tipSenseResistancex10Ohms < 900) {
tipSenseResistancex10Ohms = 0; // out of range
adcReadingPD1Set = 0;
lastMeas = 0;
}
}
}
return true; // we fake tip being disconnected until this is measured
}
}
return tipDisconnected;
}
void setBuzzer(bool on) {
if (on) {
htim3.Instance->CCR2 = 128;
htim3.Instance->PSC = 100; // drop down into audible range
} else {
htim3.Instance->CCR2 = 0;
htim3.Instance->PSC = 1; // revert back out of hearing range
}
}
void setStatusLED(const enum StatusLED state) {
static enum StatusLED lastState = LED_UNKNOWN;
static TickType_t buzzerEnd = 0;
if (lastState != state || state == LED_HEATING) {
switch (state) {
default:
case LED_UNKNOWN:
case LED_OFF:
ws2812.led_set_color(0, 0, 0, 0);
break;
case LED_STANDBY:
ws2812.led_set_color(0, 0, 0xFF, 0); // green
break;
case LED_HEATING: {
ws2812.led_set_color(0, ((HAL_GetTick() / 10) % 192) + 64, 0, 0); // Red fade
} break;
case LED_HOT:
ws2812.led_set_color(0, 0xFF, 0, 0); // red
// We have hit the right temp, run buzzer for a short period
buzzerEnd = xTaskGetTickCount() + TICKS_SECOND / 3;
break;
case LED_COOLING_STILL_HOT:
ws2812.led_set_color(0, 0xFF, 0x8C, 0x00); // Orange
break;
}
ws2812.led_update();
lastState = state;
}
if (state == LED_HOT && xTaskGetTickCount() < buzzerEnd) {
setBuzzer(true);
} else {
setBuzzer(false);
}
}

View File

@@ -0,0 +1,180 @@
/*
FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
All rights reserved
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
This file is part of the FreeRTOS distribution.
FreeRTOS is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License (version 2) as published by the
Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
***************************************************************************
>>! NOTE: The modification to the GPL is included to allow you to !<<
>>! distribute a combined work that includes FreeRTOS without being !<<
>>! obliged to provide the source code for proprietary components !<<
>>! outside of the FreeRTOS kernel. !<<
***************************************************************************
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. Full license text is available on the following
link: http://www.freertos.org/a00114.html
***************************************************************************
* *
* FreeRTOS provides completely free yet professionally developed, *
* robust, strictly quality controlled, supported, and cross *
* platform software that is more than just the market leader, it *
* is the industry's de facto standard. *
* *
* Help yourself get started quickly while simultaneously helping *
* to support the FreeRTOS project by purchasing a FreeRTOS *
* tutorial book, reference manual, or both: *
* http://www.FreeRTOS.org/Documentation *
* *
***************************************************************************
http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
the FAQ page "My application does not run, what could be wrong?". Have you
defined configASSERT()?
http://www.FreeRTOS.org/support - In return for receiving this top quality
embedded software for free we request you assist our global community by
participating in the support forum.
http://www.FreeRTOS.org/training - Investing in training allows your team to
be as productive as possible as early as possible. Now you can receive
FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
Ltd, and the world's leading authority on the world's leading RTOS.
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
compatible FAT file system, and our tiny thread aware UDP/IP stack.
http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
licenses offer ticketed support, indemnification and commercial middleware.
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
engineered and independently SIL3 certified version for use in safety and
mission critical applications that require provable dependability.
1 tab == 4 spaces!
*/
#ifndef FREERTOS_CONFIG_H
#define FREERTOS_CONFIG_H
/*-----------------------------------------------------------
* Application specific definitions.
*
* These definitions should be adjusted for your particular hardware and
* application requirements.
*
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
*
* See http://www.freertos.org/a00110.html.
*----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#ifdef __cplusplus
extern "C" {
#endif
/* USER CODE END Includes */
/* Ensure stdint is only used by the compiler, and not the assembler. */
#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__)
#include <stdint.h>
extern uint32_t SystemCoreClock;
#endif
#define configUSE_PREEMPTION 1
#define configSUPPORT_STATIC_ALLOCATION 1
#define configSUPPORT_DYNAMIC_ALLOCATION 0
#define configUSE_IDLE_HOOK 1
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ (SystemCoreClock)
#define configTICK_RATE_HZ ((TickType_t)1000)
#define configMAX_PRIORITIES (6)
#define configMINIMAL_STACK_SIZE ((uint16_t)256)
#define configTOTAL_HEAP_SIZE ((size_t)1024 * 14) /*Currently use about 9000*/
#define configMAX_TASK_NAME_LEN (32)
#define configUSE_16_BIT_TICKS 0
#define configUSE_MUTEXES 1
#define configQUEUE_REGISTRY_SIZE 8
#define configUSE_TIMERS 0
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
#define configCHECK_FOR_STACK_OVERFLOW 2 /*Bump this to 2 during development and bug hunting*/
/* Co-routine definitions. */
#define configUSE_CO_ROUTINES 0
#define configMAX_CO_ROUTINE_PRIORITIES (2)
/* Set the following definitions to 1 to include the API function, or zero
to exclude the API function. */
#define INCLUDE_vTaskPrioritySet 1
#define INCLUDE_uxTaskPriorityGet 0
#define INCLUDE_vTaskDelete 0
#define INCLUDE_vTaskCleanUpResources 0
#define INCLUDE_vTaskSuspend 0
#define INCLUDE_vTaskDelayUntil 0
#define INCLUDE_vTaskDelay 1
#define INCLUDE_xTaskGetSchedulerState 1
#define INCLUDE_uxTaskGetStackHighWaterMark 1
/* Cortex-M specific definitions. */
#ifdef __NVIC_PRIO_BITS
/* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */
#define configPRIO_BITS __NVIC_PRIO_BITS
#else
#define configPRIO_BITS 4
#endif
/* The lowest interrupt priority that can be used in a call to a "set priority"
function. */
#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15
/* The highest interrupt priority that can be used by any interrupt service
routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL
INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
PRIORITY THAN THIS! (higher priorities are lower numeric values. */
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5
/* Interrupt priorities used by the kernel port layer itself. These are generic
to all Cortex-M ports, and do not rely on any particular library functions. */
#define configKERNEL_INTERRUPT_PRIORITY (configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS))
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
#define configMAX_SYSCALL_INTERRUPT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS))
/* Normal assert() semantics without relying on the provision of an assert.h
header file. */
/* USER CODE BEGIN 1 */
#define configASSERT(x) \
if ((x) == 0) { \
taskDISABLE_INTERRUPTS(); \
for (;;) \
; \
}
/* USER CODE END 1 */
/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
standard names. */
#define vPortSVCHandler SVC_Handler
#define xPortPendSVHandler PendSV_Handler
#if configUSE_TIMERS
#define configTIMER_TASK_PRIORITY 2
#define configTIMER_QUEUE_LENGTH 8
#define configTIMER_TASK_STACK_DEPTH (512 / 4)
#endif
#ifdef __cplusplus
}
#endif
#endif /* FREERTOS_CONFIG_H */

View File

@@ -0,0 +1,91 @@
/*
* FRToSI2C.cpp
*
* Created on: 14Apr.,2018
* Author: Ralim
*/
#include "BSP.h"
#include "Setup.h"
#include <I2C_Wrapper.hpp>
SemaphoreHandle_t FRToSI2C::I2CSemaphore = nullptr;
StaticSemaphore_t FRToSI2C::xSemaphoreBuffer;
void FRToSI2C::CpltCallback() {
hi2c1.State = HAL_I2C_STATE_READY; // Force state reset (even if tx error)
if (I2CSemaphore) {
xSemaphoreGiveFromISR(I2CSemaphore, NULL);
}
}
bool FRToSI2C::Mem_Read(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pData, uint16_t Size) {
if (!lock())
return false;
if (HAL_I2C_Mem_Read(&hi2c1, DevAddress, MemAddress, I2C_MEMADD_SIZE_8BIT, pData, Size, 500) != HAL_OK) {
I2C_Unstick();
unlock();
return false;
}
unlock();
return true;
}
bool FRToSI2C::I2C_RegisterWrite(uint8_t address, uint8_t reg, uint8_t data) { return Mem_Write(address, reg, &data, 1); }
uint8_t FRToSI2C::I2C_RegisterRead(uint8_t add, uint8_t reg) {
uint8_t tx_data[1];
Mem_Read(add, reg, tx_data, 1);
return tx_data[0];
}
bool FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pData, uint16_t Size) {
if (!lock())
return false;
if (HAL_I2C_Mem_Write(&hi2c1, DevAddress, MemAddress, I2C_MEMADD_SIZE_8BIT, pData, Size, 500) != HAL_OK) {
I2C_Unstick();
unlock();
return false;
}
unlock();
return true;
}
bool FRToSI2C::Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size) {
if (!lock())
return false;
if (HAL_I2C_Master_Transmit_DMA(&hi2c1, DevAddress, pData, Size) != HAL_OK) {
I2C_Unstick();
unlock();
return false;
}
return true;
}
bool FRToSI2C::probe(uint16_t DevAddress) {
if (!lock())
return false;
uint8_t buffer[1];
bool worked = HAL_I2C_Mem_Read(&hi2c1, DevAddress, 0x0F, I2C_MEMADD_SIZE_8BIT, buffer, 1, 1000) == HAL_OK;
unlock();
return worked;
}
void FRToSI2C::I2C_Unstick() { unstick_I2C(); }
void FRToSI2C::unlock() { xSemaphoreGive(I2CSemaphore); }
bool FRToSI2C::lock() { return xSemaphoreTake(I2CSemaphore, (TickType_t)50) == pdTRUE; }
bool FRToSI2C::writeRegistersBulk(const uint8_t address, const I2C_REG *registers, const uint8_t registersLength) {
for (int index = 0; index < registersLength; index++) {
if (!I2C_RegisterWrite(address, registers[index].reg, registers[index].val)) {
return false;
}
if (registers[index].pause_ms)
delay_ms(registers[index].pause_ms);
}
return true;
}

View File

@@ -0,0 +1,58 @@
/*
* IRQ.c
*
* Created on: 30 May 2020
* Author: Ralim
*/
#include "IRQ.h"
#include "Pins.h"
#include "configuration.h"
/*
* Catch the IRQ that says that the conversion is done on the temperature
* readings coming in Once these have come in we can unblock the PID so that it
* runs again
*/
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) {
static uint8_t counter = 0;
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
if (hadc == &hadc1) {
counter++;
if (counter % 32 == 0) { // 64 = 128ms, 32 = 64ms
if (pidTaskNotification) {
vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken);
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
}
}
}
}
void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c __unused) { FRToSI2C::CpltCallback(); }
void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c __unused) { FRToSI2C::CpltCallback(); }
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c __unused) { FRToSI2C::CpltCallback(); }
void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c __unused) { FRToSI2C::CpltCallback(); }
void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c __unused) { FRToSI2C::CpltCallback(); }
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c __unused) { FRToSI2C::CpltCallback(); }
extern osThreadId POWTaskHandle;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
(void)GPIO_Pin;
// Notify POW thread that an irq occured
if (POWTaskHandle != nullptr) {
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
xTaskNotifyFromISR(POWTaskHandle, 1, eSetBits, &xHigherPriorityTaskWoken);
/* Force a context switch if xHigherPriorityTaskWoken is now set to pdTRUE.
The macro used to do this is dependent on the port and may be called
portEND_SWITCHING_ISR. */
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
}
}
bool getFUS302IRQLow() {
#if POW_PD
// Return true if the IRQ line is still held low
return HAL_GPIO_ReadPin(INT_PD_GPIO_Port, INT_PD_Pin) == GPIO_PIN_RESET;
#else
return false;
#endif
}

View File

@@ -0,0 +1,32 @@
/*
* Irqs.h
*
* Created on: 30 May 2020
* Author: Ralim
*/
#ifndef BSP_MINIWARE_IRQ_H_
#define BSP_MINIWARE_IRQ_H_
#include "BSP.h"
#include "I2C_Wrapper.hpp"
#include "Setup.h"
#include "main.hpp"
#include "stm32f1xx_hal.h"
#ifdef __cplusplus
extern "C" {
#endif
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc);
void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_GPIO_EXTI_Callback(uint16_t);
#ifdef __cplusplus
}
#endif
#endif /* BSP_MINIWARE_IRQ_H_ */

View File

@@ -0,0 +1,59 @@
/*
* Pins.h
*
* Created on: 29 May 2020
* Author: Ralim
*/
#ifndef BSP_MINIWARE_PINS_H_
#define BSP_MINIWARE_PINS_H_
#include "configuration.h"
// MHP30 pin map
#define KEY_B_Pin GPIO_PIN_0
#define KEY_B_GPIO_Port GPIOB
#define TMP36_INPUT_Pin GPIO_PIN_1
#define TMP36_INPUT_GPIO_Port GPIOB
#define TMP36_ADC1_CHANNEL ADC_CHANNEL_9
#define TMP36_ADC2_CHANNEL ADC_CHANNEL_9
#define TIP_TEMP_Pin GPIO_PIN_2
#define TIP_TEMP_GPIO_Port GPIOA
#define TIP_TEMP_ADC1_CHANNEL ADC_CHANNEL_2
#define TIP_TEMP_ADC2_CHANNEL ADC_CHANNEL_2
#define VIN_Pin GPIO_PIN_1
#define VIN_GPIO_Port GPIOA
#define VIN_ADC1_CHANNEL ADC_CHANNEL_1
#define VIN_ADC2_CHANNEL ADC_CHANNEL_1
#define OLED_RESET_Pin GPIO_PIN_4
#define OLED_RESET_GPIO_Port GPIOB
#define KEY_A_Pin GPIO_PIN_10
#define KEY_A_GPIO_Port GPIOA
#define PWM_Out_Pin GPIO_PIN_6
#define PWM_Out_GPIO_Port GPIOA
#define PWM_Out_CHANNEL TIM_CHANNEL_1
#define BUZZER_Pin GPIO_PIN_7
#define BUZZER_GPIO_Port GPIOA
#define BUZZER_CHANNEL TIM_CHANNEL_2
#define SCL_Pin GPIO_PIN_6
#define SCL_GPIO_Port GPIOB
#define SDA_Pin GPIO_PIN_7
#define SDA_GPIO_Port GPIOB
#define SCL2_Pin GPIO_PIN_3
#define SCL2_GPIO_Port GPIOB
#define SDA2_Pin GPIO_PIN_15
#define SDA2_GPIO_Port GPIOA
#define INT_PD_Pin GPIO_PIN_5
#define INT_PD_GPIO_Port GPIOB
#define HEAT_EN_Pin GPIO_PIN_3
#define HEAT_EN_GPIO_Port GPIOA
#define PLATE_SENSOR_PULLUP_Pin GPIO_PIN_1
#define PLATE_SENSOR_PULLUP_GPIO_Port GPIOD
#define PLATE_SENSOR_Pin GPIO_PIN_5
#define PLATE_SENSOR_GPIO_Port GPIOA
#define PLATE_SENSOR_ADC1_CHANNEL ADC_CHANNEL_5
#define PLATE_SENSOR_ADC2_CHANNEL ADC_CHANNEL_5
#define WS2812_Pin GPIO_PIN_8
#define WS2812_GPIO_Port GPIOA
#endif /* BSP_MINIWARE_PINS_H_ */

View File

@@ -0,0 +1,19 @@
#include "BSP.h"
#include "BSP_Power.h"
#include "Pins.h"
#include "QC3.h"
#include "Settings.h"
#include "USBPD.h"
#include "configuration.h"
void power_check() {
#if POW_PD
// Cant start QC until either PD works or fails
if (USBPowerDelivery::negotiationComplete()) {
return;
}
#endif
}
bool getIsPoweredByDCIN() { return false; }

View File

@@ -0,0 +1,76 @@
/*
* QC.c
*
* Created on: 29 May 2020
* Author: Ralim
*/
#include "BSP.h"
#include "Pins.h"
#include "QC3.h"
#include "Settings.h"
#include "configuration.h"
#include "stm32f1xx_hal.h"
#ifdef POW_QC
void QC_DPlusZero_Six() {
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_RESET); // pull down D+
}
void QC_DNegZero_Six() {
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_RESET);
}
void QC_DPlusThree_Three() {
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_3, GPIO_PIN_SET); // pull up D+
}
void QC_DNegThree_Three() {
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_8, GPIO_PIN_SET);
}
void QC_DM_PullDown() {
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Pin = GPIO_PIN_11;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void QC_DM_No_PullDown() {
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Pin = GPIO_PIN_11;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void QC_Init_GPIO() {
// Setup any GPIO into the right states for QC
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_3;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_10;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
// Turn off output mode on pins that we can
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Pin = GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_14 | GPIO_PIN_13;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void QC_Post_Probe_En() {
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
uint8_t QC_DM_PulledDown() { return HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_11) == GPIO_PIN_RESET ? 1 : 0; }
#endif
void QC_resync() {
#ifdef POW_QC
seekQC(systemSettings.QCIdealVoltage, systemSettings.voltageDiv); // Run the QC seek again if we have drifted too much
#endif
}

View File

@@ -0,0 +1,12 @@
# BSP section for STM32F103 based Miniware products
This folder contains the hardware abstractions required for the TS100, TS80 and probably TS80P soldering irons.
## Main abstractions
* Hardware Init
* -> Should contain all bootstrap to bring the hardware up to an operating point
* -> Two functions are required, a pre and post FreeRToS call
* I2C read/write
* Set PWM for the tip
* Links between IRQ's on the system and the calls in the rest of the firmware

View File

@@ -0,0 +1,388 @@
/*
* Setup.c
*
* Created on: 29Aug.,2017
* Author: Ben V. Brown
*/
#include "Setup.h"
#include "Pins.h"
#include <string.h>
ADC_HandleTypeDef hadc1;
ADC_HandleTypeDef hadc2;
DMA_HandleTypeDef hdma_adc1;
I2C_HandleTypeDef hi2c1;
DMA_HandleTypeDef hdma_i2c1_rx;
DMA_HandleTypeDef hdma_i2c1_tx;
IWDG_HandleTypeDef hiwdg;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
#define ADC_CHANNELS 4
#define ADC_SAMPLES 16
uint32_t ADCReadings[ADC_SAMPLES * ADC_CHANNELS]; // room for 32 lots of the pair of readings
// Functions
static void SystemClock_Config(void);
static void MX_ADC1_Init(void);
static void MX_I2C1_Init(void);
static void MX_IWDG_Init(void);
static void MX_TIM3_Init(void);
static void MX_TIM2_Init(void);
static void MX_DMA_Init(void);
static void MX_GPIO_Init(void);
static void MX_ADC2_Init(void);
void Setup_HAL() {
SystemClock_Config();
__HAL_AFIO_REMAP_SWJ_NOJTAG();
MX_GPIO_Init();
MX_DMA_Init();
MX_I2C1_Init();
MX_ADC1_Init();
MX_ADC2_Init();
MX_TIM3_Init();
MX_TIM2_Init();
MX_IWDG_Init();
HAL_ADC_Start(&hadc2);
HAL_ADCEx_MultiModeStart_DMA(&hadc1, ADCReadings,
(ADC_SAMPLES * ADC_CHANNELS)); // start DMA of normal readings
// HAL_ADCEx_InjectedStart(&hadc1); // enable injected readings
// HAL_ADCEx_InjectedStart(&hadc2); // enable injected readings
}
// channel 0 -> temperature sensor, 1-> VIN, 2-> tip
uint16_t getADC(uint8_t channel) {
uint32_t sum = 0;
for (uint8_t i = 0; i < ADC_SAMPLES; i++) {
uint16_t adc1Sample = ADCReadings[channel + (i * ADC_CHANNELS)];
uint16_t adc2Sample = ADCReadings[channel + (i * ADC_CHANNELS)] >> 16;
sum += (adc1Sample + adc2Sample);
}
return sum >> 2;
}
/** System Clock Configuration
*/
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_PeriphCLKInitTypeDef PeriphClkInit;
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_LSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16; // 64MHz
HAL_RCC_OscConfig(&RCC_OscInitStruct);
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; // TIM
// 2,3,4,5,6,7,12,13,14
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // 64 mhz to some peripherals and adc
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
PeriphClkInit.AdcClockSelection = RCC_CFGR_ADCPRE_DIV8; // 6 or 8 are the only non overclocked options
HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
/**Configure the Systick interrupt time
*/
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
/**Configure the Systick
*/
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 15, 0);
}
/* ADC1 init function */
static void MX_ADC1_Init(void) {
ADC_MultiModeTypeDef multimode;
ADC_ChannelConfTypeDef sConfig;
/**Common config
*/
hadc1.Instance = ADC1;
hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
hadc1.Init.ContinuousConvMode = ENABLE;
hadc1.Init.DiscontinuousConvMode = DISABLE;
hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc1.Init.NbrOfConversion = ADC_CHANNELS;
HAL_ADC_Init(&hadc1);
/**Configure the ADC multi-mode
*/
multimode.Mode = ADC_DUALMODE_REGSIMULT_INJECSIMULT;
HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode);
/**Configure Regular Channel
*/
sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
sConfig.Channel = TMP36_ADC1_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_1;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
/**Configure Regular Channel
*/
sConfig.Channel = VIN_ADC1_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_2;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
sConfig.Channel = TIP_TEMP_ADC1_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_3;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
sConfig.Channel = PLATE_SENSOR_ADC1_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_4;
HAL_ADC_ConfigChannel(&hadc1, &sConfig);
SET_BIT(hadc1.Instance->CR1, (ADC_CR1_EOSIE)); // Enable end of Normal
// Run ADC internal calibration
while (HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK)
;
}
/* ADC2 init function */
static void MX_ADC2_Init(void) {
ADC_ChannelConfTypeDef sConfig;
/**Common config
*/
hadc2.Instance = ADC2;
hadc2.Init.ScanConvMode = ADC_SCAN_ENABLE;
hadc2.Init.ContinuousConvMode = ENABLE;
hadc2.Init.DiscontinuousConvMode = DISABLE;
hadc2.Init.ExternalTrigConv = ADC_SOFTWARE_START;
hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT;
hadc2.Init.NbrOfConversion = ADC_CHANNELS;
HAL_ADC_Init(&hadc2);
sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
/**Configure Regular Channel
*/
sConfig.Channel = TMP36_ADC2_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_1;
HAL_ADC_ConfigChannel(&hadc2, &sConfig);
sConfig.Channel = VIN_ADC2_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_2;
HAL_ADC_ConfigChannel(&hadc2, &sConfig);
sConfig.Channel = TIP_TEMP_ADC1_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_3;
HAL_ADC_ConfigChannel(&hadc2, &sConfig);
sConfig.Channel = PLATE_SENSOR_ADC2_CHANNEL;
sConfig.Rank = ADC_REGULAR_RANK_4;
HAL_ADC_ConfigChannel(&hadc2, &sConfig);
// Run ADC internal calibration
while (HAL_ADCEx_Calibration_Start(&hadc2) != HAL_OK)
;
}
/* I2C1 init function */
static void MX_I2C1_Init(void) {
hi2c1.Instance = I2C1;
hi2c1.Init.ClockSpeed = 300000;
hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c1.Init.OwnAddress1 = 0;
hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
hi2c1.Init.OwnAddress2 = 0;
hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
HAL_I2C_Init(&hi2c1);
}
/* IWDG init function */
static void MX_IWDG_Init(void) {
hiwdg.Instance = IWDG;
hiwdg.Init.Prescaler = IWDG_PRESCALER_256;
hiwdg.Init.Reload = 100;
#ifndef SWD_ENABLE
HAL_IWDG_Init(&hiwdg);
#endif
}
/* TIM3 init function */
static void MX_TIM3_Init(void) {
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_OC_InitTypeDef sConfigOC;
memset(&sClockSourceConfig, 0, sizeof(sClockSourceConfig));
memset(&sMasterConfig, 0, sizeof(sMasterConfig));
memset(&sConfigOC, 0, sizeof(sConfigOC));
htim3.Instance = TIM3;
htim3.Init.Prescaler = 1;
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
htim3.Init.Period = 255; //
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; // 4mhz before div
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; // Preload the ARR register (though we dont use this)
HAL_TIM_Base_Init(&htim3);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig);
HAL_TIM_PWM_Init(&htim3);
HAL_TIM_OC_Init(&htim3);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 0; // Output control
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, PWM_Out_CHANNEL);
HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, BUZZER_CHANNEL);
GPIO_InitTypeDef GPIO_InitStruct;
/**TIM3 GPIO Configuration
PWM_Out_Pin ------> TIM3_CH1
*/
GPIO_InitStruct.Pin = PWM_Out_Pin | BUZZER_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // We would like sharp rising edges
HAL_GPIO_Init(PWM_Out_GPIO_Port, &GPIO_InitStruct);
HAL_TIM_PWM_Start(&htim3, PWM_Out_CHANNEL);
HAL_TIM_PWM_Start(&htim3, BUZZER_CHANNEL);
}
/* TIM3 init function */
static void MX_TIM2_Init(void) {
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
TIM_OC_InitTypeDef sConfigOC;
htim2.Instance = TIM2;
htim2.Init.Prescaler = 200; // 2 MHz timer clock/2000 = 1 kHz tick rate
// pwm out is 10k from tim3, we want to run our PWM at around 10hz or slower on the output stage
// These values give a rate of around 3.5 Hz for "fast" mode and 1.84 Hz for "slow"
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
// dummy value, will be reconfigured by BSPInit()
htim2.Init.Period = 10;
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; // 8 MHz (x2 APB1) before divide
htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
htim2.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim2);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig);
HAL_TIM_PWM_Init(&htim2);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);
sConfigOC.OCMode = TIM_OCMODE_PWM1;
// dummy value, will be reconfigured by BSPInit() in the BSP.cpp
sConfigOC.Pulse = 5;
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
sConfigOC.OCFastMode = TIM_OCFAST_ENABLE;
HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = HEAT_EN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; // We would like sharp rising edges
HAL_GPIO_Init(HEAT_EN_GPIO_Port, &GPIO_InitStruct);
HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_4);
}
/**
* Enable DMA controller clock
*/
static void MX_DMA_Init(void) {
/* DMA controller clock enable */
__HAL_RCC_DMA1_CLK_ENABLE();
/* DMA interrupt init */
/* DMA1_Channel1_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 10, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
/* DMA1_Channel6_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
/* DMA1_Channel7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Channel7_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(DMA1_Channel7_IRQn);
}
static void MX_GPIO_Init(void) {
GPIO_InitTypeDef GPIO_InitStruct;
memset(&GPIO_InitStruct, 0, sizeof(GPIO_InitStruct));
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(OLED_RESET_GPIO_Port, OLED_RESET_Pin, GPIO_PIN_RESET);
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
/*Configure GPIO pins : PD0 PD1 */
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/*Configure peripheral I/O remapping */
__HAL_AFIO_REMAP_PD01_ENABLE();
//^ remap XTAL so that pins used
/*
* Configure All pins as analog by default
*/
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_10 | GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12
| GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : KEY_B_Pin KEY_A_Pin */
GPIO_InitStruct.Pin = KEY_B_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(KEY_B_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = KEY_A_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(KEY_A_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pin : OLED_RESET_Pin */
GPIO_InitStruct.Pin = OLED_RESET_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(OLED_RESET_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = WS2812_Pin;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(WS2812_GPIO_Port, &GPIO_InitStruct);
HAL_GPIO_WritePin(WS2812_GPIO_Port, WS2812_Pin, GPIO_PIN_RESET);
// Pull down LCD reset
HAL_GPIO_WritePin(OLED_RESET_GPIO_Port, OLED_RESET_Pin, GPIO_PIN_RESET);
HAL_Delay(30);
HAL_GPIO_WritePin(OLED_RESET_GPIO_Port, OLED_RESET_Pin, GPIO_PIN_SET);
}
#ifdef USE_FULL_ASSERT
void assert_failed(uint8_t *file, uint32_t line) { asm("bkpt"); }
#endif

View File

@@ -0,0 +1,40 @@
/*
* Setup.h
*
* Created on: 29Aug.,2017
* Author: Ben V. Brown
*/
#ifndef SETUP_H_
#define SETUP_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "stm32f1xx_hal.h"
extern ADC_HandleTypeDef hadc1;
extern ADC_HandleTypeDef hadc2;
extern DMA_HandleTypeDef hdma_adc1;
extern DMA_HandleTypeDef hdma_i2c1_rx;
extern DMA_HandleTypeDef hdma_i2c1_tx;
extern I2C_HandleTypeDef hi2c1;
extern IWDG_HandleTypeDef hiwdg;
extern TIM_HandleTypeDef htim1;
extern DMA_HandleTypeDef hdma_tim1_ch1;
extern TIM_HandleTypeDef htim2;
extern TIM_HandleTypeDef htim3;
void Setup_HAL();
uint16_t getADC(uint8_t channel);
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); // Since the hal header file does not define this one
#ifdef __cplusplus
}
#endif
#endif /* SETUP_H_ */

View File

@@ -0,0 +1,30 @@
/*
* Software_I2C.h
*
* Created on: 25 Jul 2020
* Author: Ralim
*/
#ifndef BSP_MINIWARE_SOFTWARE_I2C_H_
#define BSP_MINIWARE_SOFTWARE_I2C_H_
#include "BSP.h"
#include "configuration.h"
#include "stm32f1xx_hal.h"
#ifdef I2C_SOFT
#define SOFT_SCL_HIGH() HAL_GPIO_WritePin(SCL2_GPIO_Port, SCL2_Pin, GPIO_PIN_SET)
#define SOFT_SCL_LOW() HAL_GPIO_WritePin(SCL2_GPIO_Port, SCL2_Pin, GPIO_PIN_RESET)
#define SOFT_SDA_HIGH() HAL_GPIO_WritePin(SDA2_GPIO_Port, SDA2_Pin, GPIO_PIN_SET)
#define SOFT_SDA_LOW() HAL_GPIO_WritePin(SDA2_GPIO_Port, SDA2_Pin, GPIO_PIN_RESET)
#define SOFT_SDA_READ() (HAL_GPIO_ReadPin(SDA2_GPIO_Port, SDA2_Pin) == GPIO_PIN_SET ? 1 : 0)
#define SOFT_SCL_READ() (HAL_GPIO_ReadPin(SCL2_GPIO_Port, SCL2_Pin) == GPIO_PIN_SET ? 1 : 0)
#define SOFT_I2C_DELAY() \
{ \
for (int xx = 0; xx < 20; xx++) { \
asm("nop"); \
} \
}
#endif
#endif /* BSP_MINIWARE_SOFTWARE_I2C_H_ */

View File

@@ -0,0 +1,22 @@
/*
* ThermoModel.cpp
*
* Created on: 1 May 2021
* Author: Ralim
*/
#include "Setup.h"
#include "TipThermoModel.h"
#include "Utils.h"
#include "configuration.h"
extern uint16_t tipSenseResistancex10Ohms;
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) {
// For the MHP30, we are mimicing the original code and using the resistor fitted to the base of the heater head, this is measured in the isTipDisconnected() function
if (tipSenseResistancex10Ohms > 900 && tipSenseResistancex10Ohms <= 1100) {
int32_t a = ((tipSenseResistancex10Ohms / 10) + 300) * (3300000 - tipuVDelta);
int32_t b = a / 1000000;
int32_t c = tipuVDelta - b;
int32_t d = c * 243 / 1000;
return d / 10;
}
return 0xFFFF;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,198 @@
/**
******************************************************************************
* @file stm32f1xx.h
* @author MCD Application Team
* @brief CMSIS STM32F1xx Device Peripheral Access Layer Header File.
*
* The file is the unique include file that the application programmer
* is using in the C source code, usually in main.c. This file contains:
* - Configuration section that allows to select:
* - The STM32F1xx device used in the target application
* - To use or not the peripheral<61>s drivers in application code(i.e.
* code will be based on direct access to peripheral<61>s registers
* rather than drivers API), this option is controlled by
* "#define USE_HAL_DRIVER"
*
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/** @addtogroup CMSIS
* @{
*/
/** @addtogroup stm32f1xx
* @{
*/
#ifndef __STM32F1XX_H
#define __STM32F1XX_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/** @addtogroup Library_configuration_section
* @{
*/
/**
* @brief STM32 Family
*/
#if !defined(STM32F1)
#define STM32F1
#endif /* STM32F1 */
/* Uncomment the line below according to the target STM32L device used in your
application
*/
#if !defined(STM32F100xB) && !defined(STM32F100xE) && !defined(STM32F101x6) && !defined(STM32F101xB) && !defined(STM32F101xE) && !defined(STM32F101xG) && !defined(STM32F102x6) \
&& !defined(STM32F102xB) && !defined(STM32F103x6) && !defined(STM32F103xB) && !defined(STM32F103xE) && !defined(STM32F103xG) && !defined(STM32F105xC) && !defined(STM32F107xC)
/* #define STM32F100xB */ /*!< STM32F100C4, STM32F100R4, STM32F100C6, STM32F100R6, STM32F100C8, STM32F100R8, STM32F100V8, STM32F100CB, STM32F100RB and STM32F100VB */
/* #define STM32F100xE */ /*!< STM32F100RC, STM32F100VC, STM32F100ZC, STM32F100RD, STM32F100VD, STM32F100ZD, STM32F100RE, STM32F100VE and STM32F100ZE */
/* #define STM32F101x6 */ /*!< STM32F101C4, STM32F101R4, STM32F101T4, STM32F101C6, STM32F101R6 and STM32F101T6 Devices */
/* #define STM32F101xB */ /*!< STM32F101C8, STM32F101R8, STM32F101T8, STM32F101V8, STM32F101CB, STM32F101RB, STM32F101TB and STM32F101VB */
/* #define STM32F101xE */ /*!< STM32F101RC, STM32F101VC, STM32F101ZC, STM32F101RD, STM32F101VD, STM32F101ZD, STM32F101RE, STM32F101VE and STM32F101ZE */
/* #define STM32F101xG */ /*!< STM32F101RF, STM32F101VF, STM32F101ZF, STM32F101RG, STM32F101VG and STM32F101ZG */
/* #define STM32F102x6 */ /*!< STM32F102C4, STM32F102R4, STM32F102C6 and STM32F102R6 */
/* #define STM32F102xB */ /*!< STM32F102C8, STM32F102R8, STM32F102CB and STM32F102RB */
/* #define STM32F103x6 */ /*!< STM32F103C4, STM32F103R4, STM32F103T4, STM32F103C6, STM32F103R6 and STM32F103T6 */
/* #define STM32F103xB */ /*!< STM32F103C8, STM32F103R8, STM32F103T8, STM32F103V8, STM32F103CB, STM32F103RB, STM32F103TB and STM32F103VB */
/* #define STM32F103xE */ /*!< STM32F103RC, STM32F103VC, STM32F103ZC, STM32F103RD, STM32F103VD, STM32F103ZD, STM32F103RE, STM32F103VE and STM32F103ZE */
/* #define STM32F103xG */ /*!< STM32F103RF, STM32F103VF, STM32F103ZF, STM32F103RG, STM32F103VG and STM32F103ZG */
/* #define STM32F105xC */ /*!< STM32F105R8, STM32F105V8, STM32F105RB, STM32F105VB, STM32F105RC and STM32F105VC */
/* #define STM32F107xC */ /*!< STM32F107RB, STM32F107VB, STM32F107RC and STM32F107VC */
#endif
/* Tip: To avoid modifying this file each time you need to switch between these
devices, you can define the device in your toolchain compiler preprocessor.
*/
#if !defined(USE_HAL_DRIVER)
/**
* @brief Comment the line below if you will not use the peripherals drivers.
In this case, these drivers will not be included and the application code will
be based on direct access to peripherals registers
*/
/*#define USE_HAL_DRIVER */
#endif /* USE_HAL_DRIVER */
/**
* @brief CMSIS Device version number V4.3.2
*/
#define __STM32F1_CMSIS_VERSION_MAIN (0x04) /*!< [31:24] main version */
#define __STM32F1_CMSIS_VERSION_SUB1 (0x03) /*!< [23:16] sub1 version */
#define __STM32F1_CMSIS_VERSION_SUB2 (0x02) /*!< [15:8] sub2 version */
#define __STM32F1_CMSIS_VERSION_RC (0x00) /*!< [7:0] release candidate */
#define __STM32F1_CMSIS_VERSION ((__STM32F1_CMSIS_VERSION_MAIN << 24) | (__STM32F1_CMSIS_VERSION_SUB1 << 16) | (__STM32F1_CMSIS_VERSION_SUB2 << 8) | (__STM32F1_CMSIS_VERSION_RC))
/**
* @}
*/
/** @addtogroup Device_Included
* @{
*/
#if defined(STM32F100xB)
#include "stm32f100xb.h"
#elif defined(STM32F100xE)
#include "stm32f100xe.h"
#elif defined(STM32F101x6)
#include "stm32f101x6.h"
#elif defined(STM32F101xB)
#include "stm32f101xb.h"
#elif defined(STM32F101xE)
#include "stm32f101xe.h"
#elif defined(STM32F101xG)
#include "stm32f101xg.h"
#elif defined(STM32F102x6)
#include "stm32f102x6.h"
#elif defined(STM32F102xB)
#include "stm32f102xb.h"
#elif defined(STM32F103x6)
#include "stm32f103x6.h"
#elif defined(STM32F103xB)
#include "stm32f103xb.h"
#elif defined(STM32F103xE)
#include "stm32f103xe.h"
#elif defined(STM32F103xG)
#include "stm32f103xg.h"
#elif defined(STM32F105xC)
#include "stm32f105xc.h"
#elif defined(STM32F107xC)
#include "stm32f107xc.h"
#else
#error "Please select first the target STM32F1xx device used in your application (in stm32f1xx.h file)"
#endif
/**
* @}
*/
/** @addtogroup Exported_types
* @{
*/
typedef enum { RESET = 0, SET = !RESET } FlagStatus, ITStatus;
typedef enum { DISABLE = 0, ENABLE = !DISABLE } FunctionalState;
#define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
typedef enum { SUCCESS = 0U, ERROR = !SUCCESS } ErrorStatus;
/**
* @}
*/
/** @addtogroup Exported_macros
* @{
*/
#define SET_BIT(REG, BIT) ((REG) |= (BIT))
#define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
#define READ_BIT(REG, BIT) ((REG) & (BIT))
#define CLEAR_REG(REG) ((REG) = (0x0))
#define WRITE_REG(REG, VAL) ((REG) = (VAL))
#define READ_REG(REG) ((REG))
#define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
#define POSITION_VAL(VAL) (__CLZ(__RBIT(VAL)))
/**
* @}
*/
#if defined(USE_HAL_DRIVER)
#include "stm32f1xx_hal.h"
#endif /* USE_HAL_DRIVER */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __STM32F1xx_H */
/**
* @}
*/
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -0,0 +1,97 @@
/**
******************************************************************************
* @file system_stm32f10x.h
* @author MCD Application Team
* @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Header File.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/** @addtogroup CMSIS
* @{
*/
/** @addtogroup stm32f10x_system
* @{
*/
/**
* @brief Define to prevent recursive inclusion
*/
#ifndef __SYSTEM_STM32F10X_H
#define __SYSTEM_STM32F10X_H
#ifdef __cplusplus
extern "C" {
#endif
/** @addtogroup STM32F10x_System_Includes
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_types
* @{
*/
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
extern const uint8_t AHBPrescTable[16U]; /*!< AHB prescalers table values */
extern const uint8_t APBPrescTable[8U]; /*!< APB prescalers table values */
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_Constants
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_Macros
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_Functions
* @{
*/
extern void SystemInit(void);
extern void SystemCoreClockUpdate(void);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /*__SYSTEM_STM32F10X_H */
/**
* @}
*/
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -0,0 +1,764 @@
/**************************************************************************/ /**
* @file cmsis_armcc.h
* @brief CMSIS compiler ARMCC (Arm Compiler 5) header file
* @version V5.0.4
* @date 10. January 2018
******************************************************************************/
/*
* Copyright (c) 2009-2018 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __CMSIS_ARMCC_H
#define __CMSIS_ARMCC_H
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 400677)
#error "Please use Arm Compiler Toolchain V4.0.677 or later!"
#endif
/* CMSIS compiler control architecture macros */
#if ((defined(__TARGET_ARCH_6_M) && (__TARGET_ARCH_6_M == 1)) || (defined(__TARGET_ARCH_6S_M) && (__TARGET_ARCH_6S_M == 1)))
#define __ARM_ARCH_6M__ 1
#endif
#if (defined(__TARGET_ARCH_7_M) && (__TARGET_ARCH_7_M == 1))
#define __ARM_ARCH_7M__ 1
#endif
#if (defined(__TARGET_ARCH_7E_M) && (__TARGET_ARCH_7E_M == 1))
#define __ARM_ARCH_7EM__ 1
#endif
/* __ARM_ARCH_8M_BASE__ not applicable */
/* __ARM_ARCH_8M_MAIN__ not applicable */
/* CMSIS compiler specific defines */
#ifndef __ASM
#define __ASM __asm
#endif
#ifndef __INLINE
#define __INLINE __inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static __inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE static __forceinline
#endif
#ifndef __NO_RETURN
#define __NO_RETURN __declspec(noreturn)
#endif
#ifndef __USED
#define __USED __attribute__((used))
#endif
#ifndef __WEAK
#define __WEAK __attribute__((weak))
#endif
#ifndef __PACKED
#define __PACKED __attribute__((packed))
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT __packed struct
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION __packed union
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
#define __UNALIGNED_UINT32(x) (*((__packed uint32_t *)(x)))
#endif
#ifndef __UNALIGNED_UINT16_WRITE
#define __UNALIGNED_UINT16_WRITE(addr, val) ((*((__packed uint16_t *)(addr))) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
#define __UNALIGNED_UINT16_READ(addr) (*((const __packed uint16_t *)(addr)))
#endif
#ifndef __UNALIGNED_UINT32_WRITE
#define __UNALIGNED_UINT32_WRITE(addr, val) ((*((__packed uint32_t *)(addr))) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
#define __UNALIGNED_UINT32_READ(addr) (*((const __packed uint32_t *)(addr)))
#endif
#ifndef __ALIGNED
#define __ALIGNED(x) __attribute__((aligned(x)))
#endif
#ifndef __RESTRICT
#define __RESTRICT __restrict
#endif
/* ########################### Core Function Access ########################### */
/** \ingroup CMSIS_Core_FunctionInterface
\defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
@{
*/
/**
\brief Enable IRQ Interrupts
\details Enables IRQ interrupts by clearing the I-bit in the CPSR.
Can only be executed in Privileged modes.
*/
/* intrinsic void __enable_irq(); */
/**
\brief Disable IRQ Interrupts
\details Disables IRQ interrupts by setting the I-bit in the CPSR.
Can only be executed in Privileged modes.
*/
/* intrinsic void __disable_irq(); */
/**
\brief Get Control Register
\details Returns the content of the Control Register.
\return Control Register value
*/
__STATIC_INLINE uint32_t __get_CONTROL(void) {
register uint32_t __regControl __ASM("control");
return (__regControl);
}
/**
\brief Set Control Register
\details Writes the given value to the Control Register.
\param [in] control Control Register value to set
*/
__STATIC_INLINE void __set_CONTROL(uint32_t control) {
register uint32_t __regControl __ASM("control");
__regControl = control;
}
/**
\brief Get IPSR Register
\details Returns the content of the IPSR Register.
\return IPSR Register value
*/
__STATIC_INLINE uint32_t __get_IPSR(void) {
register uint32_t __regIPSR __ASM("ipsr");
return (__regIPSR);
}
/**
\brief Get APSR Register
\details Returns the content of the APSR Register.
\return APSR Register value
*/
__STATIC_INLINE uint32_t __get_APSR(void) {
register uint32_t __regAPSR __ASM("apsr");
return (__regAPSR);
}
/**
\brief Get xPSR Register
\details Returns the content of the xPSR Register.
\return xPSR Register value
*/
__STATIC_INLINE uint32_t __get_xPSR(void) {
register uint32_t __regXPSR __ASM("xpsr");
return (__regXPSR);
}
/**
\brief Get Process Stack Pointer
\details Returns the current value of the Process Stack Pointer (PSP).
\return PSP Register value
*/
__STATIC_INLINE uint32_t __get_PSP(void) {
register uint32_t __regProcessStackPointer __ASM("psp");
return (__regProcessStackPointer);
}
/**
\brief Set Process Stack Pointer
\details Assigns the given value to the Process Stack Pointer (PSP).
\param [in] topOfProcStack Process Stack Pointer value to set
*/
__STATIC_INLINE void __set_PSP(uint32_t topOfProcStack) {
register uint32_t __regProcessStackPointer __ASM("psp");
__regProcessStackPointer = topOfProcStack;
}
/**
\brief Get Main Stack Pointer
\details Returns the current value of the Main Stack Pointer (MSP).
\return MSP Register value
*/
__STATIC_INLINE uint32_t __get_MSP(void) {
register uint32_t __regMainStackPointer __ASM("msp");
return (__regMainStackPointer);
}
/**
\brief Set Main Stack Pointer
\details Assigns the given value to the Main Stack Pointer (MSP).
\param [in] topOfMainStack Main Stack Pointer value to set
*/
__STATIC_INLINE void __set_MSP(uint32_t topOfMainStack) {
register uint32_t __regMainStackPointer __ASM("msp");
__regMainStackPointer = topOfMainStack;
}
/**
\brief Get Priority Mask
\details Returns the current state of the priority mask bit from the Priority Mask Register.
\return Priority Mask value
*/
__STATIC_INLINE uint32_t __get_PRIMASK(void) {
register uint32_t __regPriMask __ASM("primask");
return (__regPriMask);
}
/**
\brief Set Priority Mask
\details Assigns the given value to the Priority Mask Register.
\param [in] priMask Priority Mask
*/
__STATIC_INLINE void __set_PRIMASK(uint32_t priMask) {
register uint32_t __regPriMask __ASM("primask");
__regPriMask = (priMask);
}
#if ((defined(__ARM_ARCH_7M__) && (__ARM_ARCH_7M__ == 1)) || (defined(__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)))
/**
\brief Enable FIQ
\details Enables FIQ interrupts by clearing the F-bit in the CPSR.
Can only be executed in Privileged modes.
*/
#define __enable_fault_irq __enable_fiq
/**
\brief Disable FIQ
\details Disables FIQ interrupts by setting the F-bit in the CPSR.
Can only be executed in Privileged modes.
*/
#define __disable_fault_irq __disable_fiq
/**
\brief Get Base Priority
\details Returns the current value of the Base Priority register.
\return Base Priority register value
*/
__STATIC_INLINE uint32_t __get_BASEPRI(void) {
register uint32_t __regBasePri __ASM("basepri");
return (__regBasePri);
}
/**
\brief Set Base Priority
\details Assigns the given value to the Base Priority register.
\param [in] basePri Base Priority value to set
*/
__STATIC_INLINE void __set_BASEPRI(uint32_t basePri) {
register uint32_t __regBasePri __ASM("basepri");
__regBasePri = (basePri & 0xFFU);
}
/**
\brief Set Base Priority with condition
\details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled,
or the new value increases the BASEPRI priority level.
\param [in] basePri Base Priority value to set
*/
__STATIC_INLINE void __set_BASEPRI_MAX(uint32_t basePri) {
register uint32_t __regBasePriMax __ASM("basepri_max");
__regBasePriMax = (basePri & 0xFFU);
}
/**
\brief Get Fault Mask
\details Returns the current value of the Fault Mask register.
\return Fault Mask register value
*/
__STATIC_INLINE uint32_t __get_FAULTMASK(void) {
register uint32_t __regFaultMask __ASM("faultmask");
return (__regFaultMask);
}
/**
\brief Set Fault Mask
\details Assigns the given value to the Fault Mask register.
\param [in] faultMask Fault Mask value to set
*/
__STATIC_INLINE void __set_FAULTMASK(uint32_t faultMask) {
register uint32_t __regFaultMask __ASM("faultmask");
__regFaultMask = (faultMask & (uint32_t)1U);
}
#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
/**
\brief Get FPSCR
\details Returns the current value of the Floating Point Status/Control register.
\return Floating Point Status/Control register value
*/
__STATIC_INLINE uint32_t __get_FPSCR(void) {
#if ((defined(__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && (defined(__FPU_USED) && (__FPU_USED == 1U)))
register uint32_t __regfpscr __ASM("fpscr");
return (__regfpscr);
#else
return (0U);
#endif
}
/**
\brief Set FPSCR
\details Assigns the given value to the Floating Point Status/Control register.
\param [in] fpscr Floating Point Status/Control value to set
*/
__STATIC_INLINE void __set_FPSCR(uint32_t fpscr) {
#if ((defined(__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && (defined(__FPU_USED) && (__FPU_USED == 1U)))
register uint32_t __regfpscr __ASM("fpscr");
__regfpscr = (fpscr);
#else
(void)fpscr;
#endif
}
/*@} end of CMSIS_Core_RegAccFunctions */
/* ########################## Core Instruction Access ######################### */
/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
Access to dedicated instructions
@{
*/
/**
\brief No Operation
\details No Operation does nothing. This instruction can be used for code alignment purposes.
*/
#define __NOP __nop
/**
\brief Wait For Interrupt
\details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
*/
#define __WFI __wfi
/**
\brief Wait For Event
\details Wait For Event is a hint instruction that permits the processor to enter
a low-power state until one of a number of events occurs.
*/
#define __WFE __wfe
/**
\brief Send Event
\details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
*/
#define __SEV __sev
/**
\brief Instruction Synchronization Barrier
\details Instruction Synchronization Barrier flushes the pipeline in the processor,
so that all instructions following the ISB are fetched from cache or memory,
after the instruction has been completed.
*/
#define __ISB() \
do { \
__schedule_barrier(); \
__isb(0xF); \
__schedule_barrier(); \
} while (0U)
/**
\brief Data Synchronization Barrier
\details Acts as a special kind of Data Memory Barrier.
It completes when all explicit memory accesses before this instruction complete.
*/
#define __DSB() \
do { \
__schedule_barrier(); \
__dsb(0xF); \
__schedule_barrier(); \
} while (0U)
/**
\brief Data Memory Barrier
\details Ensures the apparent order of the explicit memory operations before
and after the instruction, without ensuring their completion.
*/
#define __DMB() \
do { \
__schedule_barrier(); \
__dmb(0xF); \
__schedule_barrier(); \
} while (0U)
/**
\brief Reverse byte order (32 bit)
\details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
\param [in] value Value to reverse
\return Reversed value
*/
#define __REV __rev
/**
\brief Reverse byte order (16 bit)
\details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
\param [in] value Value to reverse
\return Reversed value
*/
#ifndef __NO_EMBEDDED_ASM
__attribute__((section(".rev16_text"))) __STATIC_INLINE __ASM uint32_t __REV16(uint32_t value) { rev16 r0, r0 bx lr }
#endif
/**
\brief Reverse byte order (16 bit)
\details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.
\param [in] value Value to reverse
\return Reversed value
*/
#ifndef __NO_EMBEDDED_ASM
__attribute__((section(".revsh_text"))) __STATIC_INLINE __ASM int16_t __REVSH(int16_t value) { revsh r0, r0 bx lr }
#endif
/**
\brief Rotate Right in unsigned value (32 bit)
\details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
\param [in] op1 Value to rotate
\param [in] op2 Number of Bits to rotate
\return Rotated value
*/
#define __ROR __ror
/**
\brief Breakpoint
\details Causes the processor to enter Debug state.
Debug tools can use this to investigate system state when the instruction at a particular address is reached.
\param [in] value is ignored by the processor.
If required, a debugger can use it to store additional information about the breakpoint.
*/
#define __BKPT(value) __breakpoint(value)
/**
\brief Reverse bit order of value
\details Reverses the bit order of the given value.
\param [in] value Value to reverse
\return Reversed value
*/
#if ((defined(__ARM_ARCH_7M__) && (__ARM_ARCH_7M__ == 1)) || (defined(__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)))
#define __RBIT __rbit
#else
__attribute__((always_inline)) __STATIC_INLINE uint32_t __RBIT(uint32_t value) {
uint32_t result;
uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
result = value; /* r will be reversed bits of v; first get LSB of v */
for (value >>= 1U; value != 0U; value >>= 1U) {
result <<= 1U;
result |= value & 1U;
s--;
}
result <<= s; /* shift when v's highest bits are zero */
return result;
}
#endif
/**
\brief Count leading zeros
\details Counts the number of leading zeros of a data value.
\param [in] value Value to count the leading zeros
\return number of leading zeros in value
*/
#define __CLZ __clz
#if ((defined(__ARM_ARCH_7M__) && (__ARM_ARCH_7M__ == 1)) || (defined(__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)))
/**
\brief LDR Exclusive (8 bit)
\details Executes a exclusive LDR instruction for 8 bit value.
\param [in] ptr Pointer to data
\return value of type uint8_t at (*ptr)
*/
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
#define __LDREXB(ptr) ((uint8_t)__ldrex(ptr))
#else
#define __LDREXB(ptr) _Pragma("push") _Pragma("diag_suppress 3731")((uint8_t)__ldrex(ptr)) _Pragma("pop")
#endif
/**
\brief LDR Exclusive (16 bit)
\details Executes a exclusive LDR instruction for 16 bit values.
\param [in] ptr Pointer to data
\return value of type uint16_t at (*ptr)
*/
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
#define __LDREXH(ptr) ((uint16_t)__ldrex(ptr))
#else
#define __LDREXH(ptr) _Pragma("push") _Pragma("diag_suppress 3731")((uint16_t)__ldrex(ptr)) _Pragma("pop")
#endif
/**
\brief LDR Exclusive (32 bit)
\details Executes a exclusive LDR instruction for 32 bit values.
\param [in] ptr Pointer to data
\return value of type uint32_t at (*ptr)
*/
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
#define __LDREXW(ptr) ((uint32_t)__ldrex(ptr))
#else
#define __LDREXW(ptr) _Pragma("push") _Pragma("diag_suppress 3731")((uint32_t)__ldrex(ptr)) _Pragma("pop")
#endif
/**
\brief STR Exclusive (8 bit)
\details Executes a exclusive STR instruction for 8 bit values.
\param [in] value Value to store
\param [in] ptr Pointer to location
\return 0 Function succeeded
\return 1 Function failed
*/
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
#define __STREXB(value, ptr) __strex(value, ptr)
#else
#define __STREXB(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop")
#endif
/**
\brief STR Exclusive (16 bit)
\details Executes a exclusive STR instruction for 16 bit values.
\param [in] value Value to store
\param [in] ptr Pointer to location
\return 0 Function succeeded
\return 1 Function failed
*/
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
#define __STREXH(value, ptr) __strex(value, ptr)
#else
#define __STREXH(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop")
#endif
/**
\brief STR Exclusive (32 bit)
\details Executes a exclusive STR instruction for 32 bit values.
\param [in] value Value to store
\param [in] ptr Pointer to location
\return 0 Function succeeded
\return 1 Function failed
*/
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION < 5060020)
#define __STREXW(value, ptr) __strex(value, ptr)
#else
#define __STREXW(value, ptr) _Pragma("push") _Pragma("diag_suppress 3731") __strex(value, ptr) _Pragma("pop")
#endif
/**
\brief Remove the exclusive lock
\details Removes the exclusive lock which is created by LDREX.
*/
#define __CLREX __clrex
/**
\brief Signed Saturate
\details Saturates a signed value.
\param [in] value Value to be saturated
\param [in] sat Bit position to saturate to (1..32)
\return Saturated value
*/
#define __SSAT __ssat
/**
\brief Unsigned Saturate
\details Saturates an unsigned value.
\param [in] value Value to be saturated
\param [in] sat Bit position to saturate to (0..31)
\return Saturated value
*/
#define __USAT __usat
/**
\brief Rotate Right with Extend (32 bit)
\details Moves each bit of a bitstring right by one bit.
The carry input is shifted in at the left end of the bitstring.
\param [in] value Value to rotate
\return Rotated value
*/
#ifndef __NO_EMBEDDED_ASM
__attribute__((section(".rrx_text"))) __STATIC_INLINE __ASM uint32_t __RRX(uint32_t value) { rrx r0, r0 bx lr }
#endif
/**
\brief LDRT Unprivileged (8 bit)
\details Executes a Unprivileged LDRT instruction for 8 bit value.
\param [in] ptr Pointer to data
\return value of type uint8_t at (*ptr)
*/
#define __LDRBT(ptr) ((uint8_t)__ldrt(ptr))
/**
\brief LDRT Unprivileged (16 bit)
\details Executes a Unprivileged LDRT instruction for 16 bit values.
\param [in] ptr Pointer to data
\return value of type uint16_t at (*ptr)
*/
#define __LDRHT(ptr) ((uint16_t)__ldrt(ptr))
/**
\brief LDRT Unprivileged (32 bit)
\details Executes a Unprivileged LDRT instruction for 32 bit values.
\param [in] ptr Pointer to data
\return value of type uint32_t at (*ptr)
*/
#define __LDRT(ptr) ((uint32_t)__ldrt(ptr))
/**
\brief STRT Unprivileged (8 bit)
\details Executes a Unprivileged STRT instruction for 8 bit values.
\param [in] value Value to store
\param [in] ptr Pointer to location
*/
#define __STRBT(value, ptr) __strt(value, ptr)
/**
\brief STRT Unprivileged (16 bit)
\details Executes a Unprivileged STRT instruction for 16 bit values.
\param [in] value Value to store
\param [in] ptr Pointer to location
*/
#define __STRHT(value, ptr) __strt(value, ptr)
/**
\brief STRT Unprivileged (32 bit)
\details Executes a Unprivileged STRT instruction for 32 bit values.
\param [in] value Value to store
\param [in] ptr Pointer to location
*/
#define __STRT(value, ptr) __strt(value, ptr)
#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
/**
\brief Signed Saturate
\details Saturates a signed value.
\param [in] value Value to be saturated
\param [in] sat Bit position to saturate to (1..32)
\return Saturated value
*/
__attribute__((always_inline)) __STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat) {
if ((sat >= 1U) && (sat <= 32U)) {
const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
const int32_t min = -1 - max;
if (val > max) {
return max;
} else if (val < min) {
return min;
}
}
return val;
}
/**
\brief Unsigned Saturate
\details Saturates an unsigned value.
\param [in] value Value to be saturated
\param [in] sat Bit position to saturate to (0..31)
\return Saturated value
*/
__attribute__((always_inline)) __STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat) {
if (sat <= 31U) {
const uint32_t max = ((1U << sat) - 1U);
if (val > (int32_t)max) {
return max;
} else if (val < 0) {
return 0U;
}
}
return (uint32_t)val;
}
#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
(defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
/*@}*/ /* end of group CMSIS_Core_InstructionInterface */
/* ################### Compiler specific Intrinsics ########################### */
/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
Access to dedicated SIMD instructions
@{
*/
#if ((defined(__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)))
#define __SADD8 __sadd8
#define __QADD8 __qadd8
#define __SHADD8 __shadd8
#define __UADD8 __uadd8
#define __UQADD8 __uqadd8
#define __UHADD8 __uhadd8
#define __SSUB8 __ssub8
#define __QSUB8 __qsub8
#define __SHSUB8 __shsub8
#define __USUB8 __usub8
#define __UQSUB8 __uqsub8
#define __UHSUB8 __uhsub8
#define __SADD16 __sadd16
#define __QADD16 __qadd16
#define __SHADD16 __shadd16
#define __UADD16 __uadd16
#define __UQADD16 __uqadd16
#define __UHADD16 __uhadd16
#define __SSUB16 __ssub16
#define __QSUB16 __qsub16
#define __SHSUB16 __shsub16
#define __USUB16 __usub16
#define __UQSUB16 __uqsub16
#define __UHSUB16 __uhsub16
#define __SASX __sasx
#define __QASX __qasx
#define __SHASX __shasx
#define __UASX __uasx
#define __UQASX __uqasx
#define __UHASX __uhasx
#define __SSAX __ssax
#define __QSAX __qsax
#define __SHSAX __shsax
#define __USAX __usax
#define __UQSAX __uqsax
#define __UHSAX __uhsax
#define __USAD8 __usad8
#define __USADA8 __usada8
#define __SSAT16 __ssat16
#define __USAT16 __usat16
#define __UXTB16 __uxtb16
#define __UXTAB16 __uxtab16
#define __SXTB16 __sxtb16
#define __SXTAB16 __sxtab16
#define __SMUAD __smuad
#define __SMUADX __smuadx
#define __SMLAD __smlad
#define __SMLADX __smladx
#define __SMLALD __smlald
#define __SMLALDX __smlaldx
#define __SMUSD __smusd
#define __SMUSDX __smusdx
#define __SMLSD __smlsd
#define __SMLSDX __smlsdx
#define __SMLSLD __smlsld
#define __SMLSLDX __smlsldx
#define __SEL __sel
#define __QADD __qadd
#define __QSUB __qsub
#define __PKHBT(ARG1, ARG2, ARG3) (((((uint32_t)(ARG1))) & 0x0000FFFFUL) | ((((uint32_t)(ARG2)) << (ARG3)) & 0xFFFF0000UL))
#define __PKHTB(ARG1, ARG2, ARG3) (((((uint32_t)(ARG1))) & 0xFFFF0000UL) | ((((uint32_t)(ARG2)) >> (ARG3)) & 0x0000FFFFUL))
#define __SMMLA(ARG1, ARG2, ARG3) ((int32_t)((((int64_t)(ARG1) * (ARG2)) + ((int64_t)(ARG3) << 32U)) >> 32U))
#endif /* ((defined (__ARM_ARCH_7EM__) && (__ARM_ARCH_7EM__ == 1)) ) */
/*@} end of group CMSIS_SIMD_intrinsics */
#endif /* __CMSIS_ARMCC_H */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,263 @@
/**************************************************************************/ /**
* @file cmsis_compiler.h
* @brief CMSIS compiler generic header file
* @version V5.0.4
* @date 10. January 2018
******************************************************************************/
/*
* Copyright (c) 2009-2018 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __CMSIS_COMPILER_H
#define __CMSIS_COMPILER_H
#include <stdint.h>
/*
* Arm Compiler 4/5
*/
#if defined(__CC_ARM)
#include "cmsis_armcc.h"
/*
* Arm Compiler 6 (armclang)
*/
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
#include "cmsis_armclang.h"
/*
* GNU Compiler
*/
#elif defined(__GNUC__)
#include "cmsis_gcc.h"
/*
* IAR Compiler
*/
#elif defined(__ICCARM__)
#include <cmsis_iccarm.h>
/*
* TI Arm Compiler
*/
#elif defined(__TI_ARM__)
#include <cmsis_ccs.h>
#ifndef __ASM
#define __ASM __asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __STATIC_INLINE
#endif
#ifndef __NO_RETURN
#define __NO_RETURN __attribute__((noreturn))
#endif
#ifndef __USED
#define __USED __attribute__((used))
#endif
#ifndef __WEAK
#define __WEAK __attribute__((weak))
#endif
#ifndef __PACKED
#define __PACKED __attribute__((packed))
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT struct __attribute__((packed))
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION union __attribute__((packed))
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
struct __attribute__((packed)) T_UINT32 {
uint32_t v;
};
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
#endif
#ifndef __ALIGNED
#define __ALIGNED(x) __attribute__((aligned(x)))
#endif
#ifndef __RESTRICT
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
#define __RESTRICT
#endif
/*
* TASKING Compiler
*/
#elif defined(__TASKING__)
/*
* The CMSIS functions have been implemented as intrinsics in the compiler.
* Please use "carm -?i" to get an up to date list of all intrinsics,
* Including the CMSIS ones.
*/
#ifndef __ASM
#define __ASM __asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __STATIC_INLINE
#endif
#ifndef __NO_RETURN
#define __NO_RETURN __attribute__((noreturn))
#endif
#ifndef __USED
#define __USED __attribute__((used))
#endif
#ifndef __WEAK
#define __WEAK __attribute__((weak))
#endif
#ifndef __PACKED
#define __PACKED __packed__
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT struct __packed__
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION union __packed__
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
struct __packed__ T_UINT32 {
uint32_t v;
};
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
#endif
#ifndef __ALIGNED
#define __ALIGNED(x) __align(x)
#endif
#ifndef __RESTRICT
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
#define __RESTRICT
#endif
/*
* COSMIC Compiler
*/
#elif defined(__CSMC__)
#include <cmsis_csm.h>
#ifndef __ASM
#define __ASM _asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __STATIC_INLINE
#endif
#ifndef __NO_RETURN
// NO RETURN is automatically detected hence no warning here
#define __NO_RETURN
#endif
#ifndef __USED
#warning No compiler specific solution for __USED. __USED is ignored.
#define __USED
#endif
#ifndef __WEAK
#define __WEAK __weak
#endif
#ifndef __PACKED
#define __PACKED @packed
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT @packed struct
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION @packed union
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
@packed struct T_UINT32 {
uint32_t v;
};
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
#endif
#ifndef __ALIGNED
#warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.
#define __ALIGNED(x)
#endif
#ifndef __RESTRICT
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
#define __RESTRICT
#endif
#else
#error Unknown compiler.
#endif
#endif /* __CMSIS_COMPILER_H */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,802 @@
/**************************************************************************/ /**
* @file cmsis_iccarm.h
* @brief CMSIS compiler ICCARM (IAR Compiler for Arm) header file
* @version V5.0.7
* @date 19. June 2018
******************************************************************************/
//------------------------------------------------------------------------------
//
// Copyright (c) 2017-2018 IAR Systems
//
// Licensed under the Apache License, Version 2.0 (the "License")
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//------------------------------------------------------------------------------
#ifndef __CMSIS_ICCARM_H__
#define __CMSIS_ICCARM_H__
#ifndef __ICCARM__
#error This file should only be compiled by ICCARM
#endif
#pragma system_include
#define __IAR_FT _Pragma("inline=forced") __intrinsic
#if (__VER__ >= 8000000)
#define __ICCARM_V8 1
#else
#define __ICCARM_V8 0
#endif
#ifndef __ALIGNED
#if __ICCARM_V8
#define __ALIGNED(x) __attribute__((aligned(x)))
#elif (__VER__ >= 7080000)
/* Needs IAR language extensions */
#define __ALIGNED(x) __attribute__((aligned(x)))
#else
#warning No compiler specific solution for __ALIGNED.__ALIGNED is ignored.
#define __ALIGNED(x)
#endif
#endif
/* Define compiler macros for CPU architecture, used in CMSIS 5.
*/
#if __ARM_ARCH_6M__ || __ARM_ARCH_7M__ || __ARM_ARCH_7EM__ || __ARM_ARCH_8M_BASE__ || __ARM_ARCH_8M_MAIN__
/* Macros already defined */
#else
#if defined(__ARM8M_MAINLINE__) || defined(__ARM8EM_MAINLINE__)
#define __ARM_ARCH_8M_MAIN__ 1
#elif defined(__ARM8M_BASELINE__)
#define __ARM_ARCH_8M_BASE__ 1
#elif defined(__ARM_ARCH_PROFILE) && __ARM_ARCH_PROFILE == 'M'
#if __ARM_ARCH == 6
#define __ARM_ARCH_6M__ 1
#elif __ARM_ARCH == 7
#if __ARM_FEATURE_DSP
#define __ARM_ARCH_7EM__ 1
#else
#define __ARM_ARCH_7M__ 1
#endif
#endif /* __ARM_ARCH */
#endif /* __ARM_ARCH_PROFILE == 'M' */
#endif
/* Alternativ core deduction for older ICCARM's */
#if !defined(__ARM_ARCH_6M__) && !defined(__ARM_ARCH_7M__) && !defined(__ARM_ARCH_7EM__) && !defined(__ARM_ARCH_8M_BASE__) && !defined(__ARM_ARCH_8M_MAIN__)
#if defined(__ARM6M__) && (__CORE__ == __ARM6M__)
#define __ARM_ARCH_6M__ 1
#elif defined(__ARM7M__) && (__CORE__ == __ARM7M__)
#define __ARM_ARCH_7M__ 1
#elif defined(__ARM7EM__) && (__CORE__ == __ARM7EM__)
#define __ARM_ARCH_7EM__ 1
#elif defined(__ARM8M_BASELINE__) && (__CORE == __ARM8M_BASELINE__)
#define __ARM_ARCH_8M_BASE__ 1
#elif defined(__ARM8M_MAINLINE__) && (__CORE == __ARM8M_MAINLINE__)
#define __ARM_ARCH_8M_MAIN__ 1
#elif defined(__ARM8EM_MAINLINE__) && (__CORE == __ARM8EM_MAINLINE__)
#define __ARM_ARCH_8M_MAIN__ 1
#else
#error "Unknown target."
#endif
#endif
#if defined(__ARM_ARCH_6M__) && __ARM_ARCH_6M__ == 1
#define __IAR_M0_FAMILY 1
#elif defined(__ARM_ARCH_8M_BASE__) && __ARM_ARCH_8M_BASE__ == 1
#define __IAR_M0_FAMILY 1
#else
#define __IAR_M0_FAMILY 0
#endif
#ifndef __ASM
#define __ASM __asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __NO_RETURN
#if __ICCARM_V8
#define __NO_RETURN __attribute__((__noreturn__))
#else
#define __NO_RETURN _Pragma("object_attribute=__noreturn")
#endif
#endif
#ifndef __PACKED
#if __ICCARM_V8
#define __PACKED __attribute__((packed, aligned(1)))
#else
/* Needs IAR language extensions */
#define __PACKED __packed
#endif
#endif
#ifndef __PACKED_STRUCT
#if __ICCARM_V8
#define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
#else
/* Needs IAR language extensions */
#define __PACKED_STRUCT __packed struct
#endif
#endif
#ifndef __PACKED_UNION
#if __ICCARM_V8
#define __PACKED_UNION union __attribute__((packed, aligned(1)))
#else
/* Needs IAR language extensions */
#define __PACKED_UNION __packed union
#endif
#endif
#ifndef __RESTRICT
#define __RESTRICT __restrict
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __FORCEINLINE
#define __FORCEINLINE _Pragma("inline=forced")
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __FORCEINLINE __STATIC_INLINE
#endif
#ifndef __UNALIGNED_UINT16_READ
#pragma language = save
#pragma language = extended
__IAR_FT uint16_t __iar_uint16_read(void const *ptr) { return *(__packed uint16_t *)(ptr); }
#pragma language = restore
#define __UNALIGNED_UINT16_READ(PTR) __iar_uint16_read(PTR)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
#pragma language = save
#pragma language = extended
__IAR_FT void __iar_uint16_write(void const *ptr, uint16_t val) {
*(__packed uint16_t *)(ptr) = val;
;
}
#pragma language = restore
#define __UNALIGNED_UINT16_WRITE(PTR, VAL) __iar_uint16_write(PTR, VAL)
#endif
#ifndef __UNALIGNED_UINT32_READ
#pragma language = save
#pragma language = extended
__IAR_FT uint32_t __iar_uint32_read(void const *ptr) { return *(__packed uint32_t *)(ptr); }
#pragma language = restore
#define __UNALIGNED_UINT32_READ(PTR) __iar_uint32_read(PTR)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
#pragma language = save
#pragma language = extended
__IAR_FT void __iar_uint32_write(void const *ptr, uint32_t val) {
*(__packed uint32_t *)(ptr) = val;
;
}
#pragma language = restore
#define __UNALIGNED_UINT32_WRITE(PTR, VAL) __iar_uint32_write(PTR, VAL)
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
#pragma language = save
#pragma language = extended
__packed struct __iar_u32 { uint32_t v; };
#pragma language = restore
#define __UNALIGNED_UINT32(PTR) (((struct __iar_u32 *)(PTR))->v)
#endif
#ifndef __USED
#if __ICCARM_V8
#define __USED __attribute__((used))
#else
#define __USED _Pragma("__root")
#endif
#endif
#ifndef __WEAK
#if __ICCARM_V8
#define __WEAK __attribute__((weak))
#else
#define __WEAK _Pragma("__weak")
#endif
#endif
#ifndef __ICCARM_INTRINSICS_VERSION__
#define __ICCARM_INTRINSICS_VERSION__ 0
#endif
#if __ICCARM_INTRINSICS_VERSION__ == 2
#if defined(__CLZ)
#undef __CLZ
#endif
#if defined(__REVSH)
#undef __REVSH
#endif
#if defined(__RBIT)
#undef __RBIT
#endif
#if defined(__SSAT)
#undef __SSAT
#endif
#if defined(__USAT)
#undef __USAT
#endif
#include "iccarm_builtin.h"
#define __disable_fault_irq __iar_builtin_disable_fiq
#define __disable_irq __iar_builtin_disable_interrupt
#define __enable_fault_irq __iar_builtin_enable_fiq
#define __enable_irq __iar_builtin_enable_interrupt
#define __arm_rsr __iar_builtin_rsr
#define __arm_wsr __iar_builtin_wsr
#define __get_APSR() (__arm_rsr("APSR"))
#define __get_BASEPRI() (__arm_rsr("BASEPRI"))
#define __get_CONTROL() (__arm_rsr("CONTROL"))
#define __get_FAULTMASK() (__arm_rsr("FAULTMASK"))
#if ((defined(__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && (defined(__FPU_USED) && (__FPU_USED == 1U)))
#define __get_FPSCR() (__arm_rsr("FPSCR"))
#define __set_FPSCR(VALUE) (__arm_wsr("FPSCR", (VALUE)))
#else
#define __get_FPSCR() (0)
#define __set_FPSCR(VALUE) ((void)VALUE)
#endif
#define __get_IPSR() (__arm_rsr("IPSR"))
#define __get_MSP() (__arm_rsr("MSP"))
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure MSPLIM is RAZ/WI
#define __get_MSPLIM() (0U)
#else
#define __get_MSPLIM() (__arm_rsr("MSPLIM"))
#endif
#define __get_PRIMASK() (__arm_rsr("PRIMASK"))
#define __get_PSP() (__arm_rsr("PSP"))
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
#define __get_PSPLIM() (0U)
#else
#define __get_PSPLIM() (__arm_rsr("PSPLIM"))
#endif
#define __get_xPSR() (__arm_rsr("xPSR"))
#define __set_BASEPRI(VALUE) (__arm_wsr("BASEPRI", (VALUE)))
#define __set_BASEPRI_MAX(VALUE) (__arm_wsr("BASEPRI_MAX", (VALUE)))
#define __set_CONTROL(VALUE) (__arm_wsr("CONTROL", (VALUE)))
#define __set_FAULTMASK(VALUE) (__arm_wsr("FAULTMASK", (VALUE)))
#define __set_MSP(VALUE) (__arm_wsr("MSP", (VALUE)))
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure MSPLIM is RAZ/WI
#define __set_MSPLIM(VALUE) ((void)(VALUE))
#else
#define __set_MSPLIM(VALUE) (__arm_wsr("MSPLIM", (VALUE)))
#endif
#define __set_PRIMASK(VALUE) (__arm_wsr("PRIMASK", (VALUE)))
#define __set_PSP(VALUE) (__arm_wsr("PSP", (VALUE)))
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
#define __set_PSPLIM(VALUE) ((void)(VALUE))
#else
#define __set_PSPLIM(VALUE) (__arm_wsr("PSPLIM", (VALUE)))
#endif
#define __TZ_get_CONTROL_NS() (__arm_rsr("CONTROL_NS"))
#define __TZ_set_CONTROL_NS(VALUE) (__arm_wsr("CONTROL_NS", (VALUE)))
#define __TZ_get_PSP_NS() (__arm_rsr("PSP_NS"))
#define __TZ_set_PSP_NS(VALUE) (__arm_wsr("PSP_NS", (VALUE)))
#define __TZ_get_MSP_NS() (__arm_rsr("MSP_NS"))
#define __TZ_set_MSP_NS(VALUE) (__arm_wsr("MSP_NS", (VALUE)))
#define __TZ_get_SP_NS() (__arm_rsr("SP_NS"))
#define __TZ_set_SP_NS(VALUE) (__arm_wsr("SP_NS", (VALUE)))
#define __TZ_get_PRIMASK_NS() (__arm_rsr("PRIMASK_NS"))
#define __TZ_set_PRIMASK_NS(VALUE) (__arm_wsr("PRIMASK_NS", (VALUE)))
#define __TZ_get_BASEPRI_NS() (__arm_rsr("BASEPRI_NS"))
#define __TZ_set_BASEPRI_NS(VALUE) (__arm_wsr("BASEPRI_NS", (VALUE)))
#define __TZ_get_FAULTMASK_NS() (__arm_rsr("FAULTMASK_NS"))
#define __TZ_set_FAULTMASK_NS(VALUE) (__arm_wsr("FAULTMASK_NS", (VALUE)))
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
#define __TZ_get_PSPLIM_NS() (0U)
#define __TZ_set_PSPLIM_NS(VALUE) ((void)(VALUE))
#else
#define __TZ_get_PSPLIM_NS() (__arm_rsr("PSPLIM_NS"))
#define __TZ_set_PSPLIM_NS(VALUE) (__arm_wsr("PSPLIM_NS", (VALUE)))
#endif
#define __TZ_get_MSPLIM_NS() (__arm_rsr("MSPLIM_NS"))
#define __TZ_set_MSPLIM_NS(VALUE) (__arm_wsr("MSPLIM_NS", (VALUE)))
#define __NOP __iar_builtin_no_operation
#define __CLZ __iar_builtin_CLZ
#define __CLREX __iar_builtin_CLREX
#define __DMB __iar_builtin_DMB
#define __DSB __iar_builtin_DSB
#define __ISB __iar_builtin_ISB
#define __LDREXB __iar_builtin_LDREXB
#define __LDREXH __iar_builtin_LDREXH
#define __LDREXW __iar_builtin_LDREX
#define __RBIT __iar_builtin_RBIT
#define __REV __iar_builtin_REV
#define __REV16 __iar_builtin_REV16
__IAR_FT int16_t __REVSH(int16_t val) { return (int16_t)__iar_builtin_REVSH(val); }
#define __ROR __iar_builtin_ROR
#define __RRX __iar_builtin_RRX
#define __SEV __iar_builtin_SEV
#if !__IAR_M0_FAMILY
#define __SSAT __iar_builtin_SSAT
#endif
#define __STREXB __iar_builtin_STREXB
#define __STREXH __iar_builtin_STREXH
#define __STREXW __iar_builtin_STREX
#if !__IAR_M0_FAMILY
#define __USAT __iar_builtin_USAT
#endif
#define __WFE __iar_builtin_WFE
#define __WFI __iar_builtin_WFI
#if __ARM_MEDIA__
#define __SADD8 __iar_builtin_SADD8
#define __QADD8 __iar_builtin_QADD8
#define __SHADD8 __iar_builtin_SHADD8
#define __UADD8 __iar_builtin_UADD8
#define __UQADD8 __iar_builtin_UQADD8
#define __UHADD8 __iar_builtin_UHADD8
#define __SSUB8 __iar_builtin_SSUB8
#define __QSUB8 __iar_builtin_QSUB8
#define __SHSUB8 __iar_builtin_SHSUB8
#define __USUB8 __iar_builtin_USUB8
#define __UQSUB8 __iar_builtin_UQSUB8
#define __UHSUB8 __iar_builtin_UHSUB8
#define __SADD16 __iar_builtin_SADD16
#define __QADD16 __iar_builtin_QADD16
#define __SHADD16 __iar_builtin_SHADD16
#define __UADD16 __iar_builtin_UADD16
#define __UQADD16 __iar_builtin_UQADD16
#define __UHADD16 __iar_builtin_UHADD16
#define __SSUB16 __iar_builtin_SSUB16
#define __QSUB16 __iar_builtin_QSUB16
#define __SHSUB16 __iar_builtin_SHSUB16
#define __USUB16 __iar_builtin_USUB16
#define __UQSUB16 __iar_builtin_UQSUB16
#define __UHSUB16 __iar_builtin_UHSUB16
#define __SASX __iar_builtin_SASX
#define __QASX __iar_builtin_QASX
#define __SHASX __iar_builtin_SHASX
#define __UASX __iar_builtin_UASX
#define __UQASX __iar_builtin_UQASX
#define __UHASX __iar_builtin_UHASX
#define __SSAX __iar_builtin_SSAX
#define __QSAX __iar_builtin_QSAX
#define __SHSAX __iar_builtin_SHSAX
#define __USAX __iar_builtin_USAX
#define __UQSAX __iar_builtin_UQSAX
#define __UHSAX __iar_builtin_UHSAX
#define __USAD8 __iar_builtin_USAD8
#define __USADA8 __iar_builtin_USADA8
#define __SSAT16 __iar_builtin_SSAT16
#define __USAT16 __iar_builtin_USAT16
#define __UXTB16 __iar_builtin_UXTB16
#define __UXTAB16 __iar_builtin_UXTAB16
#define __SXTB16 __iar_builtin_SXTB16
#define __SXTAB16 __iar_builtin_SXTAB16
#define __SMUAD __iar_builtin_SMUAD
#define __SMUADX __iar_builtin_SMUADX
#define __SMMLA __iar_builtin_SMMLA
#define __SMLAD __iar_builtin_SMLAD
#define __SMLADX __iar_builtin_SMLADX
#define __SMLALD __iar_builtin_SMLALD
#define __SMLALDX __iar_builtin_SMLALDX
#define __SMUSD __iar_builtin_SMUSD
#define __SMUSDX __iar_builtin_SMUSDX
#define __SMLSD __iar_builtin_SMLSD
#define __SMLSDX __iar_builtin_SMLSDX
#define __SMLSLD __iar_builtin_SMLSLD
#define __SMLSLDX __iar_builtin_SMLSLDX
#define __SEL __iar_builtin_SEL
#define __QADD __iar_builtin_QADD
#define __QSUB __iar_builtin_QSUB
#define __PKHBT __iar_builtin_PKHBT
#define __PKHTB __iar_builtin_PKHTB
#endif
#else /* __ICCARM_INTRINSICS_VERSION__ == 2 */
#if __IAR_M0_FAMILY
/* Avoid clash between intrinsics.h and arm_math.h when compiling for Cortex-M0. */
#define __CLZ __cmsis_iar_clz_not_active
#define __SSAT __cmsis_iar_ssat_not_active
#define __USAT __cmsis_iar_usat_not_active
#define __RBIT __cmsis_iar_rbit_not_active
#define __get_APSR __cmsis_iar_get_APSR_not_active
#endif
#if (!((defined(__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && (defined(__FPU_USED) && (__FPU_USED == 1U))))
#define __get_FPSCR __cmsis_iar_get_FPSR_not_active
#define __set_FPSCR __cmsis_iar_set_FPSR_not_active
#endif
#ifdef __INTRINSICS_INCLUDED
#error intrinsics.h is already included previously!
#endif
#include <intrinsics.h>
#if __IAR_M0_FAMILY
/* Avoid clash between intrinsics.h and arm_math.h when compiling for Cortex-M0. */
#undef __CLZ
#undef __SSAT
#undef __USAT
#undef __RBIT
#undef __get_APSR
__STATIC_INLINE uint8_t __CLZ(uint32_t data) {
if (data == 0U) {
return 32U;
}
uint32_t count = 0U;
uint32_t mask = 0x80000000U;
while ((data & mask) == 0U) {
count += 1U;
mask = mask >> 1U;
}
return count;
}
__STATIC_INLINE uint32_t __RBIT(uint32_t v) {
uint8_t sc = 31U;
uint32_t r = v;
for (v >>= 1U; v; v >>= 1U) {
r <<= 1U;
r |= v & 1U;
sc--;
}
return (r << sc);
}
__STATIC_INLINE uint32_t __get_APSR(void) {
uint32_t res;
__asm("MRS %0,APSR" : "=r"(res));
return res;
}
#endif
#if (!((defined(__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && (defined(__FPU_USED) && (__FPU_USED == 1U))))
#undef __get_FPSCR
#undef __set_FPSCR
#define __get_FPSCR() (0)
#define __set_FPSCR(VALUE) ((void)VALUE)
#endif
#pragma diag_suppress = Pe940
#pragma diag_suppress = Pe177
#define __enable_irq __enable_interrupt
#define __disable_irq __disable_interrupt
#define __NOP __no_operation
#define __get_xPSR __get_PSR
#if (!defined(__ARM_ARCH_6M__) || __ARM_ARCH_6M__ == 0)
__IAR_FT uint32_t __LDREXW(uint32_t volatile *ptr) { return __LDREX((unsigned long *)ptr); }
__IAR_FT uint32_t __STREXW(uint32_t value, uint32_t volatile *ptr) { return __STREX(value, (unsigned long *)ptr); }
#endif
/* __CORTEX_M is defined in core_cm0.h, core_cm3.h and core_cm4.h. */
#if (__CORTEX_M >= 0x03)
__IAR_FT uint32_t __RRX(uint32_t value) {
uint32_t result;
__ASM("RRX %0, %1" : "=r"(result) : "r"(value) : "cc");
return (result);
}
__IAR_FT void __set_BASEPRI_MAX(uint32_t value) { __asm volatile("MSR BASEPRI_MAX,%0" ::"r"(value)); }
#define __enable_fault_irq __enable_fiq
#define __disable_fault_irq __disable_fiq
#endif /* (__CORTEX_M >= 0x03) */
__IAR_FT uint32_t __ROR(uint32_t op1, uint32_t op2) { return (op1 >> op2) | (op1 << ((sizeof(op1) * 8) - op2)); }
#if ((defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) || (defined(__ARM_ARCH_8M_BASE__) && (__ARM_ARCH_8M_BASE__ == 1)))
__IAR_FT uint32_t __get_MSPLIM(void) {
uint32_t res;
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure MSPLIM is RAZ/WI
res = 0U;
#else
__asm volatile("MRS %0,MSPLIM" : "=r"(res));
#endif
return res;
}
__IAR_FT void __set_MSPLIM(uint32_t value) {
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure MSPLIM is RAZ/WI
(void)value;
#else
__asm volatile("MSR MSPLIM,%0" ::"r"(value));
#endif
}
__IAR_FT uint32_t __get_PSPLIM(void) {
uint32_t res;
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
res = 0U;
#else
__asm volatile("MRS %0,PSPLIM" : "=r"(res));
#endif
return res;
}
__IAR_FT void __set_PSPLIM(uint32_t value) {
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
(void)value;
#else
__asm volatile("MSR PSPLIM,%0" ::"r"(value));
#endif
}
__IAR_FT uint32_t __TZ_get_CONTROL_NS(void) {
uint32_t res;
__asm volatile("MRS %0,CONTROL_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_CONTROL_NS(uint32_t value) { __asm volatile("MSR CONTROL_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_PSP_NS(void) {
uint32_t res;
__asm volatile("MRS %0,PSP_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_PSP_NS(uint32_t value) { __asm volatile("MSR PSP_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_MSP_NS(void) {
uint32_t res;
__asm volatile("MRS %0,MSP_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_MSP_NS(uint32_t value) { __asm volatile("MSR MSP_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_SP_NS(void) {
uint32_t res;
__asm volatile("MRS %0,SP_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_SP_NS(uint32_t value) { __asm volatile("MSR SP_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_PRIMASK_NS(void) {
uint32_t res;
__asm volatile("MRS %0,PRIMASK_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_PRIMASK_NS(uint32_t value) { __asm volatile("MSR PRIMASK_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_BASEPRI_NS(void) {
uint32_t res;
__asm volatile("MRS %0,BASEPRI_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_BASEPRI_NS(uint32_t value) { __asm volatile("MSR BASEPRI_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_FAULTMASK_NS(void) {
uint32_t res;
__asm volatile("MRS %0,FAULTMASK_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_FAULTMASK_NS(uint32_t value) { __asm volatile("MSR FAULTMASK_NS,%0" ::"r"(value)); }
__IAR_FT uint32_t __TZ_get_PSPLIM_NS(void) {
uint32_t res;
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
res = 0U;
#else
__asm volatile("MRS %0,PSPLIM_NS" : "=r"(res));
#endif
return res;
}
__IAR_FT void __TZ_set_PSPLIM_NS(uint32_t value) {
#if (!(defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) && (!defined(__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
// without main extensions, the non-secure PSPLIM is RAZ/WI
(void)value;
#else
__asm volatile("MSR PSPLIM_NS,%0" ::"r"(value));
#endif
}
__IAR_FT uint32_t __TZ_get_MSPLIM_NS(void) {
uint32_t res;
__asm volatile("MRS %0,MSPLIM_NS" : "=r"(res));
return res;
}
__IAR_FT void __TZ_set_MSPLIM_NS(uint32_t value) { __asm volatile("MSR MSPLIM_NS,%0" ::"r"(value)); }
#endif /* __ARM_ARCH_8M_MAIN__ or __ARM_ARCH_8M_BASE__ */
#endif /* __ICCARM_INTRINSICS_VERSION__ == 2 */
#define __BKPT(value) __asm volatile("BKPT %0" : : "i"(value))
#if __IAR_M0_FAMILY
__STATIC_INLINE int32_t __SSAT(int32_t val, uint32_t sat) {
if ((sat >= 1U) && (sat <= 32U)) {
const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
const int32_t min = -1 - max;
if (val > max) {
return max;
} else if (val < min) {
return min;
}
}
return val;
}
__STATIC_INLINE uint32_t __USAT(int32_t val, uint32_t sat) {
if (sat <= 31U) {
const uint32_t max = ((1U << sat) - 1U);
if (val > (int32_t)max) {
return max;
} else if (val < 0) {
return 0U;
}
}
return (uint32_t)val;
}
#endif
#if (__CORTEX_M >= 0x03) /* __CORTEX_M is defined in core_cm0.h, core_cm3.h and core_cm4.h. */
__IAR_FT uint8_t __LDRBT(volatile uint8_t *addr) {
uint32_t res;
__ASM("LDRBT %0, [%1]" : "=r"(res) : "r"(addr) : "memory");
return ((uint8_t)res);
}
__IAR_FT uint16_t __LDRHT(volatile uint16_t *addr) {
uint32_t res;
__ASM("LDRHT %0, [%1]" : "=r"(res) : "r"(addr) : "memory");
return ((uint16_t)res);
}
__IAR_FT uint32_t __LDRT(volatile uint32_t *addr) {
uint32_t res;
__ASM("LDRT %0, [%1]" : "=r"(res) : "r"(addr) : "memory");
return res;
}
__IAR_FT void __STRBT(uint8_t value, volatile uint8_t *addr) { __ASM("STRBT %1, [%0]" : : "r"(addr), "r"((uint32_t)value) : "memory"); }
__IAR_FT void __STRHT(uint16_t value, volatile uint16_t *addr) { __ASM("STRHT %1, [%0]" : : "r"(addr), "r"((uint32_t)value) : "memory"); }
__IAR_FT void __STRT(uint32_t value, volatile uint32_t *addr) { __ASM("STRT %1, [%0]" : : "r"(addr), "r"(value) : "memory"); }
#endif /* (__CORTEX_M >= 0x03) */
#if ((defined(__ARM_ARCH_8M_MAIN__) && (__ARM_ARCH_8M_MAIN__ == 1)) || (defined(__ARM_ARCH_8M_BASE__) && (__ARM_ARCH_8M_BASE__ == 1)))
__IAR_FT uint8_t __LDAB(volatile uint8_t *ptr) {
uint32_t res;
__ASM volatile("LDAB %0, [%1]" : "=r"(res) : "r"(ptr) : "memory");
return ((uint8_t)res);
}
__IAR_FT uint16_t __LDAH(volatile uint16_t *ptr) {
uint32_t res;
__ASM volatile("LDAH %0, [%1]" : "=r"(res) : "r"(ptr) : "memory");
return ((uint16_t)res);
}
__IAR_FT uint32_t __LDA(volatile uint32_t *ptr) {
uint32_t res;
__ASM volatile("LDA %0, [%1]" : "=r"(res) : "r"(ptr) : "memory");
return res;
}
__IAR_FT void __STLB(uint8_t value, volatile uint8_t *ptr) { __ASM volatile("STLB %1, [%0]" ::"r"(ptr), "r"(value) : "memory"); }
__IAR_FT void __STLH(uint16_t value, volatile uint16_t *ptr) { __ASM volatile("STLH %1, [%0]" ::"r"(ptr), "r"(value) : "memory"); }
__IAR_FT void __STL(uint32_t value, volatile uint32_t *ptr) { __ASM volatile("STL %1, [%0]" ::"r"(ptr), "r"(value) : "memory"); }
__IAR_FT uint8_t __LDAEXB(volatile uint8_t *ptr) {
uint32_t res;
__ASM volatile("LDAEXB %0, [%1]" : "=r"(res) : "r"(ptr) : "memory");
return ((uint8_t)res);
}
__IAR_FT uint16_t __LDAEXH(volatile uint16_t *ptr) {
uint32_t res;
__ASM volatile("LDAEXH %0, [%1]" : "=r"(res) : "r"(ptr) : "memory");
return ((uint16_t)res);
}
__IAR_FT uint32_t __LDAEX(volatile uint32_t *ptr) {
uint32_t res;
__ASM volatile("LDAEX %0, [%1]" : "=r"(res) : "r"(ptr) : "memory");
return res;
}
__IAR_FT uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr) {
uint32_t res;
__ASM volatile("STLEXB %0, %2, [%1]" : "=r"(res) : "r"(ptr), "r"(value) : "memory");
return res;
}
__IAR_FT uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr) {
uint32_t res;
__ASM volatile("STLEXH %0, %2, [%1]" : "=r"(res) : "r"(ptr), "r"(value) : "memory");
return res;
}
__IAR_FT uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr) {
uint32_t res;
__ASM volatile("STLEX %0, %2, [%1]" : "=r"(res) : "r"(ptr), "r"(value) : "memory");
return res;
}
#endif /* __ARM_ARCH_8M_MAIN__ or __ARM_ARCH_8M_BASE__ */
#undef __IAR_FT
#undef __IAR_M0_FAMILY
#undef __ICCARM_V8
#pragma diag_default = Pe940
#pragma diag_default = Pe177
#endif /* __CMSIS_ICCARM_H__ */

View File

@@ -0,0 +1,38 @@
/**************************************************************************/ /**
* @file cmsis_version.h
* @brief CMSIS Core(M) Version definitions
* @version V5.0.2
* @date 19. April 2017
******************************************************************************/
/*
* Copyright (c) 2009-2017 ARM Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#if defined(__ICCARM__)
#pragma system_include /* treat file as system include file for MISRA check */
#elif defined(__clang__)
#pragma clang system_header /* treat file as system include file */
#endif
#ifndef __CMSIS_VERSION_H
#define __CMSIS_VERSION_H
/* CMSIS Version definitions */
#define __CM_CMSIS_VERSION_MAIN (5U) /*!< [31:16] CMSIS Core(M) main version */
#define __CM_CMSIS_VERSION_SUB (1U) /*!< [15:0] CMSIS Core(M) sub version */
#define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | __CM_CMSIS_VERSION_SUB) /*!< CMSIS Core(M) version number */
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,933 @@
/**************************************************************************/ /**
* @file core_sc000.h
* @brief CMSIS SC000 Core Peripheral Access Layer Header File
* @version V5.0.5
* @date 28. May 2018
******************************************************************************/
/*
* Copyright (c) 2009-2018 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#if defined(__ICCARM__)
#pragma system_include /* treat file as system include file for MISRA check */
#elif defined(__clang__)
#pragma clang system_header /* treat file as system include file */
#endif
#ifndef __CORE_SC000_H_GENERIC
#define __CORE_SC000_H_GENERIC
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
\page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions
CMSIS violates the following MISRA-C:2004 rules:
\li Required Rule 8.5, object/function definition in header file.<br>
Function definitions in header files are used to allow 'inlining'.
\li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
Unions are used for effective representation of core registers.
\li Advisory Rule 19.7, Function-like macro defined.<br>
Function-like macros are used to allow more efficient code.
*/
/*******************************************************************************
* CMSIS definitions
******************************************************************************/
/**
\ingroup SC000
@{
*/
#include "cmsis_version.h"
/* CMSIS SC000 definitions */
#define __SC000_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] CMSIS HAL main version */
#define __SC000_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] CMSIS HAL sub version */
#define __SC000_CMSIS_VERSION ((__SC000_CMSIS_VERSION_MAIN << 16U) | __SC000_CMSIS_VERSION_SUB) /*!< \deprecated CMSIS HAL version number */
#define __CORTEX_SC (000U) /*!< Cortex secure core */
/** __FPU_USED indicates whether an FPU is used or not.
This core does not support an FPU at all
*/
#define __FPU_USED 0U
#if defined(__CC_ARM)
#if defined __TARGET_FPU_VFP
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
#if defined __ARM_PCS_VFP
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#elif defined(__GNUC__)
#if defined(__VFP_FP__) && !defined(__SOFTFP__)
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#elif defined(__ICCARM__)
#if defined __ARMVFP__
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#elif defined(__TI_ARM__)
#if defined __TI_VFP_SUPPORT__
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#elif defined(__TASKING__)
#if defined __FPU_VFP__
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#elif defined(__CSMC__)
#if (__CSMC__ & 0x400U)
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#endif
#endif
#include "cmsis_compiler.h" /* CMSIS compiler specific defines */
#ifdef __cplusplus
}
#endif
#endif /* __CORE_SC000_H_GENERIC */
#ifndef __CMSIS_GENERIC
#ifndef __CORE_SC000_H_DEPENDANT
#define __CORE_SC000_H_DEPENDANT
#ifdef __cplusplus
extern "C" {
#endif
/* check device defines and use defaults */
#if defined __CHECK_DEVICE_DEFINES
#ifndef __SC000_REV
#define __SC000_REV 0x0000U
#warning "__SC000_REV not defined in device header file; using default!"
#endif
#ifndef __MPU_PRESENT
#define __MPU_PRESENT 0U
#warning "__MPU_PRESENT not defined in device header file; using default!"
#endif
#ifndef __NVIC_PRIO_BITS
#define __NVIC_PRIO_BITS 2U
#warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
#endif
#ifndef __Vendor_SysTickConfig
#define __Vendor_SysTickConfig 0U
#warning "__Vendor_SysTickConfig not defined in device header file; using default!"
#endif
#endif
/* IO definitions (access restrictions to peripheral registers) */
/**
\defgroup CMSIS_glob_defs CMSIS Global Defines
<strong>IO Type Qualifiers</strong> are used
\li to specify the access to peripheral variables.
\li for automatic generation of peripheral register debug information.
*/
#ifdef __cplusplus
#define __I volatile /*!< Defines 'read only' permissions */
#else
#define __I volatile const /*!< Defines 'read only' permissions */
#endif
#define __O volatile /*!< Defines 'write only' permissions */
#define __IO volatile /*!< Defines 'read / write' permissions */
/* following defines should be used for structure members */
#define __IM volatile const /*! Defines 'read only' structure member permissions */
#define __OM volatile /*! Defines 'write only' structure member permissions */
#define __IOM volatile /*! Defines 'read / write' structure member permissions */
/*@} end of group SC000 */
/*******************************************************************************
* Register Abstraction
Core Register contain:
- Core Register
- Core NVIC Register
- Core SCB Register
- Core SysTick Register
- Core MPU Register
******************************************************************************/
/**
\defgroup CMSIS_core_register Defines and Type Definitions
\brief Type definitions and defines for Cortex-M processor based devices.
*/
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_CORE Status and Control Registers
\brief Core Register type definitions.
@{
*/
/**
\brief Union type to access the Application Program Status Register (APSR).
*/
typedef union {
struct {
uint32_t _reserved0 : 28; /*!< bit: 0..27 Reserved */
uint32_t V : 1; /*!< bit: 28 Overflow condition code flag */
uint32_t C : 1; /*!< bit: 29 Carry condition code flag */
uint32_t Z : 1; /*!< bit: 30 Zero condition code flag */
uint32_t N : 1; /*!< bit: 31 Negative condition code flag */
} b; /*!< Structure used for bit access */
uint32_t w; /*!< Type used for word access */
} APSR_Type;
/* APSR Register Definitions */
#define APSR_N_Pos 31U /*!< APSR: N Position */
#define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR: N Mask */
#define APSR_Z_Pos 30U /*!< APSR: Z Position */
#define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR: Z Mask */
#define APSR_C_Pos 29U /*!< APSR: C Position */
#define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR: C Mask */
#define APSR_V_Pos 28U /*!< APSR: V Position */
#define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR: V Mask */
/**
\brief Union type to access the Interrupt Program Status Register (IPSR).
*/
typedef union {
struct {
uint32_t ISR : 9; /*!< bit: 0.. 8 Exception number */
uint32_t _reserved0 : 23; /*!< bit: 9..31 Reserved */
} b; /*!< Structure used for bit access */
uint32_t w; /*!< Type used for word access */
} IPSR_Type;
/* IPSR Register Definitions */
#define IPSR_ISR_Pos 0U /*!< IPSR: ISR Position */
#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR: ISR Mask */
/**
\brief Union type to access the Special-Purpose Program Status Registers (xPSR).
*/
typedef union {
struct {
uint32_t ISR : 9; /*!< bit: 0.. 8 Exception number */
uint32_t _reserved0 : 15; /*!< bit: 9..23 Reserved */
uint32_t T : 1; /*!< bit: 24 Thumb bit (read 0) */
uint32_t _reserved1 : 3; /*!< bit: 25..27 Reserved */
uint32_t V : 1; /*!< bit: 28 Overflow condition code flag */
uint32_t C : 1; /*!< bit: 29 Carry condition code flag */
uint32_t Z : 1; /*!< bit: 30 Zero condition code flag */
uint32_t N : 1; /*!< bit: 31 Negative condition code flag */
} b; /*!< Structure used for bit access */
uint32_t w; /*!< Type used for word access */
} xPSR_Type;
/* xPSR Register Definitions */
#define xPSR_N_Pos 31U /*!< xPSR: N Position */
#define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR: N Mask */
#define xPSR_Z_Pos 30U /*!< xPSR: Z Position */
#define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR: Z Mask */
#define xPSR_C_Pos 29U /*!< xPSR: C Position */
#define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR: C Mask */
#define xPSR_V_Pos 28U /*!< xPSR: V Position */
#define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR: V Mask */
#define xPSR_T_Pos 24U /*!< xPSR: T Position */
#define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR: T Mask */
#define xPSR_ISR_Pos 0U /*!< xPSR: ISR Position */
#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR: ISR Mask */
/**
\brief Union type to access the Control Registers (CONTROL).
*/
typedef union {
struct {
uint32_t _reserved0 : 1; /*!< bit: 0 Reserved */
uint32_t SPSEL : 1; /*!< bit: 1 Stack to be used */
uint32_t _reserved1 : 30; /*!< bit: 2..31 Reserved */
} b; /*!< Structure used for bit access */
uint32_t w; /*!< Type used for word access */
} CONTROL_Type;
/* CONTROL Register Definitions */
#define CONTROL_SPSEL_Pos 1U /*!< CONTROL: SPSEL Position */
#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONTROL: SPSEL Mask */
/*@} end of group CMSIS_CORE */
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC)
\brief Type definitions for the NVIC Registers
@{
*/
/**
\brief Structure type to access the Nested Vectored Interrupt Controller (NVIC).
*/
typedef struct {
__IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */
uint32_t RESERVED0[31U];
__IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register */
uint32_t RSERVED1[31U];
__IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register */
uint32_t RESERVED2[31U];
__IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register */
uint32_t RESERVED3[31U];
uint32_t RESERVED4[64U];
__IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */
} NVIC_Type;
/*@} end of group CMSIS_NVIC */
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_SCB System Control Block (SCB)
\brief Type definitions for the System Control Block Registers
@{
*/
/**
\brief Structure type to access the System Control Block (SCB).
*/
typedef struct {
__IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */
__IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Register */
__IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */
__IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register */
__IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */
__IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register */
uint32_t RESERVED0[1U];
__IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registers. [0] is RESERVED */
__IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State Register */
uint32_t RESERVED1[154U];
__IOM uint32_t SFCR; /*!< Offset: 0x290 (R/W) Security Features Control Register */
} SCB_Type;
/* SCB CPUID Register Definitions */
#define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB CPUID: IMPLEMENTER Position */
#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB CPUID: IMPLEMENTER Mask */
#define SCB_CPUID_VARIANT_Pos 20U /*!< SCB CPUID: VARIANT Position */
#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB CPUID: VARIANT Mask */
#define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB CPUID: ARCHITECTURE Position */
#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB CPUID: ARCHITECTURE Mask */
#define SCB_CPUID_PARTNO_Pos 4U /*!< SCB CPUID: PARTNO Position */
#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB CPUID: PARTNO Mask */
#define SCB_CPUID_REVISION_Pos 0U /*!< SCB CPUID: REVISION Position */
#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB CPUID: REVISION Mask */
/* SCB Interrupt Control State Register Definitions */
#define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB ICSR: NMIPENDSET Position */
#define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB ICSR: NMIPENDSET Mask */
#define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB ICSR: PENDSVSET Position */
#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB ICSR: PENDSVSET Mask */
#define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB ICSR: PENDSVCLR Position */
#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB ICSR: PENDSVCLR Mask */
#define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB ICSR: PENDSTSET Position */
#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB ICSR: PENDSTSET Mask */
#define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB ICSR: PENDSTCLR Position */
#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB ICSR: PENDSTCLR Mask */
#define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB ICSR: ISRPREEMPT Position */
#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB ICSR: ISRPREEMPT Mask */
#define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB ICSR: ISRPENDING Position */
#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB ICSR: ISRPENDING Mask */
#define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB ICSR: VECTPENDING Position */
#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB ICSR: VECTPENDING Mask */
#define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB ICSR: VECTACTIVE Position */
#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB ICSR: VECTACTIVE Mask */
/* SCB Interrupt Control State Register Definitions */
#define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB VTOR: TBLOFF Position */
#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB VTOR: TBLOFF Mask */
/* SCB Application Interrupt and Reset Control Register Definitions */
#define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB AIRCR: VECTKEY Position */
#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB AIRCR: VECTKEY Mask */
#define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB AIRCR: VECTKEYSTAT Position */
#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB AIRCR: VECTKEYSTAT Mask */
#define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB AIRCR: ENDIANESS Position */
#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB AIRCR: ENDIANESS Mask */
#define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB AIRCR: SYSRESETREQ Position */
#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB AIRCR: SYSRESETREQ Mask */
#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB AIRCR: VECTCLRACTIVE Position */
#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB AIRCR: VECTCLRACTIVE Mask */
/* SCB System Control Register Definitions */
#define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB SCR: SEVONPEND Position */
#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB SCR: SEVONPEND Mask */
#define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB SCR: SLEEPDEEP Position */
#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB SCR: SLEEPDEEP Mask */
#define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB SCR: SLEEPONEXIT Position */
#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB SCR: SLEEPONEXIT Mask */
/* SCB Configuration Control Register Definitions */
#define SCB_CCR_STKALIGN_Pos 9U /*!< SCB CCR: STKALIGN Position */
#define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB CCR: STKALIGN Mask */
#define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB CCR: UNALIGN_TRP Position */
#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB CCR: UNALIGN_TRP Mask */
/* SCB System Handler Control and State Register Definitions */
#define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB SHCSR: SVCALLPENDED Position */
#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB SHCSR: SVCALLPENDED Mask */
/*@} end of group CMSIS_SCB */
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB)
\brief Type definitions for the System Control and ID Register not in the SCB
@{
*/
/**
\brief Structure type to access the System Control and ID Register not in the SCB.
*/
typedef struct {
uint32_t RESERVED0[2U];
__IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */
} SCnSCB_Type;
/* Auxiliary Control Register Definitions */
#define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR: DISMCYCINT Position */
#define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR: DISMCYCINT Mask */
/*@} end of group CMSIS_SCnotSCB */
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_SysTick System Tick Timer (SysTick)
\brief Type definitions for the System Timer Registers.
@{
*/
/**
\brief Structure type to access the System Timer (SysTick).
*/
typedef struct {
__IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Register */
__IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */
__IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register */
__IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */
} SysTick_Type;
/* SysTick Control / Status Register Definitions */
#define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysTick CTRL: COUNTFLAG Position */
#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysTick CTRL: COUNTFLAG Mask */
#define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysTick CTRL: CLKSOURCE Position */
#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysTick CTRL: CLKSOURCE Mask */
#define SysTick_CTRL_TICKINT_Pos 1U /*!< SysTick CTRL: TICKINT Position */
#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysTick CTRL: TICKINT Mask */
#define SysTick_CTRL_ENABLE_Pos 0U /*!< SysTick CTRL: ENABLE Position */
#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysTick CTRL: ENABLE Mask */
/* SysTick Reload Register Definitions */
#define SysTick_LOAD_RELOAD_Pos 0U /*!< SysTick LOAD: RELOAD Position */
#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysTick LOAD: RELOAD Mask */
/* SysTick Current Register Definitions */
#define SysTick_VAL_CURRENT_Pos 0U /*!< SysTick VAL: CURRENT Position */
#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysTick VAL: CURRENT Mask */
/* SysTick Calibration Register Definitions */
#define SysTick_CALIB_NOREF_Pos 31U /*!< SysTick CALIB: NOREF Position */
#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysTick CALIB: NOREF Mask */
#define SysTick_CALIB_SKEW_Pos 30U /*!< SysTick CALIB: SKEW Position */
#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysTick CALIB: SKEW Mask */
#define SysTick_CALIB_TENMS_Pos 0U /*!< SysTick CALIB: TENMS Position */
#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysTick CALIB: TENMS Mask */
/*@} end of group CMSIS_SysTick */
#if defined(__MPU_PRESENT) && (__MPU_PRESENT == 1U)
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_MPU Memory Protection Unit (MPU)
\brief Type definitions for the Memory Protection Unit (MPU)
@{
*/
/**
\brief Structure type to access the Memory Protection Unit (MPU).
*/
typedef struct {
__IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */
__IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */
__IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */
__IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register */
__IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Register */
} MPU_Type;
/* MPU Type Register Definitions */
#define MPU_TYPE_IREGION_Pos 16U /*!< MPU TYPE: IREGION Position */
#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU TYPE: IREGION Mask */
#define MPU_TYPE_DREGION_Pos 8U /*!< MPU TYPE: DREGION Position */
#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU TYPE: DREGION Mask */
#define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU TYPE: SEPARATE Position */
#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU TYPE: SEPARATE Mask */
/* MPU Control Register Definitions */
#define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU CTRL: PRIVDEFENA Position */
#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU CTRL: PRIVDEFENA Mask */
#define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU CTRL: HFNMIENA Position */
#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU CTRL: HFNMIENA Mask */
#define MPU_CTRL_ENABLE_Pos 0U /*!< MPU CTRL: ENABLE Position */
#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU CTRL: ENABLE Mask */
/* MPU Region Number Register Definitions */
#define MPU_RNR_REGION_Pos 0U /*!< MPU RNR: REGION Position */
#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU RNR: REGION Mask */
/* MPU Region Base Address Register Definitions */
#define MPU_RBAR_ADDR_Pos 8U /*!< MPU RBAR: ADDR Position */
#define MPU_RBAR_ADDR_Msk (0xFFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU RBAR: ADDR Mask */
#define MPU_RBAR_VALID_Pos 4U /*!< MPU RBAR: VALID Position */
#define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU RBAR: VALID Mask */
#define MPU_RBAR_REGION_Pos 0U /*!< MPU RBAR: REGION Position */
#define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU RBAR: REGION Mask */
/* MPU Region Attribute and Size Register Definitions */
#define MPU_RASR_ATTRS_Pos 16U /*!< MPU RASR: MPU Region Attribute field Position */
#define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU RASR: MPU Region Attribute field Mask */
#define MPU_RASR_XN_Pos 28U /*!< MPU RASR: ATTRS.XN Position */
#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU RASR: ATTRS.XN Mask */
#define MPU_RASR_AP_Pos 24U /*!< MPU RASR: ATTRS.AP Position */
#define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU RASR: ATTRS.AP Mask */
#define MPU_RASR_TEX_Pos 19U /*!< MPU RASR: ATTRS.TEX Position */
#define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU RASR: ATTRS.TEX Mask */
#define MPU_RASR_S_Pos 18U /*!< MPU RASR: ATTRS.S Position */
#define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU RASR: ATTRS.S Mask */
#define MPU_RASR_C_Pos 17U /*!< MPU RASR: ATTRS.C Position */
#define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU RASR: ATTRS.C Mask */
#define MPU_RASR_B_Pos 16U /*!< MPU RASR: ATTRS.B Position */
#define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU RASR: ATTRS.B Mask */
#define MPU_RASR_SRD_Pos 8U /*!< MPU RASR: Sub-Region Disable Position */
#define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU RASR: Sub-Region Disable Mask */
#define MPU_RASR_SIZE_Pos 1U /*!< MPU RASR: Region Size Field Position */
#define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU RASR: Region Size Field Mask */
#define MPU_RASR_ENABLE_Pos 0U /*!< MPU RASR: Region enable bit Position */
#define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU RASR: Region enable bit Disable Mask */
/*@} end of group CMSIS_MPU */
#endif
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug)
\brief SC000 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor.
Therefore they are not covered by the SC000 header file.
@{
*/
/*@} end of group CMSIS_CoreDebug */
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_core_bitfield Core register bit field macros
\brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk).
@{
*/
/**
\brief Mask and shift a bit field value for use in a register bit range.
\param[in] field Name of the register bit field.
\param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type.
\return Masked and shifted value.
*/
#define _VAL2FLD(field, value) (((uint32_t)(value) << field##_Pos) & field##_Msk)
/**
\brief Mask and shift a register value to extract a bit filed value.
\param[in] field Name of the register bit field.
\param[in] value Value of register. This parameter is interpreted as an uint32_t type.
\return Masked and shifted bit field value.
*/
#define _FLD2VAL(field, value) (((uint32_t)(value)&field##_Msk) >> field##_Pos)
/*@} end of group CMSIS_core_bitfield */
/**
\ingroup CMSIS_core_register
\defgroup CMSIS_core_base Core Definitions
\brief Definitions for base addresses, unions, and structures.
@{
*/
/* Memory mapping of Core Hardware */
#define SCS_BASE (0xE000E000UL) /*!< System Control Space Base Address */
#define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */
#define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */
#define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Base Address */
#define SCnSCB ((SCnSCB_Type *)SCS_BASE) /*!< System control Register not in SCB */
#define SCB ((SCB_Type *)SCB_BASE) /*!< SCB configuration struct */
#define SysTick ((SysTick_Type *)SysTick_BASE) /*!< SysTick configuration struct */
#define NVIC ((NVIC_Type *)NVIC_BASE) /*!< NVIC configuration struct */
#if defined(__MPU_PRESENT) && (__MPU_PRESENT == 1U)
#define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit */
#define MPU ((MPU_Type *)MPU_BASE) /*!< Memory Protection Unit */
#endif
/*@} */
/*******************************************************************************
* Hardware Abstraction Layer
Core Function Interface contains:
- Core NVIC Functions
- Core SysTick Functions
- Core Register Access Functions
******************************************************************************/
/**
\defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
*/
/* ########################## NVIC functions #################################### */
/**
\ingroup CMSIS_Core_FunctionInterface
\defgroup CMSIS_Core_NVICFunctions NVIC Functions
\brief Functions that manage interrupts and exceptions via the NVIC.
@{
*/
#ifdef CMSIS_NVIC_VIRTUAL
#ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
#define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
#endif
#include CMSIS_NVIC_VIRTUAL_HEADER_FILE
#else
/*#define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping not available for SC000 */
/*#define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping not available for SC000 */
#define NVIC_EnableIRQ __NVIC_EnableIRQ
#define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
#define NVIC_DisableIRQ __NVIC_DisableIRQ
#define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
#define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
#define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
/*#define NVIC_GetActive __NVIC_GetActive not available for SC000 */
#define NVIC_SetPriority __NVIC_SetPriority
#define NVIC_GetPriority __NVIC_GetPriority
#define NVIC_SystemReset __NVIC_SystemReset
#endif /* CMSIS_NVIC_VIRTUAL */
#ifdef CMSIS_VECTAB_VIRTUAL
#ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
#define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
#endif
#include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
#else
#define NVIC_SetVector __NVIC_SetVector
#define NVIC_GetVector __NVIC_GetVector
#endif /* (CMSIS_VECTAB_VIRTUAL) */
#define NVIC_USER_IRQ_OFFSET 16
/* The following EXC_RETURN values are saved the LR on exception entry */
#define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after return */
#define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after return */
#define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after return */
/* Interrupt Priorities are WORD accessible only under Armv6-M */
/* The following MACROS handle generation of the register offset and byte masks */
#define _BIT_SHIFT(IRQn) (((((uint32_t)(int32_t)(IRQn))) & 0x03UL) * 8UL)
#define _SHP_IDX(IRQn) ((((((uint32_t)(int32_t)(IRQn)) & 0x0FUL) - 8UL) >> 2UL))
#define _IP_IDX(IRQn) ((((uint32_t)(int32_t)(IRQn)) >> 2UL))
/**
\brief Enable Interrupt
\details Enables a device specific interrupt in the NVIC interrupt controller.
\param [in] IRQn Device specific interrupt number.
\note IRQn must not be negative.
*/
__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
}
}
/**
\brief Get Interrupt Enable status
\details Returns a device specific interrupt enable status from the NVIC interrupt controller.
\param [in] IRQn Device specific interrupt number.
\return 0 Interrupt is not enabled.
\return 1 Interrupt is enabled.
\note IRQn must not be negative.
*/
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
return ((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
} else {
return (0U);
}
}
/**
\brief Disable Interrupt
\details Disables a device specific interrupt in the NVIC interrupt controller.
\param [in] IRQn Device specific interrupt number.
\note IRQn must not be negative.
*/
__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
__DSB();
__ISB();
}
}
/**
\brief Get Pending Interrupt
\details Reads the NVIC pending register and returns the pending bit for the specified device specific interrupt.
\param [in] IRQn Device specific interrupt number.
\return 0 Interrupt status is not pending.
\return 1 Interrupt status is pending.
\note IRQn must not be negative.
*/
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
return ((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
} else {
return (0U);
}
}
/**
\brief Set Pending Interrupt
\details Sets the pending bit of a device specific interrupt in the NVIC pending register.
\param [in] IRQn Device specific interrupt number.
\note IRQn must not be negative.
*/
__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
}
}
/**
\brief Clear Pending Interrupt
\details Clears the pending bit of a device specific interrupt in the NVIC pending register.
\param [in] IRQn Device specific interrupt number.
\note IRQn must not be negative.
*/
__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
}
}
/**
\brief Set Interrupt Priority
\details Sets the priority of a device specific interrupt or a processor exception.
The interrupt number can be positive to specify a device specific interrupt,
or negative to specify a processor exception.
\param [in] IRQn Interrupt number.
\param [in] priority Priority to set.
\note The priority cannot be set for every processor exception.
*/
__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority) {
if ((int32_t)(IRQn) >= 0) {
NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
} else {
SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))) | (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
}
}
/**
\brief Get Interrupt Priority
\details Reads the priority of a device specific interrupt or a processor exception.
The interrupt number can be positive to specify a device specific interrupt,
or negative to specify a processor exception.
\param [in] IRQn Interrupt number.
\return Interrupt Priority.
Value is aligned automatically to the implemented priority bits of the microcontroller.
*/
__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn) {
if ((int32_t)(IRQn) >= 0) {
return ((uint32_t)(((NVIC->IP[_IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn)) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS)));
} else {
return ((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn)) & (uint32_t)0xFFUL) >> (8U - __NVIC_PRIO_BITS)));
}
}
/**
\brief Set Interrupt Vector
\details Sets an interrupt vector in SRAM based interrupt vector table.
The interrupt number can be positive to specify a device specific interrupt,
or negative to specify a processor exception.
VTOR must been relocated to SRAM before.
\param [in] IRQn Interrupt number
\param [in] vector Address of interrupt handler function
*/
__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
uint32_t *vectors = (uint32_t *)SCB->VTOR;
vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
}
/**
\brief Get Interrupt Vector
\details Reads an interrupt vector from interrupt vector table.
The interrupt number can be positive to specify a device specific interrupt,
or negative to specify a processor exception.
\param [in] IRQn Interrupt number.
\return Address of interrupt handler function
*/
__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn) {
uint32_t *vectors = (uint32_t *)SCB->VTOR;
return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
}
/**
\brief System Reset
\details Initiates a system reset request to reset the MCU.
*/
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void) {
__DSB(); /* Ensure all outstanding memory accesses included
buffered write are completed before reset */
SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | SCB_AIRCR_SYSRESETREQ_Msk);
__DSB(); /* Ensure completion of memory access */
for (;;) /* wait until reset */
{
__NOP();
}
}
/*@} end of CMSIS_Core_NVICFunctions */
/* ########################## FPU functions #################################### */
/**
\ingroup CMSIS_Core_FunctionInterface
\defgroup CMSIS_Core_FpuFunctions FPU Functions
\brief Function that provides FPU type.
@{
*/
/**
\brief get FPU type
\details returns the FPU type
\returns
- \b 0: No FPU
- \b 1: Single precision FPU
- \b 2: Double + Single precision FPU
*/
__STATIC_INLINE uint32_t SCB_GetFPUType(void) { return 0U; /* No FPU */ }
/*@} end of CMSIS_Core_FpuFunctions */
/* ################################## SysTick function ############################################ */
/**
\ingroup CMSIS_Core_FunctionInterface
\defgroup CMSIS_Core_SysTickFunctions SysTick Functions
\brief Functions that configure the System.
@{
*/
#if defined(__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
/**
\brief System Tick Configuration
\details Initializes the System Timer and its interrupt, and starts the System Tick Timer.
Counter is in free running mode to generate periodic interrupts.
\param [in] ticks Number of ticks between two interrupts.
\return 0 Function succeeded.
\return 1 Function failed.
\note When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.h</b>
must contain a vendor-specific implementation of this function.
*/
__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) {
if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) {
return (1UL); /* Reload value impossible */
}
SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
NVIC_SetPriority(SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
return (0UL); /* Function successful */
}
#endif
/*@} end of CMSIS_Core_SysTickFunctions */
#ifdef __cplusplus
}
#endif
#endif /* __CORE_SC000_H_DEPENDANT */
#endif /* __CMSIS_GENERIC */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
/******************************************************************************
* @file tz_context.h
* @brief Context Management for Armv8-M TrustZone
* @version V1.0.1
* @date 10. January 2018
******************************************************************************/
/*
* Copyright (c) 2017-2018 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#if defined(__ICCARM__)
#pragma system_include /* treat file as system include file for MISRA check */
#elif defined(__clang__)
#pragma clang system_header /* treat file as system include file */
#endif
#ifndef TZ_CONTEXT_H
#define TZ_CONTEXT_H
#include <stdint.h>
#ifndef TZ_MODULEID_T
#define TZ_MODULEID_T
/// \details Data type that identifies secure software modules called by a process.
typedef uint32_t TZ_ModuleId_t;
#endif
/// \details TZ Memory ID identifies an allocated memory slot.
typedef uint32_t TZ_MemoryId_t;
/// Initialize secure context memory system
/// \return execution status (1: success, 0: error)
uint32_t TZ_InitContextSystem_S(void);
/// Allocate context memory for calling secure software modules in TrustZone
/// \param[in] module identifies software modules called from non-secure mode
/// \return value != 0 id TrustZone memory slot identifier
/// \return value 0 no memory available or internal error
TZ_MemoryId_t TZ_AllocModuleContext_S(TZ_ModuleId_t module);
/// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S
/// \param[in] id TrustZone memory slot identifier
/// \return execution status (1: success, 0: error)
uint32_t TZ_FreeModuleContext_S(TZ_MemoryId_t id);
/// Load secure context (called on RTOS thread context switch)
/// \param[in] id TrustZone memory slot identifier
/// \return execution status (1: success, 0: error)
uint32_t TZ_LoadContext_S(TZ_MemoryId_t id);
/// Store secure context (called on RTOS thread context switch)
/// \param[in] id TrustZone memory slot identifier
/// \return execution status (1: success, 0: error)
uint32_t TZ_StoreContext_S(TZ_MemoryId_t id);
#endif // TZ_CONTEXT_H

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,349 @@
/**
******************************************************************************
* @file stm32f1xx_hal.h
* @author MCD Application Team
* @brief This file contains all the functions prototypes for the HAL
* module driver.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_H
#define __STM32F1xx_HAL_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal_conf.h"
/** @addtogroup STM32F1xx_HAL_Driver
* @{
*/
/** @addtogroup HAL
* @{
*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup HAL_Exported_Constants HAL Exported Constants
* @{
*/
/** @defgroup HAL_TICK_FREQ Tick Frequency
* @{
*/
typedef enum { HAL_TICK_FREQ_10HZ = 100U, HAL_TICK_FREQ_100HZ = 10U, HAL_TICK_FREQ_1KHZ = 1U, HAL_TICK_FREQ_DEFAULT = HAL_TICK_FREQ_1KHZ } HAL_TickFreqTypeDef;
/**
* @}
*/
/* Exported types ------------------------------------------------------------*/
extern volatile uint32_t uwTick;
extern uint32_t uwTickPrio;
extern HAL_TickFreqTypeDef uwTickFreq;
/**
* @}
*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup HAL_Exported_Macros HAL Exported Macros
* @{
*/
/** @defgroup DBGMCU_Freeze_Unfreeze Freeze Unfreeze Peripherals in Debug mode
* @brief Freeze/Unfreeze Peripherals in Debug mode
* Note: On devices STM32F10xx8 and STM32F10xxB,
* STM32F101xC/D/E and STM32F103xC/D/E,
* STM32F101xF/G and STM32F103xF/G
* STM32F10xx4 and STM32F10xx6
* Debug registers DBGMCU_IDCODE and DBGMCU_CR are accessible only in
* debug mode (not accessible by the user software in normal mode).
* Refer to errata sheet of these devices for more details.
* @{
*/
/* Peripherals on APB1 */
/**
* @brief TIM2 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM2() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM2_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM2() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM2_STOP)
/**
* @brief TIM3 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM3() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM3_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM3() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM3_STOP)
#if defined(DBGMCU_CR_DBG_TIM4_STOP)
/**
* @brief TIM4 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM4() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM4_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM4() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM4_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM5_STOP)
/**
* @brief TIM5 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM5() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM5_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM5() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM5_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM6_STOP)
/**
* @brief TIM6 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM6() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM6_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM6() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM6_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM7_STOP)
/**
* @brief TIM7 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM7() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM7_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM7() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM7_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM12_STOP)
/**
* @brief TIM12 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM12() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM12_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM12() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM12_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM13_STOP)
/**
* @brief TIM13 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM13() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM13_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM13() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM13_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM14_STOP)
/**
* @brief TIM14 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM14() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM14_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM14() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM14_STOP)
#endif
/**
* @brief WWDG Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_WWDG() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_WWDG_STOP)
#define __HAL_DBGMCU_UNFREEZE_WWDG() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_WWDG_STOP)
/**
* @brief IWDG Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_IWDG() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_IWDG_STOP)
#define __HAL_DBGMCU_UNFREEZE_IWDG() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_IWDG_STOP)
/**
* @brief I2C1 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_I2C1_TIMEOUT() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_I2C1_SMBUS_TIMEOUT)
#define __HAL_DBGMCU_UNFREEZE_I2C1_TIMEOUT() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_I2C1_SMBUS_TIMEOUT)
#if defined(DBGMCU_CR_DBG_I2C2_SMBUS_TIMEOUT)
/**
* @brief I2C2 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_I2C2_TIMEOUT() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_I2C2_SMBUS_TIMEOUT)
#define __HAL_DBGMCU_UNFREEZE_I2C2_TIMEOUT() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_I2C2_SMBUS_TIMEOUT)
#endif
#if defined(DBGMCU_CR_DBG_CAN1_STOP)
/**
* @brief CAN1 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_CAN1() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_CAN1_STOP)
#define __HAL_DBGMCU_UNFREEZE_CAN1() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_CAN1_STOP)
#endif
#if defined(DBGMCU_CR_DBG_CAN2_STOP)
/**
* @brief CAN2 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_CAN2() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_CAN2_STOP)
#define __HAL_DBGMCU_UNFREEZE_CAN2() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_CAN2_STOP)
#endif
/* Peripherals on APB2 */
#if defined(DBGMCU_CR_DBG_TIM1_STOP)
/**
* @brief TIM1 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM1() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM1_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM1() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM1_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM8_STOP)
/**
* @brief TIM8 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM8() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM8_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM8() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM8_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM9_STOP)
/**
* @brief TIM9 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM9() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM9_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM9() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM9_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM10_STOP)
/**
* @brief TIM10 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM10() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM10_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM10() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM10_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM11_STOP)
/**
* @brief TIM11 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM11() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM11_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM11() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM11_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM15_STOP)
/**
* @brief TIM15 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM15() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM15_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM15() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM15_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM16_STOP)
/**
* @brief TIM16 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM16() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM16_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM16() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM16_STOP)
#endif
#if defined(DBGMCU_CR_DBG_TIM17_STOP)
/**
* @brief TIM17 Peripherals Debug mode
*/
#define __HAL_DBGMCU_FREEZE_TIM17() SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM17_STOP)
#define __HAL_DBGMCU_UNFREEZE_TIM17() CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_TIM17_STOP)
#endif
/**
* @}
*/
/** @defgroup HAL_Private_Macros HAL Private Macros
* @{
*/
#define IS_TICKFREQ(FREQ) (((FREQ) == HAL_TICK_FREQ_10HZ) || ((FREQ) == HAL_TICK_FREQ_100HZ) || ((FREQ) == HAL_TICK_FREQ_1KHZ))
/**
* @}
*/
/* Exported functions --------------------------------------------------------*/
/** @addtogroup HAL_Exported_Functions
* @{
*/
/** @addtogroup HAL_Exported_Functions_Group1
* @{
*/
/* Initialization and de-initialization functions ******************************/
HAL_StatusTypeDef HAL_Init(void);
HAL_StatusTypeDef HAL_DeInit(void);
void HAL_MspInit(void);
void HAL_MspDeInit(void);
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority);
/**
* @}
*/
/** @addtogroup HAL_Exported_Functions_Group2
* @{
*/
/* Peripheral Control functions ************************************************/
void HAL_IncTick(void);
void HAL_Delay(uint32_t Delay);
uint32_t HAL_GetTick(void);
uint32_t HAL_GetTickPrio(void);
HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq);
HAL_TickFreqTypeDef HAL_GetTickFreq(void);
void HAL_SuspendTick(void);
void HAL_ResumeTick(void);
uint32_t HAL_GetHalVersion(void);
uint32_t HAL_GetREVID(void);
uint32_t HAL_GetDEVID(void);
uint32_t HAL_GetUIDw0(void);
uint32_t HAL_GetUIDw1(void);
uint32_t HAL_GetUIDw2(void);
void HAL_DBGMCU_EnableDBGSleepMode(void);
void HAL_DBGMCU_DisableDBGSleepMode(void);
void HAL_DBGMCU_EnableDBGStopMode(void);
void HAL_DBGMCU_DisableDBGStopMode(void);
void HAL_DBGMCU_EnableDBGStandbyMode(void);
void HAL_DBGMCU_DisableDBGStandbyMode(void);
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/** @defgroup HAL_Private_Variables HAL Private Variables
* @{
*/
/**
* @}
*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup HAL_Private_Constants HAL Private Constants
* @{
*/
/**
* @}
*/
/* Private macros ------------------------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* __STM32F1xx_HAL_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -0,0 +1,911 @@
/**
******************************************************************************
* @file stm32f1xx_hal_adc.h
* @author MCD Application Team
* @brief Header file containing functions prototypes of ADC HAL library.
******************************************************************************
* @attention
*
*
* <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_ADC_H
#define __STM32F1xx_HAL_ADC_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal_def.h"
/** @addtogroup STM32F1xx_HAL_Driver
* @{
*/
/** @addtogroup ADC
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup ADC_Exported_Types ADC Exported Types
* @{
*/
/**
* @brief Structure definition of ADC and regular group initialization
* @note Parameters of this structure are shared within 2 scopes:
* - Scope entire ADC (affects regular and injected groups): DataAlign, ScanConvMode.
* - Scope regular group: ContinuousConvMode, NbrOfConversion, DiscontinuousConvMode, NbrOfDiscConversion, ExternalTrigConvEdge, ExternalTrigConv.
* @note The setting of these parameters with function HAL_ADC_Init() is conditioned to ADC state.
* ADC can be either disabled or enabled without conversion on going on regular group.
*/
typedef struct {
uint32_t DataAlign; /*!< Specifies ADC data alignment to right (MSB on register bit 11 and LSB on register bit 0) (default setting)
or to left (if regular group: MSB on register bit 15 and LSB on register bit 4, if injected group (MSB kept as signed value due to potential negative value after offset
application): MSB on register bit 14 and LSB on register bit 3). This parameter can be a value of @ref ADC_Data_align */
uint32_t ScanConvMode; /*!< Configures the sequencer of regular and injected groups.
This parameter can be associated to parameter 'DiscontinuousConvMode' to have main sequence subdivided in successive parts.
If disabled: Conversion is performed in single mode (one channel converted, the one defined in rank 1).
Parameters 'NbrOfConversion' and 'InjectedNbrOfConversion' are discarded (equivalent to set to 1).
If enabled: Conversions are performed in sequence mode (multiple ranks defined by 'NbrOfConversion'/'InjectedNbrOfConversion' and each channel rank).
Scan direction is upward: from rank1 to rank 'n'.
This parameter can be a value of @ref ADC_Scan_mode
Note: For regular group, this parameter should be enabled in conversion either by polling (HAL_ADC_Start with Discontinuous mode and NbrOfDiscConversion=1)
or by DMA (HAL_ADC_Start_DMA), but not by interruption (HAL_ADC_Start_IT): in scan mode, interruption is triggered only on the
the last conversion of the sequence. All previous conversions would be overwritten by the last one.
Injected group used with scan mode has not this constraint: each rank has its own result register, no data is overwritten. */
FunctionalState ContinuousConvMode; /*!< Specifies whether the conversion is performed in single mode (one conversion) or continuous mode for regular group,
after the selected trigger occurred (software start or external trigger).
This parameter can be set to ENABLE or DISABLE. */
uint32_t NbrOfConversion; /*!< Specifies the number of ranks that will be converted within the regular group sequencer.
To use regular group sequencer and convert several ranks, parameter 'ScanConvMode' must be enabled.
This parameter must be a number between Min_Data = 1 and Max_Data = 16. */
FunctionalState
DiscontinuousConvMode; /*!< Specifies whether the conversions sequence of regular group is performed in Complete-sequence/Discontinuous-sequence (main sequence subdivided in successive parts).
Discontinuous mode is used only if sequencer is enabled (parameter 'ScanConvMode'). If sequencer is disabled, this parameter is discarded.
Discontinuous mode can be enabled only if continuous mode is disabled. If continuous mode is enabled, this parameter setting is discarded.
This parameter can be set to ENABLE or DISABLE. */
uint32_t NbrOfDiscConversion; /*!< Specifies the number of discontinuous conversions in which the main sequence of regular group (parameter NbrOfConversion) will be subdivided.
If parameter 'DiscontinuousConvMode' is disabled, this parameter is discarded.
This parameter must be a number between Min_Data = 1 and Max_Data = 8. */
uint32_t ExternalTrigConv; /*!< Selects the external event used to trigger the conversion start of regular group.
If set to ADC_SOFTWARE_START, external triggers are disabled.
If set to external trigger source, triggering is on event rising edge.
This parameter can be a value of @ref ADC_External_trigger_source_Regular */
} ADC_InitTypeDef;
/**
* @brief Structure definition of ADC channel for regular group
* @note The setting of these parameters with function HAL_ADC_ConfigChannel() is conditioned to ADC state.
* ADC can be either disabled or enabled without conversion on going on regular group.
*/
typedef struct {
uint32_t
Channel; /*!< Specifies the channel to configure into ADC regular group.
This parameter can be a value of @ref ADC_channels
Note: Depending on devices, some channels may not be available on package pins. Refer to device datasheet for channels availability.
Note: On STM32F1 devices with several ADC: Only ADC1 can access internal measurement channels (VrefInt/TempSensor)
Note: On STM32F10xx8 and STM32F10xxB devices: A low-amplitude voltage glitch may be generated (on ADC input 0) on the PA0 pin, when the ADC is converting with injection
trigger. It is advised to distribute the analog channels so that Channel 0 is configured as an injected channel. Refer to errata sheet of these devices for more details. */
uint32_t Rank; /*!< Specifies the rank in the regular group sequencer
This parameter can be a value of @ref ADC_regular_rank
Note: In case of need to disable a channel or change order of conversion sequencer, rank containing a previous channel setting can be overwritten by the new channel setting (or
parameter number of conversions can be adjusted) */
uint32_t SamplingTime; /*!< Sampling time value to be set for the selected channel.
Unit: ADC clock cycles
Conversion time is the addition of sampling time and processing time (12.5 ADC clock cycles at ADC resolution 12 bits).
This parameter can be a value of @ref ADC_sampling_times
Caution: This parameter updates the parameter property of the channel, that can be used into regular and/or injected groups.
If this same channel has been previously configured in the other group (regular/injected), it will be updated to last setting.
Note: In case of usage of internal measurement channels (VrefInt/TempSensor),
sampling time constraints must be respected (sampling time can be adjusted in function of ADC clock frequency and sampling time setting)
Refer to device datasheet for timings values, parameters TS_vrefint, TS_temp (values rough order: 5us to 17.1us min). */
} ADC_ChannelConfTypeDef;
/**
* @brief ADC Configuration analog watchdog definition
* @note The setting of these parameters with function is conditioned to ADC state.
* ADC state can be either disabled or enabled without conversion on going on regular and injected groups.
*/
typedef struct {
uint32_t WatchdogMode; /*!< Configures the ADC analog watchdog mode: single/all channels, regular/injected group.
This parameter can be a value of @ref ADC_analog_watchdog_mode. */
uint32_t Channel; /*!< Selects which ADC channel to monitor by analog watchdog.
This parameter has an effect only if watchdog mode is configured on single channel (parameter WatchdogMode)
This parameter can be a value of @ref ADC_channels. */
FunctionalState ITMode; /*!< Specifies whether the analog watchdog is configured in interrupt or polling mode.
This parameter can be set to ENABLE or DISABLE */
uint32_t HighThreshold; /*!< Configures the ADC analog watchdog High threshold value.
This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
uint32_t LowThreshold; /*!< Configures the ADC analog watchdog High threshold value.
This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
uint32_t WatchdogNumber; /*!< Reserved for future use, can be set to 0 */
} ADC_AnalogWDGConfTypeDef;
/**
* @brief HAL ADC state machine: ADC states definition (bitfields)
*/
/* States of ADC global scope */
#define HAL_ADC_STATE_RESET 0x00000000U /*!< ADC not yet initialized or disabled */
#define HAL_ADC_STATE_READY 0x00000001U /*!< ADC peripheral ready for use */
#define HAL_ADC_STATE_BUSY_INTERNAL 0x00000002U /*!< ADC is busy to internal process (initialization, calibration) */
#define HAL_ADC_STATE_TIMEOUT 0x00000004U /*!< TimeOut occurrence */
/* States of ADC errors */
#define HAL_ADC_STATE_ERROR_INTERNAL 0x00000010U /*!< Internal error occurrence */
#define HAL_ADC_STATE_ERROR_CONFIG 0x00000020U /*!< Configuration error occurrence */
#define HAL_ADC_STATE_ERROR_DMA 0x00000040U /*!< DMA error occurrence */
/* States of ADC group regular */
#define HAL_ADC_STATE_REG_BUSY \
0x00000100U /*!< A conversion on group regular is ongoing or can occur (either by continuous mode, \
external trigger, low power auto power-on, multimode ADC master control) */
#define HAL_ADC_STATE_REG_EOC 0x00000200U /*!< Conversion data available on group regular */
#define HAL_ADC_STATE_REG_OVR 0x00000400U /*!< Not available on STM32F1 device: Overrun occurrence */
#define HAL_ADC_STATE_REG_EOSMP 0x00000800U /*!< Not available on STM32F1 device: End Of Sampling flag raised */
/* States of ADC group injected */
#define HAL_ADC_STATE_INJ_BUSY \
0x00001000U /*!< A conversion on group injected is ongoing or can occur (either by auto-injection mode, \
external trigger, low power auto power-on, multimode ADC master control) */
#define HAL_ADC_STATE_INJ_EOC 0x00002000U /*!< Conversion data available on group injected */
#define HAL_ADC_STATE_INJ_JQOVF 0x00004000U /*!< Not available on STM32F1 device: Injected queue overflow occurrence */
/* States of ADC analog watchdogs */
#define HAL_ADC_STATE_AWD1 0x00010000U /*!< Out-of-window occurrence of analog watchdog 1 */
#define HAL_ADC_STATE_AWD2 0x00020000U /*!< Not available on STM32F1 device: Out-of-window occurrence of analog watchdog 2 */
#define HAL_ADC_STATE_AWD3 0x00040000U /*!< Not available on STM32F1 device: Out-of-window occurrence of analog watchdog 3 */
/* States of ADC multi-mode */
#define HAL_ADC_STATE_MULTIMODE_SLAVE 0x00100000U /*!< ADC in multimode slave state, controlled by another ADC master ( */
/**
* @brief ADC handle Structure definition
*/
typedef struct __ADC_HandleTypeDef {
ADC_TypeDef *Instance; /*!< Register base address */
ADC_InitTypeDef Init; /*!< ADC required parameters */
DMA_HandleTypeDef *DMA_Handle; /*!< Pointer DMA Handler */
HAL_LockTypeDef Lock; /*!< ADC locking object */
__IO uint32_t State; /*!< ADC communication state (bitmap of ADC states) */
__IO uint32_t ErrorCode; /*!< ADC Error code */
#if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
void (*ConvCpltCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC conversion complete callback */
void (*ConvHalfCpltCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC conversion DMA half-transfer callback */
void (*LevelOutOfWindowCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC analog watchdog 1 callback */
void (*ErrorCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC error callback */
void (*InjectedConvCpltCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC group injected conversion complete callback */ /*!< ADC end of sampling callback */
void (*MspInitCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC Msp Init callback */
void (*MspDeInitCallback)(struct __ADC_HandleTypeDef *hadc); /*!< ADC Msp DeInit callback */
#endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
} ADC_HandleTypeDef;
#if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
/**
* @brief HAL ADC Callback ID enumeration definition
*/
typedef enum {
HAL_ADC_CONVERSION_COMPLETE_CB_ID = 0x00U, /*!< ADC conversion complete callback ID */
HAL_ADC_CONVERSION_HALF_CB_ID = 0x01U, /*!< ADC conversion DMA half-transfer callback ID */
HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID = 0x02U, /*!< ADC analog watchdog 1 callback ID */
HAL_ADC_ERROR_CB_ID = 0x03U, /*!< ADC error callback ID */
HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID = 0x04U, /*!< ADC group injected conversion complete callback ID */
HAL_ADC_MSPINIT_CB_ID = 0x09U, /*!< ADC Msp Init callback ID */
HAL_ADC_MSPDEINIT_CB_ID = 0x0AU /*!< ADC Msp DeInit callback ID */
} HAL_ADC_CallbackIDTypeDef;
/**
* @brief HAL ADC Callback pointer definition
*/
typedef void (*pADC_CallbackTypeDef)(ADC_HandleTypeDef *hadc); /*!< pointer to a ADC callback function */
#endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
/**
* @}
*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup ADC_Exported_Constants ADC Exported Constants
* @{
*/
/** @defgroup ADC_Error_Code ADC Error Code
* @{
*/
#define HAL_ADC_ERROR_NONE 0x00U /*!< No error */
#define HAL_ADC_ERROR_INTERNAL \
0x01U /*!< ADC IP internal error: if problem of clocking, \
enable/disable, erroneous state */
#define HAL_ADC_ERROR_OVR 0x02U /*!< Overrun error */
#define HAL_ADC_ERROR_DMA 0x04U /*!< DMA transfer error */
#if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
#define HAL_ADC_ERROR_INVALID_CALLBACK (0x10U) /*!< Invalid Callback error */
#endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
/**
* @}
*/
/** @defgroup ADC_Data_align ADC data alignment
* @{
*/
#define ADC_DATAALIGN_RIGHT 0x00000000U
#define ADC_DATAALIGN_LEFT ((uint32_t)ADC_CR2_ALIGN)
/**
* @}
*/
/** @defgroup ADC_Scan_mode ADC scan mode
* @{
*/
/* Note: Scan mode values are not among binary choices ENABLE/DISABLE for */
/* compatibility with other STM32 devices having a sequencer with */
/* additional options. */
#define ADC_SCAN_DISABLE 0x00000000U
#define ADC_SCAN_ENABLE ((uint32_t)ADC_CR1_SCAN)
/**
* @}
*/
/** @defgroup ADC_External_trigger_edge_Regular ADC external trigger enable for regular group
* @{
*/
#define ADC_EXTERNALTRIGCONVEDGE_NONE 0x00000000U
#define ADC_EXTERNALTRIGCONVEDGE_RISING ((uint32_t)ADC_CR2_EXTTRIG)
/**
* @}
*/
/** @defgroup ADC_channels ADC channels
* @{
*/
/* Note: Depending on devices, some channels may not be available on package */
/* pins. Refer to device datasheet for channels availability. */
#define ADC_CHANNEL_0 0x00000000U
#define ADC_CHANNEL_1 ((uint32_t)(ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_2 ((uint32_t)(ADC_SQR3_SQ1_1))
#define ADC_CHANNEL_3 ((uint32_t)(ADC_SQR3_SQ1_1 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_4 ((uint32_t)(ADC_SQR3_SQ1_2))
#define ADC_CHANNEL_5 ((uint32_t)(ADC_SQR3_SQ1_2 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_6 ((uint32_t)(ADC_SQR3_SQ1_2 | ADC_SQR3_SQ1_1))
#define ADC_CHANNEL_7 ((uint32_t)(ADC_SQR3_SQ1_2 | ADC_SQR3_SQ1_1 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_8 ((uint32_t)(ADC_SQR3_SQ1_3))
#define ADC_CHANNEL_9 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_10 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_1))
#define ADC_CHANNEL_11 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_1 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_12 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_2))
#define ADC_CHANNEL_13 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_2 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_14 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_2 | ADC_SQR3_SQ1_1))
#define ADC_CHANNEL_15 ((uint32_t)(ADC_SQR3_SQ1_3 | ADC_SQR3_SQ1_2 | ADC_SQR3_SQ1_1 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_16 ((uint32_t)(ADC_SQR3_SQ1_4))
#define ADC_CHANNEL_17 ((uint32_t)(ADC_SQR3_SQ1_4 | ADC_SQR3_SQ1_0))
#define ADC_CHANNEL_TEMPSENSOR ADC_CHANNEL_16 /* ADC internal channel (no connection on device pin) */
#define ADC_CHANNEL_VREFINT ADC_CHANNEL_17 /* ADC internal channel (no connection on device pin) */
/**
* @}
*/
/** @defgroup ADC_sampling_times ADC sampling times
* @{
*/
#define ADC_SAMPLETIME_1CYCLE_5 0x00000000U /*!< Sampling time 1.5 ADC clock cycle */
#define ADC_SAMPLETIME_7CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_0)) /*!< Sampling time 7.5 ADC clock cycles */
#define ADC_SAMPLETIME_13CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_1)) /*!< Sampling time 13.5 ADC clock cycles */
#define ADC_SAMPLETIME_28CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_1 | ADC_SMPR2_SMP0_0)) /*!< Sampling time 28.5 ADC clock cycles */
#define ADC_SAMPLETIME_41CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_2)) /*!< Sampling time 41.5 ADC clock cycles */
#define ADC_SAMPLETIME_55CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_2 | ADC_SMPR2_SMP0_0)) /*!< Sampling time 55.5 ADC clock cycles */
#define ADC_SAMPLETIME_71CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_2 | ADC_SMPR2_SMP0_1)) /*!< Sampling time 71.5 ADC clock cycles */
#define ADC_SAMPLETIME_239CYCLES_5 ((uint32_t)(ADC_SMPR2_SMP0_2 | ADC_SMPR2_SMP0_1 | ADC_SMPR2_SMP0_0)) /*!< Sampling time 239.5 ADC clock cycles */
/**
* @}
*/
/** @defgroup ADC_regular_rank ADC rank into regular group
* @{
*/
#define ADC_REGULAR_RANK_1 0x00000001U
#define ADC_REGULAR_RANK_2 0x00000002U
#define ADC_REGULAR_RANK_3 0x00000003U
#define ADC_REGULAR_RANK_4 0x00000004U
#define ADC_REGULAR_RANK_5 0x00000005U
#define ADC_REGULAR_RANK_6 0x00000006U
#define ADC_REGULAR_RANK_7 0x00000007U
#define ADC_REGULAR_RANK_8 0x00000008U
#define ADC_REGULAR_RANK_9 0x00000009U
#define ADC_REGULAR_RANK_10 0x0000000AU
#define ADC_REGULAR_RANK_11 0x0000000BU
#define ADC_REGULAR_RANK_12 0x0000000CU
#define ADC_REGULAR_RANK_13 0x0000000DU
#define ADC_REGULAR_RANK_14 0x0000000EU
#define ADC_REGULAR_RANK_15 0x0000000FU
#define ADC_REGULAR_RANK_16 0x00000010U
/**
* @}
*/
/** @defgroup ADC_analog_watchdog_mode ADC analog watchdog mode
* @{
*/
#define ADC_ANALOGWATCHDOG_NONE 0x00000000U
#define ADC_ANALOGWATCHDOG_SINGLE_REG ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_AWDEN))
#define ADC_ANALOGWATCHDOG_SINGLE_INJEC ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_JAWDEN))
#define ADC_ANALOGWATCHDOG_SINGLE_REGINJEC ((uint32_t)(ADC_CR1_AWDSGL | ADC_CR1_AWDEN | ADC_CR1_JAWDEN))
#define ADC_ANALOGWATCHDOG_ALL_REG ((uint32_t)ADC_CR1_AWDEN)
#define ADC_ANALOGWATCHDOG_ALL_INJEC ((uint32_t)ADC_CR1_JAWDEN)
#define ADC_ANALOGWATCHDOG_ALL_REGINJEC ((uint32_t)(ADC_CR1_AWDEN | ADC_CR1_JAWDEN))
/**
* @}
*/
/** @defgroup ADC_conversion_group ADC conversion group
* @{
*/
#define ADC_REGULAR_GROUP ((uint32_t)(ADC_FLAG_EOC))
#define ADC_INJECTED_GROUP ((uint32_t)(ADC_FLAG_JEOC))
#define ADC_REGULAR_INJECTED_GROUP ((uint32_t)(ADC_FLAG_EOC | ADC_FLAG_JEOC))
/**
* @}
*/
/** @defgroup ADC_Event_type ADC Event type
* @{
*/
#define ADC_AWD_EVENT ((uint32_t)ADC_FLAG_AWD) /*!< ADC Analog watchdog event */
#define ADC_AWD1_EVENT ADC_AWD_EVENT /*!< ADC Analog watchdog 1 event: Alternate naming for compatibility with other STM32 devices having several analog watchdogs */
/**
* @}
*/
/** @defgroup ADC_interrupts_definition ADC interrupts definition
* @{
*/
#define ADC_IT_EOC ADC_CR1_EOCIE /*!< ADC End of Regular Conversion interrupt source */
#define ADC_IT_JEOC ADC_CR1_JEOCIE /*!< ADC End of Injected Conversion interrupt source */
#define ADC_IT_AWD ADC_CR1_AWDIE /*!< ADC Analog watchdog interrupt source */
/**
* @}
*/
/** @defgroup ADC_flags_definition ADC flags definition
* @{
*/
#define ADC_FLAG_STRT ADC_SR_STRT /*!< ADC Regular group start flag */
#define ADC_FLAG_JSTRT ADC_SR_JSTRT /*!< ADC Injected group start flag */
#define ADC_FLAG_EOC ADC_SR_EOC /*!< ADC End of Regular conversion flag */
#define ADC_FLAG_JEOC ADC_SR_JEOC /*!< ADC End of Injected conversion flag */
#define ADC_FLAG_AWD ADC_SR_AWD /*!< ADC Analog watchdog flag */
/**
* @}
*/
/**
* @}
*/
/* Private constants ---------------------------------------------------------*/
/** @addtogroup ADC_Private_Constants ADC Private Constants
* @{
*/
/** @defgroup ADC_conversion_cycles ADC conversion cycles
* @{
*/
/* ADC conversion cycles (unit: ADC clock cycles) */
/* (selected sampling time + conversion time of 12.5 ADC clock cycles, with */
/* resolution 12 bits) */
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_1CYCLE5 14U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_7CYCLES5 20U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_13CYCLES5 26U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_28CYCLES5 41U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_41CYCLES5 54U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_55CYCLES5 68U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_71CYCLES5 84U
#define ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_239CYCLES5 252U
/**
* @}
*/
/** @defgroup ADC_sampling_times_all_channels ADC sampling times all channels
* @{
*/
#define ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT2 \
(ADC_SMPR2_SMP9_2 | ADC_SMPR2_SMP8_2 | ADC_SMPR2_SMP7_2 | ADC_SMPR2_SMP6_2 | ADC_SMPR2_SMP5_2 | ADC_SMPR2_SMP4_2 | ADC_SMPR2_SMP3_2 | ADC_SMPR2_SMP2_2 | ADC_SMPR2_SMP1_2 | ADC_SMPR2_SMP0_2)
#define ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT2 \
(ADC_SMPR1_SMP17_2 | ADC_SMPR1_SMP16_2 | ADC_SMPR1_SMP15_2 | ADC_SMPR1_SMP14_2 | ADC_SMPR1_SMP13_2 | ADC_SMPR1_SMP12_2 | ADC_SMPR1_SMP11_2 | ADC_SMPR1_SMP10_2)
#define ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1 \
(ADC_SMPR2_SMP9_1 | ADC_SMPR2_SMP8_1 | ADC_SMPR2_SMP7_1 | ADC_SMPR2_SMP6_1 | ADC_SMPR2_SMP5_1 | ADC_SMPR2_SMP4_1 | ADC_SMPR2_SMP3_1 | ADC_SMPR2_SMP2_1 | ADC_SMPR2_SMP1_1 | ADC_SMPR2_SMP0_1)
#define ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1 \
(ADC_SMPR1_SMP17_1 | ADC_SMPR1_SMP16_1 | ADC_SMPR1_SMP15_1 | ADC_SMPR1_SMP14_1 | ADC_SMPR1_SMP13_1 | ADC_SMPR1_SMP12_1 | ADC_SMPR1_SMP11_1 | ADC_SMPR1_SMP10_1)
#define ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT0 \
(ADC_SMPR2_SMP9_0 | ADC_SMPR2_SMP8_0 | ADC_SMPR2_SMP7_0 | ADC_SMPR2_SMP6_0 | ADC_SMPR2_SMP5_0 | ADC_SMPR2_SMP4_0 | ADC_SMPR2_SMP3_0 | ADC_SMPR2_SMP2_0 | ADC_SMPR2_SMP1_0 | ADC_SMPR2_SMP0_0)
#define ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0 \
(ADC_SMPR1_SMP17_0 | ADC_SMPR1_SMP16_0 | ADC_SMPR1_SMP15_0 | ADC_SMPR1_SMP14_0 | ADC_SMPR1_SMP13_0 | ADC_SMPR1_SMP12_0 | ADC_SMPR1_SMP11_0 | ADC_SMPR1_SMP10_0)
#define ADC_SAMPLETIME_1CYCLE5_SMPR2ALLCHANNELS 0x00000000U
#define ADC_SAMPLETIME_7CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT0)
#define ADC_SAMPLETIME_13CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1)
#define ADC_SAMPLETIME_28CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1 | ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT0)
#define ADC_SAMPLETIME_41CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT2)
#define ADC_SAMPLETIME_55CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT2 | ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT0)
#define ADC_SAMPLETIME_71CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT2 | ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1)
#define ADC_SAMPLETIME_239CYCLES5_SMPR2ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT2 | ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1 | ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT0)
#define ADC_SAMPLETIME_1CYCLE5_SMPR1ALLCHANNELS 0x00000000U
#define ADC_SAMPLETIME_7CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0)
#define ADC_SAMPLETIME_13CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1)
#define ADC_SAMPLETIME_28CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1 | ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0)
#define ADC_SAMPLETIME_41CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT2)
#define ADC_SAMPLETIME_55CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT2 | ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0)
#define ADC_SAMPLETIME_71CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT2 | ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1)
#define ADC_SAMPLETIME_239CYCLES5_SMPR1ALLCHANNELS (ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT2 | ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1 | ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0)
/**
* @}
*/
/* Combination of all post-conversion flags bits: EOC/EOS, JEOC/JEOS, OVR, AWDx */
#define ADC_FLAG_POSTCONV_ALL (ADC_FLAG_EOC | ADC_FLAG_JEOC | ADC_FLAG_AWD)
/**
* @}
*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup ADC_Exported_Macros ADC Exported Macros
* @{
*/
/* Macro for internal HAL driver usage, and possibly can be used into code of */
/* final user. */
/**
* @brief Enable the ADC peripheral
* @note ADC enable requires a delay for ADC stabilization time
* (refer to device datasheet, parameter tSTAB)
* @note On STM32F1, if ADC is already enabled this macro trigs a conversion
* SW start on regular group.
* @param __HANDLE__: ADC handle
* @retval None
*/
#define __HAL_ADC_ENABLE(__HANDLE__) (SET_BIT((__HANDLE__)->Instance->CR2, (ADC_CR2_ADON)))
/**
* @brief Disable the ADC peripheral
* @param __HANDLE__: ADC handle
* @retval None
*/
#define __HAL_ADC_DISABLE(__HANDLE__) (CLEAR_BIT((__HANDLE__)->Instance->CR2, (ADC_CR2_ADON)))
/** @brief Enable the ADC end of conversion interrupt.
* @param __HANDLE__: ADC handle
* @param __INTERRUPT__: ADC Interrupt
* This parameter can be any combination of the following values:
* @arg ADC_IT_EOC: ADC End of Regular Conversion interrupt source
* @arg ADC_IT_JEOC: ADC End of Injected Conversion interrupt source
* @arg ADC_IT_AWD: ADC Analog watchdog interrupt source
* @retval None
*/
#define __HAL_ADC_ENABLE_IT(__HANDLE__, __INTERRUPT__) (SET_BIT((__HANDLE__)->Instance->CR1, (__INTERRUPT__)))
/** @brief Disable the ADC end of conversion interrupt.
* @param __HANDLE__: ADC handle
* @param __INTERRUPT__: ADC Interrupt
* This parameter can be any combination of the following values:
* @arg ADC_IT_EOC: ADC End of Regular Conversion interrupt source
* @arg ADC_IT_JEOC: ADC End of Injected Conversion interrupt source
* @arg ADC_IT_AWD: ADC Analog watchdog interrupt source
* @retval None
*/
#define __HAL_ADC_DISABLE_IT(__HANDLE__, __INTERRUPT__) (CLEAR_BIT((__HANDLE__)->Instance->CR1, (__INTERRUPT__)))
/** @brief Checks if the specified ADC interrupt source is enabled or disabled.
* @param __HANDLE__: ADC handle
* @param __INTERRUPT__: ADC interrupt source to check
* This parameter can be any combination of the following values:
* @arg ADC_IT_EOC: ADC End of Regular Conversion interrupt source
* @arg ADC_IT_JEOC: ADC End of Injected Conversion interrupt source
* @arg ADC_IT_AWD: ADC Analog watchdog interrupt source
* @retval None
*/
#define __HAL_ADC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->CR1 & (__INTERRUPT__)) == (__INTERRUPT__))
/** @brief Get the selected ADC's flag status.
* @param __HANDLE__: ADC handle
* @param __FLAG__: ADC flag
* This parameter can be any combination of the following values:
* @arg ADC_FLAG_STRT: ADC Regular group start flag
* @arg ADC_FLAG_JSTRT: ADC Injected group start flag
* @arg ADC_FLAG_EOC: ADC End of Regular conversion flag
* @arg ADC_FLAG_JEOC: ADC End of Injected conversion flag
* @arg ADC_FLAG_AWD: ADC Analog watchdog flag
* @retval None
*/
#define __HAL_ADC_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__))
/** @brief Clear the ADC's pending flags
* @param __HANDLE__: ADC handle
* @param __FLAG__: ADC flag
* This parameter can be any combination of the following values:
* @arg ADC_FLAG_STRT: ADC Regular group start flag
* @arg ADC_FLAG_JSTRT: ADC Injected group start flag
* @arg ADC_FLAG_EOC: ADC End of Regular conversion flag
* @arg ADC_FLAG_JEOC: ADC End of Injected conversion flag
* @arg ADC_FLAG_AWD: ADC Analog watchdog flag
* @retval None
*/
#define __HAL_ADC_CLEAR_FLAG(__HANDLE__, __FLAG__) (WRITE_REG((__HANDLE__)->Instance->SR, ~(__FLAG__)))
/** @brief Reset ADC handle state
* @param __HANDLE__: ADC handle
* @retval None
*/
#if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
#define __HAL_ADC_RESET_HANDLE_STATE(__HANDLE__) \
do { \
(__HANDLE__)->State = HAL_ADC_STATE_RESET; \
(__HANDLE__)->MspInitCallback = NULL; \
(__HANDLE__)->MspDeInitCallback = NULL; \
} while (0)
#else
#define __HAL_ADC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_ADC_STATE_RESET)
#endif
/**
* @}
*/
/* Private macro ------------------------------------------------------------*/
/** @defgroup ADC_Private_Macros ADC Private Macros
* @{
*/
/* Macro reserved for internal HAL driver usage, not intended to be used in */
/* code of final user. */
/**
* @brief Verification of ADC state: enabled or disabled
* @param __HANDLE__: ADC handle
* @retval SET (ADC enabled) or RESET (ADC disabled)
*/
#define ADC_IS_ENABLE(__HANDLE__) (((((__HANDLE__)->Instance->CR2 & ADC_CR2_ADON) == ADC_CR2_ADON)) ? SET : RESET)
/**
* @brief Test if conversion trigger of regular group is software start
* or external trigger.
* @param __HANDLE__: ADC handle
* @retval SET (software start) or RESET (external trigger)
*/
#define ADC_IS_SOFTWARE_START_REGULAR(__HANDLE__) (READ_BIT((__HANDLE__)->Instance->CR2, ADC_CR2_EXTSEL) == ADC_SOFTWARE_START)
/**
* @brief Test if conversion trigger of injected group is software start
* or external trigger.
* @param __HANDLE__: ADC handle
* @retval SET (software start) or RESET (external trigger)
*/
#define ADC_IS_SOFTWARE_START_INJECTED(__HANDLE__) (READ_BIT((__HANDLE__)->Instance->CR2, ADC_CR2_JEXTSEL) == ADC_INJECTED_SOFTWARE_START)
/**
* @brief Simultaneously clears and sets specific bits of the handle State
* @note: ADC_STATE_CLR_SET() macro is merely aliased to generic macro MODIFY_REG(),
* the first parameter is the ADC handle State, the second parameter is the
* bit field to clear, the third and last parameter is the bit field to set.
* @retval None
*/
#define ADC_STATE_CLR_SET MODIFY_REG
/**
* @brief Clear ADC error code (set it to error code: "no error")
* @param __HANDLE__: ADC handle
* @retval None
*/
#define ADC_CLEAR_ERRORCODE(__HANDLE__) ((__HANDLE__)->ErrorCode = HAL_ADC_ERROR_NONE)
/**
* @brief Set ADC number of conversions into regular channel sequence length.
* @param _NbrOfConversion_: Regular channel sequence length
* @retval None
*/
#define ADC_SQR1_L_SHIFT(_NbrOfConversion_) (((_NbrOfConversion_) - (uint8_t)1) << ADC_SQR1_L_Pos)
/**
* @brief Set the ADC's sample time for channel numbers between 10 and 18.
* @param _SAMPLETIME_: Sample time parameter.
* @param _CHANNELNB_: Channel number.
* @retval None
*/
#define ADC_SMPR1(_SAMPLETIME_, _CHANNELNB_) ((_SAMPLETIME_) << (ADC_SMPR1_SMP11_Pos * ((_CHANNELNB_)-10)))
/**
* @brief Set the ADC's sample time for channel numbers between 0 and 9.
* @param _SAMPLETIME_: Sample time parameter.
* @param _CHANNELNB_: Channel number.
* @retval None
*/
#define ADC_SMPR2(_SAMPLETIME_, _CHANNELNB_) ((_SAMPLETIME_) << (ADC_SMPR2_SMP1_Pos * (_CHANNELNB_)))
/**
* @brief Set the selected regular channel rank for rank between 1 and 6.
* @param _CHANNELNB_: Channel number.
* @param _RANKNB_: Rank number.
* @retval None
*/
#define ADC_SQR3_RK(_CHANNELNB_, _RANKNB_) ((_CHANNELNB_) << (ADC_SQR3_SQ2_Pos * ((_RANKNB_)-1)))
/**
* @brief Set the selected regular channel rank for rank between 7 and 12.
* @param _CHANNELNB_: Channel number.
* @param _RANKNB_: Rank number.
* @retval None
*/
#define ADC_SQR2_RK(_CHANNELNB_, _RANKNB_) ((_CHANNELNB_) << (ADC_SQR2_SQ8_Pos * ((_RANKNB_)-7)))
/**
* @brief Set the selected regular channel rank for rank between 13 and 16.
* @param _CHANNELNB_: Channel number.
* @param _RANKNB_: Rank number.
* @retval None
*/
#define ADC_SQR1_RK(_CHANNELNB_, _RANKNB_) ((_CHANNELNB_) << (ADC_SQR1_SQ14_Pos * ((_RANKNB_)-13)))
/**
* @brief Set the injected sequence length.
* @param _JSQR_JL_: Sequence length.
* @retval None
*/
#define ADC_JSQR_JL_SHIFT(_JSQR_JL_) (((_JSQR_JL_)-1) << ADC_JSQR_JL_Pos)
/**
* @brief Set the selected injected channel rank
* Note: on STM32F1 devices, channel rank position in JSQR register
* is depending on total number of ranks selected into
* injected sequencer (ranks sequence starting from 4-JL)
* @param _CHANNELNB_: Channel number.
* @param _RANKNB_: Rank number.
* @param _JSQR_JL_: Sequence length.
* @retval None
*/
#define ADC_JSQR_RK_JL(_CHANNELNB_, _RANKNB_, _JSQR_JL_) ((_CHANNELNB_) << (ADC_JSQR_JSQ2_Pos * ((4 - ((_JSQR_JL_) - (_RANKNB_))) - 1)))
/**
* @brief Enable ADC continuous conversion mode.
* @param _CONTINUOUS_MODE_: Continuous mode.
* @retval None
*/
#define ADC_CR2_CONTINUOUS(_CONTINUOUS_MODE_) ((_CONTINUOUS_MODE_) << ADC_CR2_CONT_Pos)
/**
* @brief Configures the number of discontinuous conversions for the regular group channels.
* @param _NBR_DISCONTINUOUS_CONV_: Number of discontinuous conversions.
* @retval None
*/
#define ADC_CR1_DISCONTINUOUS_NUM(_NBR_DISCONTINUOUS_CONV_) (((_NBR_DISCONTINUOUS_CONV_)-1) << ADC_CR1_DISCNUM_Pos)
/**
* @brief Enable ADC scan mode to convert multiple ranks with sequencer.
* @param _SCAN_MODE_: Scan conversion mode.
* @retval None
*/
/* Note: Scan mode is compared to ENABLE for legacy purpose, this parameter */
/* is equivalent to ADC_SCAN_ENABLE. */
#define ADC_CR1_SCAN_SET(_SCAN_MODE_) ((((_SCAN_MODE_) == ADC_SCAN_ENABLE) || ((_SCAN_MODE_) == ENABLE)) ? (ADC_SCAN_ENABLE) : (ADC_SCAN_DISABLE))
/**
* @brief Get the maximum ADC conversion cycles on all channels.
* Returns the selected sampling time + conversion time (12.5 ADC clock cycles)
* Approximation of sampling time within 4 ranges, returns the highest value:
* below 7.5 cycles {1.5 cycle; 7.5 cycles},
* between 13.5 cycles and 28.5 cycles {13.5 cycles; 28.5 cycles}
* between 41.5 cycles and 71.5 cycles {41.5 cycles; 55.5 cycles; 71.5cycles}
* equal to 239.5 cycles
* Unit: ADC clock cycles
* @param __HANDLE__: ADC handle
* @retval ADC conversion cycles on all channels
*/
#define ADC_CONVCYCLES_MAX_RANGE(__HANDLE__) \
(((((__HANDLE__)->Instance->SMPR2 & ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT2) == RESET) && (((__HANDLE__)->Instance->SMPR1 & ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT2) == RESET)) \
? \
\
(((((__HANDLE__)->Instance->SMPR2 & ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1) == RESET) && (((__HANDLE__)->Instance->SMPR1 & ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1) == RESET)) \
? ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_7CYCLES5 \
: ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_28CYCLES5) \
: ((((((__HANDLE__)->Instance->SMPR2 & ADC_SAMPLETIME_ALLCHANNELS_SMPR2BIT1) == RESET) && (((__HANDLE__)->Instance->SMPR1 & ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT1) == RESET)) \
|| ((((__HANDLE__)->Instance->SMPR2 & ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0) == RESET) && (((__HANDLE__)->Instance->SMPR1 & ADC_SAMPLETIME_ALLCHANNELS_SMPR1BIT0) == RESET))) \
? ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_71CYCLES5 \
: ADC_CONVERSIONCLOCKCYCLES_SAMPLETIME_239CYCLES5))
#define IS_ADC_DATA_ALIGN(ALIGN) (((ALIGN) == ADC_DATAALIGN_RIGHT) || ((ALIGN) == ADC_DATAALIGN_LEFT))
#define IS_ADC_SCAN_MODE(SCAN_MODE) (((SCAN_MODE) == ADC_SCAN_DISABLE) || ((SCAN_MODE) == ADC_SCAN_ENABLE))
#define IS_ADC_EXTTRIG_EDGE(EDGE) (((EDGE) == ADC_EXTERNALTRIGCONVEDGE_NONE) || ((EDGE) == ADC_EXTERNALTRIGCONVEDGE_RISING))
#define IS_ADC_CHANNEL(CHANNEL) \
(((CHANNEL) == ADC_CHANNEL_0) || ((CHANNEL) == ADC_CHANNEL_1) || ((CHANNEL) == ADC_CHANNEL_2) || ((CHANNEL) == ADC_CHANNEL_3) || ((CHANNEL) == ADC_CHANNEL_4) || ((CHANNEL) == ADC_CHANNEL_5) \
|| ((CHANNEL) == ADC_CHANNEL_6) || ((CHANNEL) == ADC_CHANNEL_7) || ((CHANNEL) == ADC_CHANNEL_8) || ((CHANNEL) == ADC_CHANNEL_9) || ((CHANNEL) == ADC_CHANNEL_10) || ((CHANNEL) == ADC_CHANNEL_11) \
|| ((CHANNEL) == ADC_CHANNEL_12) || ((CHANNEL) == ADC_CHANNEL_13) || ((CHANNEL) == ADC_CHANNEL_14) || ((CHANNEL) == ADC_CHANNEL_15) || ((CHANNEL) == ADC_CHANNEL_16) \
|| ((CHANNEL) == ADC_CHANNEL_17))
#define IS_ADC_SAMPLE_TIME(TIME) \
(((TIME) == ADC_SAMPLETIME_1CYCLE_5) || ((TIME) == ADC_SAMPLETIME_7CYCLES_5) || ((TIME) == ADC_SAMPLETIME_13CYCLES_5) || ((TIME) == ADC_SAMPLETIME_28CYCLES_5) \
|| ((TIME) == ADC_SAMPLETIME_41CYCLES_5) || ((TIME) == ADC_SAMPLETIME_55CYCLES_5) || ((TIME) == ADC_SAMPLETIME_71CYCLES_5) || ((TIME) == ADC_SAMPLETIME_239CYCLES_5))
#define IS_ADC_REGULAR_RANK(CHANNEL) \
(((CHANNEL) == ADC_REGULAR_RANK_1) || ((CHANNEL) == ADC_REGULAR_RANK_2) || ((CHANNEL) == ADC_REGULAR_RANK_3) || ((CHANNEL) == ADC_REGULAR_RANK_4) || ((CHANNEL) == ADC_REGULAR_RANK_5) \
|| ((CHANNEL) == ADC_REGULAR_RANK_6) || ((CHANNEL) == ADC_REGULAR_RANK_7) || ((CHANNEL) == ADC_REGULAR_RANK_8) || ((CHANNEL) == ADC_REGULAR_RANK_9) || ((CHANNEL) == ADC_REGULAR_RANK_10) \
|| ((CHANNEL) == ADC_REGULAR_RANK_11) || ((CHANNEL) == ADC_REGULAR_RANK_12) || ((CHANNEL) == ADC_REGULAR_RANK_13) || ((CHANNEL) == ADC_REGULAR_RANK_14) || ((CHANNEL) == ADC_REGULAR_RANK_15) \
|| ((CHANNEL) == ADC_REGULAR_RANK_16))
#define IS_ADC_ANALOG_WATCHDOG_MODE(WATCHDOG) \
(((WATCHDOG) == ADC_ANALOGWATCHDOG_NONE) || ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_REG) || ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_INJEC) || ((WATCHDOG) == ADC_ANALOGWATCHDOG_SINGLE_REGINJEC) \
|| ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_REG) || ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_INJEC) || ((WATCHDOG) == ADC_ANALOGWATCHDOG_ALL_REGINJEC))
#define IS_ADC_CONVERSION_GROUP(CONVERSION) (((CONVERSION) == ADC_REGULAR_GROUP) || ((CONVERSION) == ADC_INJECTED_GROUP) || ((CONVERSION) == ADC_REGULAR_INJECTED_GROUP))
#define IS_ADC_EVENT_TYPE(EVENT) ((EVENT) == ADC_AWD_EVENT)
/** @defgroup ADC_range_verification ADC range verification
* For a unique ADC resolution: 12 bits
* @{
*/
#define IS_ADC_RANGE(ADC_VALUE) ((ADC_VALUE) <= 0x0FFFU)
/**
* @}
*/
/** @defgroup ADC_regular_nb_conv_verification ADC regular nb conv verification
* @{
*/
#define IS_ADC_REGULAR_NB_CONV(LENGTH) (((LENGTH) >= 1U) && ((LENGTH) <= 16U))
/**
* @}
*/
/** @defgroup ADC_regular_discontinuous_mode_number_verification ADC regular discontinuous mode number verification
* @{
*/
#define IS_ADC_REGULAR_DISCONT_NUMBER(NUMBER) (((NUMBER) >= 1U) && ((NUMBER) <= 8U))
/**
* @}
*/
/**
* @}
*/
/* Include ADC HAL Extension module */
#include "stm32f1xx_hal_adc_ex.h"
/* Exported functions --------------------------------------------------------*/
/** @addtogroup ADC_Exported_Functions
* @{
*/
/** @addtogroup ADC_Exported_Functions_Group1
* @{
*/
/* Initialization and de-initialization functions **********************************/
HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef *hadc);
void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc);
void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc);
#if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
/* Callbacks Register/UnRegister functions ***********************************/
HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef CallbackID, pADC_CallbackTypeDef pCallback);
HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef CallbackID);
#endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
/**
* @}
*/
/* IO operation functions *****************************************************/
/** @addtogroup ADC_Exported_Functions_Group2
* @{
*/
/* Blocking mode: Polling */
HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout);
HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef *hadc, uint32_t EventType, uint32_t Timeout);
/* Non-blocking mode: Interruption */
HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef *hadc);
/* Non-blocking mode: DMA */
HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length);
HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef *hadc);
/* ADC retrieve conversion value intended to be used with polling or interruption */
uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef *hadc);
/* ADC IRQHandler and Callbacks used in non-blocking modes (Interruption and DMA) */
void HAL_ADC_IRQHandler(ADC_HandleTypeDef *hadc);
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc);
void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc);
void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef *hadc);
void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc);
/**
* @}
*/
/* Peripheral Control functions ***********************************************/
/** @addtogroup ADC_Exported_Functions_Group3
* @{
*/
HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef *hadc, ADC_ChannelConfTypeDef *sConfig);
HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef *hadc, ADC_AnalogWDGConfTypeDef *AnalogWDGConfig);
/**
* @}
*/
/* Peripheral State functions *************************************************/
/** @addtogroup ADC_Exported_Functions_Group4
* @{
*/
uint32_t HAL_ADC_GetState(ADC_HandleTypeDef *hadc);
uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc);
/**
* @}
*/
/**
* @}
*/
/* Internal HAL driver functions **********************************************/
/** @addtogroup ADC_Private_Functions
* @{
*/
HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef ADC_ConversionStop_Disable(ADC_HandleTypeDef *hadc);
void ADC_StabilizationTime(uint32_t DelayUs);
void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma);
void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma);
void ADC_DMAError(DMA_HandleTypeDef *hdma);
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* __STM32F1xx_HAL_ADC_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -0,0 +1,607 @@
/**
******************************************************************************
* @file stm32f1xx_hal_adc_ex.h
* @author MCD Application Team
* @brief Header file of ADC HAL extension module.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_ADC_EX_H
#define __STM32F1xx_HAL_ADC_EX_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal_def.h"
/** @addtogroup STM32F1xx_HAL_Driver
* @{
*/
/** @addtogroup ADCEx
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup ADCEx_Exported_Types ADCEx Exported Types
* @{
*/
/**
* @brief ADC Configuration injected Channel structure definition
* @note Parameters of this structure are shared within 2 scopes:
* - Scope channel: InjectedChannel, InjectedRank, InjectedSamplingTime, InjectedOffset
* - Scope injected group (affects all channels of injected group): InjectedNbrOfConversion, InjectedDiscontinuousConvMode,
* AutoInjectedConv, ExternalTrigInjecConvEdge, ExternalTrigInjecConv.
* @note The setting of these parameters with function HAL_ADCEx_InjectedConfigChannel() is conditioned to ADC state.
* ADC state can be either:
* - For all parameters: ADC disabled (this is the only possible ADC state to modify parameter 'ExternalTrigInjecConv')
* - For all except parameters 'ExternalTrigInjecConv': ADC enabled without conversion on going on injected group.
*/
typedef struct {
uint32_t InjectedChannel; /*!< Selection of ADC channel to configure
This parameter can be a value of @ref ADC_channels
Note: Depending on devices, some channels may not be available on package pins. Refer to device datasheet for channels availability.
Note: On STM32F1 devices with several ADC: Only ADC1 can access internal measurement channels (VrefInt/TempSensor)
Note: On STM32F10xx8 and STM32F10xxB devices: A low-amplitude voltage glitch may be generated (on ADC input 0) on the PA0 pin, when the ADC is converting with
injection trigger. It is advised to distribute the analog channels so that Channel 0 is configured as an injected channel.
Refer to errata sheet of these devices for more details. */
uint32_t InjectedRank; /*!< Rank in the injected group sequencer
This parameter must be a value of @ref ADCEx_injected_rank
Note: In case of need to disable a channel or change order of conversion sequencer, rank containing a previous channel setting can be overwritten by the new channel
setting (or parameter number of conversions can be adjusted) */
uint32_t InjectedSamplingTime; /*!< Sampling time value to be set for the selected channel.
Unit: ADC clock cycles
Conversion time is the addition of sampling time and processing time (12.5 ADC clock cycles at ADC resolution 12 bits).
This parameter can be a value of @ref ADC_sampling_times
Caution: This parameter updates the parameter property of the channel, that can be used into regular and/or injected groups.
If this same channel has been previously configured in the other group (regular/injected), it will be updated to last setting.
Note: In case of usage of internal measurement channels (VrefInt/TempSensor),
sampling time constraints must be respected (sampling time can be adjusted in function of ADC clock frequency and sampling time setting)
Refer to device datasheet for timings values, parameters TS_vrefint, TS_temp (values rough order: 5us to 17.1us min). */
uint32_t InjectedOffset; /*!< Defines the offset to be subtracted from the raw converted data (for channels set on injected group only).
Offset value must be a positive number.
Depending of ADC resolution selected (12, 10, 8 or 6 bits),
this parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF, 0x3FF, 0xFF or 0x3F respectively. */
uint32_t InjectedNbrOfConversion; /*!< Specifies the number of ranks that will be converted within the injected group sequencer.
To use the injected group sequencer and convert several ranks, parameter 'ScanConvMode' must be enabled.
This parameter must be a number between Min_Data = 1 and Max_Data = 4.
Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to
configure a channel on injected group can impact the configuration of other channels previously set. */
FunctionalState InjectedDiscontinuousConvMode; /*!< Specifies whether the conversions sequence of injected group is performed in Complete-sequence/Discontinuous-sequence (main sequence subdivided in
successive parts). Discontinuous mode is used only if sequencer is enabled (parameter 'ScanConvMode'). If sequencer is disabled, this parameter is
discarded. Discontinuous mode can be enabled only if continuous mode is disabled. If continuous mode is enabled, this parameter setting is
discarded. This parameter can be set to ENABLE or DISABLE. Note: For injected group, number of discontinuous ranks increment is fixed to one-by-one.
Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to
configure a channel on injected group can impact the configuration of other channels previously set. */
FunctionalState AutoInjectedConv; /*!< Enables or disables the selected ADC automatic injected group conversion after regular one
This parameter can be set to ENABLE or DISABLE.
Note: To use Automatic injected conversion, discontinuous mode must be disabled ('DiscontinuousConvMode' and 'InjectedDiscontinuousConvMode' set to DISABLE)
Note: To use Automatic injected conversion, injected group external triggers must be disabled ('ExternalTrigInjecConv' set to ADC_SOFTWARE_START)
Note: In case of DMA used with regular group: if DMA configured in normal mode (single shot) JAUTO will be stopped upon DMA transfer complete.
To maintain JAUTO always enabled, DMA must be configured in circular mode.
Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to
configure a channel on injected group can impact the configuration of other channels previously set. */
uint32_t ExternalTrigInjecConv; /*!< Selects the external event used to trigger the conversion start of injected group.
If set to ADC_INJECTED_SOFTWARE_START, external triggers are disabled.
If set to external trigger source, triggering is on event rising edge.
This parameter can be a value of @ref ADCEx_External_trigger_source_Injected
Note: This parameter must be modified when ADC is disabled (before ADC start conversion or after ADC stop conversion).
If ADC is enabled, this parameter setting is bypassed without error reporting (as it can be the expected behaviour in case of another parameter update on
the fly) Caution: this setting impacts the entire injected group. Therefore, call of HAL_ADCEx_InjectedConfigChannel() to
configure a channel on injected group can impact the configuration of other channels previously set. */
} ADC_InjectionConfTypeDef;
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
/**
* @brief Structure definition of ADC multimode
* @note The setting of these parameters with function HAL_ADCEx_MultiModeConfigChannel() is conditioned to ADCs state (both ADCs of the common group).
* State of ADCs of the common group must be: disabled.
*/
typedef struct {
uint32_t Mode; /*!< Configures the ADC to operate in independent or multi mode.
This parameter can be a value of @ref ADCEx_Common_mode
Note: In dual mode, a change of channel configuration generates a restart that can produce a loss of synchronization. It is recommended to disable dual mode before any
configuration change. Note: In case of simultaneous mode used: Exactly the same sampling time should be configured for the 2 channels that will be sampled simultaneously by ACD1
and ADC2. Note: In case of interleaved mode used: To avoid overlap between conversions, maximum sampling time allowed is 7 ADC clock cycles for fast interleaved mode and 14 ADC
clock cycles for slow interleaved mode. Note: Some multimode parameters are fixed on STM32F1 and can be configured on other STM32 devices with several ADC (multimode configuration
structure can have additional parameters). The equivalences are:
- Parameter 'DMAAccessMode': On STM32F1, this parameter is fixed to 1 DMA channel (one DMA channel for both ADC, DMA of ADC master). On other STM32 devices with several
ADC, this is equivalent to parameter 'ADC_DMAACCESSMODE_12_10_BITS'.
- Parameter 'TwoSamplingDelay': On STM32F1, this parameter is fixed to 7 or 14 ADC clock cycles depending on fast or slow interleaved mode selected. On other STM32
devices with several ADC, this is equivalent to parameter 'ADC_TWOSAMPLINGDELAY_7CYCLES' (for fast interleaved mode). */
} ADC_MultiModeTypeDef;
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/**
* @}
*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup ADCEx_Exported_Constants ADCEx Exported Constants
* @{
*/
/** @defgroup ADCEx_injected_rank ADCEx rank into injected group
* @{
*/
#define ADC_INJECTED_RANK_1 0x00000001U
#define ADC_INJECTED_RANK_2 0x00000002U
#define ADC_INJECTED_RANK_3 0x00000003U
#define ADC_INJECTED_RANK_4 0x00000004U
/**
* @}
*/
/** @defgroup ADCEx_External_trigger_edge_Injected ADCEx external trigger enable for injected group
* @{
*/
#define ADC_EXTERNALTRIGINJECCONV_EDGE_NONE 0x00000000U
#define ADC_EXTERNALTRIGINJECCONV_EDGE_RISING ((uint32_t)ADC_CR2_JEXTTRIG)
/**
* @}
*/
/** @defgroup ADC_External_trigger_source_Regular ADC External trigger selection for regular group
* @{
*/
/*!< List of external triggers with generic trigger name, independently of */
/* ADC target, sorted by trigger name: */
/*!< External triggers of regular group for ADC1&ADC2 only */
#define ADC_EXTERNALTRIGCONV_T1_CC1 ADC1_2_EXTERNALTRIG_T1_CC1
#define ADC_EXTERNALTRIGCONV_T1_CC2 ADC1_2_EXTERNALTRIG_T1_CC2
#define ADC_EXTERNALTRIGCONV_T2_CC2 ADC1_2_EXTERNALTRIG_T2_CC2
#define ADC_EXTERNALTRIGCONV_T3_TRGO ADC1_2_EXTERNALTRIG_T3_TRGO
#define ADC_EXTERNALTRIGCONV_T4_CC4 ADC1_2_EXTERNALTRIG_T4_CC4
#define ADC_EXTERNALTRIGCONV_EXT_IT11 ADC1_2_EXTERNALTRIG_EXT_IT11
#if defined(STM32F103xE) || defined(STM32F103xG)
/*!< External triggers of regular group for ADC3 only */
#define ADC_EXTERNALTRIGCONV_T2_CC3 ADC3_EXTERNALTRIG_T2_CC3
#define ADC_EXTERNALTRIGCONV_T3_CC1 ADC3_EXTERNALTRIG_T3_CC1
#define ADC_EXTERNALTRIGCONV_T5_CC1 ADC3_EXTERNALTRIG_T5_CC1
#define ADC_EXTERNALTRIGCONV_T5_CC3 ADC3_EXTERNALTRIG_T5_CC3
#define ADC_EXTERNALTRIGCONV_T8_CC1 ADC3_EXTERNALTRIG_T8_CC1
#endif /* STM32F103xE || defined STM32F103xG */
/*!< External triggers of regular group for all ADC instances */
#define ADC_EXTERNALTRIGCONV_T1_CC3 ADC1_2_3_EXTERNALTRIG_T1_CC3
#if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
/*!< Note: TIM8_TRGO is available on ADC1 and ADC2 only in high-density and */
/* XL-density devices. */
/* To use it on ADC or ADC2, a remap of trigger must be done from */
/* EXTI line 11 to TIM8_TRGO with macro: */
/* __HAL_AFIO_REMAP_ADC1_ETRGREG_ENABLE() */
/* __HAL_AFIO_REMAP_ADC2_ETRGREG_ENABLE() */
/* Note for internal constant value management: If TIM8_TRGO is available, */
/* its definition is set to value for ADC1&ADC2 by default and changed to */
/* value for ADC3 by HAL ADC driver if ADC3 is selected. */
#define ADC_EXTERNALTRIGCONV_T8_TRGO ADC1_2_EXTERNALTRIG_T8_TRGO
#endif /* STM32F101xE || STM32F103xE || STM32F103xG || STM32F105xC || STM32F107xC */
#define ADC_SOFTWARE_START ADC1_2_3_SWSTART
/**
* @}
*/
/** @defgroup ADCEx_External_trigger_source_Injected ADCEx External trigger selection for injected group
* @{
*/
/*!< List of external triggers with generic trigger name, independently of */
/* ADC target, sorted by trigger name: */
/*!< External triggers of injected group for ADC1&ADC2 only */
#define ADC_EXTERNALTRIGINJECCONV_T2_TRGO ADC1_2_EXTERNALTRIGINJEC_T2_TRGO
#define ADC_EXTERNALTRIGINJECCONV_T2_CC1 ADC1_2_EXTERNALTRIGINJEC_T2_CC1
#define ADC_EXTERNALTRIGINJECCONV_T3_CC4 ADC1_2_EXTERNALTRIGINJEC_T3_CC4
#define ADC_EXTERNALTRIGINJECCONV_T4_TRGO ADC1_2_EXTERNALTRIGINJEC_T4_TRGO
#define ADC_EXTERNALTRIGINJECCONV_EXT_IT15 ADC1_2_EXTERNALTRIGINJEC_EXT_IT15
#if defined(STM32F103xE) || defined(STM32F103xG)
/*!< External triggers of injected group for ADC3 only */
#define ADC_EXTERNALTRIGINJECCONV_T4_CC3 ADC3_EXTERNALTRIGINJEC_T4_CC3
#define ADC_EXTERNALTRIGINJECCONV_T8_CC2 ADC3_EXTERNALTRIGINJEC_T8_CC2
#define ADC_EXTERNALTRIGINJECCONV_T5_TRGO ADC3_EXTERNALTRIGINJEC_T5_TRGO
#define ADC_EXTERNALTRIGINJECCONV_T5_CC4 ADC3_EXTERNALTRIGINJEC_T5_CC4
#endif /* STM32F103xE || defined STM32F103xG */
/*!< External triggers of injected group for all ADC instances */
#define ADC_EXTERNALTRIGINJECCONV_T1_CC4 ADC1_2_3_EXTERNALTRIGINJEC_T1_CC4
#define ADC_EXTERNALTRIGINJECCONV_T1_TRGO ADC1_2_3_EXTERNALTRIGINJEC_T1_TRGO
#if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F103xG) || defined(STM32F105xC) || defined(STM32F107xC)
/*!< Note: TIM8_CC4 is available on ADC1 and ADC2 only in high-density and */
/* XL-density devices. */
/* To use it on ADC1 or ADC2, a remap of trigger must be done from */
/* EXTI line 11 to TIM8_CC4 with macro: */
/* __HAL_AFIO_REMAP_ADC1_ETRGINJ_ENABLE() */
/* __HAL_AFIO_REMAP_ADC2_ETRGINJ_ENABLE() */
/* Note for internal constant value management: If TIM8_CC4 is available, */
/* its definition is set to value for ADC1&ADC2 by default and changed to */
/* value for ADC3 by HAL ADC driver if ADC3 is selected. */
#define ADC_EXTERNALTRIGINJECCONV_T8_CC4 ADC1_2_EXTERNALTRIGINJEC_T8_CC4
#endif /* STM32F101xE || STM32F103xE || STM32F103xG || STM32F105xC || STM32F107xC */
#define ADC_INJECTED_SOFTWARE_START ADC1_2_3_JSWSTART
/**
* @}
*/
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
/** @defgroup ADCEx_Common_mode ADC Extended Dual ADC Mode
* @{
*/
#define ADC_MODE_INDEPENDENT 0x00000000U /*!< ADC dual mode disabled (ADC independent mode) */
#define ADC_DUALMODE_REGSIMULT_INJECSIMULT ((uint32_t)(ADC_CR1_DUALMOD_0)) /*!< ADC dual mode enabled: Combined regular simultaneous + injected simultaneous mode, on groups regular and injected */
#define ADC_DUALMODE_REGSIMULT_ALTERTRIG ((uint32_t)(ADC_CR1_DUALMOD_1)) /*!< ADC dual mode enabled: Combined regular simultaneous + alternate trigger mode, on groups regular and injected */
#define ADC_DUALMODE_INJECSIMULT_INTERLFAST \
((uint32_t)(ADC_CR1_DUALMOD_1 | ADC_CR1_DUALMOD_0)) /*!< ADC dual mode enabled: Combined injected simultaneous + fast interleaved mode, on groups regular and injected (delay between ADC sampling \
phases: 7 ADC clock cycles (equivalent to parameter "TwoSamplingDelay" set to "ADC_TWOSAMPLINGDELAY_7CYCLES" on other STM32 devices)) */
#define ADC_DUALMODE_INJECSIMULT_INTERLSLOW \
((uint32_t)(ADC_CR1_DUALMOD_2)) /*!< ADC dual mode enabled: Combined injected simultaneous + slow Interleaved mode, on groups regular and injected (delay between ADC sampling phases: 14 ADC clock \
cycles (equivalent to parameter "TwoSamplingDelay" set to "ADC_TWOSAMPLINGDELAY_7CYCLES" on other STM32 devices)) */
#define ADC_DUALMODE_INJECSIMULT ((uint32_t)(ADC_CR1_DUALMOD_2 | ADC_CR1_DUALMOD_0)) /*!< ADC dual mode enabled: Injected simultaneous mode, on group injected */
#define ADC_DUALMODE_REGSIMULT ((uint32_t)(ADC_CR1_DUALMOD_2 | ADC_CR1_DUALMOD_1)) /*!< ADC dual mode enabled: Regular simultaneous mode, on group regular */
#define ADC_DUALMODE_INTERLFAST \
((uint32_t)(ADC_CR1_DUALMOD_2 | ADC_CR1_DUALMOD_1 | ADC_CR1_DUALMOD_0)) /*!< ADC dual mode enabled: Fast interleaved mode, on group regular (delay between ADC sampling phases: 7 ADC clock cycles \
(equivalent to parameter "TwoSamplingDelay" set to "ADC_TWOSAMPLINGDELAY_7CYCLES" on other STM32 devices)) */
#define ADC_DUALMODE_INTERLSLOW \
((uint32_t)(ADC_CR1_DUALMOD_3)) /*!< ADC dual mode enabled: Slow interleaved mode, on group regular (delay between ADC sampling phases: 14 ADC clock cycles (equivalent to parameter \
"TwoSamplingDelay" set to "ADC_TWOSAMPLINGDELAY_7CYCLES" on other STM32 devices)) */
#define ADC_DUALMODE_ALTERTRIG ((uint32_t)(ADC_CR1_DUALMOD_3 | ADC_CR1_DUALMOD_0)) /*!< ADC dual mode enabled: Alternate trigger mode, on group injected */
/**
* @}
*/
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/**
* @}
*/
/* Private constants ---------------------------------------------------------*/
/** @addtogroup ADCEx_Private_Constants ADCEx Private Constants
* @{
*/
/** @defgroup ADCEx_Internal_HAL_driver_Ext_trig_src_Regular ADC Extended Internal HAL driver trigger selection for regular group
* @{
*/
/* List of external triggers of regular group for ADC1, ADC2, ADC3 (if ADC */
/* instance is available on the selected device). */
/* (used internally by HAL driver. To not use into HAL structure parameters) */
/* External triggers of regular group for ADC1&ADC2 (if ADCx available) */
#define ADC1_2_EXTERNALTRIG_T1_CC1 0x00000000U
#define ADC1_2_EXTERNALTRIG_T1_CC2 ((uint32_t)(ADC_CR2_EXTSEL_0))
#define ADC1_2_EXTERNALTRIG_T2_CC2 ((uint32_t)(ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0))
#define ADC1_2_EXTERNALTRIG_T3_TRGO ((uint32_t)(ADC_CR2_EXTSEL_2))
#define ADC1_2_EXTERNALTRIG_T4_CC4 ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_0))
#define ADC1_2_EXTERNALTRIG_EXT_IT11 ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1))
#if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F103xG)
/* Note: TIM8_TRGO is available on ADC1 and ADC2 only in high-density and */
/* XL-density devices. */
#define ADC1_2_EXTERNALTRIG_T8_TRGO ADC1_2_EXTERNALTRIG_EXT_IT11
#endif
#if defined(STM32F103xE) || defined(STM32F103xG)
/* External triggers of regular group for ADC3 */
#define ADC3_EXTERNALTRIG_T3_CC1 ADC1_2_EXTERNALTRIG_T1_CC1
#define ADC3_EXTERNALTRIG_T2_CC3 ADC1_2_EXTERNALTRIG_T1_CC2
#define ADC3_EXTERNALTRIG_T8_CC1 ADC1_2_EXTERNALTRIG_T2_CC2
#define ADC3_EXTERNALTRIG_T8_TRGO ADC1_2_EXTERNALTRIG_T3_TRGO
#define ADC3_EXTERNALTRIG_T5_CC1 ADC1_2_EXTERNALTRIG_T4_CC4
#define ADC3_EXTERNALTRIG_T5_CC3 ADC1_2_EXTERNALTRIG_EXT_IT11
#endif
/* External triggers of regular group for ADC1&ADC2&ADC3 (if ADCx available) */
#define ADC1_2_3_EXTERNALTRIG_T1_CC3 ((uint32_t)(ADC_CR2_EXTSEL_1))
#define ADC1_2_3_SWSTART ((uint32_t)(ADC_CR2_EXTSEL_2 | ADC_CR2_EXTSEL_1 | ADC_CR2_EXTSEL_0))
/**
* @}
*/
/** @defgroup ADCEx_Internal_HAL_driver_Ext_trig_src_Injected ADC Extended Internal HAL driver trigger selection for injected group
* @{
*/
/* List of external triggers of injected group for ADC1, ADC2, ADC3 (if ADC */
/* instance is available on the selected device). */
/* (used internally by HAL driver. To not use into HAL structure parameters) */
/* External triggers of injected group for ADC1&ADC2 (if ADCx available) */
#define ADC1_2_EXTERNALTRIGINJEC_T2_TRGO ((uint32_t)(ADC_CR2_JEXTSEL_1))
#define ADC1_2_EXTERNALTRIGINJEC_T2_CC1 ((uint32_t)(ADC_CR2_JEXTSEL_1 | ADC_CR2_JEXTSEL_0))
#define ADC1_2_EXTERNALTRIGINJEC_T3_CC4 ((uint32_t)(ADC_CR2_JEXTSEL_2))
#define ADC1_2_EXTERNALTRIGINJEC_T4_TRGO ((uint32_t)(ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_0))
#define ADC1_2_EXTERNALTRIGINJEC_EXT_IT15 ((uint32_t)(ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_1))
#if defined(STM32F101xE) || defined(STM32F103xE) || defined(STM32F103xG)
/* Note: TIM8_CC4 is available on ADC1 and ADC2 only in high-density and */
/* XL-density devices. */
#define ADC1_2_EXTERNALTRIGINJEC_T8_CC4 ADC1_2_EXTERNALTRIGINJEC_EXT_IT15
#endif
#if defined(STM32F103xE) || defined(STM32F103xG)
/* External triggers of injected group for ADC3 */
#define ADC3_EXTERNALTRIGINJEC_T4_CC3 ADC1_2_EXTERNALTRIGINJEC_T2_TRGO
#define ADC3_EXTERNALTRIGINJEC_T8_CC2 ADC1_2_EXTERNALTRIGINJEC_T2_CC1
#define ADC3_EXTERNALTRIGINJEC_T8_CC4 ADC1_2_EXTERNALTRIGINJEC_T3_CC4
#define ADC3_EXTERNALTRIGINJEC_T5_TRGO ADC1_2_EXTERNALTRIGINJEC_T4_TRGO
#define ADC3_EXTERNALTRIGINJEC_T5_CC4 ADC1_2_EXTERNALTRIGINJEC_EXT_IT15
#endif /* STM32F103xE || defined STM32F103xG */
/* External triggers of injected group for ADC1&ADC2&ADC3 (if ADCx available) */
#define ADC1_2_3_EXTERNALTRIGINJEC_T1_TRGO 0x00000000U
#define ADC1_2_3_EXTERNALTRIGINJEC_T1_CC4 ((uint32_t)(ADC_CR2_JEXTSEL_0))
#define ADC1_2_3_JSWSTART ((uint32_t)(ADC_CR2_JEXTSEL_2 | ADC_CR2_JEXTSEL_1 | ADC_CR2_JEXTSEL_0))
/**
* @}
*/
/**
* @}
*/
/* Exported macro ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/** @defgroup ADCEx_Private_Macro ADCEx Private Macro
* @{
*/
/* Macro reserved for internal HAL driver usage, not intended to be used in */
/* code of final user. */
/**
* @brief For devices with 3 ADCs: Defines the external trigger source
* for regular group according to ADC into common group ADC1&ADC2 or
* ADC3 (some triggers with same source have different value to
* be programmed into ADC EXTSEL bits of CR2 register).
* For devices with 2 ADCs or less: this macro makes no change.
* @param __HANDLE__: ADC handle
* @param __EXT_TRIG_CONV__: External trigger selected for regular group.
* @retval External trigger to be programmed into EXTSEL bits of CR2 register
*/
#if defined(STM32F103xE) || defined(STM32F103xG)
#define ADC_CFGR_EXTSEL(__HANDLE__, __EXT_TRIG_CONV__) \
(((((__HANDLE__)->Instance) == ADC3)) ? (((__EXT_TRIG_CONV__) == ADC_EXTERNALTRIGCONV_T8_TRGO) ? (ADC3_EXTERNALTRIG_T8_TRGO) : (__EXT_TRIG_CONV__)) : (__EXT_TRIG_CONV__))
#else
#define ADC_CFGR_EXTSEL(__HANDLE__, __EXT_TRIG_CONV__) (__EXT_TRIG_CONV__)
#endif /* STM32F103xE || STM32F103xG */
/**
* @brief For devices with 3 ADCs: Defines the external trigger source
* for injected group according to ADC into common group ADC1&ADC2 or
* ADC3 (some triggers with same source have different value to
* be programmed into ADC JEXTSEL bits of CR2 register).
* For devices with 2 ADCs or less: this macro makes no change.
* @param __HANDLE__: ADC handle
* @param __EXT_TRIG_INJECTCONV__: External trigger selected for injected group.
* @retval External trigger to be programmed into JEXTSEL bits of CR2 register
*/
#if defined(STM32F103xE) || defined(STM32F103xG)
#define ADC_CFGR_JEXTSEL(__HANDLE__, __EXT_TRIG_INJECTCONV__) \
(((((__HANDLE__)->Instance) == ADC3)) ? (((__EXT_TRIG_INJECTCONV__) == ADC_EXTERNALTRIGINJECCONV_T8_CC4) ? (ADC3_EXTERNALTRIGINJEC_T8_CC4) : (__EXT_TRIG_INJECTCONV__)) : (__EXT_TRIG_INJECTCONV__))
#else
#define ADC_CFGR_JEXTSEL(__HANDLE__, __EXT_TRIG_INJECTCONV__) (__EXT_TRIG_INJECTCONV__)
#endif /* STM32F103xE || STM32F103xG */
/**
* @brief Verification if multimode is enabled for the selected ADC (multimode ADC master or ADC slave) (applicable for devices with several ADCs)
* @param __HANDLE__: ADC handle
* @retval Multimode state: RESET if multimode is disabled, other value if multimode is enabled
*/
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
#define ADC_MULTIMODE_IS_ENABLE(__HANDLE__) (((((__HANDLE__)->Instance) == ADC1) || (((__HANDLE__)->Instance) == ADC2)) ? (ADC1->CR1 & ADC_CR1_DUALMOD) : (RESET))
#else
#define ADC_MULTIMODE_IS_ENABLE(__HANDLE__) (RESET)
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/**
* @brief Verification of condition for ADC start conversion: ADC must be in non-multimode, or multimode with handle of ADC master (applicable for devices with several ADCs)
* @param __HANDLE__: ADC handle
* @retval None
*/
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
#define ADC_NONMULTIMODE_OR_MULTIMODEMASTER(__HANDLE__) (((((__HANDLE__)->Instance) == ADC2)) ? ((ADC1->CR1 & ADC_CR1_DUALMOD) == RESET) : (!RESET))
#else
#define ADC_NONMULTIMODE_OR_MULTIMODEMASTER(__HANDLE__) (!RESET)
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/**
* @brief Check ADC multimode setting: In case of multimode, check whether ADC master of the selected ADC has feature auto-injection enabled (applicable for devices with several ADCs)
* @param __HANDLE__: ADC handle
* @retval None
*/
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
#define ADC_MULTIMODE_AUTO_INJECTED(__HANDLE__) (((((__HANDLE__)->Instance) == ADC1) || (((__HANDLE__)->Instance) == ADC2)) ? (ADC1->CR1 & ADC_CR1_JAUTO) : (RESET))
#else
#define ADC_MULTIMODE_AUTO_INJECTED(__HANDLE__) (RESET)
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
/**
* @brief Set handle of the other ADC sharing the common multimode settings
* @param __HANDLE__: ADC handle
* @param __HANDLE_OTHER_ADC__: other ADC handle
* @retval None
*/
#define ADC_COMMON_ADC_OTHER(__HANDLE__, __HANDLE_OTHER_ADC__) ((__HANDLE_OTHER_ADC__)->Instance = ADC2)
/**
* @brief Set handle of the ADC slave associated to the ADC master
* On STM32F1 devices, ADC slave is always ADC2 (this can be different
* on other STM32 devices)
* @param __HANDLE_MASTER__: ADC master handle
* @param __HANDLE_SLAVE__: ADC slave handle
* @retval None
*/
#define ADC_MULTI_SLAVE(__HANDLE_MASTER__, __HANDLE_SLAVE__) ((__HANDLE_SLAVE__)->Instance = ADC2)
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
#define IS_ADC_INJECTED_RANK(CHANNEL) (((CHANNEL) == ADC_INJECTED_RANK_1) || ((CHANNEL) == ADC_INJECTED_RANK_2) || ((CHANNEL) == ADC_INJECTED_RANK_3) || ((CHANNEL) == ADC_INJECTED_RANK_4))
#define IS_ADC_EXTTRIGINJEC_EDGE(EDGE) (((EDGE) == ADC_EXTERNALTRIGINJECCONV_EDGE_NONE) || ((EDGE) == ADC_EXTERNALTRIGINJECCONV_EDGE_RISING))
/** @defgroup ADCEx_injected_nb_conv_verification ADCEx injected nb conv verification
* @{
*/
#define IS_ADC_INJECTED_NB_CONV(LENGTH) (((LENGTH) >= 1U) && ((LENGTH) <= 4U))
/**
* @}
*/
#if defined(STM32F100xB) || defined(STM32F100xE) || defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6) || defined(STM32F103xB) \
|| defined(STM32F105xC) || defined(STM32F107xC)
#define IS_ADC_EXTTRIG(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_TRGO) \
|| ((REGTRIG) == ADC_EXTERNALTRIGCONV_T4_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_EXT_IT11) || ((REGTRIG) == ADC_SOFTWARE_START))
#endif
#if defined(STM32F101xE)
#define IS_ADC_EXTTRIG(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_TRGO) \
|| ((REGTRIG) == ADC_EXTERNALTRIGCONV_T4_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_EXT_IT11) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T8_TRGO) || ((REGTRIG) == ADC_SOFTWARE_START))
#endif
#if defined(STM32F101xG)
#define IS_ADC_EXTTRIG(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_TRGO) \
|| ((REGTRIG) == ADC_EXTERNALTRIGCONV_T4_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_EXT_IT11) || ((REGTRIG) == ADC_SOFTWARE_START))
#endif
#if defined(STM32F103xE) || defined(STM32F103xG)
#define IS_ADC_EXTTRIG(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_TRGO) \
|| ((REGTRIG) == ADC_EXTERNALTRIGCONV_T4_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_EXT_IT11) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T3_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T2_CC3) \
|| ((REGTRIG) == ADC_EXTERNALTRIGCONV_T8_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T5_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T5_CC3) || ((REGTRIG) == ADC_EXTERNALTRIGCONV_T1_CC3) \
|| ((REGTRIG) == ADC_EXTERNALTRIGCONV_T8_TRGO) || ((REGTRIG) == ADC_SOFTWARE_START))
#endif
#if defined(STM32F100xB) || defined(STM32F100xE) || defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6) || defined(STM32F103xB) \
|| defined(STM32F105xC) || defined(STM32F107xC)
#define IS_ADC_EXTTRIGINJEC(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T3_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T4_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_EXT_IT15) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_TRGO) || ((REGTRIG) == ADC_INJECTED_SOFTWARE_START))
#endif
#if defined(STM32F101xE)
#define IS_ADC_EXTTRIGINJEC(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T3_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T4_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_EXT_IT15) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T8_CC4) || ((REGTRIG) == ADC_INJECTED_SOFTWARE_START))
#endif
#if defined(STM32F101xG)
#define IS_ADC_EXTTRIGINJEC(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T3_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T4_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_EXT_IT15) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_TRGO) || ((REGTRIG) == ADC_INJECTED_SOFTWARE_START))
#endif
#if defined(STM32F103xE) || defined(STM32F103xG)
#define IS_ADC_EXTTRIGINJEC(REGTRIG) \
(((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T2_CC1) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T3_CC4) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T4_TRGO) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T5_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_EXT_IT15) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T4_CC3) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T8_CC2) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T5_TRGO) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T5_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_CC4) || ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T1_TRGO) \
|| ((REGTRIG) == ADC_EXTERNALTRIGINJECCONV_T8_CC4) || ((REGTRIG) == ADC_INJECTED_SOFTWARE_START))
#endif
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
#define IS_ADC_MODE(MODE) \
(((MODE) == ADC_MODE_INDEPENDENT) || ((MODE) == ADC_DUALMODE_REGSIMULT_INJECSIMULT) || ((MODE) == ADC_DUALMODE_REGSIMULT_ALTERTRIG) || ((MODE) == ADC_DUALMODE_INJECSIMULT_INTERLFAST) \
|| ((MODE) == ADC_DUALMODE_INJECSIMULT_INTERLSLOW) || ((MODE) == ADC_DUALMODE_INJECSIMULT) || ((MODE) == ADC_DUALMODE_REGSIMULT) || ((MODE) == ADC_DUALMODE_INTERLFAST) \
|| ((MODE) == ADC_DUALMODE_INTERLSLOW) || ((MODE) == ADC_DUALMODE_ALTERTRIG))
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/**
* @}
*/
/* Exported functions --------------------------------------------------------*/
/** @addtogroup ADCEx_Exported_Functions
* @{
*/
/* IO operation functions *****************************************************/
/** @addtogroup ADCEx_Exported_Functions_Group1
* @{
*/
/* ADC calibration */
HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef *hadc);
/* Blocking mode: Polling */
HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADCEx_InjectedStop(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADCEx_InjectedPollForConversion(ADC_HandleTypeDef *hadc, uint32_t Timeout);
/* Non-blocking mode: Interruption */
HAL_StatusTypeDef HAL_ADCEx_InjectedStart_IT(ADC_HandleTypeDef *hadc);
HAL_StatusTypeDef HAL_ADCEx_InjectedStop_IT(ADC_HandleTypeDef *hadc);
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
/* ADC multimode */
HAL_StatusTypeDef HAL_ADCEx_MultiModeStart_DMA(ADC_HandleTypeDef *hadc, uint32_t *pData, uint32_t Length);
HAL_StatusTypeDef HAL_ADCEx_MultiModeStop_DMA(ADC_HandleTypeDef *hadc);
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/* ADC retrieve conversion value intended to be used with polling or interruption */
uint32_t HAL_ADCEx_InjectedGetValue(ADC_HandleTypeDef *hadc, uint32_t InjectedRank);
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
uint32_t HAL_ADCEx_MultiModeGetValue(ADC_HandleTypeDef *hadc);
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/* ADC IRQHandler and Callbacks used in non-blocking modes (Interruption) */
void HAL_ADCEx_InjectedConvCpltCallback(ADC_HandleTypeDef *hadc);
/**
* @}
*/
/* Peripheral Control functions ***********************************************/
/** @addtogroup ADCEx_Exported_Functions_Group2
* @{
*/
HAL_StatusTypeDef HAL_ADCEx_InjectedConfigChannel(ADC_HandleTypeDef *hadc, ADC_InjectionConfTypeDef *sConfigInjected);
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F105xC) || defined(STM32F107xC) || defined(STM32F103xE) || defined(STM32F103xG)
HAL_StatusTypeDef HAL_ADCEx_MultiModeConfigChannel(ADC_HandleTypeDef *hadc, ADC_MultiModeTypeDef *multimode);
#endif /* defined STM32F103x6 || defined STM32F103xB || defined STM32F105xC || defined STM32F107xC || defined STM32F103xE || defined STM32F103xG */
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* __STM32F1xx_HAL_ADC_EX_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -0,0 +1,372 @@
/**
******************************************************************************
* @file stm32f1xx_hal_cortex.h
* @author MCD Application Team
* @brief Header file of CORTEX HAL module.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_CORTEX_H
#define __STM32F1xx_HAL_CORTEX_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal_def.h"
/** @addtogroup STM32F1xx_HAL_Driver
* @{
*/
/** @addtogroup CORTEX
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup CORTEX_Exported_Types Cortex Exported Types
* @{
*/
#if (__MPU_PRESENT == 1U)
/** @defgroup CORTEX_MPU_Region_Initialization_Structure_definition MPU Region Initialization Structure Definition
* @brief MPU Region initialization structure
* @{
*/
typedef struct {
uint8_t Enable; /*!< Specifies the status of the region.
This parameter can be a value of @ref CORTEX_MPU_Region_Enable */
uint8_t Number; /*!< Specifies the number of the region to protect.
This parameter can be a value of @ref CORTEX_MPU_Region_Number */
uint32_t BaseAddress; /*!< Specifies the base address of the region to protect. */
uint8_t Size; /*!< Specifies the size of the region to protect.
This parameter can be a value of @ref CORTEX_MPU_Region_Size */
uint8_t SubRegionDisable; /*!< Specifies the number of the subregion protection to disable.
This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF */
uint8_t TypeExtField; /*!< Specifies the TEX field level.
This parameter can be a value of @ref CORTEX_MPU_TEX_Levels */
uint8_t AccessPermission; /*!< Specifies the region access permission type.
This parameter can be a value of @ref CORTEX_MPU_Region_Permission_Attributes */
uint8_t DisableExec; /*!< Specifies the instruction access status.
This parameter can be a value of @ref CORTEX_MPU_Instruction_Access */
uint8_t IsShareable; /*!< Specifies the shareability status of the protected region.
This parameter can be a value of @ref CORTEX_MPU_Access_Shareable */
uint8_t IsCacheable; /*!< Specifies the cacheable status of the region protected.
This parameter can be a value of @ref CORTEX_MPU_Access_Cacheable */
uint8_t IsBufferable; /*!< Specifies the bufferable status of the protected region.
This parameter can be a value of @ref CORTEX_MPU_Access_Bufferable */
} MPU_Region_InitTypeDef;
/**
* @}
*/
#endif /* __MPU_PRESENT */
/**
* @}
*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup CORTEX_Exported_Constants CORTEX Exported Constants
* @{
*/
/** @defgroup CORTEX_Preemption_Priority_Group CORTEX Preemption Priority Group
* @{
*/
#define NVIC_PRIORITYGROUP_0 \
0x00000007U /*!< 0 bits for pre-emption priority \
4 bits for subpriority */
#define NVIC_PRIORITYGROUP_1 \
0x00000006U /*!< 1 bits for pre-emption priority \
3 bits for subpriority */
#define NVIC_PRIORITYGROUP_2 \
0x00000005U /*!< 2 bits for pre-emption priority \
2 bits for subpriority */
#define NVIC_PRIORITYGROUP_3 \
0x00000004U /*!< 3 bits for pre-emption priority \
1 bits for subpriority */
#define NVIC_PRIORITYGROUP_4 \
0x00000003U /*!< 4 bits for pre-emption priority \
0 bits for subpriority */
/**
* @}
*/
/** @defgroup CORTEX_SysTick_clock_source CORTEX _SysTick clock source
* @{
*/
#define SYSTICK_CLKSOURCE_HCLK_DIV8 0x00000000U
#define SYSTICK_CLKSOURCE_HCLK 0x00000004U
/**
* @}
*/
#if (__MPU_PRESENT == 1)
/** @defgroup CORTEX_MPU_HFNMI_PRIVDEF_Control MPU HFNMI and PRIVILEGED Access control
* @{
*/
#define MPU_HFNMI_PRIVDEF_NONE 0x00000000U
#define MPU_HARDFAULT_NMI MPU_CTRL_HFNMIENA_Msk
#define MPU_PRIVILEGED_DEFAULT MPU_CTRL_PRIVDEFENA_Msk
#define MPU_HFNMI_PRIVDEF (MPU_CTRL_HFNMIENA_Msk | MPU_CTRL_PRIVDEFENA_Msk)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Region_Enable CORTEX MPU Region Enable
* @{
*/
#define MPU_REGION_ENABLE ((uint8_t)0x01)
#define MPU_REGION_DISABLE ((uint8_t)0x00)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Instruction_Access CORTEX MPU Instruction Access
* @{
*/
#define MPU_INSTRUCTION_ACCESS_ENABLE ((uint8_t)0x00)
#define MPU_INSTRUCTION_ACCESS_DISABLE ((uint8_t)0x01)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Access_Shareable CORTEX MPU Instruction Access Shareable
* @{
*/
#define MPU_ACCESS_SHAREABLE ((uint8_t)0x01)
#define MPU_ACCESS_NOT_SHAREABLE ((uint8_t)0x00)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Access_Cacheable CORTEX MPU Instruction Access Cacheable
* @{
*/
#define MPU_ACCESS_CACHEABLE ((uint8_t)0x01)
#define MPU_ACCESS_NOT_CACHEABLE ((uint8_t)0x00)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Access_Bufferable CORTEX MPU Instruction Access Bufferable
* @{
*/
#define MPU_ACCESS_BUFFERABLE ((uint8_t)0x01)
#define MPU_ACCESS_NOT_BUFFERABLE ((uint8_t)0x00)
/**
* @}
*/
/** @defgroup CORTEX_MPU_TEX_Levels MPU TEX Levels
* @{
*/
#define MPU_TEX_LEVEL0 ((uint8_t)0x00)
#define MPU_TEX_LEVEL1 ((uint8_t)0x01)
#define MPU_TEX_LEVEL2 ((uint8_t)0x02)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Region_Size CORTEX MPU Region Size
* @{
*/
#define MPU_REGION_SIZE_32B ((uint8_t)0x04)
#define MPU_REGION_SIZE_64B ((uint8_t)0x05)
#define MPU_REGION_SIZE_128B ((uint8_t)0x06)
#define MPU_REGION_SIZE_256B ((uint8_t)0x07)
#define MPU_REGION_SIZE_512B ((uint8_t)0x08)
#define MPU_REGION_SIZE_1KB ((uint8_t)0x09)
#define MPU_REGION_SIZE_2KB ((uint8_t)0x0A)
#define MPU_REGION_SIZE_4KB ((uint8_t)0x0B)
#define MPU_REGION_SIZE_8KB ((uint8_t)0x0C)
#define MPU_REGION_SIZE_16KB ((uint8_t)0x0D)
#define MPU_REGION_SIZE_32KB ((uint8_t)0x0E)
#define MPU_REGION_SIZE_64KB ((uint8_t)0x0F)
#define MPU_REGION_SIZE_128KB ((uint8_t)0x10)
#define MPU_REGION_SIZE_256KB ((uint8_t)0x11)
#define MPU_REGION_SIZE_512KB ((uint8_t)0x12)
#define MPU_REGION_SIZE_1MB ((uint8_t)0x13)
#define MPU_REGION_SIZE_2MB ((uint8_t)0x14)
#define MPU_REGION_SIZE_4MB ((uint8_t)0x15)
#define MPU_REGION_SIZE_8MB ((uint8_t)0x16)
#define MPU_REGION_SIZE_16MB ((uint8_t)0x17)
#define MPU_REGION_SIZE_32MB ((uint8_t)0x18)
#define MPU_REGION_SIZE_64MB ((uint8_t)0x19)
#define MPU_REGION_SIZE_128MB ((uint8_t)0x1A)
#define MPU_REGION_SIZE_256MB ((uint8_t)0x1B)
#define MPU_REGION_SIZE_512MB ((uint8_t)0x1C)
#define MPU_REGION_SIZE_1GB ((uint8_t)0x1D)
#define MPU_REGION_SIZE_2GB ((uint8_t)0x1E)
#define MPU_REGION_SIZE_4GB ((uint8_t)0x1F)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Region_Permission_Attributes CORTEX MPU Region Permission Attributes
* @{
*/
#define MPU_REGION_NO_ACCESS ((uint8_t)0x00)
#define MPU_REGION_PRIV_RW ((uint8_t)0x01)
#define MPU_REGION_PRIV_RW_URO ((uint8_t)0x02)
#define MPU_REGION_FULL_ACCESS ((uint8_t)0x03)
#define MPU_REGION_PRIV_RO ((uint8_t)0x05)
#define MPU_REGION_PRIV_RO_URO ((uint8_t)0x06)
/**
* @}
*/
/** @defgroup CORTEX_MPU_Region_Number CORTEX MPU Region Number
* @{
*/
#define MPU_REGION_NUMBER0 ((uint8_t)0x00)
#define MPU_REGION_NUMBER1 ((uint8_t)0x01)
#define MPU_REGION_NUMBER2 ((uint8_t)0x02)
#define MPU_REGION_NUMBER3 ((uint8_t)0x03)
#define MPU_REGION_NUMBER4 ((uint8_t)0x04)
#define MPU_REGION_NUMBER5 ((uint8_t)0x05)
#define MPU_REGION_NUMBER6 ((uint8_t)0x06)
#define MPU_REGION_NUMBER7 ((uint8_t)0x07)
/**
* @}
*/
#endif /* __MPU_PRESENT */
/**
* @}
*/
/* Exported Macros -----------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @addtogroup CORTEX_Exported_Functions
* @{
*/
/** @addtogroup CORTEX_Exported_Functions_Group1
* @{
*/
/* Initialization and de-initialization functions *****************************/
void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup);
void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority);
void HAL_NVIC_EnableIRQ(IRQn_Type IRQn);
void HAL_NVIC_DisableIRQ(IRQn_Type IRQn);
void HAL_NVIC_SystemReset(void);
uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb);
/**
* @}
*/
/** @addtogroup CORTEX_Exported_Functions_Group2
* @{
*/
/* Peripheral Control functions ***********************************************/
uint32_t HAL_NVIC_GetPriorityGrouping(void);
void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint32_t *pSubPriority);
uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn);
void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn);
void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn);
uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn);
void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource);
void HAL_SYSTICK_IRQHandler(void);
void HAL_SYSTICK_Callback(void);
#if (__MPU_PRESENT == 1U)
void HAL_MPU_Enable(uint32_t MPU_Control);
void HAL_MPU_Disable(void);
void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init);
#endif /* __MPU_PRESENT */
/**
* @}
*/
/**
* @}
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup CORTEX_Private_Macros CORTEX Private Macros
* @{
*/
#define IS_NVIC_PRIORITY_GROUP(GROUP) \
(((GROUP) == NVIC_PRIORITYGROUP_0) || ((GROUP) == NVIC_PRIORITYGROUP_1) || ((GROUP) == NVIC_PRIORITYGROUP_2) || ((GROUP) == NVIC_PRIORITYGROUP_3) || ((GROUP) == NVIC_PRIORITYGROUP_4))
#define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY) ((PRIORITY) < 0x10U)
#define IS_NVIC_SUB_PRIORITY(PRIORITY) ((PRIORITY) < 0x10U)
#define IS_NVIC_DEVICE_IRQ(IRQ) ((IRQ) >= (IRQn_Type)0x00U)
#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SYSTICK_CLKSOURCE_HCLK) || ((SOURCE) == SYSTICK_CLKSOURCE_HCLK_DIV8))
#if (__MPU_PRESENT == 1U)
#define IS_MPU_REGION_ENABLE(STATE) (((STATE) == MPU_REGION_ENABLE) || ((STATE) == MPU_REGION_DISABLE))
#define IS_MPU_INSTRUCTION_ACCESS(STATE) (((STATE) == MPU_INSTRUCTION_ACCESS_ENABLE) || ((STATE) == MPU_INSTRUCTION_ACCESS_DISABLE))
#define IS_MPU_ACCESS_SHAREABLE(STATE) (((STATE) == MPU_ACCESS_SHAREABLE) || ((STATE) == MPU_ACCESS_NOT_SHAREABLE))
#define IS_MPU_ACCESS_CACHEABLE(STATE) (((STATE) == MPU_ACCESS_CACHEABLE) || ((STATE) == MPU_ACCESS_NOT_CACHEABLE))
#define IS_MPU_ACCESS_BUFFERABLE(STATE) (((STATE) == MPU_ACCESS_BUFFERABLE) || ((STATE) == MPU_ACCESS_NOT_BUFFERABLE))
#define IS_MPU_TEX_LEVEL(TYPE) (((TYPE) == MPU_TEX_LEVEL0) || ((TYPE) == MPU_TEX_LEVEL1) || ((TYPE) == MPU_TEX_LEVEL2))
#define IS_MPU_REGION_PERMISSION_ATTRIBUTE(TYPE) \
(((TYPE) == MPU_REGION_NO_ACCESS) || ((TYPE) == MPU_REGION_PRIV_RW) || ((TYPE) == MPU_REGION_PRIV_RW_URO) || ((TYPE) == MPU_REGION_FULL_ACCESS) || ((TYPE) == MPU_REGION_PRIV_RO) \
|| ((TYPE) == MPU_REGION_PRIV_RO_URO))
#define IS_MPU_REGION_NUMBER(NUMBER) \
(((NUMBER) == MPU_REGION_NUMBER0) || ((NUMBER) == MPU_REGION_NUMBER1) || ((NUMBER) == MPU_REGION_NUMBER2) || ((NUMBER) == MPU_REGION_NUMBER3) || ((NUMBER) == MPU_REGION_NUMBER4) \
|| ((NUMBER) == MPU_REGION_NUMBER5) || ((NUMBER) == MPU_REGION_NUMBER6) || ((NUMBER) == MPU_REGION_NUMBER7))
#define IS_MPU_REGION_SIZE(SIZE) \
(((SIZE) == MPU_REGION_SIZE_32B) || ((SIZE) == MPU_REGION_SIZE_64B) || ((SIZE) == MPU_REGION_SIZE_128B) || ((SIZE) == MPU_REGION_SIZE_256B) || ((SIZE) == MPU_REGION_SIZE_512B) \
|| ((SIZE) == MPU_REGION_SIZE_1KB) || ((SIZE) == MPU_REGION_SIZE_2KB) || ((SIZE) == MPU_REGION_SIZE_4KB) || ((SIZE) == MPU_REGION_SIZE_8KB) || ((SIZE) == MPU_REGION_SIZE_16KB) \
|| ((SIZE) == MPU_REGION_SIZE_32KB) || ((SIZE) == MPU_REGION_SIZE_64KB) || ((SIZE) == MPU_REGION_SIZE_128KB) || ((SIZE) == MPU_REGION_SIZE_256KB) || ((SIZE) == MPU_REGION_SIZE_512KB) \
|| ((SIZE) == MPU_REGION_SIZE_1MB) || ((SIZE) == MPU_REGION_SIZE_2MB) || ((SIZE) == MPU_REGION_SIZE_4MB) || ((SIZE) == MPU_REGION_SIZE_8MB) || ((SIZE) == MPU_REGION_SIZE_16MB) \
|| ((SIZE) == MPU_REGION_SIZE_32MB) || ((SIZE) == MPU_REGION_SIZE_64MB) || ((SIZE) == MPU_REGION_SIZE_128MB) || ((SIZE) == MPU_REGION_SIZE_256MB) || ((SIZE) == MPU_REGION_SIZE_512MB) \
|| ((SIZE) == MPU_REGION_SIZE_1GB) || ((SIZE) == MPU_REGION_SIZE_2GB) || ((SIZE) == MPU_REGION_SIZE_4GB))
#define IS_MPU_SUB_REGION_DISABLE(SUBREGION) ((SUBREGION) < (uint16_t)0x00FF)
#endif /* __MPU_PRESENT */
/**
* @}
*/
/* Private functions ---------------------------------------------------------*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* __STM32F1xx_HAL_CORTEX_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

Some files were not shown because too many files have changed in this diff Show More