Compare commits
372 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1fcee45146 | ||
|
|
55903020e9 | ||
|
|
d1d403376f | ||
|
|
943d6bf0bd | ||
|
|
a73f634cff | ||
|
|
787bc46bdc | ||
|
|
0b8192b690 | ||
|
|
62dd2abf12 | ||
|
|
923915ca90 | ||
|
|
232009bf54 | ||
|
|
fd4d93db64 | ||
|
|
2c04f2ba2e | ||
|
|
5e35029689 | ||
|
|
e5d68391de | ||
|
|
a5caac5587 | ||
|
|
47789e1af6 | ||
|
|
c920f5accf | ||
|
|
79efa3624a | ||
|
|
d0382cb256 | ||
|
|
0b7b17fc34 | ||
|
|
622760104d | ||
|
|
4161b752d7 | ||
|
|
1fbc3be223 | ||
|
|
6612efda75 | ||
|
|
823a8a2e11 | ||
|
|
7404f9dc36 | ||
|
|
1b146ca3c0 | ||
|
|
3b409d5dae | ||
|
|
7cb83850a8 | ||
|
|
ae96806676 | ||
|
|
1fbf48bbfe | ||
|
|
ff240d9b25 | ||
|
|
8f213bd26a | ||
|
|
4107e18d27 | ||
|
|
32553ef44e | ||
|
|
c484e383ce | ||
|
|
1a039e065e | ||
|
|
4ed42c733f | ||
|
|
792234250a | ||
|
|
733c7dcd4d | ||
|
|
4b5fdbeaf8 | ||
|
|
236dbfb6d3 | ||
|
|
35db18f549 | ||
|
|
2b2ecbfb54 | ||
|
|
723b6874f4 | ||
|
|
59b36c2831 | ||
|
|
71c4a8760e | ||
|
|
f9f5aa49cb | ||
|
|
e9bcd165fa | ||
|
|
d4920d2039 | ||
|
|
e87c7dfc51 | ||
|
|
645324af83 | ||
|
|
d3fd506156 | ||
|
|
652c2147a0 | ||
|
|
7307c1a228 | ||
|
|
72441921c2 | ||
|
|
a9a6bcbc99 | ||
|
|
6ba40cef3d | ||
|
|
ee9998ee64 | ||
|
|
a0e621630a | ||
|
|
4b2df71394 | ||
|
|
90e369d9ca | ||
|
|
c238acc267 | ||
|
|
e1279957a2 | ||
|
|
3b3fd0fc87 | ||
|
|
0a066d58ce | ||
|
|
9b27da57f0 | ||
|
|
7899b3aee1 | ||
|
|
da56233b37 | ||
|
|
b333768166 | ||
|
|
1a115a520c | ||
|
|
4d5cc80d10 | ||
|
|
ec094e7720 | ||
|
|
4277758db7 | ||
|
|
1ecac417b0 | ||
|
|
d4cefa3952 | ||
|
|
c52862b153 | ||
|
|
4bb1afc0a5 | ||
|
|
be2407d792 | ||
|
|
ae65374205 | ||
|
|
74a177338f | ||
|
|
21d586153a | ||
|
|
37e87f826d | ||
|
|
fe6dfaa40b | ||
|
|
41ae8e9cbe | ||
|
|
cf3f1c9e5a | ||
|
|
71c450729e | ||
|
|
005856023d | ||
|
|
638cce8b1b | ||
|
|
82ed8beac2 | ||
|
|
86dce76cab | ||
|
|
51d2fbb433 | ||
|
|
07fd93af8f | ||
|
|
66fe4061df | ||
|
|
f442c0518f | ||
|
|
2b5f356bb5 | ||
|
|
65e96502c4 | ||
|
|
1e8465b1c0 | ||
|
|
c8d8ff31e8 | ||
|
|
4de393ada1 | ||
|
|
ccdc2376cd | ||
|
|
42c1a071a8 | ||
|
|
638a2a8025 | ||
|
|
3fb1dd5f63 | ||
|
|
0c40012d5e | ||
|
|
7706aaa651 | ||
|
|
fa3443dafb | ||
|
|
4576b81301 | ||
|
|
c6e47cc65b | ||
|
|
14cc6cd3e8 | ||
|
|
ba3e5760f4 | ||
|
|
324921a8c3 | ||
|
|
b6a75bf8f9 | ||
|
|
c46c9ff94a | ||
|
|
ca5af38ffc | ||
|
|
633b639cab | ||
|
|
14414b9675 | ||
|
|
b9fcf044a9 | ||
|
|
79bdb29fa7 | ||
|
|
d86cb18515 | ||
|
|
340403656c | ||
|
|
feffc3025c | ||
|
|
58ab43cd09 | ||
|
|
e065be37d9 | ||
|
|
5fd255969c | ||
|
|
8568cd0909 | ||
|
|
43a176796d | ||
|
|
d6f4e1ee92 | ||
|
|
3747d22773 | ||
|
|
6ecf6302c4 | ||
|
|
730f7cf415 | ||
|
|
ba119007ff | ||
|
|
16882fee61 | ||
|
|
3869003cf4 | ||
|
|
2d93f048a4 | ||
|
|
e358c02f1f | ||
|
|
20d39b6627 | ||
|
|
e07c787b0f | ||
|
|
a1cee2012b | ||
|
|
204231b24f | ||
|
|
e604f4c8a2 | ||
|
|
86ef716a92 | ||
|
|
a0e8757dd1 | ||
|
|
9907009af6 | ||
|
|
60fc7ccd1d | ||
|
|
4678f71799 | ||
|
|
74503e9e0c | ||
|
|
18314d09f9 | ||
|
|
7ab5804682 | ||
|
|
69639c8ad2 | ||
|
|
a9a71d182d | ||
|
|
a84bf967e1 | ||
|
|
eee879eed4 | ||
|
|
a6547d63ac | ||
|
|
afa20b57a4 | ||
|
|
7fcac3aaf1 | ||
|
|
6c058f93d5 | ||
|
|
0b894ffaf3 | ||
|
|
641fc76e49 | ||
|
|
02d065778c | ||
|
|
3f26bc0103 | ||
|
|
811089868d | ||
|
|
d8e0d86084 | ||
|
|
ee0eeec08f | ||
|
|
8c5c166109 | ||
|
|
5e777a97d2 | ||
|
|
91c9c73d4a | ||
|
|
42609ad9fc | ||
|
|
3967525190 | ||
|
|
ebcb16a572 | ||
|
|
5f8fe9ae56 | ||
|
|
5750afb4f6 | ||
|
|
78344279d3 | ||
|
|
f715f77848 | ||
|
|
fb297704b3 | ||
|
|
0735d4f704 | ||
|
|
1969d860c7 | ||
|
|
a2918ae8a4 | ||
|
|
265e152c18 | ||
|
|
3c83b59b53 | ||
|
|
a3cecb852c | ||
|
|
2f28e6b487 | ||
|
|
ab6b07e422 | ||
|
|
6b3ba37243 | ||
|
|
0462597876 | ||
|
|
0fcde2806d | ||
|
|
471c4513bb | ||
|
|
cdf8d29fb7 | ||
|
|
1122d18526 | ||
|
|
49c80d2d3f | ||
|
|
80acf58b43 | ||
|
|
1bdf9654d1 | ||
|
|
513a2d66bb | ||
|
|
89070e1f40 | ||
|
|
15763dd55b | ||
|
|
3a32e88d5c | ||
|
|
31c424bd72 | ||
|
|
4f38236a00 | ||
|
|
a461577ee2 | ||
|
|
c38dfb6007 | ||
|
|
eba52bfd5b | ||
|
|
c74bc36178 | ||
|
|
4f2179287e | ||
|
|
a19b33c85e | ||
|
|
73266054d1 | ||
|
|
7b8240d9b5 | ||
|
|
e861ab55a5 | ||
|
|
401ffa4ea9 | ||
|
|
f5ef025ecf | ||
|
|
1dfeeca01e | ||
|
|
6b25e603e0 | ||
|
|
d6b65490f4 | ||
|
|
969611cf79 | ||
|
|
6ba5bab3ff | ||
|
|
6054928fa4 | ||
|
|
cfbcf7e9b8 | ||
|
|
b9faa443bb | ||
|
|
5c3b9a2555 | ||
|
|
40c2e8636c | ||
|
|
07586f5d82 | ||
|
|
f3863b73ce | ||
|
|
6a9c648b62 | ||
|
|
9eaa66f063 | ||
|
|
d91253a95b | ||
|
|
bf7909123c | ||
|
|
bf739a9e9a | ||
|
|
7bb5b6adb7 | ||
|
|
05f38b096c | ||
|
|
294f9c2ff6 | ||
|
|
f71ec30ed0 | ||
|
|
4a5afc6301 | ||
|
|
eb75a96671 | ||
|
|
1757ad442f | ||
|
|
7ced8531c5 | ||
|
|
021eb1a7e6 | ||
|
|
5f52141a42 | ||
|
|
ca21c4859d | ||
|
|
d375c088b1 | ||
|
|
59ef869c33 | ||
|
|
da5d3ca42b | ||
|
|
7286ff4db8 | ||
|
|
c0808e8c9c | ||
|
|
2289034e45 | ||
|
|
6da9bae3eb | ||
|
|
58bac37ed7 | ||
|
|
d2723ddf61 | ||
|
|
59a75bb8d0 | ||
|
|
dbb2605042 | ||
|
|
98f4ab79bd | ||
|
|
c06b40fd51 | ||
|
|
9028ef7f5a | ||
|
|
83655d5532 | ||
|
|
6fc81424a0 | ||
|
|
ae34b0095d | ||
|
|
c691e4f9b3 | ||
|
|
b36f84ea08 | ||
|
|
2762593952 | ||
|
|
7ceb2ddd71 | ||
|
|
f55e8c100a | ||
|
|
dcbf357111 | ||
|
|
c02628f5bf | ||
|
|
2fe86b748e | ||
|
|
1c5361613c | ||
|
|
f1addbf9a0 | ||
|
|
af413a1b4b | ||
|
|
6d2bb71b86 | ||
|
|
a9f8d88a2f | ||
|
|
900957a9ff | ||
|
|
649d6a330b | ||
|
|
8c29347c26 | ||
|
|
4feb68923b | ||
|
|
cb7756d381 | ||
|
|
385bcfa59e | ||
|
|
28e097e001 | ||
|
|
8a1740bc38 | ||
|
|
a9e47a578d | ||
|
|
8479991b6c | ||
|
|
996821ff69 | ||
|
|
415f9dfcf3 | ||
|
|
cf70c65a95 | ||
|
|
3ed6b52a1e | ||
|
|
b0dfeec6f2 | ||
|
|
d7b21c213e | ||
|
|
1e065f0868 | ||
|
|
b64c4f3d53 | ||
|
|
686657a418 | ||
|
|
3826c2d2fe | ||
|
|
992706e954 | ||
|
|
ee5216ce3b | ||
|
|
825ac54a4c | ||
|
|
6054236213 | ||
|
|
96e30aa483 | ||
|
|
429aca55cf | ||
|
|
f6b7a3a1f1 | ||
|
|
59c7c7245a | ||
|
|
0515652f78 | ||
|
|
d59db82ead | ||
|
|
89c6d69b39 | ||
|
|
15834577d3 | ||
|
|
77fe3f3f7e | ||
|
|
67c4552504 | ||
|
|
7156bee58b | ||
|
|
b46949ae09 | ||
|
|
2fbfb16017 | ||
|
|
1564f881f4 | ||
|
|
aea4a01d81 | ||
|
|
f79dec5ee3 | ||
|
|
397c7a2406 | ||
|
|
f15069b97b | ||
|
|
c0eac7e217 | ||
|
|
3d15e35f6c | ||
|
|
581f59c8e5 | ||
|
|
e8fc7cc7f8 | ||
|
|
5058e18138 | ||
|
|
9ddb2466ff | ||
|
|
fbf83fa71e | ||
|
|
42a62ba874 | ||
|
|
1a4ff29297 | ||
|
|
7db7a11787 | ||
|
|
4989a030d5 | ||
|
|
c0095bd98f | ||
|
|
12e8e01ca7 | ||
|
|
18c376deff | ||
|
|
e52da0088d | ||
|
|
3483c4736c | ||
|
|
26493c0104 | ||
|
|
21eba602c3 | ||
|
|
5e5f1b8d99 | ||
|
|
83f0949690 | ||
|
|
a23ac27fba | ||
|
|
6bfe915614 | ||
|
|
5b00e95255 | ||
|
|
055b70d45b | ||
|
|
4061bfb182 | ||
|
|
566e27d698 | ||
|
|
ef57dea866 | ||
|
|
cd86c34b90 | ||
|
|
d712f6875b | ||
|
|
f3808e0ba4 | ||
|
|
12dfcd76aa | ||
|
|
0e4319ff2e | ||
|
|
250199d996 | ||
|
|
585fe5dec9 | ||
|
|
9a05a392c1 | ||
|
|
4e890dd569 | ||
|
|
fd7354d930 | ||
|
|
f85c62c878 | ||
|
|
15d4da9b81 | ||
|
|
724b0c4936 | ||
|
|
37418047a0 | ||
|
|
93de082b06 | ||
|
|
3335298250 | ||
|
|
b6d2846ead | ||
|
|
1ddd15306d | ||
|
|
2505e30f86 | ||
|
|
a23c147125 | ||
|
|
ca6ff84ddb | ||
|
|
d3da956401 | ||
|
|
d7b759c534 | ||
|
|
761bafad83 | ||
|
|
2cac11fdda | ||
|
|
52f0d5242a | ||
|
|
827308f691 | ||
|
|
ee9a7c7ddb | ||
|
|
26ed7c3356 | ||
|
|
26c7d0f2cb | ||
|
|
8c25937f20 | ||
|
|
528d2cb071 | ||
|
|
9eb486f6e1 | ||
|
|
da34ad6023 | ||
|
|
af012c773c | ||
|
|
ed029dbd89 |
10
.github/ISSUE_TEMPLATE/bug_report.md
vendored
10
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -13,20 +13,20 @@ assignees: Ralim
|
||||
**To Reproduce**
|
||||
<!-- Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
2. Click on '...'
|
||||
3. Scroll down to '...'
|
||||
4. See error -->
|
||||
|
||||
**Expected behavior**
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
|
||||
**Details on your device:**
|
||||
<!-- You can get these from the debug menu by holding the rear button down and then using the front one to cycle through-->
|
||||
**Details of your device:**
|
||||
<!-- You can get these from the debug menu by holding the rear button down and then using the front one to cycle through -->
|
||||
- Device: [e.g. TS80/Pinecil etc]
|
||||
- Release: [eg 2.15.40087E6]
|
||||
- Power adapter being used:
|
||||
- If this is an acceleromter related issue, please include its model number here:
|
||||
- If this is an accelerometer related issue, please include its model number here:
|
||||
|
||||
**Additional context**
|
||||
<!-- Add any other context about the problem here. -->
|
||||
|
||||
122
.github/workflows/push.yml
vendored
122
.github/workflows/push.yml
vendored
@@ -5,32 +5,24 @@ on: [push, pull_request]
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: alpine:3.15
|
||||
strategy:
|
||||
matrix:
|
||||
model: ["TS100", "TS80", "TS80P", "Pinecil", "MHP30"]
|
||||
fail-fast: true
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies (apk)
|
||||
run: apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git bash
|
||||
|
||||
- name: Install dependencies (python)
|
||||
run: python3 -m pip install bdflib
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: chmod
|
||||
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
|
||||
|
||||
- name: Cached compiler source files
|
||||
uses: actions/cache@v2.1.7
|
||||
env:
|
||||
cache-name: cache-compilers
|
||||
with:
|
||||
path: /build/cache
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
|
||||
- name: setup
|
||||
run: ./setup.sh
|
||||
|
||||
- name: build ${{ matrix.model }}
|
||||
run: cd source && ./build.sh -m ${{ matrix.model }}
|
||||
|
||||
@@ -40,7 +32,7 @@ jobs:
|
||||
cp LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
|
||||
|
||||
- name: Archive ${{ matrix.model }} artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.model }}
|
||||
path: |
|
||||
@@ -50,34 +42,34 @@ jobs:
|
||||
source/Hexfile/LICENSE_RELEASE.md
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Generate json index file
|
||||
run: cd source && python3 metadata.py ${{ matrix.model }}.json
|
||||
|
||||
- name: Archive ${{ matrix.model }} index file
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: metadata
|
||||
path: source/Hexfile/${{ matrix.model }}.json
|
||||
|
||||
build_multi-lang:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: alpine:3.15
|
||||
strategy:
|
||||
matrix:
|
||||
model: ["Pinecil"]
|
||||
fail-fast: true
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies (apk)
|
||||
run: apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git bash musl-dev
|
||||
- name: Install dependencies (python)
|
||||
run: python3 -m pip install bdflib
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: chmod
|
||||
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
|
||||
|
||||
- name: Cached compiler source files
|
||||
uses: actions/cache@v2.1.7
|
||||
env:
|
||||
cache-name: cache-compilers
|
||||
with:
|
||||
path: /build/cache
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
|
||||
- name: setup
|
||||
run: ./setup.sh
|
||||
|
||||
- name: build ${{ matrix.model }}
|
||||
run: cd source && make -j$(nproc) model="${{ matrix.model }}" firmware-multi_compressed_European firmware-multi_compressed_Bulgarian+Russian+Serbian+Ukrainian firmware-multi_Chinese+Japanese
|
||||
|
||||
@@ -87,7 +79,7 @@ jobs:
|
||||
cp LICENSE_RELEASE.md source/Hexfile/LICENSE_RELEASE.md
|
||||
|
||||
- name: Archive ${{ matrix.model }} artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.model }}_multi-lang
|
||||
path: |
|
||||
@@ -97,15 +89,30 @@ jobs:
|
||||
source/Hexfile/LICENSE_RELEASE.md
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Generate json index file
|
||||
run: cd source && python3 metadata.py Pinecil_multi-lang.json
|
||||
|
||||
- name: Archive ${{ matrix.model }} index file
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: metadata
|
||||
path: source/Hexfile/Pinecil_multi-lang.json
|
||||
|
||||
tests:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: alpine:3.15
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: deps
|
||||
run: apk add --no-cache python3 py3-pip make git bash findutils gcc musl-dev
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Setup
|
||||
run: sudo apt-get update && sudo apt-get install -y python3 && pip3 install bdflib
|
||||
- name: install black
|
||||
run: python3 -m pip install bdflib
|
||||
|
||||
- name: Run python tests
|
||||
run: cd Translations && chmod +x make_translation_test.py && ./make_translation_test.py
|
||||
@@ -120,28 +127,20 @@ jobs:
|
||||
|
||||
check_formatting:
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: alpine:3.15
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: deps
|
||||
run: apk add --no-cache python3 py3-pip make git
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: chmod
|
||||
run: chmod +x setup.sh && chmod +x source/build.sh && sudo mkdir -p /build/cache && sudo chmod -R 777 /build
|
||||
- name: install black
|
||||
run: python3 -m pip install bdflib black flake8
|
||||
|
||||
- name: Cached compiler source files
|
||||
uses: actions/cache@v2.1.7
|
||||
env:
|
||||
cache-name: cache-compilers
|
||||
with:
|
||||
# we deliberately persist a cache folder forwards
|
||||
path: /build/cache
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-
|
||||
|
||||
- name: setup
|
||||
run: sudo apt-get update && sudo apt-get install -y make clang git python3 python3-pip && python3 -m pip install bdflib black flake8
|
||||
- name: Check formatting with clang-format
|
||||
run: cd source && make clean && make check-style
|
||||
|
||||
@@ -150,3 +149,16 @@ jobs:
|
||||
|
||||
- name: Check python with flake8
|
||||
run: flake8 Translations
|
||||
|
||||
shellcheck:
|
||||
name: runner / shellcheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: shellcheck
|
||||
uses: reviewdog/action-shellcheck@v1
|
||||
with:
|
||||
github_token: ${{ secrets.github_token }}
|
||||
reporter: github-pr-review # Change reporter.
|
||||
exclude: "./.git/*" # Optional.
|
||||
check_all_files_with_shebangs: "false" # Optional.
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -176,3 +176,4 @@ fabric.properties
|
||||
|
||||
CoreCompileInputs.cache
|
||||
.vscode/settings.json
|
||||
source/compile_commands.json
|
||||
|
||||
Binary file not shown.
@@ -1,258 +0,0 @@
|
||||
:020000040800F2
|
||||
:10F8000055AA0DF080002A540215808180808080E6
|
||||
:10F810008080808080808080008000000000000068
|
||||
:10F82000408040C020C03030905010F010101010B8
|
||||
:10F830001010101010101010F010101010101010E8
|
||||
:10F8400010101010D09050D0505050505050505078
|
||||
:10F8500050505050D0D0D0D0D0D0109010101010A8
|
||||
:10F86000101000E002000502050508080808080855
|
||||
:10F87000080808080808080805080505050507051B
|
||||
:10F880001008101F201F62604850407F40404040D9
|
||||
:10F8900040404040404040407F4047404747424012
|
||||
:10F8A000424747405F4F505F50505050505050506B
|
||||
:10F8B000505050505F5F58585F58474F4740424044
|
||||
:10F8C0004040003F00000000000000000000000079
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF080002A540215808180808080E6
|
||||
:10F810008080808080808080008000000000000068
|
||||
:10F82000408040C020C03030905010F010101010B8
|
||||
:10F830001010101010101010F010101010101010E8
|
||||
:10F8400010101010D09050D0505050505050505078
|
||||
:10F8500050505050D0D0D0D0D0D0109010101010A8
|
||||
:10F86000101000E002000502050508080808080855
|
||||
:10F87000080808080808080805080505050507051B
|
||||
:10F880001008101F201F62604850407F40404040D9
|
||||
:10F8900040404040404040407F4047404747424012
|
||||
:10F8A000424747405F4F505F50505050505050506B
|
||||
:10F8B000505050505F5F58585F58474F4740424044
|
||||
:10F8C0004040003F00000000000000000000000079
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF080002A540215808180808080E6
|
||||
:10F810008080808080808080008000000000000068
|
||||
:10F82000408040C020C03030905010F010101010B8
|
||||
:10F830001010101010101010F010101010101010E8
|
||||
:10F8400010101010D09050D0505050505050505078
|
||||
:10F8500050505050D0D0D0D0D0D0109010101010A8
|
||||
:10F86000101000E002000502050508080808080855
|
||||
:10F87000080808080808080805080505050507051B
|
||||
:10F880001008101F201F62604850407F40404040D9
|
||||
:10F8900040404040404040407F4047404747424012
|
||||
:10F8A000424747405F4F505F50505050505050506B
|
||||
:10F8B000505050505F5F58585F58474F4740424044
|
||||
:10F8C0004040003F00000000000000000000000079
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF080002A540215808180808080E6
|
||||
:10F810008080808080808080008000000000000068
|
||||
:10F82000408040C020C03030905010F010101010B8
|
||||
:10F830001010101010101010F010101010101010E8
|
||||
:10F8400010101010D09050D0505050505050505078
|
||||
:10F8500050505050D0D0D0D0D0D0109010101010A8
|
||||
:10F86000101000E002000502050508080808080855
|
||||
:10F87000080808080808080805080505050507051B
|
||||
:10F880001008101F201F62604850407F40404040D9
|
||||
:10F8900040404040404040407F4047404747424012
|
||||
:10F8A000424747405F4F505F50505050505050506B
|
||||
:10F8B000505050505F5F58585F58474F4740424044
|
||||
:10F8C0004040003F00000000000000000000000079
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:00000001FF
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.2 KiB |
@@ -1,258 +0,0 @@
|
||||
:020000040800F2
|
||||
:10F8000055AA0DF080002A54821580818080808066
|
||||
:10F8100080808080808080808080808000000000E8
|
||||
:10F82000000000004080402020C020201010080868
|
||||
:10F8300008080C080C0C0C0C080808080C0C0C0C24
|
||||
:10F84000E80CA8A8A828E8A8C808A828A8A848A834
|
||||
:10F850008808284808E828C828A80CCC28CC28A85C
|
||||
:10F8600008C800F80200050208050808080808088A
|
||||
:10F8700008080A080A090A090A0908090505050508
|
||||
:10F880000505050510081020201F4040404020407D
|
||||
:10F890002020202020202020202020202020202068
|
||||
:10F8A00020202F202F28202025202A2A2A2A2728F6
|
||||
:10F8B0002120282F202F2827282B20272827282BD6
|
||||
:10F8C0002027001F000000000000000000000000D2
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF080002A54821580818080808066
|
||||
:10F8100080808080808080808080808000000000E8
|
||||
:10F82000000000004080402020C020201010080868
|
||||
:10F8300008080C080C0C0C0C080808080C0C0C0C24
|
||||
:10F84000E80CA8A8A828E8A8C808A828A8A848A834
|
||||
:10F850008808284808E828C828A80CCC28CC28A85C
|
||||
:10F8600008C800F80200050208050808080808088A
|
||||
:10F8700008080A080A090A090A0908090505050508
|
||||
:10F880000505050510081020201F4040404020407D
|
||||
:10F890002020202020202020202020202020202068
|
||||
:10F8A00020202F202F28202025202A2A2A2A2728F6
|
||||
:10F8B0002120282F202F2827282B20272827282BD6
|
||||
:10F8C0002027001F000000000000000000000000D2
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF080002A54821580818080808066
|
||||
:10F8100080808080808080808080808000000000E8
|
||||
:10F82000000000004080402020C020201010080868
|
||||
:10F8300008080C080C0C0C0C080808080C0C0C0C24
|
||||
:10F84000E80CA8A8A828E8A8C808A828A8A848A834
|
||||
:10F850008808284808E828C828A80CCC28CC28A85C
|
||||
:10F8600008C800F80200050208050808080808088A
|
||||
:10F8700008080A080A090A090A0908090505050508
|
||||
:10F880000505050510081020201F4040404020407D
|
||||
:10F890002020202020202020202020202020202068
|
||||
:10F8A00020202F202F28202025202A2A2A2A2728F6
|
||||
:10F8B0002120282F202F2827282B20272827282BD6
|
||||
:10F8C0002027001F000000000000000000000000D2
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF080002A54821580818080808066
|
||||
:10F8100080808080808080808080808000000000E8
|
||||
:10F82000000000004080402020C020201010080868
|
||||
:10F8300008080C080C0C0C0C080808080C0C0C0C24
|
||||
:10F84000E80CA8A8A828E8A8C808A828A8A848A834
|
||||
:10F850008808284808E828C828A80CCC28CC28A85C
|
||||
:10F8600008C800F80200050208050808080808088A
|
||||
:10F8700008080A080A090A090A0908090505050508
|
||||
:10F880000505050510081020201F4040404020407D
|
||||
:10F890002020202020202020202020202020202068
|
||||
:10F8A00020202F202F28202025202A2A2A2A2728F6
|
||||
:10F8B0002120282F202F2827282B20272827282BD6
|
||||
:10F8C0002027001F000000000000000000000000D2
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:00000001FF
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 408 B |
@@ -1,258 +0,0 @@
|
||||
:020000040800F2
|
||||
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
|
||||
:10F81000A828A8A848A88808284808E828C828A828
|
||||
:10F8200008C828C828A80CC80C0C0C0C0808080824
|
||||
:10F830000C0C0C0C080C0808080810102020C02024
|
||||
:10F840002040804000000000000000008080808098
|
||||
:10F850008080808080808080808080808180158210
|
||||
:10F86000542A00801F0020202F202F282020252010
|
||||
:10F870002A2A2A2A27282120282F202F2827282B08
|
||||
:10F8800020272827282B2027202020202020202048
|
||||
:10F8900020202020202020204020404040401F20C9
|
||||
:10F8A0002010081005050505050505050908090AC4
|
||||
:10F8B000090A090A080A08080808080808080508C3
|
||||
:10F8C000020500020000000000000000000000002F
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
|
||||
:10F81000A828A8A848A88808284808E828C828A828
|
||||
:10F8200008C828C828A80CC80C0C0C0C0808080824
|
||||
:10F830000C0C0C0C080C0808080810102020C02024
|
||||
:10F840002040804000000000000000008080808098
|
||||
:10F850008080808080808080808080808180158210
|
||||
:10F86000542A00801F0020202F202F282020252010
|
||||
:10F870002A2A2A2A27282120282F202F2827282B08
|
||||
:10F8800020272827282B2027202020202020202048
|
||||
:10F8900020202020202020204020404040401F20C9
|
||||
:10F8A0002010081005050505050505050908090AC4
|
||||
:10F8B000090A090A080A08080808080808080508C3
|
||||
:10F8C000020500020000000000000000000000002F
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
|
||||
:10F81000A828A8A848A88808284808E828C828A828
|
||||
:10F8200008C828C828A80CC80C0C0C0C0808080824
|
||||
:10F830000C0C0C0C080C0808080810102020C02024
|
||||
:10F840002040804000000000000000008080808098
|
||||
:10F850008080808080808080808080808180158210
|
||||
:10F86000542A00801F0020202F202F282020252010
|
||||
:10F870002A2A2A2A27282120282F202F2827282B08
|
||||
:10F8800020272827282B2027202020202020202048
|
||||
:10F8900020202020202020204020404040401F20C9
|
||||
:10F8A0002010081005050505050505050908090AC4
|
||||
:10F8B000090A090A080A08080808080808080508C3
|
||||
:10F8C000020500020000000000000000000000002F
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
|
||||
:10F81000A828A8A848A88808284808E828C828A828
|
||||
:10F8200008C828C828A80CC80C0C0C0C0808080824
|
||||
:10F830000C0C0C0C080C0808080810102020C02024
|
||||
:10F840002040804000000000000000008080808098
|
||||
:10F850008080808080808080808080808180158210
|
||||
:10F86000542A00801F0020202F202F282020252010
|
||||
:10F870002A2A2A2A27282120282F202F2827282B08
|
||||
:10F8800020272827282B2027202020202020202048
|
||||
:10F8900020202020202020204020404040401F20C9
|
||||
:10F8A0002010081005050505050505050908090AC4
|
||||
:10F8B000090A090A080A08080808080808080508C3
|
||||
:10F8C000020500020000000000000000000000002F
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:00000001FF
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB |
@@ -1,258 +0,0 @@
|
||||
:020000040800F2
|
||||
:10F8000055AA0DF07FFFD5AB7DEA7F7E7F7FFF7F1E
|
||||
:10F81000FFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFF78
|
||||
:10F820007F7FBFBFDFBFEFDF0FEFEF0FAFAFAFAF38
|
||||
:10F83000EFEFAFAFAFAFAFAF0FEF6FEFAFAFAFAFB8
|
||||
:10F84000AFAF2FAFAFAFAFAFAFAF6FAF6FEFAFAF88
|
||||
:10F85000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB8
|
||||
:10F86000EF6FFF1FFDFFFAFDF7FAF7F7F7F7FAF76B
|
||||
:10F87000FAFAFAFAFAFAFAFAFAFAFAFAFAFAF0FAF2
|
||||
:10F88000F7F7EFEFDFEFBFDF80BFBF80AAAAAAAA1A
|
||||
:10F89000BFBFAAAAAAAAAAAA80BFB0BFADAFAAAA90
|
||||
:10F8A000ADAFA2AAADAAAAAFADAAB0AFB0BFAFAF7D
|
||||
:10F8B000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF58
|
||||
:10F8C000BFB0FFC00000000000000000000000000A
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF07FFFD5AB7DEA7F7E7F7FFF7F1E
|
||||
:10F81000FFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFF78
|
||||
:10F820007F7FBFBFDFBFEFDF0FEFEF0FAFAFAFAF38
|
||||
:10F83000EFEFAFAFAFAFAFAF0FEF6FEFAFAFAFAFB8
|
||||
:10F84000AFAF2FAFAFAFAFAFAFAF6FAF6FEFAFAF88
|
||||
:10F85000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB8
|
||||
:10F86000EF6FFF1FFDFFFAFDF7FAF7F7F7F7FAF76B
|
||||
:10F87000FAFAFAFAFAFAFAFAFAFAFAFAFAFAF0FAF2
|
||||
:10F88000F7F7EFEFDFEFBFDF80BFBF80AAAAAAAA1A
|
||||
:10F89000BFBFAAAAAAAAAAAA80BFB0BFADAFAAAA90
|
||||
:10F8A000ADAFA2AAADAAAAAFADAAB0AFB0BFAFAF7D
|
||||
:10F8B000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF58
|
||||
:10F8C000BFB0FFC00000000000000000000000000A
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF07FFFD5AB7DEA7F7E7F7FFF7F1E
|
||||
:10F81000FFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFF78
|
||||
:10F820007F7FBFBFDFBFEFDF0FEFEF0FAFAFAFAF38
|
||||
:10F83000EFEFAFAFAFAFAFAF0FEF6FEFAFAFAFAFB8
|
||||
:10F84000AFAF2FAFAFAFAFAFAFAF6FAF6FEFAFAF88
|
||||
:10F85000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB8
|
||||
:10F86000EF6FFF1FFDFFFAFDF7FAF7F7F7F7FAF76B
|
||||
:10F87000FAFAFAFAFAFAFAFAFAFAFAFAFAFAF0FAF2
|
||||
:10F88000F7F7EFEFDFEFBFDF80BFBF80AAAAAAAA1A
|
||||
:10F89000BFBFAAAAAAAAAAAA80BFB0BFADAFAAAA90
|
||||
:10F8A000ADAFA2AAADAAAAAFADAAB0AFB0BFAFAF7D
|
||||
:10F8B000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF58
|
||||
:10F8C000BFB0FFC00000000000000000000000000A
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000055AA0DF07FFFD5AB7DEA7F7E7F7FFF7F1E
|
||||
:10F81000FFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFF78
|
||||
:10F820007F7FBFBFDFBFEFDF0FEFEF0FAFAFAFAF38
|
||||
:10F83000EFEFAFAFAFAFAFAF0FEF6FEFAFAFAFAFB8
|
||||
:10F84000AFAF2FAFAFAFAFAFAFAF6FAF6FEFAFAF88
|
||||
:10F85000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFB8
|
||||
:10F86000EF6FFF1FFDFFFAFDF7FAF7F7F7F7FAF76B
|
||||
:10F87000FAFAFAFAFAFAFAFAFAFAFAFAFAFAF0FAF2
|
||||
:10F88000F7F7EFEFDFEFBFDF80BFBF80AAAAAAAA1A
|
||||
:10F89000BFBFAAAAAAAAAAAA80BFB0BFADAFAAAA90
|
||||
:10F8A000ADAFA2AAADAAAAAFADAAB0AFB0BFAFAF7D
|
||||
:10F8B000AFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAF58
|
||||
:10F8C000BFB0FFC00000000000000000000000000A
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:00000001FF
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 231 B |
@@ -1,258 +0,0 @@
|
||||
:020000040800F2
|
||||
:10F8000000000000000000000000000000000000F8
|
||||
:10F8100000000000000000000000000000000000E8
|
||||
:10F8200000000000000000000000000000000000D8
|
||||
:10F8300000000000000000000000000000000000C8
|
||||
:10F8400000000000000000000000000000000000B8
|
||||
:10F8500000000000000000000000000000000000A8
|
||||
:10F860000000000000000000000000000000000098
|
||||
:10F870000000000000000000000000000000000088
|
||||
:10F880000000000000000000000000000000000078
|
||||
:10F890000000000000000000000000000000000068
|
||||
:10F8A0000000000000000000000000000000000058
|
||||
:10F8B0000000000000000000000000000000000048
|
||||
:10F8C0000000000000000000000000000000000038
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000000000000000000000000000000000000F8
|
||||
:10F8100000000000000000000000000000000000E8
|
||||
:10F8200000000000000000000000000000000000D8
|
||||
:10F8300000000000000000000000000000000000C8
|
||||
:10F8400000000000000000000000000000000000B8
|
||||
:10F8500000000000000000000000000000000000A8
|
||||
:10F860000000000000000000000000000000000098
|
||||
:10F870000000000000000000000000000000000088
|
||||
:10F880000000000000000000000000000000000078
|
||||
:10F890000000000000000000000000000000000068
|
||||
:10F8A0000000000000000000000000000000000058
|
||||
:10F8B0000000000000000000000000000000000048
|
||||
:10F8C0000000000000000000000000000000000038
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000000000000000000000000000000000000F8
|
||||
:10F8100000000000000000000000000000000000E8
|
||||
:10F8200000000000000000000000000000000000D8
|
||||
:10F8300000000000000000000000000000000000C8
|
||||
:10F8400000000000000000000000000000000000B8
|
||||
:10F8500000000000000000000000000000000000A8
|
||||
:10F860000000000000000000000000000000000098
|
||||
:10F870000000000000000000000000000000000088
|
||||
:10F880000000000000000000000000000000000078
|
||||
:10F890000000000000000000000000000000000068
|
||||
:10F8A0000000000000000000000000000000000058
|
||||
:10F8B0000000000000000000000000000000000048
|
||||
:10F8C0000000000000000000000000000000000038
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:10F8000000000000000000000000000000000000F8
|
||||
:10F8100000000000000000000000000000000000E8
|
||||
:10F8200000000000000000000000000000000000D8
|
||||
:10F8300000000000000000000000000000000000C8
|
||||
:10F8400000000000000000000000000000000000B8
|
||||
:10F8500000000000000000000000000000000000A8
|
||||
:10F860000000000000000000000000000000000098
|
||||
:10F870000000000000000000000000000000000088
|
||||
:10F880000000000000000000000000000000000078
|
||||
:10F890000000000000000000000000000000000068
|
||||
:10F8A0000000000000000000000000000000000058
|
||||
:10F8B0000000000000000000000000000000000048
|
||||
:10F8C0000000000000000000000000000000000038
|
||||
:10F8D0000000000000000000000000000000000028
|
||||
:10F8E0000000000000000000000000000000000018
|
||||
:10F8F0000000000000000000000000000000000008
|
||||
:10F9000000000000000000000000000000000000F7
|
||||
:10F9100000000000000000000000000000000000E7
|
||||
:10F9200000000000000000000000000000000000D7
|
||||
:10F9300000000000000000000000000000000000C7
|
||||
:10F9400000000000000000000000000000000000B7
|
||||
:10F9500000000000000000000000000000000000A7
|
||||
:10F960000000000000000000000000000000000097
|
||||
:10F970000000000000000000000000000000000087
|
||||
:10F980000000000000000000000000000000000077
|
||||
:10F990000000000000000000000000000000000067
|
||||
:10F9A0000000000000000000000000000000000057
|
||||
:10F9B0000000000000000000000000000000000047
|
||||
:10F9C0000000000000000000000000000000000037
|
||||
:10F9D0000000000000000000000000000000000027
|
||||
:10F9E0000000000000000000000000000000000017
|
||||
:10F9F0000000000000000000000000000000000007
|
||||
:10FA000000000000000000000000000000000000F6
|
||||
:10FA100000000000000000000000000000000000E6
|
||||
:10FA200000000000000000000000000000000000D6
|
||||
:10FA300000000000000000000000000000000000C6
|
||||
:10FA400000000000000000000000000000000000B6
|
||||
:10FA500000000000000000000000000000000000A6
|
||||
:10FA60000000000000000000000000000000000096
|
||||
:10FA70000000000000000000000000000000000086
|
||||
:10FA80000000000000000000000000000000000076
|
||||
:10FA90000000000000000000000000000000000066
|
||||
:10FAA0000000000000000000000000000000000056
|
||||
:10FAB0000000000000000000000000000000000046
|
||||
:10FAC0000000000000000000000000000000000036
|
||||
:10FAD0000000000000000000000000000000000026
|
||||
:10FAE0000000000000000000000000000000000016
|
||||
:10FAF0000000000000000000000000000000000006
|
||||
:10FB000000000000000000000000000000000000F5
|
||||
:10FB100000000000000000000000000000000000E5
|
||||
:10FB200000000000000000000000000000000000D5
|
||||
:10FB300000000000000000000000000000000000C5
|
||||
:10FB400000000000000000000000000000000000B5
|
||||
:10FB500000000000000000000000000000000000A5
|
||||
:10FB60000000000000000000000000000000000095
|
||||
:10FB70000000000000000000000000000000000085
|
||||
:10FB80000000000000000000000000000000000075
|
||||
:10FB90000000000000000000000000000000000065
|
||||
:10FBA0000000000000000000000000000000000055
|
||||
:10FBB0000000000000000000000000000000000045
|
||||
:10FBC0000000000000000000000000000000000035
|
||||
:10FBD0000000000000000000000000000000000025
|
||||
:10FBE0000000000000000000000000000000000015
|
||||
:10FBF0000000000000000000000000000000000005
|
||||
:00000001FF
|
||||
7
Bootup Logo/README.md
Normal file
7
Bootup Logo/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Bootup logo's
|
||||
|
||||
IronOS supports both a bootup logo _AND_ bootup animations.
|
||||
|
||||
However, they are no longer included in this repo.
|
||||
|
||||
(Please read the docs)[../Documentation/Logo.md]
|
||||
@@ -1,241 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
from __future__ import division
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
try:
|
||||
from PIL import Image, ImageOps
|
||||
except ImportError as error:
|
||||
raise ImportError("{}: {} requres Python Imaging Library (PIL). "
|
||||
"Install with `pip` or OS-specific package "
|
||||
"management tool."
|
||||
.format(error, sys.argv[0]))
|
||||
|
||||
VERSION_STRING = '0.01'
|
||||
|
||||
LCD_WIDTH = 96
|
||||
LCD_HEIGHT = 16
|
||||
LCD_NUM_BYTES = LCD_WIDTH * LCD_HEIGHT // 8
|
||||
LCD_PADDED_SIZE = 1024
|
||||
|
||||
INTELHEX_DATA_RECORD = 0x00
|
||||
INTELHEX_END_OF_FILE_RECORD = 0x01
|
||||
INTELHEX_EXTENDED_LINEAR_ADDRESS_RECORD = 0x04
|
||||
INTELHEX_BYTES_PER_LINE = 16
|
||||
INTELHEX_MINIMUM_SIZE = 4096
|
||||
|
||||
|
||||
def split16(word):
|
||||
"""return high and low byte of 16-bit word value as tuple"""
|
||||
return (word >> 8) & 0xff, word & 0xff
|
||||
|
||||
|
||||
def intel_hex_line(record_type, offset, data):
|
||||
"""generate a line of data in Intel hex format"""
|
||||
# length, address offset, record type
|
||||
record_length = len(data)
|
||||
yield ':{:02X}{:04X}{:02X}'.format(record_length, offset, record_type)
|
||||
|
||||
# data
|
||||
for byte in data:
|
||||
yield "{:02X}".format(byte)
|
||||
|
||||
# compute and write checksum (now using unix style line endings for DFU3.45 compatibility
|
||||
yield "{:02X}\n".format((((sum(data, # sum data ...
|
||||
record_length # ... and other ...
|
||||
+ sum(split16(offset)) # ... fields ...
|
||||
+ record_type) # ... on line
|
||||
& 0xff) # low 8 bits
|
||||
^ 0xff) # two's ...
|
||||
+ 1) # ... complement
|
||||
& 0xff) # low 8 bits
|
||||
|
||||
|
||||
def intel_hex(file, bytes_, start_address=0x0):
|
||||
"""write block of data in Intel hex format"""
|
||||
def write(generator):
|
||||
file.write(''.join(generator))
|
||||
|
||||
if len(bytes_) % INTELHEX_BYTES_PER_LINE != 0:
|
||||
raise ValueError("Program error: Size of LCD data is not evenly divisible by {}"
|
||||
.format(INTELHEX_BYTES_PER_LINE))
|
||||
|
||||
address_lo = start_address & 0xffff
|
||||
address_hi = (start_address >> 16) & 0xffff
|
||||
|
||||
write(intel_hex_line(INTELHEX_EXTENDED_LINEAR_ADDRESS_RECORD, 0,
|
||||
split16(address_hi)))
|
||||
|
||||
size_written = 0
|
||||
while size_written < INTELHEX_MINIMUM_SIZE:
|
||||
offset = address_lo
|
||||
for line_start in range(0, len(bytes_), INTELHEX_BYTES_PER_LINE):
|
||||
write(intel_hex_line(INTELHEX_DATA_RECORD, offset,
|
||||
bytes_[line_start:line_start + INTELHEX_BYTES_PER_LINE]))
|
||||
size_written += INTELHEX_BYTES_PER_LINE
|
||||
if size_written >= INTELHEX_MINIMUM_SIZE:
|
||||
break
|
||||
offset += INTELHEX_BYTES_PER_LINE
|
||||
|
||||
write(intel_hex_line(INTELHEX_END_OF_FILE_RECORD, 0, ()))
|
||||
|
||||
|
||||
def img2hex(input_filename,
|
||||
output_file,
|
||||
preview_filename=None,
|
||||
threshold=128,
|
||||
dither=False,
|
||||
negative=False):
|
||||
"""
|
||||
Convert 'input_filename' image file into Intel hex format with data
|
||||
formatted for display on TS100 LCD and file object.
|
||||
Input image is converted from color or grayscale to black-and-white,
|
||||
and resized to fit TS100 LCD screen as necessary.
|
||||
Optionally write resized/thresholded/black-and-white preview image
|
||||
to file specified by name.
|
||||
Optional `threshold' argument 8 bit value; grayscale pixels greater than
|
||||
this become 1 (white) in output, less than become 0 (black).
|
||||
Unless optional `dither', in which case PIL grayscale-to-black/white
|
||||
dithering algorithm used.
|
||||
Optional `negative' inverts black/white regardless of input image type
|
||||
or other options.
|
||||
"""
|
||||
|
||||
try:
|
||||
image = Image.open(input_filename)
|
||||
except BaseException as e:
|
||||
raise IOError("error reading image file \"{}\": {}".format(input_filename, e))
|
||||
|
||||
# convert to luminance
|
||||
# do even if already black/white because PIL can't invert 1-bit so
|
||||
# can't just pass thru in case --negative flag
|
||||
# also resizing works better in luminance than black/white
|
||||
# also no information loss converting black/white to grayscale
|
||||
if image.mode != 'L':
|
||||
image = image.convert('L')
|
||||
|
||||
if image.size != (LCD_WIDTH, LCD_HEIGHT):
|
||||
image = image.resize((LCD_WIDTH, LCD_HEIGHT), Image.BICUBIC)
|
||||
|
||||
if negative:
|
||||
image = ImageOps.invert(image)
|
||||
threshold = 255 - threshold # have to invert threshold
|
||||
|
||||
if dither:
|
||||
image = image.convert('1')
|
||||
else:
|
||||
image = image.point(lambda pixel: 0 if pixel < threshold else 1, '1')
|
||||
|
||||
if preview_filename:
|
||||
image.save(preview_filename)
|
||||
|
||||
''' DEBUG
|
||||
for row in range(LCD_HEIGHT):
|
||||
for column in range(LCD_WIDTH):
|
||||
if image.getpixel((column, row)): sys.stderr.write('1')
|
||||
else: sys.stderr.write('0')
|
||||
sys.stderr.write('\n')
|
||||
'''
|
||||
|
||||
# pad to this size (also will be repeated in output Intel hex file)
|
||||
data = [0] * LCD_PADDED_SIZE
|
||||
|
||||
# magic/undocumented/required header in endian-reverse byte order
|
||||
data[0] = 0x55
|
||||
data[1] = 0xAA
|
||||
data[2] = 0x0D
|
||||
data[3] = 0xF0
|
||||
|
||||
# convert to TS100 LCD format
|
||||
for ndx in range(LCD_WIDTH * 16 // 8):
|
||||
bottom_half_offset = 0 if ndx < LCD_WIDTH else 8
|
||||
byte = 0
|
||||
for y in range(8):
|
||||
if image.getpixel((ndx % LCD_WIDTH, y + bottom_half_offset)):
|
||||
byte |= 1 << y
|
||||
# store in endian-reversed byte order
|
||||
data[4 + ndx + (1 if ndx % 2 == 0 else -1)] = byte
|
||||
|
||||
intel_hex(output_file, data, 0x0800F800)
|
||||
|
||||
|
||||
def parse_commandline():
|
||||
parser = argparse.ArgumentParser(
|
||||
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
|
||||
description="Convert image file for display on TS100 LCD "
|
||||
"at startup")
|
||||
|
||||
def zero_to_255(text):
|
||||
value = int(text)
|
||||
if not 0 <= value <= 255:
|
||||
raise argparse.ArgumentTypeError("must be integer from 0 to 255 ")
|
||||
return value
|
||||
|
||||
parser.add_argument('input_filename',
|
||||
help="input image file")
|
||||
|
||||
parser.add_argument('output_filename',
|
||||
help="output Intel hex file")
|
||||
|
||||
parser.add_argument('-p', '--preview',
|
||||
help="filename of image preview (same data as "
|
||||
"Intel hex file, as will appear on TS100 LCD)")
|
||||
|
||||
parser.add_argument('-n', '--negative',
|
||||
action='store_true',
|
||||
help="photo negative: exchange black and white "
|
||||
"in output")
|
||||
|
||||
parser.add_argument('-t', '--threshold',
|
||||
type=zero_to_255,
|
||||
default=128,
|
||||
help="0 to 255: gray (or color converted to gray) "
|
||||
"above this becomes white, below becomes black; "
|
||||
"ignored if using --dither")
|
||||
|
||||
parser.add_argument('-d', '--dither',
|
||||
action='store_true',
|
||||
help="use dithering (speckling) to convert gray or "
|
||||
"color to black and white")
|
||||
|
||||
parser.add_argument('-f', '--force',
|
||||
action='store_true',
|
||||
help="force overwriting of existing files")
|
||||
|
||||
parser.add_argument('-v', '--version',
|
||||
action='version',
|
||||
version="%(prog)s version " + VERSION_STRING,
|
||||
help="print version info")
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import argparse
|
||||
args = parse_commandline()
|
||||
|
||||
if os.path.exists(args.output_filename) and not args.force:
|
||||
sys.stderr.write("Won't overwrite existing file \"{}\" (use --force "
|
||||
"option to override)\n"
|
||||
.format(args.output_filename))
|
||||
sys.exit(1)
|
||||
|
||||
if args.preview and os.path.exists(args.preview) and not args.force:
|
||||
sys.stderr.write("Won't overwrite existing file \"{}\" (use --force "
|
||||
"option to override)\n"
|
||||
.format(args.preview))
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
with open(args.output_filename, 'w', newline='\r\n') as output:
|
||||
img2hex(args.input_filename,
|
||||
output,
|
||||
args.preview,
|
||||
args.threshold,
|
||||
args.dither,
|
||||
args.negative)
|
||||
except BaseException as error:
|
||||
sys.stderr.write("Error converting file: {}\n".format(error))
|
||||
sys.exit(1)
|
||||
38
Dockerfile
38
Dockerfile
@@ -1,31 +1,19 @@
|
||||
FROM ubuntu:20.04
|
||||
FROM alpine:3.15
|
||||
LABEL maintainer="Ben V. Brown <ralim@ralimtek.com>"
|
||||
|
||||
WORKDIR /build
|
||||
# Add extra mirrors for options
|
||||
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal main restricted universe multiverse" > /etc/apt/sources.list && \
|
||||
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
|
||||
echo "deb mirror://mirrors.ubuntu.com/mirrors.txt focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y ca-certificates
|
||||
# Install dependencies to build the firmware
|
||||
RUN apt-get install -y \
|
||||
make \
|
||||
bzip2 \
|
||||
git \
|
||||
python3 \
|
||||
python3-pip \
|
||||
clang-format \
|
||||
dfu-util \
|
||||
wget --no-install-recommends && \
|
||||
apt-get clean
|
||||
RUN python3 -m pip install bdflib
|
||||
# Download the two compilers
|
||||
RUN wget -qO- "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" | tar -xj
|
||||
# This is the same as the one from Nuclei, just mirrored on Github as their download server is horrifically slow
|
||||
RUN wget -qO- "https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2" | tar -xj
|
||||
# Installing the two compilers, python3, python3 pip, clang format
|
||||
# Compilders ->gcc-* newlib-*
|
||||
# Python3 -> py*
|
||||
# Misc -> findutils make git
|
||||
# musl-dev is required for the multi lang firmwares
|
||||
# clang is required for clang-format (for dev)
|
||||
|
||||
RUN apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git musl-dev clang bash clang-extra-tools
|
||||
|
||||
# Install Python3 packages
|
||||
|
||||
RUN python3 -m pip install bdflib black
|
||||
|
||||
# Add compiler to the path
|
||||
ENV PATH "/build/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH"
|
||||
ENV PATH "/build/gcc/bin/:$PATH"
|
||||
COPY . /build/source
|
||||
COPY ./ci /build/ci
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Debugging Menu
|
||||
|
||||
In this firmware there is extra debugging information hidden under an extra menu.
|
||||
This is accessed by holding the rear (B) button on the iron while it is on the home screen.
|
||||
This is accessed by holding the rear (-/B) button on the iron while it is on the home screen.
|
||||
|
||||
This menu is meant to be simple, so it has no fancy GUI animations.
|
||||
|
||||
To move through the menu use the front (A) button.
|
||||
To exit, use the rear (B) button again.
|
||||
To move through the menu use the front (+/A) button.
|
||||
To exit, use the rear (-/B) button again.
|
||||
|
||||
## Menu items
|
||||
|
||||
@@ -14,16 +14,16 @@ Items are shown in the menu on a single line, so they use short codes
|
||||
|
||||
### HW G
|
||||
|
||||
This indicates the High Water mark for the stack for the GUI thread. The smaller this number is, the less headroom we have in the stack.
|
||||
As this is a Highwater mater, you should only trust this once you have walked through all GUI options to "hit" the worst one.
|
||||
This indicates the high water mark for the stack for the GUI thread. The smaller this number is, the less headroom we have in the stack.
|
||||
As this is a high-water mater, you should only trust this once you have walked through all GUI options to "hit" the worst one.
|
||||
|
||||
### HW M
|
||||
|
||||
This indicates the High Water mark for the stack for the movement detection thread. The smaller this number is, the less headroom we have in the stack.
|
||||
This indicates the high water mark for the stack for the movement detection thread. The smaller this number is, the less headroom we have in the stack.
|
||||
|
||||
### HW P
|
||||
|
||||
This indicates the High Water mark for the stack for the PID thread. The smaller this number is, the less headroom we have in the stack.
|
||||
This indicates the high water mark for the stack for the PID thread. The smaller this number is, the less headroom we have in the stack.
|
||||
|
||||
### Time
|
||||
|
||||
@@ -31,28 +31,28 @@ This just shows how many deciseconds the unit has been powered for.
|
||||
|
||||
### Move
|
||||
|
||||
This is the last timestamp of movement. When the iron is moved this should update to match the Time field (one before in the menu).
|
||||
This is the last timestamp of movement. When the iron is moved this should update to match the time field (one before in the menu).
|
||||
This can be used for checking performance of the movement dection code.
|
||||
|
||||
### RTip
|
||||
|
||||
This is the raw tip reading in uV. This can be used when assessing the calibration routines for example.
|
||||
This is the raw tip reading in μV. This can be used when assessing the calibration routines for example.
|
||||
|
||||
### CTip
|
||||
|
||||
This is the tip temperature in deg C.
|
||||
This is the tip temperature in degrees Celsius.
|
||||
This can be used with RTip for assessing temperature processing performance.
|
||||
|
||||
### CHan
|
||||
|
||||
This is the handle temperature in C. This is used for cold junction compensation of the tip temp.
|
||||
This is shown in degrees C x10, so 200 == 20.0C
|
||||
This is the handle temperature in °C. This is used for cold junction compensation of the tip temperature.
|
||||
This is shown in degrees Celsius x10, so 200 == 20.0 °C
|
||||
|
||||
### Vin
|
||||
### Vin
|
||||
|
||||
The input voltage as read by the internal ADC. Can be used to sanity check its being read correctly.
|
||||
|
||||
### ACC
|
||||
### ACC
|
||||
|
||||
This indicates the accelerometer that is fitted inside the unit.
|
||||
|
||||
@@ -64,16 +64,35 @@ This indicates the accelerometer that is fitted inside the unit.
|
||||
- None detected -> running in fallback without movement detection
|
||||
- Scanning -> Still searching I2C for one
|
||||
|
||||
### PWR
|
||||
### PWR
|
||||
|
||||
This indicates the current power source for the iron.
|
||||
This may change during power up as the sources are negotiated in turn.
|
||||
|
||||
- **DC** input (dumb)
|
||||
- **QC** input (We used QC2/3 negotiation for current supply)
|
||||
- **PD** input (We used the PD subsystem to negotiate for the current supply)
|
||||
- **PD W. VBus** input (We used the PD subsystem to negotiate for the current supply); and VBus is connected to your input power source
|
||||
- **PD No VBus** input (We used the PD subsystem to negotiate for the current supply); and VBus is **NOT** connected to your input power source
|
||||
- If you successfully modified the Pinecil to support 24 V by cutting the trace line to Vbus, then 'PD No VBus' displays on screen.
|
||||
- Connect to any PD USB power to check Vbus status. It will not show any PD message when Pinecil is powered by DC port, QC, or USB 5 V (non PD).
|
||||
|
||||
### Max
|
||||
### Max
|
||||
|
||||
This indicates the max temp in C that the system estimates it can measure the tip reliably to.
|
||||
This indicates the max temperature in degrees Celsius that the system estimates it can measure the tip reliably to.
|
||||
This is dependant on a few factors including the handle temperature so it can move around during use.
|
||||
|
||||
### Hall
|
||||
|
||||
This appears if your device is capable of having a magnetic hall effect sensor installed (Pinecil).
|
||||
This shows the current field strength reading from the sensor. It can be used to check if the sensor is operational, and measure how strong the magnetic field is for diagnostics and optimal placement of magnets on a stand.
|
||||
|
||||
# PD Debug menu
|
||||
|
||||
On the Pinecil; if the iron is booted up while holding the front button (+); it will show an extra menu for inspecting USB-PD power adapters.
|
||||
|
||||
The menu navigates like the debug menu, where pressing (+) cycles through elements, and (-) will exit the menu.
|
||||
|
||||
First page shows the PD negotiation stage number; which can be used for diagnosing if PD is not working.
|
||||
After a few seconds or after PD negotiates (state above 5) it will show "No VBus" if the VBus mod is performed or "VBus" if the mod has not been done.
|
||||
|
||||
Once negotiation is complete; the other screens will show the advertised readings for voltage and current of the proposals.
|
||||
|
||||
@@ -20,54 +20,71 @@ Use the following steps to set up a build environment for IronOS on the command
|
||||
|
||||
1. [Follow steps 1 – 3 here to install the toolchain](https://github.com/glegrain/STM32-with-macOS#0---installing-the-toolchain) needed to compile for STM32 microcontrollers.
|
||||
2. Install `python`:
|
||||
|
||||
```
|
||||
brew install python
|
||||
```
|
||||
|
||||
3. (Optional) Update `pip` so it doesn't warn you about being out-of-date:
|
||||
|
||||
```
|
||||
python3 -m pip install --upgrade pip
|
||||
```
|
||||
|
||||
4. Change to the `source` directory:
|
||||
|
||||
```
|
||||
cd source
|
||||
```
|
||||
|
||||
5. Create a Python virtual environment for IronOS named `ironos-venv` to keep your Python installation clean:
|
||||
|
||||
```
|
||||
python3 -m venv ironos-venv
|
||||
```
|
||||
|
||||
6. Activate the Python virtual environment:
|
||||
|
||||
```
|
||||
source ironos-venv/bin/activate
|
||||
```
|
||||
|
||||
7. Install the dependencies required to run `make-translation.py`:
|
||||
|
||||
```
|
||||
pip install bdflib
|
||||
```
|
||||
|
||||
8. All done! See some examples below for how you can build your own IronOS.
|
||||
|
||||
### Examples
|
||||
|
||||
To build a single language Simplified Chinese firmware for the TS80P with 8 simultaneous jobs:
|
||||
To build a single language Simplified Chinese firmware for the TS80P with 8 simultaneous jobs:
|
||||
|
||||
```
|
||||
make -j8 model=TS80P firmware-ZH_CN
|
||||
```
|
||||
|
||||
To build a European multi-language firmware for the Pinecil with as many simultaneous jobs as there are logical processors on Linux:
|
||||
To build a European multi-language firmware for the Pinecil with as many simultaneous jobs as there are logical processors on Linux:
|
||||
|
||||
```
|
||||
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_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:
|
||||
|
||||
```
|
||||
make -j8 model=TS80 custom_multi_langs="EN ZH_CN" firmware-multi_Custom
|
||||
```
|
||||
|
||||
To build a custom compressed multi-language firmware including German, Spanish, and French for the TS100 (note if `model` is unspecified, it will default to `TS100`):
|
||||
To build a custom compressed multi-language firmware including German, Spanish, and French for the TS100 (note if `model` is unspecified, it will default to `TS100`):
|
||||
|
||||
```
|
||||
make -j8 custom_multi_langs="DE ES FR" firmware-multi_compressed_Custom
|
||||
```
|
||||
@@ -77,6 +94,7 @@ To build a release instead, run the `build.sh` script. This will update translat
|
||||
## Updating languages
|
||||
|
||||
To update the language translation files and their associated font maps, execute the `make_translation.py` code from the `Translations` directory.
|
||||
If you edit the translation definitions or the english translation, please also run `gen_menu_docs.py` to update the settings menu documentation automatically.
|
||||
|
||||
## Building Pinecil
|
||||
|
||||
|
||||
@@ -2,11 +2,17 @@
|
||||
|
||||
## Downloading source file
|
||||
|
||||
In the development of this firmware, there are three _types_ of firmware released.
|
||||
These are the "Main" stable releases, which generally have high confidence in being bug free.
|
||||
Release candidates are released slightly more often, and these are generally perfectly fine for everyday use. These are released early to allow for translation checking and for wonderful people to help spot bugs and regressions.
|
||||
Finally, there are the "mainline" builds, which are built from the main git branch.
|
||||
These are built on every change and can be found on the Actions tab (see below).
|
||||
|
||||
### Main release
|
||||
|
||||
Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases).
|
||||
Download the zip file that matches your model of soldering iron, and extract it.
|
||||
You then need to use the appropriate file type for your unit, in general Miniware irons are `.hex` and Pinecil is `.bin`.
|
||||
Select the appropriate file type for your unit, in general Miniware devices need `.hex` and Pinecil needs `.dfu`.
|
||||
Flash according to details below
|
||||
|
||||
### Bleeding edge / latest
|
||||
@@ -18,20 +24,20 @@ In general you probably want `master`.
|
||||
Once you click on a run, scroll down to the "Artifacts" section and then click on your model to download a zip file.
|
||||
Then this works the same as a production release (use the correct file).
|
||||
|
||||
## Miniware irons (TS100, TS80, TS80P)
|
||||
# Miniware devices (TS100, TS80, TS80P & MHP30)
|
||||
|
||||
This is completely safe, but if it goes wrong just put the .hex file from the [official website](http://www.miniware.com.cn/product-category/soldering-pen/electric-soldering-kit/) onto the unit and you're back to the old firmware. Downloads for the hex files to flash are available on the [releases page.](https://github.com/Ralim/IronOS/releases) The file you want is called _(MODEL)\_EN.hex_ unless you want the translations, they are (MODEL)\__language short name_.hex. Where (MODEL) is either TS100 or TS80.
|
||||
This is completely safe, but if it goes wrong just put the `.hex` file from the official website ([TS100](https://www.minidso.com/forum.php?mod=viewthread&tid=868&extra=page%3D1), [TS80](https://www.minidso.com/forum.php?mod=viewthread&tid=3202&extra=page%3D1), [TS80P](https://www.minidso.com/forum.php?mod=viewthread&tid=4070&extra=page%3D1) & [MHP30](https://www.minidso.com/forum.php?mod=viewthread&tid=4385&extra=page%3D1)) onto the unit and you're back to the old firmware. Downloads for the `.hex` files to flash are available on the [releases page.](https://github.com/Ralim/IronOS/releases) The file you want is called _(MODEL)\_EN.hex_ unless you want the translations, they are (MODEL)\__language short name_.hex. Where (MODEL) is either TS100 or TS80.
|
||||
|
||||
Officially the bootloader on the iron only works under Windows (use the built-in File Explorer, as alternative file managers or copy handlers like Teracopy will fail). However, users have reported that it does work under Mac, and can be made to work under Linux _sometimes_. Details over on the [wiki page](https://github.com/Ralim/ts100/wiki/Upgrading-Firmware).
|
||||
Officially the bootloader on the devices only works under Windows (use the built-in File Explorer, as alternative file managers or copy handlers like Teracopy will fail). However, users have reported that it does work under Mac, and can be made to work under Linux _sometimes_. Details over on the [wiki page](https://github.com/Ralim/ts100/wiki/Upgrading-Firmware).
|
||||
|
||||
1. Hold the button closest to the tip, and plug in the USB to the computer.
|
||||
1. Hold the button closest to the tip (MHP30 the left button on the back), and plug in the USB to the computer.
|
||||
2. The unit will appear as a USB drive. ( Screen will say `DFU` on it.)
|
||||
3. Drag the .hex file onto the USB drive.
|
||||
3. Drag the `.hex` file onto the USB drive.
|
||||
4. The unit will disconnect and reconnect.
|
||||
5. The filename will have changed to end in .RDY or .ERR
|
||||
6. If it ends with .RDY you're done! Otherwise, something went wrong.
|
||||
7. If it didn't work the first time, try copying the file again without disconnecting the iron, often it will work on the second shot.
|
||||
8. Disconnect the USB and power up the iron. You're good to go.
|
||||
5. The filename will have changed to end in *.RDY* or *.ERR*
|
||||
6. If it ends with *.RDY* you're done! Otherwise, something went wrong.
|
||||
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.
|
||||
|
||||
For the more adventurous out there, you can also load this firmware onto the device using an SWD programmer.
|
||||
|
||||
@@ -41,15 +47,15 @@ There is a complete device flash backup included in this repository. (Note this
|
||||
|
||||
For the TS80 the SWD pins are used for the QC negotiation, so you can actually connect to the SWD power via the USB connector.
|
||||
|
||||
# Mac
|
||||
## Mac
|
||||
|
||||
sgr1ff1n (Shane) commented in [issue 11](https://github.com/Ralim/ts100/issues/11) that upgrading worked on their Mac as per normal:
|
||||
|
||||
> I just wanted to say that I was able to update the firmware on my ts100 from the stock version to 1.08 found in this repository using my Mac. I simply followed the same steps however through Finder. I have a MacBook Pro (13-inch, Mid 2012) running Sierra 10.12.4 (16E195).
|
||||
|
||||
# Linux
|
||||
## Linux
|
||||
|
||||
While in past there were reports of unreliable upgrades, the consensus in [issue 11](https://github.com/Ralim/ts100/issues/11) is that things work mostly as expected in Linux.
|
||||
While in the past there were reports of unreliable upgrades, the consensus in [issue 11](https://github.com/Ralim/ts100/issues/11) is that things work mostly as expected in Linux.
|
||||
|
||||
@awigen has contributed a script [flash_ts100_linux.sh](https://raw.githubusercontent.com/Ralim/ts100/master/Flashing/flash_ts100_linux.sh) that works on Ubuntu 16.04 as well as other distros.
|
||||
|
||||
@@ -80,66 +86,142 @@ rmdir /tmp/mntdfu
|
||||
Device will reboot and automount will rerun if not disabled.
|
||||
Check the extension of your firmware, it should be `.RDY` now.
|
||||
|
||||
## Pinecil (Pine64)
|
||||
|
||||
The MCU used in the Pinecil supports usb-dfu.
|
||||
# Pinecil (Pine64)
|
||||
|
||||
To enter DFU mode, hold the button at the back of the iron while connecting to usb over usb-c.
|
||||
Generally all usb controllers work, but some hubs have issues so avoiding hubs may be best.
|
||||
- The MCU used in Pinecil supports usb-dfu. Reference [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil).
|
||||
- Recommended Updater: the [Pine64 Updater](https://github.com/pine64/pinecil-firmware-updater/releases), is an easy-to-use GUI app. It is fast and works in several types of OS, i.e. Windows/Mac. It will automatically fetch the newest stable version of IronOS from Github.
|
||||
- Troubleshooting: if you have issues using the Pine64 Updater or your install fails, please go to troubleshooting tips below.
|
||||
- Community chat: if troubleshooting doesn't work, then join the Pine64 > Pinecil channel. There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine volunteers/members can see advice for Pinecil and related items or just get tips on which Power supply to purchase.
|
||||
- One advantage of Pinecil is that you can not permanently damage it doing a firmware update (because DFU is in ROM); an update could render Pinecil temporarily inoperable if you flash an invalid firmware. But no worries, simply re-flashing with a working firmware copy will fix everything.
|
||||
- USB-C cable is required to do an update. Generally, all USB controllers work, but some hubs have issues so it is preferred to avoid USB hubs for updates.
|
||||
- Alternate Update Methods: if your OS is not currently supported by the [Updater](https://github.com/pine64/pinecil-firmware-updater/releases) or it does not meet your needs, i.e., you want to install a beta version, the below manual methods may be used.
|
||||
|
||||
Once the device is connected while holding the button, the screen will stay **off**.
|
||||
## Linux and Mac
|
||||
|
||||
This is normal, and then you can use the appropriate tool to load the .hex or .bin file as per your OS.
|
||||
### Steps
|
||||
|
||||
You can also refer to the Pine64 [Wiki](https://wiki.pine64.org/wiki/Pinecil).
|
||||
⛔ Do not use the DC power jack while updating firmware or you may destroy your PC. ⛔
|
||||
|
||||
### Linux and Mac
|
||||
|
||||
Using `dfu-util` you can flash the firmware using a command line as such:
|
||||
1. Download and extract the firmware package from Github [IronOS Releases](https://github.com/Ralim/IronOS/releases).
|
||||
2. Highly recommend updating `dfu-util` to the newest version.
|
||||
3. Enter DFU mode: press and hold (-) button at the back of the iron (do not release).
|
||||
4. Connect USB to PC, and USB-C to back of Pinecil, keep holding (-) button down.
|
||||
5. The screen will stay **black/off** to indicate the Pinecil is in DFU mode. This is normal.
|
||||
6. Once the USB cable is connected at two ends, wait 10 seconds more, then release the (-) button.
|
||||
7. Using `dfu-util` you can flash the firmware using a command line like this:
|
||||
|
||||
```
|
||||
dfu-util -D Pinecil_EN.dfu
|
||||
```
|
||||
|
||||
### Windows
|
||||
Choose the file name from the folder with the appropriate 2-letter country code for your chosen language (i.e, EN = English).
|
||||
|
||||
For windows the easiest tool to use is the vendors gui tool from [here](http://www.gd32mcu.com/download/down/document_id/176/path_type/1).
|
||||
### Troubleshooting:
|
||||
- If you get a message stating that `More than one DFU capable USB device found!` when running the above command you probably have an old version of `dfu-util` installed. Might be worth updating. You can still install on the old version, but you will have to specify which DFU interface to flash to. Running the command `dfu-util -l` will show you if there are several DFU devices detected. Example:
|
||||
```
|
||||
Found DFU: [28e9:0189] ver=0100, devnum=48, cfg=1, intf=0, path="1-1", alt=1, name="@Option Bytes /0x1FFFF800/01*016Be", serial="??"
|
||||
Found DFU: [28e9:0189] ver=0100, devnum=48, cfg=1, intf=0, path="1-1", alt=0, name="@Internal Flash /0x08000000/128*001Kg", serial="??"
|
||||
```
|
||||
In this example we see that more than one part of the Pinecil is detected as a DFU interface and we need to specify which one we want to flash to. We want the `Internal Flash` so in this case we can use `alt=0` to identify which interface to target. The command would then look like this:
|
||||
```
|
||||
dfu-util -D Pinecil_EN.dfu -a 0
|
||||
```
|
||||
- Note: if you use an older release of `dfu-util` and do not see `alt=0, name="@Internal Flash /0x08000000/128*001Kg"` when running `dfu-util -l` you likely will not be able to update without first updating 'dfu-util'.
|
||||
- If your update is crashing part-way into the update, there is sometimes an issue with older/fussy USB controllers (they can show up/disappear/then show up again)
|
||||
- Try a direct connection to the USB port, do not use a USB hub, and use shorter cable. If possible pick a port connected to the main board.
|
||||
- Switch to a different PC/Laptop and use different ports. USB-C ports are recommended but some have also reported having a fussy C port.
|
||||
- Hold down the (-) button for the entire firmware update, do not release until near the end.
|
||||
- `DC Low` message: a pc/laptop can not fully power pinecil, it generally can only get 5 V (non-PD) to communicate for firmware updates and Pinecil will report 'DC Low'. This is normal.
|
||||
|
||||
Should the link break, its called "GD32 MCU Dfu Tool" and can be grabbed from http://www.gd32mcu.com/en/download/.
|
||||
|
||||
You will also need the matching drivers from [here](http://www.gd32mcu.com/download/down/document_id/244/path_type/1) installed if you have not used gigadevice parts before.
|
||||
## Windows
|
||||
|
||||
These are called "GD32 Dfu Drivers" if the link breaks.
|
||||
Two Options for Windows
|
||||
|
||||
You can also use dfu-util if you wish to set it up, but that is better documented by others
|
||||
### Option 1: use command line
|
||||
|
||||
### FAQ
|
||||
### Steps
|
||||
|
||||
⛔ Do not use the DC power jack while updating firmware or you may destroy your PC. ⛔
|
||||
|
||||
1. Using command line `dfu-util` is similar to above for Linux / Mac.
|
||||
2. Highly recommend updating `dfu-util` to the newest version.
|
||||
3. Download and extract the firmware package from Github [IronOS Releases](https://github.com/Ralim/IronOS/releases).
|
||||
4. Enter DFU mode: press and hold (-) button at the back of the iron (do not release).
|
||||
5. Connect USB to PC, and USB-C to the back of Pinecil, keep holding (-) button down.
|
||||
6. Screen will stay **black/off** to indicate the Pinecil is in DFU mode. This is normal.
|
||||
7. After the USB cable is connected at both ends, wait ~10 seconds more, then release the (-) button.
|
||||
8. Open PowerShell or Command window.
|
||||
9. Change to the directory of the unzipped firmware files
|
||||
10. Using `dfu-util,` flash the firmware using a command like this:
|
||||
|
||||
```
|
||||
dfu-util -D Pinecil_EN.dfu
|
||||
```
|
||||
- If you have errors, see Troubleshooting [above](/Documentation/Flashing.md#troubleshooting).
|
||||
|
||||
|
||||
### Option 2: use the gui tool from chip vendor
|
||||
|
||||
### Steps
|
||||
|
||||
⛔ Do not use the DC power jack while updating firmware or you may destroy your PC. ⛔
|
||||
|
||||
1. If you are uncomfortable with the command line, then this chip vendor supplied gui tool/drivers is an option.
|
||||
2. Download and extract the firmware package from Github [IronOS Releases](https://github.com/Ralim/IronOS/releases).
|
||||
3. Download both the `GD32 MCU DFU TOOL` and the `GD32 Dfu Drivers`.
|
||||
- GD32 DFU Tool [here](http://www.gd32mcu.com/en/download?kw=GD32+MCU+Dfu+Tool&lan=en). If the link breaks, search for "GD32 MCU Dfu Tool" at this [link](http://www.gd32mcu.com/en/download/).
|
||||
- GD32 DFU Drivers [here](http://www.gd32mcu.com/en/download?kw=GD32+Dfu+Drivers&lan=en). If the link breaks, search for "GD32 Dfu Drivers" at this [link](http://www.gd32mcu.com/en/download/).
|
||||
- Check properties of both downloads, tick Unblock if needed, then Unzip
|
||||
4. Install the drivers and the GD32 DFU tool (ignore prompts to update the tool).
|
||||
5. Enter DFU mode: press and hold (-) button at the back of Pinecil (do not release).
|
||||
6. Connect Pinecil to a PC via USB cable (do not release the (-) yet).
|
||||
7. Screen will stay **black/off** to indicate the Pinecil is in DFU mode. This is normal.
|
||||
8. You may hear a beep from Windows as it connects to Pinecil in DFU mode.
|
||||
9. If you see windows notification that it `does not recognize Usb device`, then you didn't connect, repeat step 3-8.
|
||||
10. Open the GD32 DFU Tool (ignore prompts to update tool).
|
||||
11. At the top of the DFU tool, you should see `GD DFU DEVICE 1` appear if you successfully connected Pinecil.
|
||||
12. If DFU Device box at top is blank, then Pinecil is not connected in DFU mode, repeat steps 3-11.
|
||||
13. If it has been more than 10 seconds since you connected the USB cable, Release the (-) button. (don't use Upload from Device section)
|
||||
14. Select `Download to device` > Open > Browse to folder dyou unziped in step 2.
|
||||
15. Select the `hex` file for language. English is Pinecil_EN.hex , tick `Verify after download`.
|
||||
16. Click `OK` at bottom. After a few minutes you will see 0-100%, Download successfully! Click `Leave DFU` at the top.
|
||||
17. Disconnect pinecil cable from PC, plug it into a power supply.
|
||||
18. Do not need to press any buttons, a new screen should appear.
|
||||
19. To confirm upgrade, hold the minus (-) button down for a few seconds, it then shows new firmware version v2.xx.x....date
|
||||
|
||||
- If you have errors, see Troubleshooting [above](/Documentation/Flashing.md#troubleshooting).
|
||||
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
#### [Miniware] The file is showing up with the extension `.ERR`
|
||||
|
||||
This can occur during the programming process if any of the checks in the bootloader fail. This is often triggered by anti-virus software or using a non-windows host OS.
|
||||
This can occur during the programming process if any of the checks in the bootloader fail. This is often triggered by anti-virus software or using a non-Windows host OS.
|
||||
|
||||
First, try just copying the file a second time.
|
||||
|
||||
1. Attach the iron in DFU mode
|
||||
2. Copy the hex file to the device
|
||||
3. The device disconnects and connects with the `.ERR` file
|
||||
4. Copy the same hex file again **DO NOT TRY AND DELETE THE OLD ONE**
|
||||
5. The device will disconnect and reconnect again
|
||||
6. The device _should_ now have the `.RDY` file
|
||||
1. Attach the iron in DFU mode.
|
||||
2. Copy the `.hex` file to the device.
|
||||
3. The device disconnects and connects with the `.ERR` file.
|
||||
4. Copy the same `.hex` file again **⛔ DO NOT TRY AND DELETE THE OLD ONE ⛔**.
|
||||
5. The device will disconnect and reconnect again.
|
||||
6. The device _should_ now have the `.RDY` file.
|
||||
7. You're done.
|
||||
|
||||
If this fails and you are on Mac or Linux reading the wiki page about programming can help. There is also a very long issue thread going through all of the different attempts around this too.
|
||||
|
||||
If you are on windows, it's often best to try another computer (friends, work, partners etc).
|
||||
If you are on Windows, it's often best to try another computer (friends, work, partners etc).
|
||||
|
||||
#### [Miniware] Device randomly disconnects or does not show up in DFU mode
|
||||
|
||||
First, check the USB cable you are using has the data pins; test it on another device. There are a surprisingly large number of usb-micro cables that are power _only_.
|
||||
1. Check if the USB cable you are using has the data pins; test it on another device. There are a surprisingly large number of usb-micro cables that are power _only_.
|
||||
|
||||
Secondly, try other USB ports. Often different USB controllers will interact with the units differently due to design quirks in the miniware design.
|
||||
2. Try other USB ports. Often different USB controllers will interact with the units differently due to design quirks in the miniware design.
|
||||
|
||||
## [Miniware] Alternative bootloader
|
||||
### [Miniware] Alternative bootloader
|
||||
|
||||
If you are an advanced user, and you have used `usb-dfu` tools before, or you would like to learn; there is an alternative bootloader for these irons.
|
||||
This will **NOT** show up as a USB storage drive, but instead show up using a standard DFU protocol device. You can then use dfu tools or GUI's to upgrade the iron using the `.bin` files that are posted to the releases page.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Getting Started
|
||||
|
||||
Getting started with Iron OS on your Pinecil/TS80/TS80P/TS100.
|
||||
If your device did not come with Iron OS already installed, or if you need to update to the latest version; please see the [Flashing Guide](/Documentation/Flashing.md).
|
||||
Getting started with IronOS on your Pinecil/TS80/TS80P/TS100.
|
||||
If your device did not come with IronOS already installed, or if you need to update to the latest version; please see the [Flashing Guide](/Documentation/Flashing.md). 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.
|
||||
_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.
|
||||
@@ -18,7 +18,7 @@ By default this will show a screen similar to the one below:
|
||||
|
||||
Note that this may be drawn mirrored depending on the orientation of your screen.
|
||||
|
||||
The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the soldering iron will enter soldering mode.
|
||||
The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the iron will enter soldering mode.
|
||||
|
||||
And naturally, the spanner like icon represents that pressing the button near the rear of the soldering iron will enter the settings menu.
|
||||
|
||||
@@ -40,40 +40,43 @@ If you press and hold the button near the rear of the iron it will take you into
|
||||
|
||||
## Soldering Mode
|
||||
|
||||
When you press the button to enter into the soldering mode, the iron will instantly start to heat up the tip.
|
||||
When you press the button to enter the soldering mode, the iron will instantly start to heat up the tip.
|
||||
|
||||
The firmware defaults to 320C as the set point for the soldering mode, however on this screen you can enter into the adjustment screen by pressing either button.
|
||||
The firmware defaults to 320 °C as the set point for the soldering mode, however on this screen you can enter into the adjustment screen by pressing either button.
|
||||
|
||||
Pressing and holding the button near the tip will enter **boost** mode. This allows temporarily overriding the set temperature to a higher (or lower) value. This can be useful as a way to force the tip to a higher temperature to drive more wattage into a large joint when the thermal connection is not ideal.
|
||||
Pressing and holding the button near the tip will enter **Boost** mode. This allows a temporary override of the set temperature to a higher (or lower) value. This can be useful as a way to force the tip to a higher temperature to drive more wattage into a large joint when the thermal connection is not ideal.
|
||||
|
||||
Pressing and holding the rear button will exit soldering mode and land you back at the home screen. You can also do this by pressing both buttons at once and this will also work, this is a bit harder to do but is kept for compatibility with the Miniware firmware.
|
||||
|
||||
Pressing and holding **both** buttons at once will enter locked mode, which will prevent the buttons from doing anything. You can in the settings allow boost mode in locked mode optionally. This can be useful if you find yourself hitting the buttons and entering into the temperature adjustment screen by accident.
|
||||
|
||||
### Idle sleep
|
||||
### Idle Sleep
|
||||
|
||||
If the iron detects a period of time without any significant movement, it will enter into a sleep mode. This is indicated with a graphic on the screen similar to ZZzz (or text in detailed mode).
|
||||
If the iron detects a period of time without any significant movement, it will enter sleep mode. This is indicated with a screen graphic similar to Zzzz (or text in detailed mode).
|
||||
|
||||
In this mode, the temperature of the iron will automatically reduce down to a temperature just below the melting point of the solder. This helps reduce the rate of oxidation and damage to the iron tip.
|
||||
In Sleep mode, the temperature of the iron automatically lowers to 150 °C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. 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 picking up or moving the iron will wake it back up into soldering mode. You can also press any button and this will also wake the iron up.
|
||||
|
||||
The Pinecil has a footprint (unpopulated) on the PCB for a hall effect sensor (Si7210). If you fit this then iron will additionally force sleep when it detects a strong magnetic field near the tip of the plastic body. This allows attaching a strong magnet near your iron holder to ensure it always enters sleep.
|
||||
Optional Hall Effect Feature (Pinecil only):
|
||||
Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). Adding the sensor and placing a strong magnet on the holder stand will trigger Pinecil to sleep after it enters the stand, and Zzzz will appear on the screen. The magnet is positioned on the stand in proximity to the sensor which then activates one of 10 user defined settings (0=off, 1=lowest sensitivity, 9=highest sensitivity). Read the Hall Sensor document for details on [installation](/Documentation/HallSensor.md).
|
||||
|
||||
### Idle shutdown
|
||||
|
||||
If, after entering sleep mode the iron still does not see movement for a much longer time; it will shut down and return to the home screen.
|
||||
### Idle Shutdown
|
||||
|
||||
If, after entering sleep mode, the iron still does not see movement for a much longer time (default=10 minutes); it will shut down and return to the home screen.
|
||||
|
||||
|
||||
## Settings Menu
|
||||
|
||||
The settings menu is the most often evolving aspect of the firmware, so each option is not documented here. However, do not panic, as every menu option has a description so that you don't _need_ to come back here to figure them all out.
|
||||
The settings menu is the most often evolving aspect of the firmware, so each option is not documented here. However, do not panic, as every menu option has an on-screen description so you don't _need_ to come back here to figure them all out.
|
||||
|
||||
To navigate the menu, the two buttons act separately.
|
||||
The button that you pressed to enter the menu (rear) cycles down the options, and the other button (front) will change the current option.
|
||||
The button that you pressed to enter the menu (rear) scrolls down the options, and the other button (front) will enter and change the current option.
|
||||
|
||||
To see a description of an option, just pause and wait and after a little bit, it will scroll across the screen.
|
||||
To see a description of an option, just wait and after a little time, it will scroll across the screen.
|
||||
|
||||
The menu is comprised of a "main menu" of categories and then sub-items that allows you to adjust parameters.
|
||||
The menu is comprised of a 'main menu' of categories and then sub-items that allows you to adjust parameters.
|
||||
|
||||
You can long hold buttons to change through options faster, and there is some acceleration when holding the buttons.
|
||||
|
||||
@@ -81,4 +84,4 @@ There is a small scrollbar that will be shown along the edge of the screen to in
|
||||
|
||||
Additionally, this scrollbar will blink rapidly when you are on the last item in a menu choice.
|
||||
|
||||
I highly recommend taking a few minutes to go through all of the options in the menu to get a feel for what you can change, almost every aspect of the internal system is adjustable to suit you.
|
||||
I highly recommend taking a few minutes to go through all of the options in the menu to get a feel for what you can change, almost every aspect of the internal system is adjustable to suit your needs.
|
||||
|
||||
20
Documentation/HallSensor.md
Normal file
20
Documentation/HallSensor.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Hall Effect Sensor
|
||||
|
||||
## Sleep Mode Menu
|
||||
|
||||
In Sleep mode, the temperature of the iron automatically lowers to 150 °C (default), which is just below the melting point of the solder. This helps reduce rate of oxidation and damage to the iron tip. 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 will wake it back up into soldering mode. You can also press any button and this will also wake-up the iron.
|
||||
|
||||
### Optional Hall Effect Feature (Pinecil only):
|
||||
|
||||
Inside the Sleep Menu is an additional type of sleep setting. Pinecil has an unpopulated footprint (U14) for a hall effect sensor (Si7210). It is possible with the hall sensor to trigger Pinecil to go to sleep after it enters the stand, and Zzzz will appear on the screen. After installing the hall sensor, a magnet is positioned on the stand close enough to the sensor to activate one of ten user selectable settings.
|
||||
- 0=off, 1=1000, 2=750, 3=500, 4=250, 5=150, 6=100, 7=75, 8=50, 9=25 (9 has the highest sensitivity to magnets)
|
||||
- Setting of 1 might be used if you solder on PCBs with magnets and do not wish Pinecil to auto-sleep constantly. And a very strong/large magnet would be required on the stand to activate the sensor sleep mode.
|
||||
- Setting of 9 would be useful if you only had a small magnet and are not concerned about Pinecil falsely triggering sleep mode near magnetized items/tools.
|
||||
- Neodymium magnets are recommended. If using small magnets, 2-3 may be required, but too many can also be detrimental.
|
||||
- Actively watch the hall number change (in [debug menu](/Documentation/DebugMenu.md)) while you slowly move the magnet around to seek the best locations & whether you have too many or too few magnets. Positioning the magnet where you have the highest hall number will ensure consistent sleep mode when you place the iron in the stand. This requires some experimenting.
|
||||
- Sensor is physically located near the copper contacts for the tip at the front of the handle. Reference [Schematics U14](https://files.pine64.org/doc/Pinecil/Pinecil_schematic_v1.0a_20201120.pdf).
|
||||
- Positioning/type/quantity of magnets is important for best results. Sometimes [too many magnets](https://www.youtube.com/shorts/afkqKwCX00I) breaks the effect by distorting the magnetic field.
|
||||
- Orientation of North and South faces of magnets is important to increase reaction of the hall sensor [SI7210-B-00-IV](https://www.silabs.com/documents/public/application-notes/an1018-si72xx-sensors.pdf).
|
||||
|
||||
@@ -5,19 +5,22 @@ By default there is _not_ one included in the firmware, as this means that once
|
||||
|
||||
## Generating the Logo files
|
||||
|
||||
The [Python script](https://github.com/Ralim/ts100/blob/master/Bootup%20Logo/python_logo_converter/img2ts100.py) converts an image passed into it on the command line to a HEX file to be uploaded to the iron in DFU mode (similar to the process described above). The image can be in color and any size, but it will be resized and converted to 1-bit color. However, it looks best if you create a 96x16 image in an image editor and color the pixels black or white manually.
|
||||
The [Python script](https://github.com/Ralim/IronOS-Meta/blob/main/Bootup%20Logos/img2logo.py) converts an image passed into it on the command line to a `.hex` file or a `.dfu` to be uploaded to the iron in DFU mode (similar to the process described above). The image can be in color and any size, but it will be resized and converted to 1-bit color. However, it looks best if you create a 96x16 image in an image editor and color the pixels black or white manually.
|
||||
|
||||
There are community logo's already converted available for download in the releases in [IronOS-Meta](https://github.com/Ralim/IronOS-Meta/).
|
||||
|
||||
The converter requires at least Python 3 and Pillow (if you don't have it, it will tell you to install PIL, which is an old version of the same thing). See [this page](https://stackoverflow.com/a/20061019/6705343) on StackOverflow about installing it.
|
||||
|
||||
What works can vary, but this command may work:
|
||||
|
||||
`python3 -m pip install Pillow`
|
||||
`python3 -m pip install pillow`
|
||||
|
||||
Then, to convert an image:
|
||||
|
||||
`python3 img2ts100.py infile.png outfile.hex`
|
||||
- `python3 img2logo.py infile.png out -m` for Miniware
|
||||
- `python3 img2logo.py infile.png out -p` for Pinecil
|
||||
|
||||
Run `python3 img2ts100.py --help` to see available options.
|
||||
Run `python3 img2logo.py --help` to see available options.
|
||||
|
||||
## Flashing the Logo
|
||||
|
||||
@@ -26,15 +29,11 @@ Run `python3 img2ts100.py --help` to see available options.
|
||||
Upload the HEX file to the iron in DFU mode and, if the file's extension changes to .RDY, your custom splash screen should show up on startup.
|
||||
You perform this the same way as if you were flashing a new firmware, and all of the existing notes around this apply.
|
||||
|
||||
If you have flashed the `IronOS-dfu` alternative bootloader, you should use the `.dfu` files instead
|
||||
|
||||
### Pinecil
|
||||
|
||||
For the Pinecil, we require to flash the logo using dfu-util instead, which will only take `.bin` files rather than `.hex`.
|
||||
To flash the logo, use the following steps:
|
||||
For Pinecil, we require using dfu-util instead to flash the logo art (Pinecil does not use hex).
|
||||
Please see the [Meta repo](https://github.com/Ralim/IronOS-Meta) for the tooling for converting logo's as well as automatically generated logo's
|
||||
|
||||
|
||||
- `python3 img2ts100.py input.png logo.hex`
|
||||
- `riscv-nuclei-elf-objcopy -I ihex -O binary logo.hex logo.bin`
|
||||
- `dfu-util -d 28e9:0189 -a 0 -D logo.bin -s 0x0801F800`
|
||||
|
||||
This will use the objcopy tool to convert the hex to a binary file, and then use dfu-util to flash it in the right location.
|
||||
If you do not have `riscv-nuclei-elf-objcopy` installed, you can generally use any objcopy tool from any toolchain you do have.
|
||||
- `dfu-util -D logo_file.dfu`
|
||||
|
||||
@@ -22,7 +22,7 @@ Scrolling through the submenu will return you back to its entry location after y
|
||||
|
||||
### Calibrating input voltage
|
||||
|
||||
Due to the tolerance on the resistors used for the input voltage divider, some irons can be up to 0.6V out on the voltage measurement.
|
||||
Due to the tolerance on the resistors used for the input voltage divider, some irons can be up to 0.6 V out on the voltage measurement.
|
||||
Please calibrate your iron if you have any issues with the cutoff voltage.
|
||||
Note that cutoff messages can also be triggered by using a power supply that is too weak and fails under the load of the iron.
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Combining these two gives the common equation, power is `Volts (V) squared / Res
|
||||
The resistance of the tip is fixed, ~7.5 ohms for the TS100/Pinecil and ~4.5 ohms for the TS80(P).
|
||||
|
||||
This means that for both irons, the power delivered to the soldering tip is proportional to the voltage used, squared.
|
||||
This is why the TS100 performs poorly when run off 12V power supplies.
|
||||
This is why the TS100 performs poorly when run off 12 V power supplies.
|
||||
|
||||
## Output Control & Regulation
|
||||
|
||||
|
||||
314
Documentation/Settings.md
Normal file
314
Documentation/Settings.md
Normal file
@@ -0,0 +1,314 @@
|
||||
<!-- This is an automatically generated file. DO NOT EDIT. Edit gen_menu_docs.py instead -->
|
||||
|
||||
# IronOS Settings Menu
|
||||
|
||||
The below breaks down the menu's and what each setting means.
|
||||
|
||||
## Menu Categories
|
||||
|
||||
In the menu there are a few main categories that are used to keep the list manageable.
|
||||
|
||||
### Category: Power settings
|
||||
|
||||
Menu for settings related to power. Main settings to do with the input voltage.
|
||||
|
||||
### Category: Soldering settings
|
||||
|
||||
Settings for soldering mode, such as boost temps, the increment used when pressing buttons and if button locking is enabled.
|
||||
|
||||
### Category: Sleep mode
|
||||
|
||||
Settings to do with power saving, such as sleep mode, sleep temps, and shutdown modes.
|
||||
|
||||
### Category: User interface
|
||||
|
||||
User interface related settings, such as units.
|
||||
|
||||
### Category: Advanced settings
|
||||
|
||||
Advanced settings. Misc catchall for settings that don't fit anywhere else or settings that require some thought before use.
|
||||
|
||||
## Settings
|
||||
|
||||
These are all of the settings possible in the menu.
|
||||
**Not all settings are visible for all devices.**
|
||||
For example, the TS100 does not have USB-PD settings.
|
||||
|
||||
When using the device, if unsure you can pause (press nothing) on a setting and after a short delay help text will scroll across the screen.
|
||||
This is the "on device help text".
|
||||
|
||||
### Setting: Power source
|
||||
|
||||
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.
|
||||
|
||||
On device help text:
|
||||
|
||||
Power source. Sets cutoff voltage. (DC 10V) (S 3.3V per cell, disable power limit)
|
||||
|
||||
### Setting: Sleep temp
|
||||
|
||||
Temperature the device will drop down to while asleep. Typically around halfway between off and soldering temperature.
|
||||
|
||||
On device help text:
|
||||
|
||||
Tip temperature while in "sleep mode"
|
||||
|
||||
### Setting: Sleep timeout
|
||||
|
||||
How long of a period without movement / button-pressing is required before the device drops down to the sleep temperature.
|
||||
|
||||
On device help text:
|
||||
|
||||
Interval before "sleep mode" kicks in (S=seconds | M=minutes)
|
||||
|
||||
### Setting: Shutdown timeout
|
||||
|
||||
How long of a period without movement / button-pressing is required before the device turns off the tip heater completely and returns to the main idle screen.
|
||||
|
||||
On device help text:
|
||||
|
||||
Interval before the iron shuts down (M=minutes)
|
||||
|
||||
### Setting: Motion sensitivity
|
||||
|
||||
Scale of how sensitive the device is to movement. Higher numbers == more sensitive. 0 == motion detection turned off.
|
||||
|
||||
On device help text:
|
||||
|
||||
0=off | 1=least sensitive | ... | 9=most sensitive
|
||||
|
||||
### Setting: Temperature unit
|
||||
|
||||
If the device shows temperatures in °C or °F.
|
||||
|
||||
On device help text:
|
||||
|
||||
C=Celsius | F=Fahrenheit
|
||||
|
||||
### Setting: Detailed idle screen
|
||||
|
||||
Should the device show an 'advanced' view on the idle screen. The advanced view uses text to show more details than the typical icons.
|
||||
|
||||
On device help text:
|
||||
|
||||
Display detailed information in a smaller font on the idle screen
|
||||
|
||||
### Setting: Display orientation
|
||||
|
||||
If the display should rotate automatically or if it should be fixed for left- or right-handed mode.
|
||||
|
||||
On device help text:
|
||||
|
||||
R=right-handed | L=left-handed | A=automatic
|
||||
|
||||
### Setting: Boost temp
|
||||
|
||||
When the unit is in soldering mode. You can hold down the button at the front of the device to temporarily override the soldering temperature to this value. This SETS the temperature, it does not ADD to it.
|
||||
|
||||
On device help text:
|
||||
|
||||
Temperature used in "boost mode"
|
||||
|
||||
### Setting: Start-up behavior
|
||||
|
||||
When the device powers up, should it enter into a special mode. These settings set it to either start into soldering mode, sleeping mode or auto mode (Enters into soldering mode on the first movement).
|
||||
|
||||
On device help text:
|
||||
|
||||
O=off | S=soldering temp | Z=standby at sleep temp until moved | R=standby without heating until moved
|
||||
|
||||
### Setting: Cooldown flashing
|
||||
|
||||
If the idle screen should blink the tip temperature for attention while the tip is over 50°C. Intended as a 'tip is still hot' warning.
|
||||
|
||||
On device help text:
|
||||
|
||||
Flash the temperature reading after heating was halted while the tip is still hot
|
||||
|
||||
### Setting: Calibrate temperature?
|
||||
|
||||
Used to calibrate the ADC+Op-amp offsets for the tip. This calibration must be performed when the tip temperature and the handle temperature are equal. Generally not required unless your device is reading more than 5°C off target.
|
||||
|
||||
On device help text:
|
||||
|
||||
Start tip temperature offset calibration
|
||||
|
||||
### Setting: Restore factory settings?
|
||||
|
||||
Resets all settings and calibrations to factory defaults. Does NOT erase custom user boot up logo's.
|
||||
|
||||
On device help text:
|
||||
|
||||
Reset all settings to default
|
||||
|
||||
### Setting: Calibrate input voltage?
|
||||
|
||||
Enters an adjustment mode where you can gradually adjust the measured voltage to compensate for any unit-to-unit variance in the voltage sense resistors.
|
||||
|
||||
On device help text:
|
||||
|
||||
Start VIN calibration (long press to exit)
|
||||
|
||||
### Setting: Detailed solder screen
|
||||
|
||||
Should the device show an 'advanced' soldering view. This is a text-based view that shows more information at the cost of no nice graphics.
|
||||
|
||||
On device help text:
|
||||
|
||||
Display detailed information in a smaller font on soldering screen
|
||||
|
||||
### Setting: Scrolling speed
|
||||
|
||||
How fast the description text scrolls when hovering on a menu. Faster speeds may induce tearing, but allow reading the whole description faster.
|
||||
|
||||
On device help text:
|
||||
|
||||
Speed info text scrolls past at (S=slow | F=fast)
|
||||
|
||||
### Setting: QC voltage
|
||||
|
||||
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.
|
||||
|
||||
On device help text:
|
||||
|
||||
Max QC voltage the iron should negotiate for
|
||||
|
||||
### Setting: PD timeout
|
||||
|
||||
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.
|
||||
|
||||
On device help text:
|
||||
|
||||
PD negotiation timeout in 100ms steps for compatibility with some QC chargers
|
||||
|
||||
### Setting: Power limit
|
||||
|
||||
Allows setting a custom wattage for the device to aim to keep the AVERAGE power below. The unit can't control its peak power no matter how you set this. (Except for MHP30 which will regulate nicely to this). If USB-PD is in use, the limit will be set to the lower of this and the supplies advertised wattage.
|
||||
|
||||
On device help text:
|
||||
|
||||
Maximum power the iron can use (W=watt)
|
||||
|
||||
### Setting: Swap + - keys
|
||||
|
||||
Swaps which button increments and decrements on temperature change screens.
|
||||
|
||||
On device help text:
|
||||
|
||||
Reverse assignment of buttons for temperature adjustment
|
||||
|
||||
### Setting: Temp change short
|
||||
|
||||
Factor by which the temperature is changed with a quick press of the buttons.
|
||||
|
||||
On device help text:
|
||||
|
||||
Temperature-change-increment on short button press
|
||||
|
||||
### Setting: Temp change long
|
||||
|
||||
Factor by which the temperature is changed with a hold of the buttons.
|
||||
|
||||
On device help text:
|
||||
|
||||
Temperature-change-increment on long button press
|
||||
|
||||
### Setting: Power pulse
|
||||
|
||||
Enables and sets the wattage of the power pulse. Power pulse causes the device to briefly turn on the heater to draw power to avoid power banks going to sleep.
|
||||
|
||||
On device help text:
|
||||
|
||||
Intensity of power of keep-awake-pulse (watt)
|
||||
|
||||
### Setting: Hall sensor sensitivity
|
||||
|
||||
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.
|
||||
|
||||
On device help text:
|
||||
|
||||
Sensitivity of the Hall effect sensor to detect sleep (O=off | L=low | M=medium | H=high)
|
||||
|
||||
### Setting: Allow locking buttons
|
||||
|
||||
If locking the buttons against accidental presses is enabled.
|
||||
|
||||
On device help text:
|
||||
|
||||
While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)
|
||||
|
||||
### Setting: Minimum voltage
|
||||
|
||||
When powered by a battery, this adjusts the minimum voltage per cell before shutdown. (This is multiplied by the cell count.)
|
||||
|
||||
On device help text:
|
||||
|
||||
Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)
|
||||
|
||||
### Setting: Anim. loop
|
||||
|
||||
Should the menu animations loop. Only visible if the animation speed is not set to "Off"
|
||||
|
||||
On device help text:
|
||||
|
||||
Loop icon animations in main menu
|
||||
|
||||
### Setting: Anim. speed
|
||||
|
||||
How fast should the menu animations loop, or if they should not loop at all.
|
||||
|
||||
On device help text:
|
||||
|
||||
Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)
|
||||
|
||||
### Setting: Power pulse delay
|
||||
|
||||
Adjusts the time interval between power pulses. Longer gaps reduce undesired heating of the tip, but needs to be fast enough to keep your power bank awake.
|
||||
|
||||
On device help text:
|
||||
|
||||
Delay before keep-awake-pulse is triggered (x 2.5s)
|
||||
|
||||
### Setting: Power pulse duration
|
||||
|
||||
How long should the power pulse go for. Some power banks require seeing the power draw be sustained for a certain duration to keep awake. Should be kept as short as possible to avoid wasting power / undesired heating of the tip.
|
||||
|
||||
On device help text:
|
||||
|
||||
Keep-awake-pulse duration (x 250ms)
|
||||
|
||||
### Setting: Language: EN English
|
||||
|
||||
Changes the device language on multi-lingual builds.
|
||||
|
||||
On device help text:
|
||||
|
||||
Current firmware language
|
||||
|
||||
### Setting: Screen brightness
|
||||
|
||||
Display brightness. Higher values age the OLED faster due to burn-in. (However, it is notable that most of these screens die from other causes first.)
|
||||
|
||||
On device help text:
|
||||
|
||||
Adjust the brightness of the OLED screen
|
||||
|
||||
### Setting: Invert screen
|
||||
|
||||
Inverts the entire OLED.
|
||||
|
||||
On device help text:
|
||||
|
||||
Invert the colours of the OLED screen
|
||||
|
||||
### Setting: Boot logo duration
|
||||
|
||||
Sets the duration of the boot logo from 1 second to 4 seconds.
|
||||
- For static images this sets the time the logo is displayed for.
|
||||
- For animations this sets the time the last frame is displayed for after the animation has been played.
|
||||
|
||||
The infinity icon sets a logo or the last frame of an animation to be displayed until a button is pressed.
|
||||
|
||||
On device help text:
|
||||
|
||||
Sets the duration for the boot logo (S=seconds)
|
||||
@@ -15,7 +15,7 @@ This has some fairly large limitations, but it also has the benefit of being ext
|
||||
Conventionally a thermocouple is created using two dissimilar metals that join, and then the other ends of these metals are terminated to copper contacts. These copper contacts are also part of the construction of the thermocouple and are referred to as the cold junction.
|
||||
As there are these extra two joins between the thermocouple wires and the copper; these also have properties of their own in their reactions with temperature.
|
||||
|
||||
If the cold junction is held at 0 degree's C, then their effect is considered to be null, and so they can be ignored. However, in the real world the joins to copper are often at room temperature, and as such the measured voltage from the thermocouple must be compensated to remove the influence of these joints. This process is often called cold junction compensation.
|
||||
If the cold junction is held at 0 degrees Celsius, then their effect is considered to be null, and so they can be ignored. However, in the real world the joins to copper are often at room temperature, and as such the measured voltage from the thermocouple must be compensated to remove the influence of these joints. This process is often called cold junction compensation.
|
||||
|
||||
Every time in the circuit there is a join between two different metals, there is a small thermocouple created, this means that _every_ soldered connection is also one.
|
||||
|
||||
@@ -25,9 +25,9 @@ Every time in the circuit there is a join between two different metals, there is
|
||||
If you analyse one of the open circuit schematics (Pinecil, TS100, TS80) they all use the same approximate formula.
|
||||
This consists of an op-amp that is connected directly across the heating connections to the tip, and a separate handle temperature sensor.
|
||||
|
||||
When the iron is **not** heating the tip, the microcontroller uses the ADC to read the output from the op-amp. This produces a voltage that _should_ be linear to the temperature of (tip-handle). This value is then offset compensated (to remove ADC+op-amp offsets), and then converted into a temperature delta in C/K. This temperature delta can then be added to the handle temperature to derive the tip temperature in C.
|
||||
When the iron is **not** heating the tip, the microcontroller uses the ADC to read the output from the op-amp. This produces a voltage that _should_ be linear to the temperature of (tip-handle). This value is then offset compensated (to remove ADC+op-amp offsets), and then converted into a temperature delta in °C/K. This temperature delta can then be added to the handle temperature to derive the tip temperature in degrees Celsius.
|
||||
|
||||
Depending on the construction of the tip, the lookup values used for converting the tip reading in uV into degrees C/K varies. It is worth noting, however, that TS100 and Pinecil tips are approximately the same as the Hakko T12 tips. (In @Ralim's testing, to within measurement error). This makes sense as these tips are cheap and would have made an excellent design for Miniware to have cloned in making the TS100 in the first place.
|
||||
Depending on the construction of the tip, the lookup values used for converting the tip reading in µV into °C/K varies. It is worth noting, however, that TS100 and Pinecil tips are approximately the same as the Hakko T12 tips. (In @Ralim's testing, to within measurement error). This makes sense as these tips are cheap and would have made an excellent design for Miniware to have cloned in making the TS100 in the first place.
|
||||
|
||||
## Implications of this
|
||||
|
||||
@@ -43,7 +43,7 @@ The PID controller in the firmware is tuned to be slightly underdamped and thus
|
||||
|
||||
This is why sometimes the temperature may flick around a little during use but the tip temperature itself is quite stable. The thermal mass of the tip smooths these small amounts out nicely for the user. Though seeing larger jumps on some tips than others _may_ indicate that the tip does not have optimal internal thermal bonding between the heater coil and the tip itself.
|
||||
|
||||
The firmware uses the theory that these irons are more towards the power users territory than most, so it tries to not hide the actual temperature. What some soldering iron controllers do is that they hide the actual measurement once you are within a certain tolerance of this. For example, on a digital Weller unit Ralim has to hand, if set to 350C, it will regulate to within around +-3 C but not indicate you are outside of this bad until you exceed +-5C. This gives the illusion that it's holding the temperature perfectly when in actuality it's moving around as well.
|
||||
The firmware uses the theory that these irons are more towards the power users territory than most, so it tries to not hide the actual temperature. What some soldering iron controllers do is that they hide the actual measurement once you are within a certain tolerance of this. For example, on a digital Weller unit Ralim has to hand, if set to 350 °C, it will regulate to within around +-3 °C but not indicate you are outside of this bad until you exceed +-5 °C. This gives the illusion that it's holding the temperature perfectly when in actuality it's moving around as well.
|
||||
|
||||
Given enough time (3-5 seconds) with no external cooling, the inside and outside temperatures of the tip will be equal. When testing the tip temperature accuracy try to allow time for the system to stabilise.
|
||||
|
||||
@@ -53,6 +53,6 @@ The firmware in these irons does a best-effort of calculating an accurate temper
|
||||
|
||||
The firmware only accounts for cold junction compensation and then treats the remaining error as being a constant offset.
|
||||
While the error is small, it is actually composed of both a constant offset as well as an offset that is linear to the handle temperature.
|
||||
This offset that is linear to handle temperature is as of current not modelled into the firmware and there is assumed to be constant. This is generally "close enough" as once the unit is in use, the handle temperature is usually within 10C as the components inside warm-up from use. This means that this error is "relatively" constant once the unit is being used. However, this can cause odd behaviour when the tip temperature ~= room temperature. And can cause some jumping and movement in the readings when attempting to control the tip to sub 100C.
|
||||
This offset that is linear to handle temperature is as of current not modelled into the firmware and there is assumed to be constant. This is generally "close enough" as once the unit is in use, the handle temperature is usually within 10 °C as the components inside warm-up from use. This means that this error is "relatively" constant once the unit is being used. However, this can cause odd behaviour when the tip temperature ~= room temperature. And can cause some jumping and movement in the readings when attempting to control the tip to sub 100 °C.
|
||||
|
||||
This is a known tradeoff that is made as the irons intended use case means that it will spend most of its time above 150C, at which point these errors are no longer the dominant error sources in the system.
|
||||
This is a known tradeoff that is made as the irons intended use case means that it will spend most of its time above 150 °C, at which point these errors are no longer the dominant error sources in the system.
|
||||
|
||||
77
Documentation/Troubleshooting.md
Normal file
77
Documentation/Troubleshooting.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# Troubleshooting
|
||||
|
||||
If your device is not operating as expected; and you are within the manufacturer support window, please first contact your manufacturer and RMA / warranty your device.
|
||||
|
||||
If your iron is not working as expected, [the Debug menu](DebugMenu.md) exposes internal measurements to help you narrow down the root cause of the issue.
|
||||
|
||||
Alongside all of these, issues with the soldering of the main MCU could cause all of these as well; and should always be checked.
|
||||
|
||||
The tip is important for the operation of your iron. T100 and Pinecil tips are around 8 ohms, and TS80(P) tips are around 4.5 ohms.
|
||||
|
||||
You are welcome to open discussions about issues as well, or if you bought your Pinecil from an official store; use the Pinecil community chat for support.
|
||||
But it is helpful to do some basic diagnostics first just in case the issue is easily fixed.
|
||||
The **VAST** majority of issues are poor soldering or cold solder joints.
|
||||
If you can open up your iron, give it a good look at all the connection points, and use another iron to reflow any suspicious ones, can fix most issues.
|
||||
|
||||
## High tip temp reading when the tip is cool
|
||||
|
||||
If you are finding the tip is reading high; the first fields to check in the Debug menu are `RTip` and `CHan`.
|
||||
|
||||
- `RTip` is the raw tip reading in μV; at cool this should be around 700-1000 for Larger tips and ~1500 for smaller tips (TS80's)
|
||||
- `CHan` is the temperature of the temperature sensor on the PCB in degrees Celsius \* 10. So 29 °C ambient should read as 290
|
||||
|
||||
### RTip is out of spec
|
||||
|
||||
`RTip` will over-read on bad contacts or no tip inserted.
|
||||
|
||||
If `RTip` is overreading, you may have one of the following:
|
||||
|
||||
- Partially stuck on main MOSFET
|
||||
- Slow reacting main MOSFET driver transistor
|
||||
- Damaged op-amp
|
||||
- Poor soldering on the op-amp circuitry
|
||||
- No tip inserted or tip that is not connecting correctly
|
||||
|
||||
If `RTip` is under-reading you most likely have issues with the op-amp or the tip. The signal should be pulled high by hardware (reading hot), so this often means the MCU is not reading the signal correctly. Check MCU soldering.
|
||||
|
||||
### CHan is out of spec
|
||||
|
||||
CHan reading comes directly from the cold junction compensation temperature sensor.
|
||||
This is usually a TMP36, or an NTC thermistor (MHP30, TS80P).
|
||||
|
||||
If `CHan` is reading low:
|
||||
|
||||
- Check the connection from the MCU to the handle temperature sensor.
|
||||
- Check the power pin connection on the TMP36
|
||||
- Check pullup resistor on the NTC thermistor
|
||||
- Check no bridged pins or weak shorts on the signal to nearby pins on MCU or temp sensor
|
||||
|
||||
If `CHan` is reading higher
|
||||
|
||||
- Check ground connections on the sensors
|
||||
- Check no bridged pins or weak shorts on the signal to nearby pins on MCU or temp sensor
|
||||
|
||||
## No display OR dots on the display
|
||||
|
||||
If when you power up your iron you get no display, the first test is to (carefully) attempt to heat the tip.
|
||||
Press the front button on your device and check if the tip heads up.
|
||||
If the tip does not heat up, it is worth trying to reflash the firmware first in case it is corrupted.
|
||||
|
||||
The main failure mode of the OLED display module is usually poor soldering on the OLED display cable to the main PCB.
|
||||
As this is soldered by hand generally, it's the most prone to failures.
|
||||
|
||||
If you have a poor connection or a floating pin, you can end up with a state where the screen works _sometimes_ and then freezes or only works on some power cycles.
|
||||
|
||||
As the OLED runs on an I2C bus, there are pull up resistors on the SDA and SCL pins. It is worth checking these as well, while they don't often fail, issues with these can cause _weird_ display issues.
|
||||
|
||||
## Tip heats when not in heating mode
|
||||
|
||||
** DISCONNECT YOUR TIP **
|
||||
|
||||
Most likely you have either a blown MOSFET or shorted pin.
|
||||
Check the MOSFET and also its driver transistor.
|
||||
The firmware will not enable the tip until you are in soldering mode.
|
||||
|
||||
## Accelerometer not detected
|
||||
|
||||
This could be that your Iron has a new accelerometer that is not supported yet (happens every year or so) OR there is a soldering issue with the accelerometer
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 696 B |
@@ -1,7 +1,9 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# TS100 Flasher for Linux by Alex Wigen (https://github.com/awigen)
|
||||
# Jan 2021 - Update by Ysard (https://github.com/ysard)
|
||||
|
||||
DIR_TMP="/tmp/ts100"
|
||||
HEX_FIRMWARE="$DIR_TMP/ts100.hex"
|
||||
|
||||
usage() {
|
||||
echo
|
||||
@@ -69,13 +71,28 @@ mount_ts100() {
|
||||
}
|
||||
|
||||
umount_ts100() {
|
||||
if ! mountpoint "$DIR_TMP" > /dev/null && sudo umount "$DIR_TMP"; then
|
||||
if ! (mountpoint "$DIR_TMP" > /dev/null && sudo umount "$DIR_TMP"); then
|
||||
echo "Failed to unmount $DIR_TMP"
|
||||
exit 1
|
||||
fi
|
||||
rmdir "$DIR_TMP"
|
||||
}
|
||||
|
||||
check_flash() {
|
||||
RDY_FIRMWARE="${HEX_FIRMWARE%.*}.rdy"
|
||||
ERR_FIRMWARE="${HEX_FIRMWARE%.*}.err"
|
||||
if [ -f "$RDY_FIRMWARE" ]; then
|
||||
echo -e "\e[92mFlash is done\e[0m"
|
||||
echo "Disconnect the USB and power up the iron. You're good to go."
|
||||
elif [ -f "$ERR_FIRMWARE" ]; then
|
||||
echo -e "\e[91mFlash error; Please retry!\e[0m"
|
||||
else
|
||||
echo -e "\e[91mUNKNOWN error\e[0m"
|
||||
echo "Flash result: "
|
||||
ls "$DIR_TMP"/ts100*
|
||||
fi
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
enable_gautomount
|
||||
if [ -d "$DIR_TMP" ]; then
|
||||
@@ -109,7 +126,7 @@ echo "Found TS100 config disk device on $DEVICE"
|
||||
|
||||
mount_ts100
|
||||
echo "Mounted config disk drive, flashing..."
|
||||
cp -v "$1" "$DIR_TMP/ts100.hex"
|
||||
cp -v "$1" "$HEX_FIRMWARE"
|
||||
sync
|
||||
|
||||
echo "Waiting for TS100 to flash"
|
||||
@@ -119,6 +136,5 @@ echo "Remounting config disk drive"
|
||||
umount_ts100
|
||||
wait_for_ts100
|
||||
mount_ts100
|
||||
check_flash
|
||||
|
||||
echo "Flash result: "
|
||||
ls "$DIR_TMP"/ts100*
|
||||
|
||||
32
README.md
32
README.md
@@ -4,7 +4,7 @@
|
||||
|
||||
# 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 iron control firmware.
|
||||
|
||||
@@ -12,15 +12,21 @@ The firmware implements all of the standard features of a "smart" soldering iron
|
||||
I highly recommend reading the installation guide fully when installing on your iron. And after install just explore the settings menu.
|
||||
|
||||
For soldering irons that are designed to be powered by "smart" power sources (QC and PD), the firmware supports settings around the negotiated power and voltage.
|
||||
For soldering irons that are designed to be powered by batteries (TS100), settings for a cutoff voltage for battery protection are supported.
|
||||
For soldering irons that are designed to be powered by batteries (TS100 & Pinecil), settings for a cutoff voltage for battery protection are supported.
|
||||
|
||||
There are 25 languages currently supported as of present. When downloading the firmware for your soldering iron take note of the language code in the file name.
|
||||
There are 30 languages currently supported as of present. 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 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. Logos are edited using the tool or python script and uploaded in DFU mode._
|
||||
|
||||
To get started with this firmware, please jump over to [here](Documentation/GettingStarted.md)
|
||||
To get started with this firmware, please jump over to [here](Documentation/GettingStarted.md).
|
||||
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
|
||||
|
||||
For notes on installation for your device, please refer to the [Flashing Guide](Documentation/Flashing.md).
|
||||
|
||||
## Key Features
|
||||
|
||||
@@ -29,7 +35,7 @@ To get started with this firmware, please jump over to [here](Documentation/Gett
|
||||
- Motion wake support
|
||||
- All settings exposed in the intuitive menu
|
||||
- (TS100) Set a voltage lower limit for Lithium batteries so you don't kill your battery pack
|
||||
- (TS80) Set 18W or 24W settings for your power bank
|
||||
- (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
|
||||
- (Pinecil) Supports all 3 power modes (PD, QC, DC In).
|
||||
- Improved readability Fonts, supporting multiple languages
|
||||
@@ -41,21 +47,17 @@ To get started with this firmware, please jump over to [here](Documentation/Gett
|
||||
- [Custom boot up logo support](Documentation/Logo.md)
|
||||
- Automatic LCD rotation based on the orientation
|
||||
|
||||
## Installation
|
||||
|
||||
For notes on installation for your device, please refer to the [Flashing Guide](Documentation/Flashing.md).
|
||||
|
||||
## Menu System
|
||||
|
||||
This new firmware uses a new menu system to allow access to the settings on the device.
|
||||
When on the main screen, the unit shows a pair of prompts for the two most common operations.
|
||||
When on the main screen and having the tip plugged in, the unit shows a pair of prompts for the two most common operations.
|
||||
|
||||
- Pressing the button near the tip enters the soldering mode
|
||||
- Pressing the button near the USB enters the settings menu
|
||||
- Holding the button near the tip will enter soldering temperature adjust mode (This is the same as the one in the soldering menu, just to let you edit before heating up)
|
||||
- Holding the button near the USB end will show the [debug menu](Documentation/DebugMenu.md)
|
||||
- Pressing the button near the tip enters the *soldering mode*
|
||||
- Pressing the button near the USB end enters the *settings menu*
|
||||
- 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.
|
||||
- Holding down the button near the USB end will show the *[debug menu](Documentation/DebugMenu.md).* In *soldering mode* this ends the heating.
|
||||
|
||||
Detailed operation details are over in the [Menu information.](Documentation/Menu.md)
|
||||
Operation details are over in the [Menu information.](Documentation/Menu.md)
|
||||
|
||||
## Thanks
|
||||
|
||||
|
||||
@@ -1,282 +1,491 @@
|
||||
<!doctype html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<script src="translations_commons.js"></script>
|
||||
<title>TS100 Bitmap Editor</title>
|
||||
<style>
|
||||
.matrix {
|
||||
display: inline-block;
|
||||
padding: 0px 0px 1px 1px ;
|
||||
background-color: #666;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.matrix * {
|
||||
font-size:0;
|
||||
}
|
||||
.c {
|
||||
margin:1px 1px 0px 0px;
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
height:10px;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.x {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.header {
|
||||
}
|
||||
|
||||
.data input, .data textarea {
|
||||
margin-top: 1em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.actions {
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
|
||||
var ink, pressed, ev;
|
||||
function mousedown(e) {
|
||||
c = window.event.target;
|
||||
classes = c.className.split(" ");
|
||||
if (classes.indexOf("c")<0) {
|
||||
return;
|
||||
}
|
||||
ink = classes.indexOf("x")<0;
|
||||
pressed = true;
|
||||
ev = e;
|
||||
enter(e);
|
||||
}
|
||||
|
||||
function mouseup(e) {
|
||||
ev = e;
|
||||
pressed = false;
|
||||
}
|
||||
|
||||
function enter(e) {
|
||||
if (!pressed) {
|
||||
return;
|
||||
}
|
||||
ev = e;
|
||||
c = window.event.target;
|
||||
paint(c, ink);
|
||||
stringFromMatrix();
|
||||
}
|
||||
<head>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<script src="translations_commons.js"></script>
|
||||
<title>TS100 Bitmap Editor</title>
|
||||
<style id="styles">
|
||||
.matrix {
|
||||
display: inline-block;
|
||||
padding: 0px 0px 1px 1px;
|
||||
background-color: #666;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
function paint(c, ink) {
|
||||
var cellInk = isInk(c);
|
||||
if (ink) {
|
||||
if (!cellInk) {
|
||||
c.className += " x";
|
||||
}
|
||||
} else {
|
||||
if (cellInk) {
|
||||
c.className = "c";
|
||||
}
|
||||
}
|
||||
}
|
||||
.matrix * {
|
||||
font-size: 0;
|
||||
}
|
||||
.r {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.c {
|
||||
margin: 1px 1px 0px 0px;
|
||||
display: inline-block;
|
||||
background-color: #fff;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
function isInk(c) {
|
||||
try {
|
||||
var classes = c.className.split(" ");
|
||||
return classes.indexOf("x") >= 0;
|
||||
} catch(e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getMatrix() {
|
||||
return document.getElementById("matrix");
|
||||
}
|
||||
|
||||
function getCoordinatesFromId(str) {
|
||||
i = str.indexOf('_');
|
||||
return {
|
||||
row: parseInt(str.substring(1, i)),
|
||||
col: parseInt(str.substring(i+1))
|
||||
}
|
||||
}
|
||||
.x {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
function clearMatrix() {
|
||||
for (var r = 0; r < app.matrix.rows; r++) {
|
||||
for (var c = 0; c < app.matrix.cols; c++) {
|
||||
paint(getCell(r, c), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getCell(row, col) {
|
||||
return document.getElementById("C"+row+"_"+col);
|
||||
}
|
||||
|
||||
function toMatrix(str) {
|
||||
app.encodedData = str;
|
||||
clearMatrix();
|
||||
var strs = str.split(/[ ,]/);
|
||||
var pair = false;
|
||||
var c = 0;
|
||||
var rs = 7;
|
||||
for (var i = 0; i<strs.length; i++) {
|
||||
var d = strs[i];
|
||||
if (d.length > 0) {
|
||||
if (startsWith(d, "0x")) {
|
||||
v = parseInt(d.substring(2), 16);
|
||||
} else {
|
||||
v = parseInt(d);
|
||||
}
|
||||
sv = padLeft(v.toString(2), "0", 8);
|
||||
for (r = 0; r < 8; r++) {
|
||||
paint(getCell(rs - r, c), sv.charAt(r) == '1');
|
||||
}
|
||||
c++;
|
||||
if (c >= app.matrix.cols) {
|
||||
c = 0;
|
||||
rs += 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
stringFromMatrix(true, false);
|
||||
}
|
||||
|
||||
function escapedToMatrix(str) {
|
||||
app.encodedEscapeSequence = str;
|
||||
clearMatrix();
|
||||
var strs = str.split("\\x");
|
||||
var c = 0;
|
||||
var rs = 7;
|
||||
for (var i = 0; i<strs.length; i++) {
|
||||
var d = strs[i];
|
||||
if (d.length > 0) {
|
||||
v = parseInt(d, 16);
|
||||
sv = padLeft(v.toString(2), "0", 8);
|
||||
for (r = 0; r < 8; r++) {
|
||||
paint(getCell(rs - r, c), sv.charAt(r) == '1');
|
||||
}
|
||||
c++;
|
||||
if (c >= app.matrix.cols) {
|
||||
c = 0;
|
||||
rs += 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
stringFromMatrix(false, true);
|
||||
}
|
||||
.header {
|
||||
}
|
||||
|
||||
function stringFromMatrix(skipEncodedData, skipEncodedEscapeSequence) {
|
||||
var str = "";
|
||||
var strEscaped = "";
|
||||
var delim = "";
|
||||
var blocks = app.matrix.rows / 8;
|
||||
var rs = 7;
|
||||
for (var block = 0; block < blocks; block++) {
|
||||
for (var c = 0; c < app.matrix.cols; c++) {
|
||||
var b = 0;
|
||||
for (var r = 0; r < 8; r++) {
|
||||
var cell = document.getElementById("C"+(rs-r)+"_"+c);
|
||||
if (isInk(cell)) {
|
||||
b |= (1 << (7-r));
|
||||
}
|
||||
}
|
||||
str += delim + "0x" + padLeft(b.toString(16).toUpperCase(), "0", 2);
|
||||
strEscaped += "\\x" + padLeft(b.toString(16).toUpperCase(), "0", 2);
|
||||
delim = ",";
|
||||
}
|
||||
rs += 8;
|
||||
}
|
||||
if (!skipEncodedData) {
|
||||
app.encodedData = str;
|
||||
}
|
||||
if (!skipEncodedEscapeSequence) {
|
||||
app.encodedEscapeSequence = strEscaped;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
function start() {
|
||||
app = new Vue({
|
||||
el : '#app',
|
||||
data : {
|
||||
matrix: {
|
||||
cols: 12,
|
||||
rows: 16
|
||||
},
|
||||
type: "big",
|
||||
encodedData: "",
|
||||
encodedEscapeSequence: "",
|
||||
},
|
||||
methods : {
|
||||
VtoMatrix : function(val) {
|
||||
toMatrix(val);
|
||||
},
|
||||
escapedToMatrix : function(val) {
|
||||
escapedToMatrix(val);
|
||||
},
|
||||
|
||||
VchangeSize : function() {
|
||||
if (app.type == "big") {
|
||||
app.matrix.cols = 12;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "small") {
|
||||
app.matrix.cols = 6;
|
||||
app.matrix.rows = 8;
|
||||
} else if (app.type == "icon") {
|
||||
app.matrix.cols = 16;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "icon24") {
|
||||
app.matrix.cols = 24;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "screen") {
|
||||
app.matrix.cols = 84;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "fullscreen") {
|
||||
app.matrix.cols = 96;
|
||||
app.matrix.rows = 16;
|
||||
}
|
||||
stringFromMatrix();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
toMatrix("0x00,0xF0,0x08,0x0E,0x02,0x02,0x02,0x02,0x0E,0x08,0xF0,0x00,0x00,0x3F,0x40,0x5C,0x5C,0x5C,0x5C,0x5C,0x5C,0x40,0x3F,0x00");
|
||||
}
|
||||
.data input,
|
||||
.data textarea {
|
||||
margin-top: 1em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
window.onload=start;
|
||||
</script>
|
||||
.actions {
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
var ink, pressed, ev;
|
||||
function mousedown(e) {
|
||||
c = window.event.target;
|
||||
classes = c.className.split(" ");
|
||||
if (classes.indexOf("c") < 0) {
|
||||
return;
|
||||
}
|
||||
ink = classes.indexOf("x") < 0;
|
||||
pressed = true;
|
||||
ev = e;
|
||||
enter(e);
|
||||
}
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="header">
|
||||
<select v-model="type" v-on:change="VchangeSize()">
|
||||
<option value="small">Small Font (6x8)</option>
|
||||
<option value="big">Big Font (12x16)</option>
|
||||
<option value="icon">Icon (16x16)</option>
|
||||
<option value="icon24">Icon (24x16)</option>
|
||||
<option value="screen">Screen (84x16)</option>
|
||||
<option value="fullscreen">Full Screen (96x16)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="matrix" class="matrix" onmousedown="mousedown(this)" onmouseup="mouseup(this)" ondragstart="return false">
|
||||
<div :id="'R'+(r-1)" class="r" v-for="r in matrix.rows">
|
||||
<div :id="'C'+(r-1)+'_'+(c-1)" class="c" onmouseenter="enter(this)" v-for="c in matrix.cols"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<input type="button" value="Clear" onclick="clearMatrix();stringFromMatrix()">
|
||||
</div>
|
||||
<div class="data">
|
||||
<textarea v-model="encodedData" style="width:100%" v-on:change="VtoMatrix(encodedData)" rows=5></textarea>
|
||||
<textarea v-model="encodedEscapeSequence" style="width:100%" v-on:change="escapedToMatrix(encodedEscapeSequence)" rows=5></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
function mouseup(e) {
|
||||
ev = e;
|
||||
pressed = false;
|
||||
}
|
||||
|
||||
function enter(e) {
|
||||
if (!pressed) {
|
||||
return;
|
||||
}
|
||||
ev = e;
|
||||
c = window.event.target;
|
||||
paint(c, ink);
|
||||
stringFromMatrix();
|
||||
}
|
||||
|
||||
function paint(c, ink) {
|
||||
var cellInk = isInk(c);
|
||||
if (ink) {
|
||||
if (!cellInk) {
|
||||
c.className += " x";
|
||||
}
|
||||
} else {
|
||||
if (cellInk) {
|
||||
c.className = "c";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isInk(c) {
|
||||
try {
|
||||
var classes = c.className.split(" ");
|
||||
return classes.indexOf("x") >= 0;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getMatrix() {
|
||||
return document.getElementById("matrix");
|
||||
}
|
||||
|
||||
function getCoordinatesFromId(str) {
|
||||
i = str.indexOf("_");
|
||||
return {
|
||||
row: parseInt(str.substring(1, i)),
|
||||
col: parseInt(str.substring(i + 1)),
|
||||
};
|
||||
}
|
||||
|
||||
function clearMatrix() {
|
||||
for (var r = 0; r < app.matrix.rows; r++) {
|
||||
for (var c = 0; c < app.matrix.cols; c++) {
|
||||
paint(getCell(r, c), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function invertMatrix() {
|
||||
for (var r = 0; r < app.matrix.rows; r++) {
|
||||
for (var c = 0; c < app.matrix.cols; c++) {
|
||||
cell = getCell(r, c);
|
||||
if (isInk(cell) == true) paint(cell, false);
|
||||
else paint(cell, true);
|
||||
}
|
||||
}
|
||||
stringFromMatrix();
|
||||
}
|
||||
|
||||
function getCell(row, col) {
|
||||
return document.getElementById("C" + row + "_" + col);
|
||||
}
|
||||
|
||||
function toMatrix(str) {
|
||||
app.encodedData = str;
|
||||
clearMatrix();
|
||||
var strs = str.split(/[ ,]/);
|
||||
var pair = false;
|
||||
var c = 0;
|
||||
var rs = 7;
|
||||
for (var i = 0; i < strs.length; i++) {
|
||||
var d = strs[i];
|
||||
if (d.length > 0) {
|
||||
if (startsWith(d, "0x")) {
|
||||
v = parseInt(d.substring(2), 16);
|
||||
} else {
|
||||
v = parseInt(d);
|
||||
}
|
||||
sv = padLeft(v.toString(2), "0", 8);
|
||||
for (r = 0; r < 8; r++) {
|
||||
paint(getCell(rs - r, c), sv.charAt(r) == "1");
|
||||
}
|
||||
c++;
|
||||
if (c >= app.matrix.cols) {
|
||||
c = 0;
|
||||
rs += 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
stringFromMatrix(true, false);
|
||||
}
|
||||
|
||||
function escapedToMatrix(str) {
|
||||
app.encodedEscapeSequence = str;
|
||||
clearMatrix();
|
||||
var strs = str.split("\\x");
|
||||
var c = 0;
|
||||
var rs = 7;
|
||||
for (var i = 0; i < strs.length; i++) {
|
||||
var d = strs[i];
|
||||
if (d.length > 0) {
|
||||
v = parseInt(d, 16);
|
||||
sv = padLeft(v.toString(2), "0", 8);
|
||||
for (r = 0; r < 8; r++) {
|
||||
paint(getCell(rs - r, c), sv.charAt(r) == "1");
|
||||
}
|
||||
c++;
|
||||
if (c >= app.matrix.cols) {
|
||||
c = 0;
|
||||
rs += 8;
|
||||
}
|
||||
}
|
||||
}
|
||||
stringFromMatrix(false, true);
|
||||
}
|
||||
|
||||
// Rather than trying to figure these crazy cells/matrix, we just
|
||||
// slurp up the encoded string at the end. It's updated on every
|
||||
// pixl change, redraw, and load so just slipping into
|
||||
// stringFromMatrix is tacky, but seemss to catch all our refreshes.
|
||||
//
|
||||
// The string is CSV hex, with the first byte being the first column,
|
||||
// and bit zero being the UL corner. Second byte is second column, etc.
|
||||
// app.matrix.{cols,rows} is set by the drawing code to size the
|
||||
// image for a character, an icon, or the full screen image. This
|
||||
// code adapts resizing from that.
|
||||
// INVERT is handled by the code above us, our fill/clearRect handles
|
||||
// that.
|
||||
function updateCanvas(buf) {
|
||||
// Number of squared canvas pixels to image pixels;
|
||||
var scale = 1;
|
||||
|
||||
var c = document.getElementById("myCanvas");
|
||||
var context = c.getContext("2d");
|
||||
context.fillRect(0, 0, c.width, c.height);
|
||||
|
||||
if (c.width != app.matrix.cols || c.height != app.matrix.rows) {
|
||||
c.width = app.matrix.cols * scale;
|
||||
c.height = app.matrix.rows * scale;
|
||||
}
|
||||
context.clearRect(0, 0, c.width, c.height);
|
||||
|
||||
var a = buf.split(",");
|
||||
var x = 0;
|
||||
var y = 0;
|
||||
|
||||
for (var e = 0; e < a.length; e++) {
|
||||
byte = parseInt(a[e], 16);
|
||||
for (var bit = 0; bit < 8; bit++) {
|
||||
// debug.innerHTML+= e + ": " + x + "/" + y + " " + a.length + "</br>";
|
||||
// debug.innerHTML+= app.matrix.cols + "</br>";
|
||||
if (x > c.cols) {
|
||||
throw "write past right of canvas";
|
||||
}
|
||||
if (x > c.rows) {
|
||||
throw "write past bottom of canvas";
|
||||
}
|
||||
if (byte & (1 << bit)) {
|
||||
// FillRect give better B&W image
|
||||
if (scale > 1) {
|
||||
context.moveTo(x, y);
|
||||
context.lineWidth = scale;
|
||||
context.lineTo(x + scale, y);
|
||||
} else {
|
||||
context.beginPath();
|
||||
context.fillRect(x, y, 1, 1);
|
||||
context.fill();
|
||||
}
|
||||
}
|
||||
y += scale;
|
||||
}
|
||||
y -= 8 * scale;
|
||||
x += scale;
|
||||
if (x == app.matrix.cols * scale) {
|
||||
x = 0;
|
||||
y = 8 * scale;
|
||||
}
|
||||
// debug.innerHTML+= x + " " + x/app.matrix.cols + " " + y + "</br>";
|
||||
// debug.innerHTML+=byte + "</br>";
|
||||
}
|
||||
|
||||
context.strokeStyle = "black";
|
||||
context.stroke();
|
||||
return c;
|
||||
}
|
||||
|
||||
function makePNG() {
|
||||
var canvas = document.getElementById("myCanvas");
|
||||
//var context = c.getContext("2d");
|
||||
//window.location = canvas.toDataURL("image/png");
|
||||
///var image = canvas.toDataURL("image/png");
|
||||
// document.write('<img src="'+image+'"/>');
|
||||
var image = canvas
|
||||
.toDataURL("image/png")
|
||||
.replace("image/png", "image/octet-stream");
|
||||
window.location.href = image;
|
||||
}
|
||||
|
||||
function stringFromMatrix(skipEncodedData, skipEncodedEscapeSequence) {
|
||||
var str = "";
|
||||
var strEscaped = "";
|
||||
var delim = "";
|
||||
var blocks = app.matrix.rows / 8;
|
||||
var rs = 7;
|
||||
for (var block = 0; block < blocks; block++) {
|
||||
for (var c = 0; c < app.matrix.cols; c++) {
|
||||
var b = 0;
|
||||
for (var r = 0; r < 8; r++) {
|
||||
var cell = document.getElementById("C" + (rs - r) + "_" + c);
|
||||
if (isInk(cell)) {
|
||||
b |= 1 << (7 - r);
|
||||
}
|
||||
}
|
||||
str += delim + "0x" + padLeft(b.toString(16).toUpperCase(), "0", 2);
|
||||
strEscaped += "\\x" + padLeft(b.toString(16).toUpperCase(), "0", 2);
|
||||
delim = ",";
|
||||
}
|
||||
rs += 8;
|
||||
}
|
||||
if (!skipEncodedData) {
|
||||
app.encodedData = str;
|
||||
}
|
||||
if (!skipEncodedEscapeSequence) {
|
||||
app.encodedEscapeSequence = strEscaped;
|
||||
}
|
||||
updateCanvas(str);
|
||||
return str;
|
||||
}
|
||||
|
||||
function start() {
|
||||
app = new Vue({
|
||||
el: "#app",
|
||||
data: {
|
||||
matrix: {
|
||||
cols: 12,
|
||||
rows: 16,
|
||||
},
|
||||
type: "big",
|
||||
encodedData: "",
|
||||
encodedEscapeSequence: "",
|
||||
},
|
||||
methods: {
|
||||
VtoMatrix: function (val) {
|
||||
toMatrix(val);
|
||||
},
|
||||
escapedToMatrix: function (val) {
|
||||
escapedToMatrix(val);
|
||||
},
|
||||
|
||||
VchangeSize: function () {
|
||||
if (app.type == "big") {
|
||||
app.matrix.cols = 12;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "small") {
|
||||
app.matrix.cols = 6;
|
||||
app.matrix.rows = 8;
|
||||
} else if (app.type == "icon") {
|
||||
app.matrix.cols = 16;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "icon24") {
|
||||
app.matrix.cols = 24;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "screen") {
|
||||
app.matrix.cols = 84;
|
||||
app.matrix.rows = 16;
|
||||
} else if (app.type == "fullscreen") {
|
||||
app.matrix.cols = 96;
|
||||
app.matrix.rows = 16;
|
||||
}
|
||||
stringFromMatrix();
|
||||
},
|
||||
},
|
||||
});
|
||||
toMatrix(
|
||||
"0x00,0xF0,0x08,0x0E,0x02,0x02,0x02,0x02,0x0E,0x08,0xF0,0x00,0x00,0x3F,0x40,0x5C,0x5C,0x5C,0x5C,0x5C,0x5C,0x40,0x3F,0x00"
|
||||
);
|
||||
}
|
||||
|
||||
var margins = 1;
|
||||
|
||||
function changesize(x) {
|
||||
var cursize = x;
|
||||
var mg;
|
||||
if (x < 6) mg = 0;
|
||||
else mg = 1;
|
||||
// var elements = document.getElementsByClassName('c');
|
||||
// for (var i=0; i<elements.length;i++){
|
||||
// elements.item(i).style="height: "+x+"px; width: "+x+"px;"+mg;
|
||||
// }
|
||||
styles.sheet.rules[3].style.height = x + "px";
|
||||
styles.sheet.rules[3].style.width = x + "px";
|
||||
styles.sheet.rules[3].style.marginRight = mg + "px";
|
||||
styles.sheet.rules[3].style.marginTop = mg + "px";
|
||||
styles.sheet.rules[0].style.paddingLeft = mg + "px";
|
||||
styles.sheet.rules[0].style.paddingBottom = mg + "px";
|
||||
}
|
||||
|
||||
function importFile() {
|
||||
var input, file, fr;
|
||||
input = document.getElementById("fileinput");
|
||||
if (input.files[0]) {
|
||||
file = input.files[0];
|
||||
fr = new FileReader();
|
||||
fr.onload = processData;
|
||||
fr.readAsBinaryString(file);
|
||||
}
|
||||
function processData() {
|
||||
var pushy, data, aB, bS;
|
||||
pushy = [];
|
||||
// bodyAppend("p","processing data");
|
||||
data = fr.result;
|
||||
for (i = 297; i < 297 + 192; i += 2) {
|
||||
aB = data.charCodeAt(i + 1);
|
||||
bS = aB.toString(16);
|
||||
if (bS.length < 2) bS = "0" + bS;
|
||||
pushy.push(bS);
|
||||
aB = data.charCodeAt(i);
|
||||
bS = aB.toString(16);
|
||||
if (bS.length < 2) bS = "0" + bS;
|
||||
pushy.push(bS);
|
||||
}
|
||||
escapedToMatrix("\\x" + pushy.join("\\x"));
|
||||
// bodyAppend("p","\\x"+pushy.join("\\x"));
|
||||
}
|
||||
}
|
||||
function bodyAppend(tagName, innerHTML) {
|
||||
var elm;
|
||||
|
||||
elm = document.createElement(tagName);
|
||||
elm.innerHTML = innerHTML;
|
||||
document.body.appendChild(elm);
|
||||
}
|
||||
|
||||
window.onload = start;
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="header">
|
||||
<select v-model="type" v-on:change="VchangeSize()">
|
||||
<option value="small">Small Font (6x8)</option>
|
||||
<option value="big">Big Font (12x16)</option>
|
||||
<option value="icon">Icon (16x16)</option>
|
||||
<option value="icon24">Icon (24x16)</option>
|
||||
<option value="screen">Screen (84x16)</option>
|
||||
<option value="fullscreen">Full Screen (96x16)</option>
|
||||
</select>
|
||||
<a href="#" onclick="changesize(1);">1x</a>
|
||||
<a href="#" onclick="changesize(2);">2x</a>
|
||||
<a href="#" onclick="changesize(4);">4x</a>
|
||||
<a href="#" onclick="changesize(8);">8x</a>
|
||||
<a href="#" onclick="changesize(10);">10x</a>
|
||||
<a href="#" onclick="changesize(12);">12x</a>
|
||||
<a href="#" onclick="changesize(16);">16x</a>
|
||||
<a href="#" onclick="changesize(32);">32x</a>
|
||||
<a href="#" onclick="invertMatrix();">INVERT!</a>
|
||||
</div>
|
||||
<div
|
||||
id="matrix"
|
||||
class="matrix"
|
||||
onmousedown="mousedown(this)"
|
||||
onmouseup="mouseup(this)"
|
||||
ondragstart="return false"
|
||||
>
|
||||
<div :id="'R'+(r-1)" class="r" v-for="r in matrix.rows">
|
||||
<div
|
||||
:id="'C'+(r-1)+'_'+(c-1)"
|
||||
class="c"
|
||||
onmouseenter="enter(this)"
|
||||
v-for="c in matrix.cols"
|
||||
></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<input
|
||||
type="button"
|
||||
value="Clear"
|
||||
onclick="clearMatrix();stringFromMatrix()"
|
||||
/>
|
||||
</div>
|
||||
<div class="data">
|
||||
<textarea
|
||||
v-model="encodedData"
|
||||
style="width: 100%"
|
||||
v-on:change="VtoMatrix(encodedData)"
|
||||
rows="5"
|
||||
></textarea>
|
||||
<textarea
|
||||
v-model="encodedEscapeSequence"
|
||||
style="width: 100%"
|
||||
v-on:change="escapedToMatrix(encodedEscapeSequence)"
|
||||
rows="5"
|
||||
></textarea>
|
||||
</div>
|
||||
|
||||
<form action="#" onsubmit="return false;">
|
||||
<input type="file" id="fileinput" />
|
||||
<input
|
||||
type="button"
|
||||
id="btnLoad"
|
||||
value="Import"
|
||||
onclick="importFile();"
|
||||
/>
|
||||
(Remember to set correct canvas size before importing)
|
||||
</form>
|
||||
<br />
|
||||
|
||||
<canvas
|
||||
id="myCanvas"
|
||||
width="96"
|
||||
height="16"
|
||||
style="border: 1px dotted #000000; padding: 10px"
|
||||
>
|
||||
</canvas>
|
||||
|
||||
<form>
|
||||
<input type="button" value="Make PNG" onclick="makePNG();" />
|
||||
</form>
|
||||
|
||||
<div id="debug"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
115
Translations/gen_menu_docs.py
Executable file
115
Translations/gen_menu_docs.py
Executable file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import functools
|
||||
import hashlib
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import Dict, List
|
||||
|
||||
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
TRANSLATION_DEFS_PATH = os.path.join(HERE, "translations_def.js")
|
||||
ENGLISH_TRANSLATION_PATH = os.path.join(HERE, "translation_EN.json")
|
||||
MENU_DOCS_FILE_PATH = os.path.join(HERE.parent, "Documentation/Settings.md")
|
||||
|
||||
# Loading a single JSON file
|
||||
|
||||
|
||||
def load_json(filename: str, skip_first_line: bool) -> dict:
|
||||
with open(filename) as f:
|
||||
if skip_first_line:
|
||||
f.readline()
|
||||
return json.loads(f.read())
|
||||
|
||||
|
||||
def write_header(filep):
|
||||
"""
|
||||
Writes the markdown constant header area out
|
||||
"""
|
||||
constant_header = """<!-- This is an automatically generated file. DO NOT EDIT. Edit gen_menu_docs.py instead -->
|
||||
|
||||
# IronOS Settings Menu
|
||||
|
||||
The below breaks down the menu's and what each setting means.
|
||||
"""
|
||||
filep.write(constant_header)
|
||||
|
||||
|
||||
def write_menu_categories(filep, defs, translation_data):
|
||||
"""
|
||||
Writes the menu categories section out
|
||||
"""
|
||||
menu_cat_pretense = """
|
||||
## Menu Categories
|
||||
|
||||
In the menu there are a few main categories that are used to keep the list manageable.
|
||||
"""
|
||||
filep.write(menu_cat_pretense)
|
||||
for menu in defs.get("menuGroups", {}):
|
||||
menu_id = menu.get("id", "")
|
||||
entry = translation_data.get("menuGroups", {}).get(menu_id, "")
|
||||
name = " ".join(entry.get("text2", []))
|
||||
desc = menu.get("description", "")
|
||||
section = f"""
|
||||
### Category: {name}
|
||||
|
||||
{desc}
|
||||
"""
|
||||
filep.write(section)
|
||||
|
||||
|
||||
def write_menu_entries(filep, defs, translation_data):
|
||||
"""
|
||||
Writes the menu entries section out
|
||||
"""
|
||||
|
||||
menu_entries_pretense = """
|
||||
## Settings
|
||||
|
||||
These are all of the settings possible in the menu.
|
||||
**Not all settings are visible for all devices.**
|
||||
For example, the TS100 does not have USB-PD settings.
|
||||
|
||||
When using the device, if unsure you can pause (press nothing) on a setting and after a short delay help text will scroll across the screen.
|
||||
This is the "on device help text".
|
||||
"""
|
||||
filep.write(menu_entries_pretense)
|
||||
for menu in defs.get("menuOptions", {}):
|
||||
menu_id = menu.get("id", "")
|
||||
entry = translation_data.get("menuOptions", {}).get(menu_id, "")
|
||||
name = " ".join(entry.get("text2", []))
|
||||
desc = menu.get("description", "")
|
||||
on_device_desc = entry.get("desc", "")
|
||||
section = f"""
|
||||
### Setting: {name}
|
||||
|
||||
{desc}
|
||||
|
||||
On device help text:
|
||||
|
||||
{on_device_desc}
|
||||
"""
|
||||
filep.write(section)
|
||||
|
||||
|
||||
def main() -> None:
|
||||
json_dir = HERE
|
||||
print(json_dir)
|
||||
logging.info("Loading translation definitions")
|
||||
defs = load_json(TRANSLATION_DEFS_PATH, True)
|
||||
eng_translation = load_json(ENGLISH_TRANSLATION_PATH, False)
|
||||
with open(MENU_DOCS_FILE_PATH, "w") as outputf:
|
||||
write_header(outputf)
|
||||
write_menu_categories(outputf, defs, eng_translation)
|
||||
write_menu_entries(outputf, defs, eng_translation)
|
||||
logging.info("Done")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -102,13 +102,18 @@ def get_constants(build_version: str) -> List[Tuple[str, str]]:
|
||||
("SymbolDot", "."),
|
||||
("SymbolDegC", "C"),
|
||||
("SymbolDegF", "F"),
|
||||
("SymbolMinutes", "M"),
|
||||
("SymbolSeconds", "S"),
|
||||
("SymbolMinutes", "m"),
|
||||
("SymbolSeconds", "s"),
|
||||
("SymbolWatts", "W"),
|
||||
("SymbolVolts", "V"),
|
||||
("SymbolAmps", "A"),
|
||||
("SymbolDC", "DC"),
|
||||
("SymbolCellCount", "S"),
|
||||
("SymbolVersionNumber", build_version),
|
||||
("SymbolPDDebug", "PD Debug"),
|
||||
("SymbolState", "State"),
|
||||
("SymbolNoVBus", "No VBus"),
|
||||
("SymbolVBus", "VBus"),
|
||||
]
|
||||
|
||||
|
||||
@@ -127,6 +132,7 @@ def get_debug_menu() -> List[str]:
|
||||
"ACC ",
|
||||
"PWR ",
|
||||
"Max ",
|
||||
"Hall ",
|
||||
]
|
||||
|
||||
|
||||
@@ -146,7 +152,8 @@ def get_power_source_list() -> List[str]:
|
||||
return [
|
||||
"DC",
|
||||
"QC",
|
||||
"PD",
|
||||
"PD W. VBus",
|
||||
"PD No VBus",
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
"languageCode": "BE",
|
||||
"languageLocalName": "Беларуская",
|
||||
"fonts": ["ascii_basic", "latin_extended", "cyrillic"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Каліброўка закончана!",
|
||||
"SettingsCalibrationWarning": "Перад тым, як працягнуць, каліласка, упэўнецеся, што джала мае комнатную тэмпературу!",
|
||||
"SettingsResetWarning": "Вы ўпэннены, што жадаеце зкінуць налады да першапачатковых значэнняў?",
|
||||
"UVLOWarningString": "НАПРУГА--",
|
||||
"UndervoltageString": "Нізкая напруга",
|
||||
"InputVoltageString": "Сілкаванне В: ",
|
||||
"WarningTipTempString": "Тэмп. джала: ",
|
||||
"BadTipString": "ДЖАЛА--",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Чаканне...",
|
||||
"WarningSimpleString": "ГОРАЧА!",
|
||||
"WarningAdvancedString": "!!! ГАРАЧАЕ !!!\n!!! ДЖАЛА !!!",
|
||||
"SleepingTipAdvancedString": "Джала:",
|
||||
"IdleTipString": "Джала:",
|
||||
"IdleSetString": " ->",
|
||||
"TipDisconnectedString": "ДЖАЛА АДЛУЧАНА",
|
||||
"SolderingAdvancedPowerPrompt": "Сілкаванне: ",
|
||||
"OffString": "Выкл.",
|
||||
"YourGainMessage": "Прырост:"
|
||||
"OffString": "Выкл."
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Скід OK",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "В",
|
||||
"SettingLockDisableChar": "А",
|
||||
"SettingLockBoostChar": "Т",
|
||||
"SettingLockFullChar": "П",
|
||||
"SettingNAChar": "Н/Д"
|
||||
"SettingLockFullChar": "П"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -171,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Эфект Хола", "адчувальнасць"],
|
||||
"desc": "Узровень адчувальнасці датчыка хола ў рэжыме сну (А=Адключана | Н=Нізкі | С=Сярэдні | В=Высокі)"
|
||||
"desc": "Узровень адчувальнасці датчыка хола ў рэжыме сну (0=Выкл. | 1=Мін. | ... | 9=Макс.)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Дазволіць", "блок. кнопак"],
|
||||
@@ -208,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": ["Экран", "Інвертаваць"],
|
||||
"desc": "Інвертаваць колеры OLED-экрана"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "BG",
|
||||
"languageLocalName": "Български",
|
||||
"fonts": ["ascii_basic", "cyrillic"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Калибрацията завършена!",
|
||||
"SettingsCalibrationWarning": "Уверете се, че върха на поялника е със стайна температура преди да продължите!",
|
||||
"SettingsResetWarning": "Сигурни ли сте, че искате да върнете фабричните настройки?",
|
||||
"UVLOWarningString": "Ниско DC Напрежение",
|
||||
"UndervoltageString": "Ниско Напрежение",
|
||||
"InputVoltageString": "Входно V: ",
|
||||
"WarningTipTempString": "Темп.: ",
|
||||
"BadTipString": "ЛОШ ВРЪХ",
|
||||
"SleepingSimpleString": "Сън",
|
||||
"SleepingAdvancedString": "Хър Хър Хър...",
|
||||
"WarningSimpleString": "ОХ!",
|
||||
"WarningAdvancedString": "ВНИМАНИЕ! ТОПЛО!",
|
||||
"SleepingTipAdvancedString": "Връх:",
|
||||
"IdleTipString": "Връх:",
|
||||
"IdleSetString": " Настройка:",
|
||||
"TipDisconnectedString": "ПРЕКЪСНАТ ВРЪХ",
|
||||
"SolderingAdvancedPowerPrompt": "Захранване: ",
|
||||
"OffString": "Изкл.",
|
||||
"YourGainMessage": "Усилване:"
|
||||
"OffString": "Изкл."
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Нулиране",
|
||||
"SettingsResetMessage": ["Настройките бяха", "нулирани!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": " LOCKED",
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
@@ -45,15 +36,13 @@
|
||||
"SettingStartSolderingChar": "Р",
|
||||
"SettingStartSleepChar": "С",
|
||||
"SettingStartSleepOffChar": "П",
|
||||
"SettingStartNoneChar": "F",
|
||||
"SettingSensitivityOff": "O",
|
||||
"SettingSensitivityLow": "L",
|
||||
"SettingSensitivityMedium": "M",
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -148,7 +137,7 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Лимит на", "мощност"],
|
||||
@@ -171,12 +160,12 @@
|
||||
"desc": "Поддържане на интензивност на захранващия импулс"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Изключено | 1=Слабо | ... | 9=Силно)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -184,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5с)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2,5с)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -203,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "CS",
|
||||
"languageLocalName": "Český",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibrace dokončena!",
|
||||
"SettingsCalibrationWarning": "Ujistěte se, že hrot má pokojovou teplotu!",
|
||||
"SettingsResetWarning": "Opravdu chcete resetovat zařízení do továrního nastavení?",
|
||||
"UVLOWarningString": "Nízké DC",
|
||||
"UndervoltageString": "! Nízké napětí !",
|
||||
"InputVoltageString": "Napětí: ",
|
||||
"WarningTipTempString": "Teplota: ",
|
||||
"BadTipString": "ŠP. HROT",
|
||||
"SleepingSimpleString": "Zzz ",
|
||||
"SleepingAdvancedString": "Režim spánku...",
|
||||
"WarningSimpleString": "PÁLÍ",
|
||||
"WarningAdvancedString": "!! HORKÝ HROT !!",
|
||||
"SleepingTipAdvancedString": "Hrot:",
|
||||
"IdleTipString": "Hrot:",
|
||||
"IdleSetString": " Cíl:",
|
||||
"TipDisconnectedString": "HROT NEPŘIPOJEN",
|
||||
"SolderingAdvancedPowerPrompt": "Ohřev: ",
|
||||
"OffString": "Vyp",
|
||||
"YourGainMessage": "Zisk:"
|
||||
"OffString": "Vyp"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Tov. nas. obnov.", ""],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": " LOCKED",
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -170,12 +160,12 @@
|
||||
"desc": "Puls pro udržení zařízení v chodu (kvůli power bankám)."
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Vyp | 1=Min | ... | 9=Max)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | P=slow | M=medium | R=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2,5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "DA",
|
||||
"languageLocalName": "Dansk",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibration done!",
|
||||
"SettingsCalibrationWarning": "Sørg for at loddespidsen er ved stuetemperatur, inden du fortsætter!",
|
||||
"SettingsResetWarning": "Are you sure to reset settings to default values?",
|
||||
"UVLOWarningString": "Lav Volt",
|
||||
"UndervoltageString": "Undervoltage",
|
||||
"InputVoltageString": "Input V: ",
|
||||
"WarningTipTempString": "Tip Temp: ",
|
||||
"BadTipString": "BAD TIP",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Dvale...",
|
||||
"WarningSimpleString": "Varm",
|
||||
"WarningAdvancedString": "VARM LODDESPIDS!",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "TIP DISCONNECTED",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "Off",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": " LOCKED",
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -60,20 +50,20 @@
|
||||
"desc": "Power settings"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": ["Soldering", "Settings"],
|
||||
"text2": ["Soldering", "settings"],
|
||||
"desc": "Soldering settings"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": ["Sleep", "Modes"],
|
||||
"desc": "Power Saving Settings"
|
||||
"text2": ["Sleep", "mode"],
|
||||
"desc": "Power saving settings"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": ["User", "Interface"],
|
||||
"desc": "User Interface settings"
|
||||
"text2": ["User", "interface"],
|
||||
"desc": "User interface settings"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": ["Advanced", "Options"],
|
||||
"desc": "Advanced options"
|
||||
"text2": ["Advanced", "settings"],
|
||||
"desc": "Advanced settings"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
@@ -114,11 +104,11 @@
|
||||
"desc": "Temperatur i \"boost\" mode"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Auto", "start"],
|
||||
"text2": ["Start-up", "behavior"],
|
||||
"desc": "Start automatisk med lodning når strøm sættes til. (S=Slukket | L=Lodning | D=Dvale tilstand | R=Dvale tilstand rumtemperatur)"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Cooldown", "blink"],
|
||||
"text2": ["Cooldown", "flashing"],
|
||||
"desc": "Blink temperaturen på skærmen, mens spidsen stadig er varm."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
@@ -126,7 +116,7 @@
|
||||
"desc": "kalibrere spids temperatur."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Factory", "Reset?"],
|
||||
"text2": ["Restore factory", "settings?"],
|
||||
"desc": "Gendan alle indstillinger"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
@@ -139,43 +129,43 @@
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": ["Scrolling", "speed"],
|
||||
"desc": "Speed this text scrolls past at"
|
||||
"desc": "Speed info text scrolls past at (S=slow | F=fast)"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["Power", "Wattage"],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
"text2": ["QC", "voltage"],
|
||||
"desc": "Max QC voltage the iron should negotiate for"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Temperature-change-increment on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Temperature-change-increment on long button press"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Intensity of power of keep-awake-pulse (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Slukket | 1=Mindst følsom | ... | 9=Mest følsom)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2,5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2,5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Ruhemodus...",
|
||||
"SleepingTipAdvancedString": "Temp:",
|
||||
"IdleTipString": "Ist:",
|
||||
"IdleSetString": " Soll:",
|
||||
"TipDisconnectedString": "Spitze fehlt",
|
||||
"SolderingAdvancedPowerPrompt": "Leistung: ",
|
||||
"OffString": "Aus"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -46,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "A",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "V",
|
||||
"SettingNAChar": "-"
|
||||
"SettingLockFullChar": "V"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -82,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Ruhever-", "zögerung"],
|
||||
"desc": "Dauer vor Übergang in den Ruhemodus (S=Sekunden | M=Minuten)"
|
||||
"desc": "Dauer vor Übergang in den Ruhemodus (s=Sekunden | m=Minuten)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Abschalt-", "verzög."],
|
||||
"desc": "Dauer vor automatischer Abschaltung (M=Minuten)"
|
||||
"desc": "Dauer vor automatischer Abschaltung (m=Minuten)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Bewegungs-", "empfindlichk."],
|
||||
@@ -166,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Empfindlichkeit", "der Hall-Sonde"],
|
||||
"desc": "Empfindlichkeit der Hall-Sonde beim Erkennen des Ruhemodus (A=aus | N=niedrig | M=mittel | H=hoch)"
|
||||
"desc": "Empfindlichkeit der Hall-Sonde beim Erkennen des Ruhemodus (0=aus | 1=minimal | ... | 9=maximal)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Tasten-", "sperre"],
|
||||
@@ -194,7 +189,7 @@
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Sprache:", " DE Deutsch"],
|
||||
"desc": ""
|
||||
"desc": "Sprache der Firmware ändern"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Bildschirm-", "kontrast"],
|
||||
@@ -203,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": ["Farben", "umkehren"],
|
||||
"desc": "Invertiert die Farben des OLED-Displays"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Startlogo-", "dauer"],
|
||||
"desc": "Legt die Dauer der Anzeige des Startlogos fest (s=Sekunden)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,340 +1,207 @@
|
||||
{
|
||||
"languageCode": "EL",
|
||||
"languageLocalName": "Greek",
|
||||
"fonts": [
|
||||
"ascii_basic",
|
||||
"greek"
|
||||
],
|
||||
"tempUnitFahrenheit": true,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Πριν προχωρήσετε, παρακαλώ σιγουρευτείτε πως η μύτη βρίσκεται σε θερμοκρασία δωματίου!",
|
||||
"SettingsResetWarning": "Σίγουρα θέλετε επαναφορά αρχικών ρυθμίσεων;",
|
||||
"UVLOWarningString": "Χαμηλ DC",
|
||||
"UndervoltageString": "Υπόταση",
|
||||
"InputVoltageString": "Είσοδος V: ",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Υπνος...",
|
||||
"SleepingTipAdvancedString": "Μύτη:",
|
||||
"IdleTipString": "Μύτη:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "ΧΩΡΙΣ ΜΥΤΗ",
|
||||
"SolderingAdvancedPowerPrompt": "Ενέργεια: ",
|
||||
"OffString": "Απ."
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Επαν. OK",
|
||||
"SettingsResetMessage": [
|
||||
"Κάποιες ρυθμ.",
|
||||
"άλλαξαν"
|
||||
],
|
||||
"NoAccelerometerMessage": [
|
||||
"Δεν εντοπίστηκε",
|
||||
"επιταχυνσιόμετρο"
|
||||
],
|
||||
"NoPowerDeliveryMessage": [
|
||||
"Δεν εντοπίστηκε",
|
||||
"κύκλωμα USB-PD"
|
||||
],
|
||||
"LockingKeysString": "ΚΛΕΙΔ.",
|
||||
"UnlockingKeysString": "ΞΕΚΛΕΙΔ.",
|
||||
"WarningKeysLockedString": [
|
||||
"ΚΛΕΙΔΩΜΕΝΑ",
|
||||
"ΠΛΗΚΤΡΑ!"
|
||||
],
|
||||
"WarningThermalRunaway": [
|
||||
"Θερμική",
|
||||
"Φυγή"
|
||||
]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "R",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "Α",
|
||||
"SettingOffChar": "0",
|
||||
"SettingSlowChar": "Α",
|
||||
"SettingMediumChar": "Μ",
|
||||
"SettingFastChar": "Γ",
|
||||
"SettingStartNoneChar": "0",
|
||||
"SettingStartSolderingChar": "Κ",
|
||||
"SettingStartSleepChar": "Ζ",
|
||||
"SettingStartSleepOffChar": "Υ",
|
||||
"SettingSensitivityOff": "0",
|
||||
"SettingSensitivityLow": "Χ",
|
||||
"SettingSensitivityMedium": "Μ",
|
||||
"SettingSensitivityHigh": "Υ",
|
||||
"SettingLockDisableChar": "Α",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "Π",
|
||||
"SettingNAChar": "Δ/Δ"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": [
|
||||
"Ρυθμίσεις",
|
||||
"ενέργειας"
|
||||
],
|
||||
"desc": "Ρυθμίσεις ενέργειας"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
"Ρυθμίσεις",
|
||||
"κόλλησης"
|
||||
],
|
||||
"desc": "Ρυθμίσεις κόλλησης"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": [
|
||||
"Λειτουργία",
|
||||
"ύπνου"
|
||||
],
|
||||
"desc": "Ρυθμίσεις εξοικ. ενέργ."
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": [
|
||||
"Διεπαφή",
|
||||
"χρήστη"
|
||||
],
|
||||
"desc": "Ρυθμίσεις διεπαφής χρήστη"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": [
|
||||
"Προηγμένες",
|
||||
"ρυθμίσεις"
|
||||
],
|
||||
"desc": "Προηγμένες ρυθμίσεις"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": [
|
||||
"Πηγή",
|
||||
"ενέργειας"
|
||||
],
|
||||
"desc": "Πηγή ενέργειας. Oρισμός τάσης απενεργοποίησης. (DC 10V) (S 3.3V ανα κυψέλη, απενεργοποίηση ενεργειακού ορίου)"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": [
|
||||
"Θερμοκρ.",
|
||||
"ύπνου"
|
||||
],
|
||||
"desc": "Θερμοκρασία μύτης σε λειτ. ύπνου"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": [
|
||||
"Έναρξη",
|
||||
"ύπνου"
|
||||
],
|
||||
"desc": "Χρονικό διάστημα πρίν την ενεργοποίηση λειτουργίας ύπνου (Δ=δευτ. | Λ=λεπτά)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": [
|
||||
"Έναρξη",
|
||||
"απενεργ."
|
||||
],
|
||||
"desc": "Χρονικό διάστημα πρίν την απενεργοποίηση του κολλητηριού (Λ=λεπτά)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": [
|
||||
"Ευαισθησία",
|
||||
"κίνησης"
|
||||
],
|
||||
"desc": "0=off | 1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": [
|
||||
"Μονάδες",
|
||||
"θερμοκρασίας"
|
||||
],
|
||||
"desc": "C=Κελσίου | F=Φαρενάιτ"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": [
|
||||
"Λεπτομερής",
|
||||
"οθ. αδράνειας"
|
||||
],
|
||||
"desc": "Προβολή λεπτομερών πληροφοριών σε μικρότερη γραμματοσειρά στην οθόνη αδράνειας"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": [
|
||||
"Διάταξη",
|
||||
"οθόνης"
|
||||
],
|
||||
"desc": "R=δεξιόχειρες | L=αριστερόχειρες | Α=αυτόματο"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": [
|
||||
"Θερμοκ.",
|
||||
"boost"
|
||||
],
|
||||
"desc": "Θερμοκρασία στη \"λειτουργία boost\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": [
|
||||
"Ζέσταμα",
|
||||
"κατά την εν."
|
||||
],
|
||||
"desc": "0=off | Κ=θερμ. κόλλησης | Z=αναμονή σε θερμοκρασία ύπνου μέχρι την κίνηση | Υ=αναμονή χωρίς ζέσταμα μέχρι την κίνηση"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": [
|
||||
"Αναβοσβήσιμο",
|
||||
"ψύξης"
|
||||
],
|
||||
"desc": "Αναβοσβήσιμο της ενδειξης θερμοκρασίας κατά την παύση θέρμανσης όταν η μύτη είναι ακόμα καυτή"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": [
|
||||
"Βαθμονόμηση",
|
||||
"θερμοκρασίας;"
|
||||
],
|
||||
"desc": "Βαθμονόμηση αρχικής θερμοκρασίας μύτης"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": [
|
||||
"Επαναφορά",
|
||||
"εργ. ρυθμίσεων;"
|
||||
],
|
||||
"desc": "Επαναφορά στις προεπιλεγμένες ρυθμίσεις"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": [
|
||||
"Βαθμονόμηση",
|
||||
"τάσης εισόδου;"
|
||||
],
|
||||
"desc": "Έναρξη βαθμονόμησης τάσης εισόδου (κράτημα για έξοδο)"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": [
|
||||
"Λεπτομερής",
|
||||
"οθ. κόλλησης"
|
||||
],
|
||||
"desc": "Προβολή λεπτομερών πληροφοριών σε μικρότερη γραμματοσειρά στην οθόνη κόλλησης"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": [
|
||||
"Ταχύτητα",
|
||||
"κύλισης"
|
||||
],
|
||||
"desc": "Ταχύτητα κύλισης κειμένου (Α=αργά | Γ=γρήγορα)"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": [
|
||||
"Τάση",
|
||||
"QC"
|
||||
],
|
||||
"desc": "Μέγιστη τάση QC που να ζητά το κολλητήρι από το τροφοδοτικό"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": [
|
||||
"χρονικό όριο",
|
||||
"PD"
|
||||
],
|
||||
"desc": "Χρονικό όριο διαπραγμάτευσης PD σε βήματα 100ms για συμβατότητα με κάποιους φορτιστές QC"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": [
|
||||
"Ενεργειακό",
|
||||
"όριο"
|
||||
],
|
||||
"desc": "Μέγιστη ενέργεια που μπορεί να χρησιμοποιεί το κολλητήρι (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": [
|
||||
"Αντιστροφή",
|
||||
"πλήκτρων + -"
|
||||
],
|
||||
"desc": "Αντιστροφή διάταξης πλήκτρων στη ρύθμιση θερμοκρασίας"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": [
|
||||
"Αλλαγή θερμοκ.",
|
||||
"στιγμιαίο"
|
||||
],
|
||||
"desc": "Βήμα αλλαγής θερμοκρασίας σε στιγμιαίο πάτημα πλήκτρου"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": [
|
||||
"Αλλαγή θερμοκ.",
|
||||
"παρατεταμένο"
|
||||
],
|
||||
"desc": "Βήμα αλλαγής θερμοκρασίας σε παρατεταμένο πάτημα πλήκτρου"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": [
|
||||
"Παλμός",
|
||||
"ενέργειας"
|
||||
],
|
||||
"desc": "Ένταση ενέργειας παλμού διατήρησης λειτουργίας (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": [
|
||||
"Ευαισθ. αισθ. ",
|
||||
"φαιν. Hall"
|
||||
],
|
||||
"desc": "Ευαισθησία του αισθητήρα φαινομένου Hall για εντοπισμό αδράνειας (0=off | Χ=χαμηλή | Μ=μέτρια | Υ=υψηλή)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": [
|
||||
"Κλείδωμα",
|
||||
"πλήκτρων"
|
||||
],
|
||||
"desc": "Κατά την κόλληση, κρατήστε και τα δύο πλήκτρα για κλείδωμα (A=απενεργοποίηση | B=μόνο λειτ. boost | Π=πλήρες κλείδωμα)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": [
|
||||
"Ελάχιστη",
|
||||
"τάση"
|
||||
],
|
||||
"desc": "Ελάχιστη επιτρεπτή τάση ανα κυψέλη (3 σε σειρά: 3 - 3.7V | 4-6 σε σειρά: 2.4 - 3.7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": [
|
||||
"Επανάληψη",
|
||||
"κιν. εικονιδ."
|
||||
],
|
||||
"desc": "Επανάληψη κίνησης εικονιδίων στο αρχικό μενού"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": [
|
||||
"Ταχύτητα",
|
||||
"κιν. εικονιδ."
|
||||
],
|
||||
"desc": "Ρυθμός κίνησης εικονιδίων στο μενού (0=off | Α=αργός | Μ=μέτριος | Γ=γρήγορος"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": [
|
||||
"Καθυστέρηση",
|
||||
"παλμού ενέργ."
|
||||
],
|
||||
"desc": "Καθυστέρηση πριν την ενεργοποίση παλμού διατήρησης λειτουργίας (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": [
|
||||
"Διάρκεια",
|
||||
"παλμού ενέργ."
|
||||
],
|
||||
"desc": "Διάρκεια παλμού διατήρησης ενέργειας (x 250ms)"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": [
|
||||
"Γλώσσα",
|
||||
" GR Ελληνικά"
|
||||
],
|
||||
"desc": "Τρέχουσα γλώσσα λογισμικού"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": [
|
||||
"Αντίθεση",
|
||||
"οθόνης"
|
||||
],
|
||||
"desc": "Ρύθμιση φωτεινότητας οθόνης OLED"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": [
|
||||
"Αντιστροφή",
|
||||
"χρωμάτων"
|
||||
],
|
||||
"desc": "Αντιστροφή χρωμάτων οθόνης OLED"
|
||||
}
|
||||
}
|
||||
}
|
||||
"languageCode": "EL",
|
||||
"languageLocalName": "Greek",
|
||||
"fonts": ["ascii_basic", "greek"],
|
||||
"tempUnitFahrenheit": true,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Πριν προχωρήσετε, παρακαλώ σιγουρευτείτε πως η μύτη βρίσκεται σε θερμοκρασία δωματίου!",
|
||||
"SettingsResetWarning": "Σίγουρα θέλετε επαναφορά αρχικών ρυθμίσεων;",
|
||||
"UVLOWarningString": "Χαμηλ DC",
|
||||
"UndervoltageString": "Υπόταση",
|
||||
"InputVoltageString": "Είσοδος V: ",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Υπνος...",
|
||||
"SleepingTipAdvancedString": "Μύτη:",
|
||||
"OffString": "Απ."
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Επαν. OK",
|
||||
"SettingsResetMessage": ["Κάποιες ρυθμ.", "άλλαξαν"],
|
||||
"NoAccelerometerMessage": ["Δεν εντοπίστηκε", "επιταχυνσιόμετρο"],
|
||||
"NoPowerDeliveryMessage": ["Δεν εντοπίστηκε", "κύκλωμα USB-PD"],
|
||||
"LockingKeysString": "ΚΛΕΙΔ.",
|
||||
"UnlockingKeysString": "ΞΕΚΛΕΙΔ.",
|
||||
"WarningKeysLockedString": ["ΚΛΕΙΔΩΜΕΝΑ", "ΠΛΗΚΤΡΑ!"],
|
||||
"WarningThermalRunaway": ["Θερμική", "Φυγή"]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "R",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "Α",
|
||||
"SettingOffChar": "0",
|
||||
"SettingSlowChar": "Α",
|
||||
"SettingMediumChar": "Μ",
|
||||
"SettingFastChar": "Γ",
|
||||
"SettingStartNoneChar": "0",
|
||||
"SettingStartSolderingChar": "Κ",
|
||||
"SettingStartSleepChar": "Ζ",
|
||||
"SettingStartSleepOffChar": "Υ",
|
||||
"SettingSensitivityOff": "0",
|
||||
"SettingSensitivityLow": "Χ",
|
||||
"SettingSensitivityMedium": "Μ",
|
||||
"SettingSensitivityHigh": "Υ",
|
||||
"SettingLockDisableChar": "Α",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "Π"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": ["Ρυθμίσεις", "ενέργειας"],
|
||||
"desc": "Ρυθμίσεις ενέργειας"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": ["Ρυθμίσεις", "κόλλησης"],
|
||||
"desc": "Ρυθμίσεις κόλλησης"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": ["Λειτουργία", "ύπνου"],
|
||||
"desc": "Ρυθμίσεις εξοικ. ενέργ."
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": ["Διεπαφή", "χρήστη"],
|
||||
"desc": "Ρυθμίσεις διεπαφής χρήστη"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": ["Προηγμένες", "ρυθμίσεις"],
|
||||
"desc": "Προηγμένες ρυθμίσεις"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": ["Πηγή", "ενέργειας"],
|
||||
"desc": "Πηγή ενέργειας. Oρισμός τάσης απενεργοποίησης. (DC 10V) (S 3.3V ανα κυψέλη, απενεργοποίηση ενεργειακού ορίου)"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": ["Θερμοκρ.", "ύπνου"],
|
||||
"desc": "Θερμοκρασία μύτης σε λειτ. ύπνου"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Έναρξη", "ύπνου"],
|
||||
"desc": "Χρονικό διάστημα πρίν την ενεργοποίηση λειτουργίας ύπνου (Δ=δευτ. | Λ=λεπτά)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Έναρξη", "απενεργ."],
|
||||
"desc": "Χρονικό διάστημα πρίν την απενεργοποίηση του κολλητηριού (Λ=λεπτά)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Ευαισθησία", "κίνησης"],
|
||||
"desc": "0=off | 1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": ["Μονάδες", "θερμοκρασίας"],
|
||||
"desc": "C=Κελσίου | F=Φαρενάιτ"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": ["Λεπτομερής", "οθ. αδράνειας"],
|
||||
"desc": "Προβολή λεπτομερών πληροφοριών σε μικρότερη γραμματοσειρά στην οθόνη αδράνειας"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": ["Διάταξη", "οθόνης"],
|
||||
"desc": "R=δεξιόχειρες | L=αριστερόχειρες | Α=αυτόματο"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": ["Θερμοκ.", "boost"],
|
||||
"desc": "Θερμοκρασία στη \"λειτουργία boost\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Ζέσταμα", "κατά την εν."],
|
||||
"desc": "0=off | Κ=θερμ. κόλλησης | Z=αναμονή σε θερμοκρασία ύπνου μέχρι την κίνηση | Υ=αναμονή χωρίς ζέσταμα μέχρι την κίνηση"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Αναβοσβήσιμο", "ψύξης"],
|
||||
"desc": "Αναβοσβήσιμο της ενδειξης θερμοκρασίας κατά την παύση θέρμανσης όταν η μύτη είναι ακόμα καυτή"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": ["Βαθμονόμηση", "θερμοκρασίας;"],
|
||||
"desc": "Βαθμονόμηση αρχικής θερμοκρασίας μύτης"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Επαναφορά", "εργ. ρυθμίσεων;"],
|
||||
"desc": "Επαναφορά στις προεπιλεγμένες ρυθμίσεις"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Βαθμονόμηση", "τάσης εισόδου;"],
|
||||
"desc": "Έναρξη βαθμονόμησης τάσης εισόδου (κράτημα για έξοδο)"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": ["Λεπτομερής", "οθ. κόλλησης"],
|
||||
"desc": "Προβολή λεπτομερών πληροφοριών σε μικρότερη γραμματοσειρά στην οθόνη κόλλησης"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": ["Ταχύτητα", "κύλισης"],
|
||||
"desc": "Ταχύτητα κύλισης κειμένου (Α=αργά | Γ=γρήγορα)"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["Τάση", "QC"],
|
||||
"desc": "Μέγιστη τάση QC που να ζητά το κολλητήρι από το τροφοδοτικό"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["χρονικό όριο", "PD"],
|
||||
"desc": "Χρονικό όριο διαπραγμάτευσης PD σε βήματα 100ms για συμβατότητα με κάποιους φορτιστές QC"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Ενεργειακό", "όριο"],
|
||||
"desc": "Μέγιστη ενέργεια που μπορεί να χρησιμοποιεί το κολλητήρι (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Αντιστροφή", "πλήκτρων + -"],
|
||||
"desc": "Αντιστροφή διάταξης πλήκτρων στη ρύθμιση θερμοκρασίας"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Αλλαγή θερμοκ.", "στιγμιαίο"],
|
||||
"desc": "Βήμα αλλαγής θερμοκρασίας σε στιγμιαίο πάτημα πλήκτρου"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Αλλαγή θερμοκ.", "παρατεταμένο"],
|
||||
"desc": "Βήμα αλλαγής θερμοκρασίας σε παρατεταμένο πάτημα πλήκτρου"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Παλμός", "ενέργειας"],
|
||||
"desc": "Ένταση ενέργειας παλμού διατήρησης λειτουργίας (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Ευαισθ. αισθ. ", "φαιν. Hall"],
|
||||
"desc": "Ευαισθησία του αισθητήρα φαινομένου Hall για εντοπισμό αδράνειας (0=off | 1=λιγότερο ευαίσθητο | ... | 9=περισσότερο ευαίσθητο)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Κλείδωμα", "πλήκτρων"],
|
||||
"desc": "Κατά την κόλληση, κρατήστε και τα δύο πλήκτρα για κλείδωμα (A=απενεργοποίηση | B=μόνο λειτ. boost | Π=πλήρες κλείδωμα)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Ελάχιστη", "τάση"],
|
||||
"desc": "Ελάχιστη επιτρεπτή τάση ανα κυψέλη (3 σε σειρά: 3 - 3.7V | 4-6 σε σειρά: 2.4 - 3.7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Επανάληψη", "κιν. εικονιδ."],
|
||||
"desc": "Επανάληψη κίνησης εικονιδίων στο αρχικό μενού"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Ταχύτητα", "κιν. εικονιδ."],
|
||||
"desc": "Ρυθμός κίνησης εικονιδίων στο μενού (0=off | Α=αργός | Μ=μέτριος | Γ=γρήγορος"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Καθυστέρηση", "παλμού ενέργ."],
|
||||
"desc": "Καθυστέρηση πριν την ενεργοποίση παλμού διατήρησης λειτουργίας (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Διάρκεια", "παλμού ενέργ."],
|
||||
"desc": "Διάρκεια παλμού διατήρησης ενέργειας (x 250ms)"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Γλώσσα", " GR Ελληνικά"],
|
||||
"desc": "Τρέχουσα γλώσσα λογισμικού"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Αντίθεση", "οθόνης"],
|
||||
"desc": "Ρύθμιση φωτεινότητας οθόνης OLED"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Αντιστροφή", "χρωμάτων"],
|
||||
"desc": "Αντιστροφή χρωμάτων οθόνης OLED"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,22 +5,18 @@
|
||||
"tempUnitFahrenheit": true,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature, before proceeding!",
|
||||
"SettingsResetWarning": "Sure you want to restore default settings?",
|
||||
"SettingsResetWarning": "Are you sure you want to restore default settings?",
|
||||
"UVLOWarningString": "DC LOW",
|
||||
"UndervoltageString": "Undervoltage",
|
||||
"InputVoltageString": "Input V: ",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Sleeping...",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "NO TIP",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Some settings", "changed"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": "LOCKED",
|
||||
@@ -46,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -82,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Sleep", "timeout"],
|
||||
"desc": "Interval before \"sleep mode\" kicks in (S=seconds | M=minutes)"
|
||||
"desc": "Interval before \"sleep mode\" kicks in (s=seconds | m=minutes)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Shutdown", "timeout"],
|
||||
"desc": "Interval before the iron shuts down (M=minutes)"
|
||||
"desc": "Interval before the iron shuts down (m=minutes)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Motion", "sensitivity"],
|
||||
@@ -106,14 +101,14 @@
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": ["Boost", "temp"],
|
||||
"desc": "Temperature used in \"boost mode\""
|
||||
"desc": "Tip temperature used in \"boost mode\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Heat", "on power up"],
|
||||
"desc": "O=off | S=soldering temp | Z=standby at sleep temp until moved | R=standby without heating until moved"
|
||||
"text2": ["Start-up", "behavior"],
|
||||
"desc": "O=off | S=heat up to soldering temp | Z=standby at sleep temp until moved | R=standby without heating until moved"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Cooldown", "blink"],
|
||||
"text2": ["Cooldown", "flashing"],
|
||||
"desc": "Flash the temperature reading after heating was halted while the tip is still hot"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
@@ -121,8 +116,8 @@
|
||||
"desc": "Start tip temperature offset calibration"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Factory", "reset?"],
|
||||
"desc": "Reset settings to default"
|
||||
"text2": ["Restore factory", "settings?"],
|
||||
"desc": "Reset all settings to default"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Calibrate", "input voltage?"],
|
||||
@@ -149,7 +144,7 @@
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Reverse", "+ - keys"],
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
@@ -166,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=off | 1=least sensitive | ... | 9=most sensitive)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
@@ -197,12 +192,16 @@
|
||||
"desc": "Current firmware language"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "contrast"],
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,27 +2,17 @@
|
||||
"languageCode": "ES",
|
||||
"languageLocalName": "Castellano",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "¡Calibrada!",
|
||||
"SettingsCalibrationWarning": "¡Asegúrate que la punta esté a temperatura ambiente antes de empezar!",
|
||||
"SettingsResetWarning": "¿Quieres restablecer los ajustes?",
|
||||
"UVLOWarningString": "CC BAJA",
|
||||
"UndervoltageString": "Voltaje bajo",
|
||||
"InputVoltageString": "Voltaje: ",
|
||||
"WarningTipTempString": "Temp punta: ",
|
||||
"BadTipString": "PT. ROTA",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "En reposo...",
|
||||
"WarningSimpleString": "QUEMA",
|
||||
"WarningAdvancedString": "¡LA PUNTA QUEMA!",
|
||||
"SleepingTipAdvancedString": "Punta:",
|
||||
"IdleTipString": "Punta:",
|
||||
"IdleSetString": " Aj:",
|
||||
"TipDisconnectedString": "NO HAY PUNTA",
|
||||
"SolderingAdvancedPowerPrompt": "Potencia: ",
|
||||
"OffString": " No",
|
||||
"YourGainMessage": "Gananc.:",
|
||||
"SettingsResetMessage": "Ajustes borrados"
|
||||
"OffString": " No"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Hecho.",
|
||||
@@ -52,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -172,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensibilidad"],
|
||||
"desc": "Sensibilidad del sensor de efecto Hall en la detección de reposo (O=Off | L=Low | M=Medium | H=High)"
|
||||
"desc": "Sensibilidad del sensor de efecto Hall en la detección de reposo (0=no | 1=menos sensible | ... | 9=más sensible)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Permitir botones", "bloqueo"],
|
||||
@@ -188,7 +177,7 @@
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "velocidad"],
|
||||
"desc": "Velocidad de las animaciones de los iconos en el menú (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Velocidad de las animaciones de los iconos en el menú (O=off | L=low | M=medium | R=high)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Impulso de potencia", "tiempo de espera"],
|
||||
@@ -203,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,24 +2,16 @@
|
||||
"languageCode": "FI",
|
||||
"languageLocalName": "Suomi",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibrointi tehty!",
|
||||
"SettingsCalibrationWarning": "Varmista että kärki on huoneenlämpöinen ennen jatkamista!",
|
||||
"SettingsResetWarning": "Haluatko varmasti palauttaa oletusarvot?",
|
||||
"UVLOWarningString": "DC ALH.",
|
||||
"UndervoltageString": "Alijännite",
|
||||
"InputVoltageString": "Jännite: ",
|
||||
"WarningTipTempString": "Kärjet lämpö: ",
|
||||
"BadTipString": "PAHA KÄRJET",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Lepotila...",
|
||||
"WarningSimpleString": "KUUMA!",
|
||||
"WarningAdvancedString": "!!! KUUMA KÄRJET !!!",
|
||||
"SleepingTipAdvancedString": "Kärki:",
|
||||
"IdleTipString": "Pää:",
|
||||
"IdleSetString": "Aseta:",
|
||||
"TipDisconnectedString": "KÄRKI PUUTTUU",
|
||||
"SolderingAdvancedPowerPrompt": "Teho: ",
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -37,9 +29,9 @@
|
||||
"SettingLeftChar": "V",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "P",
|
||||
"SettingSlowChar": "H",
|
||||
"SettingSlowChar": "A",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "N",
|
||||
"SettingFastChar": "S",
|
||||
"SettingStartNoneChar": "E",
|
||||
"SettingStartSolderingChar": "J",
|
||||
"SettingStartSleepChar": "L",
|
||||
@@ -50,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "S",
|
||||
"SettingLockDisableChar": "P",
|
||||
"SettingLockBoostChar": "V",
|
||||
"SettingLockFullChar": "K",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "K"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -86,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Lepotilan", "viive"],
|
||||
"desc": "\"Lepotilan\" ajastus (S=sekuntia | M=minuuttia)"
|
||||
"desc": "\"Lepotilan\" ajastus (s=sekuntia | m=minuuttia)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Sammutus", "viive"],
|
||||
"desc": "Automaattisen sammutuksen ajastus (M=minuuttia)"
|
||||
"desc": "Automaattisen sammutuksen ajastus (m=minuuttia)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Liikkeen", "herkkyys"],
|
||||
@@ -170,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall-", "herk."],
|
||||
"desc": "Hall-efektianturin herkkyys lepotilan tunnistuksessa (P=pois | A=alhainen | K=keskiverto | S=suuri)"
|
||||
"desc": "Hall-efektianturin herkkyys lepotilan tunnistuksessa (0=pois päältä | 1=vähäinen herkkyys | ... | 9=suurin herkkyys)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Salli nappien", "lukitus"],
|
||||
@@ -201,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
"languageCode": "FR",
|
||||
"languageLocalName": "Français",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibration effectuée !",
|
||||
"SettingsCalibrationWarning": "Assurez-vous que la panne soit à température ambiante avant de continuer !",
|
||||
"SettingsResetWarning": "Voulez-vous vraiment réinitialiser les paramètres aux valeurs par défaut ?",
|
||||
"UVLOWarningString": "DC FAIBL",
|
||||
"UndervoltageString": "Sous-tension",
|
||||
"InputVoltageString": "V d'entrée: ",
|
||||
"WarningTipTempString": "Temp. Panne : ",
|
||||
"BadTipString": "PANNE HS",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "En veille...",
|
||||
"WarningSimpleString": "CHAUD !",
|
||||
"WarningAdvancedString": "ATTENTION ! CHAUD !",
|
||||
"SleepingTipAdvancedString": "Panne:",
|
||||
"IdleTipString": "Act:",
|
||||
"IdleSetString": " Reg:",
|
||||
"TipDisconnectedString": "PANNE DÉBRANCHÉE",
|
||||
"SolderingAdvancedPowerPrompt": "Puiss.:",
|
||||
"OffString": "Off",
|
||||
"YourGainMessage": "Gain : "
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "V",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "V"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -87,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Délai", "veille"],
|
||||
"desc": "Délai avant mise en veille (S=secondes | M=minutes)"
|
||||
"desc": "Délai avant mise en veille (s=secondes | m=minutes)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Délai", "extinction"],
|
||||
"desc": "Délai avant extinction (M=minutes)"
|
||||
"desc": "Délai avant extinction (m=minutes)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Sensibilité", "au mouvement"],
|
||||
@@ -147,7 +137,7 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["Délai", "expiration PD"],
|
||||
"desc": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC (0: désactivé)"
|
||||
"desc": "Délai de la negociation PD par étapes de 100ms pour la compatiblité avec certains chargeurs QC"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Limite de", "puissance"],
|
||||
@@ -175,7 +165,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Sensibilité", "capteur effet hall"],
|
||||
"desc": "Sensibilité du capteur à effet Hall pour la mise en veille (D=désactivé | B=basse | M=moyenne | H=haute)"
|
||||
"desc": "Sensibilité du capteur à effet Hall pour la mise en veille (0=désactivé | 1=peu sensible | ... | 9=très sensible)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Tension", "minimale"],
|
||||
@@ -199,7 +189,7 @@
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Langue :", " FR Français"],
|
||||
"desc": ""
|
||||
"desc": "Langue du firmware"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Luminosité", "de l'écran"],
|
||||
@@ -208,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": ["Inverser", "les couleurs"],
|
||||
"desc": "Inverser les couleurs de l'écran OLED"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "HR",
|
||||
"languageLocalName": "Hrvatski",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibracija gotova!",
|
||||
"SettingsCalibrationWarning": "Provjerite da je vršak ohlađen na sobnu temperaturu prije nego što nastavite!",
|
||||
"SettingsResetWarning": "Jeste li sigurni da želite sve postavke vratiti na tvorničke vrijednosti?",
|
||||
"UVLOWarningString": "BATERIJA",
|
||||
"UndervoltageString": "PRENIZAK NAPON",
|
||||
"InputVoltageString": "Napajanje: ",
|
||||
"WarningTipTempString": "Temp vrha: ",
|
||||
"BadTipString": "LOŠ VRH",
|
||||
"SleepingSimpleString": "Zzz ",
|
||||
"SleepingAdvancedString": "SPAVANJE...",
|
||||
"WarningSimpleString": "VRUĆ",
|
||||
"WarningAdvancedString": "OPREZ, VRUĆE!",
|
||||
"SleepingTipAdvancedString": "Vrh: ",
|
||||
"IdleTipString": "Vrh: ",
|
||||
"IdleSetString": " / ",
|
||||
"TipDisconnectedString": "VRH NIJE SPOJEN!",
|
||||
"SolderingAdvancedPowerPrompt": "Snaga: ",
|
||||
"OffString": "Off",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": " LOCKED",
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -147,51 +137,51 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Temperature-change-increment on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Temperature-change-increment on long button press"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Intensity of power of keep-awake-pulse (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Ugašeno | 1=Najmanje osjetljivo | ... | 9=Najosjetljivije)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V, 4-6S: 2.4 - 3.7V)"
|
||||
"desc": "Minimum allowed voltage per cell (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | B=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,36 +2,27 @@
|
||||
"languageCode": "HU",
|
||||
"languageLocalName": "Magyar",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibráció befejezve!",
|
||||
"SettingsCalibrationWarning": "Folytatás előtt győződjön meg róla, hogy a páka szobahőmérsékletű!",
|
||||
"SettingsResetWarning": "Biztosan visszaállítja a beállításokat az alapértelmezett értékekre?",
|
||||
"UVLOWarningString": "DC KEVÉS",
|
||||
"SettingsCalibrationWarning": "Folytatás előtt győződjön meg róla, hogy a forrasztó hegy szobahőmérsékletű!",
|
||||
"SettingsResetWarning": "Biztos visszaállítja a beállításokat alapértékekre?",
|
||||
"UVLOWarningString": "DC TÚL KEVÉS",
|
||||
"UndervoltageString": "Alulfeszültség",
|
||||
"InputVoltageString": "Bemenet V: ",
|
||||
"WarningTipTempString": "Hegy hő: ",
|
||||
"BadTipString": "PÁKAHIBA",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Alvás...",
|
||||
"WarningSimpleString": "FORRÓ!",
|
||||
"WarningAdvancedString": "!! FORRÓ PÁKA !!",
|
||||
"SleepingTipAdvancedString": "Páka:",
|
||||
"IdleTipString": "Páka:",
|
||||
"IdleSetString": " Cél:",
|
||||
"TipDisconnectedString": "PÁKA LEVÉVE",
|
||||
"SolderingAdvancedPowerPrompt": "Telj: ",
|
||||
"OffString": "Ki",
|
||||
"YourGainMessage": "Erősítés:"
|
||||
"SleepingTipAdvancedString": "Hegy:",
|
||||
"OffString": "Ki"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": ["Törlés OK", ""],
|
||||
"SettingsResetMessage": ["Beállítások", "törölve!"],
|
||||
"ResetOKMessage": "Törlés OK",
|
||||
"SettingsResetMessage": ["Beállítások", "visszaállítva!"],
|
||||
"NoAccelerometerMessage": ["Nincs", "gyorsulásmérő!"],
|
||||
"NoPowerDeliveryMessage": ["Nincs USB-PD IC!", ""],
|
||||
"NoPowerDeliveryMessage": ["Nincs", "USB-PD IC!"],
|
||||
"LockingKeysString": "LEZÁRVA",
|
||||
"UnlockingKeysString": "FELOLDVA",
|
||||
"WarningKeysLockedString": "!LEZÁRVA!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
"WarningThermalRunaway": ["Kontrollálatlan", "hőmérséklet!"]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "J",
|
||||
@@ -40,19 +31,18 @@
|
||||
"SettingOffChar": "0",
|
||||
"SettingSlowChar": "L",
|
||||
"SettingMediumChar": "K",
|
||||
"SettingFastChar": "G",
|
||||
"SettingFastChar": "Gy",
|
||||
"SettingStartNoneChar": "K",
|
||||
"SettingStartSolderingChar": "F",
|
||||
"SettingStartSleepChar": "A",
|
||||
"SettingStartSleepOffChar": "S",
|
||||
"SettingStartSleepOffChar": "Sz",
|
||||
"SettingSensitivityOff": "0",
|
||||
"SettingSensitivityLow": "A",
|
||||
"SettingSensitivityMedium": "K",
|
||||
"SettingSensitivityHigh": "M",
|
||||
"SettingLockDisableChar": "K",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "T",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "T"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -79,7 +69,7 @@
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": ["Áram", "forrás"],
|
||||
"desc": "Kikapcsolási feszültség beállítása (DC:10V | S:3.3V/LiPo cella)"
|
||||
"desc": "Kikapcsolási feszültség beállítása (DC:10V | S:3.3V/LiPo cella | ki)"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": ["Alvási", "hőmérséklet"],
|
||||
@@ -115,15 +105,15 @@
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Automatikus", "indítás"],
|
||||
"desc": "Bekapcsolás után automatikusan lépjen forrasztás módba (K=ki | F=forrasztás | A=alvó mód | S=szobahőmérséklet)"
|
||||
"desc": "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)"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Villogás", "hűléskor"],
|
||||
"desc": "Villogjon a hőmérséklet hűlés közben, amíg a páka forró"
|
||||
"desc": "Villogjon a hőmérséklet kijelzése hűlés közben, amíg a forrasztó hegy forró"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": ["Hőmérséklet", "kalibrálása?"],
|
||||
"desc": "Páka hőmérséklet-érzékelőjének kalibrálása"
|
||||
"desc": "Forrasztó hegy hőmérséklet-érzékelőjének kalibrálása"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Gyári", "beállítások?"],
|
||||
@@ -131,10 +121,10 @@
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Bemeneti fesz.", "kalibrálása?"],
|
||||
"desc": "Bemeneti feszültség kalibrálása (röviden megnyomva módosítás, hosszan megnyomva kilépés)"
|
||||
"desc": "Bemeneti feszültség kalibrálása (hosszan nyomva kilép)"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": ["Részletes", "forrasztás"],
|
||||
"text2": ["Részletes", "forrasztás infó"],
|
||||
"desc": "Részletes információk megjelenítése forrasztás közben"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
@@ -147,23 +137,23 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "időtúllépés"],
|
||||
"desc": "PD egyeztetési leidőzítés 100ms lépésekben megadva néhány QC töltővel való kompatibilitás érdekében (0: kikapcsolva)"
|
||||
"desc": "PD egyeztetés időkerete (kompatibilitás QC töltőkkel) (x 100ms)"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Teljesítmény", "maximum"],
|
||||
"desc": "Maximális felvett teljesitmény beállitása"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["+/- gomb", "fordítva"],
|
||||
"desc": "Páka hőmérséklet növelés/csökkentés gombok felcserélése"
|
||||
"text2": ["+/- gomb", "megfordítása"],
|
||||
"desc": "Forrasztó hegy hőmérsékletállító gombok felcserélése"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Hőm. váltás", "rövid"],
|
||||
"desc": "Hőmérséklet váltás rövid gombnyomásra (C | F)"
|
||||
"text2": ["Hőm. állítás", "rövid"],
|
||||
"desc": "Hőmérséklet állítás rövid gombnyomásra (C | F)"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Hőm. váltás", "hosszú"],
|
||||
"desc": "Hőmérséklet váltás hosszú gombnyomásra (C | F)"
|
||||
"text2": ["Hőm. állítás", "hosszú"],
|
||||
"desc": "Hőmérséklet állítás hosszú gombnyomásra (C | F)"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Ébr. pulzus", "nagysága"],
|
||||
@@ -171,11 +161,11 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Alvásérzékelő", "érzékenység"],
|
||||
"desc": "Alvásérzékelő gyorsulásmérő érzékenysége (0=ki | A=alacsony | K=közepes | M=magas)"
|
||||
"desc": "Alvásérzékelő gyorsulásmérő érzékenysége (0=kikapcsolva | 1=legkevésbé érzékeny | ... | 9=legérzékenyebb)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Lezárás", "engedélyezés"],
|
||||
"desc": "Forrasztás közben mindkét gombot hosszan lenyomva rögzíti a hőmérsékletet (K=ki | B=csak \"boost\" mód | T=teljes lezárás)"
|
||||
"desc": "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)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "feszültség"],
|
||||
@@ -187,27 +177,31 @@
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Animáció", "sebessége"],
|
||||
"desc": "Menüikonok animációjának sebessége (0=ki | L=lassú | K=közepes | G=gyors)"
|
||||
"desc": "Menüikonok animációjának sebessége (0=ki | L=lassú | K=közepes | Gy=gyors)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Ébr. pulzus", "időköze"],
|
||||
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok időköze (x2.5s)"
|
||||
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok időköze (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Ébr. pulzus", "időtartama"],
|
||||
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok időtartama (x250ms)"
|
||||
"desc": "Powerbankot ébrentartó áramfelvételi pulzusok időtartama (x 250ms)"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Nyelv:", " HU Magyar"],
|
||||
"desc": ""
|
||||
"desc": "Firmware nyelve"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Képernyő", "kontraszt"],
|
||||
"desc": "Képernyő kontrasztjának állítása"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
"text2": ["Képernyő", "invertálás"],
|
||||
"desc": "Képernyő színeinek invertálása"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,336 +1,207 @@
|
||||
{
|
||||
"languageCode": "IT",
|
||||
"languageLocalName": "Italiano",
|
||||
"fonts": [
|
||||
"ascii_basic",
|
||||
"latin_extended"
|
||||
],
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Assicurarsi che la punta si trovi a temperatura ambiente prima di continuare!",
|
||||
"SettingsResetWarning": "Ripristinare le impostazioni iniziali?",
|
||||
"UVLOWarningString": "DC BASSA",
|
||||
"UndervoltageString": "DC INSUFFICIENTE",
|
||||
"InputVoltageString": "V in:",
|
||||
"SleepingSimpleString": "Zzz ",
|
||||
"SleepingAdvancedString": "Riposo",
|
||||
"SleepingTipAdvancedString": "Punta:",
|
||||
"IdleTipString": "T punta:",
|
||||
"IdleSetString": "/",
|
||||
"TipDisconnectedString": "PUNTA ASSENTE",
|
||||
"SolderingAdvancedPowerPrompt": "Potenz:",
|
||||
"OffString": "OFF"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": [
|
||||
"Impostazioni",
|
||||
"ripristinate"
|
||||
],
|
||||
"NoAccelerometerMessage": [
|
||||
"Accelerometro",
|
||||
"non rilevato"
|
||||
],
|
||||
"NoPowerDeliveryMessage": [
|
||||
"USB PD",
|
||||
"non rilevato"
|
||||
],
|
||||
"LockingKeysString": "Blocc.",
|
||||
"UnlockingKeysString": "Sblocc.",
|
||||
"WarningKeysLockedString": "BLOCCATO",
|
||||
"WarningThermalRunaway": [
|
||||
"Temperatura",
|
||||
"fuori controllo"
|
||||
]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "D",
|
||||
"SettingLeftChar": "S",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "O",
|
||||
"SettingSlowChar": "L",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "V",
|
||||
"SettingStartNoneChar": "D",
|
||||
"SettingStartSolderingChar": "S",
|
||||
"SettingStartSleepChar": "R",
|
||||
"SettingStartSleepOffChar": "A",
|
||||
"SettingSensitivityOff": "O",
|
||||
"SettingSensitivityLow": "B",
|
||||
"SettingSensitivityMedium": "M",
|
||||
"SettingSensitivityHigh": "A",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "T",
|
||||
"SettingLockFullChar": "C",
|
||||
"SettingNAChar": " NA"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": [
|
||||
"Opzioni",
|
||||
"alimentaz"
|
||||
],
|
||||
"desc": "Menù d'impostazioni per l'alimentazione"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
"Opzioni",
|
||||
"saldatura"
|
||||
],
|
||||
"desc": "Menù d'impostazioni della modalità Saldatura"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": [
|
||||
"Risparmio",
|
||||
"energetico"
|
||||
],
|
||||
"desc": "Menù d'impostazioni per il risparmio energetico"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": [
|
||||
"Interfaccia",
|
||||
"utente"
|
||||
],
|
||||
"desc": "Menù d'impostazioni dell'interfaccia utente"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": [
|
||||
"Opzioni",
|
||||
"avanzate"
|
||||
],
|
||||
"desc": "Menù d'impostazioni avanzate"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": [
|
||||
"Sorgente",
|
||||
"alimentaz"
|
||||
],
|
||||
"desc": "Imposta una tensione minima di alimentazione attraverso la selezione di una sorgente [DC: 10 V; 3S/4S/5S/6S: 3,3 V per cella]"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": [
|
||||
"Temp",
|
||||
"riposo"
|
||||
],
|
||||
"desc": "Imposta la temperatura da mantenere in modalità Riposo [°C/°F]"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": [
|
||||
"Timer",
|
||||
"riposo"
|
||||
],
|
||||
"desc": "Imposta il timer per entrare in modalità Riposo [minuti/secondi]"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": [
|
||||
"Timer",
|
||||
"spegnimento"
|
||||
],
|
||||
"desc": "Imposta il timer per lo spegnimento [minuti]"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": [
|
||||
"Sensibilità",
|
||||
"al movimento"
|
||||
],
|
||||
"desc": "Imposta la sensibilità al movimento per uscire dalla modalità Riposo [0: nessuna; 1: minima; 9: massima]"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": [
|
||||
"Unità di",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Scegli l'unità di misura per la temperatura [C: grado Celsius; F: grado Farenheit]"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": [
|
||||
"Interfaccia",
|
||||
"testuale"
|
||||
],
|
||||
"desc": "Mostra informazioni dettagliate all'interno della schermata principale"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": [
|
||||
"Orientamento",
|
||||
"schermo"
|
||||
],
|
||||
"desc": "Imposta l'orientamento dello schermo [D: mano destra; S: mano sinistra; A: automatico]"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": [
|
||||
"Temp",
|
||||
"Turbo"
|
||||
],
|
||||
"desc": "Imposta la temperatura della funzione Turbo [°C/°F]"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": [
|
||||
"Avvio",
|
||||
"automatico"
|
||||
],
|
||||
"desc": "Attiva automaticamente il saldatore quando viene alimentato [D: disattiva; S: saldatura; R: riposo; A: temperatura ambiente]"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": [
|
||||
"Avviso",
|
||||
"punta calda"
|
||||
],
|
||||
"desc": "Evidenzia il valore di temperatura durante il raffreddamento se la punta è ancora calda"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": [
|
||||
"Calibrazione",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Calibra le rilevazioni di temperatura"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": [
|
||||
"Ripristino",
|
||||
"impostazioni"
|
||||
],
|
||||
"desc": "Ripristina le impostazioni allo stato iniziale"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": [
|
||||
"Calibrazione",
|
||||
"tensione"
|
||||
],
|
||||
"desc": "Calibra la tensione in ingresso; regola con entrambi i tasti, tieni premuto il tasto superiore per uscire"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": [
|
||||
"Dettagli",
|
||||
"saldatura"
|
||||
],
|
||||
"desc": "Mostra informazioni dettagliate durante la modalità Saldatura"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": [
|
||||
"Velocità",
|
||||
"testo"
|
||||
],
|
||||
"desc": "Imposta la velocità di scorrimento del testo [L: lenta; V: veloce]"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": [
|
||||
"Voltaggio",
|
||||
"QC"
|
||||
],
|
||||
"desc": "Imposta il massimo voltaggio negoziabile con un alimentatore Quick Charge [volt]"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": [
|
||||
"Abilitazione",
|
||||
"USB PD"
|
||||
],
|
||||
"desc": "Regola il massimo tempo utile per la negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": [
|
||||
"Limite",
|
||||
"potenza"
|
||||
],
|
||||
"desc": "Imposta il valore di potenza massima erogabile al saldatore [watt]"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": [
|
||||
"Inversione",
|
||||
"tasti"
|
||||
],
|
||||
"desc": "Inverti i tasti per aumentare o diminuire la temperatura della punta"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": [
|
||||
"Temp passo",
|
||||
"breve"
|
||||
],
|
||||
"desc": "Imposta il passo dei valori di temperatura per una breve pressione dei tasti"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": [
|
||||
"Temp passo",
|
||||
"lungo"
|
||||
],
|
||||
"desc": "Imposta il passo dei valori di temperatura per una lunga pressione dei tasti"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": [
|
||||
"Potenza",
|
||||
"impulso"
|
||||
],
|
||||
"desc": "Regola la potenza di un \"impulso sveglia\" atto a prevenire lo standby eventuale dell'alimentatore [watt]"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": [
|
||||
"Sensore",
|
||||
"Hall"
|
||||
],
|
||||
"desc": "Regola la sensibilità del sensore ad effetto Hall per entrare in modalità Riposo [O: OFF; B: bassa; M: media; A: alta]"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": [
|
||||
"Blocco",
|
||||
"tasti"
|
||||
],
|
||||
"desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare o sbloccare [D: disattiva; T: consenti Turbo; C: blocco completo]"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": [
|
||||
"Tensione",
|
||||
"min celle"
|
||||
],
|
||||
"desc": "Modifica la tensione di minima carica delle celle di una batteria Li-Po [3S: 3,0-3,7 V; 4S/5S/6S: 2,4-3,7 V]"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": [
|
||||
"Ciclo",
|
||||
"animazioni"
|
||||
],
|
||||
"desc": "Abilita la riproduzione ciclica delle animazioni del menù principale"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": [
|
||||
"Velocità",
|
||||
"animazioni"
|
||||
],
|
||||
"desc": "Imposta la velocità di riproduzione delle animazioni del menù principale [O: OFF; L: lenta; M: media; V: veloce]"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": [
|
||||
"Distanza",
|
||||
"impulsi"
|
||||
],
|
||||
"desc": "Imposta il tempo che deve intercorrere tra due \"impulsi sveglia\" [multipli di 2,5 s]"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": [
|
||||
"Durata",
|
||||
"impulso"
|
||||
],
|
||||
"desc": "Regola la durata dell'«impulso sveglia» [multipli di 250 ms]"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": [
|
||||
"Lingua:",
|
||||
" IT Italiano"
|
||||
],
|
||||
"desc": "Imposta la lingua del dispositivo"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": [
|
||||
"Luminosità",
|
||||
"schermo"
|
||||
],
|
||||
"desc": "Regola la luminosità dello schermo [1: minimo; 10: massimo]"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": [
|
||||
"Inverti",
|
||||
"colori"
|
||||
],
|
||||
"desc": "Inverti i colori dello schermo"
|
||||
}
|
||||
}
|
||||
"languageCode": "IT",
|
||||
"languageLocalName": "Italiano",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Assicurarsi che la punta si trovi a temperatura ambiente prima di continuare!",
|
||||
"SettingsResetWarning": "Ripristinare le impostazioni iniziali?",
|
||||
"UVLOWarningString": "DC BASSA",
|
||||
"UndervoltageString": "DC INSUFFICIENTE",
|
||||
"InputVoltageString": "V in:",
|
||||
"SleepingSimpleString": "Zzz ",
|
||||
"SleepingAdvancedString": "Riposo",
|
||||
"SleepingTipAdvancedString": "Punta:",
|
||||
"OffString": "OFF"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Impostazioni", "ripristinate"],
|
||||
"NoAccelerometerMessage": ["Accelerometro", "non rilevato"],
|
||||
"NoPowerDeliveryMessage": ["USB PD", "non rilevato"],
|
||||
"LockingKeysString": "Blocc.",
|
||||
"UnlockingKeysString": "Sblocc.",
|
||||
"WarningKeysLockedString": "BLOCCATO",
|
||||
"WarningThermalRunaway": ["Temperatura", "fuori controllo"]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "D",
|
||||
"SettingLeftChar": "S",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "O",
|
||||
"SettingSlowChar": "L",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "V",
|
||||
"SettingStartNoneChar": "D",
|
||||
"SettingStartSolderingChar": "S",
|
||||
"SettingStartSleepChar": "R",
|
||||
"SettingStartSleepOffChar": "A",
|
||||
"SettingSensitivityOff": "O",
|
||||
"SettingSensitivityLow": "B",
|
||||
"SettingSensitivityMedium": "M",
|
||||
"SettingSensitivityHigh": "A",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "T",
|
||||
"SettingLockFullChar": "C"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": ["Opzioni", "alimentaz"],
|
||||
"desc": "Menù d'impostazioni per l'alimentazione"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": ["Opzioni", "saldatura"],
|
||||
"desc": "Menù d'impostazioni della modalità Saldatura"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": ["Risparmio", "energetico"],
|
||||
"desc": "Menù d'impostazioni per il risparmio energetico"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": ["Interfaccia", "utente"],
|
||||
"desc": "Menù d'impostazioni dell'interfaccia utente"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": ["Opzioni", "avanzate"],
|
||||
"desc": "Menù d'impostazioni avanzate"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": ["Sorgente", "alimentaz"],
|
||||
"desc": "Imposta una tensione minima di alimentazione attraverso la selezione di una sorgente [DC: 10 V; 3S/4S/5S/6S: 3,3 V per cella]"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": ["Temp", "riposo"],
|
||||
"desc": "Imposta la temperatura da mantenere in modalità Riposo [°C/°F]"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Timer", "riposo"],
|
||||
"desc": "Imposta il timer per entrare in modalità Riposo [secondi/minuti]"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Timer", "spegnimento"],
|
||||
"desc": "Imposta il timer per lo spegnimento [minuti]"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Sensibilità", "al movimento"],
|
||||
"desc": "Imposta la sensibilità al movimento per uscire dalla modalità Riposo [0: nessuna; 1: minima; 9: massima]"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": ["Unità di", "temperatura"],
|
||||
"desc": "Scegli l'unità di misura per la temperatura [C: grado Celsius; F: grado Farenheit]"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": ["Interfaccia", "testuale"],
|
||||
"desc": "Mostra informazioni dettagliate all'interno della schermata principale"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": ["Orientamento", "schermo"],
|
||||
"desc": "Imposta l'orientamento dello schermo [D: mano destra; S: mano sinistra; A: automatico]"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": ["Temp", "Turbo"],
|
||||
"desc": "Imposta la temperatura della funzione Turbo [°C/°F]"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Avvio", "automatico"],
|
||||
"desc": "Attiva automaticamente il saldatore quando viene alimentato [D: disattiva; S: saldatura; R: riposo; A: temperatura ambiente]"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Avviso", "punta calda"],
|
||||
"desc": "Evidenzia il valore di temperatura durante il raffreddamento se la punta è ancora calda"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": ["Calibrazione", "temperatura"],
|
||||
"desc": "Calibra le rilevazioni di temperatura"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Ripristino", "impostazioni"],
|
||||
"desc": "Ripristina le impostazioni allo stato iniziale"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Calibrazione", "tensione"],
|
||||
"desc": "Calibra la tensione in ingresso; regola con entrambi i tasti, tieni premuto il tasto superiore per uscire"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": ["Dettagli", "saldatura"],
|
||||
"desc": "Mostra informazioni dettagliate durante la modalità Saldatura"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": ["Velocità", "testo"],
|
||||
"desc": "Imposta la velocità di scorrimento del testo [L: lenta; V: veloce]"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["Voltaggio", "QC"],
|
||||
"desc": "Imposta il massimo voltaggio negoziabile con un alimentatore Quick Charge [volt]"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["Abilitazione", "USB PD"],
|
||||
"desc": "Regola il massimo tempo utile per la negoziazione del protocollo USB Power Delivery con alimentatori compatibili [0: disattiva; multipli di 100 ms]"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Limite", "potenza"],
|
||||
"desc": "Imposta il valore di potenza massima erogabile al saldatore [watt]"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Inversione", "tasti"],
|
||||
"desc": "Inverti i tasti per aumentare o diminuire la temperatura della punta"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp passo", "breve"],
|
||||
"desc": "Imposta il passo dei valori di temperatura per una breve pressione dei tasti"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp passo", "lungo"],
|
||||
"desc": "Imposta il passo dei valori di temperatura per una lunga pressione dei tasti"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Potenza", "impulso"],
|
||||
"desc": "Regola la potenza di un \"impulso sveglia\" atto a prevenire lo standby eventuale dell'alimentatore [watt]"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Sensore", "Hall"],
|
||||
"desc": "Regola la sensibilità del sensore ad effetto Hall per entrare in modalità Riposo [0: nessuna; 1: minima; 9: massima]"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Blocco", "tasti"],
|
||||
"desc": "Blocca i tasti durante la modalità Saldatura; tieni premuto entrambi per bloccare o sbloccare [D: disattiva; T: consenti Turbo; C: blocco completo]"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Tensione", "min celle"],
|
||||
"desc": "Modifica la tensione di minima carica delle celle di una batteria Li-Po [3S: 3,0-3,7 V; 4S/5S/6S: 2,4-3,7 V]"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Ciclo", "animazioni"],
|
||||
"desc": "Abilita la riproduzione ciclica delle animazioni del menù principale"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Velocità", "animazioni"],
|
||||
"desc": "Imposta la velocità di riproduzione delle animazioni del menù principale [O: OFF; L: lenta; M: media; V: veloce]"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Distanza", "impulsi"],
|
||||
"desc": "Imposta il tempo che deve intercorrere tra due \"impulsi sveglia\" [multipli di 2,5 s]"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Durata", "impulso"],
|
||||
"desc": "Regola la durata dell'«impulso sveglia» [multipli di 250 ms]"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Lingua:", " IT Italiano"],
|
||||
"desc": "Imposta la lingua del dispositivo"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Luminosità", "schermo"],
|
||||
"desc": "Regola la luminosità dello schermo [1: minimo; 10: massimo]"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Inverti", "colori"],
|
||||
"desc": "Inverti i colori dello schermo"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Durata", "logo"],
|
||||
"desc": "Imposta la permanenza sullo schermo del logo iniziale [secondi]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Sleeping...",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "NO TIP",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "オフ"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -46,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "高",
|
||||
"SettingLockDisableChar": "×",
|
||||
"SettingLockBoostChar": "ブ",
|
||||
"SettingLockFullChar": "全",
|
||||
"SettingNAChar": "非適用"
|
||||
"SettingLockFullChar": "全"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -82,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": "待機遅延",
|
||||
"desc": "スタンバイモードに入るまでの待機時間 <S=秒 | M=分>"
|
||||
"desc": "スタンバイモードに入るまでの待機時間 <s=秒 | m=分>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": "自動オフ",
|
||||
"desc": "自動電源オフまでの待機時間 <M=分>"
|
||||
"desc": "自動電源オフまでの待機時間 <m=分>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": "動きの感度",
|
||||
@@ -166,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": "磁界感度",
|
||||
"desc": "スタンバイモードに入るのに使用される磁場センサーの感度 <×=オフ | 低=最低感度 | 中=中程度の感度 | 高=最高感度>"
|
||||
"desc": "スタンバイモードに入るのに使用される磁場センサーの感度 <0=オフ | 1=最低感度 | ... | 9=最高感度>"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": "ボタンロック",
|
||||
@@ -203,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": "色反転",
|
||||
"desc": "画面の色を反転する"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "LT",
|
||||
"languageLocalName": "Lietuvių",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibravimas atliktas!",
|
||||
"SettingsCalibrationWarning": "Prieš tęsdami įsitikinkite, kad antgalis yra kambario temperatūros!",
|
||||
"SettingsResetWarning": "Ar norite atstatyti nustatymus į numatytas reikšmes?",
|
||||
"UVLOWarningString": "MAŽ VOLT",
|
||||
"UndervoltageString": "Žema įtampa",
|
||||
"InputVoltageString": "Įvestis V: ",
|
||||
"WarningTipTempString": "Angal Temp: ",
|
||||
"BadTipString": "BLOG ANT",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Miegu...",
|
||||
"WarningSimpleString": "KRŠ!",
|
||||
"WarningAdvancedString": "ANTGALIS KARŠTAS",
|
||||
"SleepingTipAdvancedString": "Antg: ",
|
||||
"IdleTipString": "Ant:",
|
||||
"IdleSetString": " Nust:",
|
||||
"TipDisconnectedString": "NĖRA ANTGALIO",
|
||||
"SolderingAdvancedPowerPrompt": "Galia: ",
|
||||
"OffString": "Išj",
|
||||
"YourGainMessage": "Greitis:"
|
||||
"SleepingTipAdvancedString": "Antg:",
|
||||
"OffString": "Išj"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Atstatytas OK",
|
||||
"ResetOKMessage": "Atstatyta",
|
||||
"SettingsResetMessage": ["Nust. atstatyti!", ""],
|
||||
"NoAccelerometerMessage": ["Nerastas", "akselerometras!"],
|
||||
"NoPowerDeliveryMessage": ["Nerastas", "USB-PD IC !"],
|
||||
"LockingKeysString": " UŽRAKIN",
|
||||
"NoPowerDeliveryMessage": ["Nerastas", "USB-PD IC!"],
|
||||
"LockingKeysString": "UŽRAKIN",
|
||||
"UnlockingKeysString": "ATRAKIN",
|
||||
"WarningKeysLockedString": "!UŽRAK!",
|
||||
"WarningThermalRunaway": ["Perkaitimo", "pavojus"]
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "A",
|
||||
"SettingLockDisableChar": "I",
|
||||
"SettingLockBoostChar": "T",
|
||||
"SettingLockFullChar": "V",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "V"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -83,7 +73,7 @@
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": ["Miego", "temperat."],
|
||||
"desc": "Miego temperatūra"
|
||||
"desc": "Antgalio temperatūra miego režimu"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Miego", "laikas"],
|
||||
@@ -146,8 +136,8 @@
|
||||
"desc": "Maksimali QC maitinimo bloko įtampa"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"text2": ["PD", "laikas"],
|
||||
"desc": "PD suderinimo laikas žingsniais po 100ms suderinamumui su kai kuriais QC įkrovikliais"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Galios", "riba"],
|
||||
@@ -155,15 +145,15 @@
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Sukeisti + -", "mygtukus?"],
|
||||
"desc": "Sukeisti + - temperatūros keitimo mygtukus vietomis."
|
||||
"desc": "Sukeisti + - temperatūros keitimo mygtukus vietomis"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp.keitim.", "trump.spust."],
|
||||
"desc": "Temperatūros keitimo žingsnis trumpai spustėlėjus mygtuką!"
|
||||
"desc": "Temperatūros keitimo žingsnis trumpai spustėlėjus mygtuką"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp.keitim.", "ilgas pasp."],
|
||||
"desc": "Temperatūros keitimo žingsnis ilgai paspaudus mygtuką!"
|
||||
"desc": "Temperatūros keitimo žingsnis ilgai paspaudus mygtuką"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Galios", "pulso W"],
|
||||
@@ -171,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Holo", "jutiklis"],
|
||||
"desc": "Holo jutiklio jautrumas nustatant miegą (I=Išjungtas | Ž=Žemas | V=Vidutinis | A=Aukštas)"
|
||||
"desc": "Holo jutiklio jautrumas nustatant miegą (0=Išjungta | 1=Mažiausias | ... | 9=Didžiausias)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Mygtukų", "užraktas"],
|
||||
@@ -183,7 +173,7 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Animacijų", "pakartojimas"],
|
||||
"desc": "Leidžia kartoti animacijas be sustojimo pagrindiniame meniu."
|
||||
"desc": "Leidžia kartoti animacijas be sustojimo pagrindiniame meniu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Animacijų", "greitis"],
|
||||
@@ -191,7 +181,7 @@
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Galios pulso", "dažnumas"],
|
||||
"desc": "Pasikartojantis laiko intervalas (x 2.5s), ties kuriuo kartojamas galios pulsas maitinblokiui, neleidžiantis jam užmigti."
|
||||
"desc": "Pasikartojantis laiko intervalas (x 2.5s), ties kuriuo kartojamas galios pulsas maitinblokiui, neleidžiantis jam užmigti"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Galios pulso", "trukmė"],
|
||||
@@ -199,7 +189,7 @@
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Kalba:", " LT Lietuvių"],
|
||||
"desc": ""
|
||||
"desc": "Dabartinė programinės įrangos kalba"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Ekrano", "šviesumas"],
|
||||
@@ -207,7 +197,11 @@
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Ekrano", "invertavimas"],
|
||||
"desc": "Invertuoja OLED ekrano spalvas."
|
||||
"desc": "Invertuoja OLED ekrano spalvas"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
"languageCode": "NL",
|
||||
"languageLocalName": "Nederlands",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibratie klaar!",
|
||||
"SettingsCalibrationWarning": "Zorg ervoor dat te punt op kamertemperatuur is voor je verder gaat!",
|
||||
"SettingsResetWarning": "Weet je zeker dat je de fabrieksinstellingen terug wil zetten?",
|
||||
"UVLOWarningString": "DC Laag",
|
||||
"UndervoltageString": "Onderspanning",
|
||||
"InputVoltageString": "Input V: ",
|
||||
"WarningTipTempString": "Punt temp: ",
|
||||
"BadTipString": "DEFECTE PUNT",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Slaapstand...",
|
||||
"WarningSimpleString": "HEET!",
|
||||
"WarningAdvancedString": "!!! PUNT HOT !!!",
|
||||
"SleepingTipAdvancedString": "Punt:",
|
||||
"IdleTipString": "Punt:",
|
||||
"IdleSetString": " Zet:",
|
||||
"TipDisconnectedString": "PUNT LOSGEKOPPELT",
|
||||
"SolderingAdvancedPowerPrompt": "Vermogen: ",
|
||||
"OffString": "Uit",
|
||||
"YourGainMessage": "Niveau:"
|
||||
"OffString": "Uit"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "U",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "V",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "V"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -170,8 +160,8 @@
|
||||
"desc": "Vermogen van puls om soldeerbout aan te houden"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Blokkeer", "knoppen"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "NL_BE",
|
||||
"languageLocalName": "Vlaams",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Gecalibreerd!",
|
||||
"SettingsCalibrationWarning": "Zorg vooraf dat de punt op kamertemperatuur is!",
|
||||
"SettingsResetWarning": "Ben je zeker dat je alle standaardwaarden wil resetten?",
|
||||
"UVLOWarningString": "Voedingsspanning LAAG",
|
||||
"UndervoltageString": "Onderspanning",
|
||||
"InputVoltageString": "Voedingsspanning: ",
|
||||
"WarningTipTempString": "Punt Temp: ",
|
||||
"BadTipString": "DEFECT",
|
||||
"SleepingSimpleString": "Zzz ",
|
||||
"SleepingAdvancedString": "Slaapstand...",
|
||||
"WarningSimpleString": "HEET",
|
||||
"WarningAdvancedString": "!!! PUNT HEET !!!",
|
||||
"SleepingTipAdvancedString": "Punt:",
|
||||
"IdleTipString": "Punt:",
|
||||
"IdleSetString": "Stel in:",
|
||||
"TipDisconnectedString": "Punt ONTKOPPELD",
|
||||
"SolderingAdvancedPowerPrompt": "Vermogen: ",
|
||||
"OffString": "Uit",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Uit"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": " LOCKED",
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -147,35 +137,35 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Temperature-change-increment on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Temperature-change-increment on long button press"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Intensity of power of keep-awake-pulse (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=uit | 1=minst gevoelig | ... | 9=meest gevoelig)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | T=slow | M=medium | S=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,24 @@
|
||||
"languageCode": "NO",
|
||||
"languageLocalName": "Norsk",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibration done!",
|
||||
"SettingsCalibrationWarning": "Sørg for at loddespissen har romtemperatur før du fortsetter!",
|
||||
"SettingsResetWarning": "Er du sikker på at du vil tilbakestille til standardinnstillinger?",
|
||||
"UVLOWarningString": "Lavspenn",
|
||||
"UndervoltageString": "Underspenning",
|
||||
"InputVoltageString": "Innspenn.: ",
|
||||
"WarningTipTempString": "Spisstemp: ",
|
||||
"BadTipString": "BAD TIP",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Dvale...",
|
||||
"WarningSimpleString": "Varm",
|
||||
"WarningAdvancedString": "VARM SPISS!",
|
||||
"SleepingTipAdvancedString": "Spiss:",
|
||||
"IdleTipString": "Spiss:",
|
||||
"IdleSetString": "Set:",
|
||||
"TipDisconnectedString": "SPISS FRAKOBLET",
|
||||
"SolderingAdvancedPowerPrompt": "Effekt: ",
|
||||
"OffString": "Av",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Av"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": " LOCKED",
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
@@ -38,9 +29,9 @@
|
||||
"SettingLeftChar": "V",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "O",
|
||||
"SettingSlowChar": "L",
|
||||
"SettingSlowChar": "S",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "H",
|
||||
"SettingFastChar": "F",
|
||||
"SettingStartNoneChar": "I",
|
||||
"SettingStartSolderingChar": "L",
|
||||
"SettingStartSleepChar": "D",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -142,40 +132,40 @@
|
||||
"desc": "Hastigheten på rulletekst"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["Power", "Wattage"],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
"text2": ["QC", "voltage"],
|
||||
"desc": "Max QC voltage the iron should negotiate for"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Temperature-change-increment on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Temperature-change-increment on long button press"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Intensity of power of keep-awake-pulse (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Inaktiv | 1=Minst følsom | ... | 9=Mest følsom)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,25 +4,15 @@
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibracja udana!",
|
||||
"SettingsCalibrationWarning": "Przed kontynuowaniem upewnij się, że końcówka osiągnęła temperaturę pokojową!",
|
||||
"SettingsResetWarning": "Czy na pewno chcesz przywrócić ustawienia fabryczne?",
|
||||
"UVLOWarningString": "NIS. NAP",
|
||||
"UndervoltageString": "Zbyt niskie nap.",
|
||||
"InputVoltageString": "Nap. wej.:",
|
||||
"WarningTipTempString": "Temp. grotu:",
|
||||
"BadTipString": "ZŁY GROT",
|
||||
"SleepingSimpleString": "Zzz!",
|
||||
"SleepingAdvancedString": "Tr. uśpienia",
|
||||
"WarningSimpleString": "HOT!",
|
||||
"WarningAdvancedString": "GORĄCA KOŃCÓWKA!",
|
||||
"SleepingTipAdvancedString": "Grot:",
|
||||
"IdleTipString": "Grot:",
|
||||
"IdleSetString": " Ust:",
|
||||
"TipDisconnectedString": "GROT ODŁĄCZONY",
|
||||
"SolderingAdvancedPowerPrompt": "Moc: ",
|
||||
"OffString": "Wył",
|
||||
"YourGainMessage": "Us.zysk:"
|
||||
"OffString": "Wył"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
@@ -52,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "W",
|
||||
"SettingLockDisableChar": "W",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "P",
|
||||
"SettingNAChar": "N/D"
|
||||
"SettingLockFullChar": "P"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -172,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Czułość", "cz. Halla"],
|
||||
"desc": "Czułość czujnika Halla, używanego do przechodznia w tryb uśpienia (O=Wył | N=Niska | Ś=Średnia | W=Wysoka)"
|
||||
"desc": "Czułość czujnika Halla, używanego do przechodznia w tryb uśpienia (0: Wyłączona | 1: Minimalna | ... | 9: Maksymalna)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Blokada", "przycisków"],
|
||||
@@ -188,7 +177,7 @@
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Prędkosć", "animacji"],
|
||||
"desc": "Prędkość animacji ikon w menu (O: wył. | L: mała | M: średnia | H: duża)"
|
||||
"desc": "Prędkość animacji ikon w menu (O: wył. | W: mała | M: średnia | S: duża)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Czas między", "imp. mocy"],
|
||||
@@ -209,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": ["Odwrócenie", "kolorów"],
|
||||
"desc": "Odwrócenie kolorów wyświetlacza OLED"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,30 +2,21 @@
|
||||
"languageCode": "PT",
|
||||
"languageLocalName": "Português",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibração terminada!",
|
||||
"SettingsCalibrationWarning": "A ponta deve estar à temperatura ambiente antes de continuar!",
|
||||
"SettingsResetWarning": "Definições de fábrica?",
|
||||
"UVLOWarningString": "DC BAIXO",
|
||||
"UndervoltageString": "Subtensão",
|
||||
"InputVoltageString": "Tensão ",
|
||||
"WarningTipTempString": "Temperatura ",
|
||||
"BadTipString": "ER PONTA",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Repouso...",
|
||||
"WarningSimpleString": "TEMP",
|
||||
"WarningAdvancedString": "TEMP ELEVADA!",
|
||||
"SleepingTipAdvancedString": "Ponta:",
|
||||
"IdleTipString": "Ponta:",
|
||||
"IdleSetString": " Aj:",
|
||||
"TipDisconnectedString": "SEM PONTA",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "Off",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": "LOCKED",
|
||||
@@ -38,9 +29,9 @@
|
||||
"SettingLeftChar": "C",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "O",
|
||||
"SettingSlowChar": "L",
|
||||
"SettingSlowChar": "S",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "R",
|
||||
"SettingFastChar": "F",
|
||||
"SettingStartNoneChar": "D",
|
||||
"SettingStartSolderingChar": "S",
|
||||
"SettingStartSleepChar": "H",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -150,7 +140,7 @@
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
@@ -171,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (0=Desligado | 1=Menor | ... | 9=Maior)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
@@ -187,11 +177,11 @@
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | F=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,25 +4,15 @@
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": true,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Calibrare completa!",
|
||||
"SettingsCalibrationWarning": "Vă rugăm să vă asigurati că vârful este la temperatura camerei, înainte de a continua!",
|
||||
"SettingsResetWarning": "Sigur doriti să restaurati la setările implicite?",
|
||||
"UVLOWarningString": "DC LOW",
|
||||
"UndervoltageString": "Sub tensiune",
|
||||
"InputVoltageString": "Intrare V: ",
|
||||
"WarningTipTempString": "Temp. varf: ",
|
||||
"BadTipString": "VARF DEFECT",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Adormit...",
|
||||
"WarningSimpleString": "FIERBINTE!",
|
||||
"WarningAdvancedString": "!!! VARF FIERBINTE !!!",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "FĂRĂ VARF",
|
||||
"SolderingAdvancedPowerPrompt": "Putere: ",
|
||||
"OffString": "Nu",
|
||||
"YourGainMessage": "Coeficient:"
|
||||
"OffString": "Nu"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
@@ -52,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -88,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Expirare", "repaus"],
|
||||
"desc": "Interval înainte de lansarea \"modului de repaus\" în (S=secunde | M=minute)"
|
||||
"desc": "Interval înainte de lansarea \"modului de repaus\" în (s=secunde | m=minute)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Expirare", "oprire"],
|
||||
"desc": "Interval înainte ca letconul să se oprească (M=minute)"
|
||||
"desc": "Interval înainte ca letconul să se oprească (m=minute)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Sensibilitate", "la mişcare"],
|
||||
@@ -172,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Sensibilitate", "senzor Hall"],
|
||||
"desc": "Sensibilitate senzor cu efect Hall pentru a detecta repausul (O=oprit | L=scăzut | M=mediu | H=înalt)"
|
||||
"desc": "Sensibilitate senzor cu efect Hall pentru a detecta repausul (0=oprit | 1=putin sensibil | ... | 9=cel mai sensibil)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Blocare", "butoane"],
|
||||
@@ -188,7 +177,7 @@
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Animatii", "viteză"],
|
||||
"desc": "Ritmul animatiilor pictogramei din meniu (O=oprit | S=încet | M=mediu | F=rapid)"
|
||||
"desc": "Ritmul animatiilor pictogramei din meniu (O=oprit | Î=încet | M=mediu | R=rapid)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Întârziere", "puls putere"],
|
||||
@@ -203,12 +192,16 @@
|
||||
"desc": "Limba curenta"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Ecranului", "luminozitatea"],
|
||||
"desc": "Ajusteaza luminozitatea ecranului"
|
||||
"text2": ["Ecranului", "luminozitatea"],
|
||||
"desc": "Ajusteaza luminozitatea ecranului"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Inverseaza", "culoarea"],
|
||||
"desc": "Inverseaza culoarea ecranului"
|
||||
"text2": ["Inverseaza", "culoarea"],
|
||||
"desc": "Inverseaza culoarea ecranului"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,44 +2,35 @@
|
||||
"languageCode": "RU",
|
||||
"languageLocalName": "Русский",
|
||||
"fonts": ["ascii_basic", "latin_extended", "cyrillic"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Калибровка завершена!",
|
||||
"SettingsCalibrationWarning": "Прежде чем продолжить, пожалуйста, убедитесь, что жало имеет комнатную температуру!",
|
||||
"SettingsResetWarning": "Вы уверены, что хотите сбросить настройки к значениям по умолчанию?",
|
||||
"UVLOWarningString": "НАПРЯЖ--",
|
||||
"UndervoltageString": "Низкое напряжение",
|
||||
"UndervoltageString": "Низ. напряжение",
|
||||
"InputVoltageString": "Питание В: ",
|
||||
"WarningTipTempString": "Темп. жала: ",
|
||||
"BadTipString": "ЖАЛО--",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Ожидание...",
|
||||
"WarningSimpleString": "ГОРЯЧО!",
|
||||
"WarningAdvancedString": "!!! ГОРЯЧЕЕ !!!\n!!! ЖАЛО !!!",
|
||||
"SleepingTipAdvancedString": "Жало:",
|
||||
"IdleTipString": "Жало:",
|
||||
"IdleSetString": " ->",
|
||||
"TipDisconnectedString": "ЖАЛО ОТСОЕДИНЕНО",
|
||||
"SolderingAdvancedPowerPrompt": "Питание: ",
|
||||
"OffString": "Выкл.",
|
||||
"YourGainMessage": "Прирост:"
|
||||
"OffString": "Вык"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Сброс OK",
|
||||
"SettingsResetMessage": ["Настройки", "сброшены!"],
|
||||
"NoAccelerometerMessage": ["Не определен", "акселерометр!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": "LOCKED",
|
||||
"UnlockingKeysString": "UNLOCKED",
|
||||
"WarningKeysLockedString": "!LOCKED!",
|
||||
"NoPowerDeliveryMessage": ["USB-PD питание", "не обнаружено"],
|
||||
"LockingKeysString": "ЗАБЛОК",
|
||||
"UnlockingKeysString": "РАЗБЛОК",
|
||||
"WarningKeysLockedString": "!ЗАБЛОК!",
|
||||
"WarningThermalRunaway": ["Thermal", "Runaway"]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "П",
|
||||
"SettingLeftChar": "Л",
|
||||
"SettingAutoChar": "А",
|
||||
"SettingOffChar": "O",
|
||||
"SettingOffChar": "О",
|
||||
"SettingSlowChar": "М",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingMediumChar": "С",
|
||||
"SettingFastChar": "Б",
|
||||
"SettingStartNoneChar": "В",
|
||||
"SettingStartSolderingChar": "П",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "В",
|
||||
"SettingLockDisableChar": "О",
|
||||
"SettingLockBoostChar": "Т",
|
||||
"SettingLockFullChar": "П",
|
||||
"SettingNAChar": "Н/Д"
|
||||
"SettingLockFullChar": "П"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -131,7 +121,7 @@
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Калибровка", "напряжения"],
|
||||
"desc": "Калибровка входного напряжения (длинное нажатие для выхода)"
|
||||
"desc": "Калибровка входного напряжения (долгое нажатие для выхода)"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": ["Подробный", "экран пайки"],
|
||||
@@ -142,8 +132,8 @@
|
||||
"desc": "Скорость прокрутки текста (М=медленно | Б=быстро)"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["Мощность", "питания"],
|
||||
"desc": "Мощность используемого источника питания"
|
||||
"text2": ["Максимальный", "вольтаж для QC"],
|
||||
"desc": "Максимальный поддерживаемый QC вольтаж используемого источника питания"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "тайм-аут"],
|
||||
@@ -170,8 +160,8 @@
|
||||
"desc": "Сила импульса удерживающего от сна повербанк или другой источник питания"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Эффект Холла", "чувствительность"],
|
||||
"desc": "Уровень чувствительности датчика холла в режиме сна (О=Отключено | Н=Низкий | С=Средний | В=Высокий)"
|
||||
"text2": ["Датчик", "Холла"],
|
||||
"desc": "Уровень чувствительности датчика холла в режиме сна (0=Выкл. | 1=Мин. | ... | 9=Макс.)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Разрешить", "блок. кнопок"],
|
||||
@@ -179,7 +169,7 @@
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Мин.", "напр."],
|
||||
"desc": "Минимальное разрешенное напряжение на ячейку (3S: 3 - 3,7V | 4-S: 2,4 - 3,7V)"
|
||||
"desc": "Минимальное разрешенное напряжение на ячейку (3S: 3 - 3,7V | 4S-6S: 2,4 - 3,7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Зацикленная", "анимация"],
|
||||
@@ -199,7 +189,7 @@
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Язык:", " RU Русский"],
|
||||
"desc": ""
|
||||
"desc": "Язык прошивки"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Яркость", "экрана"],
|
||||
@@ -208,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": ["Инверт", "экрана"],
|
||||
"desc": "Инвертировать цвета на OLED экране"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,336 +1,207 @@
|
||||
{
|
||||
"languageCode": "SK",
|
||||
"languageLocalName": "Slovenčina",
|
||||
"fonts": [
|
||||
"ascii_basic",
|
||||
"latin_extended"
|
||||
],
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Najprv sa prosím uistite, že hrot má izbovú teplotu!",
|
||||
"SettingsResetWarning": "Naozaj chcete obnoviť továrenské nastavenia?",
|
||||
"UVLOWarningString": "Nízke U!",
|
||||
"UndervoltageString": "Nízke napätie",
|
||||
"InputVoltageString": "Vstupné U: ",
|
||||
"SleepingSimpleString": "Chrr",
|
||||
"SleepingAdvancedString": "Pokojový režim..",
|
||||
"SleepingTipAdvancedString": "Hrot:",
|
||||
"IdleTipString": "Hrot:",
|
||||
"IdleSetString": "Cieľ:",
|
||||
"TipDisconnectedString": "HROT ODPOJENÝ",
|
||||
"SolderingAdvancedPowerPrompt": "Výkon: ",
|
||||
"OffString": "Vyp"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": [
|
||||
"Nastavenia",
|
||||
"resetované"
|
||||
],
|
||||
"NoAccelerometerMessage": [
|
||||
"Bez pohybového",
|
||||
"senzora!"
|
||||
],
|
||||
"NoPowerDeliveryMessage": [
|
||||
"Chýba čip",
|
||||
"USB-PD!"
|
||||
],
|
||||
"LockingKeysString": "ZABLOK.",
|
||||
"UnlockingKeysString": "ODBLOK.",
|
||||
"WarningKeysLockedString": "!ZABLOK!",
|
||||
"WarningThermalRunaway": [
|
||||
"Únik",
|
||||
"Tepla"
|
||||
]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "P",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "Z",
|
||||
"SettingSlowChar": "P",
|
||||
"SettingMediumChar": "S",
|
||||
"SettingFastChar": "R",
|
||||
"SettingStartNoneChar": "V",
|
||||
"SettingStartSolderingChar": "Z",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "I",
|
||||
"SettingSensitivityOff": "Z",
|
||||
"SettingSensitivityLow": "N",
|
||||
"SettingSensitivityMedium": "S",
|
||||
"SettingSensitivityHigh": "V",
|
||||
"SettingLockDisableChar": "Z",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "P",
|
||||
"SettingNAChar": "N/A"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": [
|
||||
"Nastavenie",
|
||||
"výkonu"
|
||||
],
|
||||
"desc": "Nastavenie výkonu"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
"Nastavenie",
|
||||
"spájkovania"
|
||||
],
|
||||
"desc": "Nastavenie spájkovania"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": [
|
||||
"Úsporný",
|
||||
"režim"
|
||||
],
|
||||
"desc": "Nastavenia režimov úspory energie"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": [
|
||||
"Nastavenie",
|
||||
"zobrazenia"
|
||||
],
|
||||
"desc": "Nastavenie zobrazenia"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": [
|
||||
"Pokročilé",
|
||||
"nastavenia"
|
||||
],
|
||||
"desc": "Pokročilé nastavenia"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": [
|
||||
"Zdroj",
|
||||
"napätia"
|
||||
],
|
||||
"desc": "Zdroj napätia. Nastavenie napätia pre vypnutie (cutoff) (DC=10V | nS=n*3.3V pre LiIon články)"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": [
|
||||
"Pokojová",
|
||||
"teplota"
|
||||
],
|
||||
"desc": "Pokojová teplota (v nastavených jednotkách)"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": [
|
||||
"Pokojový",
|
||||
"režim po"
|
||||
],
|
||||
"desc": "Pokojový režim po (S=sekundách | M=minútach)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": [
|
||||
"Vypnutie",
|
||||
"po"
|
||||
],
|
||||
"desc": "Čas na vypnutie (minúty)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": [
|
||||
"Citlivosť",
|
||||
"pohybu"
|
||||
],
|
||||
"desc": "Citlivosť detekcie pohybu (0=Vyp | 1=Min | ... | 9=Max)"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": [
|
||||
"Jednotka",
|
||||
"teploty"
|
||||
],
|
||||
"desc": "Jednotky merania teploty (C=stupne Celzia | F=stupne Fahrenheita)"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": [
|
||||
"Detaily v",
|
||||
"pokoj. režime"
|
||||
],
|
||||
"desc": "Zobraziť detailné informácie v pokojovom režime (T=Zap | F=Vyp)"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": [
|
||||
"Orientácia",
|
||||
"displeja"
|
||||
],
|
||||
"desc": "Orientácia displeja (P=Pravák | L=Ľavák | A=Auto)"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": [
|
||||
"Boost",
|
||||
"teplota"
|
||||
],
|
||||
"desc": "Cieľová teplota pre prudký náhrev (v nastavených jednotkách)"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": [
|
||||
"Automatické",
|
||||
"spustenie"
|
||||
],
|
||||
"desc": "Pri štarte spustiť režim spájkovania (V=Vyp | Z=Spájkovanie | S=Spanok | I=Spanok izbová teplota)"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": [
|
||||
"Blikanie pri",
|
||||
"chladnutí"
|
||||
],
|
||||
"desc": "Blikanie ukazovateľa teploty počas chladnutia hrotu"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": [
|
||||
"Kalibrácia",
|
||||
"teploty"
|
||||
],
|
||||
"desc": "Kalibrácia posunu teploty hrotu"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": [
|
||||
"Obnovenie",
|
||||
"nastavení"
|
||||
],
|
||||
"desc": "Obnovenie nastavení na pôvodné hodnoty"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": [
|
||||
"Kalibrácia",
|
||||
"nap. napätia"
|
||||
],
|
||||
"desc": "Kalibrácia napájacieho napätia. Krátke stlačenie mení nastavenie, dlhé stlačenie pre návrat"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": [
|
||||
"Detaily počas",
|
||||
"spájkovania"
|
||||
],
|
||||
"desc": "Zobrazenie detailov počas spájkovania"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": [
|
||||
"Rýchlosť",
|
||||
"skrolovania"
|
||||
],
|
||||
"desc": "Rýchlosť pohybu tohto textu"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": [
|
||||
"Obmedzenie QC",
|
||||
"napätia"
|
||||
],
|
||||
"desc": "Maximálne QC napätie ktoré si má systém vyžiadať"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": [
|
||||
"Čas vypršania",
|
||||
"Power Delivery"
|
||||
],
|
||||
"desc": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": [
|
||||
"Obmedzenie",
|
||||
"výkonu"
|
||||
],
|
||||
"desc": "Obmedzenie výkonu podľa použitého zdroja (watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": [
|
||||
"Otočenie",
|
||||
"tlačidiel +/-"
|
||||
],
|
||||
"desc": "Prehodenie tlačidiel na nastavovanie teploty"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": [
|
||||
"Malý krok",
|
||||
"teploty"
|
||||
],
|
||||
"desc": "Zmena teploty pri krátkom stlačení tlačidla"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": [
|
||||
"Veľký krok",
|
||||
"teploty"
|
||||
],
|
||||
"desc": "Zmena teploty pri držaní tlačidla"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": [
|
||||
"Intenzita",
|
||||
"impulzu"
|
||||
],
|
||||
"desc": "Impulz udržujúci napájací zdroj zapnutý (power banky) (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": [
|
||||
"Citliv.",
|
||||
"Hall"
|
||||
],
|
||||
"desc": "Citlivosť Hallovho senzora pre detekciu spánku (Z=Zakázať | N=Nízka | S=Stredná | V=Vysoká)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": [
|
||||
"Povoliť zámok",
|
||||
"tlačidiel"
|
||||
],
|
||||
"desc": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania (Z=Zakázať | B=Okrem boost | P=Plné zamknutie)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": [
|
||||
"Minimálne",
|
||||
"napätie"
|
||||
],
|
||||
"desc": "Minimálne napätie povolené na jeden článok (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": [
|
||||
"Opakovanie",
|
||||
"animácií"
|
||||
],
|
||||
"desc": "Opakovanie animácií ikoniek v hlavnom menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": [
|
||||
"Rýchlosť",
|
||||
"animácií"
|
||||
],
|
||||
"desc": "Rýchlosť animácií ikoniek v menu (O=off | P=pomaly | S=stredne | R=rýchlo)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": [
|
||||
"Interval",
|
||||
"impulzu"
|
||||
],
|
||||
"desc": "Interval medzi impulzami udržujúcimi napájací zdroj zapnutý (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": [
|
||||
"Dĺžka impulzu",
|
||||
""
|
||||
],
|
||||
"desc": "Dĺžka impulzu udržujúci napájací zdroj zapnutý (x 250ms)"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": [
|
||||
"Jazyk:",
|
||||
" SK Slovenčina"
|
||||
],
|
||||
"desc": "Aktuálny jazyk"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": [
|
||||
"Jas",
|
||||
"obrazovky"
|
||||
],
|
||||
"desc": "Mení jas/kontrast OLED displeja"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": [
|
||||
"Invertovať",
|
||||
"obrazovku"
|
||||
],
|
||||
"desc": "Invertovať farby OLED displeja"
|
||||
}
|
||||
}
|
||||
"languageCode": "SK",
|
||||
"languageLocalName": "Slovenčina",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Najprv sa prosím uistite, že hrot má izbovú teplotu!",
|
||||
"SettingsResetWarning": "Naozaj chcete obnoviť továrenské nastavenia?",
|
||||
"UVLOWarningString": "Nízke U!",
|
||||
"UndervoltageString": "Nízke napätie",
|
||||
"InputVoltageString": "Vstupné U: ",
|
||||
"SleepingSimpleString": "Chrr",
|
||||
"SleepingAdvancedString": "Pokojový režim..",
|
||||
"SleepingTipAdvancedString": "Hrot:",
|
||||
"OffString": "Vyp"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Nastavenia", "resetované"],
|
||||
"NoAccelerometerMessage": ["Bez pohybového", "senzora!"],
|
||||
"NoPowerDeliveryMessage": ["Chýba čip", "USB-PD!"],
|
||||
"LockingKeysString": "ZABLOK.",
|
||||
"UnlockingKeysString": "ODBLOK.",
|
||||
"WarningKeysLockedString": "!ZABLOK!",
|
||||
"WarningThermalRunaway": ["Únik", "Tepla"]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "P",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "Z",
|
||||
"SettingSlowChar": "P",
|
||||
"SettingMediumChar": "S",
|
||||
"SettingFastChar": "R",
|
||||
"SettingStartNoneChar": "V",
|
||||
"SettingStartSolderingChar": "Z",
|
||||
"SettingStartSleepChar": "S",
|
||||
"SettingStartSleepOffChar": "I",
|
||||
"SettingSensitivityOff": "Z",
|
||||
"SettingSensitivityLow": "N",
|
||||
"SettingSensitivityMedium": "S",
|
||||
"SettingSensitivityHigh": "V",
|
||||
"SettingLockDisableChar": "Z",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "P"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": ["Nastavenie", "výkonu"],
|
||||
"desc": "Nastavenie výkonu"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": ["Nastavenie", "spájkovania"],
|
||||
"desc": "Nastavenie spájkovania"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": ["Úsporný", "režim"],
|
||||
"desc": "Nastavenia režimov úspory energie"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": ["Nastavenie", "zobrazenia"],
|
||||
"desc": "Nastavenie zobrazenia"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": ["Pokročilé", "nastavenia"],
|
||||
"desc": "Pokročilé nastavenia"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": ["Zdroj", "napätia"],
|
||||
"desc": "Zdroj napätia. Nastavenie napätia pre vypnutie (cutoff) (DC=10V | nS=n*3.3V pre LiIon články)"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": ["Pokojová", "teplota"],
|
||||
"desc": "Pokojová teplota (v nastavených jednotkách)"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Pokojový", "režim po"],
|
||||
"desc": "Pokojový režim po (s=sekundách | m=minútach)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Vypnutie", "po"],
|
||||
"desc": "Čas na vypnutie (minúty)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Citlivosť", "pohybu"],
|
||||
"desc": "Citlivosť detekcie pohybu (0=Vyp | 1=Min | ... | 9=Max)"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": ["Jednotka", "teploty"],
|
||||
"desc": "Jednotky merania teploty (C=stupne Celzia | F=stupne Fahrenheita)"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": ["Detaily v", "pokoj. režime"],
|
||||
"desc": "Zobraziť detailné informácie v pokojovom režime (T=Zap | F=Vyp)"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": ["Orientácia", "displeja"],
|
||||
"desc": "Orientácia displeja (P=Pravák | L=Ľavák | A=Auto)"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": ["Boost", "teplota"],
|
||||
"desc": "Cieľová teplota pre prudký náhrev (v nastavených jednotkách)"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Automatické", "spustenie"],
|
||||
"desc": "Pri štarte spustiť režim spájkovania (V=Vyp | Z=Spájkovanie | S=Spanok | I=Spanok izbová teplota)"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Blikanie pri", "chladnutí"],
|
||||
"desc": "Blikanie ukazovateľa teploty počas chladnutia hrotu"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": ["Kalibrácia", "teploty"],
|
||||
"desc": "Kalibrácia posunu teploty hrotu"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Obnovenie", "nastavení"],
|
||||
"desc": "Obnovenie nastavení na pôvodné hodnoty"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Kalibrácia", "nap. napätia"],
|
||||
"desc": "Kalibrácia napájacieho napätia. Krátke stlačenie mení nastavenie, dlhé stlačenie pre návrat"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": ["Detaily počas", "spájkovania"],
|
||||
"desc": "Zobrazenie detailov počas spájkovania"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": ["Rýchlosť", "skrolovania"],
|
||||
"desc": "Rýchlosť pohybu tohto textu"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["Obmedzenie QC", "napätia"],
|
||||
"desc": "Maximálne QC napätie ktoré si má systém vyžiadať"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["Čas vypršania", "Power Delivery"],
|
||||
"desc": "Čas vyjednávania Power Delivery v 100ms krokoch pre kompatibilitu s niektorými QC nabíjačkami (0: vypnuté)"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Obmedzenie", "výkonu"],
|
||||
"desc": "Obmedzenie výkonu podľa použitého zdroja (watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Otočenie", "tlačidiel +/-"],
|
||||
"desc": "Prehodenie tlačidiel na nastavovanie teploty"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Malý krok", "teploty"],
|
||||
"desc": "Zmena teploty pri krátkom stlačení tlačidla"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Veľký krok", "teploty"],
|
||||
"desc": "Zmena teploty pri držaní tlačidla"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Intenzita", "impulzu"],
|
||||
"desc": "Impulz udržujúci napájací zdroj zapnutý (power banky) (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Citliv.", "Hall"],
|
||||
"desc": "Citlivosť Hallovho senzora pre detekciu spánku (0=Vyp | 1=Min | ... | 9=Max)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Povoliť zámok", "tlačidiel"],
|
||||
"desc": "Zamknutie tlačidiel - dlhé stlačenie oboch naraz počas spájkovania (Z=Zakázať | B=Okrem boost | P=Plné zamknutie)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimálne", "napätie"],
|
||||
"desc": "Minimálne napätie povolené na jeden článok (3S: 3 - 3.7V | 4-6S: 2.4 - 3.7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Opakovanie", "animácií"],
|
||||
"desc": "Opakovanie animácií ikoniek v hlavnom menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Rýchlosť", "animácií"],
|
||||
"desc": "Rýchlosť animácií ikoniek v menu (O=off | P=pomaly | S=stredne | R=rýchlo)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Interval", "impulzu"],
|
||||
"desc": "Interval medzi impulzami udržujúcimi napájací zdroj zapnutý (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Dĺžka impulzu", ""],
|
||||
"desc": "Dĺžka impulzu udržujúci napájací zdroj zapnutý (x 250ms)"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Jazyk:", " SK Slovenčina"],
|
||||
"desc": "Aktuálny jazyk"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Jas", "obrazovky"],
|
||||
"desc": "Mení jas/kontrast OLED displeja"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Invertovať", "obrazovku"],
|
||||
"desc": "Invertovať farby OLED displeja"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
"languageCode": "SL",
|
||||
"languageLocalName": "Slovenščina",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibracija opravljena!",
|
||||
"SettingsCalibrationWarning": "Pred nadaljevanjem mora biti konica segreta na sobno temperaturo!",
|
||||
"SettingsResetWarning": "Res želite ponastaviti na privzete nastavitve?",
|
||||
"UVLOWarningString": "NIZKA U",
|
||||
"UndervoltageString": "Nizka napetost",
|
||||
"InputVoltageString": "Vhodna U: ",
|
||||
"WarningTipTempString": "Temp. kon.: ",
|
||||
"BadTipString": "KONICA?",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Spim...",
|
||||
"WarningSimpleString": "VROČ",
|
||||
"WarningAdvancedString": "!!VROČA KONICA!!",
|
||||
"SleepingTipAdvancedString": "Konica",
|
||||
"IdleTipString": "Kon:",
|
||||
"IdleSetString": " temp:",
|
||||
"TipDisconnectedString": "NI KONICE",
|
||||
"SolderingAdvancedPowerPrompt": "Moč: ",
|
||||
"OffString": "Off",
|
||||
"YourGainMessage": "Ojačenje"
|
||||
"OffString": "Off"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "V",
|
||||
"SettingLockDisableChar": "O",
|
||||
"SettingLockBoostChar": "L",
|
||||
"SettingLockFullChar": "P",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "P"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -87,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Čas do", "spanja"],
|
||||
"desc": "Čas pred spanjem (S=sekunde | M=minute)"
|
||||
"desc": "Čas pred spanjem (s=sekunde | m=minute)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Čas do", "izklopa"],
|
||||
"desc": "Čas do izklopa (M=minute)"
|
||||
"desc": "Čas do izklopa (m=minute)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Občutljivost", "premikanja"],
|
||||
@@ -171,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Občut.", "Hall son"],
|
||||
"desc": "Občutljivost Hallove sonde za zaznavanje spanja (U=ugasnjen | N=nizka | S=srednja | V=visoka)"
|
||||
"desc": "Občutljivost Hallove sonde za zaznavanje spanja (0=izklopljeno | 1=najmanjša | ... | 9=največja)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Omogoči", "zaklep gumbov"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | P=slow | M=medium | H=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,30 +2,21 @@
|
||||
"languageCode": "SR_CYRL",
|
||||
"languageLocalName": "Српски",
|
||||
"fonts": ["ascii_basic", "cyrillic"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Калибрација готова",
|
||||
"SettingsCalibrationWarning": "Проверите да ли је врх охлађен на собну температуру пре него што наставите",
|
||||
"SettingsResetWarning": "Да ли заиста желите да вратите поставке на фабричке вредности?",
|
||||
"UVLOWarningString": "НИЗ.НАП.",
|
||||
"UndervoltageString": "ПРЕНИЗАК НАПОН",
|
||||
"InputVoltageString": "Ул. напон: ",
|
||||
"WarningTipTempString": "Темп. врха: ",
|
||||
"BadTipString": "ЛОШ ВРХ",
|
||||
"SleepingSimpleString": "Сан",
|
||||
"SleepingAdvancedString": "Спавање...",
|
||||
"WarningSimpleString": "ВРУЋ",
|
||||
"WarningAdvancedString": "! ОПРЕЗ, ВРУЋЕ !",
|
||||
"SleepingTipAdvancedString": "Врх:",
|
||||
"IdleTipString": "Врх:",
|
||||
"IdleSetString": " / ",
|
||||
"TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН",
|
||||
"SolderingAdvancedPowerPrompt": "Снага: ",
|
||||
"OffString": "Иск",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Иск"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": "LOCKED",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -87,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Време до", "спавања"],
|
||||
"desc": "Време мировања након кога лемилица спушта температуру. (M=минути | S=секунде)"
|
||||
"desc": "Време мировања након кога лемилица спушта температуру. (m=минути | s=секунде)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Време до", "гашења"],
|
||||
"desc": "Време мировања након кога се лемилица гаси. (M=минути)"
|
||||
"desc": "Време мировања након кога се лемилица гаси. (m=минути)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Осетљивост", "на покрет"],
|
||||
@@ -147,35 +137,35 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Temperature-change-increment on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Temperature-change-increment on long button press"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Intensity of power of keep-awake-pulse (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=искључено | 1=најмање осетљиво | ... | 9=најосетљивије)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | С=slow | M=medium | Б=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5с)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5с)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,30 +2,21 @@
|
||||
"languageCode": "SR_LATN",
|
||||
"languageLocalName": "Srpski",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibracija gotova",
|
||||
"SettingsCalibrationWarning": "Proverite da li je vrh ohlađen na sobnu temperaturu pre nego što nastavite",
|
||||
"SettingsResetWarning": "Da li zaista želite da vratite postavke na fabričke vrednosti?",
|
||||
"UVLOWarningString": "NIZ.NAP.",
|
||||
"UndervoltageString": "PRENIZAK NAPON",
|
||||
"InputVoltageString": "Ul. napon: ",
|
||||
"WarningTipTempString": "Temp. vrha: ",
|
||||
"BadTipString": "LOŠ VRH",
|
||||
"SleepingSimpleString": "Zzz",
|
||||
"SleepingAdvancedString": "Spavanje...",
|
||||
"WarningSimpleString": "VRUĆ",
|
||||
"WarningAdvancedString": "! OPREZ, VRUĆE !",
|
||||
"SleepingTipAdvancedString": "Vrh:",
|
||||
"IdleTipString": "Vrh:",
|
||||
"IdleSetString": " / ",
|
||||
"TipDisconnectedString": "VRH NIJE SPOJEN",
|
||||
"SolderingAdvancedPowerPrompt": "Snaga: ",
|
||||
"OffString": "Isk",
|
||||
"YourGainMessage": "Your gain:"
|
||||
"OffString": "Isk"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Settings were", "reset!"],
|
||||
"SettingsResetMessage": ["Certain settings", "were changed!"],
|
||||
"NoAccelerometerMessage": ["No accelerometer", "detected!"],
|
||||
"NoPowerDeliveryMessage": ["No USB-PD IC", "detected!"],
|
||||
"LockingKeysString": "LOCKED",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -87,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Vreme do", "spavanja"],
|
||||
"desc": "Vreme mirovanja nakon koga lemilica spušta temperaturu. (M=minuti | S=sekunde)"
|
||||
"desc": "Vreme mirovanja nakon koga lemilica spušta temperaturu. (m=minuti | s=sekunde)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Vreme do", "gašenja"],
|
||||
"desc": "Vreme mirovanja nakon koga se lemilica gasi. (M=minuti)"
|
||||
"desc": "Vreme mirovanja nakon koga se lemilica gasi. (m=minuti)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Osetljivost", "na pokret"],
|
||||
@@ -147,35 +137,35 @@
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"desc": "Maximum power the iron can use (Watts)"
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Maximum power the iron can use (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "Reverse assignment of buttons for temperature adjustment"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Temperature-change-increment on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Temperature-change-increment on long button press"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Intensity of power of keep-awake-pulse (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=isključeno | 1=najmanje osetljivo | ... | 9=najosetljivije)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (D=disable | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -183,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (O=off | S=slow | M=medium | B=fast)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -202,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
"languageCode": "SV",
|
||||
"languageLocalName": "Svenska",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Se till att spetsen är rumstemererad innan du fortsätter!",
|
||||
"SettingsResetWarning": "Är du säker på att du vill återställa inställningarna?",
|
||||
@@ -11,10 +12,6 @@
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Viloläge...",
|
||||
"SleepingTipAdvancedString": "Spets:",
|
||||
"IdleTipString": "Spts:",
|
||||
"IdleSetString": " Ang:",
|
||||
"TipDisconnectedString": "SPETS URTAGEN",
|
||||
"SolderingAdvancedPowerPrompt": "Ström: ",
|
||||
"OffString": "Av"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -45,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "A",
|
||||
"SettingLockBoostChar": "T",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -81,7 +77,7 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Vilo-", "timeout"],
|
||||
"desc": "Vilo-timeout (M=Minuter | S=Sekunder)"
|
||||
"desc": "Vilo-timeout (m=Minuter | s=Sekunder)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Avstängn.", "timeout"],
|
||||
@@ -165,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Sensor-", "känslght"],
|
||||
"desc": "Känslighet för halleffekt-sensorn för viloläges-detektering (A=Av | L=Låg | M=Medium | H=Hög)"
|
||||
"desc": "Känslighet för halleffekt-sensorn för viloläges-detektering (0=Av | 1=minst känslig | ... | 9=mest känslig)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Tillåt lås", "via knappar"],
|
||||
@@ -184,8 +180,8 @@
|
||||
"desc": "Animationshastighet för ikoner i menyer (A=av | L=långsam | M=medel | S=snabb)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -196,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
"languageCode": "TR",
|
||||
"languageLocalName": "Türkçe",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Kalibrasyon tamamlandı!",
|
||||
"SettingsCalibrationWarning": "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!",
|
||||
"SettingsResetWarning": "Ayarları varsayılan değerlere sıfırlamak istediğinizden emin misiniz?",
|
||||
"UVLOWarningString": "Güç Az",
|
||||
"UndervoltageString": "Düşük Voltaj",
|
||||
"InputVoltageString": "Giriş V: ",
|
||||
"WarningTipTempString": "Uç Sıcaklığı: ",
|
||||
"BadTipString": "KÖTÜ UÇ",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Bekleme Modu ...",
|
||||
"WarningSimpleString": "SICAK!",
|
||||
"WarningAdvancedString": "UYARI! UÇ SICAK!",
|
||||
"SleepingTipAdvancedString": "Uç:",
|
||||
"IdleTipString": "Uç:",
|
||||
"IdleSetString": " Ayarla:",
|
||||
"TipDisconnectedString": "UÇ ÇIKARILDI",
|
||||
"SolderingAdvancedPowerPrompt": "Güç: ",
|
||||
"OffString": "Kapalı",
|
||||
"YourGainMessage": "Kazancınız:"
|
||||
"OffString": "Kapalı"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": ["Sıfırlama Tamam", ""],
|
||||
@@ -36,23 +27,22 @@
|
||||
"characters": {
|
||||
"SettingRightChar": "R",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "O",
|
||||
"SettingSlowChar": "S",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "F",
|
||||
"SettingAutoChar": "O",
|
||||
"SettingOffChar": "K",
|
||||
"SettingSlowChar": "Y",
|
||||
"SettingMediumChar": "O",
|
||||
"SettingFastChar": "H",
|
||||
"SettingStartNoneChar": "K",
|
||||
"SettingStartSolderingChar": "L",
|
||||
"SettingStartSleepChar": "U",
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingSensitivityOff": "O",
|
||||
"SettingStartSleepOffChar": "S",
|
||||
"SettingSensitivityOff": "K",
|
||||
"SettingSensitivityLow": "L",
|
||||
"SettingSensitivityMedium": "M",
|
||||
"SettingSensitivityMedium": "O",
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockDisableChar": "K",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F",
|
||||
"SettingNAChar": "N/A"
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -107,11 +97,7 @@
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": ["GRNYÖN", ""],
|
||||
"desc": "Görüntü Yönlendirme (R=Sağlak | L=Solak | A=Otomatik)"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text2": ["YÜKPER", ""],
|
||||
"desc": "Lehimleme yaparken ön tuşa basmak anlık sıcaklık yükselişi sağlar. (450C)"
|
||||
"desc": "Görüntü Yönlendirme (R=Sağlak | L=Solak | O=Otomatik)"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": ["YKSC", ""],
|
||||
@@ -119,7 +105,7 @@
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["OTOBAŞ", ""],
|
||||
"desc": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (K=Kapalı | L=Lehimleme Modu | U=Uyku Modu | O=Uyku Modu Oda Sıcaklığı)"
|
||||
"desc": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. (K=Kapalı | L=Lehimleme Modu | U=Uyku Modu | S=Uyku Modu Oda Sıcaklığı)"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["SĞGÖST", ""],
|
||||
@@ -143,51 +129,43 @@
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": ["YZKYHZ", ""],
|
||||
"desc": "Bu yazının kayma hızı (S=Yavaş | F=Hızlı)"
|
||||
"desc": "Bu yazının kayma hızı (Y=Yavaş | H=Hızlı)"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["QC", "Voltage"],
|
||||
"desc": "Desired max QC Voltage negotiated for"
|
||||
"text2": ["QC", "voltage"],
|
||||
"desc": "Max QC voltage the iron should negotiate for"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "timeout"],
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers (0: disabled)"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text2": ["Güç", "Miktarı(W)"],
|
||||
"desc": "Kullanılan adaptörün watt biriminden güç miktarı"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text2": ["P Limit", "Enable"],
|
||||
"desc": "Güç sınırlamayı aç"
|
||||
"desc": "PD negotiation timeout in 100ms steps for compatibility with some QC chargers"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Power", "Limit"],
|
||||
"text2": ["Power", "limit"],
|
||||
"desc": "Havyanın kullanacağı en yüksek güç (Watts)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Key +-", "reverse?"],
|
||||
"text2": ["Swap", "+ - keys"],
|
||||
"desc": "\"Düğme Yerleri Rotasyonu\" Sıcaklık ayar düğmelerinin yerini değiştirin"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Temp change", "short?"],
|
||||
"text2": ["Temp change", "short"],
|
||||
"desc": "Kısa basışlardaki sıcaklık derecesi atlama oranı"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Temp change", "long?"],
|
||||
"text2": ["Temp change", "long"],
|
||||
"desc": "Uzun başışlardaki sıcaklık derecesi atlama oranı"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Power", "Pulse W"],
|
||||
"text2": ["Power", "pulse"],
|
||||
"desc": "Güç girişi voltajı ölçüm yoğunluğunu sık tut."
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall Eff", "Sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor in detecting sleep (O=Off | L=Low | M=Medium | H=High)"
|
||||
"text2": ["Hall sensor", "sensitivity"],
|
||||
"desc": "Sensitivity of the Hall effect sensor to detect sleep (0=Kapalı | 1=En az duyarlı | ... | 9=En duyarlı)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Allow buttons", "locking"],
|
||||
"desc": "When soldering, long press on both buttons lock them (D=Disable | B=Boost only | F=Full locking)"
|
||||
"text2": ["Allow locking", "buttons"],
|
||||
"desc": "While soldering, hold down both buttons to toggle locking them (K=Kapalı | B=boost mode only | F=full locking)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Minimum", "voltage"],
|
||||
@@ -195,15 +173,15 @@
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Anim.", "loop"],
|
||||
"desc": "Loop icon animations in root menu"
|
||||
"desc": "Loop icon animations in main menu"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Anim.", "speed"],
|
||||
"desc": "Speed of icon animations in menu (O=off | L=low | M=medium | H=high)"
|
||||
"desc": "Pace of icon animations in menu (K=Kapalı | Y=Yavaş | O=Orta | H=Hızlı)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Power pulse", "wait time"],
|
||||
"desc": "Time to wait before triggering every keep-awake pulse (x 2.5s)"
|
||||
"text2": ["Power pulse", "delay"],
|
||||
"desc": "Delay before keep-awake-pulse is triggered (x 2.5s)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Power pulse", "duration"],
|
||||
@@ -214,12 +192,16 @@
|
||||
"desc": ""
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Screen", "Brightness"],
|
||||
"desc": "Adjust the contrast/brightness of the OLED screen"
|
||||
"text2": ["Screen", "brightness"],
|
||||
"desc": "Adjust the brightness of the OLED screen"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Screen", "Invert"],
|
||||
"text2": ["Invert", "screen"],
|
||||
"desc": "Invert the colours of the OLED screen"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,26 +2,17 @@
|
||||
"languageCode": "UK",
|
||||
"languageLocalName": "Українська",
|
||||
"fonts": ["ascii_basic", "latin_extended", "cyrillic"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationDone": "Калібрування виконане!",
|
||||
"SettingsCalibrationWarning": "Переконайтеся, що жало охололо до кімнатної температури, перш ніж продовжувати!",
|
||||
"SettingsResetWarning": "Ви дійсно хочете скинути налаштування до значень за замовчуванням? (A=Так, В=Ні)",
|
||||
"UVLOWarningString": "АККУМ--",
|
||||
"UndervoltageString": "Низька напруга",
|
||||
"InputVoltageString": "Жив.(B): ",
|
||||
"WarningTipTempString": "Жало t°: ",
|
||||
"BadTipString": "ЖАЛО--",
|
||||
"SleepingSimpleString": "ZzZzz",
|
||||
"SleepingAdvancedString": "Очікування...",
|
||||
"WarningSimpleString": "ГАРЯЧЕ!",
|
||||
"WarningAdvancedString": "!!! ГАРЯЧЕ !!!\n!!! ЖАЛО !!!",
|
||||
"SleepingTipAdvancedString": "Жало:",
|
||||
"IdleTipString": "Жало:",
|
||||
"IdleSetString": " ->",
|
||||
"TipDisconnectedString": "Жало вимкнено!",
|
||||
"SolderingAdvancedPowerPrompt": "Живлення: ",
|
||||
"OffString": "Вимк",
|
||||
"YourGainMessage": "Приріст:"
|
||||
"OffString": "Вимк"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Скид. OK",
|
||||
@@ -38,9 +29,9 @@
|
||||
"SettingLeftChar": "Л",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "B",
|
||||
"SettingSlowChar": "П",
|
||||
"SettingSlowChar": "Н",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "Ш",
|
||||
"SettingFastChar": "М",
|
||||
"SettingStartNoneChar": "В",
|
||||
"SettingStartSolderingChar": "П",
|
||||
"SettingStartSleepChar": "О",
|
||||
@@ -51,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "М",
|
||||
"SettingLockDisableChar": "В",
|
||||
"SettingLockBoostChar": "Т",
|
||||
"SettingLockFullChar": "П",
|
||||
"SettingNAChar": "Н/Д"
|
||||
"SettingLockFullChar": "П"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -171,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Чутливість", "Ефекту Холла"],
|
||||
"desc": "Чутливість датчика ефекту Холла при виявленні сну (В=Вимк | Н=Низький | С=Середній | М=Макс)"
|
||||
"desc": "Чутливість датчика ефекту Холла при виявленні сну (0=Вимк. | 1=мін. чутливості | ... | 9=макс. чутливості)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Дозволити", "блок. кнопок"],
|
||||
@@ -208,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": ["Інверт", "екрану"],
|
||||
"desc": "Налаштування контрасту/яскравості OLED екрану"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
207
Translations/translation_VI.json
Normal file
207
Translations/translation_VI.json
Normal file
@@ -0,0 +1,207 @@
|
||||
{
|
||||
"languageCode": "VI",
|
||||
"languageLocalName": "Tieng Viet",
|
||||
"fonts": ["ascii_basic", "latin_extended"],
|
||||
"tempUnitFahrenheit": false,
|
||||
"messages": {
|
||||
"SettingsCalibrationWarning": "Chac chan mui hàn o nhiet đo phòng truoc khi tiep tuc!",
|
||||
"SettingsResetWarning": "Ban chac chan muon khôi phuc tat ca cài đat ve mac đinh?",
|
||||
"UVLOWarningString": "DC thap",
|
||||
"UndervoltageString": "Đien áp thap",
|
||||
"InputVoltageString": "Đau vào V: ",
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Đang ngu...",
|
||||
"SleepingTipAdvancedString": "Meo:",
|
||||
"OffString": "Tat"
|
||||
},
|
||||
"messagesWarn": {
|
||||
"ResetOKMessage": "Reset OK",
|
||||
"SettingsResetMessage": ["Mot so cài đat", "đã thay đoi"],
|
||||
"NoAccelerometerMessage": ["Không phát hien", "gia toc ke!"],
|
||||
"NoPowerDeliveryMessage": ["Không phát hien", "USB-PD IC!"],
|
||||
"LockingKeysString": "Đã khóa",
|
||||
"UnlockingKeysString": "Mo khóa",
|
||||
"WarningKeysLockedString": "Đã khóa!",
|
||||
"WarningThermalRunaway": ["Nhiet", "Tat gia nhiet"]
|
||||
},
|
||||
"characters": {
|
||||
"SettingRightChar": "R",
|
||||
"SettingLeftChar": "L",
|
||||
"SettingAutoChar": "A",
|
||||
"SettingOffChar": "O",
|
||||
"SettingSlowChar": "S",
|
||||
"SettingMediumChar": "M",
|
||||
"SettingFastChar": "F",
|
||||
"SettingStartNoneChar": "O",
|
||||
"SettingStartSolderingChar": "S",
|
||||
"SettingStartSleepChar": "Z",
|
||||
"SettingStartSleepOffChar": "R",
|
||||
"SettingSensitivityOff": "O",
|
||||
"SettingSensitivityLow": "L",
|
||||
"SettingSensitivityMedium": "M",
|
||||
"SettingSensitivityHigh": "H",
|
||||
"SettingLockDisableChar": "D",
|
||||
"SettingLockBoostChar": "B",
|
||||
"SettingLockFullChar": "F"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
"text2": ["Cài đat", "nguon đien"],
|
||||
"desc": "Cài đat nguon đien"
|
||||
},
|
||||
"SolderingMenu": {
|
||||
"text2": ["Cài đat", "tay hàn"],
|
||||
"desc": "Cài đat tay hàn"
|
||||
},
|
||||
"PowerSavingMenu": {
|
||||
"text2": ["Che đo", "ngu"],
|
||||
"desc": "Cài đat che đo tiet kiem đien"
|
||||
},
|
||||
"UIMenu": {
|
||||
"text2": ["Giao dien", "nguoi dùng"],
|
||||
"desc": "Cài đat giao dien nguoi dùng"
|
||||
},
|
||||
"AdvancedMenu": {
|
||||
"text2": ["Cài đat", "nâng cao"],
|
||||
"desc": "Cài đat nâng cao"
|
||||
}
|
||||
},
|
||||
"menuOptions": {
|
||||
"DCInCutoff": {
|
||||
"text2": ["Nguon", "đien"],
|
||||
"desc": "Nguon đien, đat đien áp giam. (DC 10V) (S 3.3V moi cell, tat gioi han công suat)"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text2": ["Nhiet đo", "khi ngu"],
|
||||
"desc": "Giam nhiet đo khi o \"Che đo ngu\""
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": ["Ngu", "sau"],
|
||||
"desc": "- thoi gian truoc khi \"Che đo ngu\" bat đau (s=giây | m=phút)"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": ["Tat", "sau"],
|
||||
"desc": "- khoang thoi gian truoc khi tay hàn tat (m=phút)"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": ["Cam bien", "cu đong"],
|
||||
"desc": "- 0=tat | 1=đo nhay thap nhat| ... | 9=đo nhay cao nhat"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text2": ["Đon vi", "nhiet đo"],
|
||||
"desc": "C= Đo C | F= Đo F"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text2": ["Chi tiet", "màn hình cho"],
|
||||
"desc": "- hien thi thông tin chi tiet bang phông chu nho hon trên màn hình cho"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text2": ["Huong", "hien thi"],
|
||||
"desc": "- R=huong tay phai | L=huong tay trái | A=tu đong"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text2": ["Tăng", "nhiet đo"],
|
||||
"desc": "Nhiet đo dùng trong che đo \"tăng cuong\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text2": ["Nhiet đo", "đang tăng"],
|
||||
"desc": "- 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"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text2": ["Nguoi đi", "chop mat"],
|
||||
"desc": "-Nhap nháy nhiet đo sau khi viec gia nhiet tam dung trong khi mui hàn van nóng"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text2": ["Hieu chuan", "nhiet đo?"],
|
||||
"desc": "-Bat đau hieu chuan bù nhiet cho mui hàn"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text2": ["Khôi phuc", "cài đat goc?"],
|
||||
"desc": "-đat lai tat ca cài đat ve mac đinh"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text2": ["Hieu chinh", "đien áp đau vào?"],
|
||||
"desc": "-bat đau hieu chuan VIN (nhan và giu đe thoát)"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text2": ["Chi tiet", "màn hình hàn"],
|
||||
"desc": "-Hien thi thông tin bang phông chu nho hon trên màn hình hàn"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text2": ["Toc đo", "cuon"],
|
||||
"desc": "Toc đo cuon văn ban(S=cham | F=nhanh)"
|
||||
},
|
||||
"QCMaxVoltage": {
|
||||
"text2": ["QC", "Voltage"],
|
||||
"desc": "Đien áp QC toi đa mà tay hàn yêu cau"
|
||||
},
|
||||
"PDNegTimeout": {
|
||||
"text2": ["PD", "sau"],
|
||||
"desc": "Thoi gian cho đàm phán PD trong các buoc 100ms đe tuong thích voi mot so bo sac QC"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text2": ["Công suat", "gioi han"],
|
||||
"desc": "-Công suat toi đa mà tay hàn có the su dung (W=watt)"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text2": ["Đao nguoc", "nút + -"],
|
||||
"desc": "Đao nguoc chuc năng các nút đieu chinh nhiet đo"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text2": ["Thay đoi n.đo", "an nút nhanh"],
|
||||
"desc": "Biên đo tăng/giam nhiet đo khi an nút nhanh"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text2": ["Thay đoi n.đo", "an nút lâu"],
|
||||
"desc": "Biên đo tăng/giam nhiet đo khi an nút lâu"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text2": ["Công suat", "kích nguon"],
|
||||
"desc": "-Cuong đo công suat kích nguon (watt)"
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": ["Hall", "đo nhay"],
|
||||
"desc": "Đo nhay cam bien Hall đe phát hien che đo ngu (0=tat | 1=ít nhay nhat |...| 9=nhay nhat)"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": ["Cho phép khóa", "các nút"],
|
||||
"desc": "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)"
|
||||
},
|
||||
"MinVolCell": {
|
||||
"text2": ["Voltage", "toi thieu"],
|
||||
"desc": "Đien áp toi thieu cho phép trên moi cell (3S: 3 - 3,7V | 4-6S: 2,4 - 3,7V)"
|
||||
},
|
||||
"AnimLoop": {
|
||||
"text2": ["Hoat anh", "lap lai"],
|
||||
"desc": "Lap lai các hoat anh trong màn hình chính"
|
||||
},
|
||||
"AnimSpeed": {
|
||||
"text2": ["Toc đo", "hoat anh"],
|
||||
"desc": "-Toc đo cua hoat anh menu (O=tat | S=cham | M=trung bình | F=nhanh)"
|
||||
},
|
||||
"PowerPulseWait": {
|
||||
"text2": ["Trì hoãn", "đien áp kích"],
|
||||
"desc": "Trì hoãn truoc khi kích hoat kích nguon(x 2,5 giây)"
|
||||
},
|
||||
"PowerPulseDuration": {
|
||||
"text2": ["Thoi luong", "kích nguon"],
|
||||
"desc": "-thoi luong kích nguon (x 250ms)"
|
||||
},
|
||||
"LanguageSwitch": {
|
||||
"text2": ["Ngôn ngu:", "VI Tieng Viet"],
|
||||
"desc": "-Ngôn ngu firmware hien tai"
|
||||
},
|
||||
"Brightness": {
|
||||
"text2": ["Đo tuong phan", "màn hình"],
|
||||
"desc": "-Đieu chinh đo sáng màn hình OLED"
|
||||
},
|
||||
"ColourInversion": {
|
||||
"text2": ["Đao nguoc màu", "màn hình"],
|
||||
"desc": "-Đao nguoc màu màn hình OLED"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,10 +12,6 @@
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Sleeping...",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "NO TIP",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "關"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -46,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "高",
|
||||
"SettingLockDisableChar": "無",
|
||||
"SettingLockBoostChar": "增",
|
||||
"SettingLockFullChar": "全",
|
||||
"SettingNAChar": "不適用"
|
||||
"SettingLockFullChar": "全"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -82,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": "待機延時",
|
||||
"desc": "自動進入待機模式前嘅閒置等候時間 <S=秒 | M=分鐘>"
|
||||
"desc": "自動進入待機模式前嘅閒置等候時間 <s=秒 | m=分鐘>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": "自動熄機",
|
||||
"desc": "自動熄機前嘅閒置等候時間 <M=分鐘>"
|
||||
"desc": "自動熄機前嘅閒置等候時間 <m=分鐘>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": "動作敏感度",
|
||||
@@ -166,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": "磁場敏感度",
|
||||
"desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
|
||||
"desc": "磁場感應器用嚟啓動待機模式嘅敏感度 <0=停用 | 1=最低敏感度 | ... | 9=最高敏感度>"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": "撳掣鎖定",
|
||||
@@ -203,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": "熒幕反轉色",
|
||||
"desc": "反轉OLED熒幕嘅黑白色"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Zzzz...",
|
||||
"SleepingTipAdvancedString": "--->",
|
||||
"IdleTipString": "--->",
|
||||
"IdleSetString": " /",
|
||||
"TipDisconnectedString": "<-X-",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "关"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -46,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "高",
|
||||
"SettingLockDisableChar": "无",
|
||||
"SettingLockBoostChar": "增",
|
||||
"SettingLockFullChar": "全",
|
||||
"SettingNAChar": "不适用"
|
||||
"SettingLockFullChar": "全"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -82,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": "待机超时",
|
||||
"desc": "自动进入待机模式前的等候时间 <S=秒 | M=分钟>"
|
||||
"desc": "自动进入待机模式前的等候时间 <s=秒 | m=分钟>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": "自动关机",
|
||||
"desc": "自动关机前的等候时间 <M=分钟>"
|
||||
"desc": "自动关机前的等候时间 <m=分钟>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": "动作灵敏度",
|
||||
@@ -166,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": "磁场灵敏度",
|
||||
"desc": "霍尔效应传感器用作启动待机模式的灵敏度 <关=禁用 | 低=低灵敏度 | 中=中灵敏度 | 高=高灵敏度>"
|
||||
"desc": "霍尔效应传感器用作启动待机模式的灵敏度 <0=禁用 | 1=最低灵敏度 | ... | 9=最高灵敏度>"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": "按键锁定",
|
||||
@@ -203,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": "反转屏幕颜色",
|
||||
"desc": "反转OLED黑/白屏幕"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,10 +12,6 @@
|
||||
"SleepingSimpleString": "Zzzz",
|
||||
"SleepingAdvancedString": "Sleeping...",
|
||||
"SleepingTipAdvancedString": "Tip:",
|
||||
"IdleTipString": "Tip:",
|
||||
"IdleSetString": " Set:",
|
||||
"TipDisconnectedString": "NO TIP",
|
||||
"SolderingAdvancedPowerPrompt": "Power: ",
|
||||
"OffString": "關"
|
||||
},
|
||||
"messagesWarn": {
|
||||
@@ -46,8 +42,7 @@
|
||||
"SettingSensitivityHigh": "高",
|
||||
"SettingLockDisableChar": "無",
|
||||
"SettingLockBoostChar": "增",
|
||||
"SettingLockFullChar": "全",
|
||||
"SettingNAChar": "不適用"
|
||||
"SettingLockFullChar": "全"
|
||||
},
|
||||
"menuGroups": {
|
||||
"PowerMenu": {
|
||||
@@ -82,11 +77,11 @@
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text2": "待機延時",
|
||||
"desc": "自動進入待機模式前的閒置等候時間 <S=秒 | M=分鐘>"
|
||||
"desc": "自動進入待機模式前的閒置等候時間 <s=秒 | m=分鐘>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text2": "自動關機",
|
||||
"desc": "自動關機前的閒置等候時間 <M=分鐘>"
|
||||
"desc": "自動關機前的閒置等候時間 <m=分鐘>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text2": "動作敏感度",
|
||||
@@ -166,7 +161,7 @@
|
||||
},
|
||||
"HallEffSensitivity": {
|
||||
"text2": "磁場敏感度",
|
||||
"desc": "磁場感應器用作啟動待機模式的敏感度 <關=停用 | 低=最低敏感度 | 中=中等敏感度 | 高=最高敏感度>"
|
||||
"desc": "磁場感應器用作啟動待機模式的敏感度 <0=停用 | 1=最低敏感度 | ... | 9=最高敏感度>"
|
||||
},
|
||||
"LockingMode": {
|
||||
"text2": "按鍵鎖定",
|
||||
@@ -203,6 +198,10 @@
|
||||
"ColourInversion": {
|
||||
"text2": "螢幕反轉色",
|
||||
"desc": "反轉OLED螢幕的黑白色彩"
|
||||
},
|
||||
"LOGOTime": {
|
||||
"text2": ["Boot logo", "duration"],
|
||||
"desc": "Sets the duration for the boot logo (s=seconds)"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,367 +2,432 @@ var def =
|
||||
{
|
||||
"messages": [
|
||||
{
|
||||
"id": "SettingsCalibrationWarning"
|
||||
"id": "SettingsCalibrationWarning",
|
||||
"description": "Confirmation message shown before performing an offset calibration. Should warn the user to make sure tip and handle are at the same temperature."
|
||||
},
|
||||
{
|
||||
"id": "SettingsResetWarning"
|
||||
"id": "SettingsResetWarning",
|
||||
"description": "Confirmation message shown before confirming a settings reset."
|
||||
},
|
||||
{
|
||||
"id": "UVLOWarningString",
|
||||
"maxLen": 8
|
||||
"maxLen": 8,
|
||||
"description": "Warning text shown when the unit turns off due to undervoltage in simple mode."
|
||||
},
|
||||
{
|
||||
"id": "UndervoltageString",
|
||||
"maxLen": 16
|
||||
"maxLen": 15,
|
||||
"description": "Warning text shown when the unit turns off due to undervoltage in advanced mode."
|
||||
},
|
||||
{
|
||||
"id": "InputVoltageString",
|
||||
"maxLen": 11,
|
||||
"note": "Preferably end with a space"
|
||||
"note": "Preferably end with a space",
|
||||
"description": "Prefix text for 'Input Voltage' shown before showing the input voltage reading."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "SleepingSimpleString",
|
||||
"maxLen": 4
|
||||
"maxLen": 4,
|
||||
"description": "The text shown to indicate the unit is in sleep mode when the advanced view is NOT on."
|
||||
},
|
||||
{
|
||||
"id": "SleepingAdvancedString",
|
||||
"maxLen": 16
|
||||
"maxLen": 15,
|
||||
"description": "The text shown to indicate the unit is in sleep mode when the advanced view is turned on."
|
||||
},
|
||||
{
|
||||
"id": "SleepingTipAdvancedString",
|
||||
"maxLen": 6
|
||||
},
|
||||
{
|
||||
"id": "IdleTipString",
|
||||
"lenSum":
|
||||
{
|
||||
"fields": ["IdleTipString", "IdleSetString"],
|
||||
"maxLen": 10
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "IdleSetString",
|
||||
"lenSum":
|
||||
{
|
||||
"fields": ["IdleTipString", "IdleSetString"],
|
||||
"maxLen": 10
|
||||
},
|
||||
"note": "Preferably start with a space"
|
||||
},
|
||||
{
|
||||
"id": "TipDisconnectedString",
|
||||
"maxLen": 16
|
||||
},
|
||||
{
|
||||
"id": "SolderingAdvancedPowerPrompt",
|
||||
"maxLen": null
|
||||
"maxLen": 6,
|
||||
"description": "The prefix text shown before tip temperature when the unit is sleeping with advanced view on."
|
||||
},
|
||||
{
|
||||
"id": "OffString",
|
||||
"maxLen": 3
|
||||
"maxLen": 3,
|
||||
"description": "Shown when a setting is turned off."
|
||||
}
|
||||
],
|
||||
"messagesWarn": [
|
||||
{
|
||||
"id": "ResetOKMessage"
|
||||
"id": "SettingsResetMessage",
|
||||
"description": "Shown when the settings are reset to factory defaults either by the user or by incompatible firmware changes."
|
||||
},
|
||||
{
|
||||
"id": "SettingsResetMessage"
|
||||
"id": "NoAccelerometerMessage",
|
||||
"description": "No accelerometer could be communicated with. This means that either the device's accelerometer is broken or unknown to IronOS. All motion-based settings are disabled and motion-based features will not work."
|
||||
},
|
||||
{
|
||||
"id": "NoAccelerometerMessage"
|
||||
"id": "NoPowerDeliveryMessage",
|
||||
"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."
|
||||
},
|
||||
{
|
||||
"id": "NoPowerDeliveryMessage"
|
||||
"id": "LockingKeysString",
|
||||
"description": "Shown when keys are locked"
|
||||
},
|
||||
{
|
||||
"id": "LockingKeysString"
|
||||
"id": "UnlockingKeysString",
|
||||
"description": "Shown when keys are unlocked"
|
||||
},
|
||||
{
|
||||
"id": "UnlockingKeysString"
|
||||
"id": "WarningKeysLockedString",
|
||||
"description": "Warning that is shown when input is ignored due to the key lock being on"
|
||||
},
|
||||
{
|
||||
"id": "WarningKeysLockedString"
|
||||
},
|
||||
{
|
||||
"id": "WarningThermalRunaway"
|
||||
"id": "WarningThermalRunaway",
|
||||
"description": "Warning text shown when the software has disabled the heater as a safety precaution as the temperature reading didn't react as expected."
|
||||
}
|
||||
],
|
||||
"characters": [
|
||||
{
|
||||
"id": "SettingRightChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown for fixed Right-handed display rotation."
|
||||
},
|
||||
{
|
||||
"id": "SettingLeftChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown for fixed Left-handed display rotation."
|
||||
},
|
||||
{
|
||||
"id": "SettingAutoChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown for automatic display rotation."
|
||||
},
|
||||
{
|
||||
"id": "SettingFastChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a setting is set to a fast value i.e. animation speed"
|
||||
},
|
||||
{
|
||||
"id": "SettingSlowChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a setting is set to a slow value i.e. animation speed"
|
||||
},
|
||||
{
|
||||
"id": "SettingMediumChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a setting is set to a medium value i.e. animation speed"
|
||||
},
|
||||
{
|
||||
"id": "SettingOffChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a setting is turned off"
|
||||
},
|
||||
{
|
||||
"id": "SettingStartSolderingChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when the auto start mode is set to go straight to soldering."
|
||||
},
|
||||
{
|
||||
"id": "SettingStartSleepChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when the auto start mode is set to start in sleep mode."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "SettingStartSleepOffChar",
|
||||
"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."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "SettingStartNoneChar",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when autostart state is to do nothing and go to a normal boot"
|
||||
},
|
||||
{
|
||||
"id": "SettingSensitivityOff",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a sensitivity (hall effect sensor) is disabled. Turning off the sensor."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "SettingSensitivityLow",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a sensitivity (hall effect) is not very sensitive"
|
||||
},
|
||||
{
|
||||
"id": "SettingSensitivityMedium",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a sensitivity (hall effect) is average sensitive"
|
||||
},
|
||||
{
|
||||
"id": "SettingSensitivityHigh",
|
||||
"len": 1
|
||||
"len": 1,
|
||||
"description": "Shown when a sensitivity (hall effect) is highly sensitive"
|
||||
},
|
||||
{
|
||||
"id": "SettingLockDisableChar",
|
||||
"len": 1,
|
||||
"default": "D"
|
||||
"default": "D",
|
||||
"description": "Shown when locking mode is turned off."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "SettingLockBoostChar",
|
||||
"len": 1,
|
||||
"default": "B"
|
||||
"default": "B",
|
||||
"description": "Shown when the locking mode is set to lock all buttons except for boost mode."
|
||||
},
|
||||
{
|
||||
"id": "SettingLockFullChar",
|
||||
"len": 1,
|
||||
"default": "F"
|
||||
},
|
||||
{
|
||||
"id": "SettingNAChar",
|
||||
"len": 3,
|
||||
"default": "N/A"
|
||||
"default": "F",
|
||||
"description": "Shown when the locking mode is set to lock all buttons."
|
||||
}
|
||||
],
|
||||
"menuGroups": [
|
||||
{
|
||||
"id": "PowerMenu",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "Menu for settings related to power. Main settings to do with the input voltage."
|
||||
},
|
||||
{
|
||||
"id": "SolderingMenu",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "Settings for soldering mode, such as boost temps, the increment used when pressing buttons and if button locking is enabled."
|
||||
},
|
||||
{
|
||||
"id": "PowerSavingMenu",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "Settings to do with power saving, such as sleep mode, sleep temps, and shutdown modes."
|
||||
},
|
||||
{
|
||||
"id": "UIMenu",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "User interface related settings, such as units."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "AdvancedMenu",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "Advanced settings. Misc catchall for settings that don't fit anywhere else or settings that require some thought before use."
|
||||
}
|
||||
],
|
||||
"menuOptions": [
|
||||
{
|
||||
"id": "DCInCutoff",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"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": "SleepTemperature",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
"maxLen2": 9,
|
||||
"description": "Temperature the device will drop down to while asleep. Typically around halfway between off and soldering temperature."
|
||||
},
|
||||
{
|
||||
"id": "SleepTimeout",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
"maxLen2": 9,
|
||||
"description": "How long of a period without movement / button-pressing is required before the device drops down to the sleep temperature."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "ShutdownTimeout",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "How long of a period without movement / button-pressing is required before the device turns off the tip heater completely and returns to the main idle screen."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "MotionSensitivity",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "Scale of how sensitive the device is to movement. Higher numbers == more sensitive. 0 == motion detection turned off."
|
||||
},
|
||||
{
|
||||
"id": "TemperatureUnit",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "If the device shows temperatures in °C or °F."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "AdvancedIdle",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "Should the device show an 'advanced' view on the idle screen. The advanced view uses text to show more details than the typical icons."
|
||||
},
|
||||
{
|
||||
"id": "DisplayRotation",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "If the display should rotate automatically or if it should be fixed for left- or right-handed mode."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "BoostTemperature",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
"maxLen2": 9,
|
||||
"description": "When the unit is in soldering mode. You can hold down the button at the front of the device to temporarily override the soldering temperature to this value. This SETS the temperature, it does not ADD to it."
|
||||
},
|
||||
{
|
||||
"id": "AutoStart",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "When the device powers up, should it enter into a special mode. These settings set it to either start into soldering mode, sleeping mode or auto mode (Enters into soldering mode on the first movement)."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "CooldownBlink",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "If the idle screen should blink the tip temperature for attention while the tip is over 50°C. Intended as a 'tip is still hot' warning."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "TemperatureCalibration",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Used to calibrate the ADC+Op-amp offsets for the tip. This calibration must be performed when the tip temperature and the handle temperature are equal. Generally not required unless your device is reading more than 5°C off target."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "SettingsReset",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Resets all settings and calibrations to factory defaults. Does NOT erase custom user boot up logo's."
|
||||
},
|
||||
{
|
||||
"id": "VoltageCalibration",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Enters an adjustment mode where you can gradually adjust the measured voltage to compensate for any unit-to-unit variance in the voltage sense resistors."
|
||||
},
|
||||
{
|
||||
"id": "AdvancedSoldering",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "Should the device show an 'advanced' soldering view. This is a text-based view that shows more information at the cost of no nice graphics."
|
||||
},
|
||||
{
|
||||
"id": "ScrollingSpeed",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "How fast the description text scrolls when hovering on a menu. Faster speeds may induce tearing, but allow reading the whole description faster."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "QCMaxVoltage",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"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",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "How long until firmware stops trying to negotiate for USB-PD and tries QC instead. Longer times may help dodgy / old PD adapters, faster times move onto PD quickly. Units of 100ms. Recommended to keep small values."
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
"id": "PowerLimit",
|
||||
"maxLen": 5,
|
||||
"maxLen2": 11
|
||||
"maxLen2": 11,
|
||||
"description": "Allows setting a custom wattage for the device to aim to keep the AVERAGE power below. The unit can't control its peak power no matter how you set this. (Except for MHP30 which will regulate nicely to this). If USB-PD is in use, the limit will be set to the lower of this and the supplies advertised wattage."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "ReverseButtonTempChange",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Swaps which button increments and decrements on temperature change screens."
|
||||
},
|
||||
{
|
||||
"id": "TempChangeShortStep",
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Factor by which the temperature is changed with a quick press of the buttons."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "TempChangeLongStep",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Factor by which the temperature is changed with a hold of the buttons."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "PowerPulsePower",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 16
|
||||
"maxLen2": 15,
|
||||
"description": "Enables and sets the wattage of the power pulse. Power pulse causes the device to briefly turn on the heater to draw power to avoid power banks going to sleep."
|
||||
|
||||
},
|
||||
{
|
||||
"id": "HallEffSensitivity",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 8
|
||||
"maxLen2": 8,
|
||||
"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": "LockingMode",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "If locking the buttons against accidental presses is enabled."
|
||||
},
|
||||
{
|
||||
"id": "MinVolCell",
|
||||
"maxLen": 4,
|
||||
"maxLen2": 9
|
||||
"maxLen2": 9,
|
||||
"description": "When powered by a battery, this adjusts the minimum voltage per cell before shutdown. (This is multiplied by the cell count.)"
|
||||
},
|
||||
{
|
||||
"id": "AnimLoop",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "Should the menu animations loop. Only visible if the animation speed is not set to \"Off\""
|
||||
},
|
||||
{
|
||||
"id": "AnimSpeed",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "How fast should the menu animations loop, or if they should not loop at all."
|
||||
},
|
||||
{
|
||||
"id": "PowerPulseWait",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "Adjusts the time interval between power pulses. Longer gaps reduce undesired heating of the tip, but needs to be fast enough to keep your power bank awake."
|
||||
},
|
||||
{
|
||||
"id": "PowerPulseDuration",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
"maxLen2": 13,
|
||||
"description": "How long should the power pulse go for. Some power banks require seeing the power draw be sustained for a certain duration to keep awake. Should be kept as short as possible to avoid wasting power / undesired heating of the tip."
|
||||
},
|
||||
{
|
||||
"id": "LanguageSwitch",
|
||||
"maxLen": 7,
|
||||
"maxLen2": 15
|
||||
"maxLen2": 15,
|
||||
"description": "Changes the device language on multi-lingual builds."
|
||||
},
|
||||
{
|
||||
"id": "Brightness",
|
||||
"maxLen": 7,
|
||||
"maxLen2": 15
|
||||
"maxLen2": 15,
|
||||
"description": "Display brightness. Higher values age the OLED faster due to burn-in. (However, it is notable that most of these screens die from other causes first.)"
|
||||
},
|
||||
{
|
||||
"id": "ColourInversion",
|
||||
"maxLen": 7,
|
||||
"maxLen2": 15
|
||||
"maxLen2": 15,
|
||||
"description": "Inverts the entire OLED."
|
||||
},
|
||||
{
|
||||
"id": "LOGOTime",
|
||||
"maxLen": 7,
|
||||
"maxLen2": 15,
|
||||
"description": "Sets the duration for the boot logo (S=seconds)."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ services:
|
||||
tty: true
|
||||
build:
|
||||
context: .
|
||||
command: /bin/bash
|
||||
command: /bin/sh
|
||||
volumes:
|
||||
- ./ci:/build/ci:Z
|
||||
- ./:/build/source:Z
|
||||
|
||||
38
setup.sh
38
setup.sh
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
# Setup shell file to setup the environment on an ubuntu machine
|
||||
sudo apt-get update && sudo apt-get install -y make bzip2 git python3 python3-pip wget dfu-util
|
||||
python3 -m pip install bdflib black flake8
|
||||
sudo mkdir -p /build
|
||||
cd /build
|
||||
|
||||
# Download source files to cache folder
|
||||
# Remember if these are updated, you need to update the md5 file respectively
|
||||
# Github checks out under $GITHUB_WORKSPACE
|
||||
MDPATH=${GITHUB_WORKSPACE:-/build/source/}
|
||||
sudo mkdir -p /build/cache
|
||||
cd /build/cache/
|
||||
if md5sum -c "$MDPATH"/ci/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2.md5; then
|
||||
echo "Good MD5 ARM"
|
||||
else
|
||||
echo "ARM MD5 Mismatch, downloading fresh"
|
||||
rm -rf /build/cache/gcc-arm*.bz2 || true
|
||||
sudo wget -q "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" -O gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
|
||||
fi
|
||||
|
||||
if md5sum -c "$MDPATH"/ci/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2.md5; then
|
||||
echo "Good MD5 RISCV"
|
||||
else
|
||||
echo "RISCV MD5 Mismatch, downloading fresh"
|
||||
rm -rf /build/cache/nuclei*.bz2 || true
|
||||
sudo wget -q "https://github.com/Ralim/nuclei-compiler/releases/download/2020.08/nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2" -O nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2
|
||||
fi
|
||||
|
||||
echo "Extracting compilers"
|
||||
sudo tar -xj -f gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /build/
|
||||
sudo tar -xj -f nuclei_riscv_newlibc_prebuilt_linux64_2020.08.tar.bz2 -C /build/
|
||||
|
||||
echo "Link into PATH"
|
||||
|
||||
sudo ln -s /build/gcc-arm-none-eabi-10-2020-q4-major/bin/* /usr/local/bin
|
||||
sudo ln -s /build/gcc/bin/* /usr/local/bin
|
||||
@@ -56,7 +56,7 @@ void reboot();
|
||||
|
||||
// If the user has programmed in a bootup logo, draw it to the screen from flash
|
||||
// Returns 1 if the logo was printed so that the unit waits for the timeout or button
|
||||
uint8_t showBootLogoIfavailable();
|
||||
void showBootLogoIfavailable();
|
||||
// delay wrapper for delay using the hardware timer (used before RTOS)
|
||||
void delay_ms(uint16_t count);
|
||||
// Probe if the Hall sensor is fitted to the unit
|
||||
|
||||
@@ -156,3 +156,5 @@
|
||||
#define NO_SLEEP_MODE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
|
||||
@@ -1,25 +0,0 @@
|
||||
/*
|
||||
* logo.c
|
||||
*
|
||||
* Created on: 29 May 2020
|
||||
* Author: Ralim
|
||||
*/
|
||||
|
||||
#include "BSP.h"
|
||||
#include "OLED.hpp"
|
||||
|
||||
static uint8_t logo_page[1024] __attribute__((section(".logo_page")));
|
||||
|
||||
// Logo header signature.
|
||||
#define LOGO_HEADER_VALUE 0xF00DAA55
|
||||
|
||||
uint8_t showBootLogoIfavailable() {
|
||||
// Do not show logo data if signature is not found.
|
||||
if (LOGO_HEADER_VALUE != *(reinterpret_cast<const uint32_t *>(logo_page))) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
OLED::drawAreaSwapped(0, 0, 96, 16, (uint8_t *)(logo_page + 4));
|
||||
OLED::refresh();
|
||||
return 1;
|
||||
}
|
||||
@@ -20,6 +20,7 @@ static const uint8_t tempMeasureTicks = 14;
|
||||
uint16_t totalPWM; // htim2.Init.Period, the full PWM cycle
|
||||
|
||||
static bool fastPWM;
|
||||
static bool infastPWM;
|
||||
|
||||
void resetWatchdog() { HAL_IWDG_Refresh(&hiwdg); }
|
||||
#ifdef TEMP_NTC
|
||||
@@ -135,7 +136,7 @@ uint16_t getInputVoltageX10(uint16_t divisor, uint8_t sample) {
|
||||
|
||||
static void switchToFastPWM(void) {
|
||||
// 10Hz
|
||||
fastPWM = true;
|
||||
infastPWM = true;
|
||||
totalPWM = powerPWM + tempMeasureTicks + holdoffTicks;
|
||||
htim2.Instance->ARR = totalPWM;
|
||||
htim2.Instance->CCR1 = powerPWM + holdoffTicks;
|
||||
@@ -144,7 +145,7 @@ static void switchToFastPWM(void) {
|
||||
|
||||
static void switchToSlowPWM(void) {
|
||||
// 5Hz
|
||||
fastPWM = false;
|
||||
infastPWM = false;
|
||||
totalPWM = powerPWM + tempMeasureTicks / 2 + holdoffTicks / 2;
|
||||
htim2.Instance->ARR = totalPWM;
|
||||
htim2.Instance->CCR1 = powerPWM + holdoffTicks / 2;
|
||||
@@ -152,16 +153,10 @@ static void switchToSlowPWM(void) {
|
||||
}
|
||||
|
||||
void setTipPWM(const uint8_t pulse, const bool shouldUseFastModePWM) {
|
||||
PWMSafetyTimer = 10; // This is decremented in the handler for PWM so that the tip pwm is
|
||||
PWMSafetyTimer = 20; // This is decremented in the handler for PWM so that the tip pwm is
|
||||
// disabled if the PID task is not scheduled often enough.
|
||||
fastPWM = shouldUseFastModePWM;
|
||||
pendingPWM = pulse;
|
||||
if (fastPWM != shouldUseFastModePWM) {
|
||||
if (shouldUseFastModePWM) {
|
||||
switchToFastPWM();
|
||||
} else {
|
||||
switchToSlowPWM();
|
||||
}
|
||||
}
|
||||
}
|
||||
// These are called by the HAL after the corresponding events from the system
|
||||
// timers.
|
||||
@@ -182,6 +177,14 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
|
||||
} else {
|
||||
HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
|
||||
}
|
||||
if (fastPWM != infastPWM) {
|
||||
if (fastPWM) {
|
||||
switchToFastPWM();
|
||||
} else {
|
||||
switchToSlowPWM();
|
||||
}
|
||||
}
|
||||
|
||||
} else if (htim->Instance == TIM1) {
|
||||
// STM uses this for internal functions as a counter for timeouts
|
||||
HAL_IncTick();
|
||||
|
||||
@@ -56,7 +56,7 @@ bool FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pDat
|
||||
bool FRToSI2C::Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size) {
|
||||
if (!lock())
|
||||
return false;
|
||||
if (HAL_I2C_Master_Transmit_DMA(&hi2c1, DevAddress, pData, Size) != HAL_OK) {
|
||||
if (HAL_I2C_Master_Transmit_IT(&hi2c1, DevAddress, pData, Size) != HAL_OK) {
|
||||
I2C_Unstick();
|
||||
unlock();
|
||||
return false;
|
||||
|
||||
@@ -1321,10 +1321,10 @@ HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel) {
|
||||
/* Enable the Capture compare channel */
|
||||
TIM_CCxChannelCmd(htim->Instance, Channel, TIM_CCx_ENABLE);
|
||||
|
||||
if (IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) {
|
||||
/* Enable the main output */
|
||||
__HAL_TIM_MOE_ENABLE(htim);
|
||||
}
|
||||
// if (IS_TIM_BREAK_INSTANCE(htim->Instance) != RESET) {
|
||||
// /* Enable the main output */
|
||||
// __HAL_TIM_MOE_ENABLE(htim);
|
||||
// }
|
||||
|
||||
/* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */
|
||||
if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) {
|
||||
@@ -3450,39 +3450,6 @@ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) {
|
||||
htim->PeriodElapsedCallback(htim);
|
||||
#else
|
||||
HAL_TIM_PeriodElapsedCallback(htim);
|
||||
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
|
||||
}
|
||||
}
|
||||
/* TIM Break input event */
|
||||
if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) {
|
||||
if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) {
|
||||
__HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK);
|
||||
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
||||
htim->BreakCallback(htim);
|
||||
#else
|
||||
HAL_TIMEx_BreakCallback(htim);
|
||||
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
|
||||
}
|
||||
}
|
||||
/* TIM Trigger detection event */
|
||||
if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) {
|
||||
if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) {
|
||||
__HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER);
|
||||
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
||||
htim->TriggerCallback(htim);
|
||||
#else
|
||||
HAL_TIM_TriggerCallback(htim);
|
||||
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
|
||||
}
|
||||
}
|
||||
/* TIM commutation event */
|
||||
if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) {
|
||||
if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) {
|
||||
__HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM);
|
||||
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
|
||||
htim->CommutationCallback(htim);
|
||||
#else
|
||||
HAL_TIMEx_CommutCallback(htim);
|
||||
#endif /* USE_HAL_TIM_REGISTER_CALLBACKS */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
* OLED Orientation
|
||||
*
|
||||
*/
|
||||
#define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right
|
||||
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
|
||||
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
|
||||
|
||||
/**
|
||||
@@ -95,7 +95,7 @@
|
||||
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
|
||||
|
||||
#define THERMAL_RUNAWAY_TIME_SEC 20
|
||||
#define THERMAL_RUNAWAY_TEMP_C 20
|
||||
#define THERMAL_RUNAWAY_TEMP_C 10
|
||||
|
||||
#define CUT_OUT_SETTING 0 // default to no cut-off voltage
|
||||
#define RECOM_VOL_CELL 33 // Minimum voltage per cell (Recommended 3.3V (33))
|
||||
@@ -124,6 +124,14 @@
|
||||
#error "No model defined!"
|
||||
#endif
|
||||
|
||||
// Miniware is swapping IMU's around a bit now, so we turn them all on
|
||||
|
||||
#define ACCEL_MMA
|
||||
#define ACCEL_LIS
|
||||
#define ACCEL_SC7
|
||||
#define ACCEL_MSA
|
||||
#define ACCEL_BMA
|
||||
|
||||
#ifdef MODEL_TS100
|
||||
#define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C
|
||||
#define VOLTAGE_DIV 467 // 467 - Default divider from schematic
|
||||
@@ -144,9 +152,9 @@
|
||||
#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 POW_DC
|
||||
#define ACCEL_MMA
|
||||
|
||||
#define POW_PD 0
|
||||
#define ACCEL_LIS
|
||||
|
||||
#define TEMP_TMP36
|
||||
#endif
|
||||
|
||||
@@ -169,7 +177,7 @@
|
||||
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
|
||||
#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 ACCEL_LIS
|
||||
|
||||
#define POW_QC
|
||||
#define POW_PD 0
|
||||
#define TEMP_TMP36
|
||||
@@ -196,13 +204,13 @@
|
||||
#define MIN_TEMP_F 60 // Min soldering temp selectable °F
|
||||
#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 ACCEL_LIS
|
||||
#define ACCEL_MSA
|
||||
|
||||
#define POW_PD 1
|
||||
#define POW_QC 1
|
||||
#define TEMP_NTC
|
||||
#define I2C_SOFT
|
||||
#define LIS_ORI_FLIP
|
||||
#define SC7_ORI_FLIP
|
||||
#define OLED_FLIP
|
||||
#endif
|
||||
|
||||
@@ -224,3 +232,5 @@
|
||||
#define TIP_RESISTANCE 45 // x10 ohms, 4.5 typical for ts80 tips
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define FLASH_LOGOADDR (0x08000000 + (62 * 1024))
|
||||
@@ -1,25 +0,0 @@
|
||||
/*
|
||||
* logo.c
|
||||
*
|
||||
* Created on: 29 May 2020
|
||||
* Author: Ralim
|
||||
*/
|
||||
|
||||
#include "BSP.h"
|
||||
#include "OLED.hpp"
|
||||
|
||||
static uint8_t logo_page[1024] __attribute__((section(".logo_page")));
|
||||
|
||||
// Logo header signature.
|
||||
#define LOGO_HEADER_VALUE 0xF00DAA55
|
||||
|
||||
uint8_t showBootLogoIfavailable() {
|
||||
// Do not show logo data if signature is not found.
|
||||
if (LOGO_HEADER_VALUE != *(reinterpret_cast<const uint32_t *>(logo_page))) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
OLED::drawAreaSwapped(0, 0, 96, 16, (uint8_t *)(logo_page + 4));
|
||||
OLED::refresh();
|
||||
return 1;
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
void HAL_MspInit(void) {
|
||||
__HAL_RCC_AFIO_CLK_ENABLE();
|
||||
|
||||
HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
|
||||
// HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
|
||||
|
||||
/* System interrupt init*/
|
||||
/* MemoryManagement_IRQn interrupt configuration */
|
||||
@@ -82,7 +82,7 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c) {
|
||||
GPIO_InitStruct.Pin = SCL_Pin | SDA_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* Peripheral clock enable */
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
* OLED Orientation
|
||||
*
|
||||
*/
|
||||
#define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right
|
||||
#define ORIENTATION_MODE 2 // 0: Right 1:Left 2:Automatic - Default Automatic
|
||||
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperature change
|
||||
|
||||
/**
|
||||
@@ -124,7 +124,7 @@
|
||||
#define POWER_LIMIT_STEPS 5 //
|
||||
#define OP_AMP_GAIN_STAGE OP_AMP_GAIN_STAGE_PINECIL // Uses TS100 resistors
|
||||
#define TEMP_uV_LOOKUP_HAKKO // Use Hakko lookup table
|
||||
#define USB_PD_VMAX 20 // Maximum voltage for PD to negotiate
|
||||
#define USB_PD_VMAX 21 // Maximum voltage for PD to negotiate
|
||||
#define PID_TIM_HZ (8) // Tick rate of the PID loop
|
||||
#define MAX_TEMP_C 450 // Max soldering temp selectable °C
|
||||
#define MAX_TEMP_F 850 // Max soldering temp selectable °F
|
||||
@@ -142,6 +142,7 @@
|
||||
#define ACCEL_BMA
|
||||
#define ACCEL_SC7
|
||||
#define HALL_SENSOR
|
||||
#define VBUS_MOD_TEST
|
||||
#define HALL_SI7210
|
||||
#define DEBUG_UART_OUTPUT
|
||||
|
||||
@@ -150,3 +151,7 @@
|
||||
#define TIP_RESISTANCE 75 // x10 ohms, 7.5 typical for Pinecil tips
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define FLASH_LOGOADDR (0x08000000 + (126 * 1024))
|
||||
|
||||
#define HAS_POWER_DEBUG_MENU
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* logo.c
|
||||
*
|
||||
* Created on: 29 May 2020
|
||||
* Author: Ralim
|
||||
*/
|
||||
|
||||
#include "BSP.h"
|
||||
#include "OLED.hpp"
|
||||
// Second last page of flash set aside for logo image.
|
||||
#define FLASH_LOGOADDR (0x08000000 + (126 * 1024))
|
||||
// Logo header signature.
|
||||
#define LOGO_HEADER_VALUE 0xF00DAA55
|
||||
|
||||
uint8_t showBootLogoIfavailable() {
|
||||
// Do not show logo data if signature is not found.
|
||||
if (LOGO_HEADER_VALUE != *(reinterpret_cast<const uint32_t *>(FLASH_LOGOADDR))) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
OLED::drawAreaSwapped(0, 0, 96, 16, (uint8_t *)(FLASH_LOGOADDR + 4));
|
||||
OLED::refresh();
|
||||
return 1;
|
||||
}
|
||||
79
source/Core/Drivers/BootLogo.cpp
Normal file
79
source/Core/Drivers/BootLogo.cpp
Normal file
@@ -0,0 +1,79 @@
|
||||
#include "BootLogo.h"
|
||||
#include "BSP.h"
|
||||
#include "Buttons.hpp"
|
||||
#include "OLED.hpp"
|
||||
#include "cmsis_os.h"
|
||||
#define LOGO_PAGE_LENGTH 1024
|
||||
void BootLogo::handleShowingLogo(const uint8_t *ptrLogoArea) {
|
||||
// Read the first few bytes and figure out what format we are looking at
|
||||
if (OLD_LOGO_HEADER_VALUE == *(reinterpret_cast<const uint32_t *>(ptrLogoArea))) {
|
||||
showOldFormat(ptrLogoArea);
|
||||
} else if (ptrLogoArea[0] == 0xAA) {
|
||||
showNewFormat(ptrLogoArea + 1);
|
||||
}
|
||||
OLED::clearScreen();
|
||||
OLED::refresh();
|
||||
}
|
||||
|
||||
void BootLogo::showOldFormat(const uint8_t *ptrLogoArea) {
|
||||
|
||||
OLED::drawAreaSwapped(0, 0, 96, 16, (uint8_t *)(ptrLogoArea + 4));
|
||||
OLED::refresh();
|
||||
|
||||
// Delay here until button is pressed or its been the amount of seconds set by the user
|
||||
waitForButtonPressOrTimeout(TICKS_SECOND * getSettingValue(SettingsOptions::LOGOTime));
|
||||
}
|
||||
|
||||
void BootLogo::showNewFormat(const uint8_t *ptrLogoArea) {
|
||||
if (getSettingValue(SettingsOptions::LOGOTime) == 0) {
|
||||
return;
|
||||
}
|
||||
// New logo format (a) fixes long standing byte swap quirk and (b) supports animation
|
||||
uint8_t interFrameDelay = ptrLogoArea[0];
|
||||
OLED::clearScreen();
|
||||
ButtonState buttons = getButtonState();
|
||||
|
||||
// Now draw in the frames
|
||||
int position = 1;
|
||||
do {
|
||||
|
||||
int len = (showNewFrame(ptrLogoArea + position));
|
||||
OLED::refresh();
|
||||
position += len;
|
||||
buttons = getButtonState();
|
||||
|
||||
if (interFrameDelay) {
|
||||
osDelay(interFrameDelay * 5);
|
||||
}
|
||||
// 1024 less the header type byte and the inter-frame-delay
|
||||
if (getSettingValue(SettingsOptions::LOGOTime) < 5 && (position == 1022 || len == 0)) {
|
||||
// Delay here until button is pressed or its been the amount of seconds set by the user
|
||||
waitForButtonPressOrTimeout(TICKS_SECOND * getSettingValue(SettingsOptions::LOGOTime));
|
||||
return;
|
||||
}
|
||||
} while (buttons == BUTTON_NONE);
|
||||
}
|
||||
int BootLogo::showNewFrame(const uint8_t *ptrLogoArea) {
|
||||
uint8_t length = ptrLogoArea[0];
|
||||
|
||||
if (length == 0xFF) {
|
||||
// Full frame update
|
||||
OLED::drawArea(0, 0, 96, 16, ptrLogoArea + 1);
|
||||
length = 96;
|
||||
} else if (length == 0xFE) {
|
||||
return 1;
|
||||
} else if (length == 0) {
|
||||
return 0; // end
|
||||
} else {
|
||||
length /= 2;
|
||||
// Draw length patches
|
||||
for (int p = 0; p < length; p++) {
|
||||
uint8_t index = ptrLogoArea[1 + (p * 2)];
|
||||
uint8_t value = ptrLogoArea[2 + (p * 2)];
|
||||
OLED::drawArea(index % 96, index >= 96 ? 8 : 0, 1, 8, &value);
|
||||
}
|
||||
}
|
||||
|
||||
OLED::refresh();
|
||||
return (length * 2) + 1;
|
||||
}
|
||||
17
source/Core/Drivers/BootLogo.h
Normal file
17
source/Core/Drivers/BootLogo.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef DRIVERS_BOOTLOGO_H_
|
||||
#define DRIVERS_BOOTLOGO_H_
|
||||
|
||||
// Wrapper for handling showing a bootlogo
|
||||
#include <stdint.h>
|
||||
#define OLD_LOGO_HEADER_VALUE 0xF00DAA55
|
||||
class BootLogo {
|
||||
public:
|
||||
static void handleShowingLogo(const uint8_t *ptrLogoArea);
|
||||
|
||||
private:
|
||||
static void showOldFormat(const uint8_t *ptrLogoArea);
|
||||
static void showNewFormat(const uint8_t *ptrLogoArea);
|
||||
static int showNewFrame(const uint8_t *ptrLogoArea);
|
||||
};
|
||||
|
||||
#endif // DRIVERS_BOOTLOGO_H_
|
||||
@@ -5,7 +5,7 @@
|
||||
* Author: Ralim
|
||||
*/
|
||||
#include "FreeRTOS.h"
|
||||
#include "gui.hpp"
|
||||
#include "settingsGUI.hpp"
|
||||
#include "task.h"
|
||||
#include <Buttons.hpp>
|
||||
uint32_t lastButtonTime = 0;
|
||||
|
||||
@@ -125,97 +125,86 @@ const uint8_t WarningBlock24[] = {
|
||||
0x00, 0x00, 0x00, 0xC0, 0xB0, 0x8C, 0x83, 0x80, 0x80, 0x80, 0x80, 0xB3, 0xB3, 0xB3, 0x80, 0x80, 0x80, 0x80, 0x83, 0x8C, 0xB0, 0xC0, 0x00, 0x00};
|
||||
|
||||
#if defined(MODEL_TS100) + defined(MODEL_Pinecil) >= 1
|
||||
const uint8_t idleScreenBG[] = {
|
||||
// width = 84
|
||||
const uint8_t buttonA[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x81, 0x49, 0x31, 0x01, 0xc1, 0x25, 0x19, 0x01, 0xc1, 0x25, 0x19, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x89, 0x8a, 0x88, 0x94,
|
||||
0x8c, 0x94, 0xae, 0x80, 0xbe, 0x8e, 0xa6, 0x8e, 0xa6, 0x8e, 0xa6, 0x8e, 0xa6, 0x8a, 0xa6, 0x8a, 0xa6, 0x8a, 0xa6, 0x8a, 0x46, 0x4a, 0x22, 0x18, 0x07, 0x00, 0x00, 0x00};
|
||||
|
||||
const uint8_t disconnectedTip[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0xbd, 0x81, 0x01, 0x01, 0xfd, 0x01, 0x01, 0x71, 0x55, 0x71,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x19, 0x25, 0xc1, 0x01, 0x19, 0x25, 0xc1, 0x01, 0x31, 0x49, 0x81, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x83, 0xba, 0x83, 0x80, 0x8e, 0xaa, 0x8e, 0x80, 0x80, 0xbf, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x22, 0x4a, 0x46, 0x8a, 0xa6, 0x8a, 0xa6, 0x8a, 0xa6,
|
||||
0x8a, 0xa6, 0x8e, 0xa6, 0x8e, 0xa6, 0x8e, 0xa6, 0x8e, 0xbe, 0x80, 0xae, 0x94, 0x8c, 0x94, 0x88, 0x8a, 0x89, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00};
|
||||
const uint8_t disconnectedTipIcon[] = {
|
||||
//
|
||||
// 41 x 16
|
||||
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xcc, 0x9c, 0x38, 0x70, 0xe0, 0xc0, 0x80, 0x20, 0x70, 0x38, 0x1c, 0xcc, 0x40,
|
||||
0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x60, 0xe0, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x05, 0x00, 0x07, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04,
|
||||
0x31, 0x38, 0x1c, 0x0e, 0x04, 0x01, 0x03, 0x07, 0x0e, 0x1c, 0x39, 0x30, 0x01, 0x03, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x09, 0x0f};
|
||||
const uint8_t disconnectedTipIconFlip[] = {
|
||||
//
|
||||
// 41 x 16
|
||||
0xe0, 0x60, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x80, 0x40, 0xcc, 0x1c, 0x38, 0x70, 0x20, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x9c, 0xcc, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x09, 0x04, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x03, 0x01, 0x30,
|
||||
0x39, 0x1c, 0x0e, 0x07, 0x03, 0x01, 0x04, 0x0e, 0x1c, 0x38, 0x31, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0x07, 0x00, 0x05, 0x02, 0x01, 0x02, 0x01, 0x01, 0x01};
|
||||
0x80, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0x60, 0xe0, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x05, 0x00, 0x07, 0x01, 0x04, 0x01, 0x04, 0x01,
|
||||
0x04, 0x31, 0x38, 0x1c, 0x0e, 0x04, 0x01, 0x03, 0x07, 0x0e, 0x1c, 0x39, 0x30, 0x01, 0x03, 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x04, 0x09, 0x0f, 0x00};
|
||||
#endif
|
||||
|
||||
#if defined(MODEL_TS80) + defined(MODEL_TS80P) >= 1
|
||||
const uint8_t idleScreenBG[] = {
|
||||
// width = 84
|
||||
const uint8_t buttonA[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0xbd, 0x81, 0x01, 0x01, 0xfd, 0x01, 0x01, 0x71, 0x55, 0x71,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x19, 0x25, 0xc1, 0x01, 0x19, 0x25, 0xc1, 0x01, 0x31, 0x49, 0x81, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x83, 0xba, 0x83, 0x80, 0x8e, 0xaa, 0x8e, 0x80, 0x80, 0xbf, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x44, 0x4c, 0x94, 0x8c, 0x94, 0x8c, 0x94, 0x8c,
|
||||
0x94, 0x8c, 0x94, 0x80, 0x9c, 0x8a, 0xa6, 0x8a, 0xa6, 0x8e, 0xa6, 0x9c, 0x81, 0x94, 0x88, 0x88, 0x8a, 0x81, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00};
|
||||
const uint8_t disconnectedTipIcon[] = {
|
||||
//
|
||||
// 41 x 16
|
||||
0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x40, 0xc0, 0x40, 0x80, 0x00, 0x80, 0x80, 0x8c, 0x9c, 0x38, 0x70, 0xe0, 0xc0, 0x80, 0x20, 0x70, 0x38, 0x9c, 0x8c,
|
||||
0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0x40, 0xe0, 0x60, 0xe0, 0x01, 0x01, 0x01, 0x02, 0x00, 0x03, 0x04, 0x01, 0x04, 0x01, 0x04, 0x01, 0x03, 0x00, 0x02,
|
||||
0x01, 0x32, 0x39, 0x1c, 0x0e, 0x04, 0x01, 0x03, 0x07, 0x0e, 0x1c, 0x38, 0x31, 0x02, 0x01, 0x02, 0x00, 0x02, 0x01, 0x04, 0x01, 0x04, 0x01, 0x0a, 0x01, 0x0f};
|
||||
const uint8_t disconnectedTipIconFlip[] = {
|
||||
//
|
||||
// 41 x 16
|
||||
0xe0, 0x60, 0xe0, 0x40, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x8c, 0x9c, 0x38, 0x70, 0x20, 0x80, 0xc0, 0xe0, 0x70, 0x38, 0x9c, 0x8c, 0x80, 0x80, 0x00,
|
||||
0x80, 0x40, 0xc0, 0x40, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x01, 0x0a, 0x01, 0x04, 0x01, 0x04, 0x01, 0x02, 0x00, 0x02, 0x01, 0x02, 0x31, 0x38,
|
||||
0x1c, 0x0e, 0x07, 0x03, 0x01, 0x04, 0x0e, 0x1c, 0x39, 0x32, 0x01, 0x02, 0x00, 0x03, 0x01, 0x04, 0x01, 0x04, 0x01, 0x04, 0x03, 0x00, 0x02, 0x01, 0x01, 0x01};
|
||||
0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x81, 0x49, 0x31, 0x01, 0xc1, 0x25, 0x19, 0x01, 0xc1, 0x25, 0x19, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x81, 0x8a, 0x88, 0x88,
|
||||
0x8c, 0x95, 0x80, 0x9c, 0xa6, 0x8e, 0xa6, 0x8c, 0x80, 0x94, 0x8c, 0x94, 0x8c, 0x94, 0x8c, 0x94, 0x80, 0x88, 0x88, 0x88, 0x48, 0x48, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00};
|
||||
|
||||
const uint8_t disconnectedTip[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x80, 0x80, 0x80, 0x8c, 0x9c, 0x38, 0x70, 0xe0, 0xc0, 0x80, 0x20, 0x70, 0x38, 0x1c, 0x0c, 0x00,
|
||||
0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xe0, 0xa0, 0xe0, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x00, 0x03, 0x04, 0x01, 0x04, 0x01, 0x00, 0x02, 0x01,
|
||||
0x02, 0x31, 0x38, 0x1c, 0x0e, 0x04, 0x01, 0x03, 0x07, 0x0e, 0x1c, 0x39, 0x31, 0x01, 0x01, 0x00, 0x02, 0x01, 0x02, 0x01, 0x04, 0x01, 0x04, 0x01, 0x0a, 0x01, 0x0f, 0x00};
|
||||
#endif
|
||||
|
||||
#ifdef MODEL_MHP30
|
||||
const uint8_t idleScreenBG[] = {
|
||||
// width = 84
|
||||
const uint8_t buttonA[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81, 0xbd, 0x81, 0x01, 0x01, 0xfd, 0x01, 0x01, 0x71, 0x55, 0x71,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x81,
|
||||
0x81, 0x99, 0xa5, 0x01, 0xc1, 0xd9, 0xe5, 0x21, 0xe1, 0xf1, 0x89, 0x41, 0xc1, 0x81, 0x81, 0x81, 0x81, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x83, 0xba, 0x83, 0x80, 0x8e, 0xaa, 0x8e, 0x80, 0x80, 0xbf, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x86, 0x89, 0x85, 0x91, 0x8b, 0x93,
|
||||
0x8b, 0xa3, 0x97, 0xa7, 0x97, 0xa7, 0x8f, 0xaf, 0x87, 0x97, 0xa5, 0x86, 0x93, 0x8b, 0x93, 0x83, 0x89, 0xa5, 0x89, 0x46, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00};
|
||||
const uint8_t disconnectedTipIcon[] = {
|
||||
//
|
||||
// 41 x 16
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0xa0, 0x30, 0x70, 0x70, 0x60, 0x4c, 0x9c, 0x38, 0x70, 0xe4, 0xcc, 0x88, 0x20, 0x70, 0x38, 0x9c, 0x4c, 0x60,
|
||||
0x70, 0x60, 0x20, 0xa0, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x29, 0x10, 0x22, 0x01,
|
||||
0x32, 0x38, 0x1c, 0x0e, 0x04, 0x01, 0x03, 0x07, 0x0e, 0x1c, 0x38, 0x30, 0x01, 0x12, 0x29, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
const uint8_t disconnectedTipIconFlip[] = {
|
||||
//
|
||||
// 41 x 16
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0xa0, 0x20, 0x60, 0x70, 0x60, 0x4c, 0x9c, 0x38, 0x70, 0x20, 0x88, 0xcc, 0xe4, 0x70, 0x38, 0x9c, 0x4c, 0x60, 0x70,
|
||||
0x70, 0x30, 0xa0, 0x20, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x29, 0x12, 0x01, 0x30,
|
||||
0x38, 0x1c, 0x0e, 0x07, 0x03, 0x01, 0x04, 0x0e, 0x1c, 0x38, 0x32, 0x01, 0x22, 0x10, 0x29, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
0x00, 0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x81, 0x81, 0x41, 0x41, 0x41, 0x41, 0x21, 0x01, 0xc1, 0x25, 0x19, 0x01, 0x81, 0x49, 0x31, 0x01, 0xc1, 0x25, 0x19,
|
||||
0x01, 0xa1, 0xa1, 0x41, 0x41, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x83, 0x87, 0x83, 0xab, 0x86,
|
||||
0x96, 0x8e, 0xa6, 0x9c, 0xad, 0x8c, 0xb8, 0x89, 0xa4, 0x84, 0x84, 0x92, 0x82, 0x81, 0xa9, 0x80, 0x84, 0x80, 0x81, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00};
|
||||
|
||||
const uint8_t disconnectedTip[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0xd0, 0xc8, 0x08, 0x10, 0x10, 0x10, 0x10,
|
||||
0x20, 0x20, 0x20, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x38, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
#endif
|
||||
|
||||
// 16 x 16
|
||||
const uint8_t brightnessIcon[]
|
||||
= {0x80, 0x86, 0x8E, 0x9C, 0x18, 0xC0, 0xE0, 0xEF, 0xEF, 0xE0, 0xC0, 0x18, 0x9C, 0x8E, 0x86, 0x80, 0x01, 0x61, 0x71, 0x39, 0x18, 0x03, 0x07, 0xF7, 0xF7, 0x07, 0x03, 0x18, 0x39, 0x71, 0x61, 0x01};
|
||||
const uint8_t buttonB[] = {
|
||||
// width = 42
|
||||
// height = 16
|
||||
0x00, 0x00, 0x00, 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x71, 0x55, 0x71, 0x01, 0x01, 0xfd, 0x01, 0x01, 0x81, 0xbd, 0x81, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x40, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0xbf, 0x80, 0x80, 0x8e, 0xaa, 0x8e, 0x80, 0x83, 0xba, 0x83, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
// 24 x 16
|
||||
const uint8_t invertDisplayIcon[] = {0xFE, 0x01, 0x79, 0x25, 0x79, 0x01, 0xFE, 0x00, 0x20, 0x20, 0x20, 0x20, 0xDF, 0x07, 0x8F, 0xDF, 0xFF, 0x01, 0xFE, 0x86, 0xDA, 0x86, 0xFE, 0x01,
|
||||
0x7F, 0x80, 0xA4, 0xBE, 0xA0, 0x80, 0x7F, 0x00, 0x04, 0x0E, 0x1F, 0x04, 0xFB, 0xFB, 0xFB, 0xFB, 0xFF, 0x80, 0x7F, 0x5B, 0x41, 0x5F, 0x7F, 0x80};
|
||||
const uint8_t brightnessIcon[] = {
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x80, 0x86, 0x8E, 0x9C, 0x18, 0xC0, 0xE0, 0xEF, 0xEF, 0xE0, 0xC0, 0x18, 0x9C, 0x8E, 0x86, 0x80, 0x01, 0x61, 0x71, 0x39, 0x18, 0x03, 0x07, 0xF7, 0xF7, 0x07, 0x03, 0x18, 0x39, 0x71, 0x61, 0x01};
|
||||
|
||||
const uint8_t invertDisplayIcon[] = {
|
||||
// width = 24
|
||||
// height = 16
|
||||
0xFE, 0x01, 0x79, 0x25, 0x79, 0x01, 0xFE, 0x00, 0x20, 0x20, 0x20, 0x20, 0xDF, 0x07, 0x8F, 0xDF, 0xFF, 0x01, 0xFE, 0x86, 0xDA, 0x86, 0xFE, 0x01,
|
||||
0x7F, 0x80, 0xA4, 0xBE, 0xA0, 0x80, 0x7F, 0x00, 0x04, 0x0E, 0x1F, 0x04, 0xFB, 0xFB, 0xFB, 0xFB, 0xFF, 0x80, 0x7F, 0x5B, 0x41, 0x5F, 0x7F, 0x80};
|
||||
|
||||
const uint8_t infinityIcon[] = {
|
||||
// width = 24
|
||||
// height = 16
|
||||
0x00, 0xc0, 0x70, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x10, 0x20, 0x80, 0xc0, 0x60, 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x70, 0xc0, 0x00,
|
||||
0x00, 0x01, 0x07, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x06, 0x03, 0x01, 0x00, 0x02, 0x04, 0x0c, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x07, 0x01, 0x00};
|
||||
|
||||
/*
|
||||
* 16x16 icons
|
||||
* 32 * 3 = Frame size * Frame count
|
||||
* */
|
||||
const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// Power
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
{
|
||||
// Power 1 frame
|
||||
// Power 1st frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -251,7 +240,7 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Power 2 frame
|
||||
// Power 2nd frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -326,10 +315,8 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// Soldering
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
{
|
||||
// Soldering 1 frame
|
||||
// Soldering 1st frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -365,7 +352,7 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Soldering 2 frame
|
||||
// Soldering 2nd frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -440,10 +427,8 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// Sleep
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
{
|
||||
// Sleep 1 frame
|
||||
// Sleep 1st frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -479,7 +464,7 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Sleep 2 frame
|
||||
// Sleep 2nd frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -554,10 +539,8 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// UI
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
{
|
||||
// UI 1 frame
|
||||
// UI 1st frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -593,7 +576,7 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x61,
|
||||
0x00,
|
||||
|
||||
// UI 2 frame
|
||||
// UI 2nd frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -668,11 +651,9 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// Advanced
|
||||
// 3 frames
|
||||
/// width = 16
|
||||
// height = 16
|
||||
{
|
||||
// Advanced 1 frame
|
||||
/// width = 16
|
||||
// Advanced 1st frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0xfe,
|
||||
@@ -707,8 +688,8 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x22,
|
||||
0x0c,
|
||||
|
||||
// Advanced 2 frame
|
||||
/// width = 16
|
||||
// Advanced 2nd frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0xe0,
|
||||
0xae,
|
||||
@@ -744,7 +725,7 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x1c,
|
||||
|
||||
// Advanced final frame
|
||||
/// width = 16
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x7e,
|
||||
@@ -783,10 +764,8 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// Calibration (Not used, kept for future menu layouts)
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
{
|
||||
// Calibration 1 frame (Not used, kept for future menu layouts)
|
||||
// Calibration 1st frame (Not used, kept for future menu layouts)
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
@@ -822,7 +801,7 @@ const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Calibration 2 frame (Not used, kept for future menu layouts)
|
||||
// Calibration 2nd frame (Not used, kept for future menu layouts)
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
|
||||
@@ -36,4 +36,14 @@ void LIS2DH12::getAxisReadings(int16_t &x, int16_t &y, int16_t &z) {
|
||||
z = sensorData[2];
|
||||
}
|
||||
|
||||
bool LIS2DH12::detect() { return FRToSI2C::probe(LIS2DH_I2C_ADDRESS); }
|
||||
bool LIS2DH12::detect() {
|
||||
if (!FRToSI2C::probe(LIS2DH_I2C_ADDRESS)) {
|
||||
return false;
|
||||
}
|
||||
// Read chip id to ensure its not an address collision
|
||||
uint8_t id = 0;
|
||||
if (FRToSI2C::Mem_Read(LIS2DH_I2C_ADDRESS, LIS2DH_WHOAMI_REG, &id, 1)) {
|
||||
return id == LIS2DH_WHOAMI_ID;
|
||||
}
|
||||
return false; // cant read ID
|
||||
}
|
||||
|
||||
@@ -9,19 +9,20 @@
|
||||
#define LIS2DH12_DEFINES_HPP_
|
||||
|
||||
#define LIS2DH_I2C_ADDRESS (25 << 1)
|
||||
|
||||
#define LIS_CTRL_REG1 0x20 | 0x80
|
||||
#define LIS_CTRL_REG2 0x21 | 0x80
|
||||
#define LIS_CTRL_REG3 0x22 | 0x80
|
||||
#define LIS_CTRL_REG4 0x23 | 0x80
|
||||
#define LIS_CTRL_REG5 0x24 | 0x80
|
||||
#define LIS_CTRL_REG6 0x25 | 0x80
|
||||
#define LIS_INT1_CFG 0xB0 | 0x80
|
||||
#define LIS_INT2_CFG 0xB4 | 0x80
|
||||
#define LIS_INT1_DURATION 0x33 | 0x80
|
||||
#define LIS_INT1_THS 0x32 | 0x80
|
||||
#define LIS_INT1_SRC 0x31 | 0x80
|
||||
#define LIS_INT2_DURATION 0x37 | 0x80
|
||||
#define LIS_INT2_THS 0x36 | 0x80
|
||||
#define LIS_INT2_SRC 0x35 | 0x80
|
||||
#define LIS2DH_WHOAMI_REG 0x0F
|
||||
#define LIS2DH_WHOAMI_ID (0b00110011)
|
||||
#define LIS_CTRL_REG1 0x20 | 0x80
|
||||
#define LIS_CTRL_REG2 0x21 | 0x80
|
||||
#define LIS_CTRL_REG3 0x22 | 0x80
|
||||
#define LIS_CTRL_REG4 0x23 | 0x80
|
||||
#define LIS_CTRL_REG5 0x24 | 0x80
|
||||
#define LIS_CTRL_REG6 0x25 | 0x80
|
||||
#define LIS_INT1_CFG 0xB0 | 0x80
|
||||
#define LIS_INT2_CFG 0xB4 | 0x80
|
||||
#define LIS_INT1_DURATION 0x33 | 0x80
|
||||
#define LIS_INT1_THS 0x32 | 0x80
|
||||
#define LIS_INT1_SRC 0x31 | 0x80
|
||||
#define LIS_INT2_DURATION 0x37 | 0x80
|
||||
#define LIS_INT2_THS 0x36 | 0x80
|
||||
#define LIS_INT2_SRC 0x35 | 0x80
|
||||
#endif /* LIS2DH12_DEFINES_HPP_ */
|
||||
|
||||
@@ -61,7 +61,13 @@ public:
|
||||
|
||||
static void setRotation(bool leftHanded); // Set the rotation for the screen
|
||||
// Get the current rotation of the LCD
|
||||
static bool getRotation() { return inLeftHandedMode; }
|
||||
static bool getRotation() {
|
||||
#ifdef OLED_FLIP
|
||||
return !inLeftHandedMode;
|
||||
#else
|
||||
return inLeftHandedMode;
|
||||
#endif
|
||||
}
|
||||
static void setBrightness(uint8_t contrast);
|
||||
static void setInverseDisplay(bool inverted);
|
||||
static int16_t getCursorX() { return cursor_x; }
|
||||
|
||||
@@ -5,19 +5,38 @@
|
||||
* Author: Ralim
|
||||
*/
|
||||
|
||||
#include "LIS2DH12_defines.hpp"
|
||||
#include <SC7A20.hpp>
|
||||
#include <SC7A20_defines.h>
|
||||
#include <array>
|
||||
|
||||
bool SC7A20::isInImitationMode;
|
||||
/*
|
||||
- This little accelerometer seems to come in two forms, its "normal" setup, and then one where it imitates the LIS2DH12
|
||||
- This can be detected by checking the whoami registers
|
||||
*/
|
||||
|
||||
bool SC7A20::detect() {
|
||||
if (FRToSI2C::probe(SC7A20_ADDRESS)) {
|
||||
// Read chip id to ensure its not an address collision
|
||||
uint8_t id = 0;
|
||||
if (FRToSI2C::Mem_Read(SC7A20_ADDRESS, SC7A20_WHO_AMI_I, &id, 1)) {
|
||||
return id == 0b00010001;
|
||||
if (id == SC7A20_WHO_AM_I_VALUE) {
|
||||
isInImitationMode = false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (FRToSI2C::probe(SC7A20_ADDRESS2)) {
|
||||
// Read chip id to ensure its not an address collision
|
||||
uint8_t id = 0;
|
||||
if (FRToSI2C::Mem_Read(SC7A20_ADDRESS2, SC7A20_WHO_AMI_I, &id, 1)) {
|
||||
if (id == SC7A20_WHO_AM_I_VALUE) {
|
||||
isInImitationMode = true;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -40,6 +59,20 @@ static const FRToSI2C::I2C_REG i2c_registers[] = {
|
||||
|
||||
//
|
||||
};
|
||||
static const FRToSI2C::I2C_REG i2c_registers_alt[] = {{LIS_CTRL_REG1, 0b00110111, 0}, // 200Hz XYZ
|
||||
{LIS_CTRL_REG2, 0b00000000, 0}, //
|
||||
{LIS_CTRL_REG3, 0b01100000, 0}, // Setup interrupt pins
|
||||
{LIS_CTRL_REG4, 0b00001000, 0}, // Block update mode off, HR on
|
||||
{LIS_CTRL_REG5, 0b00000010, 0}, //
|
||||
{LIS_CTRL_REG6, 0b01100010, 0},
|
||||
// Basically setup the unit to run, and enable 4D orientation detection
|
||||
{LIS_INT2_CFG, 0b01111110, 0}, // setup for movement detection
|
||||
{LIS_INT2_THS, 0x28, 0}, //
|
||||
{LIS_INT2_DURATION, 64, 0}, //
|
||||
{LIS_INT1_CFG, 0b01111110, 0}, //
|
||||
{LIS_INT1_THS, 0x28, 0}, //
|
||||
{LIS_INT1_DURATION, 64, 0}};
|
||||
|
||||
bool SC7A20::initalize() {
|
||||
// Setup acceleration readings
|
||||
// 2G range
|
||||
@@ -49,15 +82,18 @@ bool SC7A20::initalize() {
|
||||
// Orientation recognition in symmetrical mode
|
||||
// Hysteresis is set to ~ 16 counts
|
||||
// Theta blocking is set to 0b10
|
||||
|
||||
return FRToSI2C::writeRegistersBulk(SC7A20_ADDRESS, i2c_registers, sizeof(i2c_registers) / sizeof(i2c_registers[0]));
|
||||
if (isInImitationMode) {
|
||||
return FRToSI2C::writeRegistersBulk(SC7A20_ADDRESS2, i2c_registers_alt, sizeof(i2c_registers_alt) / sizeof(i2c_registers_alt[0]));
|
||||
} else {
|
||||
return FRToSI2C::writeRegistersBulk(SC7A20_ADDRESS, i2c_registers, sizeof(i2c_registers) / sizeof(i2c_registers[0]));
|
||||
}
|
||||
}
|
||||
|
||||
void SC7A20::getAxisReadings(int16_t &x, int16_t &y, int16_t &z) {
|
||||
// We can tell the accelerometer to output in LE mode which makes this simple
|
||||
uint16_t sensorData[3] = {0, 0, 0};
|
||||
|
||||
if (FRToSI2C::Mem_Read(SC7A20_ADDRESS, SC7A20_OUT_X_L, (uint8_t *)sensorData, 6) == false) {
|
||||
if (FRToSI2C::Mem_Read(isInImitationMode ? SC7A20_ADDRESS2 : SC7A20_ADDRESS, isInImitationMode ? SC7A20_OUT_X_L_ALT : SC7A20_OUT_X_L, (uint8_t *)sensorData, 6) == false) {
|
||||
x = y = z = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -17,17 +17,26 @@ public:
|
||||
static bool initalize();
|
||||
// 1 = rh, 2,=lh, 8=flat
|
||||
static Orientation getOrientation() {
|
||||
uint8_t val = ((FRToSI2C::I2C_RegisterRead(SC7A20_ADDRESS, SC7A20_INT2_SOURCE) >> 2) - 1);
|
||||
if (val == 1)
|
||||
return Orientation::ORIENTATION_LEFT_HAND;
|
||||
else if (val == 4 || val == 0)
|
||||
uint8_t val = ((FRToSI2C::I2C_RegisterRead(isInImitationMode ? SC7A20_ADDRESS2 : SC7A20_ADDRESS, SC7A20_INT2_SOURCE) >> 2) - 1);
|
||||
if (val == 1) {
|
||||
#ifdef SC7_ORI_FLIP
|
||||
return Orientation::ORIENTATION_RIGHT_HAND;
|
||||
else
|
||||
#else
|
||||
return Orientation::ORIENTATION_LEFT_HAND;
|
||||
#endif
|
||||
} else if (val == 4 || val == 0) {
|
||||
#ifdef SC7_ORI_FLIP
|
||||
return Orientation::ORIENTATION_LEFT_HAND;
|
||||
#else
|
||||
return Orientation::ORIENTATION_RIGHT_HAND;
|
||||
#endif
|
||||
} else
|
||||
return Orientation::ORIENTATION_FLAT;
|
||||
}
|
||||
static void getAxisReadings(int16_t &x, int16_t &y, int16_t &z);
|
||||
|
||||
private:
|
||||
static bool isInImitationMode;
|
||||
};
|
||||
|
||||
#endif /* CORE_DRIVERS_BMA223_HPP_ */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* BMA223_defines.h
|
||||
* SC7A20_defines.h
|
||||
*
|
||||
* Created on: 18 Sep. 2020
|
||||
* Author: Ralim
|
||||
@@ -8,39 +8,44 @@
|
||||
#ifndef CORE_DRIVERS_SC7A20_DEFINES_H_
|
||||
#define CORE_DRIVERS_SC7A20_DEFINES_H_
|
||||
|
||||
#define SC7A20_ADDRESS 0x18 << 1
|
||||
#define SC7A20_WHO_AMI_I 0x0F
|
||||
#define SC7A20_CTRL_REG1 0x20
|
||||
#define SC7A20_CTRL_REG2 0x21
|
||||
#define SC7A20_CTRL_REG3 0x22
|
||||
#define SC7A20_CTRL_REG4 0x23
|
||||
#define SC7A20_CTRL_REG5 0x24
|
||||
#define SC7A20_CTRL_REG6 0x25
|
||||
#define SC7A20_REFERENCE 0x26
|
||||
#define SC7A20_STATUS_REG 0x27
|
||||
#define SC7A20_OUT_X_L 0x28
|
||||
#define SC7A20_OUT_X_H 0x29
|
||||
#define SC7A20_OUT_Y_L 0x2A
|
||||
#define SC7A20_OUT_Y_H 0x2B
|
||||
#define SC7A20_OUT_Z_L 0x2C
|
||||
#define SC7A20_OUT_Z_H 0x2D
|
||||
#define SC7A20_FIFO_CTRL 0x2E
|
||||
#define SC7A20_FIFO_SRC 0x2F
|
||||
#define SC7A20_INT1_CFG 0x30
|
||||
#define SC7A20_INT1_SOURCE 0x31
|
||||
#define SC7A20_INT1_THS 0x32
|
||||
#define SC7A20_INT1_DURATION 0x33
|
||||
#define SC7A20_INT2_CFG 0x34
|
||||
#define SC7A20_INT2_SOURCE 0x35
|
||||
#define SC7A20_INT2_THS 0x36
|
||||
#define SC7A20_INT2_DURATION 0x37
|
||||
#define SC7A20_CLICK_CFG 0x38
|
||||
#define SC7A20_CLICK_SRC 0x39
|
||||
#define SC7A20_CLICK_THS 0x3A
|
||||
#define SC7A20_TIME_LIMIT 0x3B
|
||||
#define SC7A20_TIME_LATENCY 0x3C
|
||||
#define SC7A20_TIME_WINDOW 0x3D
|
||||
#define SC7A20_ACT_THS 0x3E
|
||||
#define SC7A20_ACT_DURATION 0x3F
|
||||
#define SC7A20_ADDRESS 0x18 << 1
|
||||
// Sometimes the SC7A20 turns up programmed to impersonate the LIS2DH12
|
||||
#define SC7A20_ADDRESS2 (25 << 1)
|
||||
|
||||
#define SC7A20_WHO_AM_I_VALUE (0b00010001)
|
||||
#define SC7A20_WHO_AMI_I 0x0F
|
||||
#define SC7A20_CTRL_REG1 0x20
|
||||
#define SC7A20_CTRL_REG2 0x21
|
||||
#define SC7A20_CTRL_REG3 0x22
|
||||
#define SC7A20_CTRL_REG4 0x23
|
||||
#define SC7A20_CTRL_REG5 0x24
|
||||
#define SC7A20_CTRL_REG6 0x25
|
||||
#define SC7A20_REFERENCE 0x26
|
||||
#define SC7A20_STATUS_REG 0x27
|
||||
#define SC7A20_OUT_X_L 0x28
|
||||
#define SC7A20_OUT_X_L_ALT 0xA8
|
||||
#define SC7A20_OUT_X_H 0x29
|
||||
#define SC7A20_OUT_Y_L 0x2A
|
||||
#define SC7A20_OUT_Y_H 0x2B
|
||||
#define SC7A20_OUT_Z_L 0x2C
|
||||
#define SC7A20_OUT_Z_H 0x2D
|
||||
#define SC7A20_FIFO_CTRL 0x2E
|
||||
#define SC7A20_FIFO_SRC 0x2F
|
||||
#define SC7A20_INT1_CFG 0x30
|
||||
#define SC7A20_INT1_SOURCE 0x31
|
||||
#define SC7A20_INT1_THS 0x32
|
||||
#define SC7A20_INT1_DURATION 0x33
|
||||
#define SC7A20_INT2_CFG 0x34
|
||||
#define SC7A20_INT2_SOURCE 0x35
|
||||
#define SC7A20_INT2_THS 0x36
|
||||
#define SC7A20_INT2_DURATION 0x37
|
||||
#define SC7A20_CLICK_CFG 0x38
|
||||
#define SC7A20_CLICK_SRC 0x39
|
||||
#define SC7A20_CLICK_THS 0x3A
|
||||
#define SC7A20_TIME_LIMIT 0x3B
|
||||
#define SC7A20_TIME_LATENCY 0x3C
|
||||
#define SC7A20_TIME_WINDOW 0x3D
|
||||
#define SC7A20_ACT_THS 0x3E
|
||||
#define SC7A20_ACT_DURATION 0x3F
|
||||
|
||||
#endif /* CORE_DRIVERS_BMA223_DEFINES_H_ */
|
||||
|
||||
@@ -67,8 +67,24 @@ bool USBPowerDelivery::fusbPresent() {
|
||||
return detectionState == 1;
|
||||
}
|
||||
|
||||
bool pdbs_dpm_evaluate_capability(const pd_msg *capabilities, pd_msg *request) {
|
||||
bool USBPowerDelivery::isVBUSConnected() {
|
||||
static uint8_t state = 0;
|
||||
if (state) {
|
||||
return state == 1;
|
||||
}
|
||||
if (fusb.isVBUSConnected()) {
|
||||
state = 1;
|
||||
return true;
|
||||
} else {
|
||||
state = 2;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
pd_msg lastCapabilities;
|
||||
pd_msg *USBPowerDelivery::getLastSeenCapabilities() { return &lastCapabilities; }
|
||||
|
||||
bool pdbs_dpm_evaluate_capability(const pd_msg *capabilities, pd_msg *request) {
|
||||
memcpy(&lastCapabilities, capabilities, sizeof(pd_msg));
|
||||
/* Get the number of PDOs */
|
||||
uint8_t numobj = PD_NUMOBJ_GET(capabilities);
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#ifndef DRIVERS_USBPD_H_
|
||||
#define DRIVERS_USBPD_H_
|
||||
#include "configuration.h"
|
||||
#include "pdb_msg.h"
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
@@ -9,16 +10,17 @@
|
||||
#if POW_PD
|
||||
class USBPowerDelivery {
|
||||
public:
|
||||
static bool start(); // Start the PD stack
|
||||
static bool negotiationComplete(); // Has negotiation completed to a voltage > 5v
|
||||
static bool negotiationInProgress(); // Is negotiation ongoing
|
||||
static bool fusbPresent(); // Is the FUSB302 present on the bus
|
||||
static void PPSTimerCallback(); // PPS Timer
|
||||
static void IRQOccured(); // Thread callback that an irq occured
|
||||
static void step(); // Iterate the step machine
|
||||
static bool negotiationHasWorked(); //
|
||||
static uint8_t getStateNumber(); //
|
||||
|
||||
static bool start(); // Start the PD stack
|
||||
static bool negotiationComplete(); // Has negotiation completed to a voltage > 5v
|
||||
static bool negotiationInProgress(); // Is negotiation ongoing
|
||||
static bool fusbPresent(); // Is the FUSB302 present on the bus
|
||||
static void PPSTimerCallback(); // PPS Timer
|
||||
static void IRQOccured(); // Thread callback that an irq occured
|
||||
static void step(); // Iterate the step machine
|
||||
static bool negotiationHasWorked(); // Has PD negotiation worked (are we in a PD contract)
|
||||
static uint8_t getStateNumber(); // Debugging - Get the internal state number
|
||||
static bool isVBUSConnected(); // Is the VBus pin connected on the FUSB302
|
||||
static pd_msg *getLastSeenCapabilities(); // returns pointer to the last seen capabilities from the powersource
|
||||
private:
|
||||
//
|
||||
static int detectionState;
|
||||
|
||||
Submodule source/Core/Drivers/usb-pd updated: 4c5a5625ba...b38598261d
@@ -49,9 +49,10 @@ enum SettingsOptions {
|
||||
PDNegTimeout = 32, // PD timeout in 100ms steps
|
||||
OLEDInversion = 33, // Invert the colours on the display
|
||||
OLEDBrightness = 34, // Brightness for the OLED display
|
||||
LOGOTime = 35, // Duration the logo will be displayed for
|
||||
|
||||
//
|
||||
SettingsOptionsLength = 35, //
|
||||
SettingsOptionsLength = 36, //
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
|
||||
@@ -14,6 +14,7 @@ extern const bool HasFahrenheit;
|
||||
extern const char *SymbolPlus;
|
||||
extern const char *SymbolMinus;
|
||||
extern const char *SymbolSpace;
|
||||
extern const char *SymbolAmps;
|
||||
extern const char *SymbolDot;
|
||||
extern const char *SymbolDegC;
|
||||
extern const char *SymbolDegF;
|
||||
@@ -24,6 +25,10 @@ extern const char *SymbolVolts;
|
||||
extern const char *SymbolDC;
|
||||
extern const char *SymbolCellCount;
|
||||
extern const char *SymbolVersionNumber;
|
||||
extern const char *SymbolPDDebug;
|
||||
extern const char *SymbolState;
|
||||
extern const char *SymbolNoVBus;
|
||||
extern const char *SymbolVBus;
|
||||
|
||||
extern const char *DebugMenu[];
|
||||
extern const char *AccelTypeNames[];
|
||||
@@ -63,6 +68,7 @@ enum class SettingsItemIndex : uint8_t {
|
||||
LanguageSwitch,
|
||||
Brightness,
|
||||
ColourInversion,
|
||||
LOGOTime,
|
||||
NUM_ITEMS,
|
||||
};
|
||||
|
||||
@@ -76,13 +82,8 @@ struct TranslationIndexTable {
|
||||
uint16_t SleepingSimpleString;
|
||||
uint16_t SleepingAdvancedString;
|
||||
uint16_t SleepingTipAdvancedString;
|
||||
uint16_t IdleTipString;
|
||||
uint16_t IdleSetString;
|
||||
uint16_t TipDisconnectedString;
|
||||
uint16_t SolderingAdvancedPowerPrompt;
|
||||
uint16_t OffString;
|
||||
|
||||
uint16_t ResetOKMessage;
|
||||
uint16_t SettingsResetMessage;
|
||||
uint16_t NoAccelerometerMessage;
|
||||
uint16_t NoPowerDeliveryMessage;
|
||||
@@ -109,7 +110,6 @@ struct TranslationIndexTable {
|
||||
uint16_t SettingLockDisableChar;
|
||||
uint16_t SettingLockBoostChar;
|
||||
uint16_t SettingLockFullChar;
|
||||
uint16_t SettingNAChar;
|
||||
|
||||
uint16_t SettingsDescriptions[static_cast<uint32_t>(SettingsItemIndex::NUM_ITEMS)];
|
||||
uint16_t SettingsShortNames[static_cast<uint32_t>(SettingsItemIndex::NUM_ITEMS)];
|
||||
@@ -118,7 +118,8 @@ struct TranslationIndexTable {
|
||||
};
|
||||
|
||||
extern const TranslationIndexTable *Tr;
|
||||
extern const char * TranslationStrings;
|
||||
|
||||
extern const char *TranslationStrings;
|
||||
|
||||
struct TranslationData {
|
||||
TranslationIndexTable indices;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* gui.h
|
||||
* settingsGUI.h
|
||||
*
|
||||
* Created on: 3Sep.,2017
|
||||
* Author: Ben V. Brown
|
||||
@@ -3,10 +3,10 @@
|
||||
#include "Translation_multi.h"
|
||||
#include "brieflz.h"
|
||||
#include "configuration.h"
|
||||
#include "gui.hpp"
|
||||
#include "settingsGUI.hpp"
|
||||
|
||||
const TranslationIndexTable *Tr = nullptr;
|
||||
const char * TranslationStrings = nullptr;
|
||||
const char *TranslationStrings = nullptr;
|
||||
|
||||
static uint8_t selectedLangIndex = 255;
|
||||
|
||||
@@ -38,7 +38,7 @@ void prepareTranslations() {
|
||||
|
||||
const TranslationData *translationData;
|
||||
uint16_t buffer_remaining_size = translation_data_out_buffer_size;
|
||||
uint8_t * buffer_next_ptr = translation_data_out_buffer;
|
||||
uint8_t *buffer_next_ptr = translation_data_out_buffer;
|
||||
if (langMeta.translation_is_compressed) {
|
||||
unsigned int outsize;
|
||||
outsize = blz_depack_srcsize(langMeta.translation_data, buffer_next_ptr, langMeta.translation_size);
|
||||
@@ -55,7 +55,7 @@ void prepareTranslations() {
|
||||
memset(DynamicFontSections, 0, FontSectionsCount * sizeof(DynamicFontSections[0]));
|
||||
for (int i = 0; i < FontSectionDataCount; i++) {
|
||||
const auto &fontSectionDataInfo = FontSectionDataInfos[i];
|
||||
auto & fontSection = DynamicFontSections[i];
|
||||
auto &fontSection = DynamicFontSections[i];
|
||||
fontSection.symbol_start = fontSectionDataInfo.symbol_start;
|
||||
fontSection.symbol_end = fontSection.symbol_start + fontSectionDataInfo.symbol_count;
|
||||
const uint16_t font12_size = fontSectionDataInfo.symbol_count * (12 * 16 / 8);
|
||||
|
||||
@@ -29,7 +29,7 @@ typedef struct {
|
||||
uint16_t versionMarker;
|
||||
uint16_t length; // Length of valid bytes following
|
||||
uint16_t settingsValues[SettingsOptionsLength];
|
||||
// used to make this nicely "good enough" aligned to 32 butes to make driver code trivial
|
||||
// used to make this nicely "good enough" aligned to 32 bytes to make driver code trivial
|
||||
uint32_t padding;
|
||||
|
||||
} systemSettingsType;
|
||||
@@ -77,13 +77,14 @@ static const SettingConstants settingsConstants[(int)SettingsOptions::SettingsOp
|
||||
{0, 1, 1, REVERSE_BUTTON_TEMP_CHANGE}, // ReverseButtonTempChangeEnabled
|
||||
{5, TEMP_CHANGE_LONG_STEP_MAX, 5, TEMP_CHANGE_LONG_STEP}, // TempChangeLongStep
|
||||
{1, TEMP_CHANGE_SHORT_STEP_MAX, 1, TEMP_CHANGE_SHORT_STEP}, // TempChangeShortStep
|
||||
{0, 3, 1, 1}, // HallEffectSensitivity
|
||||
{0, 9, 1, 7}, // HallEffectSensitivity
|
||||
{0, 9, 1, 0}, // AccelMissingWarningCounter
|
||||
{0, 9, 1, 0}, // PDMissingWarningCounter
|
||||
{0, 0xFFFF, 0, 41431 /*EN*/}, // UILanguage
|
||||
{0, 50, 1, 20}, // PDNegTimeout
|
||||
{0, 1, 1, 0}, // OLEDInversion
|
||||
{0, 99, 11, 33}, // OLEDBrightness
|
||||
{0, 5, 1, 1}, // LOGOTime
|
||||
|
||||
};
|
||||
static_assert((sizeof(settingsConstants) / sizeof(SettingConstants)) == ((int)SettingsOptions::SettingsOptionsLength));
|
||||
@@ -172,25 +173,43 @@ bool nextSettingValue(const enum SettingsOptions option) {
|
||||
// Return true if we are at the end (min)
|
||||
bool prevSettingValue(const enum SettingsOptions option) {
|
||||
const auto constants = settingsConstants[(int)option];
|
||||
int value = systemSettings.settingsValues[(int)option];
|
||||
if (value <= constants.min) {
|
||||
value = constants.max;
|
||||
if (systemSettings.settingsValues[(int)option] == (constants.min)) {
|
||||
// Already at min, wrap to the max
|
||||
systemSettings.settingsValues[(int)option] = constants.max;
|
||||
} else if (systemSettings.settingsValues[(int)option] <= (constants.min + constants.increment)) {
|
||||
// If within one increment of the start, constrain to the start
|
||||
systemSettings.settingsValues[(int)option] = constants.min;
|
||||
} else {
|
||||
// Otherwise decrement
|
||||
systemSettings.settingsValues[(int)option] -= constants.increment;
|
||||
}
|
||||
value -= constants.increment;
|
||||
systemSettings.settingsValues[(int)option] = value;
|
||||
return systemSettings.settingsValues[(int)option] == constants.min;
|
||||
// Return if we are at the min
|
||||
return constants.min == systemSettings.settingsValues[(int)option];
|
||||
}
|
||||
uint16_t lookupHallEffectThreshold() {
|
||||
// Return the threshold above which the hall effect sensor is "activated"
|
||||
// We want this to be roughly exponentially mapped from 0-1000
|
||||
switch (getSettingValue(SettingsOptions::HallEffectSensitivity)) {
|
||||
case 0:
|
||||
return 0;
|
||||
case 1: // Low
|
||||
case 1:
|
||||
return 1000;
|
||||
case 2: // Medium
|
||||
case 2:
|
||||
return 750;
|
||||
case 3:
|
||||
return 500;
|
||||
case 3: // High
|
||||
case 4:
|
||||
return 250;
|
||||
case 5:
|
||||
return 150;
|
||||
case 6:
|
||||
return 100;
|
||||
case 7:
|
||||
return 75;
|
||||
case 8:
|
||||
return 50;
|
||||
case 9:
|
||||
return 25;
|
||||
default:
|
||||
return 0; // Off
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/*
|
||||
* gui.cpp
|
||||
* settingsGUI.cpp
|
||||
*
|
||||
* Created on: 3Sep.,2017
|
||||
* Author: Ben V. Brown
|
||||
*/
|
||||
|
||||
#include "gui.hpp"
|
||||
#include "settingsGUI.hpp"
|
||||
#include "Buttons.hpp"
|
||||
#include "ScrollMessage.hpp"
|
||||
#include "TipThermoModel.h"
|
||||
@@ -69,9 +69,11 @@ static bool settings_showPowerPulseOptions(void);
|
||||
static void settings_displayPowerPulseDuration(void);
|
||||
static void settings_displayBrightnessLevel(void);
|
||||
static void settings_displayInvertColor(void);
|
||||
static void settings_displayLogoTime(void);
|
||||
|
||||
#ifdef HALL_SENSOR
|
||||
static void settings_displayHallEffect(void);
|
||||
static bool settings_showHallEffect(void);
|
||||
#endif
|
||||
// Menu functions
|
||||
|
||||
@@ -92,39 +94,45 @@ static bool settings_enterAdvancedMenu(void);
|
||||
*
|
||||
* Power Menu
|
||||
* Power Source
|
||||
* -Minimum Voltage
|
||||
* QC Voltage
|
||||
* PD Timeout
|
||||
*
|
||||
* Soldering
|
||||
* Boost Mode Enabled
|
||||
* Boost Mode Temp
|
||||
* Auto Start
|
||||
* Temp change short step
|
||||
* Temp change long step
|
||||
* Locking Mode
|
||||
|
||||
*
|
||||
* Power Saving
|
||||
* Sleep Temp
|
||||
* Sleep Time
|
||||
* Shutdown Time
|
||||
* Motion Sensitivity
|
||||
* -Sleep Temp
|
||||
* -Sleep Time
|
||||
* -Shutdown Time
|
||||
*
|
||||
* UI
|
||||
* // Language
|
||||
* Scrolling Speed
|
||||
* Temperature Unit
|
||||
* Display orientation
|
||||
* Cooldown blink
|
||||
* Scrolling Speed
|
||||
* Reverse Temp change buttons + -
|
||||
*
|
||||
* Advanced
|
||||
* Enable Power Limit
|
||||
* Power Limit
|
||||
* Animation Speed
|
||||
* -Animation Loop
|
||||
* OLED Brightnes
|
||||
* Invert Screen
|
||||
* Detailed IDLE
|
||||
* Detailed Soldering
|
||||
* Logo Time
|
||||
*
|
||||
* Advanced
|
||||
* Power Limit
|
||||
* Factory Reset
|
||||
* Calibrate Temperature
|
||||
* Calibrate Input V
|
||||
* Reset Settings
|
||||
* Power Pulse
|
||||
* -Power Pulse Delay
|
||||
* -Power Pulse duration
|
||||
*
|
||||
*/
|
||||
const menuitem rootSettingsMenu[] {
|
||||
@@ -153,7 +161,10 @@ const menuitem rootSettingsMenu[] {
|
||||
#if defined(POW_DC) || defined(POW_QC) || defined(POW_PD)
|
||||
const menuitem powerMenu[] = {
|
||||
/*
|
||||
* Power Source
|
||||
* Power Source
|
||||
* -Minimum Voltage
|
||||
* QC Voltage
|
||||
* PD Timeout
|
||||
*/
|
||||
#ifdef POW_DC
|
||||
{SETTINGS_DESC(SettingsItemIndex::DCInCutoff), nullptr, settings_displayInputVRange, nullptr, SettingsOptions::MinDCVoltageCells}, /*Voltage input*/
|
||||
@@ -170,11 +181,11 @@ const menuitem powerMenu[] = {
|
||||
#endif
|
||||
const menuitem solderingMenu[] = {
|
||||
/*
|
||||
* Boost Mode Enabled
|
||||
* Boost Mode Temp
|
||||
* Boost Temp
|
||||
* Auto Start
|
||||
* Temp change short step
|
||||
* Temp change long step
|
||||
* Locking Mode
|
||||
*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::BoostTemperature), settings_setBoostTemp, settings_displayBoostTemp, nullptr, SettingsOptions::SettingsOptionsLength}, /*Boost Temp*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::AutoStart), nullptr, settings_displayAutomaticStartMode, nullptr, SettingsOptions::AutoStartMode}, /*Auto start*/
|
||||
@@ -183,14 +194,37 @@ const menuitem solderingMenu[] = {
|
||||
{SETTINGS_DESC(SettingsItemIndex::LockingMode), nullptr, settings_displayLockingMode, nullptr, SettingsOptions::LockingMode}, /*Locking Mode*/
|
||||
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength} // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem PowerSavingMenu[] = {
|
||||
/*
|
||||
* Motion Sensitivity
|
||||
* -Sleep Temp
|
||||
* -Sleep Time
|
||||
* -Shutdown Time
|
||||
*/
|
||||
#ifndef NO_SLEEP_MODE
|
||||
{SETTINGS_DESC(SettingsItemIndex::MotionSensitivity), nullptr, settings_displaySensitivity, nullptr, SettingsOptions::Sensitivity}, /* Motion Sensitivity*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::SleepTemperature), settings_setSleepTemp, settings_displaySleepTemp, settings_showSleepOptions, SettingsOptions::SettingsOptionsLength}, /*Sleep Temp*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::SleepTimeout), nullptr, settings_displaySleepTime, settings_showSleepOptions, SettingsOptions::SleepTime}, /*Sleep Time*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::ShutdownTimeout), nullptr, settings_displayShutdownTime, settings_showSleepOptions, SettingsOptions::ShutdownTime}, /*Shutdown Time*/
|
||||
#endif
|
||||
#ifdef HALL_SENSOR
|
||||
{SETTINGS_DESC(SettingsItemIndex::HallEffSensitivity), nullptr, settings_displayHallEffect, settings_showHallEffect, SettingsOptions::HallEffectSensitivity}, /* HallEffect Sensitivity*/
|
||||
#endif
|
||||
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength} // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem UIMenu[] = {
|
||||
/*
|
||||
// Language
|
||||
* Scrolling Speed
|
||||
* // Language
|
||||
* Temperature Unit
|
||||
* Display orientation
|
||||
* Cooldown blink
|
||||
* Scrolling Speed
|
||||
* Reverse Temp change buttons + -
|
||||
* Animation Speed
|
||||
* -Animation Loop
|
||||
* OLED Brightnes
|
||||
* Invert Screen
|
||||
* Logo Timeout
|
||||
* Detailed IDLE
|
||||
* Detailed Soldering
|
||||
*/
|
||||
@@ -202,45 +236,26 @@ const menuitem UIMenu[] = {
|
||||
{SETTINGS_DESC(SettingsItemIndex::CooldownBlink), nullptr, settings_displayCoolingBlinkEnabled, nullptr, SettingsOptions::CoolingTempBlink}, /*Cooling blink warning*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::ScrollingSpeed), nullptr, settings_displayScrollSpeed, nullptr, SettingsOptions::DescriptionScrollSpeed}, /*Scroll Speed for descriptions*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::ReverseButtonTempChange), nullptr, settings_displayReverseButtonTempChangeEnabled, nullptr,
|
||||
SettingsOptions::ReverseButtonTempChangeEnabled}, /* Reverse Temp change buttons + - */
|
||||
SettingsOptions::ReverseButtonTempChangeEnabled}, /*Reverse Temp change buttons + - */
|
||||
{SETTINGS_DESC(SettingsItemIndex::AnimSpeed), nullptr, settings_displayAnimationSpeed, nullptr, SettingsOptions::AnimationSpeed}, /*Animation Speed adjustment */
|
||||
{SETTINGS_DESC(SettingsItemIndex::AnimLoop), nullptr, settings_displayAnimationLoop, settings_displayAnimationOptions, SettingsOptions::AnimationLoop}, /*Animation Loop switch */
|
||||
{SETTINGS_DESC(SettingsItemIndex::Brightness), nullptr, settings_displayBrightnessLevel, nullptr, SettingsOptions::OLEDBrightness}, /*Brightness Level*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::ColourInversion), nullptr, settings_displayInvertColor, nullptr, SettingsOptions::OLEDInversion}, /*Invert screen colour*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::AdvancedIdle), nullptr, settings_displayAdvancedIDLEScreens, nullptr, SettingsOptions::DetailedIDLE}, /* Advanced idle screen*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::AdvancedSoldering), nullptr, settings_displayAdvancedSolderingScreens, nullptr, SettingsOptions::DetailedSoldering}, /* Advanced soldering screen*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::LOGOTime), nullptr, settings_displayLogoTime, nullptr, SettingsOptions::LOGOTime}, /*Set logo duration*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::AdvancedIdle), nullptr, settings_displayAdvancedIDLEScreens, nullptr, SettingsOptions::DetailedIDLE}, /*Advanced idle screen*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::AdvancedSoldering), nullptr, settings_displayAdvancedSolderingScreens, nullptr, SettingsOptions::DetailedSoldering}, /*Advanced soldering screen*/
|
||||
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength} // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem PowerSavingMenu[] = {
|
||||
/*
|
||||
* Motion Sensitivity
|
||||
* Sleep Temp
|
||||
* Sleep Time
|
||||
* Shutdown Time
|
||||
*/
|
||||
#ifndef NO_SLEEP_MODE
|
||||
{SETTINGS_DESC(SettingsItemIndex::MotionSensitivity), nullptr, settings_displaySensitivity, nullptr, SettingsOptions::Sensitivity}, /* Motion Sensitivity*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::SleepTemperature), settings_setSleepTemp, settings_displaySleepTemp, settings_showSleepOptions, SettingsOptions::SettingsOptionsLength}, /*Sleep Temp*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::SleepTimeout), nullptr, settings_displaySleepTime, settings_showSleepOptions, SettingsOptions::SleepTime}, /*Sleep Time*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::ShutdownTimeout), nullptr, settings_displayShutdownTime, settings_showSleepOptions, SettingsOptions::ShutdownTime}, /*Shutdown Time*/
|
||||
#endif
|
||||
#ifdef HALL_SENSOR
|
||||
{SETTINGS_DESC(SettingsItemIndex::HallEffSensitivity), nullptr, settings_displayHallEffect, nullptr, SettingsOptions::HallEffectSensitivity}, /* HallEffect Sensitivity*/
|
||||
#endif
|
||||
{0, nullptr, nullptr, nullptr, SettingsOptions::SettingsOptionsLength} // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem advancedMenu[] = {
|
||||
|
||||
/*
|
||||
* Power limit
|
||||
* Power Limit
|
||||
* Factory Reset
|
||||
* Calibrate Temperature
|
||||
* Calibrate Input V
|
||||
* Reset Settings
|
||||
* Power Pulse
|
||||
* Animation Loop
|
||||
* Animation Speed
|
||||
* Power Pulse Wait
|
||||
* Power Pulse Duration
|
||||
* -Power Pulse Delay
|
||||
* -Power Pulse duration
|
||||
*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::PowerLimit), nullptr, settings_displayPowerLimit, nullptr, SettingsOptions::PowerLimit}, /*Power limit*/
|
||||
{SETTINGS_DESC(SettingsItemIndex::SettingsReset), settings_setResetSettings, settings_displayResetSettings, nullptr, SettingsOptions::SettingsOptionsLength}, /*Resets settings*/
|
||||
@@ -314,8 +329,8 @@ static void settings_displayInputVRange(void) {
|
||||
|
||||
static bool settings_showInputVOptions(void) { return getSettingValue(SettingsOptions::MinDCVoltageCells) > 0; }
|
||||
static void settings_displayInputMinVRange(void) {
|
||||
printShortDescription(SettingsItemIndex::MinVolCell, 4);
|
||||
OLED::printNumber(getSettingValue(SettingsOptions::MinVoltageCells) / 10, 2, FontStyle::LARGE);
|
||||
printShortDescription(SettingsItemIndex::MinVolCell, 5);
|
||||
OLED::printNumber(getSettingValue(SettingsOptions::MinVoltageCells) / 10, 1, FontStyle::LARGE);
|
||||
OLED::print(SymbolDot, FontStyle::LARGE);
|
||||
OLED::printNumber(getSettingValue(SettingsOptions::MinVoltageCells) % 10, 1, FontStyle::LARGE);
|
||||
}
|
||||
@@ -437,7 +452,6 @@ static bool settings_setTempF(void) {
|
||||
|
||||
static void settings_displayTempF(void) {
|
||||
printShortDescription(SettingsItemIndex::TemperatureUnit, 7);
|
||||
|
||||
OLED::print((getSettingValue(SettingsOptions::TemperatureInF)) ? SymbolDegF : SymbolDegC, FontStyle::LARGE);
|
||||
}
|
||||
|
||||
@@ -448,7 +462,6 @@ static void settings_displayAdvancedSolderingScreens(void) {
|
||||
|
||||
static void settings_displayAdvancedIDLEScreens(void) {
|
||||
printShortDescription(SettingsItemIndex::AdvancedIdle, 7);
|
||||
|
||||
OLED::drawCheckbox(getSettingValue(SettingsOptions::DetailedIDLE));
|
||||
}
|
||||
|
||||
@@ -590,7 +603,7 @@ static void settings_displayCoolingBlinkEnabled(void) {
|
||||
static bool settings_setResetSettings(void) {
|
||||
if (userConfirmation(translatedString(Tr->SettingsResetWarning))) {
|
||||
resetSettings();
|
||||
warnUser(translatedString(Tr->ResetOKMessage), 2 * TICKS_SECOND);
|
||||
warnUser(translatedString(Tr->SettingsResetMessage), 10 * TICKS_SECOND);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -743,9 +756,9 @@ static void settings_displayPowerPulseDuration(void) {
|
||||
|
||||
static void settings_displayBrightnessLevel(void) {
|
||||
OLED::drawArea(0, 0, 16, 16, brightnessIcon);
|
||||
OLED::setCursor(5 * FONT_12_WIDTH - 2, 0);
|
||||
OLED::setCursor(6 * FONT_12_WIDTH - 2, 0);
|
||||
// printShortDescription(SettingsItemIndex::Brightness, 7);
|
||||
OLED::printNumber((getSettingValue(SettingsOptions::OLEDBrightness) / 11 + 1), 3, FontStyle::LARGE);
|
||||
OLED::printNumber((getSettingValue(SettingsOptions::OLEDBrightness) / 11 + 1), 2, FontStyle::LARGE);
|
||||
// While not optimal to apply this here, it is _very_ convienient
|
||||
OLED::setBrightness(getSettingValue(SettingsOptions::OLEDBrightness));
|
||||
}
|
||||
@@ -754,31 +767,29 @@ static void settings_displayInvertColor(void) {
|
||||
OLED::drawArea(0, 0, 24, 16, invertDisplayIcon);
|
||||
OLED::setCursor(7 * FONT_12_WIDTH - 2, 0);
|
||||
// printShortDescription(SettingsItemIndex::ColourInversion, 7);
|
||||
|
||||
OLED::drawCheckbox(getSettingValue(SettingsOptions::OLEDInversion));
|
||||
// While not optimal to apply this here, it is _very_ convienient
|
||||
OLED::setInverseDisplay(getSettingValue(SettingsOptions::OLEDInversion));
|
||||
}
|
||||
|
||||
static void settings_displayLogoTime(void) {
|
||||
printShortDescription(SettingsItemIndex::LOGOTime, 5);
|
||||
if (getSettingValue(SettingsOptions::LOGOTime) == 0) {
|
||||
OLED::print(translatedString(Tr->OffString), FontStyle::LARGE);
|
||||
} else if (getSettingValue(SettingsOptions::LOGOTime) == 5) {
|
||||
OLED::drawArea(OLED_WIDTH - 24 - 2, 0, 24, 16, infinityIcon);
|
||||
} else {
|
||||
OLED::printNumber(getSettingValue(SettingsOptions::LOGOTime), 2, FontStyle::LARGE);
|
||||
OLED::print(SymbolSeconds, FontStyle::LARGE);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HALL_SENSOR
|
||||
static void settings_displayHallEffect(void) {
|
||||
printShortDescription(SettingsItemIndex::HallEffSensitivity, 7);
|
||||
switch (getSettingValue(SettingsOptions::HallEffectSensitivity)) {
|
||||
case 1:
|
||||
OLED::print(translatedString(Tr->SettingSensitivityLow), FontStyle::LARGE);
|
||||
break;
|
||||
case 2:
|
||||
OLED::print(translatedString(Tr->SettingSensitivityMedium), FontStyle::LARGE);
|
||||
break;
|
||||
case 3:
|
||||
OLED::print(translatedString(Tr->SettingSensitivityHigh), FontStyle::LARGE);
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
OLED::print(translatedString(Tr->SettingSensitivityOff), FontStyle::LARGE);
|
||||
break;
|
||||
}
|
||||
OLED::printNumber(getSettingValue(SettingsOptions::HallEffectSensitivity), 1, FontStyle::LARGE, false);
|
||||
}
|
||||
static bool settings_showHallEffect(void) { return getHallSensorFitted(); }
|
||||
#endif
|
||||
|
||||
// Indicates whether a menu transition is in progress, so that the menu icon
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user