Compare commits

..

1 Commits

387 changed files with 36843 additions and 20821 deletions

View File

@@ -1,3 +1,4 @@
name: Docs name: Docs
# Controls when the workflow will run # Controls when the workflow will run
@@ -9,11 +10,13 @@ on:
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
# Allow one concurrent deployment # Allow one concurrent deployment
concurrency: concurrency:
group: "pages" group: "pages"
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
deploy-docs: deploy-docs:
# The type of runner that the job will run on # The type of runner that the job will run on
@@ -24,15 +27,13 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: actions/setup-python@v5 - uses: actions/setup-python@v5
with:
python-version: '3.12.3'
- run: | - run: |
pip install --upgrade pip && pip install --upgrade pip &&
pip install mkdocs mkdocs-gen-files pymdown-extensions \ pip install mkdocs mkdocs-gen-files pymdown-extensions \
mkdocs-git-revision-date-plugin mkdocs-autolinks-plugin \ mkdocs-git-revision-date-plugin mkdocs-autolinks-plugin \
mkdocs-awesome-pages-plugin mkdocs-awesome-pages-plugin
- run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com' - run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
- name: Publish docs - name: Publish docs

View File

@@ -1,12 +1,6 @@
name: CI name: CI
on: on: [push, pull_request]
push:
pull_request:
branches:
- master
- dev
- main
jobs: jobs:
build: build:
@@ -24,9 +18,6 @@ jobs:
"MHP30", "MHP30",
"Pinecilv2", "Pinecilv2",
"S60", "S60",
"S60P",
"T55",
"S99",
"TS101", "TS101",
] ]
fail-fast: true fail-fast: true
@@ -70,6 +61,7 @@ jobs:
source/Hexfile/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
if-no-files-found: error if-no-files-found: error
build_multi-lang: build_multi-lang:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: container:
@@ -96,7 +88,7 @@ jobs:
run: echo "GITHUB_CI_PR_SHA=${{github.event.pull_request.head.sha}}" >> "${GITHUB_ENV}" run: echo "GITHUB_CI_PR_SHA=${{github.event.pull_request.head.sha}}" >> "${GITHUB_ENV}"
- name: Build ${{ matrix.model }} - name: Build ${{ matrix.model }}
run: make -C source/ -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Belorussian+Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese run: make -C source/ -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese
- name: Copy license files - name: Copy license files
run: cp LICENSE scripts/LICENSE_RELEASE.md source/Hexfile/ run: cp LICENSE scripts/LICENSE_RELEASE.md source/Hexfile/
@@ -117,6 +109,7 @@ jobs:
source/Hexfile/LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
if-no-files-found: error if-no-files-found: error
upload_metadata: upload_metadata:
needs: [build, build_multi-lang] needs: [build, build_multi-lang]
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
@@ -136,6 +129,7 @@ jobs:
path: source/Hexfile/*.json path: source/Hexfile/*.json
if-no-files-found: error if-no-files-found: error
tests: tests:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: container:
@@ -209,23 +203,18 @@ jobs:
exclude: "./.git/*" # Optional. exclude: "./.git/*" # Optional.
check_all_files_with_shebangs: "false" # Optional. check_all_files_with_shebangs: "false" # Optional.
check_docs: check_readme:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: container:
image: alpine:3.19 image: alpine:3.19
steps: steps:
- name: Install dependencies (apk) - name: Install dependencies (apk)
run: apk add --no-cache git bash grep run: apk add --no-cache git
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
submodules: true submodules: true
fetch-tags: true
fetch-depth: 0
- name: Git ownership exception - name: Check autogenerated Documentation/README.md
run: git config --global --add safe.directory /__w/IronOS/IronOS && git config --global safe.directory "$GITHUB_WORKSPACE" run: /bin/sh ./scripts/deploy.sh docs_readme
- name: Check and verify documentation
run: ./scripts/deploy.sh docs

1
.gitignore vendored
View File

@@ -215,4 +215,3 @@ Logo GUI/TS100 Logo Editor/TS100 Logo Editor/bin/
# Tests/linters/sanitizers # Tests/linters/sanitizers
source/check-style.log source/check-style.log
.ash_history

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -40,9 +40,9 @@ I.e.:
**Additional scroll-able items appear in this order**: **Additional scroll-able items appear in this order**:
### Timestamp ### Date
- This is a timestamp of firmware compilation and it has the following format: `YYYYMMDD HHMMSS` (i.e., `20230701 213456` means it has been built in July, 1st, 2023 at 9:34:56 pm) - This is a date of firmware compilation and it has the following format: `DD-MM-YY` (i.e., `01-07-23` means it has been built in July, 1st, 2023)
### ID ### ID
@@ -104,7 +104,7 @@ This can be used for checking performance of the movement detection code.
This indicates the tip resistance that the device is currently using. For devices with multiple possible values to choose from (Pinecil V2), the appropriate value is automatically detected at every boot-up. Tip should be installed before boot-up or reading can not be done. This indicates the tip resistance that the device is currently using. For devices with multiple possible values to choose from (Pinecil V2), the appropriate value is automatically detected at every boot-up. Tip should be installed before boot-up or reading can not be done.
### Tip uV ### Tip R
This is the raw tip reading in μV. Tip must be installed or reading will be high/inaccurate. At cool, the range of 700-1000 is normal for larger tips and ~1500 for smaller tips (TS80). This is used to evaluate the calibration routines. This is the raw tip reading in μV. Tip must be installed or reading will be high/inaccurate. At cool, the range of 700-1000 is normal for larger tips and ~1500 for smaller tips (TS80). This is used to evaluate the calibration routines.

View File

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

View File

@@ -39,8 +39,6 @@ Officially the bootloader on the devices only works under Windows (use the built
7. If it didn't work the first time, try copying the file again without disconnecting the device, often it will work on the second shot. 7. If it didn't work the first time, try copying the file again without disconnecting the device, often it will work on the second shot.
8. Disconnect the USB and power up the device. You're good to go. 8. Disconnect the USB and power up the device. You're good to go.
If you get a message when copying: "Are you sure you want to move this file without its properties?" then this can cause an issue where the iron thinks that the file has finished copying before it actually has and can cause a .ERR file. Since this dialog prompt is caused by copying a file from NTFS to FAT (the iron's filesystem) in windows, you can fix this by formatting a thumbdrive as FAT32 and then storing the hex file on that before copying the file to the iron. As there will be no NTFS properties on the file when stored on a FAT32 filesystem, there will be no prompt, and the copy will then proceed normally.
For the more adventurous out there, you can also load this firmware onto the device using an SWD programmer, for easier installation follow the guide at the end of this document. For the more adventurous out there, you can also load this firmware onto the device using an SWD programmer, for easier installation follow the guide at the end of this document.
On the USB port, `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 [IronOS-dfu](https://github.com/Ralim/IronOS-dfu) is recommended as it allows reliable flashing of binary files with [dfu-util](http://dfu-util.sourceforge.net/). On the USB port, `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 [IronOS-dfu](https://github.com/Ralim/IronOS-dfu) is recommended as it allows reliable flashing of binary files with [dfu-util](http://dfu-util.sourceforge.net/).

View File

@@ -9,7 +9,7 @@ If your device did not come with IronOS already installed, or if you need to upd
- [TS80 / TS80P](https://ralim.github.io/IronOS/Flashing/TS80%28P%29/) - [TS80 / TS80P](https://ralim.github.io/IronOS/Flashing/TS80%28P%29/)
- [TS100](https://ralim.github.io/IronOS/Flashing/TS100) - [TS100](https://ralim.github.io/IronOS/Flashing/TS100)
It is recommended to update to the newest stable release when you first receive your device to ensure you are up to date. It is recommended to update to the newest stable release.
Once your Iron has been flashed, on 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. _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.

View File

@@ -2,11 +2,11 @@
## Sleep Mode Menu ## Sleep Mode Menu
In sleep mode, the iron automatically lowers the temperature to 150°C (default). This default setting was chosen as it is just below the melting point of a wide range of solders. A lower standby temperature helps reduce the oxidation rate and prevent damage to the soldering tips. As a general rule, when not in use, unplug the unit or let it go into sleep mode to extend the life of the replaceable tips. The default sleep temperature can be adjusted to your preference. In Sleep mode, the iron automatically lowers the temperature to 150 °C (default). This default was chosen as it is just below the melting point of many solders. A stand-by lower temperature helps reduce the rate of oxidation and prevents damage to iron tips. In general, when not using the iron, unplug it or let it sleep to increase the longevity of replaceable tips. The default sleep temperature can be customized.
Simply moving the iron or pressing any button will wake it back up into soldering mode. The sensitivity is adjustable. It is recommended to adjust this to suit your environment so that it reliably stays in sleep mode when not in use, but does not go into sleep mode when in use. (This may vary depending on the amount of movement during soldering.) Simply moving the iron or pressing any button will wake it back up into soldering mode.
### Optional Hall Effect Feature (Pinecil (v1/v2) only): ### Optional Hall Effect Feature (Pinecil only):
Inside the [Sleep Menu](https://ralim.github.io/IronOS/Settings/#setting-sleep-temp) is an additional type of sleep setting. Pinecil has an unpopulated footprint (**U14**) for a hall effect sensor, Silicon Labs **Si7210-B-00-IV**. After installing the hall effect sensor (HES), it is possible to auto-trigger Pinecil to enter sleep mode when it enters the stand, and _Zzzz_ will appear (or text in detailed mode). This could be a fun enhancement for any Pinecil and adds a feature typically only found in more expensive high-end irons. The HES is available at many electronic stores for ~$2-$6. Inside the [Sleep Menu](https://ralim.github.io/IronOS/Settings/#setting-sleep-temp) is an additional type of sleep setting. Pinecil has an unpopulated footprint (**U14**) for a hall effect sensor, Silicon Labs **Si7210-B-00-IV**. After installing the hall effect sensor (HES), it is possible to auto-trigger Pinecil to enter sleep mode when it enters the stand, and _Zzzz_ will appear (or text in detailed mode). This could be a fun enhancement for any Pinecil and adds a feature typically only found in more expensive high-end irons. The HES is available at many electronic stores for ~$2-$6.

View File

@@ -1,30 +1,9 @@
## Notes on the various supported hardware ## Notes on the various supported hardware
Below are short summaries / notes around the hardware. This is not an in-depth comparison of the features of the units. Please do your own research before purchasing.
Due to descisions out of our control, Miniware no longer provides source-code/schematics/support for any open source firmware on their devices. This does mean that only (TS100/TS80/TS80P) are "open" to any extent. TS80P is pushing that as it was never open at all but just happens to be very close to the TS80. While this generally shouldn't affect the performance of the device, it does mean that their newer products can be slow to be supported or some issues are harder to resolve.
Sequre has so far been supportive of the S60 by providing schematics.
The Pine64 units (Pinecil) are schematics-available (i.e you can download them on the Pine64 Wiki). They are currently the only vendor that has provided financial support of the project. They are also the only vendor that allows contact directly to the engineering teams for hardware issues. This results in generally better support for these devices. It does **not** mean that this firmware is designed around them, but it does help however that they are designed with this firmware in mind as Ralim talks to them. Where possible features are designed to work across all devices but the time for support may vary depending on the hardware and its quirks.
## A quick note on power supplies
For all devices listed **except** the MHP30:
These soldering irons do *NOT* contain DC/DC converters.
This means that your power at the tip is a function of the supplied voltage. Just because the iron "supports" running at a wide range of voltages, you should always use a voltage near the upper limit where possible.
It is highly recommended to use a PD adapter where possible as this allows the iron to _know_ the limitations of your supply.
The marked irons can only turn the tip on and off in software, this means that they can't control the maximum power drawn from the supply. This is why when using PD the iron may select a lower voltage than your power supplies maximum. This is to prevent your power supply failing from over current. For more information about power management underhood, please, [see the related documentation section](https://ralim.github.io/IronOS/Power/).
For the MHP30, it contains a buck DC/DC, which means it can utilise most power supplies fairly well, but you should still aim for highest voltage that is reasonable to use.
### TS100 ### TS100
The TS100 was the first supported soldering iron, and is generally a very capable device. TS100\* is a neat soldering iron:
Its now generally not reccomended to buy new as other devices have all of its features and more, and can often be the same price or cheaper. It's still fully supported though, nothing will be taken away from it.
- can run from 9-25V DC; - can run from 9-25V DC;
- provides a power range that is determined by the input voltage; - provides a power range that is determined by the input voltage;
@@ -33,32 +12,23 @@ Its now generally not reccomended to buy new as other devices have all of its fe
![](https://brushlesswhoop.com/images/ts100-og.jpg) ![](https://brushlesswhoop.com/images/ts100-og.jpg)
### TS101
The TS101 is the direct replacement of the TS100 with the same tip compatibility.
It adds a spring pressure tip holding mechanism instead of using a screw so tips are easier to swap on the fly (But are held less securely and can pull out depending on the use case). It adds USB-C PD support and the hardware is compatible with 28V EPR power supplies (under both IronOS and official firmware).
It unfortunately uses an STM32 clone MCU with quirks, so performance of the screen isn't as good as it could be but its perfectly usable. The bootloader for programming is the biggest weakness of this device and programming can be a pain. Fortunately, IronOS is relatively stable feature wise, so you shouldn't need to update the device often.
The Miniware bootup logo is burned into their bootloader, so IronOS cant remove this. IronOS can show your own logo when it starts however. There are quirks to loading a logo on this device, so be sure to read the documentation if you are coming from other devices.
### TS80 ### TS80
TS80 is a successor to TS100, it moves to custom smaller tips that perform better at lower wattages. It is optimised for a 9V/2A Quick Charge 3.0 power supply. This is commonly found on older power banks on the USB-A port. TS80\* is a successor to TS100:
It does **not** support USB-PD and will not work when powered from a USB-C power supply in most cases.
- uses _Quick Charge 3.0_ / _QC3_ capable charger only (18W max); - uses _Quick Charge 3.0_ / _QC3_ capable charger only (18W max);
- doesn't support PD as it is not designed on the hardware level; - doesn't support PD as it is not designed on the hardware level;
- the original firmware can be found [here](https://e-design.com.cn/en/NewsDetail/4203645.html)([mirror backup](https://github.com/Ralim/IronOS-Meta/tree/main/Firmware/Miniware)). - the original firmware can be found [here](https://e-design.com.cn/en/NewsDetail/4203645.html)([mirror backup](https://github.com/Ralim/IronOS-Meta/tree/main/Firmware/Miniware)).
![Image of TS80](https://core-electronics.com.au/media/catalog/product/4/2/4244-01.jpg) ![](https://core-electronics.com.au/media/catalog/product/4/2/4244-01.jpg)
### TS80P ### TS80P
The TS80P is the direct successor to the TS80 and essentially what the TS80 should have been from its debut. It is nearly identical except it adds USB-PD support for far better compatibility with modern power banks as well as a faster tip removal method. TS80P\* is a successor to TS80:
- supports _Quick Charge 3.0_ (_QC3_: 9V/2A,12V/1.5A 18W max); - supports _Quick Charge 3.0_ (_QC3_: 9V/3A, 18W max);
- supports _Power Delivery_ (_PD_: 9V/3A & 12V/3A, 30W max)\*\*; - supports _Power Delivery_ (_PD_: 9V/3A & 12V/3A, 30W max)\*\*;
- the original firmware can be found [here](https://e-design.com.cn/en/NewsDetail/4203645.html)([mirror backup](https://github.com/Ralim/IronOS-Meta/tree/main/Firmware/Miniware)). - the original firmware can be found [here](https://e-design.com.cn/en/NewsDetail/4203645.html)([mirror backup](https://github.com/Ralim/IronOS-Meta/tree/main/Firmware/Miniware)).
@@ -80,7 +50,7 @@ MHP30 is a **M**ini **H**ot **P**late:
### Pinecil ### Pinecil
Pincecil: Pincecil\*:
- first model of soldering iron from PINE64; - first model of soldering iron from PINE64;
- the default firmware can be found [here](https://files.pine64.org/os/Pinecil/Pinecil_firmware_20201115.zip). - the default firmware can be found [here](https://files.pine64.org/os/Pinecil/Pinecil_firmware_20201115.zip).
@@ -88,3 +58,6 @@ Pincecil:
![](https://pine64.com/wp-content/uploads/2020/11/pinecil-bb2-04.jpg?v=0446c16e2e66) ![](https://pine64.com/wp-content/uploads/2020/11/pinecil-bb2-04.jpg?v=0446c16e2e66)
\*: Please note: these soldering irons do *NOT* contain DC/DC converters. This means that your power at the tip is a function of the supplied voltage. Just because the iron "supports" running at a wide range of voltages, you should always use a voltage near the upper limit where possible. It is highly recommended to use a PD adapter where possible as this allows the iron to _know_ the limitations of your supply. The marked irons can only turn the tip on and off in software, this means that they can't control the maximum power drawn from the supply. This is why when using PD the iron may select a lower voltage than your power supplies maximum. This is to prevent your power supply failing from over current. For more information about power management underhood, please, [see the related documentation section](https://ralim.github.io/IronOS/Power/).

View File

@@ -1,51 +1,7 @@
# Version Changes # Version Changes
## v2.22 # V2.21
### New Hardware Support
#### Sequre S60
The [Sequre S60](https://sequremall.com/products/sequre-s60-nano-electric-soldering-iron-support-pd-qc-power-supply-compatible-with-c210-soldering-iron-tips-precision-electronic-mobile-phone-repair-tool-anti-static-soldering-pen?variant=42361945096380) uses JBC tips, which makes it quite useful for the smaller tip types and extra options available.
#### TS101
The TS101 is the evolution of the TS100, picking up USB-PD.
It has otherwise similar tip support to the TS100/Pinecil/PinecilV2.
Absolutely massive kudos goes to @VioletEternity for her work on the reverse engineering of this. If you at all are helped by IronOS running on this device more credit goes to her than to I. Also big thanks to @whitequark for organising + supporting + magic.
### Features & changes
#### PinecilV2 notes
1. BLE is fixed on all devices.
2. Bootup Logo support is finalised and working.
3. Improved the tip control, improving accuracy and remove most oscillations.
#### Profile heating mode for MHP30
This lets you define a heat profile and run this profile akin to a proper reflow device.
This can be used on the MHP30 by long-holding the A button (aka start button).
Profile can be edited in settings.
#### Note on newer OLED's
To prevent this release being held up forever, the TS101 and S60 are being released with a limitation on the OLED screen.
The current code will only draw to the upper left corner of the screen.
Assets have been made for rendering this at full size, but the code is not complete yet.
#### Smaller updates
- Filtering added to MHP tilt-exit to make it less sensitive
- Warning if a tip is detected to be shorted (TS101 + PinecilV2)
- Translation updates ❤️
- Documentation updates
- Lots of tooling and code cleanups
## v2.21
### Features & changes ### Features & changes
@@ -64,7 +20,7 @@ Alternatively you can use Spagett1's PineFlash tool that should provide a GUI in
For a small number of V2 Pinecil devices there appears to be an interference issue between the Bluetooth Low Energy and some devices; more information here. If this occurs to you, please let us know in the issue and rollback to 2.20 for now. For a small number of V2 Pinecil devices there appears to be an interference issue between the Bluetooth Low Energy and some devices; more information here. If this occurs to you, please let us know in the issue and rollback to 2.20 for now.
## v2.20 # V2.20
- First "full" release for PinecilV2 - First "full" release for PinecilV2
- Loots of documentation updates - Loots of documentation updates
@@ -73,7 +29,7 @@ For a small number of V2 Pinecil devices there appears to be an interference iss
- Cold Junction Calibration was reworked and now occurs _at next boot_ to make it easier to perform when the device is cold - Cold Junction Calibration was reworked and now occurs _at next boot_ to make it easier to perform when the device is cold
## v2.19 # V2.19
- Bug-fix Infinite Boot Logo - Bug-fix Infinite Boot Logo
- Shutdown settings for MHP30 - Shutdown settings for MHP30
@@ -84,7 +40,7 @@ For a small number of V2 Pinecil devices there appears to be an interference iss
- Improved documents, added features table - Improved documents, added features table
## v2.18 # V2.18
- Support for animated bootup logo's - Support for animated bootup logo's
- Bootup logo's moved to their own IronOS-Meta repo - Bootup logo's moved to their own IronOS-Meta repo
@@ -94,7 +50,7 @@ For a small number of V2 Pinecil devices there appears to be an interference iss
- Better Instructions/documents - Better Instructions/documents
## v2.17 # V2.17
### Features & changes ### Features & changes
@@ -122,7 +78,7 @@ For a small number of V2 Pinecil devices there appears to be an interference iss
- -> Release has been updated to build `e065be3` after one bug with the BMA223 was found. - -> Release has been updated to build `e065be3` after one bug with the BMA223 was found.
## v2.16 # V2.16
- Overhaul of the Timer+ADC setup with help from @sandmanRO - Overhaul of the Timer+ADC setup with help from @sandmanRO
- Overhaul of the PID with help from @sandmanRO - Overhaul of the PID with help from @sandmanRO
@@ -140,7 +96,7 @@ For a small number of V2 Pinecil devices there appears to be an interference iss
- Romanian language added - Romanian language added
## v2.15 # V2.15
### Features & changes ### Features & changes
@@ -165,7 +121,7 @@ Programs the same as any one Miniware unit using drag and drop.
The flood doors are now open for feature requests for this unit :) The flood doors are now open for feature requests for this unit :)
## v2.14 # V2.14
- Fixing auto rotation bug in the LIS accelerometer in the TS80/TS80P - Fixing auto rotation bug in the LIS accelerometer in the TS80/TS80P
- Adds support for two new accelerometers - Adds support for two new accelerometers
@@ -183,7 +139,7 @@ The flood doors are now open for feature requests for this unit :)
- clang-format spec setup #801 - clang-format spec setup #801
## v2.13 # V2.13
- First _official_ Pinecil release - First _official_ Pinecil release
- All of the wire for Pinecil releases added - All of the wire for Pinecil releases added
@@ -201,7 +157,7 @@ The flood doors are now open for feature requests for this unit :)
- Rework of all of the temperature curves for better accuracy - Rework of all of the temperature curves for better accuracy
## v2.12 # V2.12
- Only released as pre-release - Only released as pre-release
- [TS80P] Improvements to the PD negotiation to handle a few more adapters cleanly - [TS80P] Improvements to the PD negotiation to handle a few more adapters cleanly
@@ -210,21 +166,21 @@ The flood doors are now open for feature requests for this unit :)
- Removing the very old single line menu style. - Removing the very old single line menu style.
## v2.11 # V2.11
- First TS80P support - First TS80P support
- Added in a USB-PD driver stack for the FUSB302 - Added in a USB-PD driver stack for the FUSB302
- Fixed some graphical glitches - Fixed some graphical glitches
## v2.10 # V2.10
- GUI polish (animations and scroll bars) - GUI polish (animations and scroll bars)
- Power pulse to keep power supplies alive - Power pulse to keep power supplies alive
- Adjustable tip response gain - Adjustable tip response gain
## v2.09 # V2.09
- Adjustable steps in temperature adjustment - Adjustable steps in temperature adjustment
- Git hash now in build string - Git hash now in build string
@@ -232,19 +188,19 @@ The flood doors are now open for feature requests for this unit :)
- Some minor QC3 improvements - Some minor QC3 improvements
## v2.08 # V2.08
- Fixes auto start in sleep mode - Fixes auto start in sleep mode
- Power limiters - Power limiters
## v2.07 # V2.07
- QC fixes - QC fixes
- Cosmetic fixes for leading 0's - Cosmetic fixes for leading 0's
## v2.06 # V2.06
- Warning on settings reset - Warning on settings reset
- Temp temp re-write - Temp temp re-write
@@ -253,32 +209,32 @@ The flood doors are now open for feature requests for this unit :)
- Menu timeouts - Menu timeouts
## v2.05 # V2.05
- Language updates - Language updates
## v2.04 # V2.04
- GUI updates - GUI updates
## v2.03 # V2.03
- Support for new accelerometers - Support for new accelerometers
## v2.02 # V2.02
- Adds small font - Adds small font
## v2.01 # V2.01
- Newer settings menu - Newer settings menu
## v2.00 # V2.00
- Complete re-write of the low layer system to use the STM32 HAL for easier development - Complete re-write of the low layer system to use the STM32 HAL for easier development
- This allowed easier setup for the new ADC auto measuring system - This allowed easier setup for the new ADC auto measuring system
@@ -289,7 +245,7 @@ The flood doors are now open for feature requests for this unit :)
- Added smaller font for said screen views - Added smaller font for said screen views
## v1.17 # V1.17
- Added blinking cooldown display - Added blinking cooldown display
- Allowed smaller sleep timeout values - Allowed smaller sleep timeout values
@@ -297,72 +253,72 @@ The flood doors are now open for feature requests for this unit :)
- Automatic startup option - Automatic startup option
## v1.16 # V1.16
- Added automatic rotation support - Added automatic rotation support
- Added power display graph - Added power display graph
## v1.15 # V1.15
- Added support for a custom bootup logo to be programmed via the DFU bootloader - Added support for a custom bootup logo to be programmed via the DFU bootloader
## v1.14 # V1.14
- Changed input voltage cutoff to be based on cell count rather than voltage - Changed input voltage cutoff to be based on cell count rather than voltage
## v1.13 # V1.13
- Swapped buttons for menu to prevent accidentally changing first menu item - Swapped buttons for menu to prevent accidentally changing first menu item
- Added auto key repeat - Added auto key repeat
## v1.12 # V1.12
- Increases sensitivity options to be 1\*9 with 0 off state - Increases sensitivity options to be 1\*9 with 0 off state
- Fixes issue where going from COOL \*> soldering can leave screen off - Fixes issue where going from COOL \*> soldering can leave screen off
## v1.11 # V1.11
- Boost mode - Boost mode
- Change sensitivity options to be 1\*8 - Change sensitivity options to be 1\*8
## v1.10 # V1.10
- Adds help text to settings - Adds help text to settings
- Improves settings for the display update rate - Improves settings for the display update rate
## v1.09 # V1.09
- Adds display modes, for slowing down or simplifying the display - Adds display modes, for slowing down or simplifying the display
## v1.08 # V1.08
- Fix settings menu not showing flip display - Fix settings menu not showing flip display
## v1.07 # V1.07
- Adds shutdown time to automatically shutdown the iron after inactivity - Adds shutdown time to automatically shutdown the iron after inactivity
## v1.06 # V1.06
- Changes H and C when the iron is heating to the minidso chevron like images - Changes H and C when the iron is heating to the minidso chevron like images
## v1.05 # V1.05
- Adds ability to calibrate the input voltage measurement - Adds ability to calibrate the input voltage measurement
## v1.04 # V1.04
- Increased accuracy of the temperature control - Increased accuracy of the temperature control
- Improved PID response slightly - Improved PID response slightly
@@ -370,14 +326,14 @@ The flood doors are now open for feature requests for this unit :)
- Nicer idle screen - Nicer idle screen
## v1.03 # V1.03
- Improved Button handling - Improved Button handling
- Ability to set motion sensitivity - Ability to set motion sensitivity
- DC voltmeter page shows input voltage - DC voltmeter page shows input voltage
## v1.02 # V1.02
- Adds hold both buttons on IDLE to access the therometer mode - Adds hold both buttons on IDLE to access the therometer mode
- Changes the exit soldering mode to be holding both buttons (Like original firmware) - Changes the exit soldering mode to be holding both buttons (Like original firmware)

View File

@@ -38,8 +38,8 @@ The model should be replaced by one of the following options:
- `miniware` for older Miniware Irons -> TS100, TS80, TS80P - `miniware` for older Miniware Irons -> TS100, TS80, TS80P
- `pinecilv1` for the Pinecil V1 - `pinecilv1` for the Pinecil V1
- `pinecilv2` for the Pinecil V2 - `pinecilv2` for the Pinecil V2
- `ts101` for the Miniware TS101 [^1] [^2] - `ts101` for the Miniware TS101 [^1]
- `s60` for the Sequre S60 [^1] - `s60` for the Squire S60 [^1]
- `mhp30` for the Miniware MHP30 - `mhp30` for the Miniware MHP30
Different models are used for different flash locations for the image storage. Different models are used for different flash locations for the image storage.
@@ -50,28 +50,6 @@ After processing its expected to have a `.hex` and `.dfu` file created to be use
Note: make sure your image file is in the same folder as script files (img2logo.py, output_dfu.py, output_hex.py). Note: make sure your image file is in the same folder as script files (img2logo.py, output_dfu.py, output_hex.py).
[^1] Note that these devices have larger resolution screens that the logo system supports right now. Fixes are coming for this soon, roughly scheduled for 2.23. [^1] Note that these devices have larger resolution screens that the logo system supports right now. Fixes are coming for this soon, roughly scheduled for 2.23.
[^2] The TS101 requires extra steps, see below.
### TS101 Quirks
When Miniware designed the TS101 they cut cost by using an STM32 clone with some odd quirks. They also re-wrote their USB bootloader, which has introduced new bugs for us to deal with.
Their bootloader appears to have kept the existing limit of not being able to flash small hex files, but they no longer fall for the older "just repeat the content" trick and instead reject the file.
Additionally, while the MCU in use has 128K of flash, their bootloader (at least for me) fails to write to anything above 99K. It _looks_ like a watchdog reset or hard crash. Unsure.
This has flow on effects, where the settings can still be located in the upper ~28K of flash, but it cant be used for anything we flash over USB.
Of that 100K we can use, they waste 32K of it for their bootloader (Old bootloaders were 16K).
This means the main "app" of IronOS is limited to around 67K (100K-32K for bootloader, -1K for logo).
For this device the Logo is not located at the end of flash but instead at the last writable page (99K).
Additionally, as we need to do a large write, to avoid having to waste more flash space; the logo is merged with the normal firmware. This means that the firmware and logo are flashed together once.
Future updates can be done without merging as it will leave the logo data there as normal firmware doesnt touch that area of flash.
To do this, download the latest version of IronOS and merge it with the logo using the `--merge` command line argument.
To create the logo file for a TS101 the full command looks like `python3 img2logo.py <image file path> <output folder path> -m ts101 --merge <Path to main firmware>`.
For this reason, there are no TS101 logo's generated by the IronOS-Meta repo.
## Flashing the Logo ## Flashing the Logo

View File

@@ -1,72 +0,0 @@
# Requesting support for a new device
IronOS is largely designed to run on devices that are using _fairly_ modern microcontrollers at their core. Generally this means an ARM Cortex or RISC-V processor.
At this point in time it is not planned to support 8051 or similar cored devices. This is largely due to the reliance on FreeRTOS at the moment.
When requesting a port for a new device, please try and find out if the hardware meets the below requirements.
The feature list's below are organised into three categories; Hard requirements that as of current must be met, soft requirements that _should_ be met for full featured performance and the final category of planned _but not yet implemented_ features; which can be implemented but can result in delays as these are not yet implemented.
Aside from the below, keep in mind IronOS is really designed for soldering irons. This has expanded out into hot-plates as they are exceptionally similar devices.
## Hard requirements
1. Supported processor (Arm Cortex or RISC-V). (Though generally anything that has an existing FreeRTOS port is possible).
2. 64K of flash or larger (See note A)
3. 16K of ram or larger
4. Device has one or more heating elements that can be controlled by a main temperature sensor
5. If the main temperature sensor is a thermocouple, a reference temperature sensor for cold junction compensation must exist and be close to the sensor contacts
6. Means of the user updating the device without opening
7. Known pinmap for the microcontroller. (see note B)
## Soft requirements
1. USB-PD is strongly preferred over Quick Charge; Quick Charge only devices are considered legacy and will likely not be prioritiesd.
2. Open source or at the least schematics available is **strongly** preferred and will prioritise the device.
3. Likewise friendly vendors will help dramatically with support, due to both questions and also appearances to help the community.
4. Hardware PWM wired up to the tip control is nice to have but not essential
5. Very strong preference against devices that use the endless sea of STM32 clones.
## Planned features
These features are planned for eventual support, but will likely not be done until devices need them.
- Colour screens
- More than 2 buttons for input, or encoder inputs
- WiFi/Zigbee/ any other networking
## Notes
### Note A - Flash storage space
64KB is generally the minimum recommended size for the hardware to have.
Larger is _definitely_ preferred as it enables more features or the multi-pack language firmwares.
Keep in mind that on some devices we loose space to a USB DFU bootloader (Older STM32F1's) so the firmware _can_ work with less. But it can come at the cost of features.
128KB or larger is **great**.
For devices that have BLE or WiFi or other features, often code requirements are significantly larger. These are considered non essential features so will be ignored if we run into size issues.
### Note B - Pinmap for the microcontroller
In order to be able to write the interfacing code to communicate with the hardware, we need to know what pins on the microcontroller go to what hardware.
It is also loosely required to have an understanding of the rest of the device, we do not need details on a lot of the boring aspects,but if for example a USB-PD interface IC is used we would want to know which one.
## Example request for adding a new device
Device Name:
Device Type:
Approximate Price:
Example purchase locations:
### Hardware details
Microcontroller version: `STM32F103C8Tx`
Flash size (If external to the MCU):`N/A`
Microcontroller Pinout: <!-- Either link to manufacturer information, a forum documenting this or a discussion where the pinout has been roughly figured out already-->
Device type: <!-- Soldering Iron/Hot Plate/ Reflow oven etc-->
Device meets hard requirements list []
Device meets soft requirements list []
Device features USB-PD []
Device features USB-QC []
Device features DC Input []
Device features BLE []

View File

@@ -6,14 +6,13 @@ This *means* that the power provided in the tip is 100% controlled by the supply
Irons at their simplest are just a resistor (Ω) connected to your power source via a switch. Irons at their simplest are just a resistor (Ω) connected to your power source via a switch.
- When the switch is on, the power in the resistor is: *`P(watts) = V(volts) \times\ I(current=amps)`* - When the switch is on, the power in the resistor is: $P(watts) = V(volts) \times\ I(current=amps)$
- Current through the resistor is: *`I(amps) = V(volts) ÷ Ω (resistance)`* - Current through the resistor is: $I(amps) = V(volts) ÷ Ω (resistance)$
- Combining these gives some common equations for Power - Combining these gives some common equations for Power
*`P(watts) = V(volts) * I(amps)`* or *`P = V^2 ÷ Ω`* $P(watts) = V(volts) * I(amps)$ or $P = V^2 ÷ Ω$
The resistance of the tip is a fixed constant in ohms (Ω): The resistance of the tip is a fixed constant in ohms (Ω):
- 6.2 Ω Pine64 short tip - 6.2 Ω Pine64 short tip
- 8.0 Ω TS100/Pinecil long tip - 8.0 Ω TS100/Pinecil long tip
- 4.5 Ω TS80(P) - 4.5 Ω TS80(P)

View File

@@ -27,7 +27,6 @@
- [Troubleshooting](../Documentation/Troubleshooting.md) - [Troubleshooting](../Documentation/Troubleshooting.md)
- [Known Hardware Issues](../Documentation/HardwareIssues.md) - [Known Hardware Issues](../Documentation/HardwareIssues.md)
- [Power sources](../Documentation/PowerSources.md) - [Power sources](../Documentation/PowerSources.md)
- [New Hardware Requirements](../Documentation/PortingToNewDevice.md)
- [Translations](../Documentation/Translation.md) - [Translations](../Documentation/Translation.md)
- [Development](../Documentation/Development.md) - [Development](../Documentation/Development.md)
- [Changelog](../Documentation/History.md) - [Changelog](../Documentation/History.md)

View File

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

View File

@@ -52,7 +52,7 @@ DOCKER_CMD=$(DOCKER_BIN) -f $(DOCKER_YML) run --rm builder
MKDOCS_YML=$(CURDIR)/scripts/IronOS-mkdocs.yml MKDOCS_YML=$(CURDIR)/scripts/IronOS-mkdocs.yml
# supported models # supported models
MODELS=TS100 TS80 TS80P Pinecil MHP30 Pinecilv2 S60 TS101 S60P T55 S99 # target names & dir names MODELS=TS100 TS80 TS80P Pinecil MHP30 Pinecilv2 S60 TS101 # target names & dir names
MODELS_ML=Pinecil Pinecilv2 # target names MODELS_ML=Pinecil Pinecilv2 # target names
MODELS_MULTILANG=Pinecil_multi-lang Pinecilv2_multi-lang # dir names MODELS_MULTILANG=Pinecil_multi-lang Pinecilv2_multi-lang # dir names
@@ -144,12 +144,12 @@ docs: $(MKDOCS_YML) Documentation/* Documentation/Flashing/* Documentation/im
docs-deploy: $(MKDOCS_YML) Documentation/* Documentation/Flashing/* Documentation/images/* docs-deploy: $(MKDOCS_YML) Documentation/* Documentation/Flashing/* Documentation/images/*
$(MKDOCS) gh-deploy -f $(MKDOCS_YML) -d ../site $(MKDOCS) gh-deploy -f $(MKDOCS_YML) -d ../site
# routine check to verify documentation # routine check for autogenerated Documentation/README.md
test-md: test-md:
@echo "" @echo ""
@echo "---- Checking documentation... ----" @echo "---- Checking REAMDE.md... ----"
@echo "" @echo ""
@./scripts/deploy.sh docs @/bin/sh ./scripts/deploy.sh docs_readme
# shell style & linter check (github CI version of shellcheck is more recent than alpine one so the latter may not catch some policies) # shell style & linter check (github CI version of shellcheck is more recent than alpine one so the latter may not catch some policies)
test-sh: test-sh:
@@ -199,7 +199,7 @@ build-all:
# target to build multilang supported builds for Pinecil & PinecilV2 # target to build multilang supported builds for Pinecil & PinecilV2
build-multilang: build-multilang:
@for modelml in $(MODELS_ML); do \ @for modelml in $(MODELS_ML); do \
$(MAKE) -C source/ -j2 model=$${modelml} firmware-multi_compressed_European firmware-multi_compressed_Belorussian+Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese ; \ $(MAKE) -C source/ -j2 model=$${modelml} firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese ; \
mkdir -p $(OUT_DIR)/$${modelml}_multi-lang ; \ mkdir -p $(OUT_DIR)/$${modelml}_multi-lang ; \
cp $(OUT_HEX)/$${modelml}_multi_*.bin $(OUT_DIR)/$${modelml}_multi-lang ; \ cp $(OUT_HEX)/$${modelml}_multi_*.bin $(OUT_DIR)/$${modelml}_multi-lang ; \
cp $(OUT_HEX)/$${modelml}_multi_*.hex $(OUT_DIR)/$${modelml}_multi-lang ; \ cp $(OUT_HEX)/$${modelml}_multi_*.hex $(OUT_DIR)/$${modelml}_multi-lang ; \

175
README.md
View File

@@ -3,58 +3,52 @@
[![Contributors](https://img.shields.io/github/contributors-anon/ralim/ironos?color=blue&style=flat)](https://github.com/Ralim/IronOS/graphs/contributors) [![Contributors](https://img.shields.io/github/contributors-anon/ralim/ironos?color=blue&style=flat)](https://github.com/Ralim/IronOS/graphs/contributors)
[![Latest Release](https://img.shields.io/github/v/release/ralim/IronOS)](https://github.com/Ralim/IronOS/releases/latest) [![Latest Release](https://img.shields.io/github/v/release/ralim/IronOS)](https://github.com/Ralim/IronOS/releases/latest)
# IronOS - Open Source Flexible Firmware for Soldering Hardware # IronOS - Flexible Soldering iron control Firmware
_This repository was formerly known as TS100, it's 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 conceived as an alternative firmware for the _TS100_, this firmware has evolved into a complex soldering hardware 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 hardware, with lots of little extras and tweaks. The firmware implements all of the standard features of a 'smart' soldering iron, with lots of little extras and tweaks.
I highly recommend reading the installation guide fully when installing on your device. 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 hardware that is designed to be powered by _smart_ power sources such as _PD_ or _QC_, the firmware supports settings around the negotiated power and voltage. For soldering irons that are designed to be powered by 'smart' power sources (PD and QC), the firmware supports settings around the negotiated power and voltage.
For soldering hardware that is designed to be powered by batteries (_TS100_ & _Pinecil_), settings for a cutoff voltage for battery protection are supported. For soldering irons that are designed to be powered by batteries (TS100 & Pinecil), settings for a cutoff voltage for battery protection are supported.
Currently **31** languages are supported. When downloading the firmware for your soldering hardware, take note of the _language code_ in the file name. Currently **31** languages are supported. When downloading the firmware for your soldering iron, take note of the language code in the file name.
This project is considered feature complete for use on a daily basis, _so please suggest any feature improvements you would like!_ This project is considered feature complete for use as a soldering iron, _so please suggest any feature improvements you would like!_
_This firmware does **NOT** support the USB port while running for changing settings (this is done through the onscreen menu only). Custom logos are edited on a computer and flashed in the same manner as firmware._ _This firmware does **NOT** support the USB port while running for changing settings. This is done through the onscreen menu only. Logos are edited on a computer and flashed like firmware._
## Supported Hardware | Device | DC | QC | PD | EPR | BLE | Tip Sense | Recommended Purchase | Notes |
| :------------: | :-: | :-: | :-: | :-: | :-: | :-----: | :------------------: | :-------------------------------------------:|
| Device | DC | QC | PD | EPR\*\*\*\* | BLE | Tip Sense | Recommended Purchase | Notes |
| :------------: | :-: | :-: | :-: | :-: | :-: | :-------: | :------------------: | :-------------------------------------: |
| Miniware MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | | | Miniware MHP30 | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Pinecil V1 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ \* | | | Pinecil V1 | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ * | |
| Pinecil V2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | | | Pinecil V2 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Miniware TS101 | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | Full OLED resolution not yet supported. | | Miniware TS101 | ✔️ | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | Full OLED resolution not yet supported. |
| Sequre S60 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | Full OLED resolution not yet supported. | | Sequre S60 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | Full OLED resolution not yet supported. |
| Sequre S60P | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | Full OLED resolution not yet supported. |
| Sequre S99 | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | Full OLED resolution not yet supported. |
| Sequre T55 | ❌ | ❌ | ✔️ | ❌ | ❌ | N/A | ✔️ | Full OLED resolution not yet supported. |
| Miniware TS80P | ❌ | ✔️ | ✔️ | ❌ | ❌ | N/A | ✔️ | | | Miniware TS80P | ❌ | ✔️ | ✔️ | ❌ | ❌ | N/A | ✔️ | |
| Miniware TS100 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌\*\* | | | Miniware TS100 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌** | |
| Miniware TS80 | ❌ | ✔️ | ❌ | ❌ | ❌ | N/A | ❌\*\*\* | | | Miniware TS80 | ❌ | ✔️ | ❌ | ❌ | ❌ | N/A | ❌*** | |
_Tip Sense_ refers to the device being able to choose between the _"regular"_ _TS100_ or _Hakko T12 style_ tips and _Pine64_'s custom shorter tips which have lower resistance and allow for more power. This is N/A for _TS80(P)_ as there is only one model of tip for them. _Tip Sense_ refers to the device being able to choose between the 'usual' TS100 or Hakko T12 style tips and Pine64's custom shorter tips which have lower resistance and allow for more power. This is N/A for TS80/TS80P as there is only one model of tip for them.
_Recommended Purchase_ is only referring to if you are buying a **new** device. Of course all the devices listed are supported and will work excellently for years to come. _Recommended Purchase_ is only referring to if you are buying a **new** device. Of course all the devices listed are supported and will work excellently for years to come.
The _TS101_ & _S60(P)_ irons and _MHP30_ & _T55_ plates feature a higher resolution OLED than other devices. Work is ongoing to support this fully, for now a cropped view is usable. The TS101 and S60 feature a higher resolution OLED than other devices. Work is ongoing to support this fully, for now a cropped view is usable.
\* _PinecilV1_ stopped being manufactured a long time ago now, all models for sale online are generally clones (or old stock). Vendors are trying to sell these for more than _Pine64_ sells the _V2_ for now. Thus the _V1_ is **_no longer recommended_**. \*PinecilV1 stopped being manufactured a long time ago now, all models for sale online are generally clones (or old stock). Vendors are trying to sell these for more than Pine64 sells the V2 for now. Thus the V1 is **_no longer recommended_**.
\*\* Please note that _Miniware_ started shipping _TS100_'s using **cloned STM32 chips**. While these do work with _IronOS_, their **DFU bootloader** works terribly, and it is hard to get it to successfully flash larger firmware images like _IronOS_ without timing out. This is the main reason why the _TS100_ is **_no longer recommended_**. \**Please note that Miniware started shipping TS100's using cloned STM32 Chips. While these do work with IronOS, their DFU bootloader works terribly, and it is hard to get it to successfully flash larger firmware images like IronOS without timing out. This is the main reason why the TS100 is **_no longer recommended_**.
\*\*\* _TS80_ is replaced by _TS80P_. Production ramped down a long time ago and it's just existing stock clearing the system. It's marked not recommended being optimistic that people might pause and buy the far superior _TS80P_ instead. This is the main reason why the _TS80_ is **_no longer recommended_**. \**\*TS80 is replaced by TS80P. Production ramped down a long time ago and it's just existing stock clearing the system. It's marked not recommended being optimistic that people might pause and buy the far superior TS80P instead. This is the main reason why the TS80 is **_no longer recommended_**.
\*\*\*\* **EPR/PPS with 28V support** is _**disabled by default**_ due to [safety concerns](https://github.com/Ralim/IronOS/pull/2073), but to turn it back on set
_PD Mode_ option in _Power settings_ submenu to _Safe_ or _Default_.
## Getting Started ## Getting Started
To get started with _IronOS firmware_, please jump to [Getting Started Guide](https://ralim.github.io/IronOS/GettingStarted/). To get started with IronOS firmware, please jump to [Getting Started Guide](https://ralim.github.io/IronOS/GettingStarted/).
But the [TL;DR](https://www.merriam-webster.com/dictionary/TL%3BDR) is to press the button near the front of the iron to heat up. Use the button near the back of the iron to enter the settings menu.
Long hold the rear button in soldering mode to exit back to the start screen.
## Installation ## Installation
@@ -66,104 +60,49 @@ For notes on installation for your device, please refer to the flashing guide fo
- [TS80 / TS80P](https://ralim.github.io/IronOS/Flashing/TS80%28P%29/) - [TS80 / TS80P](https://ralim.github.io/IronOS/Flashing/TS80%28P%29/)
- [TS100](https://ralim.github.io/IronOS/Flashing/TS100) - [TS100](https://ralim.github.io/IronOS/Flashing/TS100)
## Builds
The links in the table below allow to download available builds directly:
- current _Stable Release_ is **`v2.22`**;
- _Development Build_ **dynamically** provides _**the latest successful build**_ from **`dev`** branch.
| Device | Stable Release | Development Build |
|:---------------------:|:--------------:|:-----------------:|
| Pinecil V1 | [Pinecil.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/Pinecil.zip) | [Pinecil.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecil.zip) |
| Pinecil V1/multilang | [Pinecil_multi-lang.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/Pinecil_multi-lang.zip) | [Pinecil_multi-lang.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecil_multi-lang.zip) |
| Pinecil V2 | [PinecilV2.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/PinecilV2.zip) | [PinecilV2.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecilv2.zip) |
| Pinecil V2/multilang | [PinecilV2_multi-lang.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/PinecilV2_multi-lang.zip) | [PinecilV2_multi-lang.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/Pinecilv2_multi-lang.zip) |
| Miniware TS100 | [TS100.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS100.zip) | [TS100.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS100.zip) |
| Miniware TS101 | [TS101.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS101.zip) | [TS101.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS101.zip) |
| Miniware TS80 | [TS80.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS80.zip) | [TS80.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS80.zip) |
| Miniware TS80P | [TS80P.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/TS80P.zip) | [TS80P.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/TS80P.zip) |
| Miniware MHP30 | [MHP30.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/MHP30.zip) | [MHP30.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/MHP30.zip) |
| Sequre S60 | [S60.zip](https://github.com/Ralim/IronOS/releases/download/v2.22/S60.zip) | [S60.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/S60.zip) |
| Sequre S60P | Not Released | [S60P.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/S60P.zip) |
| Sequre T55 | Not Released | [T55.zip](https://nightly.link/Ralim/IronOS/workflows/push/dev/T55.zip) |
## Key Features ## Key Features
- PID style iron temperature control; - PID style iron temperature control
- automatic sleep with selectable sensitivity; - Automatic sleep with selectable sensitivity
- adjustable & tweakable motion wake support; - Motion wake support
- all settings exposed in the 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; - (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; - (TS80) Set 18 W or 24 W settings for your power bank
- (_TS80P_) automatically negotiates appropriate PD and falls back to QC mode like _TS80_; - (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).
- (_Pinecilv2_) supports _USB-PD EPR_ for **28V** operation; - (Pinecilv2) Supports USB-PD EPR for 28V operation.
- improved readability Fonts, supporting multiple languages; - Improved readability Fonts, supporting multiple languages
- use hardware features to improve reliability; - Use hardware features to improve reliability
- boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods); - Can disable movement detection if desired
- (_TS100_/_Pinecil_) battery charge level indicator if power source set to a LiPo cell count; - Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods)
- (_TS80_/_TS80P_/_Pinecil_) power bank operating voltage is displayed; - (TS100/Pinecil) Battery charge level indicator if power source set to a lipo cell count
- [custom boot up logo support](https://ralim.github.io/IronOS/Logo/)[^bootlogo]; - (TS80/TS80P/Pinecil) Power bank operating voltage is displayed
- automatic LCD rotation based on the orientation; - [Custom boot up logo support](https://ralim.github.io/IronOS/Logo/)[^bootlogo]
- ... and many many other cool & hackable features![^changelog] - Automatic LCD rotation based on the orientation
[^bootlogo]:
**BOOTUP LOGO NOTICE**: [^bootlogo]: **BOOTUP LOGO NOTICE**:
IronOS supports both a bootup logo _AND_ bootup animations. IronOS supports both a bootup logo _AND_ bootup animations.
However, _**they are no longer included in this repo**_. However, _**they are no longer included in this repo**_.
**Please, [read the docs](https://ralim.github.io/IronOS/Logo/) for more information**. **Please, [read the docs](https://ralim.github.io/IronOS/Logo/) for more information**.
[^changelog]: ## Menu System
[See the full changelog here](https://ralim.github.io/IronOS/History).
## Basic Control This new firmware uses a new menu system to allow access to the settings on the device.
When on the main screen and having the tip plugged in, the unit shows a pair of prompts for the two most common operations.
Supported device is controlled by two buttons which can be pressed in the following ways: - Pressing the button near the tip enters the _soldering mode_
- short: ~1 second or so; - Pressing the button near the USB end enters the _settings menu_
- long: more than 1 second; - When not in _soldering mode_, holding down the button near the tip will enter _soldering temperature adjust mode_ (This is the same as the one in the _soldering mode_, but allows to adjust the temperature before heating up), in _soldering mode_ however this will activate _boost mode_ as long as you hold down the button.
- both (press & hold both of them together). - Holding down the button near the USB end will show the _[debug menu](https://ralim.github.io/IronOS/DebugMenu/)._ In _soldering mode_ this ends the heating.
Available buttons are: Operation details are over in the [Menu information.](https://ralim.github.io/IronOS/Menu/)
- `+/A` button: near the front closer to the tip (for irons) or on the left side of the device (for plates);
- `-/B` button: near the back far from the tip (for irons) or on the right side of the device (for plates).
After powering on the device for the first time with _IronOS_ installed and having the tip/plate plugged in, on the main menu in _standby mode_ the unit shows a pair of prompts for the two most common operations:
- pressing the `+/A` button enters the _soldering mode_;
- pressing the `-/B` button enters the _settings menu_;
- in _soldering mode_:
- short press of `+/A` / `-/B` buttons changes the soldering temperature;
- long press of the `+/A` button enables _boost mode_ (increasing soldering temperature to the adjustable setting as long as the button is pressed);
- long press of the `-/B` button enters _standby mode_ and stops heating;
- in _standby mode_:
- long press of the `+/A` button enters _soldering temperature adjust mode_ (the same as the one in the _soldering mode_, but allows to adjust the temperature before heating up);
- long hold of the `-/B` button enters the [_debug menu_](https://ralim.github.io/IronOS/DebugMenu/);
- in _menu mode_ (to make it short here):
- `-/B` scrolls & cycles through menus and submenus;
- `+/A` enters to menu & submenu settings or changes their values if they are activated already.
Additional details are described in the [menu information](https://ralim.github.io/IronOS/Menu/).
## Remote Control
### Pinecil V2 only
Pinecil V2 has [_Bluetooth Low Energy_ module](https://ralim.github.io/IronOS/Bluetooth), which is supported by _IronOS_ since `2.21` release to control some of the settings using additional tools like [PineSAM](https://github.com/builder555/PineSAM) or [PineTool](https://github.com/lachlanbell/PineTool). In `2.21` and `2.22` releases the module was _on_ by default. However, **_Bluetooth_ is turned off in the settings by default in current `dev` builds and for the next releases** [due to security concerns](#1856).[^ble]
To enable _Bluetooth_ back:
- go to _Settings_ menu;
- press `-/B` button four times to scroll the menu for `Advanced settings`;
- press `+/A` button to open submenu;
- press `+/A` button to toggle/enable _Bluetooth_ feature;
- press `-/B` **and hold it** for just more than five seconds to exit from the _Settings_ menu.
[^ble]:
This is related only to situations when a user restores default settings using menu, or when _IronOS_ update is taking place on a new device or on a device with a previous firmware version.
## Translations ## Translations
Is your preferred language missing localisation of some of the text? Is your preferred language missing localisation of some of the text?
Translations are stored as `json` files in the `Translations` folder. Translations are stored as `json` files in the Translations folder.
_Pull requests_ are loved and accepted to enhance the firmware. PR's are loved and accepted to enhance the firmware.
## Thanks ## Thanks
@@ -188,13 +127,13 @@ Especially to the following users, who have helped in various ways that are mass
Plus the huge number of people who have contributed translations, your effort is massively appreciated. Plus the huge number of people who have contributed translations, your effort is massively appreciated.
## License ## Licence
The code created by the community is covered by the [GNU GPLv3](https://www.gnu.org/licenses/gpl-3.0.html#license-text) license **unless noted elsewhere**. The code created by the community is GNU GPLv3. Unless noted elsewhere.
Other components such as _FreeRTOS_ and _USB-PD_ have their own licenses. Other components such as FreeRTOS/USB-PD have their own licence.
## Commercial Use ## Commercial Use
This software is provided _**"AS IS"**_, so I cannot provide any commercial support for the firmware. This software is provided as-is, so I cannot provide any commercial support for the firmware.
However, you are more than welcome to distribute links to the firmware or provide hardware with this firmware. 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**. 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

@@ -76,13 +76,13 @@ def filter_translation(lang: dict, defs: dict, macros: frozenset):
return False return False
for category in ("menuOptions", "menuGroups", "menuValues"): for category in ("menuOptions", "menuGroups"):
for _, record in enumerate(defs[category]): for index, record in enumerate(defs[category]):
if check_excluded(record): if check_excluded(record):
lang[category][record["id"]]["displayText"] = "" lang[category][record["id"]]["displayText"] = ""
lang[category][record["id"]]["description"] = "" lang[category][record["id"]]["description"] = ""
for _, record in enumerate(defs["messagesWarn"]): for index, record in enumerate(defs["messagesWarn"]):
if check_excluded(record): if check_excluded(record):
lang["messagesWarn"][record["id"]]["message"] = "" lang["messagesWarn"][record["id"]]["message"] = ""
@@ -146,13 +146,12 @@ def get_constants() -> List[Tuple[str, str]]:
("SmallSymbolState", "State"), ("SmallSymbolState", "State"),
("SmallSymbolNoVBus", "No VBus"), ("SmallSymbolNoVBus", "No VBus"),
("SmallSymbolVBus", "VBus"), ("SmallSymbolVBus", "VBus"),
("LargeSymbolSleep", "Zzz "),
] ]
def get_debug_menu() -> List[str]: def get_debug_menu() -> List[str]:
return [ return [
datetime.today().strftime("%Y%m%d %H%M%S"), datetime.today().strftime("%d-%m-%y"),
"ID ", "ID ",
"ACC ", "ACC ",
"PWR ", "PWR ",
@@ -163,7 +162,7 @@ def get_debug_menu() -> List[str]:
"UpTime ", "UpTime ",
"Move ", "Move ",
"Tip Res", "Tip Res",
"Tip uV ", "Tip R ",
"Tip O ", "Tip O ",
"HW G ", "HW G ",
"HW M ", "HW M ",
@@ -203,9 +202,9 @@ def get_letter_counts(defs: dict, lang: dict, build_version: str) -> Dict:
"""From the source definitions, language file and build version; calculates the ranked symbol list """From the source definitions, language file and build version; calculates the ranked symbol list
Args: Args:
defs (dict): Definitions defs (dict): _description_
lang (dict): Language lookup lang (dict): _description_
build_version (str): The build version id to ensure its letters are included build_version (str): _description_
Returns: Returns:
Dict: _description_ Dict: _description_
@@ -249,15 +248,6 @@ def get_letter_counts(defs: dict, lang: dict, build_version: str) -> Dict:
msg = obj[eid]["description"] msg = obj[eid]["description"]
big_font_messages.append(msg) big_font_messages.append(msg)
obj = lang["menuValues"]
for mod in defs["menuValues"]:
eid = mod["id"]
msg = obj[eid]["displayText"]
if test_is_small_font(msg):
small_font_messages.append(msg)
else:
big_font_messages.append(msg)
obj = lang["menuGroups"] obj = lang["menuGroups"]
for mod in defs["menuGroups"]: for mod in defs["menuGroups"]:
eid = mod["id"] eid = mod["id"]
@@ -1123,12 +1113,6 @@ def get_translation_strings_and_indices_text(
encode_string_and_add( encode_string_and_add(
lang_data["displayText"], "menuOptions" + record["id"] + "displayText" lang_data["displayText"], "menuOptions" + record["id"] + "displayText"
) )
for index, record in enumerate(defs["menuValues"]):
lang_data = lang["menuValues"][record["id"]]
# Add to translations the menu text and the description
encode_string_and_add(
lang_data["displayText"], "menuValues" + record["id"] + "displayText"
)
for index, record in enumerate(defs["menuGroups"]): for index, record in enumerate(defs["menuGroups"]):
lang_data = lang["menuGroups"][record["id"]] lang_data = lang["menuGroups"][record["id"]]
@@ -1216,21 +1200,6 @@ def get_translation_strings_and_indices_text(
f" .{record['id']} = {start_index}, // {escape(lang_data)}\n" f" .{record['id']} = {start_index}, // {escape(lang_data)}\n"
) )
for _, record in enumerate(defs["menuValues"]):
# Add to translations the menu text and the description
lang_data = lang["menuValues"][record["id"]]
key = "menuValues" + record["id"] + "displayText"
translated_index = translated_string_lookups[key]
string_index = translated_index.byte_encoded_translation_index
start_index = (
string_index_commulative_lengths[string_index]
+ translated_index.str_start_offset
)
translation_indices_text += (
f" .{record['id']} = {start_index}, // {escape(lang_data)}\n"
)
translation_indices_text += "\n" translation_indices_text += "\n"
# Now for the fun ones, where they are nested and ordered # Now for the fun ones, where they are nested and ordered
@@ -1260,7 +1229,6 @@ def get_translation_strings_and_indices_text(
translation_indices_text = write_grouped_indexes( translation_indices_text = write_grouped_indexes(
translation_indices_text, "SettingsShortNames", "menuOptions", "displayText" translation_indices_text, "SettingsShortNames", "menuOptions", "displayText"
) )
translation_indices_text = write_grouped_indexes( translation_indices_text = write_grouped_indexes(
translation_indices_text, translation_indices_text,
"SettingsMenuEntriesDescriptions", "SettingsMenuEntriesDescriptions",

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Сілкаванне В: \n" "message": "Сілкаванне В: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Чаканне...\n" "message": "Чаканне...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Джала: \n" "message": "Джала: \n"
}, },
"OffString": {
"message": "Выкл."
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Разагрэць\n" "message": "Разагрэць\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "П", "SettingRightChar": "П",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "А", "SettingAutoChar": "А",
"SettingOffChar": "O",
"SettingSlowChar": "М", "SettingSlowChar": "М",
"SettingMediumChar": "С", "SettingMediumChar": "С",
"SettingFastChar": "Х", "SettingFastChar": "Х",
"SettingStartNoneChar": "В",
"SettingStartSolderingChar": "П", "SettingStartSolderingChar": "П",
"SettingStartSleepChar": "Ч", "SettingStartSleepChar": "Ч",
"SettingStartSleepOffChar": "К", "SettingStartSleepOffChar": "К",
"SettingLockDisableChar": "А",
"SettingLockBoostChar": "Т", "SettingLockBoostChar": "Т",
"SettingLockFullChar": "П" "SettingLockFullChar": "П"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "\nРэжым"
},
"USBPDModeNoDynamic": {
"displayText": "Няма\nдынамікі"
},
"USBPDModeSafe": {
"displayText": "Бяспечны\nрэжым"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Крыніца\nсілкавання", "displayText": "Крыніца\nсілкавання",
@@ -151,8 +131,8 @@
"displayText": "PD\nпрыпынак", "displayText": "PD\nпрыпынак",
"description": "Час чакання ўзгаднення PD з крокам 100 мс для сумяшчальнасці з некаторымі зараднымі зараднымі прыладамі QC (0: адключана)" "description": "Час чакання ўзгаднення PD з крокам 100 мс для сумяшчальнасці з некаторымі зараднымі зараднымі прыладамі QC (0: адключана)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nРэжым", "displayText": "PD\nVPDO",
"description": "Уключае рэжымы PPS & EPR." "description": "Уключае рэжымы PPS & EPR."
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Аўта\nстарт", "displayText": "Аўта\nстарт",
"description": "Рэжым, у якім запускаецца паяльнік пры падачы сілкавання (П=Пайка | Ч=Чаканне | К=Чаканне пры комн. тэмп.)" "description": "Рэжым, у якім запускаецца паяльнік пры падачы сілкавання (В=Выкл. | П=Пайка | Ч=Чаканне | К=Чаканне пры комн. тэмп.)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Крок тэмп.\nкар. нац.", "displayText": "Крок тэмп.\nкар. нац.",
@@ -173,67 +153,67 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Дазволіць\nблок. кнопак", "displayText": "Дазволіць\nблок. кнопак",
"description": "Пры рабоце падоўжаны націск дзьвух кнопак блакуе іх (Т=Толькі турба | П=Поўная блакіроўка)" "description": "Пры рабоце падоўжаны націск дзьвух кнопак блакуе іх (А=Адключана | Т=Толькі турба | П=Поўная блакіроўка)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Фазы\nпрофілю", "displayText": "Profile\nPhases",
"description": "Колькасць фаз у рэжыме профілю" "description": "Колькасць фаз у рэжыме профілю"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Тэмпература\nразагравання", "displayText": "Preheat\nTemp",
"description": "Разагрэйце да гэтай тэмпературы ў пачатку профільнага рэжыму" "description": "Разагрэйце да гэтай тэмпературы ў пачатку профільнага рэжыму"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Хуткасть\nразагравання", "displayText": "Preheat\nSpeed",
"description": "Разагрэйце з гэтай хуткасцю (градусы ў секунду)" "description": "Разагрэйце з гэтай хуткасцю (градусы ў секунду)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Фаза 1\nтэмпература", "displayText": "Phase 1\nTemp",
"description": "Мэтавая тэмпература ў канцы гэтай фазы" "description": "Мэтавая тэмпература ў канцы гэтай фазы"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Фаза 1\nпрацягласць", "displayText": "Phase 1\nDuration",
"description": "Мэтавая працягласць гэтай фазы (секунды)" "description": "Мэтавая працягласць гэтай фазы (секунды)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Фаза 2\nтэмпература", "displayText": "Phase 2\nTemp",
"description": "Мэтавая тэмпература ў канцы гэтай фазы" "description": ""
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "Фаза 2\nпрацягласць", "displayText": "Phase 2\nDuration",
"description": "Мэтавая працягласць гэтай фазы (секунды)" "description": ""
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "Фаза 3\nтэмпература", "displayText": "Phase 3\nTemp",
"description": "Мэтавая тэмпература ў канцы гэтай фазы" "description": ""
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "Фаза 3\nпрацягласць", "displayText": "Phase 3\nDuration",
"description": "Мэтавая працягласць гэтай фазы (секунды)" "description": ""
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "Фаза 4\nтэмпература", "displayText": "Phase 4\nTemp",
"description": "Мэтавая тэмпература ў канцы гэтай фазы" "description": ""
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "Фаза 4\nпрацягласць", "displayText": "Phase 4\nDuration",
"description": "Мэтавая працягласць гэтай фазы (секунды)" "description": ""
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "Фаза 5\nтэмпература", "displayText": "Phase 5\nTemp",
"description": "Мэтавая тэмпература ў канцы гэтай фазы" "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Фаза 5\nпрацягласць", "displayText": "Phase 5\nDuration",
"description": "Мэтавая працягласць гэтай фазы (секунды)" "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Хуткасць\nастывання", "displayText": "Cooldown\nSpeed",
"description": "Астуджаць з гэтай хуткасцю ў канцы профільнага рэжыму (градусы ў секунду)" "description": "Астуджаць з гэтай хуткасцю ў канцы профільнага рэжыму (градусы ў секунду)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Адчувальнасць\nакселерометра", "displayText": "Адчувальнасць\nакселерометра",
"description": "Адчувальнасць акселерометра (1=Мін. | ... | 9=Макс.)" "description": "Адчувальнасць акселерометра (0=Выкл. | 1=Мін. | ... | 9=Макс.)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Тэмп.\nчакання", "displayText": "Тэмп.\nчакання",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Эфект Хола\nадчувальнасць", "displayText": "Эфект Хола\nадчувальнасць",
"description": "Узровень адчувальнасці датчыка хола ў рэжыме сну (1=Мін. | ... | 9=Макс.)" "description": "Узровень адчувальнасці датчыка хола ў рэжыме сну (0=Выкл. | 1=Мін. | ... | 9=Макс.)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Інтэрвал перад пачаткам \"рэжыму сну\", калі эфект Хола перавышае парог"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Адзінкі\nтэмпературы", "displayText": "Адзінкі\nтэмпературы",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Хуткасць\nанімацыі", "displayText": "Хуткасць\nанімацыі",
"description": "Хуткасць анімацыі гузікаў у галоўным меню (Мілісекунды) (Н=Нізкая | С=Сярэдняя | В=Высокая)" "description": "Хуткасць анімацыі гузікаў у галоўным меню (Мілісекунды) (А=Адключана | Н=Нізкая | С=Сярэдняя | В=Высокая)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Зацыкленая\nанімацыя", "displayText": "Зацыкленая\nанімацыя",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Мова:\n BY Беларуская", "displayText": "Мова:\n BY Беларуская",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Входно V: \n" "message": "Входно V: \n"
}, },
"SleepingSimpleString": {
"message": "Хъррр"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Сън...\n" "message": "Сън...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Човка:\n" "message": "Човка:\n"
}, },
"OffString": {
"message": "Изкл."
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Загряване\n" "message": "Загряване\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "Д", "SettingRightChar": "Д",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "А", "SettingAutoChar": "А",
"SettingOffChar": "И",
"SettingSlowChar": "Н", "SettingSlowChar": "Н",
"SettingMediumChar": "С", "SettingMediumChar": "С",
"SettingFastChar": "В", "SettingFastChar": "В",
"SettingStartNoneChar": "И",
"SettingStartSolderingChar": "З", "SettingStartSolderingChar": "З",
"SettingStartSleepChar": "С", "SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "П", "SettingStartSleepOffChar": "П",
"SettingLockDisableChar": "И",
"SettingLockBoostChar": "Т", "SettingLockBoostChar": "Т",
"SettingLockFullChar": "П" "SettingLockFullChar": "П"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Вкл.\nPPSиERP"
},
"USBPDModeNoDynamic": {
"displayText": "Изкл.\n"
},
"USBPDModeSafe": {
"displayText": "Вкл.без\nискане"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Гранично\nнапрежение", "displayText": "Гранично\nнапрежение",
@@ -151,9 +131,9 @@
"displayText": "PD\nинтервал", "displayText": "PD\nинтервал",
"description": "PD интервал за договаряне на захранването на стъпки от 100 мс за съвместимост с някои QC захранвания (0=Изкл.)" "description": "PD интервал за договаряне на захранването на стъпки от 100 мс за съвместимост с някои QC захранвания (0=Изкл.)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nрежим", "displayText": "PD\nVPDO",
"description": "Вкл.без искане: включи PPS и EPR без да искате повече мощност" "description": "Включи PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Турбо\nтемп.", "displayText": "Турбо\nтемп.",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Автоматичен\nработен режим", "displayText": "Автоматичен\nработен режим",
"description": "Режим на поялника при включване на захранването (З=Запояване | С=Сън | П=Покой на стайна температурата)" "description": "Режим на поялника при включване на захранването (И=Изкл. | З=Запояване | С=Сън | П=Покой на стайна температурата)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Промяна T\nбързо", "displayText": "Промяна T\nбързо",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Бутони за\nзаключване", "displayText": "Бутони за\nзаключване",
"description": "Докато запоявате, задръжте двата бутона, за да превключите заключването им (Т=Турбо режим | П=Пълно)" "description": "Докато запоявате, задръжте двата бутона, за да превключите заключването им (И=Изкл. | Т=Турбо режим | П=Пълно)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Брой\nетапи", "displayText": "Брой\nетапи",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Чувствител.\nна движение", "displayText": "Чувствител.\nна движение",
"description": "Чувствителност на движение на акселерометър (1=Слабо | ... | 9=Силно)" "description": "Чувствителност на движение на акселерометър (0=Изкл. | 1=Слабо | ... | 9=Силно)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Темп.\nсън", "displayText": "Темп.\nсън",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Датчик\nна Хол", "displayText": "Датчик\nна Хол",
"description": "Чувствителност на сензора към магнитно поле (1=Слабо | ... | 9=Силно)" "description": "Чувствителност на сензора към магнитно поле (0=Изкл. | 1=Слабо | ... | 9=Силно)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Интервалът преди началото на \"режим на заспиване\", когато ефектът на Хол надвиши прага"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Единици за\nтемпературата", "displayText": "Единици за\nтемпературата",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Скорост на\nанимацията", "displayText": "Скорост на\nанимацията",
"description": "Скорост на анимация на иконата в главното меню (Н=Ниска | C=Средна | B=Висока)" "description": "Скорост на анимация на иконата в главното меню (И=Изкл. | Н=Ниска | C=Средна | B=Висока)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Анимац.\nцикъл", "displayText": "Анимац.\nцикъл",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Език:\n BG Български", "displayText": "Език:\n BG Български",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Napětí: \n" "message": "Napětí: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz "
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Režim spánku...\n" "message": "Režim spánku...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Hrot: \n" "message": "Hrot: \n"
}, },
"OffString": {
"message": "Vyp"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Předehřívání\n" "message": "Předehřívání\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "P", "SettingRightChar": "P",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "D",
"SettingSlowChar": "P", "SettingSlowChar": "P",
"SettingMediumChar": "S", "SettingMediumChar": "S",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingStartNoneChar": "V",
"SettingStartSolderingChar": "P", "SettingStartSolderingChar": "P",
"SettingStartSleepChar": "S", "SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "M", "SettingStartSleepOffChar": "M",
"SettingLockDisableChar": "Z",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "U" "SettingLockFullChar": "U"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Zdroj\nnapájení", "displayText": "Zdroj\nnapájení",
@@ -151,8 +131,8 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "Maximální prodleva při jednání PD ve 100ms krocích pro kompatibilitu s některými QC nabíječkami" "description": "Maximální prodleva při jednání PD ve 100ms krocích pro kompatibilitu s některými QC nabíječkami"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Povoluje režimy PPS & EPR" "description": "Povoluje režimy PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Chování\npři startu", "displayText": "Chování\npři startu",
"description": "P=pájecí teplota | S=spánková teplota | M=zahřát hrot po pohybu" "description": "V=vypnuto | P=pájecí teplota | S=spánková teplota | M=zahřát hrot po pohybu"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Krok teploty\nkrátký?", "displayText": "Krok teploty\nkrátký?",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Povolit zamč.\ntlačítek", "displayText": "Povolit zamč.\ntlačítek",
"description": "Při pájení podržte obě tlačítka pro jejich zamčení (B=pouze v režimu boost | U=úplné zamčení)" "description": "Při pájení podržte obě tlačítka pro jejich zamčení (Z=zakázáno | B=pouze v režimu boost | U=úplné zamčení)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profilové\nFáze", "displayText": "Profilové\nFáze",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Citlivost\nna pohyb", "displayText": "Citlivost\nna pohyb",
"description": "1=nejméně citlivé | ... | 9=nejvíce citlivé" "description": "0=vyp | 1=nejméně citlivé | ... | 9=nejvíce citlivé"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Teplota\nve spánku", "displayText": "Teplota\nve spánku",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Citlivost\nHall. čidla", "displayText": "Citlivost\nHall. čidla",
"description": "Citlivost Hallova čidla pro detekci spánku (1=nejméně citlivé | ... | 9=nejvíce citlivé)" "description": "Citlivost Hallova čidla pro detekci spánku (0=vypnuto | 1=nejméně citlivé | ... | 9=nejvíce citlivé)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval před začátkem \"režimu spánku\", kdy Hallův efekt překročí práh"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Jednotka\nteploty", "displayText": "Jednotka\nteploty",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nrychlost", "displayText": "Anim.\nrychlost",
"description": "Tempo animace ikon v menu (P=pomalu | S=středně | R=rychle)" "description": "Tempo animace ikon v menu (O=vypnuto | P=pomalu | S=středně | R=rychle)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nsmyčka", "displayText": "Anim.\nsmyčka",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jazyk:\n CS Český", "displayText": "Jazyk:\n CS Český",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: \n" "message": "Input V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Dvale...\n" "message": "Dvale...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip: \n" "message": "Tip: \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "H", "SettingRightChar": "H",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingStartNoneChar": "S",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D", "SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "R", "SettingStartSleepOffChar": "R",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Strøm\nKilde", "displayText": "Strøm\nKilde",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD-forhandlingstimeout i trin på 100 ms for kompatibilitet med nogle QC-opladere" "description": "PD-forhandlingstimeout i trin på 100 ms for kompatibilitet med nogle QC-opladere"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Start-up\nOpførsel", "displayText": "Start-up\nOpførsel",
"description": "Start automatisk med lodning når strøm sættes til. (L=Lodning | D=Dvale tilstand | R=Dvale tilstand rumtemperatur)" "description": "Start automatisk med lodning når strøm sættes til. (S=Slukket | L=Lodning | D=Dvale tilstand | R=Dvale tilstand rumtemperatur)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp ændring\nkort", "displayText": "Temp ændring\nkort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Tillad låsning\naf knapperne", "displayText": "Tillad låsning\naf knapperne",
"description": "Hold begge knapper nede under lodning for at låse dem (B=kun boost-tilstand | F=fuld låsning)" "description": "Hold begge knapper nede under lodning for at låse dem (D=deaktiver | B=kun boost-tilstand | F=fuld låsning)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Bevægelses\nfølsomhed", "displayText": "Bevægelses\nfølsomhed",
"description": "Bevægelsesfølsomhed (1=Mindst følsom | ... | 9=Mest følsom)" "description": "Bevægelsesfølsomhed (0=Slukket | 1=Mindst følsom | ... | 9=Mest følsom)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Dvale\ntemp", "displayText": "Dvale\ntemp",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\nfølsomhed", "displayText": "Hall sensor\nfølsomhed",
"description": "følsomhed overfor magneten (1=Mindst følsom | ... | 9=Mest følsom)" "description": "følsomhed overfor magneten (0=Slukket | 1=Mindst følsom | ... | 9=Mest følsom)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervallet før starten af \"dvaletilstand\", når Hall-effekten overskrider tærsklen"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatur\nEnhed", "displayText": "Temperatur\nEnhed",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nHastighed", "displayText": "Anim.\nHastighed",
"description": "Hastigheden for ikonanimationer i menuen (S=langsomt | M=medium | F=hurtigt)" "description": "Hastigheden for ikonanimationer i menuen (O=fra | S=langsomt | M=medium | F=hurtigt)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nsløfe", "displayText": "Anim.\nsløfe",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Sprog:\n DA Dansk", "displayText": "Sprog:\n DA Dansk",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "V Eingang: \n" "message": "V Eingang: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Ruhemodus...\n" "message": "Ruhemodus...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Temp: \n" "message": "Temp: \n"
}, },
"OffString": {
"message": "aus"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Vorwärmen\n" "message": "Vorwärmen\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "A",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingStartNoneChar": "A",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "R", "SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "K", "SettingStartSleepOffChar": "K",
"SettingLockDisableChar": "A",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "V" "SettingLockFullChar": "V"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Spannungs-\nquelle", "displayText": "Spannungs-\nquelle",
@@ -151,8 +131,8 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD Abfragedauer in 100ms Schritten (Kompatibilität mit best. QC-Ladegeräten)" "description": "PD Abfragedauer in 100ms Schritten (Kompatibilität mit best. QC-Ladegeräten)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Aktiviert PPS & EPR" "description": "Aktiviert PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Start im\nLötmodus", "displayText": "Start im\nLötmodus",
"description": "Heizverhalten beim Einschalten der Spannungsversorgung (L=Lötmodus | R=Ruhemodus | K=Ruhemodus mit kalter Spitze)" "description": "Heizverhalten beim Einschalten der Spannungsversorgung (A=aus | L=Lötmodus | R=Ruhemodus | K=Ruhemodus mit kalter Spitze)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp-Schritt\nDruck kurz", "displayText": "Temp-Schritt\nDruck kurz",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Tasten-\nsperre", "displayText": "Tasten-\nsperre",
"description": "Langes Drücken beider Tasten im Lötmodus sperrt diese (B=nur Boost | V=vollständig)" "description": "Langes Drücken beider Tasten im Lötmodus sperrt diese (A=aus | B=nur Boost | V=vollständig)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhasen", "displayText": "Profile\nPhasen",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Bewegungs-\nempfindlichk.", "displayText": "Bewegungs-\nempfindlichk.",
"description": "1=minimal | ... | 9=maximal" "description": "0=aus | 1=minimal | ... | 9=maximal"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Ruhe-\ntemperatur", "displayText": "Ruhe-\ntemperatur",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Empfindlichkeit\nder Hall-Sonde", "displayText": "Empfindlichkeit\nder Hall-Sonde",
"description": "Empfindlichkeit der Hall-Sonde um den Ruhemodus auszulösen (1=minimal | ... | 9=maximal)" "description": "Empfindlichkeit der Hall-Sonde um den Ruhemodus auszulösen (0=aus | 1=minimal | ... | 9=maximal)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Dauer vor dem Wechsel in den \"Ruhemodus\", nachdem die Hall-Sonde auslöst"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatur-\neinheit", "displayText": "Temperatur-\neinheit",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nGeschw.", "displayText": "Anim.\nGeschw.",
"description": "Geschwindigkeit der Icon-Animationen im Menü (L=langsam | M=mittel | S=schnell)" "description": "Geschwindigkeit der Icon-Animationen im Menü (A=aus | L=langsam | M=mittel | S=schnell)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nSchleife", "displayText": "Anim.\nSchleife",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Sprache:\n DE Deutsch", "displayText": "Sprache:\n DE Deutsch",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Löt-\nspitzentyp",
"description": "Wählen Sie den Typ der eingesetzten Spitze"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Είσοδος V: \n" "message": "Είσοδος V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Υπνος...\n" "message": "Υπνος...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Μύτη: \n" "message": "Μύτη: \n"
}, },
"OffString": {
"message": "Απ."
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "Α", "SettingAutoChar": "Α",
"SettingOffChar": "0",
"SettingSlowChar": "Α", "SettingSlowChar": "Α",
"SettingMediumChar": "Μ", "SettingMediumChar": "Μ",
"SettingFastChar": "Γ", "SettingFastChar": "Γ",
"SettingStartNoneChar": "0",
"SettingStartSolderingChar": "Κ", "SettingStartSolderingChar": "Κ",
"SettingStartSleepChar": "Ζ", "SettingStartSleepChar": "Ζ",
"SettingStartSleepOffChar": "Υ", "SettingStartSleepOffChar": "Υ",
"SettingLockDisableChar": "Α",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "Π" "SettingLockFullChar": "Π"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Πηγή\nενέργειας", "displayText": "Πηγή\nενέργειας",
@@ -151,8 +131,8 @@
"displayText": "χρονικό όριο\nPD", "displayText": "χρονικό όριο\nPD",
"description": "Χρονικό όριο διαπραγμάτευσης PD σε βήματα 100ms για συμβατότητα με κάποιους φορτιστές QC" "description": "Χρονικό όριο διαπραγμάτευσης PD σε βήματα 100ms για συμβατότητα με κάποιους φορτιστές QC"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Ενεργοποιεί λειτουργίες PPS & EPR." "description": "Ενεργοποιεί λειτουργίες PPS & EPR."
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Ζέσταμα\nκατά την εν.", "displayText": "Ζέσταμα\nκατά την εν.",
"description": "Κ=θερμ. κόλλησης | Z=αναμονή σε θερμοκρασία ύπνου μέχρι την κίνηση | Υ=αναμονή χωρίς ζέσταμα μέχρι την κίνηση" "description": "0=off | Κ=θερμ. κόλλησης | Z=αναμονή σε θερμοκρασία ύπνου μέχρι την κίνηση | Υ=αναμονή χωρίς ζέσταμα μέχρι την κίνηση"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Αλλαγή θερμοκ.\nστιγμιαίο", "displayText": "Αλλαγή θερμοκ.\nστιγμιαίο",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Κλείδωμα\nπλήκτρων", "displayText": "Κλείδωμα\nπλήκτρων",
"description": "Κατά την κόλληση, κρατήστε και τα δύο πλήκτρα για κλείδωμα (B=μόνο λειτ. boost | Π=πλήρες κλείδωμα)" "description": "Κατά την κόλληση, κρατήστε και τα δύο πλήκτρα για κλείδωμα (A=απενεργοποίηση | B=μόνο λειτ. boost | Π=πλήρες κλείδωμα)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Ευαισθησία\nκίνησης", "displayText": "Ευαισθησία\nκίνησης",
"description": "1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο" "description": "0=off | 1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Θερμοκρ.\nύπνου", "displayText": "Θερμοκρ.\nύπνου",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Ευαισθ. αισθ. \nφαιν. Hall", "displayText": "Ευαισθ. αισθ. \nφαιν. Hall",
"description": "Ευαισθησία του αισθητήρα φαινομένου Hall για εντοπισμό αδράνειας (1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο)" "description": "Ευαισθησία του αισθητήρα φαινομένου Hall για εντοπισμό αδράνειας (0=off | 1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Το διάστημα πριν από την \"λειτουργία ύπνου\" ξεκινά όταν το εφέ αίθουσας είναι πάνω από το όριο"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Μονάδες\nθερμοκρασίας", "displayText": "Μονάδες\nθερμοκρασίας",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Ταχύτητα\nκιν. εικονιδ.", "displayText": "Ταχύτητα\nκιν. εικονιδ.",
"description": "Ρυθμός κίνησης εικονιδίων στο μενού (Α=αργός | Μ=μέτριος | Γ=γρήγορος)" "description": "Ρυθμός κίνησης εικονιδίων στο μενού (0=off | Α=αργός | Μ=μέτριος | Γ=γρήγορος)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Επανάληψη\nκιν. εικονιδ.", "displayText": "Επανάληψη\nκιν. εικονιδ.",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Γλώσσα:\n EL Ελληνικά", "displayText": "Γλώσσα:\n EL Ελληνικά",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: \n" "message": "Input V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Sleeping...\n" "message": "Sleeping...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip: \n" "message": "Tip: \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingStartNoneChar": "O",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z", "SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R", "SettingStartSleepOffChar": "R",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,39 +114,10 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Power\nsource", "displayText": "Power\nsource",
"description": "Set cutoff voltage to prevent battery overdischarge (DC=10V) (S=3.3V per cell, disable PWR limit)" "description": "Set cutoff voltage to prevent battery overdrainage (DC 10V) (S=3.3V per cell, disable PWR limit)"
}, },
"MinVolCell": { "MinVolCell": {
"displayText": "Minimum\nvoltage", "displayText": "Minimum\nvoltage",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Start-up\nbehavior", "displayText": "Start-up\nbehavior",
"description": "S=heat to soldering temp | Z=standby at sleep temp until moved | R=standby without heating until moved" "description": "O=off | S=heat to soldering temp | Z=standby at sleep temp until moved | R=standby without heating until moved"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp change\nshort", "displayText": "Temp change\nshort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Allow locking\nbuttons", "displayText": "Allow locking\nbuttons",
"description": "While soldering, hold down both buttons to toggle locking them (B=boost mode only | F=full locking)" "description": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Motion\nsensitivity", "displayText": "Motion\nsensitivity",
"description": "1=least sensitive | ... | 9=most sensitive" "description": "0=off | 1=least sensitive | ... | 9=most sensitive"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Sleep\ntemp", "displayText": "Sleep\ntemp",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\nsensitivity", "displayText": "Hall sensor\nsensitivity",
"description": "Sensitivity to magnets (1=least sensitive | ... | 9=most sensitive)" "description": "Sensitivity to magnets (0=off | 1=least sensitive | ... | 9=most sensitive)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperature\nunit", "displayText": "Temperature\nunit",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nspeed", "displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (S=slow | M=medium | F=fast)" "description": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Anim.\nloop",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Language:\n EN English", "displayText": "Language:\n EN English",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -31,7 +31,7 @@
"message": "Térmico\nFuera de control" "message": "Térmico\nFuera de control"
}, },
"WarningTipShorted": { "WarningTipShorted": {
"message": "¡Punta en Corto!" "message": "!Tip Shorted!"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "¡Antes de reiniciar, asegúrese de que la punta y el mango estén a temperatura ambiente!" "message": "¡Antes de reiniciar, asegúrese de que la punta y el mango estén a temperatura ambiente!"
@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Voltaje: \n" "message": "Voltaje: \n"
}, },
"SleepingSimpleString": {
"message": "Reposo"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "En reposo...\n" "message": "En reposo...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punta: \n" "message": "Punta: \n"
}, },
"OffString": {
"message": "Apagado"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Precalentado\n" "message": "Precalentado\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "I", "SettingLeftChar": "I",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingStartNoneChar": "N",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R", "SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "F", "SettingStartSleepOffChar": "F",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Modo por\nDefecto"
},
"USBPDModeNoDynamic": {
"displayText": "Dinámico\nNo"
},
"USBPDModeSafe": {
"displayText": "Modo\nSeguro"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Fuente\nde energía", "displayText": "Fuente\nde energía",
@@ -150,9 +130,10 @@
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\ntiempo de espera", "displayText": "PD\ntiempo de espera",
"description": "Timeout de negociación de PD en pasos de 100ms para compatibilidad con algunos cargadores QC (0: apagado)" "description": "Timeout de negociación de PD en pasos de 100ms para compatibilidad con algunos cargadores QC (0: apagado)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Permite modos PPS & EPR" "description": "Permite modos PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +142,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Calentar\nal enchufar", "displayText": "Calentar\nal enchufar",
"description": "Calentado automático al iniciar (S=entrar en modo soldar | R=solo entrar en reposo | F=en reposo pero mantiene la punta fría)" "description": "Calentado automático al iniciar (N=no | S=entrar en modo soldar | R=solo entrar en reposo | F=en reposo pero mantiene la punta fría)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Cambio temp.\npuls. cortas", "displayText": "Cambio temp.\npuls. cortas",
@@ -173,7 +154,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Permitir botones\nbloqueo", "displayText": "Permitir botones\nbloqueo",
"description": "Mientras suelda, mantenga pulsados ambos botones para alternar su bloqueo (B=sólo modo boost | F=bloqueo total)" "description": "Mientras suelda, mantenga pulsados ambos botones para alternar su bloqueo (D=desactivar | B=sólo modo boost | F=bloqueo total)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Fases de\nPerfil", "displayText": "Fases de\nPerfil",
@@ -233,7 +214,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Detección de\nmovimiento", "displayText": "Detección de\nmovimiento",
"description": "Tiempo de reacción al agarrar (1=menos sensible | ... | 9=más sensible)" "description": "Tiempo de reacción al agarrar (0=no | 1=menos sensible | ... | 9=más sensible)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temperatura\nen reposo", "displayText": "Temperatura\nen reposo",
@@ -249,11 +230,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall Eff\nSensibilidad", "displayText": "Hall Eff\nSensibilidad",
"description": "Sensibilidad del sensor de efecto Hall en la detección de reposo (1=menos sensible | ... | 9=más sensible)" "description": "Sensibilidad del sensor de efecto Hall en la detección de reposo (0=no | 1=menos sensible | ... | 9=más sensible)"
},
"HallEffSleepTimeout": {
"displayText": "Tiempo reposo\nSensor Hall",
"description": "Intervalo antes de que \"sleep mode\" empiece cuando sensorhall supera límite"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Unidad de\ntemperatura", "displayText": "Unidad de\ntemperatura",
@@ -277,7 +254,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nvelocidad", "displayText": "Anim.\nvelocidad",
"description": "Velocidad de animaciones de iconos en el menú (L=baja | M=media | R=alta)" "description": "Velocidad de animaciones de iconos en el menú (O=apagado | L=baja | M=media | R=alta)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nbucle", "displayText": "Anim.\nbucle",
@@ -338,10 +315,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Idioma:\n ES Castellano", "displayText": "Idioma:\n ES Castellano",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Sisend V: \n" "message": "Sisend V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Unerežiim...\n" "message": "Unerežiim...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Otsik: \n" "message": "Otsik: \n"
}, },
"OffString": {
"message": "Väljas"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Eelkuumutus\n" "message": "Eelkuumutus\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "P", "SettingRightChar": "P",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "V",
"SettingSlowChar": "A", "SettingSlowChar": "A",
"SettingMediumChar": "K", "SettingMediumChar": "K",
"SettingFastChar": "T", "SettingFastChar": "T",
"SettingStartNoneChar": "V",
"SettingStartSolderingChar": "J", "SettingStartSolderingChar": "J",
"SettingStartSleepChar": "Z", "SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "P", "SettingStartSleepOffChar": "P",
"SettingLockDisableChar": "V",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "T" "SettingLockFullChar": "T"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Toiteallikas\nDC", "displayText": "Toiteallikas\nDC",
@@ -151,8 +131,8 @@
"displayText": "PD\naegumine", "displayText": "PD\naegumine",
"description": "PD läbirääkimise aegumine 100ms sammudena, et tagada ühilduvus osade QC laadijatega" "description": "PD läbirääkimise aegumine 100ms sammudena, et tagada ühilduvus osade QC laadijatega"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Võimaldab PPS- ja EPR-režiimi" "description": "Võimaldab PPS- ja EPR-režiimi"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Käitumine\nkäivitusel", "displayText": "Käitumine\nkäivitusel",
"description": "J=kuumuta jootmistemperatuurini | Z=unerežiim, kuni seadet liigutatakse | P=unerežiim toatemperatuuril, kuni seadet liigutatakse" "description": "V=väljas | J=kuumuta jootmistemperatuurini | Z=unerežiim, kuni seadet liigutatakse | P=unerežiim toatemperatuuril, kuni seadet liigutatakse"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp. muut\nlühike", "displayText": "Temp. muut\nlühike",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Luba nuppude\nlukustamine", "displayText": "Luba nuppude\nlukustamine",
"description": "Hoidke jootmise ajal mõlemad nupud all, et lülitada nende lukustamist (B=ainult boostrežiimis | T=täielik lukustamine)." "description": "Hoidke jootmise ajal mõlemad nupud all, et lülitada nende lukustamist (V=väljas | B=ainult boostrežiimis | T=täielik lukustamine)."
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profiil\nfaasid", "displayText": "Profiil\nfaasid",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Liikumise\ntundlikkus", "displayText": "Liikumise\ntundlikkus",
"description": "1=vähetundlikuim | ... | 9=kõige tundlikum" "description": "0=väljas | 1=vähetundlikuim | ... | 9=kõige tundlikum"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Unerežiimi\ntemp", "displayText": "Unerežiimi\ntemp",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Halli anduri\ntundlikkus", "displayText": "Halli anduri\ntundlikkus",
"description": "Tundlikkus magnetite suhtes (1=vähetundlikum | ... | 9=kõige tundlikum)" "description": "Tundlikkus magnetite suhtes (0=väljas | 1=vähetundlikum | ... | 9=kõige tundlikum)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervall enne \"unerežiimi\" käivitub, kui saaliefekt on üle läve"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatuuri\nühik", "displayText": "Temperatuuri\nühik",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nkiirus", "displayText": "Anim.\nkiirus",
"description": "Menüüikoonide animatsiooni kiirus (A=aeglane | K=keskmine | T=tempokas)" "description": "Menüüikoonide animatsiooni kiirus (V=väljas | A=aeglane | K=keskmine | T=tempokas)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Pidevad\nanim.", "displayText": "Pidevad\nanim.",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Keel:\n ET Eesti", "displayText": "Keel:\n ET Eesti",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -4,13 +4,13 @@
"tempUnitFahrenheit": false, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CalibrationDone": { "CalibrationDone": {
"message": "Kalibrointi\nvalmis!" "message": "Calibration\ndone!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Tehdasasetukset\npalautettu!" "message": "Palautus"
}, },
"SettingsResetMessage": { "SettingsResetMessage": {
"message": "Tehdasasetukset\npalautettu!" "message": "Asetukset\npalautettu!"
}, },
"NoAccelerometerMessage": { "NoAccelerometerMessage": {
"message": "Kiihtyvyysanturi\npuuttuu!" "message": "Kiihtyvyysanturi\npuuttuu!"
@@ -19,67 +19,76 @@
"message": "USB-PD IC\npuuttuu!" "message": "USB-PD IC\npuuttuu!"
}, },
"LockingKeysString": { "LockingKeysString": {
"message": "Näppäinlukko\nkäytössä." "message": " LUKITTU"
}, },
"UnlockingKeysString": { "UnlockingKeysString": {
"message": "Näppäimet\nkäytössä." "message": "AUKI"
}, },
"WarningKeysLockedString": { "WarningKeysLockedString": {
"message": "!Näppäimet\nlukittu!" "message": "!LUKKO!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "!Lämmönsäätelyn\nhäiriö!" "message": "Thermal\nRunaway"
}, },
"WarningTipShorted": { "WarningTipShorted": {
"message": "!Kärki\noikosulussa!" "message": "!Tip Shorted!"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Varmista laitteen ja kärjen huoneenlämpöisyys ennen uudelleenkäynnistystä!" "message": "Before rebooting, make sure tip & handle are at room temperature!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "Kalibroidaan\n" "message": "calibrating\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Haluatko varmasti palauttaa oletusarvot?" "message": "Haluatko varmasti palauttaa oletusarvot?"
}, },
"UVLOWarningString": { "UVLOWarningString": {
"message": "DC jännite alhainen." "message": "DC ALH."
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "Alijännite.\n" "message": "Alijännite\n"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "Jännite: \n" "message": "Jännite: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Lepotila...\n" "message": "Lepotila...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Kärki: \n" "message": "Kärki: \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Esilämmitetään\n" "message": "Preheat\n"
}, },
"ProfileCooldownString": { "ProfileCooldownString": {
"message": "Jäähtyy\n" "message": "Cooldown\n"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Laite saattaa olla väärennös!" "message": "Your device is most likely a counterfeit!"
}, },
"TooHotToStartProfileWarning": { "TooHotToStartProfileWarning": {
"message": "Lämpötila liian korkea\nprofiilin aloitukseen!" "message": "Too hot to\nstart profile"
} }
}, },
"characters": { "characters": {
"SettingRightChar": "O", "SettingRightChar": "O",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "P",
"SettingSlowChar": "A", "SettingSlowChar": "A",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingStartNoneChar": "E",
"SettingStartSolderingChar": "J", "SettingStartSolderingChar": "J",
"SettingStartSleepChar": "L", "SettingStartSleepChar": "L",
"SettingStartSleepOffChar": "H", "SettingStartSleepOffChar": "H",
"SettingLockDisableChar": "P",
"SettingLockBoostChar": "V", "SettingLockBoostChar": "V",
"SettingLockFullChar": "K" "SettingLockFullChar": "K"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "USB-PD\noletus-t"
},
"USBPDModeNoDynamic": {
"displayText": "USB-PD\nvakaa-ti"
},
"USBPDModeSafe": {
"displayText": "USB-PD\nturva-ti"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Virtalähde\nDC", "displayText": "Virtalähde\nDC",
@@ -145,95 +125,95 @@
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "QC\njännite", "displayText": "QC\njännite",
"description": "Ensisijainen maksimi QC jännite." "description": "Ensisijainen maksimi QC jännite"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\naikakatkais", "displayText": "PD\ntimeout",
"description": "PD neuvottelun aikakatkaisu 100ms askelin joitakin QC-latureita varten." "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\ntila", "displayText": "PD\nVPDO",
"description": "Vakaa tila ei käytä EPR & PPS, turva-tila ei käytä vastuksen pehmustusta." "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Tehostus-\nlämpötila", "displayText": "Tehostus-\nlämpötila",
"description": "Tehostustilan lämpötila." "description": "Tehostustilan lämpötila"
}, },
"AutoStart": { "AutoStart": {
"displayText": "Autom.\nkäynnistys", "displayText": "Autom.\nkäynnistys",
"description": "Käynnistää virrat kytkettäessä juotostilan automaattisesti. (J=juotostila | L=Lepotila | H=Lepotila huoneenlämpö)" "description": "Käynnistää virrat kytkettäessä juotostilan automaattisesti. (E=Ei käytössä | J=juotostila | L=Lepotila | H=Lepotila huoneenlämpö)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Lämmön muutos\nlyhyt painal.", "displayText": "Lämmön muutos\nlyhyt painal.",
"description": "Lämpötilan muutos lyhyellä painalluksella." "description": "Lämpötilan muutos lyhyellä painalluksella"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"displayText": "Lämmön muutos\npitkä painal.", "displayText": "Lämmön muutos\npitkä painal.",
"description": "Lämpötilan muutos pitkällä painalluksella." "description": "Lämpötilan muutos pitkällä painalluksella"
}, },
"LockingMode": { "LockingMode": {
"displayText": "Salli nappien\nlukitus", "displayText": "Salli nappien\nlukitus",
"description": "Kolvatessa paina molempia näppäimiä lukitaksesi ne (V=vain tehostus | K=kaikki)" "description": "Kolvatessa paina molempia näppäimiä lukitaksesi ne (P=pois | V=vain tehostus | K=kaikki)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profiili\nvaiheet", "displayText": "Profile\nPhases",
"description": "Vaiheiden määrä profiilitilassa." "description": "Number of phases in profile mode"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Esilämmityksen\nlämpötila", "displayText": "Preheat\nTemp",
"description": "Esilämmittää tähän lämpötilaan profiilitilan alussa." "description": "Preheat to this temperature at the start of profile mode"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Esilämmityksen\nnopeus", "displayText": "Preheat\nSpeed",
"description": "Esilämmityksen nopeus (asteita/sekunti)" "description": "Preheat at this rate (degrees per second)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Vaiheen 1\nTemp", "displayText": "Phase 1\nTemp",
"description": "Kohdelämpötila tämän vaiheen lopussa." "description": "Target temperature for the end of this phase"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Vaiheen 1\nkesto", "displayText": "Phase 1\nDuration",
"description": "Tämän vaiheen ajankäyttö (sekunteina) Saattaa kestää kauemmin jos lämmitys hitaampaa." "description": "Target duration of this phase (seconds)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Vaiheen 2\nlämpötila", "displayText": "Phase 2\nTemp",
"description": "Kohdelämpötila tämän vaiheen lopussa." "description": ""
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "Vaiheen 2\nkesto", "displayText": "Phase 2\nDuration",
"description": "Tämän vaiheen ajankäyttö (sekunteina) Saattaa kestää kauemmin jos lämmitys hitaampaa." "description": ""
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "Vaiheen 3\nlämpötila", "displayText": "Phase 3\nTemp",
"description": "Kohdelämpötila tämän vaiheen lopussa." "description": ""
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "Vaiheen 3\nkesto", "displayText": "Phase 3\nDuration",
"description": "Tämän vaiheen ajankäyttö (sekunteina) Saattaa kestää kauemmin jos lämmitys hitaampaa." "description": ""
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "Vaiheen 4\nlämpötila", "displayText": "Phase 4\nTemp",
"description": "Kohdelämpötila tämän vaiheen lopussa." "description": ""
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "Vaiheen 4\nkesto", "displayText": "Phase 4\nDuration",
"description": "Tämän vaiheen ajankäyttö (sekunteina) Saattaa kestää kauemmin jos lämmitys hitaampaa." "description": ""
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "Vaiheen 5\nlämpötila", "displayText": "Phase 5\nTemp",
"description": "Kohdelämpötila tämän vaiheen lopussa." "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Vaiheen 5\nkesto", "displayText": "Phase 5\nDuration",
"description": "Tämän vaiheen ajankäyttö (sekunteina) Saattaa kestää kauemmin jos lämmitys hitaampaa." "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Jäähtymis\nnopeus", "displayText": "Cooldown\nSpeed",
"description": "Jäähtymisnopeus profiilitilan lopussa (asteita sekunnissa)" "description": "Cooldown at this rate at the end of profile mode (degrees per second)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Liikkeen\nherkkyys", "displayText": "Liikkeen\nherkkyys",
"description": "1=vähäinen herkkyys | ... | 9=suurin herkkyys" "description": "0=pois päältä | 1=vähäinen herkkyys | ... | 9=suurin herkkyys"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Lepotilan\nlämpötila", "displayText": "Lepotilan\nlämpötila",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall-\nherk.", "displayText": "Hall-\nherk.",
"description": "Hall-efektianturin herkkyys lepotilan tunnistuksessa (1=vähäinen herkkyys | ... | 9=suurin herkkyys)" "description": "Hall-efektianturin herkkyys lepotilan tunnistuksessa (0=pois päältä | 1=vähäinen herkkyys | ... | 9=suurin herkkyys)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Aikaväli ennen \"lepotilaa\" alkaa, kun hall-efekti ylittää kynnyksen"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Lämpötilan\nyksikkö", "displayText": "Lämpötilan\nyksikkö",
@@ -277,27 +253,27 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Animaation\nnopeus", "displayText": "Animaation\nnopeus",
"description": "Animaatioiden nopeus valikossa (A=alhainen | K=keskiverto | S=suuri)" "description": "Animaatioiden nopeus valikossa (P=pois | A=alhainen | K=keskiverto | S=suuri)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Animaation\ntoistaminen", "displayText": "Animaation\ntoistaminen",
"description": "Toista animaatiot valikossa." "description": "Toista animaatiot valikossa"
}, },
"Brightness": { "Brightness": {
"displayText": "Näytön\nkirkkaus", "displayText": "Screen\nbrightness",
"description": "Säädä OLED-näytön kirkkautta." "description": "Adjust the OLED screen brightness"
}, },
"ColourInversion": { "ColourInversion": {
"displayText": "Käänteiset\nvärit", "displayText": "Invert\nscreen",
"description": "Asettaa käänteiset värit OLED-näyttöön." "description": "Invert the OLED screen colors"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Käynnistysl\naika näytöllä", "displayText": "Boot logo\nduration",
"description": "Aseta käynnistyslogon aika näytöllä (s=sekunteja)" "description": "Set boot logo duration (s=seconds)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Tiedot\nlepotilassa", "displayText": "Tiedot\nlepotilassa",
"description": "Näyttää yksityiskohtaisemmat tiedot pienellä fontilla lepotilassa." "description": "Näyttää yksityiskohtaisemmat pienemmällä fontilla tiedot lepotilassa."
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"displayText": "Tarkempi\njuotosnäyttö", "displayText": "Tarkempi\njuotosnäyttö",
@@ -305,23 +281,23 @@
}, },
"BluetoothLE": { "BluetoothLE": {
"displayText": "Bluetooth\n", "displayText": "Bluetooth\n",
"description": "BLE käyttöön." "description": "Enables BLE"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Tehon-\nrajoitus", "displayText": "Tehon-\nrajoitus",
"description": "Suurin sallittu teho (Watti)" "description": "Suurin sallittu teho (Watti)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Kalibroi CJC\nensi käynnist", "displayText": "Calibrate CJC\nat next boot",
"description": "Ensi käynnistyksessä kärjen Cold Junction Compensation kalibroidaan (ei tarpeellista jos Delta T on < 5°C)" "description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Kalibroi\ntulojännite?", "displayText": "Kalibroi\ntulojännite?",
"description": "Tulojännitteen kalibrointi (VIN) (paina pitkään poistuaksesi)" "description": "Tulojännitten kalibrointi (VIN) (paina pitkään poistuaksesi)"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"displayText": "Herätyspulssin\nvoimakkuus", "displayText": "Herätyspulssin\nvoimakkuus",
"description": "Herätyspulssin voimakkuus (Watteina)" "description": "Herätyspulssin voimakkuus (Watti)"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"displayText": "Pulssin\nodotusaika", "displayText": "Pulssin\nodotusaika",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Kieli:\n FI Suomi", "displayText": "Kieli:\n FI Suomi",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "V d'entrée: \n" "message": "V d'entrée: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "En veille...\n" "message": "En veille...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Panne: \n" "message": "Panne: \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "G", "SettingLeftChar": "G",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "D",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingStartNoneChar": "D",
"SettingStartSolderingChar": "A", "SettingStartSolderingChar": "A",
"SettingStartSleepChar": "V", "SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "O", "SettingStartSleepOffChar": "O",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "V" "SettingLockFullChar": "V"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Source\nd'alim.", "displayText": "Source\nd'alim.",
@@ -151,9 +131,9 @@
"displayText": "Délai\nexpir. PD", "displayText": "Délai\nexpir. PD",
"description": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC" "description": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\nboost", "displayText": "Temp.\nboost",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Chauffer au\ndémarrage", "displayText": "Chauffer au\ndémarrage",
"description": "A=activé | V=mode veille | O=mode veille à température ambiante" "description": "D=désactivé | A=activé | V=mode veille | O=mode veille à température ambiante"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Incrément\nappui court", "displayText": "Incrément\nappui court",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Verrouiller\nles boutons", "displayText": "Verrouiller\nles boutons",
"description": "Pendant la soudure, appuyer sur les deux boutons pour les verrouiller (B=boost seulement | V=verr. total)" "description": "Pendant la soudure, appuyer sur les deux boutons pour les verrouiller (D=désactivé | B=boost seulement | V=verr. total)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Sensibilité\nau mouvement", "displayText": "Sensibilité\nau mouvement",
"description": "1=peu sensible | ... | 9=très sensible" "description": "0=désactivé | 1=peu sensible | ... | 9=très sensible"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp.\nveille", "displayText": "Temp.\nveille",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Sensibilité\ncapteur effet hall", "displayText": "Sensibilité\ncapteur effet hall",
"description": "Sensibilité du capteur à effet Hall pour la mise en veille (1=peu sensible | ... | 9=très sensible)" "description": "Sensibilité du capteur à effet Hall pour la mise en veille (0=désactivé | 1=peu sensible | ... | 9=très sensible)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervalle avant le démarrage du \"mode veille\" lorsque l'effet Hall est supérieur au seuil"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Unité de\ntempérature", "displayText": "Unité de\ntempérature",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Vitesse\nanim. icônes", "displayText": "Vitesse\nanim. icônes",
"description": "Vitesse des animations des icônes dans le menu (L=lente | M=moyenne | R=rapide)" "description": "Vitesse des animations des icônes dans le menu (D=désactivé | L=lente | M=moyenne | R=rapide)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Rejouer\nanim. icônes", "displayText": "Rejouer\nanim. icônes",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Langue:\n FR Français", "displayText": "Langue:\n FR Français",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Napon V: \n" "message": "Napon V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz "
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "SPAVAM...\n" "message": "SPAVAM...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Vrh: \n" "message": "Vrh: \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "U",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "B", "SettingFastChar": "B",
"SettingStartNoneChar": "U",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "T", "SettingStartSleepChar": "T",
"SettingStartSleepOffChar": "H", "SettingStartSleepOffChar": "H",
"SettingLockDisableChar": "O",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "Z" "SettingLockFullChar": "Z"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Izvor\nnapajanja", "displayText": "Izvor\nnapajanja",
@@ -151,9 +131,9 @@
"displayText": "USB-PD\ntimeout", "displayText": "USB-PD\ntimeout",
"description": "Timeout za USB-Power Delivery u koracima od 100ms za kompatibilnost s nekim QC punjačima" "description": "Timeout za USB-Power Delivery u koracima od 100ms za kompatibilnost s nekim QC punjačima"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\ntemp", "displayText": "Boost\ntemp",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Auto\nstart", "displayText": "Auto\nstart",
"description": "Ako je aktivno, lemilica po uključivanju napajanja odmah počinje grijati. (L=lemljenje | T=spavanje toplo | H=spavanje hladno)" "description": "Ako je aktivno, lemilica po uključivanju napajanja odmah počinje grijati. (U=ugašeno | L=lemljenje | T=spavanje toplo | H=spavanje hladno)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Korak temp\nkratki pritisak", "displayText": "Korak temp\nkratki pritisak",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Zaključavanje\ntipki", "displayText": "Zaključavanje\ntipki",
"description": "Tokom lemljenja, držite obje tipke kako biste ih zaključali ili otključali (B=zaključan boost | Z=zaključano sve)" "description": "Tokom lemljenja, držite obje tipke kako biste ih zaključali ili otključali (O=otključano | B=zaključan boost | Z=zaključano sve)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Osjetljivost\npokreta", "displayText": "Osjetljivost\npokreta",
"description": "Osjetljivost prepoznavanja pokreta. (1=najmanje osjetljivo | ... | 9=najosjetljivije)" "description": "Osjetljivost prepoznavanja pokreta. (0=ugašeno | 1=najmanje osjetljivo | ... | 9=najosjetljivije)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp\nspavanja", "displayText": "Temp\nspavanja",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Osjetljivost\nHall senzora", "displayText": "Osjetljivost\nHall senzora",
"description": "Osjetljivost senzora magnetskog polja za detekciju spavanja (N=Najmanja | S=Srednja | V=Visoka)" "description": "Osjetljivost senzora magnetskog polja za detekciju spavanja (U=Ugašeno | N=Najmanja | S=Srednja | V=Visoka)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval prije pokretanja \"načina mirovanja\" kada je Hall efekt iznad praga"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Jedinica\ntemperature", "displayText": "Jedinica\ntemperature",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Brzina\nanimacije", "displayText": "Brzina\nanimacije",
"description": "Brzina animacije ikona u menijima (S=sporo | M=srednje | B=brzo)" "description": "Brzina animacije ikona u menijima (U=ugašeno | S=sporo | M=srednje | B=brzo)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Ponavljanje\nanimacije", "displayText": "Ponavljanje\nanimacije",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jezik:\n HR Hrvatski", "displayText": "Jezik:\n HR Hrvatski",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Bemenet V: \n" "message": "Bemenet V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Alvás...\n" "message": "Alvás...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Hegy: \n" "message": "Hegy: \n"
}, },
"OffString": {
"message": "Ki"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "J", "SettingRightChar": "J",
"SettingLeftChar": "B", "SettingLeftChar": "B",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "0",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "K", "SettingMediumChar": "K",
"SettingFastChar": "Gy", "SettingFastChar": "Gy",
"SettingStartNoneChar": "K",
"SettingStartSolderingChar": "F", "SettingStartSolderingChar": "F",
"SettingStartSleepChar": "A", "SettingStartSleepChar": "A",
"SettingStartSleepOffChar": "Sz", "SettingStartSleepOffChar": "Sz",
"SettingLockDisableChar": "K",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "T" "SettingLockFullChar": "T"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Áram\nforrás", "displayText": "Áram\nforrás",
@@ -151,9 +131,9 @@
"displayText": "PD\nidőtúllépés", "displayText": "PD\nidőtúllépés",
"description": "PD egyeztetés időkerete (kompatibilitás QC töltőkkel) (x 100ms)" "description": "PD egyeztetés időkerete (kompatibilitás QC töltőkkel) (x 100ms)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Boost\nhőmérséklet", "displayText": "Boost\nhőmérséklet",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Automatikus\nindítás", "displayText": "Automatikus\nindítás",
"description": "Bekapcsolás után automatikusan lépjen forrasztás módba (F=forrasztás | A=alvó mód | Sz=szobahőmérséklet)" "description": "Bekapcsolás után automatikusan lépjen forrasztás módba (K=ki | F=forrasztás | A=alvó mód | Sz=szobahőmérséklet)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Hőm. állítás\nrövid", "displayText": "Hőm. állítás\nrövid",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Lezárás\nengedélyezés", "displayText": "Lezárás\nengedélyezés",
"description": "Forrasztás közben mindkét gombot hosszan lenyomva lezárja a kezelést (B=csak \"boost\" módban | T=teljes lezárás)" "description": "Forrasztás közben mindkét gombot hosszan lenyomva lezárja a kezelést (K=ki | B=csak \"boost\" módban | T=teljes lezárás)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Mozgás\nérzékenység", "displayText": "Mozgás\nérzékenység",
"description": "Mozgás érzékenység beállítása (1=legkevésbé érzékeny | ... | 9=legérzékenyebb)" "description": "Mozgás érzékenység beállítása (0=kikapcsolva | 1=legkevésbé érzékeny | ... | 9=legérzékenyebb)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Alvási\nhőmérséklet", "displayText": "Alvási\nhőmérséklet",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Alvásérzékelő\nérzékenység", "displayText": "Alvásérzékelő\nérzékenység",
"description": "Alvásérzékelő gyorsulásmérő érzékenysége (1=legkevésbé érzékeny | ... | 9=legérzékenyebb)" "description": "Alvásérzékelő gyorsulásmérő érzékenysége (0=kikapcsolva | 1=legkevésbé érzékeny | ... | 9=legérzékenyebb)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Az \"alvó üzemmód\" előtti intervallum akkor kezdődik, amikor a hall-effektus meghaladja a küszöbértéket"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Hőmérséklet\nmértékegysége", "displayText": "Hőmérséklet\nmértékegysége",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Animáció\nsebessége", "displayText": "Animáció\nsebessége",
"description": "Menüikonok animációjának sebessége (L=lassú | K=közepes | Gy=gyors)" "description": "Menüikonok animációjának sebessége (0=ki | L=lassú | K=közepes | Gy=gyors)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Folytonos\nanimáció", "displayText": "Folytonos\nanimáció",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Nyelv:\n HU Magyar", "displayText": "Nyelv:\n HU Magyar",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "V in: \n" "message": "V in: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz "
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Riposo\n" "message": "Riposo\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punta: \n" "message": "Punta: \n"
}, },
"OffString": {
"message": "OFF"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preriscaldamento\n" "message": "Preriscaldamento\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "S", "SettingLeftChar": "S",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "V", "SettingFastChar": "V",
"SettingStartNoneChar": "D",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R", "SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "A", "SettingStartSleepOffChar": "A",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "T", "SettingLockBoostChar": "T",
"SettingLockFullChar": "C" "SettingLockFullChar": "C"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Modalità\npredefinita"
},
"USBPDModeNoDynamic": {
"displayText": "Modalità\nstatica"
},
"USBPDModeSafe": {
"displayText": "Modalità\nsicura"
},
"TipTypeAuto": {
"displayText": "Rilevaz.\nauto"
},
"TipTypeT12Long": {
"displayText": "TS100\nlunga"
},
"TipTypeT12Short": {
"displayText": "Pine\ncorta"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Sorgente\nalimentaz", "displayText": "Sorgente\nalimentaz",
@@ -149,19 +129,19 @@
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "Abilitazione\nUSB PD", "displayText": "Abilitazione\nUSB PD",
"description": "Imposta il tempo di negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]" "description": "Regola il massimo tempo utile per la negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "Modalità\nUSB PD", "displayText": "PD\nVPDO",
"description": "Abilita le modalità Power Delivery PPS ed EPR" "description": "Abilita le modalità Power Delivery PPS ed EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp\nturbo", "displayText": "Temp\nTurbo",
"description": "Imposta la temperatura della funzione turbo [°C/°F]" "description": "Imposta la temperatura della funzione turbo [°C/°F]"
}, },
"AutoStart": { "AutoStart": {
"displayText": "Avvio\nautomatico", "displayText": "Avvio\nautomatico",
"description": "Attiva automaticamente il saldatore quando viene alimentato [S: saldatura; R: riposo; A: temperatura ambiente]" "description": "Attiva automaticamente il saldatore quando viene alimentato [D: disattiva; S: saldatura; R: riposo; A: temperatura ambiente]"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp passo\nbreve", "displayText": "Temp passo\nbreve",
@@ -173,11 +153,11 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Blocco\ntasti", "displayText": "Blocco\ntasti",
"description": "Blocca i tasti durante la modalità saldatura; tieni premuto entrambi per bloccare o sbloccare [T: consenti Turbo; C: blocco completo]" "description": "Blocca i tasti durante la modalità saldatura; tieni premuto entrambi per bloccare o sbloccare [D: disattiva; T: consenti Turbo; C: blocco completo]"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Fasi modalità\nprofilo", "displayText": "Fasi modalità\nprofilo",
"description": "Imposta il numero di fasi da implementare per un profilo di riscaldamento personalizzato" "description": "Imposta il numero di fasi da attuare per un profilo di riscaldamento personalizzato"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Temperatura\npreriscaldamento", "displayText": "Temperatura\npreriscaldamento",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Sensibilità\nal movimento", "displayText": "Sensibilità\nal movimento",
"description": "Imposta la sensibilità al movimento per uscire dalla modalità riposo [1: minima; 9: massima]" "description": "Imposta la sensibilità al movimento per uscire dalla modalità riposo [0: nessuna; 1: minima; 9: massima]"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temperatura\nriposo", "displayText": "Temperatura\nriposo",
@@ -241,19 +221,15 @@
}, },
"SleepTimeout": { "SleepTimeout": {
"displayText": "Timer\nriposo", "displayText": "Timer\nriposo",
"description": "Imposta un timer per entrare in modalità riposo [secondi/minuti]" "description": "Imposta il timer per entrare in modalità riposo [secondi/minuti]"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"displayText": "Timer\nspegnimento", "displayText": "Timer\nspegnimento",
"description": "Imposta un timer per lo spegnimento [minuti]" "description": "Imposta il timer per lo spegnimento [minuti]"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Sensore\nHall", "displayText": "Sensore\nHall",
"description": "Regola la sensibilità del sensore ad effetto Hall per entrare in modalità riposo [1: minima; 9: massima]" "description": "Regola la sensibilità del sensore ad effetto Hall per entrare in modalità riposo [0: nessuna; 1: minima; 9: massima]"
},
"HallEffSleepTimeout": {
"displayText": "Timer\nHall",
"description": "Imposta un timer per entrare in modalità riposo quando il sensore ad effetto Hall è al di sopra della soglia di attivazione [secondi]"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Unità di\ntemperatura", "displayText": "Unità di\ntemperatura",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Velocità\nanimazioni", "displayText": "Velocità\nanimazioni",
"description": "Imposta la velocità di riproduzione delle animazioni del menù principale [L: lenta; M: media; V: veloce]" "description": "Imposta la velocità di riproduzione delle animazioni del menù principale [O: OFF; L: lenta; M: media; V: veloce]"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Ciclo\nanimazioni", "displayText": "Ciclo\nanimazioni",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Lingua:\n IT Italiano", "displayText": "Lingua:\n IT Italiano",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Tipo di\npunta",
"description": "Seleziona il modello della punta in uso"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: " "message": "Input V: "
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Sleeping..." "message": "Sleeping..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip: " "message": "Tip: "
}, },
"OffString": {
"message": "オフ"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat" "message": "Preheat"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "右", "SettingRightChar": "右",
"SettingLeftChar": "左", "SettingLeftChar": "左",
"SettingAutoChar": "自", "SettingAutoChar": "自",
"SettingOffChar": "×",
"SettingSlowChar": "遅", "SettingSlowChar": "遅",
"SettingMediumChar": "中", "SettingMediumChar": "中",
"SettingFastChar": "速", "SettingFastChar": "速",
"SettingStartNoneChar": "×",
"SettingStartSolderingChar": "熱", "SettingStartSolderingChar": "熱",
"SettingStartSleepChar": "待", "SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室", "SettingStartSleepOffChar": "室",
"SettingLockDisableChar": "×",
"SettingLockBoostChar": "ブ", "SettingLockBoostChar": "ブ",
"SettingLockFullChar": "全" "SettingLockFullChar": "全"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "下限電圧", "displayText": "下限電圧",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "一部のQC電源との互換性のため、PDネゴシエーションをタイムアウトする時間 <x100msミリ秒>" "description": "一部のQC電源との互換性のため、PDネゴシエーションをタイムアウトする時間 <x100msミリ秒>"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD VPDO", "displayText": "PD VPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "ブースト温度", "displayText": "ブースト温度",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "自動加熱", "displayText": "自動加熱",
"description": "電源投入時に自動的に加熱する <熱=半田付けモード | 待=スタンバイモード | 室=室温スタンバイモード>" "description": "電源投入時に自動的に加熱する <×=オフ | 熱=半田付けモード | 待=スタンバイモード | 室=室温スタンバイモード>"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "温度変化 短", "displayText": "温度変化 短",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "ボタンロック", "displayText": "ボタンロック",
"description": "半田付けモード時に両方のボタンを長押しし、ボタンロックする <ブ=ブーストのみ許可 | 全=すべてをロック>" "description": "半田付けモード時に両方のボタンを長押しし、ボタンロックする <×=オフ | ブ=ブーストのみ許可 | 全=すべてをロック>"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile Phases", "displayText": "Profile Phases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "動きの感度", "displayText": "動きの感度",
"description": "1=最低感度 | ... | 9=最高感度" "description": "0=オフ | 1=最低感度 | ... | 9=最高感度"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "待機温度", "displayText": "待機温度",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "磁界感度", "displayText": "磁界感度",
"description": "スタンバイモードに入るのに使用される磁場センサーの感度 <1=最低感度 | ... | 9=最高感度>" "description": "スタンバイモードに入るのに使用される磁場センサーの感度 <0=オフ | 1=最低感度 | ... | 9=最高感度>"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "ホール効果が閾値を超えたときに\"「スリープモード」\"が開始されるまでの間隔"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "温度単位", "displayText": "温度単位",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "動画の速度", "displayText": "動画の速度",
"description": "メニューアイコンのアニメーションの速さ <遅=低速 | 中=中速 | 速=高速>" "description": "メニューアイコンのアニメーションの速さ <×=再生しない | 遅=低速 | 中=中速 | 速=高速>"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "動画をループ", "displayText": "動画をループ",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "言語: 日本語", "displayText": "言語: 日本語",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Įvestis V: \n" "message": "Įvestis V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Miegu...\n" "message": "Miegu...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Antg: \n" "message": "Antg: \n"
}, },
"OffString": {
"message": "Išj"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "K", "SettingLeftChar": "K",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "I",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "V", "SettingMediumChar": "V",
"SettingFastChar": "G", "SettingFastChar": "G",
"SettingStartNoneChar": "N",
"SettingStartSolderingChar": "T", "SettingStartSolderingChar": "T",
"SettingStartSleepChar": "M", "SettingStartSleepChar": "M",
"SettingStartSleepOffChar": "K", "SettingStartSleepOffChar": "K",
"SettingLockDisableChar": "I",
"SettingLockBoostChar": "T", "SettingLockBoostChar": "T",
"SettingLockFullChar": "V" "SettingLockFullChar": "V"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Maitinimo\nšaltinis", "displayText": "Maitinimo\nšaltinis",
@@ -151,9 +131,9 @@
"displayText": "PD\nlaikas", "displayText": "PD\nlaikas",
"description": "PD suderinimo laikas žingsniais po 100ms suderinamumui su kai kuriais QC įkrovikliais" "description": "PD suderinimo laikas žingsniais po 100ms suderinamumui su kai kuriais QC įkrovikliais"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Turbo\ntemperat.", "displayText": "Turbo\ntemperat.",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Automatinis\npaleidimas", "displayText": "Automatinis\npaleidimas",
"description": "Ar pradėti kaitininti iš karto įjungus lituoklį (T=Taip | M=Miegas | K=Miegoti kambario temperatūroje)" "description": "Ar pradėti kaitininti iš karto įjungus lituoklį (N=Ne | T=Taip | M=Miegas | K=Miegoti kambario temperatūroje)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp.keitim.\ntrump.spust.", "displayText": "Temp.keitim.\ntrump.spust.",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Mygtukų\nužraktas", "displayText": "Mygtukų\nužraktas",
"description": "Lituodami, ilgai paspauskite abu mygtukus, kad juos užrakintumėte (T=leidžiamas tik Turbo režimas | V=Visiškas užrakinimas)" "description": "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)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Judesio\njautrumas", "displayText": "Judesio\njautrumas",
"description": "Judesio jautrumas (1=Mažiausias | ... | 9=Didžiausias)" "description": "Judesio jautrumas (0=Išjungta | 1=Mažiausias | ... | 9=Didžiausias)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Miego\ntemperat.", "displayText": "Miego\ntemperat.",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Holo\njutiklis", "displayText": "Holo\njutiklis",
"description": "Holo jutiklio jautrumas nustatant miegą (1=Mažiausias | ... | 9=Didžiausias)" "description": "Holo jutiklio jautrumas nustatant miegą (0=Išjungta | 1=Mažiausias | ... | 9=Didžiausias)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervalas prieš \"miego režimą\" prasideda, kai salės efektas viršija slenkstį"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatūros\nvienetai", "displayText": "Temperatūros\nvienetai",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Animacijų\ngreitis", "displayText": "Animacijų\ngreitis",
"description": "Paveiksliukų animacijų greitis meniu punktuose (L=Lėtas | V=Vidutinis | G=Greitas)" "description": "Paveiksliukų animacijų greitis meniu punktuose (I=Išjungtas | L=Lėtas | V=Vidutinis | G=Greitas)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Animacijų\npakartojimas", "displayText": "Animacijų\npakartojimas",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Kalba:\n LT Lietuvių", "displayText": "Kalba:\n LT Lietuvių",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Innspenn.: \n" "message": "Innspenn.: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Dvale...\n" "message": "Dvale...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Spiss: \n" "message": "Spiss: \n"
}, },
"OffString": {
"message": "Av"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "H", "SettingRightChar": "H",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingStartNoneChar": "I",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D", "SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "R", "SettingStartSleepOffChar": "R",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Kilde\n", "displayText": "Kilde\n",
@@ -151,9 +131,9 @@
"displayText": "PD-\ntidsavb.", "displayText": "PD-\ntidsavb.",
"description": "PD-forhandlingstidsavbrudd i steg på 100 ms for kompatibilitet med noen QC-ladere" "description": "PD-forhandlingstidsavbrudd i steg på 100 ms for kompatibilitet med noen QC-ladere"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "KTmp\n", "displayText": "KTmp\n",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "AStart\n", "displayText": "AStart\n",
"description": "Start automatisk med lodding når strøm kobles til. (L=Lodding | D=Dvale | R=Dvale romtemperatur)" "description": "Start automatisk med lodding når strøm kobles til. (I=Inaktiv | L=Lodding | D=Dvale | R=Dvale romtemperatur)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp-endring\nkort", "displayText": "Temp-endring\nkort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Tillat å låse\nknapper", "displayText": "Tillat å låse\nknapper",
"description": "Mens du lodder, hold nede begge knapper for å bytte mellom låsemodus (B=kun boost | F=full lås)" "description": "Mens du lodder, hold nede begge knapper for å bytte mellom låsemodus (D=deaktiver | B=kun boost | F=full lås)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "BSensr\n", "displayText": "BSensr\n",
"description": "Bevegelsesfølsomhet (1=Minst følsom | ... | 9=Mest følsom)" "description": "Bevegelsesfølsomhet (0=Inaktiv | 1=Minst følsom | ... | 9=Mest følsom)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "DTmp\n", "displayText": "DTmp\n",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall-sensor\nfølsomhet", "displayText": "Hall-sensor\nfølsomhet",
"description": "Sensitiviteten til Hall-effekt-sensoren for å detektere inaktivitet (1=Minst følsom | ... | 9=Mest følsom)" "description": "Sensitiviteten til Hall-effekt-sensoren for å detektere inaktivitet (0=Inaktiv | 1=Minst følsom | ... | 9=Mest følsom)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervall før \"dvalemodus\" starter når halleffekten er over terskelen"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "TmpEnh\n", "displayText": "TmpEnh\n",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nhastighet", "displayText": "Anim.\nhastighet",
"description": "Hastigheten til animasjonene i menyen (S=slow | M=medium | F=fast)" "description": "Hastigheten til animasjonene i menyen (O=off | S=slow | M=medium | F=fast)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Anim.\nloop",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Språk:\n NB Norsk bm", "displayText": "Språk:\n NB Norsk bm",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Ingangs spanning: \n" "message": "Ingangs spanning: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz "
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Slaapt...\n" "message": "Slaapt...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punt: \n" "message": "Punt: \n"
}, },
"OffString": {
"message": "Uit"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Voorverwarmen\n" "message": "Voorverwarmen\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "U",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingStartNoneChar": "U",
"SettingStartSolderingChar": "T", "SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S", "SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "Z", "SettingStartSleepOffChar": "Z",
"SettingLockDisableChar": "U",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "V" "SettingLockFullChar": "V"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Vermogens\nbron", "displayText": "Vermogens\nbron",
@@ -151,8 +131,8 @@
"displayText": "PD ver-\nloop tijd", "displayText": "PD ver-\nloop tijd",
"description": "PD onderhandelings verlooptijd, afstemmingsduur in stappen van 100 ms (voor compatibiliteit met sommige QC laders)" "description": "PD onderhandelings verlooptijd, afstemmingsduur in stappen van 100 ms (voor compatibiliteit met sommige QC laders)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Zet PPS & EPR modes aan" "description": "Zet PPS & EPR modes aan"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "start-\ngedrag", "displayText": "start-\ngedrag",
"description": "T=verwarm naar soldeer temp | S=standby op slaap temp tot bewogen | Z=standby zonder verwarmen tot bewogen" "description": "U=uit | T=verwarm naar soldeer temp | S=standby op slaap temp tot bewogen | Z=standby zonder verwarmen tot bewogen"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "temp veran-\ndering kort", "displayText": "temp veran-\ndering kort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Vergrendel-\nings knoppen", "displayText": "Vergrendel-\nings knoppen",
"description": "Houd tijdens het solderen beide knoppen ingedrukt om de vergrendeling in of uit te schakelen (B=alleen boost-modus | V=volledige vergrendeling)" "description": "Houd tijdens het solderen beide knoppen ingedrukt om de vergrendeling in of uit te schakelen (U=uit | B=alleen boost-modus | V=volledige vergrendeling)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profiel\nfases", "displayText": "Profiel\nfases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Bewegings-\ngevoeligheid", "displayText": "Bewegings-\ngevoeligheid",
"description": "Bewegingsgevoeligheid (1=minst gevoelig | ... | 9=meest gevoelig)" "description": "Bewegingsgevoeligheid (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Slaap\ntemp", "displayText": "Slaap\ntemp",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\ngevoeligheid", "displayText": "Hall sensor\ngevoeligheid",
"description": "Gevoeligheid naar de magneten (1=minst gevoelig | ... | 9=meest gevoelig)" "description": "Gevoeligheid naar de magneten (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval voordat de \"slaapmodus\" start wanneer het Hall-effect boven de drempelwaarde komt"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatuur\neenheid", "displayText": "Temperatuur\neenheid",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nsnelheid", "displayText": "Anim.\nsnelheid",
"description": "Snelheid van de icoon animaties in het menu (Langzaam | Middel | Snel)" "description": "Snelheid van de icoon animaties in het menu (Uit | Langzaam | Middel | Snel)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nherhaling", "displayText": "Anim.\nherhaling",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Taal:\n NL Nederlands", "displayText": "Taal:\n NL Nederlands",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Voedingsspanning: \n" "message": "Voedingsspanning: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz "
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Slaapstand...\n" "message": "Slaapstand...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Punt: \n" "message": "Punt: \n"
}, },
"OffString": {
"message": "Uit"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "T", "SettingSlowChar": "T",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingStartNoneChar": "F",
"SettingStartSolderingChar": "T", "SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S", "SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "K", "SettingStartSleepOffChar": "K",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Spannings-\nbron", "displayText": "Spannings-\nbron",
@@ -151,8 +131,8 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD afstemmingsduur in stappen van 100ms (voor compatibiliteit met sommige QC laders)" "description": "PD afstemmingsduur in stappen van 100ms (voor compatibiliteit met sommige QC laders)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Zet PPS & EPR modes aan" "description": "Zet PPS & EPR modes aan"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "start-\ntemperatuur", "displayText": "start-\ntemperatuur",
"description": "Breng de soldeerbout op temperatuur bij het opstarten. (T=Soldeertemperatuur | S=Slaapstand-temperatuur | K=Slaapstand kamertemperatuur)" "description": "Breng de soldeerbout op temperatuur bij het opstarten. (F=Uit | T=Soldeertemperatuur | S=Slaapstand-temperatuur | K=Slaapstand kamertemperatuur)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "temp veran\ndering kort", "displayText": "temp veran\ndering kort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Vergrendel-\ning knoppen", "displayText": "Vergrendel-\ning knoppen",
"description": "Houd tijdens het solderen beide knoppen ingedrukt om de vergrendeling in of uit te schakelen (B=alleen boost-modus | F=volledige vergrendeling)" "description": "Houd tijdens het solderen beide knoppen ingedrukt om de vergrendeling in of uit te schakelen (D=uit | B=alleen boost-modus | F=volledige vergrendeling)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profiel\nfases", "displayText": "Profiel\nfases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Bewegings-\ngevoeligheid", "displayText": "Bewegings-\ngevoeligheid",
"description": "Bewegingsgevoeligheid (1=minst gevoelig | ... | 9=meest gevoelig)" "description": "Bewegingsgevoeligheid (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Slaap\ntemp", "displayText": "Slaap\ntemp",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\ngevoeligheid", "displayText": "Hall sensor\ngevoeligheid",
"description": "Gevoeligheid naar de magneten (1=minst gevoelig | ... | 9=meest gevoelig)" "description": "Gevoeligheid naar de magneten (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval voordat de \"slaapmodus\" start wanneer het Hall-effect boven de drempelwaarde komt"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatuur\nschaal", "displayText": "Temperatuur\nschaal",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nsnelheid", "displayText": "Anim.\nsnelheid",
"description": "Snelheid van de icoon animaties in het menu (T=sloom | M=middel | S=snel)" "description": "Snelheid van de icoon animaties in het menu (O=uit | T=sloom | M=middel | S=snel)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nherhaling", "displayText": "Anim.\nherhaling",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Spraak:\n NL_BE Vlaams", "displayText": "Spraak:\n NL_BE Vlaams",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -4,7 +4,7 @@
"tempUnitFahrenheit": false, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CalibrationDone": { "CalibrationDone": {
"message": "Skalibrowano!" "message": "Kalibracja\nwykonana!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Reset OK" "message": "Reset OK"
@@ -31,7 +31,7 @@
"message": "Ucieczka\ntermiczna" "message": "Ucieczka\ntermiczna"
}, },
"WarningTipShorted": { "WarningTipShorted": {
"message": "!Zwarty grot!" "message": "!Tip Shorted!"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Upewnij się, że końcówka i uchwyt mają temperaturę pokojową podczas następnego rozruchu!" "message": "Upewnij się, że końcówka i uchwyt mają temperaturę pokojową podczas następnego rozruchu!"
@@ -51,35 +51,44 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Nap. wej.: \n" "message": "Nap. wej.: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz!"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Tr. uśpienia\n" "message": "Tr. uśpienia\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Grot: \n" "message": "Grot: \n"
}, },
"OffString": {
"message": "Wył"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Rozgrzewanie\n" "message": "Preheat\n"
}, },
"ProfileCooldownString": { "ProfileCooldownString": {
"message": "Schładzanie\n" "message": "Cooldown\n"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Twoje urządzenie jest najprawdopodobniej podróbką!" "message": "Twoje urządzenie jest najprawdopodobniej podróbką!"
}, },
"TooHotToStartProfileWarning": { "TooHotToStartProfileWarning": {
"message": "Zbyt gorące, aby\nuruchomić profil" "message": "Too hot to\nstart profile"
} }
}, },
"characters": { "characters": {
"SettingRightChar": "P", "SettingRightChar": "P",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "W", "SettingSlowChar": "W",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingStartNoneChar": "B",
"SettingStartSolderingChar": "T", "SettingStartSolderingChar": "T",
"SettingStartSleepChar": "Z", "SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "O", "SettingStartSleepOffChar": "O",
"SettingLockDisableChar": "W",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "P" "SettingLockFullChar": "P"
}, },
@@ -105,63 +114,34 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Tryb\ndomyślny"
},
"USBPDModeNoDynamic": {
"displayText": "Nie\ndynamiczny"
},
"USBPDModeSafe": {
"displayText": "Tryb\nbezpieczny"
},
"TipTypeAuto": {
"displayText": "Auto\nwykrycie"
},
"TipTypeT12Long": {
"displayText": "Długi\nTS100"
},
"TipTypeT12Short": {
"displayText": "Krótki\nPine"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Źródło\nzasilania", "displayText": "Źródło\nzasilania",
"description": "Źródło zasilania. Ustaw napięcie odcięcia. (DC 10V) (S=3.3V dla ogniw Li, wyłącz limit mocy)" "description": "Źródło zasilania. Ustaw napięcie odcięcia. (DC 10V) (S 3.3V dla ogniw Li, wyłącz limit mocy)"
}, },
"MinVolCell": { "MinVolCell": {
"displayText": "Minimalne\nnapięcie", "displayText": "Minimalne\nnapięcie",
"description": "Minimalne dozwolone napięcie na komórkę (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)" "description": "Minimalne dozwolone napięcie na komórkę (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "Napięcie QC", "displayText": "QC\nnapięcie",
"description": "Maksymalne napięcie, które lutownica będzie próbowała wynegocjować z ładowarką Quick Charge (V)" "description": "Maksymalne napięcie, które lutownica będzie próbowała wynegocjować z ładowarką Quick Charge (V)"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "Limit czasu\nPD", "displayText": "Limit czasu\nPD",
"description": "Limit czasu negocjacji PD w krokach co 100 ms dla zgodności z niektórymi ładowarkami QC (0: wyłączone)" "description": "Limit czasu negocjacji PD w krokach co 100 ms dla zgodności z niektórymi ładowarkami QC (0: wyłączone)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "Tryb PD", "displayText": "PD\nVPDO",
"description": "Włącza tryby PPS & EPR." "description": "Włącza tryby PPS & EPR."
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\nboost", "displayText": "Temp.\nboost",
"description": "Temp. w trybie \"boost\" " "description": "Temperatura w trybie \"boost\" "
}, },
"AutoStart": { "AutoStart": {
"displayText": "Aut. uruch.\ntr. lutowania", "displayText": "Aut. uruch.\ntr. lutowania",
"description": "Automatyczne uruchamianie trybu lutowania po włączeniu zasilania. (T: lutowanie | Z: uśpienie | O: uśpienie w temp. pokojowej)" "description": "Automatyczne uruchamianie trybu lutowania po włączeniu zasilania. (B: wyłączone | T: lutowanie | Z: uśpienie | O: uśpienie w temp. pokojowej)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Zm. temp.\nkr. przyc.", "displayText": "Zm. temp.\nkr. przyc.",
@@ -173,67 +153,67 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Blokada\nprzycisków", "displayText": "Blokada\nprzycisków",
"description": "W trybie lutowania, wciśnij oba przyciski aby je zablokować (B=tylko Boost | P=pełna blokada)" "description": "W trybie lutowania, wciśnij oba przyciski aby je zablokować (O=Wyłączona | B=tylko Boost | P=pełna blokada)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Fazy\nprofilu", "displayText": "Profile\nPhases",
"description": "Liczba faz w trybie profilu" "description": "Number of phases in profile mode"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Temp.\nrozgrzewania", "displayText": "Preheat\nTemp",
"description": "Rozgrzanie do tej temp. na początku trybu profilu" "description": "Preheat to this temperature at the start of profile mode"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Prędk.\nrozgrzewania", "displayText": "Preheat\nSpeed",
"description": "Tempo rozgrzewania (stopnie na sekundę)" "description": "Preheat at this rate (degrees per second)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Temp.\nfazy 1", "displayText": "Phase 1\nTemp",
"description": "Docelowa temp. na koniec tej fazy" "description": "Target temperature for the end of this phase"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Dług.\nfazy 1", "displayText": "Phase 1\nDuration",
"description": "Docelowy czas trwania tej fazy (sekundy)" "description": "Target duration of this phase (seconds)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Temp.\nfazy 2", "displayText": "Phase 2\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "Dług.\nfazy 2", "displayText": "Phase 2\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "Temp.\nfazy 3", "displayText": "Phase 3\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "Dług.\nfazy 3", "displayText": "Phase 3\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "Temp.\nfazy 4", "displayText": "Phase 4\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "Dług.\nfazy 4", "displayText": "Phase 4\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "Temp.\nfazy 5", "displayText": "Phase 5\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Dług.\nfazy 5", "displayText": "Phase 5\nDuration",
"description": "" "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Prędk.\nschładzania", "displayText": "Cooldown\nSpeed",
"description": "Tempo schładzania na koniec trybu profilu (stopnie na sekundę)" "description": "Cooldown at this rate at the end of profile mode (degrees per second)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Czułość\nwykr. ruchu", "displayText": "Czułość\nwykr. ruchu",
"description": "Czułość wykrywania ruchu (1: Minimalna | ... | 9: Maksymalna)" "description": "Czułość wykrywania ruchu (0: Wyłączona | 1: Minimalna | ... | 9: Maksymalna)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp.\nuśpienia", "displayText": "Temp.\nuśpienia",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Czułość\ncz. Halla", "displayText": "Czułość\ncz. Halla",
"description": "Czułość czujnika Halla, używanego do przechodznia w tryb uśpienia (1: Minimalna | ... | 9: Maksymalna)" "description": "Czułość czujnika Halla, używanego do przechodznia w tryb uśpienia (0: Wyłączona | 1: Minimalna | ... | 9: Maksymalna)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Odstęp przed rozpoczęciem \"trybu uśpienia\", gdy efekt Halla przekracza próg"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Jednostka\ntemperatury", "displayText": "Jednostka\ntemperatury",
@@ -264,8 +240,8 @@
"description": "Obrót ekranu (P: dla praworęcznych | L: dla leworęcznych | A: automatycznie)" "description": "Obrót ekranu (P: dla praworęcznych | L: dla leworęcznych | A: automatycznie)"
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "Mig. podczas\nschładzania", "displayText": "Mig. podczas\nwychładzania",
"description": "Temperatura miga podczas schładzania, gdy grot jest wciąż gorący" "description": "Temperatura miga podczas wychładzania, gdy grot jest wciąż gorący"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "Sz. przew.\ntekstu", "displayText": "Sz. przew.\ntekstu",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Prędkosć\nanimacji", "displayText": "Prędkosć\nanimacji",
"description": "Prędkość animacji ikon w menu (W: mała | M: średnia | S: duża)" "description": "Prędkość animacji ikon w menu (O: wył. | W: mała | M: średnia | S: duża)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Zapętlona\nanimacja", "displayText": "Zapętlona\nanimacja",
@@ -296,7 +272,7 @@
"description": "Ustawia czas wyświetlania loga podczas uruchamiania (s=sekund)" "description": "Ustawia czas wyświetlania loga podczas uruchamiania (s=sekund)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Szczegółowy\nekran bezczyn.", "displayText": "Szeczegółowy\nekran bezczy.",
"description": "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynności" "description": "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynności"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
@@ -305,7 +281,7 @@
}, },
"BluetoothLE": { "BluetoothLE": {
"displayText": "Bluetooth\n", "displayText": "Bluetooth\n",
"description": "Włącza Bluetooth Low Energy" "description": "Enables BLE"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Ogr.\nmocy", "displayText": "Ogr.\nmocy",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Język:\n PL Polski", "displayText": "Język:\n PL Polski",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Typ grotu",
"description": "Wybierz typ zamontowanego grotu"
} }
} }
} }

View File

@@ -4,7 +4,7 @@
"tempUnitFahrenheit": false, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CalibrationDone": { "CalibrationDone": {
"message": "Calibração\nfeita!" "message": "Calibração\nefetuada!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Reset OK" "message": "Reset OK"
@@ -28,7 +28,7 @@
"message": "!Bloqueado!" "message": "!Bloqueado!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Avalanche\nTérmica" "message": "Thermal\nRunaway"
}, },
"WarningTipShorted": { "WarningTipShorted": {
"message": "!Tip Shorted!" "message": "!Tip Shorted!"
@@ -37,7 +37,7 @@
"message": "Antes de reiniciar certifique-se que o ferro está à temperatura ambiente!" "message": "Antes de reiniciar certifique-se que o ferro está à temperatura ambiente!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "a calibrar\n" "message": "calibrar\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Definições de fábrica?" "message": "Definições de fábrica?"
@@ -51,49 +51,58 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Tensão: \n" "message": "Tensão: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Repouso...\n" "message": "Repouso...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Ponta: \n" "message": "Ponta: \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Pré-Aquecer\n" "message": "Preheat\n"
}, },
"ProfileCooldownString": { "ProfileCooldownString": {
"message": "Arrefecer\n" "message": "Cooldown\n"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "O seu dispositivo provavelmente é falsificado!" "message": "O seu dispositivo provavelmente é falsificado!"
}, },
"TooHotToStartProfileWarning": { "TooHotToStartProfileWarning": {
"message": "Demasiado quente para\niniciar perfil" "message": "Too hot to\nstart profile"
} }
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "C", "SettingLeftChar": "C",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingStartNoneChar": "D",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "H", "SettingStartSleepChar": "H",
"SettingStartSleepOffChar": "A", "SettingStartSleepOffChar": "A",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
"menuGroups": { "menuGroups": {
"PowerMenu": { "PowerMenu": {
"displayText": "Opções de\nEnergia", "displayText": "Configurações de\nenergia",
"description": "" "description": ""
}, },
"SolderingMenu": { "SolderingMenu": {
"displayText": "Opções de\nSolda", "displayText": "Configurações\nSolda",
"description": "" "description": ""
}, },
"PowerSavingMenu": { "PowerSavingMenu": {
"displayText": "Modo de\nRepouso", "displayText": "Modos\nRepouso",
"description": "" "description": ""
}, },
"UIMenu": { "UIMenu": {
@@ -101,39 +110,10 @@
"description": "" "description": ""
}, },
"AdvancedMenu": { "AdvancedMenu": {
"displayText": "Opções\nAvançadas", "displayText": "Menu\nAvançado",
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Fonte\nalimentação", "displayText": "Fonte\nalimentação",
@@ -151,17 +131,17 @@
"displayText": "PD tempo\nlimite", "displayText": "PD tempo\nlimite",
"description": "Tempo limite de negoiciação de PD de 100ms para compatibilidade com alguns carregadores é (0: disabled)" "description": "Tempo limite de negoiciação de PD de 100ms para compatibilidade com alguns carregadores é (0: disabled)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Activa o modo PPS & EPR" "description": "Activa o modo PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\nModo Turbo", "displayText": "Temp.\nModo turbo",
"description": "Ajuste de temperatura do \"modo turbo\"" "description": "Ajuste de temperatura do \"modo turbo\""
}, },
"AutoStart": { "AutoStart": {
"displayText": "Aquecimento\nautomático", "displayText": "Aquecimento\nautomático",
"description": "Aquece a ponta automaticamente ao ligar (S=soldagem | H=hibernar | A=hibernar temp. ambiente)" "description": "Aquece a ponta automaticamente ao ligar (D=desligar | S=soldagem | H=hibernar | A=hibernar temp. ambiente)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Mudança temp.\ncurta", "displayText": "Mudança temp.\ncurta",
@@ -172,68 +152,68 @@
"description": "A temperatura será aumentada com um click longo" "description": "A temperatura será aumentada com um click longo"
}, },
"LockingMode": { "LockingMode": {
"displayText": "Permitir bloq.\nbotões", "displayText": "Permitir bloquear\nbotões",
"description": "Durante a solda premir os dois botões para alternar entre (B=modo turbo | F=bloqueio total)" "description": "Durante a solda premir os dois botões para alternar entre (D=desativados | B=modo turbo | F=bloqueio total)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
"description": "Number of phases in profile mode" "description": "Number of phases in profile mode"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Temperatura\nPré-aquecimento", "displayText": "Preheat\nTemp",
"description": "Pré-aquecer a esta temperatura quando o perfil é selecionado" "description": "Preheat to this temperature at the start of profile mode"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Velocidade\nPré-aquecimento", "displayText": "Preheat\nSpeed",
"description": "Ritmo de pré-aquecimento (graus por segundo)" "description": "Preheat at this rate (degrees per second)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Temp.\nFase 1", "displayText": "Phase 1\nTemp",
"description": "Temperatura alvo no final desta fase" "description": "Target temperature for the end of this phase"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Duração\nFase 1", "displayText": "Phase 1\nDuration",
"description": "Duração alvo desta fase (segundos)" "description": "Target duration of this phase (seconds)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Temp.\nFase 2", "displayText": "Phase 2\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "Duração\nFase 2", "displayText": "Phase 2\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "Temp.\nFase 3", "displayText": "Phase 3\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "Duração\nFase 3", "displayText": "Phase 3\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "Temp.\nFase 4", "displayText": "Phase 4\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "Duração\nFase 4", "displayText": "Phase 4\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "Temp.\nFase 5", "displayText": "Phase 5\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Duração\nFase 5", "displayText": "Phase 5\nDuration",
"description": "" "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Velocidade\nArrefecimento", "displayText": "Cooldown\nSpeed",
"description": "Arrefecer a este ritmo após sair do perfil selecionado (graus por segundo)" "description": "Cooldown at this rate at the end of profile mode (degrees per second)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Sensibilidade\nmovimento", "displayText": "Sensibilidade\nmovimento",
"description": "Sensibilidade ao movimento (1=Menor | ... | 9=Maior)" "description": "Sensibilidade ao movimento (0=Desligado | 1=Menor | ... | 9=Maior)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temperatura\nrepouso", "displayText": "Temperatura\nrepouso",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Sensibilidade de\nmagnetismo", "displayText": "Sensibilidade de\nmagnetismo",
"description": "Sensibilidade de magnetismo (1=Menor | ... | 9=Maior)" "description": "Sensibilidade de magnetismo (0=Desligado | 1=Menor | ... | 9=Maior)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervalo antes do início do \"modo de suspensão\" quando o efeito Hall está acima do limite"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Unidade\ntemperatura", "displayText": "Unidade\ntemperatura",
@@ -276,8 +252,8 @@
"description": "Inverte o funcionamento dos botões de ajuste da temperatura" "description": "Inverte o funcionamento dos botões de ajuste da temperatura"
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Velocidade\nde animação", "displayText": "Velocidade de\nanimação",
"description": "Velocidade das animações no menu (S=lenta | M=média | F=rápida)" "description": "Velocidade das animações no menu (O=off | S=lenta | M=média | F=rápida)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Repetir\nanimações", "displayText": "Repetir\nanimações",
@@ -292,7 +268,7 @@
"description": "Inverte as cores do ecrã OLED" "description": "Inverte as cores do ecrã OLED"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Tempo img.\nno arranque", "displayText": "Duração do\nlogo no arranque",
"description": "Define a duração do logotipo no arranque em (s=segundos)" "description": "Define a duração do logotipo no arranque em (s=segundos)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
@@ -308,7 +284,7 @@
"description": "Ativa o Bluetooth Low Energy (BLE)" "description": "Ativa o Bluetooth Low Energy (BLE)"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Limite\npotência", "displayText": "Limite de\npotência",
"description": "Potência máxima a usar (W=watt)" "description": "Potência máxima a usar (W=watt)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Idioma:\n PT Português", "displayText": "Idioma:\n PT Português",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Intrare V: \n" "message": "Intrare V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Adormit...\n" "message": "Adormit...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip: \n" "message": "Tip: \n"
}, },
"OffString": {
"message": "Nu"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "S", "SettingLeftChar": "S",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "Î", "SettingSlowChar": "Î",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingStartNoneChar": "O",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z", "SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R", "SettingStartSleepOffChar": "R",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Sursa de\nalimentare", "displayText": "Sursa de\nalimentare",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "Timp limită de negociere pentru tranzacţia PD, în paşi de 100ms, pentru compatibilitate cu alimentatoarele QC" "description": "Timp limită de negociere pentru tranzacţia PD, în paşi de 100ms, pentru compatibilitate cu alimentatoarele QC"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Modifică\ntemp. impuls", "displayText": "Modifică\ntemp. impuls",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Auto\nstart", "displayText": "Auto\nstart",
"description": "Start letcon în modul de lipire la pornire (S=lipire | Z=repaus | R=repaus la temperatura camerei)" "description": "Start letcon în modul de lipire la pornire (O=oprit | S=lipire | Z=repaus | R=repaus la temperatura camerei)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Schimbare temp.\napăsare scută", "displayText": "Schimbare temp.\napăsare scută",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Blocare\nbutoane", "displayText": "Blocare\nbutoane",
"description": "Când lipiţi, apăsaţi lung ambele butoane, pentru a le bloca (B=numai \"modul boost\" | F=blocare completă)" "description": "Când lipiţi, apăsaţi lung ambele butoane, pentru a le bloca (D=dezactivare | B=numai \"modul boost\" | F=blocare completă)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Sensibilitate\nla miscare", "displayText": "Sensibilitate\nla miscare",
"description": "Sensibilitate senzor miscare (1=puţin sensibil | ... | 9=cel mai sensibil)" "description": "Sensibilitate senzor miscare (0=oprit | 1=puţin sensibil | ... | 9=cel mai sensibil)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp\nrepaus", "displayText": "Temp\nrepaus",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Sensibilitate\nsenzor Hall", "displayText": "Sensibilitate\nsenzor Hall",
"description": "Sensibilitate senzor cu efect Hall pentru a detecta repausul (1=putin sensibil | ... | 9=cel mai sensibil)" "description": "Sensibilitate senzor cu efect Hall pentru a detecta repausul (0=oprit | 1=putin sensibil | ... | 9=cel mai sensibil)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Intervalul înainte de începerea \"modului de repaus\" când efectul de sală este peste prag"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Unitate de\ntemperatură", "displayText": "Unitate de\ntemperatură",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Animaţii\nviteză", "displayText": "Animaţii\nviteză",
"description": "Ritmul animaţiilor pictogramei din meniu (Î=încet | M=mediu | R=rapid)" "description": "Ritmul animaţiilor pictogramei din meniu (O=oprit | Î=încet | M=mediu | R=rapid)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Animaţii\nbuclă", "displayText": "Animaţii\nbuclă",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Limbă:\n RO Română", "displayText": "Limbă:\n RO Română",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Питание(В):\n" "message": "Питание(В):\n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Сон...\n" "message": "Сон...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Жало: \n" "message": "Жало: \n"
}, },
"OffString": {
"message": "Выкл"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Преднагрев\n" "message": "Преднагрев\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "П", "SettingRightChar": "П",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "А", "SettingAutoChar": "А",
"SettingOffChar": "О",
"SettingSlowChar": "М", "SettingSlowChar": "М",
"SettingMediumChar": "С", "SettingMediumChar": "С",
"SettingFastChar": "Б", "SettingFastChar": "Б",
"SettingStartNoneChar": "О",
"SettingStartSolderingChar": "П", "SettingStartSolderingChar": "П",
"SettingStartSleepChar": "С", "SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "К", "SettingStartSleepOffChar": "К",
"SettingLockDisableChar": "О",
"SettingLockBoostChar": "Т", "SettingLockBoostChar": "Т",
"SettingLockFullChar": "П" "SettingLockFullChar": "П"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Вкл.\nPPSиEPR"
},
"USBPDModeNoDynamic": {
"displayText": "Откл.\n"
},
"USBPDModeSafe": {
"displayText": "Вкл.без\nзапроса"
},
"TipTypeAuto": {
"displayText": "Авто\nопред-е"
},
"TipTypeT12Long": {
"displayText": "TS100\nстанд."
},
"TipTypeT12Short": {
"displayText": "Pine\nкоротк."
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80(P)\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Предельное\nнапряжение", "displayText": "Предельное\nнапряжение",
@@ -148,12 +128,12 @@
"description": "Максимальное напряжение для согласования с источником питания по QC" "description": "Максимальное напряжение для согласования с источником питания по QC"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "Интервал\nPD", "displayText": "PD\nинтервал",
"description": "Интервал согласования питания по Power Delivery с шагом 100 мс для совместимости с некоторыми источниками питания по QC (0=Откл.)" "description": "Интервал согласования питания по Power Delivery с шагом 100 мс для совместимости с некоторыми источниками питания по QC (0=Откл.)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "Режим\nPD", "displayText": "PD\nVPDO",
"description": "Вкл.без запроса: включить PPS и EPR без запроса большей мощности" "description": "Включить режимы PPS & EPR"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "t° турбо\nрежима", "displayText": "t° турбо\nрежима",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Режим при\nвключении", "displayText": "Режим при\nвключении",
"description": "Режим, в котором включается паяльник (П=Пайка | С=Сон | К=Ожидание при комн. темп.)" "description": "Режим, в котором включается паяльник (О=Откл. | П=Пайка | С=Сон | К=Ожидание при комн. темп.)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Шаг t° при\nкор.наж-ии", "displayText": "Шаг t° при\nкор.наж-ии",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Разрешить\nблок. кнопок", "displayText": "Разрешить\nблок. кнопок",
"description": "Блокировать кнопки при их долгом нажатии в режиме пайки (Т=Только турбо | П=Полная блокировка)" "description": "Блокировать кнопки при их долгом нажатии в режиме пайки (О=Откл. | Т=Только турбо | П=Полная блокировка)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Этапы\nпрофиля", "displayText": "Этапы\nпрофиля",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Чувствительн.\nакселерометра", "displayText": "Чувствительн.\nакселерометра",
"description": "Чувствительность акселерометра (1=мин. | ... | 9=макс.)" "description": "Чувствительность акселерометра (0=Откл. | 1=мин. | ... | 9=макс.)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "t° при\nсне", "displayText": "t° при\nсне",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Датчик\nХолла", "displayText": "Датчик\nХолла",
"description": "Чувствительность датчика Холла к магнитному полю (1=мин. | ... | 9=макс.)" "description": "Чувствительность датчика Холла к магнитному полю (0=Откл. | 1=мин. | ... | 9=макс.)"
},
"HallEffSleepTimeout": {
"displayText": "Интервал\nдатчика Холла",
"description": "Время между превышением датчиком Холла порогового значения и режимом сна"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Единицы\nизмерения", "displayText": "Единицы\nизмерения",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Скорость\nанимации", "displayText": "Скорость\nанимации",
"description": "Скорость анимации иконок в главном меню (М=Медленная| С=Средняя | Б=Быстрая)" "description": "Скорость анимации иконок в главном меню (О=Откл. | М=Медленная| С=Средняя | Б=Быстрая)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Зацикленная\nанимация", "displayText": "Зацикленная\nанимация",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Язык:\n RU Русский", "displayText": "Язык:\n RU Русский",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Тип\nжала",
"description": "Выбор типа установленного жала"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Vstupné U: \n" "message": "Vstupné U: \n"
}, },
"SleepingSimpleString": {
"message": "Chrr"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Pokojový režim.\n" "message": "Pokojový režim.\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Hrot: \n" "message": "Hrot: \n"
}, },
"OffString": {
"message": "Vyp"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Predhrievanie\n" "message": "Predhrievanie\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "P", "SettingRightChar": "P",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "Z",
"SettingSlowChar": "P", "SettingSlowChar": "P",
"SettingMediumChar": "S", "SettingMediumChar": "S",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingStartNoneChar": "V",
"SettingStartSolderingChar": "Z", "SettingStartSolderingChar": "Z",
"SettingStartSleepChar": "S", "SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "I", "SettingStartSleepOffChar": "I",
"SettingLockDisableChar": "Z",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "P" "SettingLockFullChar": "P"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Zdroj\nnapätia", "displayText": "Zdroj\nnapätia",
@@ -151,8 +131,8 @@
"displayText": "Čas vypršania\nPower Delivery", "displayText": "Čas vypršania\nPower Delivery",
"description": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)" "description": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Zapína PPS & EPR režimy" "description": "Zapína PPS & EPR režimy"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Automatické\nspustenie", "displayText": "Automatické\nspustenie",
"description": "Pri štarte spustiť režim spájkovania (Z=Spájkovanie | S=Spanok | I=Spanok izbová teplota)" "description": "Pri štarte spustiť režim spájkovania (V=Vyp | Z=Spájkovanie | S=Spanok | I=Spanok izbová teplota)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Malý krok\nteploty", "displayText": "Malý krok\nteploty",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Povoliť zámok\ntlačidiel", "displayText": "Povoliť zámok\ntlačidiel",
"description": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania (B=Okrem boost | P=Plné zamknutie)" "description": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania (Z=Zakázať | B=Okrem boost | P=Plné zamknutie)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profilové\nFázy", "displayText": "Profilové\nFázy",
@@ -224,7 +204,7 @@
"description": "" "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Trvanie\nFáza 5", "displayText": "Trvanie\nFáza 4",
"description": "" "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Citlivosť\npohybu", "displayText": "Citlivosť\npohybu",
"description": "Citlivosť detekcie pohybu (1=Min | ... | 9=Max)" "description": "Citlivosť detekcie pohybu (0=Vyp | 1=Min | ... | 9=Max)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Pokojová\nteplota", "displayText": "Pokojová\nteplota",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Citliv.\nHall", "displayText": "Citliv.\nHall",
"description": "Citlivosť Hallovho senzora pre detekciu spánku (1=Min | ... | 9=Max)" "description": "Citlivosť Hallovho senzora pre detekciu spánku (0=Vyp | 1=Min | ... | 9=Max)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval pred spustením \"režimu spánku\" keď je hall efekt nad prahovou hodnotou"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Jednotka\nteploty", "displayText": "Jednotka\nteploty",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Rýchlosť\nanimácií", "displayText": "Rýchlosť\nanimácií",
"description": "Rýchlosť animácií ikoniek v menu (P=pomaly | S=stredne | R=rýchlo)" "description": "Rýchlosť animácií ikoniek v menu (O=off | P=pomaly | S=stredne | R=rýchlo)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Opakovanie\nanimácií", "displayText": "Opakovanie\nanimácií",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jazyk:\n SK Slovenčina", "displayText": "Jazyk:\n SK Slovenčina",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Vhodna U: \n" "message": "Vhodna U: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Spim...\n" "message": "Spim...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Konica \n" "message": "Konica \n"
}, },
"OffString": {
"message": "Off"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "S", "SettingAutoChar": "S",
"SettingOffChar": "U",
"SettingSlowChar": "P", "SettingSlowChar": "P",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "H", "SettingFastChar": "H",
"SettingStartNoneChar": "U",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z", "SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "V", "SettingStartSleepOffChar": "V",
"SettingLockDisableChar": "O",
"SettingLockBoostChar": "L", "SettingLockBoostChar": "L",
"SettingLockFullChar": "P" "SettingLockFullChar": "P"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Vir\nnapajanja", "displayText": "Vir\nnapajanja",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Pospešena\ntemp.", "displayText": "Pospešena\ntemp.",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Samodejni\nzagon", "displayText": "Samodejni\nzagon",
"description": "Samodejno gretje konice ob vklopu (S=spajkanje | Z=spanje | V=spanje na sobni temperaturi)" "description": "Samodejno gretje konice ob vklopu (U=ugasnjeno | S=spajkanje | Z=spanje | V=spanje na sobni temperaturi)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Kratka sprememba\ntemperature?", "displayText": "Kratka sprememba\ntemperature?",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Omogoči\nzaklep gumbov", "displayText": "Omogoči\nzaklep gumbov",
"description": "Za zaklep med spajkanjem drži oba gumba (L=le pospešeno | P=polno)" "description": "Za zaklep med spajkanjem drži oba gumba (O=onemogoči | L=le pospešeno | P=polno)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Občutljivost\npremikanja", "displayText": "Občutljivost\npremikanja",
"description": "1=najmanjša | ... | 9=največja" "description": "0=izklopljeno | 1=najmanjša | ... | 9=največja"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp. med\nspanjem", "displayText": "Temp. med\nspanjem",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Občut.\nHall son", "displayText": "Občut.\nHall son",
"description": "Občutljivost Hallove sonde za zaznavanje spanja (1=najmanjša | ... | 9=največja)" "description": "Občutljivost Hallove sonde za zaznavanje spanja (0=izklopljeno | 1=najmanjša | ... | 9=največja)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval pred začetkom \"načina mirovanja\", ko je Hallov učinek nad pragom"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Enota za\ntemperaturo", "displayText": "Enota za\ntemperaturo",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nspeed", "displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (P=slow | M=medium | H=fast)" "description": "Pace of icon animations in menu (O=off | P=slow | M=medium | H=fast)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Anim.\nloop",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jezik:\n SL Slovenščina", "displayText": "Jezik:\n SL Slovenščina",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Ул. напон: \n" "message": "Ул. напон: \n"
}, },
"SleepingSimpleString": {
"message": "Сан"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Спавање...\n" "message": "Спавање...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Врх: \n" "message": "Врх: \n"
}, },
"OffString": {
"message": "Иск"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "Д", "SettingRightChar": "Д",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "А", "SettingAutoChar": "А",
"SettingOffChar": "O",
"SettingSlowChar": "С", "SettingSlowChar": "С",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "Б", "SettingFastChar": "Б",
"SettingStartNoneChar": "И",
"SettingStartSolderingChar": "Л", "SettingStartSolderingChar": "Л",
"SettingStartSleepChar": "С", "SettingStartSleepChar": "С",
"SettingStartSleepOffChar": "X", "SettingStartSleepOffChar": "X",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Врста\nнапајања", "displayText": "Врста\nнапајања",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Темп.\nпојачања", "displayText": "Темп.\nпојачања",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Врући\nстарт", "displayText": "Врући\nстарт",
"description": "Лемилица одмах по покретању прелази у режим лемљења и греје се. (Л=лемљење | С=спавати | X=спавати собна температура)" "description": "Лемилица одмах по покретању прелази у режим лемљења и греје се. (И=искључити | Л=лемљење | С=спавати | X=спавати собна температура)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp change\nshort", "displayText": "Temp change\nshort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Allow locking\nbuttons", "displayText": "Allow locking\nbuttons",
"description": "While soldering, hold down both buttons to toggle locking them (B=boost mode only | F=full locking)" "description": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Осетљивост\nна покрет", "displayText": "Осетљивост\nна покрет",
"description": "Осетљивост сензора покрета. (1=најмање осетљиво | ... | 9=најосетљивије)" "description": "Осетљивост сензора покрета. (0=искључено | 1=најмање осетљиво | ... | 9=најосетљивије)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Темп.\nспавања", "displayText": "Темп.\nспавања",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\nsensitivity", "displayText": "Hall sensor\nsensitivity",
"description": "Sensitivity to magnets (1=најмање осетљиво | ... | 9=најосетљивије)" "description": "Sensitivity to magnets (0=искључено | 1=најмање осетљиво | ... | 9=најосетљивије)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Интервал пре почетка \"режима спавања\" када је ефекат Хола изнад прага"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Јединица\nтемпературе", "displayText": "Јединица\nтемпературе",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nspeed", "displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (С=slow | M=medium | Б=fast)" "description": "Pace of icon animations in menu (O=off | С=slow | M=medium | Б=fast)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Anim.\nloop",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jезик:\n SR Српски", "displayText": "Jезик:\n SR Српски",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Ul. napon: \n" "message": "Ul. napon: \n"
}, },
"SleepingSimpleString": {
"message": "Zzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Spavanje...\n" "message": "Spavanje...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Vrh: \n" "message": "Vrh: \n"
}, },
"OffString": {
"message": "Isk"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "B", "SettingFastChar": "B",
"SettingStartNoneChar": "I",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "S", "SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "X", "SettingStartSleepOffChar": "X",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Vrsta\nnapajanja", "displayText": "Vrsta\nnapajanja",
@@ -151,9 +131,9 @@
"displayText": "PD\ntimeout", "displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Temp.\npojačanja", "displayText": "Temp.\npojačanja",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Vrući\nstart", "displayText": "Vrući\nstart",
"description": "Lemilica odmah po pokretanju prelazi u režim lemljenja i greje se. (L=lemljenje | S=spavati | X=spavati sobna temperatura)" "description": "Lemilica odmah po pokretanju prelazi u režim lemljenja i greje se. (I=isključiti | L=lemljenje | S=spavati | X=spavati sobna temperatura)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp change\nshort", "displayText": "Temp change\nshort",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Allow locking\nbuttons", "displayText": "Allow locking\nbuttons",
"description": "While soldering, hold down both buttons to toggle locking them (B=boost mode only | F=full locking)" "description": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Osetljivost\nna pokret", "displayText": "Osetljivost\nna pokret",
"description": "Osetljivost senzora pokreta. (1=najmanje osetljivo | ... | 9=najosetljivije)" "description": "Osetljivost senzora pokreta. (0=isključeno | 1=najmanje osetljivo | ... | 9=najosetljivije)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Temp.\nspavanja", "displayText": "Temp.\nspavanja",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall sensor\nsensitivity", "displayText": "Hall sensor\nsensitivity",
"description": "Sensitivity to magnets (1=najmanje osetljivo | ... | 9=najosetljivije)" "description": "Sensitivity to magnets (0=isključeno | 1=najmanje osetljivo | ... | 9=najosetljivije)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Jedinica\ntemperature", "displayText": "Jedinica\ntemperature",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.\nspeed", "displayText": "Anim.\nspeed",
"description": "Pace of icon animations in menu (S=slow | M=medium | B=fast)" "description": "Pace of icon animations in menu (O=off | S=slow | M=medium | B=fast)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Anim.\nloop",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Jezik:\n SR Srpski", "displayText": "Jezik:\n SR Srpski",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Inspän. V: \n" "message": "Inspän. V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Viloläge...\n" "message": "Viloläge...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Spets: \n" "message": "Spets: \n"
}, },
"OffString": {
"message": "Av"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Förvärmning\n" "message": "Förvärmning\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "H", "SettingRightChar": "H",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "A",
"SettingSlowChar": "L", "SettingSlowChar": "L",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingStartNoneChar": "A",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "V", "SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "R", "SettingStartSleepOffChar": "R",
"SettingLockDisableChar": "A",
"SettingLockBoostChar": "T", "SettingLockBoostChar": "T",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Ström-\nkälla", "displayText": "Ström-\nkälla",
@@ -151,8 +131,8 @@
"displayText": "PD\npauser", "displayText": "PD\npauser",
"description": "PD förhandlings pauser i 100ms steg för kompatibilitet med vissa PD laddare" "description": "PD förhandlings pauser i 100ms steg för kompatibilitet med vissa PD laddare"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "Slår på PPS & EPR lägen" "description": "Slår på PPS & EPR lägen"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Auto\nstart", "displayText": "Auto\nstart",
"description": "Startar automatiskt lödpennan vid uppstart. (L=Lödning | V=Viloläge | R=Viloläge Rumstemperatur)" "description": "Startar automatiskt lödpennan vid uppstart. (A=Av | L=Lödning | V=Viloläge | R=Viloläge Rumstemperatur)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Temp.just\nkorttryck", "displayText": "Temp.just\nkorttryck",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Tillåt lås\nvia knappar", "displayText": "Tillåt lås\nvia knappar",
"description": "Vid lödning, håll nere bägge knappar för att slå på lås (T=Bara turbo | F=Fullt lås)" "description": "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)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profil-\nfaser", "displayText": "Profil-\nfaser",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Rörelse-\nkänslighet", "displayText": "Rörelse-\nkänslighet",
"description": "Rörelsekänslighet (1=minst känslig | ... | 9=mest känslig)" "description": "Rörelsekänslighet (0=Av | 1=minst känslig | ... | 9=mest känslig)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Vilo-\ntemp", "displayText": "Vilo-\ntemp",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Sensor-\nkänslght", "displayText": "Sensor-\nkänslght",
"description": "Känslighet för halleffekt-sensorn för viloläges-detektering (1=minst känslig | ... | 9=mest känslig)" "description": "Känslighet för halleffekt-sensorn för viloläges-detektering (0=Av | 1=minst känslig | ... | 9=mest känslig)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Temperatur-\nenheter", "displayText": "Temperatur-\nenheter",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Anim.-\nhastighet", "displayText": "Anim.-\nhastighet",
"description": "Animationshastighet för ikoner i menyer (L=långsam | M=medel | S=snabb)" "description": "Animationshastighet för ikoner i menyer (A=av | L=långsam | M=medel | S=snabb)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Anim.\nloop", "displayText": "Anim.\nloop",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Språk:\n SV Svenska", "displayText": "Språk:\n SV Svenska",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -4,7 +4,7 @@
"tempUnitFahrenheit": false, "tempUnitFahrenheit": false,
"messagesWarn": { "messagesWarn": {
"CalibrationDone": { "CalibrationDone": {
"message": "Kalibrasyon\ntamam!" "message": "Calibration\ndone!"
}, },
"ResetOKMessage": { "ResetOKMessage": {
"message": "Sıfırlama Tamam" "message": "Sıfırlama Tamam"
@@ -13,31 +13,31 @@
"message": "Ayarlar\nSıfırlandı" "message": "Ayarlar\nSıfırlandı"
}, },
"NoAccelerometerMessage": { "NoAccelerometerMessage": {
"message": "İvme sensörü\ntespit edilmedi!" "message": "No accelerometer\ndetected!"
}, },
"NoPowerDeliveryMessage": { "NoPowerDeliveryMessage": {
"message": "USB-PD IC\ntespit edilmedi!" "message": "No USB-PD IC\ndetected!"
}, },
"LockingKeysString": { "LockingKeysString": {
"message": "KİLİTLİ" "message": "LOCKED"
}, },
"UnlockingKeysString": { "UnlockingKeysString": {
"message": "KİLİT AÇIK" "message": "UNLOCKED"
}, },
"WarningKeysLockedString": { "WarningKeysLockedString": {
"message": "!KİLİTLİ!" "message": "!LOCKED!"
}, },
"WarningThermalRunaway": { "WarningThermalRunaway": {
"message": "Termal\nKaçak" "message": "Thermal\nRunaway"
}, },
"WarningTipShorted": { "WarningTipShorted": {
"message": "!Uç Kısa Devre!" "message": "!Tip Shorted!"
}, },
"SettingsCalibrationWarning": { "SettingsCalibrationWarning": {
"message": "Yeniden başlatmadan önce uç ve sapın oda sıcaklığında olduğundan emin olun!" "message": "Before rebooting, make sure tip & handle are at room temperature!"
}, },
"CJCCalibrating": { "CJCCalibrating": {
"message": "kalibre ediliyor\n" "message": "calibrating\n"
}, },
"SettingsResetWarning": { "SettingsResetWarning": {
"message": "Ayarları varsayılan değerlere sıfırlamak istediğinizden emin misiniz?" "message": "Ayarları varsayılan değerlere sıfırlamak istediğinizden emin misiniz?"
@@ -51,41 +51,50 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Giriş V: \n" "message": "Giriş V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Bekleme Modu...\n" "message": "Bekleme Modu...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Uç: \n" "message": "Uç: \n"
}, },
"OffString": {
"message": "Kapalı"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Ön Isıtma\n" "message": "Preheat\n"
}, },
"ProfileCooldownString": { "ProfileCooldownString": {
"message": "Soğuma\n" "message": "Cooldown\n"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "Cihazınız büyük olasılıkla sahte!" "message": "Your device is most likely a counterfeit!"
}, },
"TooHotToStartProfileWarning": { "TooHotToStartProfileWarning": {
"message": "Profil başlatmak için\nçok sıcak" "message": "Too hot to\nstart profile"
} }
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "O", "SettingAutoChar": "O",
"SettingOffChar": "K",
"SettingSlowChar": "Y", "SettingSlowChar": "Y",
"SettingMediumChar": "O", "SettingMediumChar": "O",
"SettingFastChar": "H", "SettingFastChar": "H",
"SettingStartNoneChar": "K",
"SettingStartSolderingChar": "L", "SettingStartSolderingChar": "L",
"SettingStartSleepChar": "U", "SettingStartSleepChar": "U",
"SettingStartSleepOffChar": "S", "SettingStartSleepOffChar": "S",
"SettingLockDisableChar": "K",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
"menuGroups": { "menuGroups": {
"PowerMenu": { "PowerMenu": {
"displayText": "Güç\nAyarları", "displayText": "Power\nsettings",
"description": "" "description": ""
}, },
"SolderingMenu": { "SolderingMenu": {
@@ -105,55 +114,26 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "GÇKYN\n", "displayText": "GÇKYN\n",
"description": "\"Güç Kaynağı\". En düşük çalışma voltajını ayarlar. (DC 10V) (S 3.3V hücre başına)" "description": "\"Güç Kaynağı\". En düşük çalışma voltajını ayarlar. (DC 10V) (S 3.3V hücre başına)"
}, },
"MinVolCell": { "MinVolCell": {
"displayText": "Minimum\nVoltaj", "displayText": "Minimum\nvoltage",
"description": "Pil hücresi başına izin verilen minimum voltaj (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)" "description": "Minimum allowed voltage per battery cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "QC\nvoltajı", "displayText": "QC\nvoltage",
"description": "Max istenecek QC voltajı" "description": "Max QC voltage the iron should negotiate for"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\nTimeout", "displayText": "PD\ntimeout",
"description": "Bazı QC şarj cihazlarıyla uyumluluk için 100ms adımlarında PD pazarlık zaman aşımı" "description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "PPS & EPR modlarını etkinleştirir" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "YKSC\n", "displayText": "YKSC\n",
@@ -161,79 +141,79 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "OTOBAŞ\n", "displayText": "OTOBAŞ\n",
"description": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (L=Lehimleme Modu | U=Uyku Modu | S=Uyku Modu Oda Sıcaklığı)" "description": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (K=Kapalı | L=Lehimleme Modu | U=Uyku Modu | S=Uyku Modu Oda Sıcaklığı)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Sıcaklık değişimi\nkısa", "displayText": "Temp change\nshort",
"description": "Kısa basışlardaki sıcaklık derecesi atlama oranı" "description": "Kısa basışlardaki sıcaklık derecesi atlama oranı"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"displayText": "Sıcaklık değişimi\nuzun", "displayText": "Temp change\nlong",
"description": "Uzun başışlardaki sıcaklık derecesi atlama oranı" "description": "Uzun başışlardaki sıcaklık derecesi atlama oranı"
}, },
"LockingMode": { "LockingMode": {
"displayText": "Kilitleme\nİzni", "displayText": "Allow locking\nbuttons",
"description": "Lehimleme sırasında, her iki düğmeye basılı tutarak kilitleme modunu değiştirin (B=Sadece performans modu | F=tam kilit)" "description": "While soldering, hold down both buttons to toggle locking them (K=Kapalı | B=boost mode only | F=full locking)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profil\nAşamaları", "displayText": "Profile\nPhases",
"description": "Profil modundaki aşamaların sayısı" "description": "Number of phases in profile mode"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "Ön Isıtma\nSıcaklık", "displayText": "Preheat\nTemp",
"description": "Profil modunun başlangıcında bu sıcaklığa kadar ön ısıtma yapar" "description": "Preheat to this temperature at the start of profile mode"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Ön Isıtma\nHızı", "displayText": "Preheat\nSpeed",
"description": "Bu hızda ön ısıtma yapın (saniye başına derece)" "description": "Preheat at this rate (degrees per second)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Aşama 1\nSıcaklık", "displayText": "Phase 1\nTemp",
"description": "Bu aşamanın sonunda hedeflenen sıcaklık" "description": "Target temperature for the end of this phase"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Aşama 1\nSüre", "displayText": "Phase 1\nDuration",
"description": "Bu aşamanın hedef süresi (saniye)" "description": "Target duration of this phase (seconds)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Aşama 2\nSıcaklık", "displayText": "Phase 2\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "Aşama 2\nSüre", "displayText": "Phase 2\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "Aşama 3\nSıcaklık", "displayText": "Phase 3\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "Aşama 3\nSüre", "displayText": "Phase 3\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "Aşama 4\nSıcaklık", "displayText": "Phase 4\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "Aşama 4\nSüre", "displayText": "Phase 4\nDuration",
"description": "" "description": ""
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "Aşama 5\nSıcaklık", "displayText": "Phase 5\nTemp",
"description": "" "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "Aşama 5\nSüre", "displayText": "Phase 5\nDuration",
"description": "" "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Soğuma\nHızı", "displayText": "Cooldown\nSpeed",
"description": "Profil modunun sonunda bu hızda soğuma yapın (saniye başına derece)" "description": "Cooldown at this rate at the end of profile mode (degrees per second)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "HARHAS\n", "displayText": "HARHAS\n",
"description": "Hareket Hassasiyeti (1=En az duyarlı | ... | 9=En duyarlı)" "description": "Hareket Hassasiyeti (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "BKSC\n", "displayText": "BKSC\n",
@@ -248,12 +228,8 @@
"description": "Kapatma Zaman Aşımı (Dakika)" "description": "Kapatma Zaman Aşımı (Dakika)"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall Sensör\nHassasiyeti", "displayText": "Hall sensor\nsensitivity",
"description": "Mıknatıslara duyarlılık (1=En az duyarlı | ... | 9=En duyarlı)" "description": "Sensitivity to magnets (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Hall etkisi eşiğin üzerinde olduğunda \"uyku modu\" başlamadan önceki aralık"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "SCKBRM\n", "displayText": "SCKBRM\n",
@@ -272,28 +248,28 @@
"description": "Bu yazının kayma hızı (Y=Yavaş | H=Hızlı)" "description": "Bu yazının kayma hızı (Y=Yavaş | H=Hızlı)"
}, },
"ReverseButtonTempChange": { "ReverseButtonTempChange": {
"displayText": "Düğme Yerleri\nRotasyonu", "displayText": "Swap\n+ - keys",
"description": "\"Düğme Yerleri Rotasyonu\" Sıcaklık ayar düğmelerinin yerini değiştirin" "description": "\"Düğme Yerleri Rotasyonu\" Sıcaklık ayar düğmelerinin yerini değiştirin"
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Animasyon\nHızı", "displayText": "Anim.\nspeed",
"description": "Menüdeki simge animasyonlarının hızı (Y=Yavaş | O=Orta | H=Hızlı)" "description": "Pace of icon animations in menu (K=Kapalı | Y=Yavaş | O=Orta | H=Hızlı)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Animasyon\nDöngüsü", "displayText": "Anim.\nloop",
"description": "Ana menüde simge animasyonlarının döngüsü" "description": "Loop icon animations in main menu"
}, },
"Brightness": { "Brightness": {
"displayText": "Ekran\nparlaklığı", "displayText": "Screen\nbrightness",
"description": "OLED ekran parlaklığını ayarlar" "description": "Adjust the OLED screen brightness"
}, },
"ColourInversion": { "ColourInversion": {
"displayText": "Ekran\nRenkleri", "displayText": "Invert\nscreen",
"description": "OLED ekran renklerini ters çevir" "description": "Invert the OLED screen colors"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Boot Logo\nSüresi", "displayText": "Boot logo\nduration",
"description": "Boot logo süresi (s=saniye)" "description": "Set boot logo duration (s=seconds)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "AYRBİL\n", "displayText": "AYRBİL\n",
@@ -305,31 +281,31 @@
}, },
"BluetoothLE": { "BluetoothLE": {
"displayText": "Bluetooth\n", "displayText": "Bluetooth\n",
"description": "Bluetooth LE'yi etkinleştirir" "description": "Enables BLE"
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Güç\nlimiti", "displayText": "Power\nlimit",
"description": "Havyanın kullanacağı en yüksek güç (W=Watts)" "description": "Havyanın kullanacağı en yüksek güç (W=Watts)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "CJC Kalibrasyonu\nSonraki Boot'ta", "displayText": "Calibrate CJC\nat next boot",
"description": "Sonraki boot'ta uç Soğuk Nokta Kompansasyonu kalibre edilecek (Delta T < 5°C ise gerekmez)" "description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "VOL KAL?\n", "displayText": "VOL KAL?\n",
"description": "Voltaj Girişi Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas." "description": "Voltaj Girişi Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas."
}, },
"PowerPulsePower": { "PowerPulsePower": {
"displayText": "Güç\nDarbeleri", "displayText": "Power\npulse",
"description": "Güç girişi voltajı ölçüm yoğunluğunu sık tut." "description": "Güç girişi voltajı ölçüm yoğunluğunu sık tut."
}, },
"PowerPulseWait": { "PowerPulseWait": {
"displayText": "Güç Darbesi\nGecikmesi", "displayText": "Power pulse\ndelay",
"description": "Uyanık tutma darbesinin tetiklenmeden önceki gecikme süresi (x 2.5s)" "description": "Delay before keep-awake-pulse is triggered (x 2.5s)"
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"displayText": "Güç Darbesi\nSüresi", "displayText": "Power pulse\nduration",
"description": "Uyanık tutma darbesi süresi (x 250ms)" "description": "Keep-awake-pulse duration (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "SIFIRLA?\n", "displayText": "SIFIRLA?\n",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Dil:\n TR Türkçe", "displayText": "Dil:\n TR Türkçe",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Жив.(B): \n" "message": "Жив.(B): \n"
}, },
"SleepingSimpleString": {
"message": "ZzZzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Сон...\n" "message": "Очікування...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Жало: \n" "message": "Жало: \n"
}, },
"OffString": {
"message": "Вимк"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Попередній\nрозігрів" "message": "Попередній\nрозігрів"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "П", "SettingRightChar": "П",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "B",
"SettingSlowChar": "Н", "SettingSlowChar": "Н",
"SettingMediumChar": "С", "SettingMediumChar": "С",
"SettingFastChar": "М", "SettingFastChar": "М",
"SettingStartNoneChar": "В",
"SettingStartSolderingChar": "П", "SettingStartSolderingChar": "П",
"SettingStartSleepChar": "С", "SettingStartSleepChar": "О",
"SettingStartSleepOffChar": "К", "SettingStartSleepOffChar": "К",
"SettingLockDisableChar": "В",
"SettingLockBoostChar": "Т", "SettingLockBoostChar": "Т",
"SettingLockFullChar": "П" "SettingLockFullChar": "П"
}, },
@@ -93,7 +102,7 @@
"description": "" "description": ""
}, },
"PowerSavingMenu": { "PowerSavingMenu": {
"displayText": "Режим сну\n", "displayText": "Режим\nсну",
"description": "" "description": ""
}, },
"UIMenu": { "UIMenu": {
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Режим\nЗамовчуванню"
},
"USBPDModeNoDynamic": {
"displayText": "Без\nДинамічного"
},
"USBPDModeSafe": {
"displayText": "Безпечний\nРежим"
},
"TipTypeAuto": {
"displayText": "Авто\nВизначення"
},
"TipTypeT12Long": {
"displayText": "TS100\nДовге"
},
"TipTypeT12Short": {
"displayText": "Pine\nКоротке"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Джерело\nживлення", "displayText": "Джерело\nживлення",
@@ -145,35 +125,35 @@
}, },
"QCMaxVoltage": { "QCMaxVoltage": {
"displayText": "Потужність\nдж. живлення", "displayText": "Потужність\nдж. живлення",
"description": "Потужність ДЖ в Ватах" "description": "Потужність джерела живлення в Ватах"
}, },
"PDNegTimeout": { "PDNegTimeout": {
"displayText": "PD\nЗатримка", "displayText": "PD\nзатримка",
"description": "Затримка у 100мс інкрементах для PD для сумісності з деякими версіями QC (0: вимкнена)" "description": "Затримка у 100мс інкрементах для PD для сумісності з деякими QC зарядними пристроями (0: вимкнено)"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nРежим", "displayText": "PD\nVPDO",
"description": "Вмикає режими PPS & EPR." "description": "Вмикає режими PPS & EPR."
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Темпер.\nТурбо", "displayText": "Темпер.\nТурбо",
"description": "Температура \"Турбо\" режиму" "description": "Температура в \"Турбо\" режимі"
}, },
"AutoStart": { "AutoStart": {
"displayText": "Гарячий\nстарт", "displayText": "Гарячий\nстарт",
"description": "Режим запуску паяльника (П=Пайка | С=Сон | К=Сон при кімн. темп.)" "description": "Режим в якому запускається паяльник при ввімкненні (В=Вимк. | П=Пайка | О=Очікування | К=Очікування при кімн. темп.)"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Зміна темп.\nкоротким", "displayText": "Зміна темп.\nкоротко?",
"description": "Зміна температуру при короткому натисканні!" "description": "Змінювати температуру при короткому натисканні!"
}, },
"TempChangeLongStep": { "TempChangeLongStep": {
"displayText": "Зміна темп.\nдовгим", "displayText": "Зміна темп.\nдовго?",
"description": "Зміна температуру при довгому натисканні!" "description": "Змінювати температуру при довгому натисканні!"
}, },
"LockingMode": { "LockingMode": {
"displayText": "Дозволити\nблок. кнопок", "displayText": "Дозволити\nблок. кнопок",
"description": "Під час пайки тривале натискання обох кнопок заблокує їх (Т=Тільки турбо | П=Повне)" "description": "Під час пайки тривале натискання обох кнопок заблокує їх (В=Вимк | Т=Тільки турбо | П=Повне)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Етапи\nпрофілів", "displayText": "Етапи\nпрофілів",
@@ -185,15 +165,15 @@
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "Швидкість\nПоп.Розігріву", "displayText": "Швидкість\nПоп.Розігріву",
"description": "Розігрівати з швидкістю (у сек)" "description": "Розігрівати з такою швидкістю (градусів в секунду)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "Етап 1\nТемпература", "displayText": "Етап 1\nТемпература",
"description": "Температура на кінці цього етапу" "description": "Температура в кінці цього етапу"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "Етап 1\nТривалість", "displayText": "Етап 1\nТривалість",
"description": "Тривалість цього етапу (сек)" "description": "Тривалість цього етапу (секунд)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "Етап 2\nТемпература", "displayText": "Етап 2\nТемпература",
@@ -229,43 +209,39 @@
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "Швидкість\nОхолодження", "displayText": "Швидкість\nОхолодження",
"description": "Швидкість охолодження на кінці режиму профілів (у сек)" "description": "Швидкість охолодження в кінці режиму профілів (градусів в секунду)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Чутливість\nдатчику руху", "displayText": "Чутливість\nсенсору руху",
"description": "Акселерометр (1=мін. чутливості | ... | 9=макс. чутливість)" "description": "Акселерометр (0=Вимк. | 1=мін. чутливості | ... | 9=макс. чутливості)"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Темпер.\nсну", "displayText": "Темпер.\nсну",
"description": "Температура режиму сну (C° | F°)" "description": "Температура режиму очікування (C° | F°)"
}, },
"SleepTimeout": { "SleepTimeout": {
"displayText": "Тайм-аут\nсну", "displayText": "Тайм-аут\nсну",
"description": "Час до переходу до сну (Хв | Сек)" "description": "Час до переходу в режим очікування (Хвилини | Секунди)"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"displayText": "Часу до\nвимкнення", "displayText": "Часу до\nвимкнення",
"description": "Час до вимкнення (Хв)" "description": "Час до вимкнення (Хвилини)"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Чутливість\nДатчику Холла", "displayText": "Чутливість\nЕфекту Холла",
"description": "Чутливість датчика Холла при виявленні сну (1=мін. чутливість | ... | 9=макс. чутливість)" "description": "Чутливість датчика ефекту Холла при виявленні сну (0=Вимк. | 1=мін. чутливості | ... | 9=макс. чутливості)"
},
"HallEffSleepTimeout": {
"displayText": "Датчик Холла\nЧас сну",
"description": "Проміжок часу до \"часу сну\" за умови спрацювання датчику Холла"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Формат темпе-\nратури(C°/F°)", "displayText": "Формат темпе-\nратури(C°/F°)",
"description": "Одиниця виміру температури (C=Цельсій | F=Фаренгейт)" "description": "Одиниця виміру температури (C=Цельсій | F=Фаренгейт)"
}, },
"DisplayRotation": { "DisplayRotation": {
"displayText": "Обертання\nекрану", "displayText": "Автоповорот\nекрану",
"description": "Орієнтація екрану (П=Правша | Л=Лівша | A=Автооберт.)" "description": "Орієнтація дисплея (П=Правша | Л=Лівша | A=Автоповорот)"
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "Показ t° при\nохолодженні", "displayText": "Показ t° при\nохолодженні",
"description": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран мерехтить" "description": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "Швидкість\nтексту", "displayText": "Швидкість\nтексту",
@@ -277,11 +253,11 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Швидкість\nанімації", "displayText": "Швидкість\nанімації",
"description": "Швидкість анімації іконок у меню (Н=Низькa | С=Середня | М=Максимальна)" "description": "Швидкість анімації іконок у головному меню (В=Вимк | Н=Низькa | С=Середня | М=Максимальна)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Циклічна\nанімація", "displayText": "Циклічна\nанімація",
"description": "Циклічна анімація іконок у меню" "description": "Циклічна анімація іконок в головному меню"
}, },
"Brightness": { "Brightness": {
"displayText": "Яскравість\nекрану", "displayText": "Яскравість\nекрану",
@@ -292,8 +268,8 @@
"description": "Інвертувати кольори на OLED екрані" "description": "Інвертувати кольори на OLED екрані"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Тривалість\nлоготипу при запуску", "displayText": "Тривалість\nлоготипу завантаження",
"description": "Поточна тривалість показу лого при запуску (сек)" "description": "Встановити тривалість показу лого при завантаженні (с=секунд)"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Детальний ре-\nжим очікуван.", "displayText": "Детальний ре-\nжим очікуван.",
@@ -309,11 +285,11 @@
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Макс.\nпотуж.", "displayText": "Макс.\nпотуж.",
"description": "Макс. потужність, яку може використовувати паяльник (Ватт)" "description": "Макс. потужність, яку може використовувати паяльник (Ват)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Калібрувати КХС\nпри наступному запуску", "displayText": "Калібрувати КХС\nпри наступному завантаженні",
"description": "При наступному запуску буде відкалібровано Компенсацію Холодного Спаю жала (непотрібне при різниці температур < 5°C)" "description": "При наступному завантаження буде відкалібровано Компенсацію Холодного Спаю жала (непотрібне при різниці температур < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Калібрування\nнапруги", "displayText": "Калібрування\nнапруги",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Мова:\n UK Українська", "displayText": "Мова:\n UK Українська",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Тип Жала",
"description": "Оберіть відповідний тип жала"
} }
} }
} }

View File

@@ -1,347 +0,0 @@
{
"languageCode": "UZ",
"languageLocalName": "O'zbek",
"tempUnitFahrenheit": false,
"messagesWarn": {
"CalibrationDone": {
"message": "Kalibrovka\nyakunlandi!"
},
"ResetOKMessage": {
"message": "Sozlamalar\ntiklandi"
},
"SettingsResetMessage": {
"message": "Ayrim sozlamalar\no'zgartirildi"
},
"NoAccelerometerMessage": {
"message": "Akselerometr\ntopilmadi!"
},
"NoPowerDeliveryMessage": {
"message": "USB-PD IC\ntopilmadi!"
},
"LockingKeysString": {
"message": "QULFLANDI"
},
"UnlockingKeysString": {
"message": "QULF OCHILDI"
},
"WarningKeysLockedString": {
"message": "!QULFLANGAN!"
},
"WarningThermalRunaway": {
"message": "Issiqlik\nqochishi"
},
"WarningTipShorted": {
"message": "!Uchida qisqa tutashuv!"
},
"SettingsCalibrationWarning": {
"message": "Qayta yuklashdan oldin, uchi va tutqich xona haroratida ekanligiga ishonch hosil qiling!"
},
"CJCCalibrating": {
"message": "Kalibrovka\nqilinmoqda"
},
"SettingsResetWarning": {
"message": "Sozlamalarni standart holatga qaytarishni istaysizmi?"
},
"UVLOWarningString": {
"message": "DC PAST"
},
"UndervoltageString": {
"message": "Past kuchlanish\n"
},
"InputVoltageString": {
"message": "Kirish kuchlanishi: \n"
},
"SleepingAdvancedString": {
"message": "Uyqu holati...\n"
},
"SleepingTipAdvancedString": {
"message": "Uch: \n"
},
"ProfilePreheatString": {
"message": "Qizdirish\n"
},
"ProfileCooldownString": {
"message": "Sovutish\n"
},
"DeviceFailedValidationWarning": {
"message": "Qurilmangiz soxta bo'lishi mumkin!"
},
"TooHotToStartProfileWarning": {
"message": "Profilni boshlash uchun\njuda issiq"
}
},
"characters": {
"SettingRightChar": "O",
"SettingLeftChar": "C",
"SettingAutoChar": "A",
"SettingSlowChar": "S",
"SettingMediumChar": "O",
"SettingFastChar": "T",
"SettingStartSolderingChar": "P",
"SettingStartSleepChar": "U",
"SettingStartSleepOffChar": "X",
"SettingLockBoostChar": "B",
"SettingLockFullChar": "T"
},
"menuGroups": {
"PowerMenu": {
"displayText": "Quvvat\nsozlamalari",
"description": ""
},
"SolderingMenu": {
"displayText": "Paylash\nsozlamalari",
"description": ""
},
"PowerSavingMenu": {
"displayText": "Uyqu\nrejimi",
"description": ""
},
"UIMenu": {
"displayText": "Foydalanuvchi\ninterfeysi",
"description": ""
},
"AdvancedMenu": {
"displayText": "Kengaytirilgan\nsozlamalar",
"description": ""
}
},
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": {
"DCInCutoff": {
"displayText": "Quvvat\nmanbai",
"description": "Batareya haddan tashqari zaryadsizlanishini oldini olish uchun kuchlanish chegarasini o'rnatish (DC 10V) (S=3.3V har bir yacheyka uchun, quvvat PWR chegarasini o'chirish)"
},
"MinVolCell": {
"displayText": "Minimal\nkuchlanish",
"description": "Batareya yacheyka uchun minimal ruxsat etilgan kuchlanish (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
},
"QCMaxVoltage": {
"displayText": "QC\nvoltage",
"description": "Max QC voltage the iron should negotiate for"
},
"PDNegTimeout": {
"displayText": "PD\ntimeout",
"description": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
},
"USBPDMode": {
"displayText": "PD\nMode",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance"
},
"BoostTemperature": {
"displayText": "Kuchaytirish\nharorati",
"description": "\"Boost mode\" rejimida uch harorati"
},
"AutoStart": {
"displayText": "Boshlash\nholati",
"description": "P=paylash temperaturasigacha qizdirish | U=qo'zg'atilmagunicha uyqu rejimida ushlash | X=qo'zg'atilmagunicha qizdirilmagan holda ushlash"
},
"TempChangeShortStep": {
"displayText": "Tugmaning qisqa\nbosilishi",
"description": "Qisqa bosilgandagi harorat o'zgarishi-oshirish"
},
"TempChangeLongStep": {
"displayText": "Tugmaning uzoqroq\nbosilishi",
"description": "Uzoqroq bosilgandagi harorat o'zgarishi-oshirish"
},
"LockingMode": {
"displayText": "Tugmalarni qulflashni\nfaollashtirish",
"description": "Qulflash uchun paylash davomida ikkala tugmani bosib turing (B=faqat boost mode uchun | T=to'liq qulflash)"
},
"ProfilePhases": {
"displayText": "Profil\nbosqichlari",
"description": "Profil rejimlarida bosqichlar soni"
},
"ProfilePreheatTemp": {
"displayText": "Dastlabgi\nHarorat",
"description": "Profil rejimida dastlab ushbu haroratga qizdirish"
},
"ProfilePreheatSpeed": {
"displayText": "Qizdirish\nTezligi",
"description": "Ushbu tezlikda qizdirish (1 sekundda shuncha daraja)"
},
"ProfilePhase1Temp": {
"displayText": "1-faza\nHarorati",
"description": "Bu fazaning oxirida mo'ljallangan harorat"
},
"ProfilePhase1Duration": {
"displayText": "1-faza\nDavomiyligi",
"description": "Ushbu fazaning davomiyligi (sekund)"
},
"ProfilePhase2Temp": {
"displayText": "2-faza\nHarorati",
"description": ""
},
"ProfilePhase2Duration": {
"displayText": "2-faza\nDavomiyligi",
"description": ""
},
"ProfilePhase3Temp": {
"displayText": "3-faza\nHarorati",
"description": ""
},
"ProfilePhase3Duration": {
"displayText": "3-faza\nDavomiyligi",
"description": ""
},
"ProfilePhase4Temp": {
"displayText": "4-faza\nHarorati",
"description": ""
},
"ProfilePhase4Duration": {
"displayText": "4-faza\nDavomiyligi",
"description": ""
},
"ProfilePhase5Temp": {
"displayText": "5-faza\nHarorati",
"description": ""
},
"ProfilePhase5Duration": {
"displayText": "5-faza\nDavomiyligi",
"description": ""
},
"ProfileCooldownSpeed": {
"displayText": "Sovutish\ntezligi",
"description": "Profil rejimi oxirida bu tezlikda sovutish (1 sekundda shuncha daraja)"
},
"MotionSensitivity": {
"displayText": "Harakat\nsezgirligi",
"description": "1=quyi sezgirlik | ... | 9=eng yuqori sezgirlik"
},
"SleepTemperature": {
"displayText": "Uyqu\nharorati",
"description": "\"Uyqu holati\"dagi uch harorati"
},
"SleepTimeout": {
"displayText": "Uyquga ketish\nvaqti",
"description": "\"Uyqu holati\" boshlanishidan oldingi interval sleep mode (s=sekund | m=minut)"
},
"ShutdownTimeout": {
"displayText": "O'chish\nvaqti",
"description": "Temirni o'chirishdan oldingi interval (m=minut)"
},
"HallEffSensitivity": {
"displayText": "Hall sensori\nsezgirligi",
"description": "Magnitlarga nisbatan sezgirlik darajasi (1=quyi sezgirlik | ... | 9=eng yuqori sezgirlik)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
},
"TemperatureUnit": {
"displayText": "Harorat o'lchov\nbirligi",
"description": "C=°Selsiy | F=°Fahrenheit"
},
"DisplayRotation": {
"displayText": "Ekran\nyo'nalishi",
"description": "O=o'ng qo'l | C=chap qo'l | A=avtomatik"
},
"CooldownBlink": {
"displayText": "Sovutish\nindikatori",
"description": "Uchi qizigan bo'sh turgan holatida harorat o'lchovini yangilab turish"
},
"ScrollingSpeed": {
"displayText": "Matn aylanish\ntezligi",
"description": "Matn aylanish tezligini sozlash (S=sekin | T=tez)"
},
"ReverseButtonTempChange": {
"displayText": "(+) va (-) tugmalarni\nalmashtirish",
"description": "Harorat o'zgarishi uchun tugmachalarni vazifasini almashish"
},
"AnimSpeed": {
"displayText": "Anim.\ntezligi",
"description": "Menyudagi ikonka animatsiyalari tezligini sozlash (S=sekin | O=o'rtacha | T=tez)"
},
"AnimLoop": {
"displayText": "Anim.\nqaytarilishi",
"description": "Bosh menyudagi ikonka anim. qaytarilishi"
},
"Brightness": {
"displayText": "Ekran\nyorqinligi",
"description": "OLED ekran yorqinligini sozlash"
},
"ColourInversion": {
"displayText": "Ranglarni\ninvert qilish",
"description": "OLED ekran ranglarini teskari qilish"
},
"LOGOTime": {
"displayText": "Yuklanish logosi\ndavomiyligi",
"description": "Yuklanish logosi davomiyligini o'rnatish (s=sekund)"
},
"AdvancedIdle": {
"displayText": "Batafsil\nbo'sh turgandagi ekran",
"description": "B'sh turgandagi ekranda kichik shriftda batafsil malumotni ko'rsatish"
},
"AdvancedSoldering": {
"displayText": "Batafsil\npayvandlash ekrani",
"description": "Payvandlash ekrani uchun kichik shrift bilan batafsil malumotni ko'rsatish"
},
"BluetoothLE": {
"displayText": "Bluetooth\n",
"description": "Faollashtirish BLE"
},
"PowerLimit": {
"displayText": "Quvvat\nchegarasi",
"description": "Temir foydalanishi mumkin bo'lgan o'rtacha maksimal quvvat (W=watt)"
},
"CalibrateCJC": {
"displayText": "Keyingi yuklashda\nCJC kalibrovkasi",
"description": "Keyingi yuklashda Sovuq Tugun Kompensatsiyasini (CJC) kalibrlash (Delta T < 5°C bo'lsa, talab qilinmaydi)"
},
"VoltageCalibration": {
"displayText": "Kirish kuchlanishini\nkalibrlash",
"description": "VIN kalibrovkasini boshlash (chiqish uchun uzoq bosib turing)"
},
"PowerPulsePower": {
"displayText": "Quvvat\npulsi",
"description": "Uxlashdan saqlash pulsining quvvat intensivligi (W=watt)"
},
"PowerPulseWait": {
"displayText": "Quvvat pulsi\nkechikishi",
"description": "Uxlashdan saqlash pulsi boshlanishigacha bo'lgan kechikish (x 2.5 soniya)"
},
"PowerPulseDuration": {
"displayText": "Quvvat pulsi\ndavomiyligi",
"description": "Uxlashdan saqlash pulsi davomiyligi (x 250ms)"
},
"SettingsReset": {
"displayText": "Sozlamalarni\nqayta tiklash",
"description": "Barcha sozlamalarni odatiy holatga qaytarish"
},
"LanguageSwitch": {
"displayText": "Til:\n UZ O'zbek tili",
"description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
}
}
}

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Đau vào V: \n" "message": "Đau vào V: \n"
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Đang ngu...\n" "message": "Đang ngu...\n"
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Meo: \n" "message": "Meo: \n"
}, },
"OffString": {
"message": "Tat"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat\n" "message": "Preheat\n"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingOffChar": "O",
"SettingSlowChar": "S", "SettingSlowChar": "S",
"SettingMediumChar": "M", "SettingMediumChar": "M",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingStartNoneChar": "O",
"SettingStartSolderingChar": "S", "SettingStartSolderingChar": "S",
"SettingStartSleepChar": "Z", "SettingStartSleepChar": "Z",
"SettingStartSleepOffChar": "R", "SettingStartSleepOffChar": "R",
"SettingLockDisableChar": "D",
"SettingLockBoostChar": "B", "SettingLockBoostChar": "B",
"SettingLockFullChar": "F" "SettingLockFullChar": "F"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "Nguon\nđien", "displayText": "Nguon\nđien",
@@ -151,9 +131,9 @@
"displayText": "PD\nsau", "displayText": "PD\nsau",
"description": "Thoi gian cho đàm phán PD trong các buoc 100ms đe tuong thích voi mot so bo sac QC" "description": "Thoi gian cho đàm phán PD trong các buoc 100ms đe tuong thích voi mot so bo sac QC"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nMode", "displayText": "PD\nVPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "Tăng\nnhiet đo", "displayText": "Tăng\nnhiet đo",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "Nhiet đo\nđang tăng", "displayText": "Nhiet đo\nđang tăng",
"description": "S=nhiet đo hàn | Z=cho o nhiet đo ngu đen khi cu đong | R=cho mà không gia nhiet đen khi cu đong" "description": "- O=tat | S=nhiet đo hàn | Z=cho o nhiet đo ngu đen khi cu đong | R=cho mà không gia nhiet đen khi cu đong"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "Thay đoi n.đo\nan nút nhanh", "displayText": "Thay đoi n.đo\nan nút nhanh",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "Cho phép khóa\ncác nút", "displayText": "Cho phép khóa\ncác nút",
"description": "Trong khi hàn, giu ca 2 nút đe khóa (B=chi che đo tăng cuong | F=khóa hoàn toàn)" "description": "Trong khi hàn, giu ca 2 nút đe khóa(D=tat | B=chi che đo tăng cuong | F=khóa hoàn toàn)"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile\nPhases", "displayText": "Profile\nPhases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "Cam bien\ncu đong", "displayText": "Cam bien\ncu đong",
"description": "1=đo nhay thap nhat| ... | 9=đo nhay cao nhat" "description": "- 0=tat | 1=đo nhay thap nhat| ... | 9=đo nhay cao nhat"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "Nhiet đo\nkhi ngu", "displayText": "Nhiet đo\nkhi ngu",
@@ -241,19 +221,15 @@
}, },
"SleepTimeout": { "SleepTimeout": {
"displayText": "Ngu\nsau", "displayText": "Ngu\nsau",
"description": "thoi gian truoc khi \"Che đo ngu\" bat đau (s=giây | m=phút)" "description": "- thoi gian truoc khi \"Che đo ngu\" bat đau (s=giây | m=phút)"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"displayText": "Tat\nsau", "displayText": "Tat\nsau",
"description": "khoang thoi gian truoc khi tay hàn tat (m=phút)" "description": "- khoang thoi gian truoc khi tay hàn tat (m=phút)"
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "Hall\nđo nhay", "displayText": "Hall\nđo nhay",
"description": "Đo nhay cam bien Hall đe phát hien che đo ngu (1=ít nhay nhat |...| 9=nhay nhat)" "description": "Đo nhay cam bien Hall đe phát hien che đo ngu (0=tat | 1=ít nhay nhat |...| 9=nhay nhat)"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "Đon vi\nnhiet đo", "displayText": "Đon vi\nnhiet đo",
@@ -261,11 +237,11 @@
}, },
"DisplayRotation": { "DisplayRotation": {
"displayText": "Huong\nhien thi", "displayText": "Huong\nhien thi",
"description": "R=huong tay phai | L=huong tay trái | A=tu đong" "description": "- R=huong tay phai | L=huong tay trái | A=tu đong"
}, },
"CooldownBlink": { "CooldownBlink": {
"displayText": "Nguoi đi\nchop mat", "displayText": "Nguoi đi\nchop mat",
"description": "Nhap nháy nhiet đo sau khi viec gia nhiet tam dung trong khi mui hàn van nóng" "description": "-Nhap nháy nhiet đo sau khi viec gia nhiet tam dung trong khi mui hàn van nóng"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"displayText": "Toc đo\ncuon", "displayText": "Toc đo\ncuon",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "Toc đo\nhoat anh", "displayText": "Toc đo\nhoat anh",
"description": "Toc đo cua hoat anh menu (S=cham | M=trung bình | F=nhanh)" "description": "-Toc đo cua hoat anh menu (O=tat | S=cham | M=trung bình | F=nhanh)"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "Hoat anh\nlap lai", "displayText": "Hoat anh\nlap lai",
@@ -285,11 +261,11 @@
}, },
"Brightness": { "Brightness": {
"displayText": "Đo tuong phan\nmàn hình", "displayText": "Đo tuong phan\nmàn hình",
"description": "Đieu chinh đo sáng màn hình OLED" "description": "-Đieu chinh đo sáng màn hình OLED"
}, },
"ColourInversion": { "ColourInversion": {
"displayText": "Đao nguoc màu\nmàn hình", "displayText": "Đao nguoc màu\nmàn hình",
"description": "Đao nguoc màu màn hình OLED" "description": "-Đao nguoc màu màn hình OLED"
}, },
"LOGOTime": { "LOGOTime": {
"displayText": "Boot logo\nduration", "displayText": "Boot logo\nduration",
@@ -297,11 +273,11 @@
}, },
"AdvancedIdle": { "AdvancedIdle": {
"displayText": "Chi tiet\nmàn hình cho", "displayText": "Chi tiet\nmàn hình cho",
"description": "hien thi thông tin chi tiet bang phông chu nho hon trên màn hình cho" "description": "- hien thi thông tin chi tiet bang phông chu nho hon trên màn hình cho"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"displayText": "Chi tiet\nmàn hình hàn", "displayText": "Chi tiet\nmàn hình hàn",
"description": "Hien thi thông tin bang phông chu nho hon trên màn hình hàn" "description": "-Hien thi thông tin bang phông chu nho hon trên màn hình hàn"
}, },
"BluetoothLE": { "BluetoothLE": {
"displayText": "Bluetooth\n", "displayText": "Bluetooth\n",
@@ -309,19 +285,19 @@
}, },
"PowerLimit": { "PowerLimit": {
"displayText": "Công suat\ngioi han", "displayText": "Công suat\ngioi han",
"description": "Công suat toi đa mà tay hàn có the su dung (W=watt)" "description": "-Công suat toi đa mà tay hàn có the su dung (W=watt)"
}, },
"CalibrateCJC": { "CalibrateCJC": {
"displayText": "Calibrate CJC\nat next boot", "displayText": "Calibrate CJC\nat next boot",
"description": "Calbrate Cold Junction Compensation at next boot (not required if Delta T is < 5°C)" "description": "At next boot tip Cold Junction Compensation will be calibrated (not required if Delta T is < 5°C)"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "Hieu chinh\nđien áp đau vào?", "displayText": "Hieu chinh\nđien áp đau vào?",
"description": "bat đau hieu chuan VIN (nhan và giu đe thoát)" "description": "-bat đau hieu chuan VIN (nhan và giu đe thoát)"
}, },
"PowerPulsePower": { "PowerPulsePower": {
"displayText": "Công suat\nkích nguon", "displayText": "Công suat\nkích nguon",
"description": "Cuong đo công suat kích nguon (watt)" "description": "-Cuong đo công suat kích nguon (watt)"
}, },
"PowerPulseWait": { "PowerPulseWait": {
"displayText": "Trì hoãn\nđien áp kích", "displayText": "Trì hoãn\nđien áp kích",
@@ -329,19 +305,15 @@
}, },
"PowerPulseDuration": { "PowerPulseDuration": {
"displayText": "Thoi luong\nkích nguon", "displayText": "Thoi luong\nkích nguon",
"description": "thoi luong kích nguon (x 250ms)" "description": "-thoi luong kích nguon (x 250ms)"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "Khôi phuc\ncài đat goc?", "displayText": "Khôi phuc\ncài đat goc?",
"description": "đat lai tat ca cài đat ve mac đinh" "description": "-đat lai tat ca cài đat ve mac đinh"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "Ngôn ngu:\n VI Tieng Viet", "displayText": "Ngôn ngu:\n VI Tieng Viet",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: " "message": "Input V: "
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Sleeping..." "message": "Sleeping..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip: " "message": "Tip: "
}, },
"OffString": {
"message": "關"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat" "message": "Preheat"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "右", "SettingRightChar": "右",
"SettingLeftChar": "左", "SettingLeftChar": "左",
"SettingAutoChar": "自", "SettingAutoChar": "自",
"SettingOffChar": "關",
"SettingSlowChar": "慢", "SettingSlowChar": "慢",
"SettingMediumChar": "中", "SettingMediumChar": "中",
"SettingFastChar": "快", "SettingFastChar": "快",
"SettingStartNoneChar": "無",
"SettingStartSolderingChar": "焊", "SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "待", "SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室", "SettingStartSleepOffChar": "室",
"SettingLockDisableChar": "無",
"SettingLockBoostChar": "增", "SettingLockBoostChar": "增",
"SettingLockFullChar": "全" "SettingLockFullChar": "全"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "電源", "displayText": "電源",
@@ -151,9 +131,9 @@
"displayText": "PD逾時", "displayText": "PD逾時",
"description": "設定USB PD協定交涉嘅逾時時限為兼容某啲QC電源而設 <x100ms亳秒>" "description": "設定USB PD協定交涉嘅逾時時限為兼容某啲QC電源而設 <x100ms亳秒>"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD VPDO", "displayText": "PD VPDO",
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "description": "Enables PPS & EPR modes"
}, },
"BoostTemperature": { "BoostTemperature": {
"displayText": "增熱温度", "displayText": "增熱温度",
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "自動啓用", "displayText": "自動啓用",
"description": "開機時自動啓用 <焊=焊接模式 | 待=待機模式 | 室=室温待機>" "description": "開機時自動啓用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室温待機>"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "温度調整 短", "displayText": "温度調整 短",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "撳掣鎖定", "displayText": "撳掣鎖定",
"description": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <增=淨係容許增熱模式 | 全=鎖定全部>" "description": "喺焊接模式時,同時長撳兩粒掣啓用撳掣鎖定 <無=停用 | 增=淨係容許增熱模式 | 全=鎖定全部>"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile Phases", "displayText": "Profile Phases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "動作敏感度", "displayText": "動作敏感度",
"description": "1=最低敏感度 | ... | 9=最高敏感度" "description": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "待機温度", "displayText": "待機温度",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "磁場敏感度", "displayText": "磁場敏感度",
"description": "磁場感應器用嚟啓動待機模式嘅敏感度 <1=最低敏感度 | ... | 9=最高敏感度>" "description": "磁場感應器用嚟啓動待機模式嘅敏感度 <0=停用 | 1=最低敏感度 | ... | 9=最高敏感度>"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "温度單位", "displayText": "温度單位",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "動畫速度", "displayText": "動畫速度",
"description": "功能表圖示動畫嘅速度 <慢=慢速 | 中=中速 | 快=快速>" "description": "功能表圖示動畫嘅速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "動畫循環", "displayText": "動畫循環",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "語言: 廣東話", "displayText": "語言: 廣東話",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -46,10 +46,13 @@
"message": "电压过低" "message": "电压过低"
}, },
"UndervoltageString": { "UndervoltageString": {
"message": "欠压" "message": "Undervoltage"
}, },
"InputVoltageString": { "InputVoltageString": {
"message": "VIN: \n" "message": "VIN: "
},
"SleepingSimpleString": {
"message": "Zzzz"
}, },
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Zzzz..." "message": "Zzzz..."
@@ -57,29 +60,35 @@
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "<--- " "message": "<--- "
}, },
"OffString": {
"message": "关"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "预热中" "message": "Preheat"
}, },
"ProfileCooldownString": { "ProfileCooldownString": {
"message": "冷却" "message": "Cooldown"
}, },
"DeviceFailedValidationWarning": { "DeviceFailedValidationWarning": {
"message": "这支电烙铁很有可能是冒牌货!" "message": "这支电烙铁很有可能是冒牌货!"
}, },
"TooHotToStartProfileWarning": { "TooHotToStartProfileWarning": {
"message": "设备过热" "message": "Too hot to start profile"
} }
}, },
"characters": { "characters": {
"SettingRightChar": "右", "SettingRightChar": "右",
"SettingLeftChar": "左", "SettingLeftChar": "左",
"SettingAutoChar": "自", "SettingAutoChar": "自",
"SettingOffChar": "关",
"SettingSlowChar": "慢", "SettingSlowChar": "慢",
"SettingMediumChar": "中", "SettingMediumChar": "中",
"SettingFastChar": "快", "SettingFastChar": "快",
"SettingStartNoneChar": "无",
"SettingStartSolderingChar": "焊", "SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "待", "SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室", "SettingStartSleepOffChar": "室",
"SettingLockDisableChar": "无",
"SettingLockBoostChar": "增", "SettingLockBoostChar": "增",
"SettingLockFullChar": "全" "SettingLockFullChar": "全"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "默认模式"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "安全模式"
},
"TipTypeAuto": {
"displayText": "自动检测"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "下限电压", "displayText": "下限电压",
@@ -151,8 +131,8 @@
"displayText": "PD超时", "displayText": "PD超时",
"description": "设定USB-PD协议交涉的超时时限为兼容某些QC电源而设 <x100ms亳秒>" "description": "设定USB-PD协议交涉的超时时限为兼容某些QC电源而设 <x100ms亳秒>"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD\nVPDO", "displayText": "PD VPDO",
"description": "启用PPS和EPR快充支持" "description": "启用PPS和EPR快充支持"
}, },
"BoostTemperature": { "BoostTemperature": {
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "自动启动", "displayText": "自动启动",
"description": "开机时自动启动 <焊=焊接模式 | 待=待机模式 | 室=室温待机>" "description": "开机时自动启动 <无=禁用 | 焊=焊接模式 | 待=待机模式 | 室=室温待机>"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "短按温度调整", "displayText": "短按温度调整",
@@ -173,67 +153,67 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "按键锁定", "displayText": "按键锁定",
"description": "焊接模式时,同时长按两个按键启用按键锁定 <增=只容许增热模式 | 全=完全锁定>" "description": "焊接模式时,同时长按两个按键启用按键锁定 <无=禁用 | 增=只容许增热模式 | 全=完全锁定>"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "配置阶数", "displayText": "Profile Phases",
"description": "配置模式下的阶段数量" "description": "Number of phases in profile mode"
}, },
"ProfilePreheatTemp": { "ProfilePreheatTemp": {
"displayText": "预热温度", "displayText": "Preheat Temp",
"description": "配置开始时的目标温度" "description": "Preheat to this temperature at the start of profile mode"
}, },
"ProfilePreheatSpeed": { "ProfilePreheatSpeed": {
"displayText": "预热速度", "displayText": "Preheat Speed",
"description": "将以此速度进行预热 (度/秒)" "description": "Preheat at this rate (degrees per second)"
}, },
"ProfilePhase1Temp": { "ProfilePhase1Temp": {
"displayText": "阶段1温度", "displayText": "Phase 1 Temp",
"description": "此阶段结束时的目标温度" "description": "Target temperature for the end of this phase"
}, },
"ProfilePhase1Duration": { "ProfilePhase1Duration": {
"displayText": "阶段1时间", "displayText": "Phase 1 Duration",
"description": "此阶段的目标持续时间(秒)" "description": "Target duration of this phase (seconds)"
}, },
"ProfilePhase2Temp": { "ProfilePhase2Temp": {
"displayText": "阶段2温度", "displayText": "Phase 2 Temp",
"description": "此阶段结束时的目标温度" "description": ""
}, },
"ProfilePhase2Duration": { "ProfilePhase2Duration": {
"displayText": "阶段2时间", "displayText": "Phase 2 Duration",
"description": "此阶段的目标持续时间(秒)" "description": ""
}, },
"ProfilePhase3Temp": { "ProfilePhase3Temp": {
"displayText": "阶段3温度", "displayText": "Phase 3 Temp",
"description": "此阶段结束时的目标温度" "description": ""
}, },
"ProfilePhase3Duration": { "ProfilePhase3Duration": {
"displayText": "阶段3时间", "displayText": "Phase 3 Duration",
"description": "此阶段的目标持续时间(秒)" "description": ""
}, },
"ProfilePhase4Temp": { "ProfilePhase4Temp": {
"displayText": "阶段4温度", "displayText": "Phase 4 Temp",
"description": "此阶段结束时的目标温度" "description": ""
}, },
"ProfilePhase4Duration": { "ProfilePhase4Duration": {
"displayText": "阶段4时间", "displayText": "Phase 4 Duration",
"description": "此阶段的目标持续时间(秒)" "description": ""
}, },
"ProfilePhase5Temp": { "ProfilePhase5Temp": {
"displayText": "阶段5温度", "displayText": "Phase 5 Temp",
"description": "此阶段结束时的目标温度" "description": ""
}, },
"ProfilePhase5Duration": { "ProfilePhase5Duration": {
"displayText": "阶段5时间", "displayText": "Phase 5 Duration",
"description": "此阶段的目标持续时间(秒)" "description": ""
}, },
"ProfileCooldownSpeed": { "ProfileCooldownSpeed": {
"displayText": "冷却速度", "displayText": "Cooldown Speed",
"description": "在配置模式结束时以此速度进行冷却(度/秒)" "description": "Cooldown at this rate at the end of profile mode (degrees per second)"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "动作灵敏度", "displayText": "动作灵敏度",
"description": "1=最低灵敏度 | ... | 9=最高灵敏度" "description": "0=禁用 | 1=最低灵敏度 | ... | 9=最高灵敏度"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "待机温度", "displayText": "待机温度",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "磁场灵敏度", "displayText": "磁场灵敏度",
"description": "霍尔效应传感器用作启动待机模式的灵敏度 <1=最低灵敏度 | ... | 9=最高灵敏度>" "description": "霍尔效应传感器用作启动待机模式的灵敏度 <0=禁用 | 1=最低灵敏度 | ... | 9=最高灵敏度>"
},
"HallEffSleepTimeout": {
"displayText": "霍尔传感器休眠时间",
"description": "当霍尔传感器检测值高于阈值时,进入“睡眠模式”前的间隔时间"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "温度单位", "displayText": "温度单位",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "动画速度", "displayText": "动画速度",
"description": "主菜单中功能图标动画的播放速度 <慢=慢速 | 中=中速 | 快=快速>" "description": "主菜单中功能图标动画的播放速度 <关=不显示动画 | 慢=慢速 | 中=中速 | 快=快速>"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "动画循环", "displayText": "动画循环",
@@ -316,7 +292,7 @@
"description": "在下次重启时校正烙铁头热电偶冷接点补偿值CJC温差小于5摄氏度时无需校正" "description": "在下次重启时校正烙铁头热电偶冷接点补偿值CJC温差小于5摄氏度时无需校正"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"displayText": "输入电压校正", "displayText": "输入电压校正",
"description": "开始校正输入电压VIN<长按以退出>" "description": "开始校正输入电压VIN<长按以退出>"
}, },
"PowerPulsePower": { "PowerPulsePower": {
@@ -332,16 +308,12 @@
"description": "为保持电源处于唤醒状态,每次通电脉冲的时间长度 <x250ms亳秒>" "description": "为保持电源处于唤醒状态,每次通电脉冲的时间长度 <x250ms亳秒>"
}, },
"SettingsReset": { "SettingsReset": {
"displayText": "全部重置", "displayText": "全部重置",
"description": "将所有设定重置为默认值" "description": "将所有设定重置为默认值"
}, },
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "语言:简体中文", "displayText": "语言:简体中文",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "焊接头类型",
"description": "选择安装合适的尖端类型"
} }
} }
} }

View File

@@ -51,12 +51,18 @@
"InputVoltageString": { "InputVoltageString": {
"message": "Input V: " "message": "Input V: "
}, },
"SleepingSimpleString": {
"message": "Zzzz"
},
"SleepingAdvancedString": { "SleepingAdvancedString": {
"message": "Sleeping..." "message": "Sleeping..."
}, },
"SleepingTipAdvancedString": { "SleepingTipAdvancedString": {
"message": "Tip: " "message": "Tip: "
}, },
"OffString": {
"message": "關"
},
"ProfilePreheatString": { "ProfilePreheatString": {
"message": "Preheat" "message": "Preheat"
}, },
@@ -74,12 +80,15 @@
"SettingRightChar": "右", "SettingRightChar": "右",
"SettingLeftChar": "左", "SettingLeftChar": "左",
"SettingAutoChar": "自", "SettingAutoChar": "自",
"SettingOffChar": "關",
"SettingSlowChar": "慢", "SettingSlowChar": "慢",
"SettingMediumChar": "中", "SettingMediumChar": "中",
"SettingFastChar": "快", "SettingFastChar": "快",
"SettingStartNoneChar": "無",
"SettingStartSolderingChar": "焊", "SettingStartSolderingChar": "焊",
"SettingStartSleepChar": "待", "SettingStartSleepChar": "待",
"SettingStartSleepOffChar": "室", "SettingStartSleepOffChar": "室",
"SettingLockDisableChar": "無",
"SettingLockBoostChar": "增", "SettingLockBoostChar": "增",
"SettingLockFullChar": "全" "SettingLockFullChar": "全"
}, },
@@ -105,35 +114,6 @@
"description": "" "description": ""
} }
}, },
"menuValues": {
"USBPDModeDefault": {
"displayText": "Default\nMode"
},
"USBPDModeNoDynamic": {
"displayText": "No\nDynamic"
},
"USBPDModeSafe": {
"displayText": "Safe\nMode"
},
"TipTypeAuto": {
"displayText": "Auto\nSense"
},
"TipTypeT12Long": {
"displayText": "TS100\nLong"
},
"TipTypeT12Short": {
"displayText": "Pine\nShort"
},
"TipTypeT12PTS": {
"displayText": "PTS\n200"
},
"TipTypeTS80": {
"displayText": "TS80\n"
},
"TipTypeJBCC210": {
"displayText": "JBC\nC210"
}
},
"menuOptions": { "menuOptions": {
"DCInCutoff": { "DCInCutoff": {
"displayText": "電源", "displayText": "電源",
@@ -151,7 +131,7 @@
"displayText": "PD逾時", "displayText": "PD逾時",
"description": "設定USB PD協定交涉的逾時時限為兼容某些QC電源而設 <x100ms亳秒>" "description": "設定USB PD協定交涉的逾時時限為兼容某些QC電源而設 <x100ms亳秒>"
}, },
"USBPDMode": { "PDVpdo": {
"displayText": "PD VPDO", "displayText": "PD VPDO",
"description": "開啟PPS及EPR支援" "description": "開啟PPS及EPR支援"
}, },
@@ -161,7 +141,7 @@
}, },
"AutoStart": { "AutoStart": {
"displayText": "自動啟用", "displayText": "自動啟用",
"description": "開機時自動啟用 <焊=焊接模式 | 待=待機模式 | 室=室溫待機>" "description": "開機時自動啟用 <無=停用 | 焊=焊接模式 | 待=待機模式 | 室=室溫待機>"
}, },
"TempChangeShortStep": { "TempChangeShortStep": {
"displayText": "溫度調整 短", "displayText": "溫度調整 短",
@@ -173,7 +153,7 @@
}, },
"LockingMode": { "LockingMode": {
"displayText": "按鍵鎖定", "displayText": "按鍵鎖定",
"description": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <增=只容許增熱模式 | 全=鎖定全部>" "description": "於焊接模式時,同時長按兩個按鍵啟用按鍵鎖定 <無=停用 | 增=只容許增熱模式 | 全=鎖定全部>"
}, },
"ProfilePhases": { "ProfilePhases": {
"displayText": "Profile Phases", "displayText": "Profile Phases",
@@ -233,7 +213,7 @@
}, },
"MotionSensitivity": { "MotionSensitivity": {
"displayText": "動作敏感度", "displayText": "動作敏感度",
"description": "1=最低敏感度 | ... | 9=最高敏感度" "description": "0=停用 | 1=最低敏感度 | ... | 9=最高敏感度"
}, },
"SleepTemperature": { "SleepTemperature": {
"displayText": "待機溫度", "displayText": "待機溫度",
@@ -249,11 +229,7 @@
}, },
"HallEffSensitivity": { "HallEffSensitivity": {
"displayText": "磁場敏感度", "displayText": "磁場敏感度",
"description": "磁場感應器用作啟動待機模式的敏感度 <1=最低敏感度 | ... | 9=最高敏感度>" "description": "磁場感應器用作啟動待機模式的敏感度 <0=停用 | 1=最低敏感度 | ... | 9=最高敏感度>"
},
"HallEffSleepTimeout": {
"displayText": "HallSensor\nSleepTime",
"description": "Interval before \"sleep mode\" starts when hall effect is above threshold"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"displayText": "溫標", "displayText": "溫標",
@@ -277,7 +253,7 @@
}, },
"AnimSpeed": { "AnimSpeed": {
"displayText": "動畫速度", "displayText": "動畫速度",
"description": "功能表圖示動畫的速度 <慢=慢速 | 中=中速 | 快=快速>" "description": "功能表圖示動畫的速度 <關=不顯示動畫 | 慢=慢速 | 中=中速 | 快=快速>"
}, },
"AnimLoop": { "AnimLoop": {
"displayText": "動畫循環", "displayText": "動畫循環",
@@ -338,10 +314,6 @@
"LanguageSwitch": { "LanguageSwitch": {
"displayText": "語言:正體中文", "displayText": "語言:正體中文",
"description": "" "description": ""
},
"SolderingTipType": {
"displayText": "Soldering\nTip Type",
"description": "Select the tip type fitted"
} }
} }
} }

View File

@@ -1,6 +1,5 @@
{ {
"messagesWarn": [ "messagesWarn": [{
{
"id": "CalibrationDone", "id": "CalibrationDone",
"description": "Confirmation message indicating calibration is complete." "description": "Confirmation message indicating calibration is complete."
}, },
@@ -18,7 +17,9 @@
}, },
{ {
"id": "NoPowerDeliveryMessage", "id": "NoPowerDeliveryMessage",
"include": ["POW_PD", "POW_PD_EXT"], "include": [
"POW_PD"
],
"description": "The IC required for USB-PD could not be communicated with. This is an error warning that USB-PD WILL NOT FUNCTION. Generally indicative of either a hardware or software issues." "description": "The IC required for USB-PD could not be communicated with. This is an error warning that USB-PD WILL NOT FUNCTION. Generally indicative of either a hardware or software issues."
}, },
{ {
@@ -56,46 +57,73 @@
{ {
"id": "UVLOWarningString", "id": "UVLOWarningString",
"maxLen": 8, "maxLen": 8,
"include": ["POW_DC"], "include": [
"POW_DC"
],
"description": "Warning text shown when the unit turns off due to undervoltage in simple mode." "description": "Warning text shown when the unit turns off due to undervoltage in simple mode."
}, },
{ {
"id": "UndervoltageString", "id": "UndervoltageString",
"maxLen": 15, "maxLen": 15,
"include": ["POW_DC"], "include": [
"POW_DC"
],
"description": "Warning text shown when the unit turns off due to undervoltage in advanced mode." "description": "Warning text shown when the unit turns off due to undervoltage in advanced mode."
}, },
{ {
"id": "InputVoltageString", "id": "InputVoltageString",
"maxLen": 11, "maxLen": 11,
"note": "Preferably end with a space", "note": "Preferably end with a space",
"include": ["POW_DC"], "include": [
"POW_DC"
],
"description": "Prefix text for 'Input Voltage' shown before showing the input voltage reading." "description": "Prefix text for 'Input Voltage' shown before showing the input voltage reading."
}, },
{ {
"id": "ProfilePreheatString", "id": "ProfilePreheatString",
"maxLen": 9, "maxLen": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Shown in profile mode while preheating" "description": "Shown in profile mode while preheating"
}, },
{ {
"id": "ProfileCooldownString", "id": "ProfileCooldownString",
"maxLen": 9, "maxLen": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Shown in profile mode while cooling down" "description": "Shown in profile mode while cooling down"
}, },
{
"id": "SleepingSimpleString",
"maxLen": 4,
"exclude": [
"NO_SLEEP_MODE"
],
"description": "The text shown to indicate the unit is in sleep mode when the advanced view is NOT on."
},
{ {
"id": "SleepingAdvancedString", "id": "SleepingAdvancedString",
"maxLen": 15, "maxLen": 15,
"exclude": ["NO_SLEEP_MODE"], "exclude": [
"NO_SLEEP_MODE"
],
"description": "The text shown to indicate the unit is in sleep mode when the advanced view is turned on." "description": "The text shown to indicate the unit is in sleep mode when the advanced view is turned on."
}, },
{ {
"id": "SleepingTipAdvancedString", "id": "SleepingTipAdvancedString",
"maxLen": 6, "maxLen": 6,
"exclude": ["NO_SLEEP_MODE"], "exclude": [
"NO_SLEEP_MODE"
],
"description": "The prefix text shown before tip temperature when the unit is sleeping with advanced view on." "description": "The prefix text shown before tip temperature when the unit is sleeping with advanced view on."
}, },
{
"id": "OffString",
"maxLen": 3,
"description": "Shown when a setting is turned off."
},
{ {
"id": "DeviceFailedValidationWarning", "id": "DeviceFailedValidationWarning",
"default": "Device may be\ncounterfeit", "default": "Device may be\ncounterfeit",
@@ -104,7 +132,9 @@
{ {
"id": "TooHotToStartProfileWarning", "id": "TooHotToStartProfileWarning",
"default": "Too hot to\nstart profile", "default": "Too hot to\nstart profile",
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Shown when profile mode is started while the device is too hot." "description": "Shown when profile mode is started while the device is too hot."
} }
], ],
@@ -124,6 +154,11 @@
"len": 1, "len": 1,
"description": "Shown for automatic display rotation." "description": "Shown for automatic display rotation."
}, },
{
"id": "SettingOffChar",
"len": 1,
"description": "Shown when a setting is turned off"
},
{ {
"id": "SettingSlowChar", "id": "SettingSlowChar",
"len": 1, "len": 1,
@@ -139,6 +174,11 @@
"len": 1, "len": 1,
"description": "Shown when a setting is set to a fast value i.e. animation speed" "description": "Shown when a setting is set to a fast value i.e. animation speed"
}, },
{
"id": "SettingStartNoneChar",
"len": 1,
"description": "Shown when autostart state is to do nothing and go to a normal boot"
},
{ {
"id": "SettingStartSolderingChar", "id": "SettingStartSolderingChar",
"len": 1, "len": 1,
@@ -154,6 +194,12 @@
"len": 1, "len": 1,
"description": "Shown when the auto start state is set to go to an off state, but on movement wake into soldering mode." "description": "Shown when the auto start state is set to go to an off state, but on movement wake into soldering mode."
}, },
{
"id": "SettingLockDisableChar",
"len": 1,
"default": "D",
"description": "Shown when locking mode is turned off."
},
{ {
"id": "SettingLockBoostChar", "id": "SettingLockBoostChar",
"len": 1, "len": 1,
@@ -172,7 +218,10 @@
"id": "PowerMenu", "id": "PowerMenu",
"maxLen": 5, "maxLen": 5,
"maxLen2": 11, "maxLen2": 11,
"include": ["POW_DC", "POW_QC"], "include": [
"POW_DC",
"POW_QC"
],
"description": "Menu for settings related to power. Main settings to do with the input voltage." "description": "Menu for settings related to power. Main settings to do with the input voltage."
}, },
{ {
@@ -200,79 +249,51 @@
"description": "Advanced settings. Misc catchall for settings that don't fit anywhere else or settings that require some thought before use." "description": "Advanced settings. Misc catchall for settings that don't fit anywhere else or settings that require some thought before use."
} }
], ],
"menuValues": [
{
"id": "USBPDModeDefault",
"description": "When in this mode we enable all PD features, and we pad resistance slightly to account for cable and PCB trace loss"
},
{
"id": "USBPDModeNoDynamic",
"description": "When in this mode we only enable fixed voltage USB-PD options, and we pad resistance slightly to account for cable and PCB trace loss"
},
{
"id": "USBPDModeSafe",
"description": "When in this mode we enable all PD features, but we don't pad resistance slightly to account for cable and PCB trace loss"
},
{
"id": "TipTypeAuto",
"description": "This is for automatic best-effort tip selection based on resistance"
},
{
"id": "TipTypeT12Long",
"description": "Hakko T12 or older (long) TS100 tips"
},
{
"id": "TipTypeT12Short",
"description": "Pine 6.2 ohm short TS100 style tips"
},
{
"id": "TipTypeT12PTS",
"description": "PTS200 4 ohm short TS100 style tips"
},
{
"id": "TipTypeTS80",
"description": "Miniware TS80(P) tips"
},
{
"id": "TipTypeJBCC210",
"description": "JBC (or clone) tips"
}
],
"menuOptions": [ "menuOptions": [
{ {
"id": "DCInCutoff", "id": "DCInCutoff",
"maxLen": 5, "maxLen": 5,
"maxLen2": 11, "maxLen2": 11,
"include": ["POW_DC"], "include": [
"POW_DC"
],
"description": "When the device is powered by a battery, this adjusts the low voltage threshold for when the unit should turn off the heater to protect the battery." "description": "When the device is powered by a battery, this adjusts the low voltage threshold for when the unit should turn off the heater to protect the battery."
}, },
{ {
"id": "MinVolCell", "id": "MinVolCell",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["POW_DC"], "include": [
"POW_DC"
],
"description": "When powered by a battery, this adjusts the minimum voltage per cell before shutdown. (This is multiplied by the cell count.)" "description": "When powered by a battery, this adjusts the minimum voltage per cell before shutdown. (This is multiplied by the cell count.)"
}, },
{ {
"id": "QCMaxVoltage", "id": "QCMaxVoltage",
"maxLen": 8, "maxLen": 8,
"maxLen2": 15, "maxLen2": 15,
"include": ["POW_QC"], "include": [
"POW_QC"
],
"description": "This adjusts the maximum voltage the QC negotiation will adjust to. Does NOT affect USB-PD. Should be set safely based on the current rating of your power supply." "description": "This adjusts the maximum voltage the QC negotiation will adjust to. Does NOT affect USB-PD. Should be set safely based on the current rating of your power supply."
}, },
{ {
"id": "PDNegTimeout", "id": "PDNegTimeout",
"maxLen": 8, "maxLen": 8,
"maxLen2": 15, "maxLen2": 15,
"include": ["POW_PD", "POW_PD_EXT"], "include": [
"POW_PD"
],
"description": "How long until firmware stops trying to negotiate for USB-PD and tries QC instead. Longer times may help dodgy / old PD adapters, faster times move onto PD quickly. Units of 100ms. Recommended to keep small values." "description": "How long until firmware stops trying to negotiate for USB-PD and tries QC instead. Longer times may help dodgy / old PD adapters, faster times move onto PD quickly. Units of 100ms. Recommended to keep small values."
}, },
{ {
"id": "USBPDMode", "id": "PDVpdo",
"maxLen": 7, "maxLen": 7,
"maxLen2": 15, "maxLen2": 15,
"include": ["POW_PD", "POW_PD_EXT"], "include": [
"description": "No Dynamic disables EPR & PPS, Safe mode does not use padding resistance" "POW_PD"
],
"description": "Enabled PPS & EPR modes."
}, },
{ {
"id": "BoostTemperature", "id": "BoostTemperature",
@@ -308,98 +329,126 @@
"id": "ProfilePhases", "id": "ProfilePhases",
"maxLen": 6, "maxLen": 6,
"maxLen2": 13, "maxLen2": 13,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "set the number of phases for profile mode." "description": "set the number of phases for profile mode."
}, },
{ {
"id": "ProfilePreheatTemp", "id": "ProfilePreheatTemp",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Preheat to this temperature at the start of profile mode." "description": "Preheat to this temperature at the start of profile mode."
}, },
{ {
"id": "ProfilePreheatSpeed", "id": "ProfilePreheatSpeed",
"maxLen": 5, "maxLen": 5,
"maxLen2": 11, "maxLen2": 11,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "How fast the temperature is allowed to rise during the preheat phase at the start of profile mode." "description": "How fast the temperature is allowed to rise during the preheat phase at the start of profile mode."
}, },
{ {
"id": "ProfilePhase1Temp", "id": "ProfilePhase1Temp",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Target temperature for the end of phase 1 of profile mode." "description": "Target temperature for the end of phase 1 of profile mode."
}, },
{ {
"id": "ProfilePhase1Duration", "id": "ProfilePhase1Duration",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Duration of phase 1 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." "description": "Duration of phase 1 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature."
}, },
{ {
"id": "ProfilePhase2Temp", "id": "ProfilePhase2Temp",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Target temperature for the end of phase 2 of profile mode." "description": "Target temperature for the end of phase 2 of profile mode."
}, },
{ {
"id": "ProfilePhase2Duration", "id": "ProfilePhase2Duration",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Duration of phase 2 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." "description": "Duration of phase 2 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature."
}, },
{ {
"id": "ProfilePhase3Temp", "id": "ProfilePhase3Temp",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Target temperature for the end of phase 3 of profile mode." "description": "Target temperature for the end of phase 3 of profile mode."
}, },
{ {
"id": "ProfilePhase3Duration", "id": "ProfilePhase3Duration",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Duration of phase 3 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." "description": "Duration of phase 3 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature."
}, },
{ {
"id": "ProfilePhase4Temp", "id": "ProfilePhase4Temp",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Target temperature for the end of phase 5 of profile mode." "description": "Target temperature for the end of phase 5 of profile mode."
}, },
{ {
"id": "ProfilePhase4Duration", "id": "ProfilePhase4Duration",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Duration of phase 5 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." "description": "Duration of phase 5 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature."
}, },
{ {
"id": "ProfilePhase5Temp", "id": "ProfilePhase5Temp",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Target temperature for the end of phase 5 of profile mode." "description": "Target temperature for the end of phase 5 of profile mode."
}, },
{ {
"id": "ProfilePhase5Duration", "id": "ProfilePhase5Duration",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "Duration of phase 5 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature." "description": "Duration of phase 5 of profile mode. The phase might actually take longer if it takes longer to reach the target temperature."
}, },
{ {
"id": "ProfileCooldownSpeed", "id": "ProfileCooldownSpeed",
"maxLen": 5, "maxLen": 5,
"maxLen2": 11, "maxLen2": 11,
"include": ["PROFILE_SUPPORT"], "include": [
"PROFILE_SUPPORT"
],
"description": "How fast the temperature is allowed to drop during the cooldown phase at the end of profile mode." "description": "How fast the temperature is allowed to drop during the cooldown phase at the end of profile mode."
}, },
{ {
@@ -412,14 +461,18 @@
"id": "SleepTemperature", "id": "SleepTemperature",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"exclude": ["NO_SLEEP_MODE"], "exclude": [
"NO_SLEEP_MODE"
],
"description": "Temperature the device will drop down to while asleep. Typically around halfway between off and soldering temperature." "description": "Temperature the device will drop down to while asleep. Typically around halfway between off and soldering temperature."
}, },
{ {
"id": "SleepTimeout", "id": "SleepTimeout",
"maxLen": 4, "maxLen": 4,
"maxLen2": 9, "maxLen2": 9,
"exclude": ["NO_SLEEP_MODE"], "exclude": [
"NO_SLEEP_MODE"
],
"description": "How long of a period without movement / button-pressing is required before the device drops down to the sleep temperature." "description": "How long of a period without movement / button-pressing is required before the device drops down to the sleep temperature."
}, },
{ {
@@ -432,16 +485,11 @@
"id": "HallEffSensitivity", "id": "HallEffSensitivity",
"maxLen": 6, "maxLen": 6,
"maxLen2": 13, "maxLen2": 13,
"include": ["HALL_SENSOR"], "include": [
"HALL_SENSOR"
],
"description": "If the unit has a hall effect sensor (Pinecil), this adjusts how sensitive it is at detecting a magnet to put the device into sleep mode." "description": "If the unit has a hall effect sensor (Pinecil), this adjusts how sensitive it is at detecting a magnet to put the device into sleep mode."
}, },
{
"id": "HallEffSleepTimeout",
"maxLen": 10,
"maxLen2": 10,
"include": ["HALL_SENSOR"],
"description": "If the unit has a hall effect sensor (Pinecil), this adjusts how long the device takes before it drops down to the sleep temperature when hall sensor is over threshold."
},
{ {
"id": "TemperatureUnit", "id": "TemperatureUnit",
"maxLen": 6, "maxLen": 6,
@@ -452,7 +500,9 @@
"id": "DisplayRotation", "id": "DisplayRotation",
"maxLen": 6, "maxLen": 6,
"maxLen2": 13, "maxLen2": 13,
"exclude": ["NO_DISPLAY_ROTATE"], "exclude": [
"NO_DISPLAY_ROTATE"
],
"description": "If the display should rotate automatically or if it should be fixed for left- or right-handed mode." "description": "If the display should rotate automatically or if it should be fixed for left- or right-handed mode."
}, },
{ {
@@ -519,7 +569,9 @@
"id": "BluetoothLE", "id": "BluetoothLE",
"maxLen": 7, "maxLen": 7,
"maxLen2": 15, "maxLen2": 15,
"include": ["BLE_ENABLED"], "include": [
"BLE_ENABLED"
],
"description": "Should BLE be enabled at boot time." "description": "Should BLE be enabled at boot time."
}, },
{ {
@@ -569,12 +621,6 @@
"maxLen": 7, "maxLen": 7,
"maxLen2": 15, "maxLen2": 15,
"description": "Changes the device language on multi-lingual builds." "description": "Changes the device language on multi-lingual builds."
},
{
"id": "SolderingTipType",
"maxLen": 7,
"maxLen2": 15,
"description": "For manually selecting the type of tip fitted"
} }
] ]
} }

View File

@@ -41,7 +41,6 @@ nav:
- Troubleshooting: Troubleshooting.md - Troubleshooting: Troubleshooting.md
- Known Hardware Issues: HardwareIssues.md - Known Hardware Issues: HardwareIssues.md
- Power sources: PowerSources.md - Power sources: PowerSources.md
- New Hardware Requirements: PortingToNewDevice.md
- Translations: Translation.md - Translations: Translation.md
- Development: Development.md - Development: Development.md
- Changelog: History.md - Changelog: History.md

View File

@@ -19,9 +19,7 @@ usage()
echo -e "\tbuild - compile builds of IronOS inside docker container for supported hardware" echo -e "\tbuild - compile builds of IronOS inside docker container for supported hardware"
echo -e "\tclean - delete created docker image for IronOS & its build cache objects\n" echo -e "\tclean - delete created docker image for IronOS & its build cache objects\n"
echo "CMD (helper routines):" echo "CMD (helper routines):"
echo -e "\tdocs - high level target to run docs_readme and docs_history (see below)\n"
echo -e "\tdocs_readme - generate & OVERWRITE(!) README.md inside Documentation/ based on nav section from mkdocs.yml if it changed\n" echo -e "\tdocs_readme - generate & OVERWRITE(!) README.md inside Documentation/ based on nav section from mkdocs.yml if it changed\n"
echo -e "\tdocs_history - check if History.md has the changelog for the latest stable release\n"
echo -e "\tcheck_style_file SRC - run code style checks based on clang-format & custom parsers for source code file SRC\n" echo -e "\tcheck_style_file SRC - run code style checks based on clang-format & custom parsers for source code file SRC\n"
echo -e "\tcheck_style_log - run clang-format using source/Makefile and generate gcc-compatible error log in source/check-style.log\n" echo -e "\tcheck_style_log - run clang-format using source/Makefile and generate gcc-compatible error log in source/check-style.log\n"
echo -e "STORAGE NOTICE: for \"shell\" and \"build\" commands extra files will be downloaded so make sure that you have ~5GB of free space.\n" echo -e "STORAGE NOTICE: for \"shell\" and \"build\" commands extra files will be downloaded so make sure that you have ~5GB of free space.\n"
@@ -73,76 +71,6 @@ EOF
return "${ret}" return "${ret}"
} }
# Documentation/History.md automagical changelog routine
docs_history()
{
md="Documentation/History.md"
ver_md="$(sed -ne 's/^## //1p' "${md}" | head -1)"
echo "Latest changelog: ${ver_md}"
ver_git="$(git tag -l | sort | grep -e "^v" | grep -v "rc" | tail -1)"
echo "Latest release tag: ${ver_git}"
ret=0
if [ "${ver_md}" != "${ver_git}" ]; then
ret=1
echo "It seems there is no changelog information for ${ver_git} in ${md} yet."
echo "Please, update changelog information in ${md}."
fi;
return "${ret}"
}
# Check for links to release builds in README.md
docs_links()
{
ver_git="$(git tag -l | sort | grep -e "^v" | grep -v "rc" | tail -1)"
md="README.md"
test -f "${md}" || (echo "deploy.sh: docs_links: ERROR with the project directory structure!" && exit 1)
ver_md="$(grep -c "${ver_git}" "${md}")"
ret=0
if [ "${ver_md}" -eq 0 ]; then
ret=1
echo "Please, update mention & links in ${md} inside Builds section for release builds with version ${ver_git}."
fi;
return "${ret}"
}
# source/Makefile:ALL_LANGUAGES & Translations/*.json automagical routine
build_langs()
{
mk="../source/Makefile"
cd Translations/ || (echo "deploy.sh: build_langs: ERROR with the project directory structure!" && exit 1)
langs="$(echo "$(find ./*.json | sed -ne 's,^\./translation_,,; s,\.json$,,; /[A-Z]/p' ; sed -ne 's/^ALL_LANGUAGES=//p;' "${mk}")" | sed 's, ,\n,g; s,\r,,g' | sort | uniq -u)"
if [ -n "${langs}" ]; then
echo "It seems there is mismatch between supported languages and enabled builds."
echo "Please, check files in Translations/ and ALL_LANGUAGES variable in source/Makefile for:"
echo "${langs}"
return 1
fi;
cd ..
echo -ne "\n"
grep -nH $'\11' Translations/translation*.json
ret="${?}"
if [ "${ret}" -eq 0 ]; then
echo -ne "\t^^^^\t^^^^\n"
echo "Please, remove any tabs as indention from json file(s) in Translations/ directory (see the exact files & lines in the list above)."
echo "Use spaces only to indent in the future, please."
echo -ne "\n"
return 1
fi;
grep -nEH -e "^( {1}| {3}| {5}| {7}| {9}| {11})[^ ]" Translations/translation*.json
ret="${?}"
if [ "${ret}" -eq 0 ]; then
echo -ne "\t^^^^\t^^^^\n"
echo "Please, remove any odd amount of extra spaces as indention from json file(s) in Translations/ directory (see the exact files & lines in the list above)."
echo "Use even amount of spaces to indent in the future, please (two actual spaces per one indent, not tab)."
echo -ne "\n"
return 1
fi;
return 0
}
# Helper function to check code style using clang-format & grep/sed custom parsers: # Helper function to check code style using clang-format & grep/sed custom parsers:
# - basic logic moved from source/Makefile : `check-style` target for better maintainance since a lot of sh script involved; # - basic logic moved from source/Makefile : `check-style` target for better maintainance since a lot of sh script involved;
# - output goes in gcc-like error compatible format for IDEs/editors. # - output goes in gcc-like error compatible format for IDEs/editors.
@@ -198,46 +126,27 @@ docker_file="-f ${root_dir}/${docker_conf}"
# (compose sub-command must be included, i.e. DOCKER_BIN="/usr/local/bin/docker compose" ./deploy.sh) # (compose sub-command must be included, i.e. DOCKER_BIN="/usr/local/bin/docker compose" ./deploy.sh)
if [ -z "${DOCKER_BIN}" ]; then if [ -z "${DOCKER_BIN}" ]; then
docker_app="" docker_bin=""
else else
docker_app="${DOCKER_BIN}" docker_bin="${DOCKER_BIN}"
fi; fi;
# detect availability of docker # detect availability of docker
docker_compose="$(command -v docker-compose)" docker_compose="$(command -v docker-compose)"
if [ -n "${docker_compose}" ] && [ -z "${docker_app}" ]; then if [ -n "${docker_compose}" ] && [ -z "${docker_bin}" ]; then
docker_app="${docker_compose}" docker_bin="${docker_compose}"
fi; fi;
docker_tool="$(command -v docker)" docker_tool="$(command -v docker)"
if [ -n "${docker_tool}" ] && [ -z "${docker_app}" ]; then if [ -n "${docker_tool}" ] && [ -z "${docker_bin}" ]; then
docker_app="${docker_tool} compose" docker_bin="${docker_tool} compose"
fi; fi;
# give function argument a name # give function argument a name
cmd="${1}" cmd="${1}"
# meta target to verify markdown documents
if [ "docs" = "${cmd}" ]; then
docs_readme
readme="${?}"
docs_history
hist="${?}"
build_langs
langs="${?}"
docs_links
links="${?}"
if [ "${readme}" -eq 0 ] && [ "${hist}" -eq 0 ] && [ "${langs}" -eq 0 ] && [ "${links}" -eq 0 ]; then
ret=0
else
ret=1
fi;
exit ${ret}
fi;
# if only README.md for Documentation update is required then run it & exit # if only README.md for Documentation update is required then run it & exit
if [ "docs_readme" = "${cmd}" ]; then if [ "docs_readme" = "${cmd}" ]; then
@@ -245,23 +154,6 @@ if [ "docs_readme" = "${cmd}" ]; then
exit "${?}" exit "${?}"
fi; fi;
# if only History.md for Documentation update is required then run it & exit
if [ "docs_history" = "${cmd}" ]; then
docs_history
exit "${?}"
fi;
if [ "build_langs" = "${cmd}" ]; then
build_langs
exit "${?}"
fi;
if [ "docs_links" = "${cmd}" ]; then
docs_links
exit "${?}"
fi;
if [ "check_style_file" = "${cmd}" ]; then if [ "check_style_file" = "${cmd}" ]; then
check_style_file "${2}" check_style_file "${2}"
exit "${?}" exit "${?}"
@@ -274,7 +166,7 @@ fi;
# if docker is not presented in any way show warning & exit # if docker is not presented in any way show warning & exit
if [ -z "${docker_app}" ]; then if [ -z "${docker_bin}" ]; then
echo "ERROR: Can't find docker-compose nor docker tool. Please, install docker and try again." echo "ERROR: Can't find docker-compose nor docker tool. Please, install docker and try again."
exit 1 exit 1
fi; fi;
@@ -302,6 +194,6 @@ if [ "${cmd}" = "shell" ]; then
echo -e "\t* type \"exit\" to end the session when done;" echo -e "\t* type \"exit\" to end the session when done;"
fi; fi;
echo -e "\t* type \"${0} clean\" to delete created container (but not cached data)" echo -e "\t* type \"${0} clean\" to delete created container (but not cached data)"
echo -e "\n====>>>> ${docker_app} ${docker_file} ${docker_cmd}\n" echo -e "\n====>>>> ${docker_bin} ${docker_file} ${docker_cmd}\n"
eval "${docker_app} ${docker_file} ${docker_cmd}" eval "${docker_bin} ${docker_file} ${docker_cmd}"
exit "${?}" exit "${?}"

View File

@@ -75,7 +75,7 @@ umount_ts100() {
echo "Failed to unmount $DIR_TMP" echo "Failed to unmount $DIR_TMP"
exit 1 exit 1
fi fi
sudo rmdir "$DIR_TMP" rmdir "$DIR_TMP"
} }
check_flash() { check_flash() {
@@ -126,13 +126,14 @@ echo "Found TS100 config disk device on $DEVICE"
mount_ts100 mount_ts100
echo "Mounted config disk drive, flashing..." echo "Mounted config disk drive, flashing..."
dd if="$1" of="$HEX_FIRMWARE" oflag=direct cp -v "$1" "$HEX_FIRMWARE"
umount_ts100 sync
echo "Waiting for TS100 to flash" echo "Waiting for TS100 to flash"
sleep 5 sleep 5
echo "Remounting config disk drive" echo "Remounting config disk drive"
umount_ts100
wait_for_ts100 wait_for_ts100
mount_ts100 mount_ts100
check_flash check_flash

View File

@@ -8,8 +8,6 @@
#ifndef BSP_POWER_H_ #ifndef BSP_POWER_H_
#define BSP_POWER_H_ #define BSP_POWER_H_
#include "Types.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@@ -24,8 +22,6 @@ uint8_t getTipResistanceX10();
uint16_t getTipThermalMass(); uint16_t getTipThermalMass();
uint16_t getTipInertia(); uint16_t getTipInertia();
TemperatureType_t getCustomTipMaxInC();
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

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

View File

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

View File

@@ -1,5 +1,6 @@
#ifndef CONFIGURATION_H_ #ifndef CONFIGURATION_H_
#define CONFIGURATION_H_ #define CONFIGURATION_H_
#include "Settings.h"
#include <stdint.h> #include <stdint.h>
/** /**
* Configuration.h * Configuration.h
@@ -56,7 +57,6 @@
* *
*/ */
#define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right #define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right
#define MAX_ORIENTATION_MODE 1 // Unlikely to ever change
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/** /**
@@ -103,8 +103,8 @@
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 #define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
// Due to large thermal mass of the PCB being heated we need to pull this back a bit // Due to large thermal mass of the PCB being heated we need to pull this back a bit
#define THERMAL_RUNAWAY_TIME_SEC 20 #define THERMAL_RUNAWAY_TIME_SEC 45
#define THERMAL_RUNAWAY_TEMP_C 2 #define THERMAL_RUNAWAY_TEMP_C 3
#define CUT_OUT_SETTING 0 // default to no cut-off voltage #define CUT_OUT_SETTING 0 // default to no cut-off voltage
#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) #define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33))
@@ -146,14 +146,13 @@
#define MIN_BOOST_TEMP_F 300 // The min settable temp for boost mode °F #define MIN_BOOST_TEMP_F 300 // The min settable temp for boost mode °F
#define NO_DISPLAY_ROTATE // Disable OLED rotation by accel #define NO_DISPLAY_ROTATE // Disable OLED rotation by accel
#define SLEW_LIMIT 50 // Limit to 3.0 Watts per 64ms pid loop update rate slew rate #define SLEW_LIMIT 50 // Limit to 3.0 Watts per 64ms pid loop update rate slew rate
#define TIPTYPE_MHP30 1 // It's own special tip
#define ACCEL_SC7 #define ACCEL_SC7
#define ACCEL_MSA #define ACCEL_MSA
#define PROFILE_SUPPORT #define PROFILE_SUPPORT
#define OLED_96x16 1
#define POW_PD 1 #define POW_PD 1
#define USB_PD_TIMEOUT 20 // Default Timeout for USB-PD Protocol negotiation in x100ms
#define POW_PD_EXT 0 #define POW_PD_EXT 0
#define USB_PD_EPR_WATTAGE 0 /*No EPR*/ #define USB_PD_EPR_WATTAGE 0 /*No EPR*/
#define TEMP_NTC #define TEMP_NTC

View File

@@ -60,7 +60,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) {
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
HAL_GPIO_Init(TIP_TEMP_GPIO_Port, &GPIO_InitStruct); HAL_GPIO_Init(TIP_TEMP_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = TMP36_INPUT_Pin; GPIO_InitStruct.Pin = TMP36_INPUT_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
HAL_GPIO_Init(TMP36_INPUT_GPIO_Port, &GPIO_InitStruct); HAL_GPIO_Init(TMP36_INPUT_GPIO_Port, &GPIO_InitStruct);
GPIO_InitStruct.Pin = VIN_Pin; GPIO_InitStruct.Pin = VIN_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;

View File

@@ -4,7 +4,6 @@
#include "BootLogo.h" #include "BootLogo.h"
#include "I2C_Wrapper.hpp" #include "I2C_Wrapper.hpp"
#include "Pins.h" #include "Pins.h"
#include "Settings.h"
#include "Setup.h" #include "Setup.h"
#include "TipThermoModel.h" #include "TipThermoModel.h"
#include "USBPD.h" #include "USBPD.h"
@@ -309,8 +308,6 @@ void FinishMeasureTipResistance() {
return; return;
} else if (reading < 200) { } else if (reading < 200) {
tipShorted = true; tipShorted = true;
} else if (reading < 520) {
newRes = 40;
} else if (reading < 800) { } else if (reading < 800) {
newRes = 62; newRes = 62;
} else { } else {
@@ -363,7 +360,14 @@ uint8_t preStartChecks() {
} }
#endif #endif
#ifdef POW_PD
// If we are in the middle of negotiating PD, wait until timeout
// Before turning on the heater
if (!USBPowerDelivery::negotiationComplete()) {
return 0;
}
#endif
return 1; return 1;
} }
uint64_t getDeviceID() { uint64_t getDeviceID() {
@@ -383,18 +387,9 @@ uint8_t getTipResistanceX10() {
#ifdef TIP_RESISTANCE_SENSE_Pin #ifdef TIP_RESISTANCE_SENSE_Pin
// Return tip resistance in x10 ohms // Return tip resistance in x10 ohms
// We can measure this using the op-amp // We can measure this using the op-amp
uint8_t user_selected_tip = getUserSelectedTipResistance(); return lastTipResistance;
if (user_selected_tip == 0) {
return lastTipResistance; // Auto mode
}
return user_selected_tip;
#else #else
uint8_t user_selected_tip = getUserSelectedTipResistance(); return TIP_RESISTANCE;
if (user_selected_tip == 0) {
return TIP_RESISTANCE; // Auto mode
}
return user_selected_tip;
#endif #endif
} }
#ifdef TIP_RESISTANCE_SENSE_Pin #ifdef TIP_RESISTANCE_SENSE_Pin

View File

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

View File

@@ -1,5 +1,639 @@
/**
******************************************************************************
* @file stm32f1xx_hal_i2c.h
* @author MCD Application Team
* @brief Header file of I2C HAL module.
******************************************************************************
* @attention
*
* <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. Neither the name of STMicroelectronics nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_I2C_H #ifndef __STM32F1xx_HAL_I2C_H
#define __STM32F1xx_HAL_I2C_H #define __STM32F1xx_HAL_I2C_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal_def.h"
/** @addtogroup STM32F1xx_HAL_Driver
* @{
*/
/** @addtogroup I2C
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup I2C_Exported_Types I2C Exported Types
* @{
*/
/**
* @brief I2C Configuration Structure definition
*/
typedef struct {
uint32_t ClockSpeed; /*!< Specifies the clock frequency.
This parameter must be set to a value lower than 400kHz */
uint32_t DutyCycle; /*!< Specifies the I2C fast mode duty cycle.
This parameter can be a value of @ref I2C_duty_cycle_in_fast_mode */
uint32_t OwnAddress1; /*!< Specifies the first device own address.
This parameter can be a 7-bit or 10-bit address. */
uint32_t AddressingMode; /*!< Specifies if 7-bit or 10-bit addressing mode is selected.
This parameter can be a value of @ref I2C_addressing_mode */
uint32_t DualAddressMode; /*!< Specifies if dual addressing mode is selected.
This parameter can be a value of @ref I2C_dual_addressing_mode */
uint32_t OwnAddress2; /*!< Specifies the second device own address if dual addressing mode is selected
This parameter can be a 7-bit address. */
uint32_t GeneralCallMode; /*!< Specifies if general call mode is selected.
This parameter can be a value of @ref I2C_general_call_addressing_mode */
uint32_t NoStretchMode; /*!< Specifies if nostretch mode is selected.
This parameter can be a value of @ref I2C_nostretch_mode */
} I2C_InitTypeDef;
/**
* @brief HAL State structure definition
* @note HAL I2C State value coding follow below described bitmap :
* b7-b6 Error information
* 00 : No Error
* 01 : Abort (Abort user request on going)
* 10 : Timeout
* 11 : Error
* b5 IP initilisation status
* 0 : Reset (IP not initialized)
* 1 : Init done (IP initialized and ready to use. HAL I2C Init function called)
* b4 (not used)
* x : Should be set to 0
* b3
* 0 : Ready or Busy (No Listen mode ongoing)
* 1 : Listen (IP in Address Listen Mode)
* b2 Intrinsic process state
* 0 : Ready
* 1 : Busy (IP busy with some configuration or internal operations)
* b1 Rx state
* 0 : Ready (no Rx operation ongoing)
* 1 : Busy (Rx operation ongoing)
* b0 Tx state
* 0 : Ready (no Tx operation ongoing)
* 1 : Busy (Tx operation ongoing)
*/
typedef enum {
HAL_I2C_STATE_RESET = 0x00U, /*!< Peripheral is not yet Initialized */
HAL_I2C_STATE_READY = 0x20U, /*!< Peripheral Initialized and ready for use */
HAL_I2C_STATE_BUSY = 0x24U, /*!< An internal process is ongoing */
HAL_I2C_STATE_BUSY_TX = 0x21U, /*!< Data Transmission process is ongoing */
HAL_I2C_STATE_BUSY_RX = 0x22U, /*!< Data Reception process is ongoing */
HAL_I2C_STATE_LISTEN = 0x28U, /*!< Address Listen Mode is ongoing */
HAL_I2C_STATE_BUSY_TX_LISTEN = 0x29U, /*!< Address Listen Mode and Data Transmission
process is ongoing */
HAL_I2C_STATE_BUSY_RX_LISTEN = 0x2AU, /*!< Address Listen Mode and Data Reception
process is ongoing */
HAL_I2C_STATE_ABORT = 0x60U, /*!< Abort user request ongoing */
HAL_I2C_STATE_TIMEOUT = 0xA0U, /*!< Timeout state */
HAL_I2C_STATE_ERROR = 0xE0U /*!< Error */
} HAL_I2C_StateTypeDef;
/**
* @brief HAL Mode structure definition
* @note HAL I2C Mode value coding follow below described bitmap :
* b7 (not used)
* x : Should be set to 0
* b6
* 0 : None
* 1 : Memory (HAL I2C communication is in Memory Mode)
* b5
* 0 : None
* 1 : Slave (HAL I2C communication is in Slave Mode)
* b4
* 0 : None
* 1 : Master (HAL I2C communication is in Master Mode)
* b3-b2-b1-b0 (not used)
* xxxx : Should be set to 0000
*/
typedef enum {
HAL_I2C_MODE_NONE = 0x00U, /*!< No I2C communication on going */
HAL_I2C_MODE_MASTER = 0x10U, /*!< I2C communication is in Master Mode */
HAL_I2C_MODE_SLAVE = 0x20U, /*!< I2C communication is in Slave Mode */
HAL_I2C_MODE_MEM = 0x40U /*!< I2C communication is in Memory Mode */
} HAL_I2C_ModeTypeDef;
/**
* @brief I2C handle Structure definition
*/
typedef struct {
I2C_TypeDef *Instance; /*!< I2C registers base address */
I2C_InitTypeDef Init; /*!< I2C communication parameters */
uint8_t *pBuffPtr; /*!< Pointer to I2C transfer buffer */
uint16_t XferSize; /*!< I2C transfer size */
__IO uint16_t XferCount; /*!< I2C transfer counter */
__IO uint32_t XferOptions; /*!< I2C transfer options */
__IO uint32_t PreviousState; /*!< I2C communication Previous state and mode
context for internal usage */
DMA_HandleTypeDef *hdmatx; /*!< I2C Tx DMA handle parameters */
DMA_HandleTypeDef *hdmarx; /*!< I2C Rx DMA handle parameters */
HAL_LockTypeDef Lock; /*!< I2C locking object */
__IO HAL_I2C_StateTypeDef State; /*!< I2C communication state */
__IO HAL_I2C_ModeTypeDef Mode; /*!< I2C communication mode */
__IO uint32_t ErrorCode; /*!< I2C Error code */
__IO uint32_t Devaddress; /*!< I2C Target device address */
__IO uint32_t Memaddress; /*!< I2C Target memory address */
__IO uint32_t MemaddSize; /*!< I2C Target memory address size */
__IO uint32_t EventCount; /*!< I2C Event counter */
} I2C_HandleTypeDef;
/**
* @}
*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup I2C_Exported_Constants I2C Exported Constants
* @{
*/
/** @defgroup I2C_Error_Code I2C Error Code
* @brief I2C Error Code
* @{
*/
#define HAL_I2C_ERROR_NONE 0x00000000U /*!< No error */
#define HAL_I2C_ERROR_BERR 0x00000001U /*!< BERR error */
#define HAL_I2C_ERROR_ARLO 0x00000002U /*!< ARLO error */
#define HAL_I2C_ERROR_AF 0x00000004U /*!< AF error */
#define HAL_I2C_ERROR_OVR 0x00000008U /*!< OVR error */
#define HAL_I2C_ERROR_DMA 0x00000010U /*!< DMA transfer error */
#define HAL_I2C_ERROR_TIMEOUT 0x00000020U /*!< Timeout Error */
/**
* @}
*/
/** @defgroup I2C_duty_cycle_in_fast_mode I2C duty cycle in fast mode
* @{
*/
#define I2C_DUTYCYCLE_2 0x00000000U
#define I2C_DUTYCYCLE_16_9 I2C_CCR_DUTY
/**
* @}
*/
/** @defgroup I2C_addressing_mode I2C addressing mode
* @{
*/
#define I2C_ADDRESSINGMODE_7BIT 0x00004000U
// #define I2C_ADDRESSINGMODE_10BIT (I2C_OAR1_ADDMODE | 0x00004000U)
/**
* @}
*/
/** @defgroup I2C_dual_addressing_mode I2C dual addressing mode
* @{
*/
#define I2C_DUALADDRESS_DISABLE 0x00000000U
#define I2C_DUALADDRESS_ENABLE I2C_OAR2_ENDUAL
/**
* @}
*/
/** @defgroup I2C_general_call_addressing_mode I2C general call addressing mode
* @{
*/
#define I2C_GENERALCALL_DISABLE 0x00000000U
#define I2C_GENERALCALL_ENABLE I2C_CR1_ENGC
/**
* @}
*/
/** @defgroup I2C_nostretch_mode I2C nostretch mode
* @{
*/
#define I2C_NOSTRETCH_DISABLE 0x00000000U
#define I2C_NOSTRETCH_ENABLE I2C_CR1_NOSTRETCH
/**
* @}
*/
/** @defgroup I2C_Memory_Address_Size I2C Memory Address Size
* @{
*/
#define I2C_MEMADD_SIZE_8BIT 0x00000001U
#define I2C_MEMADD_SIZE_16BIT 0x00000010U
/**
* @}
*/
/** @defgroup I2C_XferDirection_definition I2C XferDirection definition
* @{
*/
#define I2C_DIRECTION_RECEIVE 0x00000000U
#define I2C_DIRECTION_TRANSMIT 0x00000001U
/**
* @}
*/
/** @defgroup I2C_XferOptions_definition I2C XferOptions definition
* @{
*/
#define I2C_FIRST_FRAME 0x00000001U
#define I2C_NEXT_FRAME 0x00000002U
#define I2C_FIRST_AND_LAST_FRAME 0x00000004U
#define I2C_LAST_FRAME 0x00000008U
/**
* @}
*/
/** @defgroup I2C_Interrupt_configuration_definition I2C Interrupt configuration definition
* @{
*/
#define I2C_IT_BUF I2C_CR2_ITBUFEN
#define I2C_IT_EVT I2C_CR2_ITEVTEN
#define I2C_IT_ERR I2C_CR2_ITERREN
/**
* @}
*/
/** @defgroup I2C_Flag_definition I2C Flag definition
* @{
*/
#define I2C_FLAG_SMBALERT 0x00018000U
#define I2C_FLAG_TIMEOUT 0x00014000U
#define I2C_FLAG_PECERR 0x00011000U
#define I2C_FLAG_OVR 0x00010800U
#define I2C_FLAG_AF 0x00010400U
#define I2C_FLAG_ARLO 0x00010200U
#define I2C_FLAG_BERR 0x00010100U
#define I2C_FLAG_TXE 0x00010080U
#define I2C_FLAG_RXNE 0x00010040U
#define I2C_FLAG_STOPF 0x00010010U
// #define I2C_FLAG_ADD10 0x00010008U
#define I2C_FLAG_BTF 0x00010004U
#define I2C_FLAG_ADDR 0x00010002U
#define I2C_FLAG_SB 0x00010001U
#define I2C_FLAG_DUALF 0x00100080U
#define I2C_FLAG_SMBHOST 0x00100040U
#define I2C_FLAG_SMBDEFAULT 0x00100020U
#define I2C_FLAG_GENCALL 0x00100010U
#define I2C_FLAG_TRA 0x00100004U
#define I2C_FLAG_BUSY 0x00100002U
#define I2C_FLAG_MSL 0x00100001U
/**
* @}
*/
/**
* @}
*/
/* Exported macro ------------------------------------------------------------*/
/** @defgroup I2C_Exported_Macros I2C Exported Macros
* @{
*/
/** @brief Reset I2C handle state
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @retval None
*/
#define __HAL_I2C_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_I2C_STATE_RESET)
/** @brief Enable or disable the specified I2C interrupts.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @param __INTERRUPT__: specifies the interrupt source to enable or disable.
* This parameter can be one of the following values:
* @arg I2C_IT_BUF: Buffer interrupt enable
* @arg I2C_IT_EVT: Event interrupt enable
* @arg I2C_IT_ERR: Error interrupt enable
* @retval None
*/
#define __HAL_I2C_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR2 |= (__INTERRUPT__))
#define __HAL_I2C_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR2 &= (~(__INTERRUPT__)))
/** @brief Checks if the specified I2C interrupt source is enabled or disabled.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @param __INTERRUPT__: specifies the I2C interrupt source to check.
* This parameter can be one of the following values:
* @arg I2C_IT_BUF: Buffer interrupt enable
* @arg I2C_IT_EVT: Event interrupt enable
* @arg I2C_IT_ERR: Error interrupt enable
* @retval The new state of __INTERRUPT__ (TRUE or FALSE).
*/
#define __HAL_I2C_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->CR2 & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET)
/** @brief Checks whether the specified I2C flag is set or not.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @param __FLAG__: specifies the flag to check.
* This parameter can be one of the following values:
* @arg I2C_FLAG_SMBALERT: SMBus Alert flag
* @arg I2C_FLAG_TIMEOUT: Timeout or Tlow error flag
* @arg I2C_FLAG_PECERR: PEC error in reception flag
* @arg I2C_FLAG_OVR: Overrun/Underrun flag
* @arg I2C_FLAG_AF: Acknowledge failure flag
* @arg I2C_FLAG_ARLO: Arbitration lost flag
* @arg I2C_FLAG_BERR: Bus error flag
* @arg I2C_FLAG_TXE: Data register empty flag
* @arg I2C_FLAG_RXNE: Data register not empty flag
* @arg I2C_FLAG_STOPF: Stop detection flag
* @arg I2C_FLAG_ADD10: 10-bit header sent flag
* @arg I2C_FLAG_BTF: Byte transfer finished flag
* @arg I2C_FLAG_ADDR: Address sent flag
* Address matched flag
* @arg I2C_FLAG_SB: Start bit flag
* @arg I2C_FLAG_DUALF: Dual flag
* @arg I2C_FLAG_SMBHOST: SMBus host header
* @arg I2C_FLAG_SMBDEFAULT: SMBus default header
* @arg I2C_FLAG_GENCALL: General call header flag
* @arg I2C_FLAG_TRA: Transmitter/Receiver flag
* @arg I2C_FLAG_BUSY: Bus busy flag
* @arg I2C_FLAG_MSL: Master/Slave flag
* @retval The new state of __FLAG__ (TRUE or FALSE).
*/
#define __HAL_I2C_GET_FLAG(__HANDLE__, __FLAG__) \
((((uint8_t)((__FLAG__) >> 16U)) == 0x01U) ? ((((__HANDLE__)->Instance->SR1) & ((__FLAG__)&I2C_FLAG_MASK)) == ((__FLAG__)&I2C_FLAG_MASK)) \
: ((((__HANDLE__)->Instance->SR2) & ((__FLAG__)&I2C_FLAG_MASK)) == ((__FLAG__)&I2C_FLAG_MASK)))
/** @brief Clears the I2C pending flags which are cleared by writing 0 in a specific bit.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @param __FLAG__: specifies the flag to clear.
* This parameter can be any combination of the following values:
* @arg I2C_FLAG_SMBALERT: SMBus Alert flag
* @arg I2C_FLAG_TIMEOUT: Timeout or Tlow error flag
* @arg I2C_FLAG_PECERR: PEC error in reception flag
* @arg I2C_FLAG_OVR: Overrun/Underrun flag (Slave mode)
* @arg I2C_FLAG_AF: Acknowledge failure flag
* @arg I2C_FLAG_ARLO: Arbitration lost flag (Master mode)
* @arg I2C_FLAG_BERR: Bus error flag
* @retval None
*/
#define __HAL_I2C_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->SR1 = ~((__FLAG__)&I2C_FLAG_MASK))
/** @brief Clears the I2C ADDR pending flag.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @retval None
*/
#define __HAL_I2C_CLEAR_ADDRFLAG(__HANDLE__) \
do { \
__IO uint32_t tmpreg = 0x00U; \
tmpreg = (__HANDLE__)->Instance->SR1; \
tmpreg = (__HANDLE__)->Instance->SR2; \
UNUSED(tmpreg); \
} while (0U)
/** @brief Clears the I2C STOPF pending flag.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2C where x: 1, 2, or 3 to select the I2C peripheral.
* @retval None
*/
#define __HAL_I2C_CLEAR_STOPFLAG(__HANDLE__) \
do { \
__IO uint32_t tmpreg = 0x00U; \
tmpreg = (__HANDLE__)->Instance->SR1; \
(__HANDLE__)->Instance->CR1 |= I2C_CR1_PE; \
UNUSED(tmpreg); \
} while (0U)
/** @brief Enable the I2C peripheral.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2Cx where x: 1 or 2 to select the I2C peripheral.
* @retval None
*/
#define __HAL_I2C_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 |= I2C_CR1_PE)
/** @brief Disable the I2C peripheral.
* @param __HANDLE__: specifies the I2C Handle.
* This parameter can be I2Cx where x: 1 or 2 to select the I2C peripheral.
* @retval None
*/
#define __HAL_I2C_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR1 &= ~I2C_CR1_PE)
/**
* @}
*/
/* Exported functions --------------------------------------------------------*/
/** @addtogroup I2C_Exported_Functions
* @{
*/
/** @addtogroup I2C_Exported_Functions_Group1
* @{
*/
/* Initialization/de-initialization functions **********************************/
HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c);
HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c);
/**
* @}
*/
/** @addtogroup I2C_Exported_Functions_Group2
* @{
*/
/* I/O operation functions *****************************************************/
/******* Blocking mode: Polling */
HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout);
HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout);
/******* Non-Blocking mode: Interrupt */
HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Master_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions);
HAL_StatusTypeDef HAL_I2C_Master_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions);
HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions);
HAL_StatusTypeDef HAL_I2C_Slave_Sequential_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uint32_t XferOptions);
HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress);
HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c);
HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c);
/******* Non-Blocking mode: DMA */
HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size);
HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size);
/******* I2C IRQHandler and Callbacks used in non blocking modes (Interrupt and DMA) */
void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c);
void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrMatchCode);
void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c);
void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c);
/**
* @}
*/
/** @addtogroup I2C_Exported_Functions_Group3
* @{
*/
/* Peripheral State, Mode and Errors functions *********************************/
HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c);
HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c);
uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c);
/**
* @}
*/
/**
* @}
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup I2C_Private_Constants I2C Private Constants
* @{
*/
#define I2C_FLAG_MASK 0x0000FFFFU
#define I2C_MIN_PCLK_FREQ_STANDARD 2000000U /*!< 2 MHz */
#define I2C_MIN_PCLK_FREQ_FAST 4000000U /*!< 4 MHz */
/**
* @}
*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup I2C_Private_Macros I2C Private Macros
* @{
*/
#define I2C_MIN_PCLK_FREQ(__PCLK__, __SPEED__) (((__SPEED__) <= 100000U) ? ((__PCLK__) < I2C_MIN_PCLK_FREQ_STANDARD) : ((__PCLK__) < I2C_MIN_PCLK_FREQ_FAST))
#define I2C_CCR_CALCULATION(__PCLK__, __SPEED__, __COEFF__) (((((__PCLK__)-1U) / ((__SPEED__) * (__COEFF__))) + 1U) & I2C_CCR_CCR)
#define I2C_FREQRANGE(__PCLK__) ((__PCLK__) / 1000000U)
#define I2C_RISE_TIME(__FREQRANGE__, __SPEED__) (((__SPEED__) <= 100000U) ? ((__FREQRANGE__) + 1U) : ((((__FREQRANGE__)*300U) / 1000U) + 1U))
#define I2C_SPEED_STANDARD(__PCLK__, __SPEED__) ((I2C_CCR_CALCULATION((__PCLK__), (__SPEED__), 2U) < 4U) ? 4U : I2C_CCR_CALCULATION((__PCLK__), (__SPEED__), 2U))
#define I2C_SPEED_FAST(__PCLK__, __SPEED__, __DUTYCYCLE__) \
(((__DUTYCYCLE__) == I2C_DUTYCYCLE_2) ? I2C_CCR_CALCULATION((__PCLK__), (__SPEED__), 3U) : (I2C_CCR_CALCULATION((__PCLK__), (__SPEED__), 25U) | I2C_DUTYCYCLE_16_9))
#define I2C_SPEED(__PCLK__, __SPEED__, __DUTYCYCLE__) \
(((__SPEED__) <= 100000U) ? (I2C_SPEED_STANDARD((__PCLK__), (__SPEED__))) \
: ((I2C_SPEED_FAST((__PCLK__), (__SPEED__), (__DUTYCYCLE__)) & I2C_CCR_CCR) == 0U) ? 1U \
: ((I2C_SPEED_FAST((__PCLK__), (__SPEED__), (__DUTYCYCLE__))) | I2C_CCR_FS))
#define I2C_7BIT_ADD_WRITE(__ADDRESS__) ((uint8_t)((__ADDRESS__) & (~I2C_OAR1_ADD0)))
#define I2C_7BIT_ADD_READ(__ADDRESS__) ((uint8_t)((__ADDRESS__) | I2C_OAR1_ADD0))
#define I2C_10BIT_ADDRESS(__ADDRESS__) ((uint8_t)((uint16_t)((__ADDRESS__) & (uint16_t)(0x00FFU))))
#define I2C_10BIT_HEADER_WRITE(__ADDRESS__) ((uint8_t)((uint16_t)((uint16_t)(((uint16_t)((__ADDRESS__) & (uint16_t)(0x0300U))) >> 7U) | (uint16_t)(0x00F0U))))
#define I2C_10BIT_HEADER_READ(__ADDRESS__) ((uint8_t)((uint16_t)((uint16_t)(((uint16_t)((__ADDRESS__) & (uint16_t)(0x0300U))) >> 7U) | (uint16_t)(0x00F1U))))
#define I2C_MEM_ADD_MSB(__ADDRESS__) ((uint8_t)((uint16_t)(((uint16_t)((__ADDRESS__) & (uint16_t)(0xFF00U))) >> 8U)))
#define I2C_MEM_ADD_LSB(__ADDRESS__) ((uint8_t)((uint16_t)((__ADDRESS__) & (uint16_t)(0x00FFU))))
/** @defgroup I2C_IS_RTC_Definitions I2C Private macros to check input parameters
* @{
*/
#define IS_I2C_DUTY_CYCLE(CYCLE) (((CYCLE) == I2C_DUTYCYCLE_2) || ((CYCLE) == I2C_DUTYCYCLE_16_9))
#define IS_I2C_ADDRESSING_MODE(ADDRESS) (((ADDRESS) == I2C_ADDRESSINGMODE_7BIT) || ((ADDRESS) == I2C_ADDRESSINGMODE_10BIT))
#define IS_I2C_DUAL_ADDRESS(ADDRESS) (((ADDRESS) == I2C_DUALADDRESS_DISABLE) || ((ADDRESS) == I2C_DUALADDRESS_ENABLE))
#define IS_I2C_GENERAL_CALL(CALL) (((CALL) == I2C_GENERALCALL_DISABLE) || ((CALL) == I2C_GENERALCALL_ENABLE))
#define IS_I2C_NO_STRETCH(STRETCH) (((STRETCH) == I2C_NOSTRETCH_DISABLE) || ((STRETCH) == I2C_NOSTRETCH_ENABLE))
#define IS_I2C_MEMADD_SIZE(SIZE) (((SIZE) == I2C_MEMADD_SIZE_8BIT) || ((SIZE) == I2C_MEMADD_SIZE_16BIT))
#define IS_I2C_CLOCK_SPEED(SPEED) (((SPEED) > 0) && ((SPEED) <= 400000U))
#define IS_I2C_OWN_ADDRESS1(ADDRESS1) (((ADDRESS1) & (uint32_t)(0xFFFFFC00U)) == 0U)
#define IS_I2C_OWN_ADDRESS2(ADDRESS2) (((ADDRESS2) & (uint32_t)(0xFFFFFF01U)) == 0U)
#define IS_I2C_TRANSFER_OPTIONS_REQUEST(REQUEST) (((REQUEST) == I2C_FIRST_FRAME) || ((REQUEST) == I2C_NEXT_FRAME) || ((REQUEST) == I2C_FIRST_AND_LAST_FRAME) || ((REQUEST) == I2C_LAST_FRAME))
/**
* @}
*/
/**
* @}
*/
/* Private functions ---------------------------------------------------------*/
/** @defgroup I2C_Private_Functions I2C Private Functions
* @{
*/
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* __STM32F1xx_HAL_I2C_H */ #endif /* __STM32F1xx_HAL_I2C_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -1,5 +1,6 @@
#ifndef CONFIGURATION_H_ #ifndef CONFIGURATION_H_
#define CONFIGURATION_H_ #define CONFIGURATION_H_
#include "Settings.h"
#include <stdint.h> #include <stdint.h>
/** /**
* Configuration.h * Configuration.h
@@ -56,20 +57,14 @@
* *
*/ */
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define MAX_ORIENTATION_MODE 2 // Up to auto
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/** /**
* OLED Brightness * OLED Brightness
* *
*/ */
#if defined(MODEL_TS101)
#define MIN_BRIGHTNESS 1 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 101 // Max OLED brightness selectable
#else
#define MIN_BRIGHTNESS 0 // Min OLED brightness selectable #define MIN_BRIGHTNESS 0 // Min OLED brightness selectable
#define MAX_BRIGHTNESS 100 // Max OLED brightness selectable #define MAX_BRIGHTNESS 100 // Max OLED brightness selectable
#endif
#define BRIGHTNESS_STEP 25 // OLED brightness increment #define BRIGHTNESS_STEP 25 // OLED brightness increment
#define DEFAULT_BRIGHTNESS 25 // default OLED brightness #define DEFAULT_BRIGHTNESS 25 // default OLED brightness
@@ -109,7 +104,7 @@
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 #define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
#define THERMAL_RUNAWAY_TIME_SEC 20 #define THERMAL_RUNAWAY_TIME_SEC 20
#define THERMAL_RUNAWAY_TEMP_C 3 #define THERMAL_RUNAWAY_TEMP_C 10
#define CUT_OUT_SETTING 0 // default to no cut-off voltage #define CUT_OUT_SETTING 0 // default to no cut-off voltage
#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) #define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33))
@@ -132,7 +127,6 @@
#define ADC_VDD_MV 3300 // ADC max reading millivolts #define ADC_VDD_MV 3300 // ADC max reading millivolts
#define POW_PD_EXT 0 #define POW_PD_EXT 0
#define USB_PD_TIMEOUT 20 // Default Timeout for USB-PD Protocol negotiation in x100ms
// Deriving the Voltage div: // Deriving the Voltage div:
// Vin_max = (3.3*(r1+r2))/(r2) // Vin_max = (3.3*(r1+r2))/(r2)
@@ -183,10 +177,6 @@
#define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips #define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips
#define POW_DC #define POW_DC
#define I2C_SOFT_BUS_1 1
#define OLED_I2CBB1 1
#define ACCEL_I2CBB1 1
#define TIPTYPE_T12 1 // Can manually pick a T12 tip
#define TEMP_TMP36 #define TEMP_TMP36
#endif /* TS100 */ #endif /* TS100 */
@@ -200,7 +190,7 @@
#define POWER_LIMIT_STEPS 5 #define POWER_LIMIT_STEPS 5
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100 #define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_TS100
#define TEMP_uV_LOOKUP_HAKKO #define TEMP_uV_LOOKUP_HAKKO
#define ACCEL_LIS_CLONE 1
#define HARDWARE_MAX_WATTAGE_X10 1000 #define HARDWARE_MAX_WATTAGE_X10 1000
#define TIP_THERMAL_MASS 65 // X10 watts to raise 1 deg C in 1 second #define TIP_THERMAL_MASS 65 // X10 watts to raise 1 deg C in 1 second
#define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips #define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for ts100 tips
@@ -219,9 +209,6 @@
#define TEMP_NTC 1 #define TEMP_NTC 1
#define ACCEL_I2CBB1 1 #define ACCEL_I2CBB1 1
#define POW_EPR 1 #define POW_EPR 1
#define TIP_TYPE_SUPPORT 1 // Support for tips of different types, i.e. resistance
#define AUTO_TIP_SELECTION 1 // Can auto-select the tip
#define TIPTYPE_T12 1 // Can manually pick a T12 tip
#define HAS_POWER_DEBUG_MENU #define HAS_POWER_DEBUG_MENU
#define DEBUG_POWER_MENU_BUTTON_B #define DEBUG_POWER_MENU_BUTTON_B
@@ -239,8 +226,6 @@
#define I2C_SOFT_BUS_2 1 #define I2C_SOFT_BUS_2 1
#define LIS_ORI_FLIP #define LIS_ORI_FLIP
#define OLED_FLIP #define OLED_FLIP
#define TIPTYPE_TS80 1 // Only one tip type so far
#endif /* TS80(P) */ #endif /* TS80(P) */
#ifdef MODEL_TS80 #ifdef MODEL_TS80
@@ -256,9 +241,6 @@
#define POW_QC #define POW_QC
#define TEMP_TMP36 #define TEMP_TMP36
#define I2C_SOFT_BUS_1 1
#define OLED_I2CBB1 1
#define ACCEL_I2CBB1 1
#endif /* TS80 */ #endif /* TS80 */
#ifdef MODEL_TS80P #ifdef MODEL_TS80P
@@ -275,25 +257,15 @@
#define USB_PD_EPR_WATTAGE 0 /*No EPR*/ #define USB_PD_EPR_WATTAGE 0 /*No EPR*/
#define POW_QC 1 #define POW_QC 1
#define TEMP_NTC #define TEMP_NTC
#define I2C_SOFT_BUS_2 1
#define I2C_SOFT_BUS_1 1
#define OLED_I2CBB1 1
#define ACCEL_I2CBB1 1
#define SC7_ORI_FLIP #define SC7_ORI_FLIP
#endif /* TS80P */ #endif /* TS80P */
#ifdef MODEL_TS101 #ifdef MODEL_TS101
// For whatever reason, Miniware decided to not build a reliable DFU bootloader #define FLASH_LOGOADDR (0x08000000 + (126 * 1024))
// It can't appear to flash to some of the upper pages of flash,
// I'm slightly suspect a watchdog or something runs out
// as device resets before file finishes copying
// So logo has to be located on page 99 or else it cant be flashed on stock bootloader
#define FLASH_LOGOADDR (0x08000000 + (99 * 1024))
#define SETTINGS_START_PAGE (0x08000000 + (127 * 1024)) #define SETTINGS_START_PAGE (0x08000000 + (127 * 1024))
#else #else
#define FLASH_LOGOADDR (0x08000000 + (62 * 1024)) #define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
#define SETTINGS_START_PAGE (0x08000000 + (63 * 1024)) #define SETTINGS_START_PAGE (0x08000000 + (63 * 1024))
#define OLED_96x16 1
#endif /* TS101 */ #endif /* TS101 */
#endif /* CONFIGURATION_H_ */ #endif /* CONFIGURATION_H_ */

View File

@@ -5,7 +5,6 @@
#include "I2C_Wrapper.hpp" #include "I2C_Wrapper.hpp"
#include "IRQ.h" #include "IRQ.h"
#include "Pins.h" #include "Pins.h"
#include "Settings.h"
#include "Setup.h" #include "Setup.h"
#include "TipThermoModel.h" #include "TipThermoModel.h"
#include "configuration.h" #include "configuration.h"
@@ -94,13 +93,7 @@ void setBuzzer(bool on) {}
uint8_t preStartChecks() { return 1; } uint8_t preStartChecks() { return 1; }
uint64_t getDeviceID() { return dbg_id_get(); } uint64_t getDeviceID() { return dbg_id_get(); }
uint8_t getTipResistanceX10() { uint8_t getTipResistanceX10() { return TIP_RESISTANCE; }
uint8_t user_selected_tip = getUserSelectedTipResistance();
if (user_selected_tip == 0) {
return TIP_RESISTANCE; // Auto mode
}
return user_selected_tip;
}
bool isTipShorted() { return false; } bool isTipShorted() { return false; }
uint8_t preStartChecksDone() { return 1; } uint8_t preStartChecksDone() { return 1; }

View File

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

View File

@@ -282,7 +282,7 @@ typedef union {
*/ */
#define __RV_CSR_SWAP(csr, val) \ #define __RV_CSR_SWAP(csr, val) \
({ \ ({ \
volatile rv_csr_t __v = (unsigned long)(val); \ register rv_csr_t __v = (unsigned long)(val); \
__ASM volatile("csrrw %0, " STRINGIFY(csr) ", %1" : "=r"(__v) : "rK"(__v) : "memory"); \ __ASM volatile("csrrw %0, " STRINGIFY(csr) ", %1" : "=r"(__v) : "rK"(__v) : "memory"); \
__v; \ __v; \
}) })
@@ -297,7 +297,7 @@ typedef union {
*/ */
#define __RV_CSR_READ(csr) \ #define __RV_CSR_READ(csr) \
({ \ ({ \
volatile rv_csr_t __v; \ register rv_csr_t __v; \
__ASM volatile("csrr %0, " STRINGIFY(csr) : "=r"(__v) : : "memory"); \ __ASM volatile("csrr %0, " STRINGIFY(csr) : "=r"(__v) : : "memory"); \
__v; \ __v; \
}) })
@@ -312,7 +312,7 @@ typedef union {
*/ */
#define __RV_CSR_WRITE(csr, val) \ #define __RV_CSR_WRITE(csr, val) \
({ \ ({ \
volatile rv_csr_t __v = (rv_csr_t)(val); \ register rv_csr_t __v = (rv_csr_t)(val); \
__ASM volatile("csrw " STRINGIFY(csr) ", %0" : : "rK"(__v) : "memory"); \ __ASM volatile("csrw " STRINGIFY(csr) ", %0" : : "rK"(__v) : "memory"); \
}) })
@@ -328,7 +328,7 @@ typedef union {
*/ */
#define __RV_CSR_READ_SET(csr, val) \ #define __RV_CSR_READ_SET(csr, val) \
({ \ ({ \
volatile rv_csr_t __v = (rv_csr_t)(val); \ register rv_csr_t __v = (rv_csr_t)(val); \
__ASM volatile("csrrs %0, " STRINGIFY(csr) ", %1" : "=r"(__v) : "rK"(__v) : "memory"); \ __ASM volatile("csrrs %0, " STRINGIFY(csr) ", %1" : "=r"(__v) : "rK"(__v) : "memory"); \
__v; \ __v; \
}) })
@@ -343,7 +343,7 @@ typedef union {
*/ */
#define __RV_CSR_SET(csr, val) \ #define __RV_CSR_SET(csr, val) \
({ \ ({ \
volatile rv_csr_t __v = (rv_csr_t)(val); \ register rv_csr_t __v = (rv_csr_t)(val); \
__ASM volatile("csrs " STRINGIFY(csr) ", %0" : : "rK"(__v) : "memory"); \ __ASM volatile("csrs " STRINGIFY(csr) ", %0" : : "rK"(__v) : "memory"); \
}) })
@@ -359,7 +359,7 @@ typedef union {
*/ */
#define __RV_CSR_READ_CLEAR(csr, val) \ #define __RV_CSR_READ_CLEAR(csr, val) \
({ \ ({ \
volatile rv_csr_t __v = (rv_csr_t)(val); \ register rv_csr_t __v = (rv_csr_t)(val); \
__ASM volatile("csrrc %0, " STRINGIFY(csr) ", %1" : "=r"(__v) : "rK"(__v) : "memory"); \ __ASM volatile("csrrc %0, " STRINGIFY(csr) ", %1" : "=r"(__v) : "rK"(__v) : "memory"); \
__v; \ __v; \
}) })
@@ -374,7 +374,7 @@ typedef union {
*/ */
#define __RV_CSR_CLEAR(csr, val) \ #define __RV_CSR_CLEAR(csr, val) \
({ \ ({ \
volatile rv_csr_t __v = (rv_csr_t)(val); \ register rv_csr_t __v = (rv_csr_t)(val); \
__ASM volatile("csrc " STRINGIFY(csr) ", %0" : : "rK"(__v) : "memory"); \ __ASM volatile("csrc " STRINGIFY(csr) ", %0" : : "rK"(__v) : "memory"); \
}) })
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
@@ -748,8 +748,8 @@ __STATIC_FORCEINLINE void __SD(volatile void *addr, uint64_t val) { __ASM volati
* \return return the initial value in memory * \return return the initial value in memory
*/ */
__STATIC_FORCEINLINE uint32_t __CAS_W(volatile uint32_t *addr, uint32_t oldval, uint32_t newval) { __STATIC_FORCEINLINE uint32_t __CAS_W(volatile uint32_t *addr, uint32_t oldval, uint32_t newval) {
uint32_t result; register uint32_t result;
uint32_t rc; register uint32_t rc;
__ASM volatile("0: lr.w %0, %2 \n" __ASM volatile("0: lr.w %0, %2 \n"
" bne %0, %z3, 1f \n" " bne %0, %z3, 1f \n"
@@ -770,7 +770,7 @@ __STATIC_FORCEINLINE uint32_t __CAS_W(volatile uint32_t *addr, uint32_t oldval,
* \return return the original value in memory * \return return the original value in memory
*/ */
__STATIC_FORCEINLINE uint32_t __AMOSWAP_W(volatile uint32_t *addr, uint32_t newval) { __STATIC_FORCEINLINE uint32_t __AMOSWAP_W(volatile uint32_t *addr, uint32_t newval) {
uint32_t result; register uint32_t result;
__ASM volatile("amoswap.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(newval) : "memory"); __ASM volatile("amoswap.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(newval) : "memory");
return result; return result;
@@ -784,7 +784,7 @@ __STATIC_FORCEINLINE uint32_t __AMOSWAP_W(volatile uint32_t *addr, uint32_t newv
* \return return memory value + add value * \return return memory value + add value
*/ */
__STATIC_FORCEINLINE int32_t __AMOADD_W(volatile int32_t *addr, int32_t value) { __STATIC_FORCEINLINE int32_t __AMOADD_W(volatile int32_t *addr, int32_t value) {
int32_t result; register int32_t result;
__ASM volatile("amoadd.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amoadd.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -798,7 +798,7 @@ __STATIC_FORCEINLINE int32_t __AMOADD_W(volatile int32_t *addr, int32_t value) {
* \return return memory value & and value * \return return memory value & and value
*/ */
__STATIC_FORCEINLINE int32_t __AMOAND_W(volatile int32_t *addr, int32_t value) { __STATIC_FORCEINLINE int32_t __AMOAND_W(volatile int32_t *addr, int32_t value) {
int32_t result; register int32_t result;
__ASM volatile("amoand.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amoand.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -812,7 +812,7 @@ __STATIC_FORCEINLINE int32_t __AMOAND_W(volatile int32_t *addr, int32_t value) {
* \return return memory value | and value * \return return memory value | and value
*/ */
__STATIC_FORCEINLINE int32_t __AMOOR_W(volatile int32_t *addr, int32_t value) { __STATIC_FORCEINLINE int32_t __AMOOR_W(volatile int32_t *addr, int32_t value) {
int32_t result; register int32_t result;
__ASM volatile("amoor.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amoor.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -826,7 +826,7 @@ __STATIC_FORCEINLINE int32_t __AMOOR_W(volatile int32_t *addr, int32_t value) {
* \return return memory value ^ and value * \return return memory value ^ and value
*/ */
__STATIC_FORCEINLINE int32_t __AMOXOR_W(volatile int32_t *addr, int32_t value) { __STATIC_FORCEINLINE int32_t __AMOXOR_W(volatile int32_t *addr, int32_t value) {
int32_t result; register int32_t result;
__ASM volatile("amoxor.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amoxor.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -840,7 +840,7 @@ __STATIC_FORCEINLINE int32_t __AMOXOR_W(volatile int32_t *addr, int32_t value) {
* \return return the bigger value * \return return the bigger value
*/ */
__STATIC_FORCEINLINE uint32_t __AMOMAXU_W(volatile uint32_t *addr, uint32_t value) { __STATIC_FORCEINLINE uint32_t __AMOMAXU_W(volatile uint32_t *addr, uint32_t value) {
uint32_t result; register uint32_t result;
__ASM volatile("amomaxu.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amomaxu.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -854,7 +854,7 @@ __STATIC_FORCEINLINE uint32_t __AMOMAXU_W(volatile uint32_t *addr, uint32_t valu
* \return the bigger value * \return the bigger value
*/ */
__STATIC_FORCEINLINE int32_t __AMOMAX_W(volatile int32_t *addr, int32_t value) { __STATIC_FORCEINLINE int32_t __AMOMAX_W(volatile int32_t *addr, int32_t value) {
int32_t result; register int32_t result;
__ASM volatile("amomax.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amomax.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -868,7 +868,7 @@ __STATIC_FORCEINLINE int32_t __AMOMAX_W(volatile int32_t *addr, int32_t value) {
* \return the smaller value * \return the smaller value
*/ */
__STATIC_FORCEINLINE uint32_t __AMOMINU_W(volatile uint32_t *addr, uint32_t value) { __STATIC_FORCEINLINE uint32_t __AMOMINU_W(volatile uint32_t *addr, uint32_t value) {
uint32_t result; register uint32_t result;
__ASM volatile("amominu.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amominu.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;
@@ -882,7 +882,7 @@ __STATIC_FORCEINLINE uint32_t __AMOMINU_W(volatile uint32_t *addr, uint32_t valu
* \return the smaller value * \return the smaller value
*/ */
__STATIC_FORCEINLINE int32_t __AMOMIN_W(volatile int32_t *addr, int32_t value) { __STATIC_FORCEINLINE int32_t __AMOMIN_W(volatile int32_t *addr, int32_t value) {
int32_t result; register int32_t result;
__ASM volatile("amomin.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory"); __ASM volatile("amomin.w %0, %2, %1" : "=r"(result), "+A"(*addr) : "r"(value) : "memory");
return *addr; return *addr;

View File

@@ -1,5 +1,6 @@
#ifndef CONFIGURATION_H_ #ifndef CONFIGURATION_H_
#define CONFIGURATION_H_ #define CONFIGURATION_H_
#include "Settings.h"
#include <stdint.h> #include <stdint.h>
/** /**
* Configuration.h * Configuration.h
@@ -56,7 +57,6 @@
* *
*/ */
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic #define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
#define MAX_ORIENTATION_MODE 2 // Up to auto
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change #define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
/** /**
@@ -104,7 +104,7 @@
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0 #define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
#define THERMAL_RUNAWAY_TIME_SEC 20 #define THERMAL_RUNAWAY_TIME_SEC 20
#define THERMAL_RUNAWAY_TEMP_C 3 #define THERMAL_RUNAWAY_TEMP_C 20
#define CUT_OUT_SETTING 0 // default to no cut-off voltage #define CUT_OUT_SETTING 0 // default to no cut-off voltage
#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33)) #define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33))
@@ -145,17 +145,13 @@
#define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C #define MIN_BOOST_TEMP_C 250 // The min settable temp for boost mode °C
#define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F #define MIN_BOOST_TEMP_F 480 // The min settable temp for boost mode °F
#define OLED_96x16 1
#define POW_PD 1 #define POW_PD 1
#define USB_PD_EPR_WATTAGE 0 /*No EPR (Yet?) */ #define USB_PD_EPR_WATTAGE 0 /*No EPR (Yet?) */
#define POW_PD_EXT 0 #define POW_PD_EXT 0
#define USB_PD_TIMEOUT 20 // Default Timeout for USB-PD Protocol negotiation in x100ms
#define POW_QC 1 #define POW_QC 1
#define POW_DC 1 #define POW_DC 1
#define POW_QC_20V 1 #define POW_QC_20V 1
#define ENABLE_QC2 1 #define ENABLE_QC2 1
#define MAG_SLEEP_SUPPORT 1
#define TIPTYPE_T12 1 // Can manually pick a T12 tip
#define TEMP_TMP36 #define TEMP_TMP36
#define ACCEL_BMA #define ACCEL_BMA
#define ACCEL_SC7 #define ACCEL_SC7

View File

@@ -5,21 +5,16 @@
#include "I2C_Wrapper.hpp" #include "I2C_Wrapper.hpp"
#include "IRQ.h" #include "IRQ.h"
#include "Pins.h" #include "Pins.h"
#include "Settings.h"
#include "Setup.h" #include "Setup.h"
#include "TipThermoModel.h" #include "TipThermoModel.h"
#include "USBPD.h" #include "USBPD.h"
#include "Utils.hpp" #include "Utils.h"
#include "bflb_platform.h"
#include "bl702_adc.h"
#include "configuration.h" #include "configuration.h"
#include "crc32.h" #include "crc32.h"
#include "hal_flash.h" #include "hal_flash.h"
#include "history.hpp" #include "history.hpp"
#include "main.hpp" #include "main.hpp"
extern ADC_Gain_Coeff_Type adcGainCoeffCal;
// These control the period's of time used for the PWM // These control the period's of time used for the PWM
const uint16_t powerPWM = 255; const uint16_t powerPWM = 255;
uint8_t holdoffTicks = 25; // This is the tick delay before temp measure starts (i.e. time for op-amp recovery) uint8_t holdoffTicks = 25; // This is the tick delay before temp measure starts (i.e. time for op-amp recovery)
@@ -36,44 +31,52 @@ void resetWatchdog() {
// Stored as ADCReading,Temp in degC // Stored as ADCReading,Temp in degC
static const int32_t NTCHandleLookup[] = { static const int32_t NTCHandleLookup[] = {
// ADC Reading , Temp in C x10 // ADC Reading , Temp in C x10
// Based on NTCG163JF103FTDS thermocouple datasheet values,
// arranged in a voltage divider configuration, with the NTC 3221, -400, //
// pulling up towards 3.3V, and with a 10k 1% pull-down resistor. 4144, -350, //
// ADC Reading = 3.3V * 10 / (10 + TypkOhm) / 3.2V * (2 ^ 16) 5271, -300, //
3405, -400, // 6622, -250, //
4380, -350, // 8219, -200, //
5572, -300, // 10075, -150, //
6999, -250, // 12190, -100, //
8688, -200, // 14554, -50, //
10650, -150, // 17151, 0, //
12885, -100, // 19937, 50, //
15384, -50, // 22867, 100, //
18129, 0, // 25886, 150, //
21074, 50, // 28944, 200, //
24172, 100, // 29546, 210, //
27362, 150, // 30159, 220, //
30595, 200, // 30769, 230, //
33792, 250, // 31373, 240, //
36907, 300, // 31969, 250, //
39891, 350, // 32566, 260, //
42704, 400, // 33159, 270, //
45325, 450, // 33749, 280, //
47736, 500, // 34334, 290, //
49929, 550, // 34916, 300, //
51912, 600, // 35491, 310, //
53689, 650, // 36062, 320, //
55274, 700, // 36628, 330, //
56679, 750, // 37186, 340, //
57923, 800, // 37739, 350, //
59020, 850, // 38286, 360, //
59984, 900, // 38825, 370, //
60832, 950, // 39358, 380, //
61580, 1000, // 39884, 390, //
62232, 1050, // 40400, 400, //
62810, 1100, // 42879, 450, //
63316, 1150, // 45160, 500, //
63765, 1200, // 47235, 550, //
64158, 1250, // 49111, 600, //
50792, 650, //
52292, 700, //
53621, 750, //
54797, 800, //
55836, 850, //
56748, 900, //
57550, 950, //
58257, 1000, //
}; };
#endif #endif
@@ -154,11 +157,7 @@ uint8_t tipResistanceReadingSlot = 0;
uint8_t getTipResistanceX10() { uint8_t getTipResistanceX10() {
// Return tip resistance in x10 ohms // Return tip resistance in x10 ohms
// We can measure this using the op-amp // We can measure this using the op-amp
uint8_t user_selected_tip = getUserSelectedTipResistance(); return lastTipResistance;
if (user_selected_tip == 0) {
return lastTipResistance; // Auto mode
}
return user_selected_tip;
} }
uint16_t getTipThermalMass() { return 120; } uint16_t getTipThermalMass() { return 120; }
@@ -194,14 +193,13 @@ void FinishMeasureTipResistance() {
((tipResistanceReadings[1] - tipResistanceReadings[2]) + calculatedSkew) // jump 2 - skew ((tipResistanceReadings[1] - tipResistanceReadings[2]) + calculatedSkew) // jump 2 - skew
) // ) //
/ 2; // Take average / 2; // Take average
// As we are only detecting three resistances; we just bin to nearest // lastTipResistance = reading / 100;
// // As we are only detecting two resistances; we can split the difference for now
uint8_t newRes = 0; uint8_t newRes = 0;
if (reading > 8000) { if (reading > 8000) {
// Let resistance be cleared to 0 // return; // Change nothing as probably disconnected tip
} else if (reading < 500) { } else if (reading < 500) {
tipShorted = true; tipShorted = true;
} else if (reading < 2600) {
newRes = 40;
} else if (reading < 4000) { } else if (reading < 4000) {
newRes = 62; newRes = 62;
} else { } else {

View File

@@ -75,7 +75,7 @@ void vApplicationSleep(uint32_t xExpectedIdleTime);
#define INCLUDE_xTaskGetCurrentTaskHandle 1 #define INCLUDE_xTaskGetCurrentTaskHandle 1
#define INCLUDE_uxTaskGetStackHighWaterMark 1 #define INCLUDE_uxTaskGetStackHighWaterMark 1
#define INCLUDE_xTaskGetIdleTaskHandle 1 #define INCLUDE_xTaskGetIdleTaskHandle 1
#define INCLUDE_eTaskGetState 1 #define INCLUDE_eTaskGetState 0
#define INCLUDE_xEventGroupSetBitFromISR 1 #define INCLUDE_xEventGroupSetBitFromISR 1
#define INCLUDE_xTimerPendFunctionCall 0 #define INCLUDE_xTimerPendFunctionCall 0
#define INCLUDE_xTaskAbortDelay 0 #define INCLUDE_xTaskAbortDelay 0

View File

@@ -24,40 +24,29 @@ history<uint16_t, ADC_Filter_Smooth> ADC_Vin;
history<uint16_t, ADC_Filter_Smooth> ADC_Temp; history<uint16_t, ADC_Filter_Smooth> ADC_Temp;
history<uint16_t, ADC_Filter_Smooth> ADC_Tip; history<uint16_t, ADC_Filter_Smooth> ADC_Tip;
void read_adc_fifo(void) { // IRQ is called at the end of the 8 set readings, pop these from the FIFO and send to filters
void adc_fifo_irq(void) {
if (ADC_GetIntStatus(ADC_INT_FIFO_READY) == SET) {
// Read out all entries in the fifo // Read out all entries in the fifo
uint8_t pending_readings = ADC_Get_FIFO_Count(); while (ADC_Get_FIFO_Count()) {
uint32_t reading = ADC_Read_FIFO();
// There _should_ always be 8 readings here. If there are not, it means that the adc didnt start when we wanted and timing slipped // As per manual, 26 bit reading; lowest 16 are the ADC
// So if there isn't 8 readings, we throw them out uint16_t sample = reading & 0xFFFF;
if (pending_readings != 8) { uint8_t source = (reading >> 21) & 0b11111;
MSG((char *)"Discarding out of sync adc %d\r\n", pending_readings); switch (source) {
} else {
while (pending_readings) {
pending_readings--;
uint32_t raw_reading = ADC_Read_FIFO();
ADC_Result_Type parsed = {0, 0, 0};
ADC_Parse_Result(&raw_reading, 1, &parsed);
// Rollover prevention
if (parsed.value > ((1 << 14) - 1)) {
parsed.value = ((1 << 14) - 1);
}
switch (parsed.posChan) {
case TMP36_ADC_CHANNEL: case TMP36_ADC_CHANNEL:
ADC_Temp.update(parsed.value << 2); ADC_Temp.update(sample);
break;
case TIP_TEMP_ADC_CHANNEL:
ADC_Tip.update(sample);
break; break;
case TIP_TEMP_ADC_CHANNEL: {
ADC_Tip.update(parsed.value << 2);
} break;
case VIN_ADC_CHANNEL: case VIN_ADC_CHANNEL:
ADC_Vin.update(parsed.value << 2); ADC_Vin.update(sample);
break; break;
default: default:
break; break;
} }
} }
}
// unblock the PID controller thread // unblock the PID controller thread
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) { if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
BaseType_t xHigherPriorityTaskWoken = pdFALSE; BaseType_t xHigherPriorityTaskWoken = pdFALSE;
@@ -67,6 +56,9 @@ void read_adc_fifo(void) {
} }
} }
} }
// Clear IRQ
ADC_IntClr(ADC_INT_ALL);
}
volatile bool inFastPWMMode = false; volatile bool inFastPWMMode = false;
@@ -77,24 +69,7 @@ volatile uint16_t PWMSafetyTimer = 0;
volatile uint8_t pendingPWM = 0; volatile uint8_t pendingPWM = 0;
volatile bool pendingNextPeriodIsFast = false; volatile bool pendingNextPeriodIsFast = false;
void timer0_comp0_callback(void) { void start_PWM_output(void) {
// Trigged at end of output cycle; turn off the tip PWM
PWM_Channel_Disable(PWM_Channel);
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_0);
}
// Timer 0 is used to co-ordinate the ADC and the output PWM
void timer0_comp1_callback(void) {
ADC_FIFO_Clear();
ADC_Start();
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_1);
}
void timer0_comp2_callback(void) {
// Triggered at end of timer cycle; re-start the tip driver
ADC_Stop();
TIMER_Disable(TIMER_CH0);
// Read the ADC data _now_. So that if things have gone out of sync, we know about it
read_adc_fifo();
if (PWMSafetyTimer) { if (PWMSafetyTimer) {
PWMSafetyTimer--; PWMSafetyTimer--;
@@ -107,28 +82,64 @@ void timer0_comp2_callback(void) {
} }
// Update trigger for the end point of the PWM cycle // Update trigger for the end point of the PWM cycle
if (pendingPWM > 0) { if (pendingPWM > 0) {
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, pendingPWM - 1); TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, pendingPWM - 1);
// Turn on output // Turn on output
PWM_Channel_Enable(PWM_Channel); PWM_Channel_Enable(PWM_Channel);
} else { } else {
// Leave output off
PWM_Channel_Disable(PWM_Channel); PWM_Channel_Disable(PWM_Channel);
} }
} else { } else {
PWM_Channel_Disable(PWM_Channel); PWM_Channel_Disable(PWM_Channel);
switchToFastPWM();
} }
TIMER_Enable(TIMER_CH0); }
// Timer 0 is used to co-ordinate the ADC and the output PWM
void timer0_comp0_callback(void) {
if (PWM_Channel_Is_Enabled(PWM_Channel)) {
// So there appears to be a bug _somewhere_ where sometimes the comparator doesn't fire
// Its not re-occurring with specific values, so suspect its a weird bug
// For now, we just skip the cycle and throw away the ADC readings. Its a waste but
// It stops stupid glitches in readings, i'd take slight instability from the time jump
// Over the readings we get that are borked as the header is left on
// <Ralim 2023/10/14>
PWM_Channel_Disable(PWM_Channel);
// MSG("ALERT PWM Glitch\r\n");
// Triger the PID now instead
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
BaseType_t xHigherPriorityTaskWoken = pdFALSE;
if (pidTaskNotification) {
vTaskNotifyGiveFromISR(pidTaskNotification, &xHigherPriorityTaskWoken);
portYIELD_FROM_ISR(xHigherPriorityTaskWoken);
}
}
} else {
ADC_Start();
}
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_0);
}
void timer0_comp1_callback(void) {
// Trigged at end of output cycle; turn off the tip PWM
PWM_Channel_Disable(PWM_Channel);
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_1);
}
void timer0_comp2_callback(void) {
// Triggered at end of timer cycle; re-start the tip driver
start_PWM_output();
TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_2); TIMER_ClearIntStatus(TIMER_CH0, TIMER_COMP_ID_2);
} }
void switchToFastPWM(void) { void switchToFastPWM(void) {
inFastPWMMode = true; inFastPWMMode = true;
holdoffTicks = 20; holdoffTicks = 10;
tempMeasureTicks = 10; tempMeasureTicks = 10;
totalPWM = powerPWM + tempMeasureTicks + holdoffTicks; totalPWM = powerPWM + tempMeasureTicks + holdoffTicks;
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, powerPWM + holdoffTicks);
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM); TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM);
// ~10Hz
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, powerPWM + holdoffTicks);
// Set divider to 10 ~= 10.5Hz // Set divider to 10 ~= 10.5Hz
uint32_t tmpVal = BL_RD_REG(TIMER_BASE, TIMER_TCDR); uint32_t tmpVal = BL_RD_REG(TIMER_BASE, TIMER_TCDR);
@@ -140,14 +151,14 @@ void switchToFastPWM(void) {
void switchToSlowPWM(void) { void switchToSlowPWM(void) {
// 5Hz // 5Hz
inFastPWMMode = false; inFastPWMMode = false;
holdoffTicks = 10; holdoffTicks = 5;
tempMeasureTicks = 5; tempMeasureTicks = 5;
totalPWM = powerPWM + tempMeasureTicks + holdoffTicks; totalPWM = powerPWM + tempMeasureTicks + holdoffTicks;
// Adjust ADC
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, powerPWM + holdoffTicks);
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM); TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_2, totalPWM);
// Adjust ADC
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, powerPWM + holdoffTicks);
// Set divider for ~ 5Hz // Set divider for ~ 5Hz
uint32_t tmpVal = BL_RD_REG(TIMER_BASE, TIMER_TCDR); uint32_t tmpVal = BL_RD_REG(TIMER_BASE, TIMER_TCDR);
@@ -156,10 +167,8 @@ void switchToSlowPWM(void) {
BL_WR_REG(TIMER_BASE, TIMER_TCDR, tmpVal); BL_WR_REG(TIMER_BASE, TIMER_TCDR, tmpVal);
} }
void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM) { void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM) {
PWMSafetyTimer = 10; PWMSafetyTimer = 10; // This is decremented in the handler for PWM so that the tip pwm is
// This is decremented in the handler for PWM so that the tip pwm is
// disabled if the PID task is not scheduled often enough. // disabled if the PID task is not scheduled often enough.
pendingPWM = pulse; pendingPWM = pulse;
pendingNextPeriodIsFast = shouldUseFastModePWM; pendingNextPeriodIsFast = shouldUseFastModePWM;

View File

@@ -19,6 +19,7 @@ extern "C" {
void timer0_comp0_callback(void); void timer0_comp0_callback(void);
void timer0_comp1_callback(void); void timer0_comp1_callback(void);
void timer0_comp2_callback(void); void timer0_comp2_callback(void);
void adc_fifo_irq(void);
void GPIO_IRQHandler(void); void GPIO_IRQHandler(void);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -50,10 +50,9 @@ void hardware_init() {
gpio_set_mode(OLED_RESET_Pin, GPIO_OUTPUT_MODE); gpio_set_mode(OLED_RESET_Pin, GPIO_OUTPUT_MODE);
gpio_set_mode(KEY_A_Pin, GPIO_INPUT_PD_MODE); gpio_set_mode(KEY_A_Pin, GPIO_INPUT_PD_MODE);
gpio_set_mode(KEY_B_Pin, GPIO_INPUT_PD_MODE); gpio_set_mode(KEY_B_Pin, GPIO_INPUT_PD_MODE);
gpio_set_mode(TMP36_INPUT_Pin, GPIO_INPUT_MODE);
gpio_set_mode(TMP36_INPUT_Pin, GPIO_HZ_MODE); gpio_set_mode(TIP_TEMP_Pin, GPIO_INPUT_MODE);
gpio_set_mode(TIP_TEMP_Pin, GPIO_HZ_MODE); gpio_set_mode(VIN_Pin, GPIO_INPUT_MODE);
gpio_set_mode(VIN_Pin, GPIO_HZ_MODE);
gpio_set_mode(TIP_RESISTANCE_SENSE, GPIO_OUTPUT_MODE); gpio_set_mode(TIP_RESISTANCE_SENSE, GPIO_OUTPUT_MODE);
gpio_write(TIP_RESISTANCE_SENSE, 0); gpio_write(TIP_RESISTANCE_SENSE, 0);
@@ -67,7 +66,7 @@ void hardware_init() {
// Note on I2C clock rate @ 100Khz the screen update == 20ms which is too long for USB-PD to work // Note on I2C clock rate @ 100Khz the screen update == 20ms which is too long for USB-PD to work
// 200kHz and above works // 200kHz and above works
I2C_ClockSet(I2C0_ID, 300000); // Sets clock to around 25 kHz less than set here I2C_ClockSet(I2C0_ID, 300000); // Sets clock to around 25 kHz less than set here
TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_0, 0); TIMER_SetCompValue(TIMER_CH0, TIMER_COMP_ID_1, 0);
} }
void setup_pwm(void) { void setup_pwm(void) {
// Setup PWM we use for driving the tip // Setup PWM we use for driving the tip
@@ -78,7 +77,7 @@ void setup_pwm(void) {
PWM_POL_NORMAL, // Normal Polarity PWM_POL_NORMAL, // Normal Polarity
60, // Clock Div 60, // Clock Div
100, // Period 100, // Period
0, // Thres 1 - start at beginning 0, // Thres 1 - start at beginng
50, // Thres 2 - turn off at 50% 50, // Thres 2 - turn off at 50%
0, // Interrupt pulse count 0, // Interrupt pulse count
}; };
@@ -87,8 +86,8 @@ void setup_pwm(void) {
PWM_Channel_Disable(PWM_Channel); PWM_Channel_Disable(PWM_Channel);
} }
const ADC_Chan_Type adc_tip_pos_chans[] = {TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, const ADC_Chan_Type adc_tip_pos_chans[] = {TIP_TEMP_ADC_CHANNEL, TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL,
TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL}; TIP_TEMP_ADC_CHANNEL, TMP36_ADC_CHANNEL, TIP_TEMP_ADC_CHANNEL, VIN_ADC_CHANNEL};
const ADC_Chan_Type adc_tip_neg_chans[] = {ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND}; const ADC_Chan_Type adc_tip_neg_chans[] = {ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND, ADC_CHAN_GND};
static_assert(sizeof(adc_tip_pos_chans) == sizeof(adc_tip_neg_chans)); static_assert(sizeof(adc_tip_pos_chans) == sizeof(adc_tip_neg_chans));
@@ -97,55 +96,21 @@ void setup_adc(void) {
ADC_CFG_Type adc_cfg = {}; ADC_CFG_Type adc_cfg = {};
ADC_FIFO_Cfg_Type adc_fifo_cfg = {}; ADC_FIFO_Cfg_Type adc_fifo_cfg = {};
// Please also see PR #1529 for even more context CPU_Interrupt_Disable(GPADC_DMA_IRQn);
/* ADC_IntMask(ADC_INT_ALL, MASK);
A note on ADC settings
The bl70x ADC seems to be very sensitive to various analog settings.
It has been a challenge to determine what is the most correct way to
configure it in order to get accurate readings that can be transformed
into millivolts, for accurate measurements.
This latest set of ADC parameters, matches the latest configuration from
the upstream bl_mcu_sdk repository from commit hash:
9e189b69cbc0a75ffa170f600a28820848d56432
except for one difference.
(Note: bl_mcu_sdk has been heavily refactored since it has been imported into IronOS.)
You can make it match exactly by defining ENABLE_MIC2_DIFF, see the code
#ifdef ENABLE_MIC2_DIFF below.
I have decided to not apply this change because it appeared to make the
lower end of the input less precise.
Note that this configuration uses an ADC trimming value that is stored in the Efuse
of the bl70x chip. The actual reading is divided by this "coe" value.
We have found the following coe values on 3 different chips:
0.9629, 0.9438, 0.9876
Additional note for posterity:
PGA = programmable gain amplifier.
We would have expected to achieve the highest accuracy by disabling this amplifier,
however we found that not to be the case, and in almost all cases we have found
that there is a scaling error compared to the ideal Vref.
The only other configuration we have found to be accurate was if we had:
PGA disabled + Vref=2V + biasSel=AON + without trimming from the efuse.
But we can't use it because a Vref=2V limits the higher end of temperature and voltage readings.
Also we don't know if this other configuration is really accurate on all chips, or only
happened to be accurate on the one chip on which it has been found.
*/
adc_cfg.clkDiv = ADC_CLK_DIV_4; adc_cfg.clkDiv = ADC_CLK_DIV_4;
adc_cfg.vref = ADC_VREF_3P2V; adc_cfg.vref = ADC_VREF_3P2V;
adc_cfg.resWidth = ADC_DATA_WIDTH_14_WITH_16_AVERAGE; adc_cfg.resWidth = ADC_DATA_WIDTH_14_WITH_16_AVERAGE;
adc_cfg.inputMode = ADC_INPUT_SINGLE_END; adc_cfg.inputMode = ADC_INPUT_SINGLE_END;
adc_cfg.v18Sel = ADC_V18_SEL_1P82V; adc_cfg.v18Sel = ADC_V18_SEL_1P72V;
adc_cfg.v11Sel = ADC_V11_SEL_1P1V; adc_cfg.v11Sel = ADC_V11_SEL_1P1V;
adc_cfg.gain1 = ADC_PGA_GAIN_1; adc_cfg.gain1 = ADC_PGA_GAIN_NONE;
adc_cfg.gain2 = ADC_PGA_GAIN_1; adc_cfg.gain2 = ADC_PGA_GAIN_NONE;
adc_cfg.chopMode = ADC_CHOP_MOD_AZ_PGA_ON; adc_cfg.chopMode = ADC_CHOP_MOD_AZ_ON;
adc_cfg.biasSel = ADC_BIAS_SEL_MAIN_BANDGAP; adc_cfg.biasSel = ADC_BIAS_SEL_MAIN_BANDGAP;
adc_cfg.vcm = ADC_PGA_VCM_1P2V; adc_cfg.vcm = ADC_PGA_VCM_1P6V;
adc_cfg.offsetCalibEn = DISABLE; adc_cfg.offsetCalibEn = DISABLE;
adc_cfg.offsetCalibVal = 0; adc_cfg.offsetCalibVal = 0;
@@ -154,32 +119,16 @@ void setup_adc(void) {
ADC_Reset(); ADC_Reset();
ADC_Init(&adc_cfg); ADC_Init(&adc_cfg);
#ifdef ENABLE_MIC2_DIFF
// This is the change that enables MIC2_DIFF, for now deciding not to enable it, since it seems to make results slightly worse
{
uint32_t tmpVal;
tmpVal = BL_RD_REG(AON_BASE, AON_GPADC_REG_CMD);
tmpVal = BL_SET_REG_BITS_VAL(tmpVal, AON_GPADC_MIC2_DIFF, 1);
BL_WR_REG(AON_BASE, AON_GPADC_REG_CMD, tmpVal);
}
#endif
#if 1
// this sets the CVSP field (ADC conversion speed)
{
uint32_t regCfg2;
regCfg2 = BL_RD_REG(AON_BASE, AON_GPADC_REG_CONFIG2);
regCfg2 = BL_SET_REG_BITS_VAL(regCfg2, AON_GPADC_DLY_SEL, 0x02);
BL_WR_REG(AON_BASE, AON_GPADC_REG_CONFIG2, regCfg2);
}
#endif
adc_fifo_cfg.dmaEn = DISABLE; adc_fifo_cfg.dmaEn = DISABLE;
adc_fifo_cfg.fifoThreshold = ADC_FIFO_THRESHOLD_1; adc_fifo_cfg.fifoThreshold = ADC_FIFO_THRESHOLD_8; // Triger FIFO when all 8 measurements are done
ADC_FIFO_Cfg(&adc_fifo_cfg); ADC_FIFO_Cfg(&adc_fifo_cfg);
ADC_MIC_Bias_Disable(); ADC_MIC_Bias_Disable();
ADC_Tsen_Disable(); ADC_Tsen_Disable();
ADC_Gain_Trim();
// Enable FiFo IRQ
Interrupt_Handler_Register(GPADC_DMA_IRQn, adc_fifo_irq);
ADC_IntMask(ADC_INT_FIFO_READY, UNMASK);
CPU_Interrupt_Enable(GPADC_DMA_IRQn);
ADC_Stop(); ADC_Stop();
ADC_FIFO_Clear(); ADC_FIFO_Clear();
ADC_Scan_Channel_Config(adc_tip_pos_chans, adc_tip_neg_chans, sizeof(adc_tip_pos_chans) / sizeof(ADC_Chan_Type), DISABLE); ADC_Scan_Channel_Config(adc_tip_pos_chans, adc_tip_neg_chans, sizeof(adc_tip_pos_chans) / sizeof(ADC_Chan_Type), DISABLE);
@@ -194,10 +143,10 @@ void setup_timer_scheduler() {
TIMER_PRELOAD_TRIG_COMP2, // Trigger; reset after trigger 0 TIMER_PRELOAD_TRIG_COMP2, // Trigger; reset after trigger 0
TIMER_COUNT_PRELOAD, // Counter mode TIMER_COUNT_PRELOAD, // Counter mode
22, // Clock div 22, // Clock div
(uint16_t)(powerPWM), // CH0 compare (pwm out) (uint16_t)(powerPWM + holdoffTicks), // CH0 compare (adc)
(uint16_t)(powerPWM + holdoffTicks), // CH1 compare (adc) (uint16_t)(powerPWM), // CH1 compare (pwm out)
(uint16_t)(powerPWM + holdoffTicks + tempMeasureTicks), // CH2 compare end of cycle (uint16_t)(powerPWM + holdoffTicks + tempMeasureTicks), // CH2 compare end of cycle
0, // Preload, copied to counter on trigger of comp2 0, // Preload
}; };
TIMER_Init(&cfg); TIMER_Init(&cfg);

View File

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

View File

@@ -1,29 +0,0 @@
#include "bl_irq.h"
extern pFunc __Interrupt_Handlers[IRQn_LAST];
void bl_irq_enable(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIE + source) = 1; }
void bl_irq_disable(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIE + source) = 0; }
void bl_irq_pending_set(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIP + source) = 1; }
void bl_irq_pending_clear(unsigned int source) { *(volatile uint8_t *)(CLIC_HART0_ADDR + CLIC_INTIP + source) = 0; }
void bl_irq_register(int irqnum, void *handler) {
if (irqnum < IRQn_LAST) {
__Interrupt_Handlers[irqnum] = handler;
}
}
void bl_irq_unregister(int irqnum, void *handler) {
if (irqnum < IRQn_LAST) {
__Interrupt_Handlers[irqnum] = NULL;
}
}
void bl_irq_handler_get(int irqnum, void **handler) {
if (irqnum < IRQn_LAST) {
*handler = __Interrupt_Handlers[irqnum];
}
}

View File

@@ -1,19 +0,0 @@
#ifndef __BL_IRQ_H__
#define __BL_IRQ_H__
#include "bl702_glb.h"
#include "risc-v/Core/Include/clic.h"
#include "risc-v/Core/Include/riscv_encoding.h"
void bl_irq_enable(unsigned int source);
void bl_irq_disable(unsigned int source);
void bl_irq_pending_set(unsigned int source);
void bl_irq_pending_clear(unsigned int source);
void bl_irq_register(int irqnum, void *handler);
void bl_irq_unregister(int irqnum, void *handler);
void bl_irq_handler_get(int irqnum, void **handler);
#endif

View File

@@ -3,34 +3,6 @@ bl mcu sdk Release Notes
此文件包含 bl mcu sdk 软件开发包的发行说明。 此文件包含 bl mcu sdk 软件开发包的发行说明。
每个版本的文字说明与发布时的说明保持一致(可能会有错别字的勘误)。 每个版本的文字说明与发布时的说明保持一致(可能会有错别字的勘误)。
bl mcu sdk Release V1.4.4
----------------------------
新增功能说明:
1. 增加 adc dma, uart dma p2p, at client, tensorflow vww demo
2. boot2 更新
3. 删除 timer basic 和 dac_from_flash demo
4. 更新 bflb flash tool 到 1.7.1
5. ble lib 更新,使用 t-head 10.2 工具链构建(小于此工具链版本编译将报错)
修复问题说明:
1. 修正 dma 相关命令宏,重命名 DMA_BURST_xBYTE 防止误导
2. 修正 readme 中相关编译命令
bl mcu sdk Release V1.4.3
----------------------------
新增功能说明:
1. 增加 pikascript 和 mac154 组件
2. 增加 ble pds 的 demo
3. doc 缓存文件移出
4. 增加 cklink 和 jlink 在 eclipse 中的调试
修复问题说明:
1. driver 更新
2. Os to O2
3. uart sig 选定功能后,对与其他 sig 使用相同功能进行调整
bl mcu sdk Release V1.4.2 bl mcu sdk Release V1.4.2
---------------------------- ----------------------------

View File

@@ -1,10 +0,0 @@
#include <stdint.h>
#include <stdlib.h>
void *operator new(size_t size) { return malloc(size); }
void *operator new[](size_t size) { return malloc(size); }
void operator delete(void *ptr) { free(ptr); }
void operator delete[](void *ptr) { free(ptr); }

View File

@@ -49,7 +49,7 @@
#define ATTR_CLOCK_CONST_SECTION __attribute__((section(".sclock_rlt_const." ATTR_UNI_SYMBOL))) #define ATTR_CLOCK_CONST_SECTION __attribute__((section(".sclock_rlt_const." ATTR_UNI_SYMBOL)))
#define ATTR_TCM_SECTION __attribute__((section(".tcm_code." ATTR_UNI_SYMBOL))) #define ATTR_TCM_SECTION __attribute__((section(".tcm_code." ATTR_UNI_SYMBOL)))
#define ATTR_TCM_CONST_SECTION __attribute__((section(".tcm_const." ATTR_UNI_SYMBOL))) #define ATTR_TCM_CONST_SECTION __attribute__((section(".tcm_const." ATTR_UNI_SYMBOL)))
#define ATTR_DTCM_SECTION __attribute__((section(".tcm_data"))) // #define ATTR_DTCM_SECTION __attribute__((section(".tcm_data")))
#define ATTR_HSRAM_SECTION __attribute__((section(".hsram_code"))) #define ATTR_HSRAM_SECTION __attribute__((section(".hsram_code")))
#define ATTR_DMA_RAM_SECTION __attribute__((section(".system_ram"))) #define ATTR_DMA_RAM_SECTION __attribute__((section(".system_ram")))
#define ATTR_NOCACHE_RAM_SECTION __attribute__((section(".nocache_ram"))) #define ATTR_NOCACHE_RAM_SECTION __attribute__((section(".nocache_ram")))

View File

@@ -11,8 +11,8 @@
*****************************************************************************************/ *****************************************************************************************/
#include "bl_hci_wrapper.h" #include "bl_hci_wrapper.h"
#include "../common/include/errno.h"
#include "byteorder.h" #include "byteorder.h"
#include "errno.h"
#include "hci_driver.h" #include "hci_driver.h"
#include "hci_host.h" #include "hci_host.h"
#include "hci_onchip.h" #include "hci_onchip.h"
@@ -184,14 +184,12 @@ void bl_packet_to_host(uint8_t pkt_type, uint16_t src_id, uint8_t *param, uint8_
memcpy(buf_data, param, param_len); memcpy(buf_data, param, param_len);
break; break;
} }
#if defined(CONFIG_BT_CONN)
case BT_HCI_ACL_DATA: { case BT_HCI_ACL_DATA: {
prio = false; prio = false;
bt_buf_set_type(buf, BT_BUF_ACL_IN); bt_buf_set_type(buf, BT_BUF_ACL_IN);
tlt_len = bt_onchiphci_hanlde_rx_acl(param, buf_data); tlt_len = bt_onchiphci_hanlde_rx_acl(param, buf_data);
break; break;
} }
#endif
default: { default: {
net_buf_unref(buf); net_buf_unref(buf);
return; return;
@@ -215,18 +213,15 @@ void bl_trigger_queued_msg() {
unsigned int lock = irq_lock(); unsigned int lock = irq_lock();
if (k_queue_is_empty(&msg_queue)) { if (k_queue_is_empty(&msg_queue)) {
irq_unlock(lock);
break; break;
} }
if (bt_buf_get_rx_avail_cnt() <= CONFIG_BT_RX_BUF_RSV_COUNT) { if (bt_buf_get_rx_avail_cnt() <= CONFIG_BT_RX_BUF_RSV_COUNT) {
irq_unlock(lock);
break; break;
} }
buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT); buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT);
if (!buf) { if (!buf) {
irq_unlock(lock);
break; break;
} }
@@ -254,9 +249,7 @@ static void bl_onchiphci_rx_packet_handler(uint8_t pkt_type, uint16_t src_id, ui
buf = bt_buf_get_cmd_complete(K_FOREVER); buf = bt_buf_get_cmd_complete(K_FOREVER);
bl_packet_to_host(pkt_type, src_id, param, param_len, buf); bl_packet_to_host(pkt_type, src_id, param, param_len, buf);
return; return;
} } else if (pkt_type == BT_HCI_LE_EVT && param[0] == BT_HCI_EVT_LE_ADVERTISING_REPORT) {
#if defined(CONFIG_BT_OBSERVER) || defined(CONFIG_BT_CENTRAL) || defined(CONFIG_BT_ALLROLES)
else if (pkt_type == BT_HCI_LE_EVT && param[0] == BT_HCI_EVT_LE_ADVERTISING_REPORT) {
if (bt_buf_get_rx_avail_cnt() <= CONFIG_BT_RX_BUF_RSV_COUNT) { if (bt_buf_get_rx_avail_cnt() <= CONFIG_BT_RX_BUF_RSV_COUNT) {
BT_INFO("Discard adv report."); BT_INFO("Discard adv report.");
#if defined(BFLB_BLE_NOTIFY_ADV_DISCARDED) #if defined(BFLB_BLE_NOTIFY_ADV_DISCARDED)
@@ -265,12 +258,11 @@ static void bl_onchiphci_rx_packet_handler(uint8_t pkt_type, uint16_t src_id, ui
return; return;
} }
buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT); buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT);
if (buf) if (buf) {
bl_packet_to_host(pkt_type, src_id, param, param_len, buf); bl_packet_to_host(pkt_type, src_id, param, param_len, buf);
return;
} }
#endif /*(CONFIG_BT_OBSERVER || CONFIG_BT_CENTRAL || CONFIG_BT_ALLROLES)*/ return;
else { } else {
if (pkt_type != BT_HCI_ACL_DATA) { if (pkt_type != BT_HCI_ACL_DATA) {
/* Using the reserved buf (CONFIG_BT_RX_BUF_RSV_COUNT) firstly. */ /* Using the reserved buf (CONFIG_BT_RX_BUF_RSV_COUNT) firstly. */
buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT); buf = bt_buf_get_rx(BT_BUF_ACL_IN, K_NO_WAIT);

View File

@@ -1,8 +1,8 @@
#ifndef __BL_HCI_WRAPPER_H__ #ifndef __BL_HCI_WRAPPER_H__
#define __BL_HCI_WRAPPER_H__ #define __BL_HCI_WRAPPER_H__
#include "bluetooth.h"
#include "net/buf.h" #include "net/buf.h"
#include "bluetooth.h"
struct rx_msg_struct { struct rx_msg_struct {
uint8_t pkt_type; uint8_t pkt_type;
@@ -11,7 +11,12 @@ struct rx_msg_struct {
uint8_t param_len; uint8_t param_len;
} __packed; } __packed;
typedef enum { DATA_TYPE_COMMAND = 1, DATA_TYPE_ACL = 2, DATA_TYPE_SCO = 3, DATA_TYPE_EVENT = 4 } serial_data_type_t; typedef enum {
DATA_TYPE_COMMAND = 1,
DATA_TYPE_ACL = 2,
DATA_TYPE_SCO = 3,
DATA_TYPE_EVENT = 4
} serial_data_type_t;
uint8_t bl_onchiphci_interface_init(void); uint8_t bl_onchiphci_interface_init(void);
void bl_onchiphci_interface_deinit(void); void bl_onchiphci_interface_deinit(void);

View File

@@ -17,9 +17,9 @@
* *
* (originally from x86's atomic.c) * (originally from x86's atomic.c)
*/ */
#include "bl_port.h" #include "bl_port.h"
#include <atomic.h> #include <FreeRTOS.h>
#include <include/atomic.h>
// #include <toolchain.h> // #include <toolchain.h>
// #include <arch/cpu.h> // #include <arch/cpu.h>

View File

@@ -28,10 +28,6 @@
#include "bl_hci_wrapper.h" #include "bl_hci_wrapper.h"
#endif #endif
#if (BFLB_STATIC_ALLOC_MEM)
#include "l2cap.h"
#endif
#if defined(CONFIG_NET_BUF_LOG) #if defined(CONFIG_NET_BUF_LOG)
#define NET_BUF_DBG(fmt, ...) LOG_DBG("(%p) " fmt, k_current_get(), ##__VA_ARGS__) #define NET_BUF_DBG(fmt, ...) LOG_DBG("(%p) " fmt, k_current_get(), ##__VA_ARGS__)
#define NET_BUF_ERR(fmt, ...) LOG_ERR(fmt, ##__VA_ARGS__) #define NET_BUF_ERR(fmt, ...) LOG_ERR(fmt, ##__VA_ARGS__)
@@ -62,41 +58,21 @@
#if defined(BFLB_DYNAMIC_ALLOC_MEM) #if defined(BFLB_DYNAMIC_ALLOC_MEM)
extern struct net_buf_pool hci_cmd_pool; extern struct net_buf_pool hci_cmd_pool;
extern struct net_buf_pool hci_rx_pool; extern struct net_buf_pool hci_rx_pool;
#if (BFLB_STATIC_ALLOC_MEM)
__attribute__((section(".tcm_data"))) u8_t hci_cmd_data_pool[CONFIG_BT_HCI_CMD_COUNT * BT_BUF_RX_SIZE];
__attribute__((section(".tcm_data"))) u8_t hci_rx_data_pool[CONFIG_BT_RX_BUF_COUNT * BT_BUF_RX_SIZE];
#endif
#if defined(CONFIG_BT_CONN) #if defined(CONFIG_BT_CONN)
extern struct net_buf_pool acl_tx_pool; extern struct net_buf_pool acl_tx_pool;
extern struct net_buf_pool num_complete_pool; extern struct net_buf_pool num_complete_pool;
#if (BFLB_STATIC_ALLOC_MEM)
__attribute__((section(".tcm_data"))) u8_t acl_tx_data_pool[CONFIG_BT_L2CAP_TX_BUF_COUNT * BT_L2CAP_BUF_SIZE(CONFIG_BT_L2CAP_TX_MTU)];
__attribute__((section(".tcm_data"))) u8_t num_complete_data_pool[1 * BT_BUF_RX_SIZE];
#endif
#if CONFIG_BT_ATT_PREPARE_COUNT > 0 #if CONFIG_BT_ATT_PREPARE_COUNT > 0
extern struct net_buf_pool prep_pool; extern struct net_buf_pool prep_pool;
#if (BFLB_STATIC_ALLOC_MEM)
__attribute__((section(".tcm_data"))) u8_t prep_data_pool[CONFIG_BT_ATT_PREPARE_COUNT * BT_ATT_MTU];
#endif
#endif #endif
#if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL) #if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL)
extern struct net_buf_pool acl_in_pool; extern struct net_buf_pool acl_in_pool;
#if (BFLB_STATIC_ALLOC_MEM)
__attribute__((section(".tcm_data"))) u8_t acl_in_data_pool[CONFIG_BT_ACL_RX_COUNT * ACL_IN_SIZE];
#endif
#endif #endif
#if CONFIG_BT_ATT_PREPARE_COUNT > 0 #if CONFIG_BT_ATT_PREPARE_COUNT > 0
extern struct net_buf_pool frag_pool; extern struct net_buf_pool frag_pool;
#if (BFLB_STATIC_ALLOC_MEM)
__attribute__((section(".tcm_data"))) u8_t frag_data_pool[CONFIG_BT_L2CAP_TX_FRAG_COUNT * FRAG_SIZE];
#endif
#endif #endif
#endif // CONFIG_BT_CONN #endif // CONFIG_BT_CONN
#if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT) #if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT)
extern struct net_buf_pool discardable_pool; extern struct net_buf_pool discardable_pool;
#if (BFLB_STATIC_ALLOC_MEM)
__attribute__((section(".tcm_data"))) u8_t discardable_data_pool[CONFIG_BT_DISCARDABLE_BUF_COUNT * BT_BUF_RX_SIZE];
#endif
#endif #endif
#ifdef CONFIG_BT_MESH #ifdef CONFIG_BT_MESH
extern struct net_buf_pool adv_buf_pool; extern struct net_buf_pool adv_buf_pool;
@@ -154,62 +130,16 @@ extern struct net_buf_pool _net_buf_pool_list[];
#endif // BFLB_DYNAMIC_ALLOC_MEM #endif // BFLB_DYNAMIC_ALLOC_MEM
#if defined(BFLB_DYNAMIC_ALLOC_MEM) #if defined(BFLB_DYNAMIC_ALLOC_MEM)
#if (BFLB_STATIC_ALLOC_MEM) void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy) {
void net_buf_init(u8_t buf_type, struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy)
#else
void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy)
#endif
{
struct net_buf_pool_fixed *buf_fixed; struct net_buf_pool_fixed *buf_fixed;
buf_pool->alloc = (struct net_buf_data_alloc *)k_malloc(sizeof(struct net_buf_data_alloc)); buf_pool->alloc = (struct net_buf_data_alloc *)k_malloc(sizeof(void *));
buf_pool->alloc->alloc_data = (struct net_buf_pool_fixed *)k_malloc(sizeof(struct net_buf_pool_fixed)); buf_pool->alloc->alloc_data = (struct net_buf_pool_fixed *)k_malloc(sizeof(void *));
buf_fixed = (struct net_buf_pool_fixed *)buf_pool->alloc->alloc_data; buf_fixed = (struct net_buf_pool_fixed *)buf_pool->alloc->alloc_data;
buf_pool->alloc->cb = &net_buf_fixed_cb; buf_pool->alloc->cb = &net_buf_fixed_cb;
buf_fixed->data_size = data_size; buf_fixed->data_size = data_size;
#if (BFLB_STATIC_ALLOC_MEM)
switch (buf_type) {
case HCI_CMD:
buf_fixed->data_pool = hci_cmd_data_pool;
break;
case HCI_RX:
buf_fixed->data_pool = hci_rx_data_pool;
break;
#if defined(CONFIG_BT_CONN)
case ACL_TX:
buf_fixed->data_pool = acl_tx_data_pool;
break;
case NUM_COMPLETE:
buf_fixed->data_pool = num_complete_data_pool;
break;
#if CONFIG_BT_ATT_PREPARE_COUNT > 0
case PREP:
buf_fixed->data_pool = prep_data_pool;
break;
#endif
#if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL)
case ACL_IN:
buf_fixed->data_pool = acl_in_data_pool;
break;
#endif
#if CONFIG_BT_L2CAP_TX_FRAG_COUNT > 0
case FRAG:
buf_fixed->data_pool = frag_data_pool;
break;
#endif
#endif
#if defined(CONFIG_BT_DISCARDABLE_BUF_COUNT)
case DISCARDABLE:
buf_fixed->data_pool = discardable_data_pool;
break;
#endif
default:
break;
}
#else
buf_fixed->data_pool = (u8_t *)k_malloc(buf_count * data_size); buf_fixed->data_pool = (u8_t *)k_malloc(buf_count * data_size);
#endif
buf_pool->__bufs = (struct net_buf *)k_malloc(buf_count * sizeof(struct net_buf)); buf_pool->__bufs = (struct net_buf *)k_malloc(buf_count * sizeof(struct net_buf));
buf_pool->buf_count = buf_count; buf_pool->buf_count = buf_count;
buf_pool->uninit_count = buf_count; buf_pool->uninit_count = buf_count;
@@ -226,9 +156,7 @@ void net_buf_deinit(struct net_buf_pool *buf_pool) {
bt_delete_queue((struct k_fifo *)(&(buf_pool->free))); bt_delete_queue((struct k_fifo *)(&(buf_pool->free)));
struct net_buf_pool_fixed *buf_fixed = (struct net_buf_pool_fixed *)buf_pool->alloc->alloc_data; struct net_buf_pool_fixed *buf_fixed = (struct net_buf_pool_fixed *)buf_pool->alloc->alloc_data;
#if !(BFLB_STATIC_ALLOC_MEM)
k_free(buf_fixed->data_pool); k_free(buf_fixed->data_pool);
#endif
k_free(buf_pool->__bufs); k_free(buf_pool->__bufs);
k_free(buf_pool->alloc->alloc_data); k_free(buf_pool->alloc->alloc_data);
k_free(buf_pool->alloc); k_free(buf_pool->alloc);
@@ -425,12 +353,6 @@ struct net_buf *net_buf_alloc_len(struct net_buf_pool *pool, size_t size, s32_t
NET_BUF_DBG("%s():%d: pool %p size %zu timeout %d", func, line, pool, size, timeout); NET_BUF_DBG("%s():%d: pool %p size %zu timeout %d", func, line, pool, size, timeout);
#if (BFLB_BT_CO_THREAD)
extern struct k_thread co_thread_data;
if (k_is_current_thread(&co_thread_data))
timeout = K_NO_WAIT;
#endif
/* We need to lock interrupts temporarily to prevent race conditions /* We need to lock interrupts temporarily to prevent race conditions
* when accessing pool->uninit_count. * when accessing pool->uninit_count.
*/ */

View File

@@ -14,7 +14,7 @@
#include <zephyr/types.h> #include <zephyr/types.h>
#include <misc/util.h> #include <misc/util.h>
#include <zephyr.h> #include <zephyr.h>
#include "../../port/include/ble_config.h" #include "ble_config.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -66,19 +66,6 @@ extern "C" {
.__buf = net_buf_data_##_name, \ .__buf = net_buf_data_##_name, \
} }
#if (BFLB_STATIC_ALLOC_MEM)
enum {
HCI_CMD = 0,
HCI_RX,
NUM_COMPLETE,
ACL_IN,
DISCARDABLE,
ACL_TX,
FRAG,
PREP,
};
#endif
/** @brief Simple network buffer representation. /** @brief Simple network buffer representation.
* *
* This is a simpler variant of the net_buf object (in fact net_buf uses * This is a simpler variant of the net_buf object (in fact net_buf uses
@@ -840,11 +827,7 @@ extern const struct net_buf_data_cb net_buf_var_cb;
#endif #endif
#if defined(BFLB_DYNAMIC_ALLOC_MEM) #if defined(BFLB_DYNAMIC_ALLOC_MEM)
#if (BFLB_STATIC_ALLOC_MEM)
void net_buf_init(u8_t buf_type, struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy);
#else
void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy); void net_buf_init(struct net_buf_pool *buf_pool, u16_t buf_count, size_t data_size, destroy_cb_t destroy);
#endif
void net_buf_deinit(struct net_buf_pool *buf_pool); void net_buf_deinit(struct net_buf_pool *buf_pool);
#endif #endif
/** /**

View File

@@ -15,12 +15,12 @@ extern "C" {
typedef signed char s8_t; typedef signed char s8_t;
typedef signed short s16_t; typedef signed short s16_t;
typedef int32_t s32_t; typedef signed int s32_t;
typedef signed long long s64_t; typedef signed long long s64_t;
typedef unsigned char u8_t; typedef unsigned char u8_t;
typedef unsigned short u16_t; typedef unsigned short u16_t;
typedef uint32_t u32_t; typedef unsigned int u32_t;
typedef unsigned long long u64_t; typedef unsigned long long u64_t;
#ifdef __cplusplus #ifdef __cplusplus

View File

@@ -22,7 +22,7 @@
const char *bt_hex_real(const void *buf, size_t len) { const char *bt_hex_real(const void *buf, size_t len) {
static const char hex[] = "0123456789abcdef"; static const char hex[] = "0123456789abcdef";
#if defined(CONFIG_BT_DEBUG_MONITOR) #if defined(CONFIG_BT_DEBUG_MONITOR)
static char str[512]; static char str[255];
#else #else
static char str[128]; static char str[128];
#endif #endif

View File

@@ -21,8 +21,8 @@
#include <hci_host.h> #include <hci_host.h>
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include "FreeRTOSConfig.h"
#include "task.h" #include "task.h"
#include "FreeRTOSConfig.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -45,13 +45,9 @@ extern "C" {
#if defined(BL_MCU_SDK) #if defined(BL_MCU_SDK)
#define BT_DBG(fmt, ...) //bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) #define BT_DBG(fmt, ...) //bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_ERR(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) #define BT_ERR(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_WARN(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_INFO(fmt, ...) // bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__)
#else #else
#define BT_DBG(fmt, ...) //printf(fmt", %s\r\n", ##__VA_ARGS__, __func__) #define BT_DBG(fmt, ...) //printf(fmt", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_ERR(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__) #define BT_ERR(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_WARN(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_INFO(fmt, ...) // printf(fmt", %s\r\n", ##__VA_ARGS__, __func__)
#endif #endif
#if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_BT_MESH_PTS) #if defined(CONFIG_BT_STACK_PTS) || defined(CONFIG_BT_MESH_PTS)
@@ -60,6 +56,14 @@ extern "C" {
#else #else
#define BT_PTS(fmt, ...) printf(fmt "\r\n", ##__VA_ARGS__) #define BT_PTS(fmt, ...) printf(fmt "\r\n", ##__VA_ARGS__)
#endif #endif
#endif
#if defined(BL_MCU_SDK)
#define BT_WARN(fmt, ...) bflb_platform_printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_INFO(fmt, ...) //bflb_platform_printf(fmt", %s\r\n", ##__VA_ARGS__, __func__)
#else
#define BT_WARN(fmt, ...) printf(fmt ", %s\r\n", ##__VA_ARGS__, __func__)
#define BT_INFO(fmt, ...) //printf(fmt", %s\r\n", ##__VA_ARGS__, __func__)
#endif #endif
#else /*BFLB_BLE*/ #else /*BFLB_BLE*/
@@ -85,14 +89,15 @@ extern "C" {
#if defined(CONFIG_BT_ASSERT) #if defined(CONFIG_BT_ASSERT)
#if defined(BFLB_BLE) #if defined(BFLB_BLE)
extern void user_vAssertCalled(void); extern void vAssertCalled(void);
#define BT_ASSERT(cond) \ #define BT_ASSERT(cond) \
if ((cond) == 0) \ if ((cond) == 0) \
user_vAssertCalled() vAssertCalled()
#else #else
#define BT_ASSERT(cond) \ #define BT_ASSERT(cond) \
if (!(cond)) { \ if (!(cond)) { \
BT_ASSERT_PRINT("assert: '" #cond "' failed\n"); \ BT_ASSERT_PRINT("assert: '" #cond \
"' failed\n"); \
BT_ASSERT_DIE(); \ BT_ASSERT_DIE(); \
} }
#endif /*BFLB_BLE*/ #endif /*BFLB_BLE*/
@@ -104,10 +109,14 @@ extern void user_vAssertCalled(void);
#endif /*BFLB_BLE*/ #endif /*BFLB_BLE*/
#endif /* CONFIG_BT_ASSERT*/ #endif /* CONFIG_BT_ASSERT*/
#define BT_HEXDUMP_DBG(_data, _length, _str) LOG_HEXDUMP_DBG((const u8_t *)_data, _length, _str) #define BT_HEXDUMP_DBG(_data, _length, _str) \
LOG_HEXDUMP_DBG((const u8_t *)_data, _length, _str)
#if defined(BFLB_BLE) #if defined(BFLB_BLE)
static inline char *log_strdup(const char *str) { return (char *)str; } static inline char *log_strdup(const char *str)
{
return (char *)str;
}
#endif #endif
/* NOTE: These helper functions always encodes into the same buffer storage. /* NOTE: These helper functions always encodes into the same buffer storage.

View File

@@ -139,23 +139,12 @@ static inline void set_event_ready(struct k_poll_event *event, u32_t state) {
event->state |= state; event->state |= state;
} }
#if (BFLB_BT_CO_THREAD) static bool polling_events(struct k_poll_event *events, int num_events, s32_t timeout, int *last_registered) {
static bool polling_events(struct k_poll_event *events, int num_events, int total_evt_array_cnt, s32_t timeout, int *last_registered)
#else
static bool polling_events(struct k_poll_event *events, int num_events, s32_t timeout, int *last_registered)
#endif
{
int rc; int rc;
bool polling = true; bool polling = true;
unsigned int key; unsigned int key;
#if (BFLB_BT_CO_THREAD)
for (int ii = 0; ii < total_evt_array_cnt; ii++) {
if (ii >= num_events && ii != total_evt_array_cnt - 1)
continue;
#else
for (int ii = 0; ii < num_events; ii++) { for (int ii = 0; ii < num_events; ii++) {
#endif
u32_t state; u32_t state;
key = irq_lock(); key = irq_lock();
if (is_condition_met(&events[ii], &state)) { if (is_condition_met(&events[ii], &state)) {
@@ -174,12 +163,7 @@ static bool polling_events(struct k_poll_event *events, int num_events, s32_t ti
return polling; return polling;
} }
#if (BFLB_BT_CO_THREAD) int k_poll(struct k_poll_event *events, int num_events, s32_t timeout) {
int k_poll(struct k_poll_event *events, int num_events, int total_evt_array_cnt, s32_t timeout, u8_t *to_process)
#else
int k_poll(struct k_poll_event *events, int num_events, s32_t timeout)
#endif
{
__ASSERT(events, "NULL events\n"); __ASSERT(events, "NULL events\n");
__ASSERT(num_events > 0, "zero events\n"); __ASSERT(num_events > 0, "zero events\n");
@@ -188,32 +172,16 @@ int k_poll(struct k_poll_event *events, int num_events, s32_t timeout)
bool polling = true; bool polling = true;
/* find events whose condition is already fulfilled */ /* find events whose condition is already fulfilled */
#if (BFLB_BT_CO_THREAD)
polling = polling_events(events, num_events, total_evt_array_cnt, timeout, &last_registered);
#else
polling = polling_events(events, num_events, timeout, &last_registered); polling = polling_events(events, num_events, timeout, &last_registered);
#endif
if (polling == false) { if (polling == false) {
goto exit; goto exit;
} }
#if (BFLB_BT_CO_THREAD)
if (timeout != K_NO_WAIT)
#endif
{
k_sem_take(&g_poll_sem, timeout);
last_registered = -1;
#if (BFLB_BT_CO_THREAD)
polling = polling_events(events, num_events, total_evt_array_cnt, timeout, &last_registered);
#else
polling_events(events, num_events, timeout, &last_registered);
#endif
}
#if (BFLB_BT_CO_THREAD) k_sem_take(&g_poll_sem, timeout);
if (to_process)
*to_process = polling ? 0 : 1; last_registered = -1;
#endif polling_events(events, num_events, timeout, &last_registered);
exit: exit:
key = irq_lock(); key = irq_lock();
clear_event_registrations(events, last_registered, key); clear_event_registrations(events, last_registered, key);

View File

@@ -10,8 +10,9 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
#include <atomic.h> #include <FreeRTOS.h>
#include <errno.h> #include <errno.h>
#include <include/atomic.h>
#include <misc/byteorder.h> #include <misc/byteorder.h>
#include <misc/stack.h> #include <misc/stack.h>
#include <misc/util.h> #include <misc/util.h>

View File

@@ -52,11 +52,10 @@
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "ecc.h"
#include "../include/tinycrypt/ecc.h" #include "../include/tinycrypt/ecc.h"
#include "ecc_platform_specific.h" #include "../include/tinycrypt/ecc_platform_specific.h"
#include <stdint.h>
#include <string.h> #include <string.h>
/* IMPORTANT: Make sure a cryptographically-secure PRNG is set and the platform /* IMPORTANT: Make sure a cryptographically-secure PRNG is set and the platform
* has access to enough entropy in order to feed the PRNG regularly. */ * has access to enough entropy in order to feed the PRNG regularly. */
#if default_RNG_defined #if default_RNG_defined
@@ -753,8 +752,9 @@ int uECC_valid_point(const uECC_word_t *point, uECC_Curve curve) {
curve->x_side(tmp2, point, curve); /* tmp2 = x^3 + ax + b */ curve->x_side(tmp2, point, curve); /* tmp2 = x^3 + ax + b */
/* Make sure that y^2 == x^3 + ax + b */ /* Make sure that y^2 == x^3 + ax + b */
if (uECC_vli_equal(tmp1, tmp2, num_words) != 0) if (uECC_vli_equal(tmp1, tmp2, num_words) != 0) {
return -3; return -3;
}
return 0; return 0;
} }

View File

@@ -70,8 +70,9 @@
int default_CSPRNG(uint8_t *dest, unsigned int size) { int default_CSPRNG(uint8_t *dest, unsigned int size) {
/* input sanity check: */ /* input sanity check: */
if (dest == (uint8_t *)0 || (size <= 0)) if (dest == (uint8_t *)0 || (size <= 0)) {
return 0; return 0;
}
int fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC); int fd = open("/dev/urandom", O_RDONLY | O_CLOEXEC);
if (fd == -1) { if (fd == -1) {

View File

@@ -87,10 +87,12 @@ static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen,
(void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v));
(void)tc_hmac_update(&prng->h, &separator0, sizeof(separator0)); (void)tc_hmac_update(&prng->h, &separator0, sizeof(separator0));
if (data && datalen) if (data && datalen) {
(void)tc_hmac_update(&prng->h, data, datalen); (void)tc_hmac_update(&prng->h, data, datalen);
if (additional_data && additional_datalen) }
if (additional_data && additional_datalen) {
(void)tc_hmac_update(&prng->h, additional_data, additional_datalen); (void)tc_hmac_update(&prng->h, additional_data, additional_datalen);
}
(void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h); (void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h);
@@ -102,8 +104,9 @@ static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen,
(void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v));
(void)tc_hmac_final(prng->v, sizeof(prng->v), &prng->h); (void)tc_hmac_final(prng->v, sizeof(prng->v), &prng->h);
if (data == 0 || datalen == 0) if (data == 0 || datalen == 0) {
return; return;
}
/* configure the new prng key into the prng's instance of hmac */ /* configure the new prng key into the prng's instance of hmac */
tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key)); tc_hmac_set_key(&prng->h, prng->key, sizeof(prng->key));
@@ -113,8 +116,9 @@ static void update(TCHmacPrng_t prng, const uint8_t *data, unsigned int datalen,
(void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v)); (void)tc_hmac_update(&prng->h, prng->v, sizeof(prng->v));
(void)tc_hmac_update(&prng->h, &separator1, sizeof(separator1)); (void)tc_hmac_update(&prng->h, &separator1, sizeof(separator1));
(void)tc_hmac_update(&prng->h, data, datalen); (void)tc_hmac_update(&prng->h, data, datalen);
if (additional_data && additional_datalen) if (additional_data && additional_datalen) {
(void)tc_hmac_update(&prng->h, additional_data, additional_datalen); (void)tc_hmac_update(&prng->h, additional_data, additional_datalen);
}
(void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h); (void)tc_hmac_final(prng->key, sizeof(prng->key), &prng->h);
/* configure the new prng key into the prng's instance of hmac */ /* configure the new prng key into the prng's instance of hmac */

View File

@@ -24,24 +24,10 @@ struct k_work_q g_work_queue_main;
static void k_work_submit_to_queue(struct k_work_q *work_q, struct k_work *work) { static void k_work_submit_to_queue(struct k_work_q *work_q, struct k_work *work) {
if (!atomic_test_and_set_bit(work->flags, K_WORK_STATE_PENDING)) { if (!atomic_test_and_set_bit(work->flags, K_WORK_STATE_PENDING)) {
k_fifo_put(&work_q->fifo, work); k_fifo_put(&work_q->fifo, work);
#if (BFLB_BT_CO_THREAD)
extern struct k_sem g_poll_sem;
k_sem_give(&g_poll_sem);
#endif
} }
} }
#if defined(BFLB_BLE) #if defined(BFLB_BLE)
#if (BFLB_BT_CO_THREAD)
void handle_work_queue(void) {
struct k_work *work;
work = k_fifo_get(&g_work_queue_main.fifo, K_NO_WAIT);
if (atomic_test_and_clear_bit(work->flags, K_WORK_STATE_PENDING)) {
work->handler(work);
}
}
#else
static void work_queue_main(void *p1) { static void work_queue_main(void *p1) {
struct k_work *work; struct k_work *work;
UNUSED(p1); UNUSED(p1);
@@ -61,7 +47,6 @@ int k_work_q_start(void) {
k_fifo_init(&g_work_queue_main.fifo, 20); k_fifo_init(&g_work_queue_main.fifo, 20);
return k_thread_create(&work_q_thread, "work_q_thread", CONFIG_BT_WORK_QUEUE_STACK_SIZE, work_queue_main, CONFIG_BT_WORK_QUEUE_PRIO); return k_thread_create(&work_q_thread, "work_q_thread", CONFIG_BT_WORK_QUEUE_STACK_SIZE, work_queue_main, CONFIG_BT_WORK_QUEUE_PRIO);
} }
#endif
int k_work_init(struct k_work *work, k_work_handler_t handler) { int k_work_init(struct k_work *work, k_work_handler_t handler) {
ASSERT(work, "work is NULL"); ASSERT(work, "work is NULL");
@@ -185,8 +170,9 @@ s32_t k_delayed_work_remaining_get(struct k_delayed_work *work) {
} }
void k_delayed_work_del_timer(struct k_delayed_work *work) { void k_delayed_work_del_timer(struct k_delayed_work *work) {
if (NULL == work || NULL == work->timer.timer.hdl) if (NULL == work || NULL == work->timer.timer.hdl) {
return; return;
}
k_timer_delete(&work->timer); k_timer_delete(&work->timer);
work->timer.timer.hdl = NULL; work->timer.timer.hdl = NULL;

View File

@@ -14,7 +14,8 @@
// #include <init.h> // #include <init.h>
// #include <device.h> // #include <device.h>
// #include <clock_control.h> // #include <clock_control.h>
#include <atomic.h> #include <FreeRTOS.h>
#include <include/atomic.h>
#include <misc/byteorder.h> #include <misc/byteorder.h>
#include <misc/stack.h> #include <misc/stack.h>
@@ -50,6 +51,11 @@ static K_SEM_DEFINE(sem_prio_recv, 0, BT_UINT_MAX);
#endif #endif
K_FIFO_DEFINE(recv_fifo); K_FIFO_DEFINE(recv_fifo);
#if (BFLB_BLE_CO_THREAD)
extern struct k_sem g_poll_sem;
static int recv_fifo_count = 0;
#endif
#if !defined(BFLB_BLE) #if !defined(BFLB_BLE)
struct k_thread prio_recv_thread_data; struct k_thread prio_recv_thread_data;
static BT_STACK_NOINIT(prio_recv_thread_stack, CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE); static BT_STACK_NOINIT(prio_recv_thread_stack, CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE);
@@ -274,6 +280,35 @@ static inline struct net_buf *process_hbuf(struct radio_pdu_node_rx *n) {
#endif #endif
#if defined(BFLB_BLE) #if defined(BFLB_BLE)
#if (BFLB_BLE_CO_THREAD)
void co_rx_thread() {
struct net_buf *buf = NULL;
buf = net_buf_get(&recv_fifo, K_NO_WAIT);
if (buf) {
BT_DBG("Calling bt_recv(%p)", buf);
bt_recv(buf);
}
}
void co_tx_rx_thread(void *p1) {
UNUSED(p1);
BT_DBG("using %s\n", __func__);
while (1) {
if (k_sem_count_get(&g_poll_sem) > 0) {
co_tx_thread();
}
if (recv_fifo_count > 0) {
recv_fifo_count--;
co_rx_thread();
}
k_sleep(portTICK_PERIOD_MS);
k_yield();
}
}
#else
static void recv_thread(void *p1) { static void recv_thread(void *p1) {
UNUSED(p1); UNUSED(p1);
#if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL) #if defined(CONFIG_BT_HCI_ACL_FLOW_CONTROL)
@@ -344,6 +379,7 @@ static void recv_thread(void *p1) {
} }
} }
#endif #endif
#endif
#if !defined(BFLB_BLE) #if !defined(BFLB_BLE)
static int cmd_handle(struct net_buf *buf) { static int cmd_handle(struct net_buf *buf) {
@@ -438,11 +474,12 @@ static int hci_driver_open(void) {
hci_init(NULL); hci_init(NULL);
#endif #endif
#endif #endif
#if (!BFLB_BT_CO_THREAD)
k_fifo_init(&recv_fifo, 20); k_fifo_init(&recv_fifo, 20);
#endif
#if defined(BFLB_BLE) #if defined(BFLB_BLE)
#if (!BFLB_BT_CO_THREAD) #if (BFLB_BLE_CO_THREAD)
k_thread_create(&recv_thread_data, "co_tx_rx_thread", CONFIG_BT_RX_STACK_SIZE, co_tx_rx_thread, K_PRIO_COOP(CONFIG_BT_RX_PRIO));
#else
k_thread_create(&recv_thread_data, "recv_thread", CONFIG_BT_RX_STACK_SIZE /*K_THREAD_STACK_SIZEOF(recv_thread_stack)*/, recv_thread, K_PRIO_COOP(CONFIG_BT_RX_PRIO)); k_thread_create(&recv_thread_data, "recv_thread", CONFIG_BT_RX_STACK_SIZE /*K_THREAD_STACK_SIZEOF(recv_thread_stack)*/, recv_thread, K_PRIO_COOP(CONFIG_BT_RX_PRIO));
#endif #endif
#else #else
@@ -456,9 +493,8 @@ static int hci_driver_open(void) {
void hci_driver_enque_recvq(struct net_buf *buf) { void hci_driver_enque_recvq(struct net_buf *buf) {
net_buf_put(&recv_fifo, buf); net_buf_put(&recv_fifo, buf);
#if (BFLB_BT_CO_THREAD) #if (BFLB_BLE_CO_THREAD)
extern struct k_sem g_poll_sem; recv_fifo_count++;
k_sem_give(&g_poll_sem);
#endif #endif
} }

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