mirror of
https://github.com/Ralim/IronOS.git
synced 2025-02-26 07:53:55 +00:00
Compare commits
27 Commits
v2.11
...
v2.12-beta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d75f361c4e | ||
|
|
e3e839f960 | ||
|
|
d50a733250 | ||
|
|
aa78ca2594 | ||
|
|
c7bde079cd | ||
|
|
99ba13525a | ||
|
|
feec35be7a | ||
|
|
5459d437e4 | ||
|
|
4925e074ca | ||
|
|
30c470cbf1 | ||
|
|
f5bc1e15b5 | ||
|
|
04b4f2a3ed | ||
|
|
8a4b0af44d | ||
|
|
aa51c62bdf | ||
|
|
ed0675a549 | ||
|
|
a1bd53f85a | ||
|
|
e6e0a0f280 | ||
|
|
d37f8def88 | ||
|
|
023e176c87 | ||
|
|
8bacbe49fc | ||
|
|
12cf202338 | ||
|
|
11e583be63 | ||
|
|
d48b27928a | ||
|
|
d9c05db058 | ||
|
|
a2a23b575f | ||
|
|
1d63a3d7bc | ||
|
|
a64186d9a4 |
77
.github/workflows/ccpp.yml
vendored
77
.github/workflows/ccpp.yml
vendored
@@ -3,22 +3,75 @@ name: C/C++ CI
|
||||
on: [pull_request, push]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build_TS80:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: chmod
|
||||
run: chmod +x build.sh
|
||||
- name: translation
|
||||
run: |
|
||||
cd Translation\ Editor
|
||||
python3 make_translation.py
|
||||
- name: make
|
||||
run: ./build.sh
|
||||
- name: Archive production artifacts
|
||||
uses: actions/upload-artifact@v1
|
||||
run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh
|
||||
|
||||
- name: setup
|
||||
run: ./setup.sh
|
||||
|
||||
- name: build TS80
|
||||
run: cd workspace/TS100 && ./build.sh -m TS80
|
||||
|
||||
- name: Archive TS80 artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: compiled
|
||||
path: ci/artefacts
|
||||
name: TS80
|
||||
path: |
|
||||
workspace/TS100/Hexfile/TS80_*.hex
|
||||
workspace/TS100/Hexfile/TS80_*.bin
|
||||
if-no-files-found: error
|
||||
build_TS80P:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: chmod
|
||||
run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh
|
||||
|
||||
- name: setup
|
||||
run: ./setup.sh
|
||||
|
||||
- name: build TS80P
|
||||
run: cd workspace/TS100 && ./build.sh -m TS80P
|
||||
|
||||
- name: Archive TS80P artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: TS80P
|
||||
path: |
|
||||
workspace/TS100/Hexfile/TS80P_*.hex
|
||||
workspace/TS100/Hexfile/TS80P_*.bin
|
||||
if-no-files-found: error
|
||||
build_TS100:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: chmod
|
||||
run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh
|
||||
|
||||
- name: setup
|
||||
run: ./setup.sh
|
||||
|
||||
- name: build TS100
|
||||
run: cd workspace/TS100 && ./build.sh -m TS100
|
||||
|
||||
- name: Archive TS100 artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: TS100
|
||||
path: |
|
||||
workspace/TS100/Hexfile/TS100_*.hex
|
||||
workspace/TS100/Hexfile/TS100_*.bin
|
||||
if-no-files-found: error
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -190,3 +190,4 @@ fabric.properties
|
||||
.idea/httpRequests
|
||||
|
||||
CoreCompileInputs.cache
|
||||
.vscode/settings.json
|
||||
|
||||
@@ -6,7 +6,6 @@ WORKDIR /build
|
||||
|
||||
# Install any needed packages specified in requirements.txt
|
||||
RUN apt-get update && \
|
||||
apt-get upgrade -y && \
|
||||
apt-get install -y \
|
||||
make \
|
||||
bzip2 \
|
||||
|
||||
@@ -1,5 +1,64 @@
|
||||
# Version Changes
|
||||
V2.00
|
||||
|
||||
## V2.11
|
||||
|
||||
* First TS80P support
|
||||
* Added in a USB-PD driver stack for the FUSB302
|
||||
* Fixed some graphical glitches
|
||||
|
||||
## V2.10
|
||||
|
||||
* GUI polish (animations and scroll bars)
|
||||
* Power pulse to keep power supplies alive
|
||||
* Adjustable tip response gain
|
||||
|
||||
## V2.09
|
||||
|
||||
* Adjustable steps in temperature adjustment
|
||||
* Git hash now in build string
|
||||
* Adjustable language to set if US units are available or not
|
||||
* Some minor QC3 improvements
|
||||
|
||||
## V2.08
|
||||
|
||||
* Fixes auto start in sleep mode
|
||||
* Power limiters
|
||||
|
||||
## V2.07
|
||||
|
||||
* QC fixes
|
||||
* Cosmetic fixes for leading 0's
|
||||
|
||||
## V2.06
|
||||
|
||||
* Warning on settings reset
|
||||
* Temp temp re-write
|
||||
* Display calibration offset
|
||||
* Hide some leading 0's
|
||||
* Menu timeouts
|
||||
|
||||
## V2.05
|
||||
|
||||
* Language updates
|
||||
|
||||
|
||||
## V2.04
|
||||
|
||||
* GUI updates
|
||||
|
||||
## V2.03
|
||||
|
||||
* Support for new accelerometers
|
||||
|
||||
## V2.02
|
||||
|
||||
* Adds small font
|
||||
|
||||
## V2.01
|
||||
|
||||
* Newer settings menu
|
||||
|
||||
## V2.00
|
||||
|
||||
* Complete re-write of the low layer system to use the STM32 HAL for easier development
|
||||
* This allowed easier setup for the new ADC auto measuring system
|
||||
@@ -10,80 +69,80 @@ V2.00
|
||||
* Added smaller font for said screen views
|
||||
|
||||
|
||||
V1.17
|
||||
## V1.17
|
||||
|
||||
* Added blinking cooldown display
|
||||
* Allowed smaller sleep timeout values
|
||||
* New font!
|
||||
* Automatic startup option
|
||||
|
||||
V1.16
|
||||
## V1.16
|
||||
|
||||
* Added automatic rotation support
|
||||
* Added power display graph
|
||||
|
||||
V1.15
|
||||
## V1.15
|
||||
|
||||
* Added support for a custom bootup logo to be programmed via the DFU bootloader
|
||||
|
||||
V1.14
|
||||
## V1.14
|
||||
|
||||
* Changed input voltage cutoff to be based on cell count rather than voltage
|
||||
|
||||
V1.13
|
||||
## V1.13
|
||||
|
||||
* Swapped buttons for menu to prevent accidentally changing first menu item
|
||||
* Added auto key repeat
|
||||
|
||||
V1.12
|
||||
## V1.12
|
||||
|
||||
* Increases sensitivity options to be 1*9 with 0 off state
|
||||
* Fixes issue where going from COOL *> soldering can leave screen off
|
||||
|
||||
V1.11
|
||||
## V1.11
|
||||
|
||||
* Boost mode
|
||||
* Change sensitivity options to be 1*8
|
||||
|
||||
V1.10
|
||||
## V1.10
|
||||
|
||||
* Adds help text to settings
|
||||
* Improves settings for the display update rate
|
||||
|
||||
V1.09
|
||||
## V1.09
|
||||
|
||||
* Adds display modes, for slowing down or simplifying the display
|
||||
|
||||
V1.08
|
||||
## V1.08
|
||||
|
||||
* Fix settings menu not showing flip display
|
||||
|
||||
V1.07
|
||||
## V1.07
|
||||
|
||||
* Adds shutdown time to automatically shutdown the iron after inactivity
|
||||
|
||||
V1.06
|
||||
## V1.06
|
||||
|
||||
* Changes H and C when the iron is heating to the minidso chevron like images
|
||||
|
||||
V1.05
|
||||
## V1.05
|
||||
|
||||
* Adds ability to calibrate the input voltage measurement
|
||||
|
||||
V1.04
|
||||
## V1.04
|
||||
|
||||
* Increased accuracy of the temperature control
|
||||
* Improved PID response slightly
|
||||
* Allows temperature offset calibration
|
||||
* Nicer idle screen
|
||||
|
||||
V1.03
|
||||
## V1.03
|
||||
|
||||
* Improved Button handling
|
||||
* Ability to set motion sensitivity
|
||||
* DC voltmeter page shows input voltage
|
||||
|
||||
V1.02
|
||||
## V1.02
|
||||
|
||||
* Adds hold both buttons on IDLE to access the therometer mode
|
||||
* Changes the exit soldering mode to be holding both buttons (Like original firmware)
|
||||
@@ -1,31 +1,21 @@
|
||||
Please edit this template and fill out all the information you can (where relevant). Failure to provide essential information can delay the response you receive.
|
||||
|
||||
_This is a [Bug/Feature Request/Question/Complaint]_
|
||||
|
||||
* **I'm submitting a ...**
|
||||
- [ ] Bug report
|
||||
- [ ] Feature request
|
||||
- [ ] Translation
|
||||
|
||||
|
||||
* **Do you want to request a *feature* or report a *bug*?**
|
||||
|
||||
|
||||
* **I have**
|
||||
- [ ] Searched previous issues
|
||||
- [ ] This is in _this_ firmware, not vendor "offical" firmware
|
||||
- [ ] This is not a bug in the vendor bootloader (aka DFU)
|
||||
- [ ] I have checked this is not already covered in the docs in `/Documentation`
|
||||
|
||||
* **What is the current behavior?**
|
||||
|
||||
|
||||
* **What is the expected behavior?**
|
||||
|
||||
***Steps to reproduce the bug:***
|
||||
|
||||
* **If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem**
|
||||
|
||||
***Steps to reproduce:***
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
***Video of problem if hard to reproduce***
|
||||
- Turn on...
|
||||
- Hold....
|
||||
|
||||
* **What is the motivation / use case for changing the behavior?**
|
||||
|
||||
@@ -33,13 +23,9 @@ Please edit this template and fill out all the information you can (where releva
|
||||
|
||||
* **What are you running:**
|
||||
|
||||
On the idle screen, you can hold the settings button and it will show you the firmware version.
|
||||
On the idle screen, you can hold the settings button and it will show you the firmware & PCB version.
|
||||
If using a USB-C supply please note model number
|
||||
|
||||
- Firmware Version: 2.x
|
||||
- Firmware Version: 2.x?
|
||||
- PCB Version: (1/2)
|
||||
- Power Supply (Voltage and Current Rating) :
|
||||
|
||||
|
||||
* **Other information**
|
||||
|
||||
If submitting graphics to go on the iron, please use BMP or PNG files over JPG.
|
||||
- Power Supply (Voltage and Current Rating) :
|
||||
@@ -2,9 +2,8 @@
|
||||
Please try and fill out this template where possible, not all fields are required and can be removed.
|
||||
|
||||
* **Please check if the PR fulfills these requirements**
|
||||
- [] The commit message makes sense
|
||||
- [] The changes have been tested locally
|
||||
- [] Are there any breaking changes
|
||||
- [] There are no breaking changes
|
||||
|
||||
* **What kind of change does this PR introduce?**
|
||||
(Bug fix, feature, docs update, ...)
|
||||
@@ -14,14 +13,6 @@ Please try and fill out this template where possible, not all fields are require
|
||||
* **What is the current behavior?**
|
||||
(You can also link to an open issue here)
|
||||
|
||||
|
||||
|
||||
* **What is the new behavior (if this is a feature change)?**
|
||||
|
||||
|
||||
|
||||
* **Does this PR introduce a breaking change?**
|
||||
(What changes might users need to make in their application due to this PR?)
|
||||
|
||||
|
||||
* **Other information**:
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
[](https://app.codeship.com/projects/379118)
|
||||

|
||||
|
||||
# Flexible Soldering iron control Firmware
|
||||
@@ -33,7 +32,7 @@ This project is considered feature complete for use as a soldering iron, *so ple
|
||||
* Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods of time)
|
||||
* (TS100) Battery charge level indicator if power source set to a lipo cell count
|
||||
* (TS80) Power bank operating voltage is displayed
|
||||
* [Custom boot up logo support](upgrading.md)
|
||||
* [Custom boot up logo support](Documentation/upgrading.md)
|
||||
* Automatic LCD rotation based on the orientation
|
||||
* Supports both the version 1 and version 2 hardware (different accelerometers)
|
||||
|
||||
@@ -47,7 +46,7 @@ When on the main screen, the unit shows prompts for the two most common operatio
|
||||
* 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 firmware version details
|
||||
|
||||
Detailed operation details are over in the [Menu information.](menu.md)
|
||||
Detailed operation details are over in the [Menu information.](Documentation/menu.md)
|
||||
|
||||
## Thanks
|
||||
|
||||
@@ -64,11 +63,11 @@ Especially to the following users, who have helped in various ways that are mass
|
||||
* [Doegox](https://github.com/doegox)
|
||||
* [Perillamint](https://github.com/perillamint)
|
||||
* [GeminiServer](https://github.com/GeminiServer)
|
||||
* [PixelPirate](https://github.com/PixelPirate)
|
||||
* [Patrick Horlebein](https://github.com/PixelPirate)
|
||||
* [Firebie](https://github.com/Firebie)
|
||||
* [Agatti](https://github.com/agatti)
|
||||
* [Discip](https://github.com/discip)
|
||||
|
||||
* [Paul Fertser](https://github.com/paulfertser)
|
||||
## Licence
|
||||
|
||||
The code created by the community is GNU GPLv3. Unless noted elsewhere.
|
||||
|
||||
@@ -1,353 +1,329 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>TS100 Translation Editor</title>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<script src="translations_commons.js"></script>
|
||||
<script src="translations_def.js"></script>
|
||||
<script>
|
||||
|
||||
var app;
|
||||
var defMap = {};
|
||||
|
||||
function save(){
|
||||
saveJSON(app.current, "translation_"+app.current.languageCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function view(){
|
||||
showJSON(app.current, "translation_"+app.current.languageCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function fileChanged(e) {
|
||||
var target = e;
|
||||
var id = target.id;
|
||||
|
||||
var file = target.files[0];
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
var fr = new FileReader();
|
||||
fr.onload = function(e) {
|
||||
try {
|
||||
var json = JSON.parse(e.target.result);
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
alert("Invalid JSON file: " + file.name);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (id == "referent-lang-file") {
|
||||
if (checkTranslationFile(file.name)) {
|
||||
app.referent = json;
|
||||
app.meta.referentLoaded = true;
|
||||
}
|
||||
} else if (id == "current-lang-file") {
|
||||
if (checkTranslationFile(file.name)) {
|
||||
app.current = json;
|
||||
if (!app.current.cyrillicGlyphs){
|
||||
app.current.cyrillicGlyphs = false;
|
||||
}
|
||||
app.meta.currentLoaded = true;
|
||||
}
|
||||
}
|
||||
synchronizeData();
|
||||
}
|
||||
fr.readAsText(file);
|
||||
|
||||
}
|
||||
|
||||
function synchronizeData() {
|
||||
app.obsolete = {};
|
||||
copyMissing(app.def.messages, app.referent.messages, app.current.messages);
|
||||
copyMissing(app.def.characters, app.referent.characters, app.current.characters);
|
||||
copyMissing(app.def.menuGroups, app.referent.menuGroups, app.current.menuGroups);
|
||||
copyMissing(app.def.menuOptions, app.referent.menuOptions, app.current.menuOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy all missing properties from referent to current
|
||||
* for each entry in definition
|
||||
*/
|
||||
function copyMissing(defList, referentMap, currentMap) {
|
||||
if (!isDefined(defList) || !isDefined(referentMap) || !isDefined(currentMap)) {
|
||||
return;
|
||||
}
|
||||
var len = defList.length;
|
||||
for (var i = 0; i < len; i++) {
|
||||
var id = defList[i].id;
|
||||
if (!isDefined(referentMap[id])) {
|
||||
referentMap[id] = '';
|
||||
}
|
||||
if (!isDefined(currentMap[id])) {
|
||||
currentMap[id] = referentMap[id];
|
||||
}
|
||||
}
|
||||
processObsolete(defList, currentMap);
|
||||
}
|
||||
|
||||
// Passes through all entries from the given map.
|
||||
// If a corresponding entry is not found in the defList, it is removed from the map, and added into the obsolete map.
|
||||
function processObsolete(defList, map) {
|
||||
// Index list to map for faster search
|
||||
var defMap = copyArrayToMap(defList);
|
||||
Object.keys(map).forEach(function(key) {
|
||||
if (!isDefined(defMap[key])) {
|
||||
app.obsolete[key] = { id : key, value : map[key]};
|
||||
delete map[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function length(obj, mode) {
|
||||
if (!isDefined(mode) || mode == 0) {
|
||||
// return direct length
|
||||
return obj.length;
|
||||
} else if (mode == 1) {
|
||||
// return length of text property
|
||||
return obj.text.length;
|
||||
} else if (mode == 2) {
|
||||
// return the longest length in text2 array
|
||||
return Math.max(isDefinedNN(obj.text2[0]) ? obj.text2[0].length : 0, isDefinedNN(obj.text2[1]) ? obj.text2[1].length : 0);
|
||||
}
|
||||
}
|
||||
|
||||
function getAttribute(obj, attribute, isDouble) {
|
||||
var d = isDouble ? "2" : "";
|
||||
var v = obj[attribute+d];
|
||||
if (isDefined(v))
|
||||
return v;
|
||||
return obj[attribute];
|
||||
}
|
||||
|
||||
function loaded() {
|
||||
app = new Vue({
|
||||
el : '#app',
|
||||
data : {
|
||||
meta : {
|
||||
referentLoaded : false,
|
||||
currentLoaded : false,
|
||||
},
|
||||
def : {
|
||||
},
|
||||
referent : {
|
||||
messages : {}
|
||||
},
|
||||
current : {
|
||||
loaded: false,
|
||||
},
|
||||
obsolete : {},
|
||||
menuDouble : false
|
||||
},
|
||||
methods : {
|
||||
validateInput: function(valMap, id, mode) {
|
||||
var d = defMap[id];
|
||||
var vLen = 0;
|
||||
if (!isDefined(mode))
|
||||
mode = 0;
|
||||
|
||||
try {
|
||||
// Sum for complex length
|
||||
for (var i = 0; i < d.lenSum.fields.length; i++) {
|
||||
vLen += length(valMap[d.lenSum.fields[i]], mode);
|
||||
}
|
||||
d = d.lenSum;
|
||||
} catch (e) {
|
||||
// Single field length
|
||||
vLen = length(valMap[id], mode);
|
||||
}
|
||||
var maxLen = getAttribute(d, 'maxLen', mode == 2);
|
||||
var minLen = getAttribute(d, 'minLen', mode == 2);
|
||||
var len = getAttribute(d, 'len', mode == 2);
|
||||
if (isNumber(maxLen) && vLen > maxLen
|
||||
|| isNumber(minLen) && vLen < minLen
|
||||
|| isNumber(len) && vLen != len
|
||||
) {
|
||||
return "invalid";
|
||||
}
|
||||
},
|
||||
|
||||
constraintString: function(e, d) {
|
||||
var str = "";
|
||||
var delim = "";
|
||||
var v;
|
||||
if (!isDefined(d) || d == false) {
|
||||
d = "";
|
||||
} else {
|
||||
d = "2";
|
||||
}
|
||||
|
||||
if (isDefinedNN(e.lenSum)) {
|
||||
str = "len("+(e.lenSum.fields+"").replace(/,/g," + ")+") -> ";
|
||||
e = e.lenSum;
|
||||
}
|
||||
v = getAttribute(e, 'len', d);
|
||||
if (isNumber(v)) {
|
||||
str += delim + "len=" + v;
|
||||
delim = " and ";
|
||||
}
|
||||
v = getAttribute(e, 'minLen', d);
|
||||
if (isNumber(v)) {
|
||||
str += delim + "len>=" + v;
|
||||
delim = " and ";
|
||||
}
|
||||
v = getAttribute(e, 'maxLen', d);
|
||||
if (isNumber(v)) {
|
||||
str += delim + "len<=" + v;
|
||||
delim = " and ";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
}
|
||||
});
|
||||
app.def = def;
|
||||
copyArrayToMap(app.def.messages, defMap);
|
||||
copyArrayToMap(app.def.characters, defMap);
|
||||
copyArrayToMap(app.def.menuGroups, defMap);
|
||||
copyArrayToMap(app.def.menuOptions, defMap);
|
||||
}
|
||||
|
||||
window.onload=loaded;
|
||||
</script>
|
||||
<link href="translations.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app">
|
||||
<h1>TS100 Translation Editor<span v-if="meta.currentLoaded"> - {{ current.languageLocalName }} [{{current.languageCode}}]</span></h1>
|
||||
<table class="header data">
|
||||
<tr>
|
||||
<td class="label">Referent Language</td>
|
||||
<td class="value">
|
||||
<input type="file" id="referent-lang-file" onchange="fileChanged(this)" accept=".json">
|
||||
<span class="selected" v-if="meta.referentLoaded">{{ referent.languageLocalName }} [{{referent.languageCode}}]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="meta.referentLoaded">
|
||||
<td class="label">Current Language</td>
|
||||
<td class="value">
|
||||
<input type="file" id="current-lang-file" onchange="fileChanged(this)" accept=".json">
|
||||
<span class="selected" v-if="meta.currentLoaded">{{ current.languageLocalName }} [{{current.languageCode}}]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="meta.currentLoaded">
|
||||
<td class="label">Local Language Code</td>
|
||||
<td class="value"><input type="text" v-model="current.languageCode" maxlength="8" v-on:change="current.languageCode=current.languageCode.toUpperCase()" class="short"></td>
|
||||
</tr>
|
||||
<tr v-if="meta.currentLoaded">
|
||||
<td class="label">Local Language Name</td>
|
||||
<td class="value"><input type="text" v-model="current.languageLocalName" class="short"></td>
|
||||
</tr>
|
||||
<tr v-if="meta.currentLoaded">
|
||||
<td class="label">Font table to use</td>
|
||||
<td class="value">
|
||||
<select v-model="current.cyrillicGlyphs" v-on:change="current.cyrillicGlyphs = current.cyrillicGlyphs=='true'">
|
||||
<option value="false">Latin Extended</option>
|
||||
<option value="true">Cyrillic Glyphs</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div v-if="def.messages && referent.messages && current.messages">
|
||||
|
||||
<div class="footer">
|
||||
<input type="button" value="Save" onclick="save()">
|
||||
<input type="button" value="View" onclick="view()">
|
||||
</div>
|
||||
|
||||
<div v-if="Object.keys(obsolete).length > 0">
|
||||
<h2>Obsolete</h2>
|
||||
<table class="data">
|
||||
<tr v-for="entry in obsolete">
|
||||
<td class="label"><div class="stringId">{{entry.id}}</div></td>
|
||||
<td class="value"><div class="ref">{{entry.value}}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>Messages and Strings</h2>
|
||||
<table class="data">
|
||||
<tr v-for="message in def.messages" v-bind:class="validateInput(current.messages, message.id)">
|
||||
<td class="label"><div class="stringId">{{message.id}}</div></td>
|
||||
<td class="value">
|
||||
<div class="constraint">{{constraintString(message)}}</div>
|
||||
<div class="ref">{{referent.messages[message.id]}}</div>
|
||||
<div class="note" v-if="message.note">{{message.note}}</div>
|
||||
<div class="tran"><input :id="'in_'+message.id" type="text" v-model="current.messages[message.id]" v-bind:class="{unchanged : current.messages[message.id] == referent.messages[message.id], empty : current.messages[message.id]==''}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Characters</h2>
|
||||
<table class="data">
|
||||
<tr v-for="char in def.characters" v-bind:class="validateInput(current.characters, char.id)">
|
||||
<td class="label"><div class="stringId">{{char.id}}</div></td>
|
||||
<td class="value">
|
||||
<div class="constraint">{{constraintString(char)}}</div>
|
||||
<div class="ref">{{referent.characters[char.id]}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.characters[char.id]" v-bind:class="{unchanged : current.characters[char.id] == referent.characters[char.id], empty : current.characters[char.id].length != 1}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Menu Groups</h2>
|
||||
<table class="data">
|
||||
<tr v-for="menu in def.menuGroups" v-bind:class="validateInput(current.menuGroups, menu.id, 2)">
|
||||
<td class="label"><div class="stringId">{{menu.id}}</div></td>
|
||||
<td class="value">
|
||||
<div class="label">Menu Name</div>
|
||||
<div class="constraint">{{constraintString(menu)}}</div>
|
||||
<div class="ref">{{referent.menuGroups[menu.id].text2}}</div>
|
||||
<div class="tran" v-bind:class="{unchanged : current.menuGroups[menu.id].text2[0] == referent.menuGroups[menu.id].text2[0] && current.menuGroups[menu.id].text2[1] == referent.menuGroups[menu.id].text2[1], empty : current.menuGroups[menu.id].text2[0] == '' || current.menuGroups[menu.id].text2[1] == ''}"><input type="text" v-model="current.menuGroups[menu.id].text2[0]"><input type="text" v-model="current.menuGroups[menu.id].text2[1]"></div>
|
||||
<div class="label">Description</div>
|
||||
<div class="ref">{{referent.menuGroups[menu.id].desc}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.menuGroups[menu.id].desc" v-bind:class="{unchanged : current.menuGroups[menu.id].desc == referent.menuGroups[menu.id].desc, empty : current.menuGroups[menu.id].desc == ''}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Menu Options</h2>
|
||||
<table class="data">
|
||||
<tr>
|
||||
<td class="label">Menu Type</td>
|
||||
<td class="value">
|
||||
<select v-model="current.menuDouble" v-on:change="current.menuDouble = current.menuDouble=='true'">
|
||||
<option value="false">Single-Line</option>
|
||||
<option value="true">Double-Line</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-for="menu in def.menuOptions" v-bind:class="validateInput(current.menuOptions, menu.id, (current.menuDouble ? 2 : 1))">
|
||||
<td class="label"><div class="stringId">{{menu.id}}</div></td>
|
||||
<td class="value">
|
||||
<div v-bind:class="{hidden : current.menuDouble}">
|
||||
<div class="label">Menu Name (Single-Line)</div>
|
||||
<div class="constraint">{{constraintString(menu, current.menuDouble)}}</div>
|
||||
<div class="ref">{{referent.menuOptions[menu.id].text}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.menuOptions[menu.id].text" v-bind:class="{unchanged : current.menuOptions[menu.id].text == referent.menuOptions[menu.id].text, empty : current.menuOptions[menu.id].text == ''}"></div>
|
||||
</div>
|
||||
<div v-bind:class="{hidden : !current.menuDouble}">
|
||||
<div class="label">Menu Name (Double-Line)</div>
|
||||
<div class="constraint">{{constraintString(menu, current.menuDouble)}}</div>
|
||||
<div class="ref">{{referent.menuOptions[menu.id].text2}}</div>
|
||||
<div class="tran" v-bind:class="{unchanged : current.menuOptions[menu.id].text2[0] == referent.menuOptions[menu.id].text2[0] && current.menuOptions[menu.id].text2[1] == referent.menuOptions[menu.id].text2[1], empty : current.menuOptions[menu.id].text2[0] == '' || current.menuOptions[menu.id].text2[1] == ''}"><input type="text" v-model="current.menuOptions[menu.id].text2[0]"><input type="text" v-model="current.menuOptions[menu.id].text2[1]"></div>
|
||||
</div>
|
||||
<div class="label">Description</div>
|
||||
<div class="ref">{{referent.menuOptions[menu.id].desc}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.menuOptions[menu.id].desc" v-bind:class="{unchanged : current.menuOptions[menu.id].desc == referent.menuOptions[menu.id].desc, empty : current.menuOptions[menu.id].desc == ''}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">
|
||||
<input type="button" value="Save" onclick="save()">
|
||||
<input type="button" value="View" onclick="view()">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>TS100 Translation Editor</title>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<script src="translations_commons.js"></script>
|
||||
<script src="translations_def.js"></script>
|
||||
<script>
|
||||
|
||||
var app;
|
||||
var defMap = {};
|
||||
|
||||
function save(){
|
||||
saveJSON(app.current, "translation_"+app.current.languageCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function view(){
|
||||
showJSON(app.current, "translation_"+app.current.languageCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function fileChanged(e) {
|
||||
var target = e;
|
||||
var id = target.id;
|
||||
|
||||
var file = target.files[0];
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
var fr = new FileReader();
|
||||
fr.onload = function(e) {
|
||||
try {
|
||||
var json = JSON.parse(e.target.result);
|
||||
} catch (ex) {
|
||||
console.log(ex);
|
||||
alert("Invalid JSON file: " + file.name);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (id == "referent-lang-file") {
|
||||
if (checkTranslationFile(file.name)) {
|
||||
app.referent = json;
|
||||
app.meta.referentLoaded = true;
|
||||
}
|
||||
} else if (id == "current-lang-file") {
|
||||
if (checkTranslationFile(file.name)) {
|
||||
app.current = json;
|
||||
if (!app.current.cyrillicGlyphs){
|
||||
app.current.cyrillicGlyphs = false;
|
||||
}
|
||||
app.meta.currentLoaded = true;
|
||||
}
|
||||
}
|
||||
synchronizeData();
|
||||
}
|
||||
fr.readAsText(file);
|
||||
|
||||
}
|
||||
|
||||
function synchronizeData() {
|
||||
app.obsolete = {};
|
||||
copyMissing(app.def.messages, app.referent.messages, app.current.messages);
|
||||
copyMissing(app.def.characters, app.referent.characters, app.current.characters);
|
||||
copyMissing(app.def.menuGroups, app.referent.menuGroups, app.current.menuGroups);
|
||||
copyMissing(app.def.menuOptions, app.referent.menuOptions, app.current.menuOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy all missing properties from referent to current
|
||||
* for each entry in definition
|
||||
*/
|
||||
function copyMissing(defList, referentMap, currentMap) {
|
||||
if (!isDefined(defList) || !isDefined(referentMap) || !isDefined(currentMap)) {
|
||||
return;
|
||||
}
|
||||
var len = defList.length;
|
||||
for (var i = 0; i < len; i++) {
|
||||
var id = defList[i].id;
|
||||
if (!isDefined(referentMap[id])) {
|
||||
referentMap[id] = '';
|
||||
}
|
||||
if (!isDefined(currentMap[id])) {
|
||||
currentMap[id] = referentMap[id];
|
||||
}
|
||||
}
|
||||
processObsolete(defList, currentMap);
|
||||
}
|
||||
|
||||
// Passes through all entries from the given map.
|
||||
// If a corresponding entry is not found in the defList, it is removed from the map, and added into the obsolete map.
|
||||
function processObsolete(defList, map) {
|
||||
// Index list to map for faster search
|
||||
var defMap = copyArrayToMap(defList);
|
||||
Object.keys(map).forEach(function(key) {
|
||||
if (!isDefined(defMap[key])) {
|
||||
app.obsolete[key] = { id : key, value : map[key]};
|
||||
delete map[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function length(obj, mode) {
|
||||
if (!isDefined(mode) || mode == 0) {
|
||||
// return direct length
|
||||
return obj.length;
|
||||
}
|
||||
// return the longest length in text2 array
|
||||
return Math.max(isDefinedNN(obj.text2[0]) ? obj.text2[0].length : 0, isDefinedNN(obj.text2[1]) ? obj.text2[1].length : 0);
|
||||
|
||||
}
|
||||
|
||||
function getAttribute(obj, attribute) {
|
||||
var d = "2";
|
||||
var v = obj[attribute+d];
|
||||
if (isDefined(v))
|
||||
return v;
|
||||
return obj[attribute];
|
||||
}
|
||||
|
||||
function loaded() {
|
||||
app = new Vue({
|
||||
el : '#app',
|
||||
data : {
|
||||
meta : {
|
||||
referentLoaded : false,
|
||||
currentLoaded : false,
|
||||
},
|
||||
def : {
|
||||
},
|
||||
referent : {
|
||||
messages : {}
|
||||
},
|
||||
current : {
|
||||
loaded: false,
|
||||
},
|
||||
obsolete : {},
|
||||
},
|
||||
methods : {
|
||||
validateInput: function(valMap, id, mode) {
|
||||
var d = defMap[id];
|
||||
var vLen = 0;
|
||||
if (!isDefined(mode))
|
||||
mode = 0;
|
||||
|
||||
try {
|
||||
// Sum for complex length
|
||||
for (var i = 0; i < d.lenSum.fields.length; i++) {
|
||||
vLen += length(valMap[d.lenSum.fields[i]], mode);
|
||||
}
|
||||
d = d.lenSum;
|
||||
} catch (e) {
|
||||
// Single field length
|
||||
vLen = length(valMap[id], mode);
|
||||
}
|
||||
var maxLen = getAttribute(d, 'maxLen', mode == 2);
|
||||
var minLen = getAttribute(d, 'minLen', mode == 2);
|
||||
var len = getAttribute(d, 'len', mode == 2);
|
||||
if (isNumber(maxLen) && vLen > maxLen
|
||||
|| isNumber(minLen) && vLen < minLen
|
||||
|| isNumber(len) && vLen != len
|
||||
) {
|
||||
return "invalid";
|
||||
}
|
||||
},
|
||||
|
||||
constraintString: function(e) {
|
||||
var str = "";
|
||||
var delim = "";
|
||||
var v;
|
||||
d = "2";
|
||||
if (isDefinedNN(e.lenSum)) {
|
||||
str = "len("+(e.lenSum.fields+"").replace(/,/g," + ")+") -> ";
|
||||
e = e.lenSum;
|
||||
}
|
||||
v = getAttribute(e, 'len', d);
|
||||
if (isNumber(v)) {
|
||||
str += delim + "len=" + v;
|
||||
delim = " and ";
|
||||
}
|
||||
v = getAttribute(e, 'minLen', d);
|
||||
if (isNumber(v)) {
|
||||
str += delim + "len>=" + v;
|
||||
delim = " and ";
|
||||
}
|
||||
v = getAttribute(e, 'maxLen', d);
|
||||
if (isNumber(v)) {
|
||||
str += delim + "len<=" + v;
|
||||
delim = " and ";
|
||||
}
|
||||
return str;
|
||||
}
|
||||
}
|
||||
});
|
||||
app.def = def;
|
||||
copyArrayToMap(app.def.messages, defMap);
|
||||
copyArrayToMap(app.def.characters, defMap);
|
||||
copyArrayToMap(app.def.menuGroups, defMap);
|
||||
copyArrayToMap(app.def.menuOptions, defMap);
|
||||
}
|
||||
|
||||
window.onload=loaded;
|
||||
</script>
|
||||
<link href="translations.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app">
|
||||
<h1>TS100 Translation Editor<span v-if="meta.currentLoaded"> - {{ current.languageLocalName }} [{{current.languageCode}}]</span></h1>
|
||||
<table class="header data">
|
||||
<tr>
|
||||
<td class="label">Referent Language</td>
|
||||
<td class="value">
|
||||
<input type="file" id="referent-lang-file" onchange="fileChanged(this)" accept=".json">
|
||||
<span class="selected" v-if="meta.referentLoaded">{{ referent.languageLocalName }} [{{referent.languageCode}}]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="meta.referentLoaded">
|
||||
<td class="label">Current Language</td>
|
||||
<td class="value">
|
||||
<input type="file" id="current-lang-file" onchange="fileChanged(this)" accept=".json">
|
||||
<span class="selected" v-if="meta.currentLoaded">{{ current.languageLocalName }} [{{current.languageCode}}]</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="meta.currentLoaded">
|
||||
<td class="label">Local Language Code</td>
|
||||
<td class="value"><input type="text" v-model="current.languageCode" maxlength="8" v-on:change="current.languageCode=current.languageCode.toUpperCase()" class="short"></td>
|
||||
</tr>
|
||||
<tr v-if="meta.currentLoaded">
|
||||
<td class="label">Local Language Name</td>
|
||||
<td class="value"><input type="text" v-model="current.languageLocalName" class="short"></td>
|
||||
</tr>
|
||||
<tr v-if="meta.currentLoaded">
|
||||
<td class="label">Font table to use</td>
|
||||
<td class="value">
|
||||
<select v-model="current.cyrillicGlyphs" v-on:change="current.cyrillicGlyphs = current.cyrillicGlyphs=='true'">
|
||||
<option value="false">Latin Extended</option>
|
||||
<option value="true">Cyrillic Glyphs</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div v-if="def.messages && referent.messages && current.messages">
|
||||
|
||||
<div class="footer">
|
||||
<input type="button" value="Save" onclick="save()">
|
||||
<input type="button" value="View" onclick="view()">
|
||||
</div>
|
||||
|
||||
<div v-if="Object.keys(obsolete).length > 0">
|
||||
<h2>Obsolete</h2>
|
||||
<table class="data">
|
||||
<tr v-for="entry in obsolete">
|
||||
<td class="label"><div class="stringId">{{entry.id}}</div></td>
|
||||
<td class="value"><div class="ref">{{entry.value}}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<h2>Messages and Strings</h2>
|
||||
<table class="data">
|
||||
<tr v-for="message in def.messages" v-bind:class="validateInput(current.messages, message.id)">
|
||||
<td class="label"><div class="stringId">{{message.id}}</div></td>
|
||||
<td class="value">
|
||||
<div class="constraint">{{constraintString(message)}}</div>
|
||||
<div class="ref">{{referent.messages[message.id]}}</div>
|
||||
<div class="note" v-if="message.note">{{message.note}}</div>
|
||||
<div class="tran"><input :id="'in_'+message.id" type="text" v-model="current.messages[message.id]" v-bind:class="{unchanged : current.messages[message.id] == referent.messages[message.id], empty : current.messages[message.id]==''}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Characters</h2>
|
||||
<table class="data">
|
||||
<tr v-for="char in def.characters" v-bind:class="validateInput(current.characters, char.id)">
|
||||
<td class="label"><div class="stringId">{{char.id}}</div></td>
|
||||
<td class="value">
|
||||
<div class="constraint">{{constraintString(char)}}</div>
|
||||
<div class="ref">{{referent.characters[char.id]}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.characters[char.id]" v-bind:class="{unchanged : current.characters[char.id] == referent.characters[char.id], empty : current.characters[char.id].length != 1}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Menu Groups</h2>
|
||||
<table class="data">
|
||||
<tr v-for="menu in def.menuGroups" v-bind:class="validateInput(current.menuGroups, menu.id, 2)">
|
||||
<td class="label"><div class="stringId">{{menu.id}}</div></td>
|
||||
<td class="value">
|
||||
<div class="label">Menu Name</div>
|
||||
<div class="constraint">{{constraintString(menu)}}</div>
|
||||
<div class="ref">{{referent.menuGroups[menu.id].text2}}</div>
|
||||
<div class="tran" v-bind:class="{unchanged : current.menuGroups[menu.id].text2[0] == referent.menuGroups[menu.id].text2[0] && current.menuGroups[menu.id].text2[1] == referent.menuGroups[menu.id].text2[1], empty : current.menuGroups[menu.id].text2[0] == '' || current.menuGroups[menu.id].text2[1] == ''}"><input type="text" v-model="current.menuGroups[menu.id].text2[0]"><input type="text" v-model="current.menuGroups[menu.id].text2[1]"></div>
|
||||
<div class="label">Description</div>
|
||||
<div class="ref">{{referent.menuGroups[menu.id].desc}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.menuGroups[menu.id].desc" v-bind:class="{unchanged : current.menuGroups[menu.id].desc == referent.menuGroups[menu.id].desc, empty : current.menuGroups[menu.id].desc == ''}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>Menu Options</h2>
|
||||
<table class="data">
|
||||
<tr v-for="menu in def.menuOptions" v-bind:class="validateInput(current.menuOptions, menu.id, 2)">
|
||||
<td class="label"><div class="stringId">{{menu.id}}</div></td>
|
||||
<td class="value">
|
||||
<div v-bind:class="{hidden : false}">
|
||||
<div class="label">Menu Name (Double-Line)</div>
|
||||
<div class="constraint">{{constraintString(menu)}}</div>
|
||||
<div class="ref">{{referent.menuOptions[menu.id].text2}}</div>
|
||||
<div class="tran" v-bind:class="{unchanged : current.menuOptions[menu.id].text2[0] == referent.menuOptions[menu.id].text2[0] && current.menuOptions[menu.id].text2[1] == referent.menuOptions[menu.id].text2[1], empty : current.menuOptions[menu.id].text2[0] == '' || current.menuOptions[menu.id].text2[1] == ''}"><input type="text" v-model="current.menuOptions[menu.id].text2[0]"><input type="text" v-model="current.menuOptions[menu.id].text2[1]"></div>
|
||||
</div>
|
||||
<div class="label">Description</div>
|
||||
<div class="ref">{{referent.menuOptions[menu.id].desc}}</div>
|
||||
<div class="tran"><input type="text" v-model="current.menuOptions[menu.id].desc" v-bind:class="{unchanged : current.menuOptions[menu.id].desc == referent.menuOptions[menu.id].desc, empty : current.menuOptions[menu.id].desc == ''}"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="footer">
|
||||
<input type="button" value="Save" onclick="save()">
|
||||
<input type="button" value="View" onclick="view()">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,325 +1,322 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>TS100 Translation Parser</title>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<script src="translations_commons.js"></script>
|
||||
<script src="translations_def.js"></script>
|
||||
<script>
|
||||
|
||||
var app;
|
||||
var defMap = {};
|
||||
var langMap = {};
|
||||
var lang;
|
||||
|
||||
var defMsgMap;
|
||||
var defCharMap;
|
||||
var defGrpMap;
|
||||
var defOptMap;
|
||||
|
||||
function save(langCode){
|
||||
saveJSON(langMap[langCode], "translation_"+langCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function view(langCode){
|
||||
showJSON(langMap[langCode], "translation_"+langCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function translationFileSelected(e) {
|
||||
var target = e;
|
||||
var id = target.id;
|
||||
|
||||
var file = target.files[0];
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
var fr = new FileReader();
|
||||
fr.onload = function(e) {
|
||||
parseTranslationFile(file.name, e.target.result);
|
||||
}
|
||||
fr.readAsText(file);
|
||||
|
||||
}
|
||||
|
||||
function parseTranslationFile(name, src) {
|
||||
// remove multiline comments
|
||||
src = src.replace(/\/\*[\s\S.]*?\*\//mg, "");
|
||||
// remove single-line comments
|
||||
src = src.replace(/\/\/.*/mg, "");
|
||||
// remove empty lines
|
||||
src = src.replace(/^\s*\n/gm, "");
|
||||
|
||||
var langCode = "";
|
||||
var srcLines = src.split("\n");
|
||||
|
||||
var reMessage = /const\s+char\s*\*\s+([\w\d]+)\s*=\s*"(.*)"/;
|
||||
var reSettingsDescStart = /const\s+char\s*\*\s+SettingsDescriptions\[/;
|
||||
var reSettingsNamesStart = /const\s+char\s*\*\s+SettingsShortNames\[/;
|
||||
var reSettingsMenuDescStart = /const\s+char\s*\*\s+SettingsMenuEntriesDescriptions\[/;
|
||||
var reChar = /const\s+char\s+([\w\d]+)\s*=\s*'(\w)'/;
|
||||
var reMenuMode = /SettingsShortNameType\s*=\s*SHORT_NAME_(\w+)_LINE/;
|
||||
|
||||
var reMenuStart = /\s*const\s+char\s*\*\s+SettingsMenuEntries\[/;
|
||||
|
||||
// var reString = /^\s*"(.*)"/;
|
||||
var reString = /"(.*)"/;
|
||||
var reSingleLine = /{\s*"(.*)"\s*}/;
|
||||
var reDoubleLine = /{\s*"(.*)"\s*,\s*"(.*)"\s*}/;
|
||||
|
||||
var mode = '';
|
||||
var entryIndex = 0;
|
||||
for (var li = 0; li < srcLines.length; li++) {
|
||||
// trim lines
|
||||
line = srcLines[li] = srcLines[li].trim();
|
||||
|
||||
// if entering a new lang block
|
||||
if (startsWith(line, "#ifdef LANG_")) {
|
||||
mode = 'new-language';
|
||||
langCode = line.substring(12);
|
||||
lang = langMap[langCode];
|
||||
// use existing or instantiate new
|
||||
if (!isDefined(lang)) {
|
||||
lang = {
|
||||
languageCode: langCode,
|
||||
cyrillicGlyphs: false,
|
||||
messages: {},
|
||||
characters: {},
|
||||
menuDouble : false,
|
||||
menuGroups: {},
|
||||
menuOptions: {}
|
||||
};
|
||||
langMap[langCode] = lang;
|
||||
app.languages[app.languages.length] = langCode;
|
||||
}
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Use Cyrillic glyphs
|
||||
if (startsWith(line, "#define CYRILLIC_GLYPHS")) {
|
||||
lang.cyrillicGlyphs = true;
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Menu type
|
||||
reMenuMode.lastIndex = 0;
|
||||
match = reMenuMode.exec(line);
|
||||
if (match) {
|
||||
lang.menuDouble = match[1] == 'DOUBLE';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Messages
|
||||
reMessage.lastIndex = 0;
|
||||
match = reMessage.exec(line);
|
||||
if (match) {
|
||||
lang.messages[match[1]] = xunescape(match[2]);
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Chars descriptions
|
||||
reChar.lastIndex = 0;
|
||||
match = reChar.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'char';
|
||||
lang.characters[match[1]] = xunescape(match[2]);
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
// Settings descriptions
|
||||
reSettingsDescStart.lastIndex = 0;
|
||||
match = reSettingsDescStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'settingsDesc';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
reSettingsNamesStart.lastIndex = 0;
|
||||
match = reSettingsNamesStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'settingsNames';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
reMenuStart.lastIndex = 0;
|
||||
match = reMenuStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'menu';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
reSettingsMenuDescStart.lastIndex = 0;
|
||||
match = reSettingsMenuDescStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'menuDesc';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (mode == 'menu') {
|
||||
// processing menu group names
|
||||
reString.lastIndex = 0;
|
||||
match = reString.exec(line);
|
||||
if (match) {
|
||||
// found description string
|
||||
var entry = getMenuGroup(entryIndex);
|
||||
var m = match[1].split("\\n");
|
||||
entry.text2[0] = xunescape(m[0]);
|
||||
entry.text2[1] = xunescape(m[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
} else if (mode == 'menuDesc') {
|
||||
// processing menu group descriptions
|
||||
reString.lastIndex = 0;
|
||||
match = reString.exec(line);
|
||||
if (match) {
|
||||
// found description string
|
||||
var entry = getMenuGroup(entryIndex);
|
||||
entry.desc = xunescape(match[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
} else if (mode == 'settingsDesc') {
|
||||
// processing option descriptions
|
||||
reString.lastIndex = 0;
|
||||
match = reString.exec(line);
|
||||
if (match) {
|
||||
// found description string
|
||||
var entry = getMenuOption(entryIndex);
|
||||
entry.desc = xunescape(match[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
} else if (mode == 'settingsNames') {
|
||||
reDoubleLine.lastIndex = 0;
|
||||
match = reDoubleLine.exec(line);
|
||||
if (match) {
|
||||
var entry = getMenuOption(entryIndex);
|
||||
entry.text2[0] = xunescape(match[1]);
|
||||
entry.text2[1] = xunescape(match[2]);
|
||||
entryIndex++;
|
||||
} else {
|
||||
reSingleLine.lastIndex = 0;
|
||||
match = reSingleLine.exec(line);
|
||||
if (match) {
|
||||
var entry = getMenuOption(entryIndex);
|
||||
entry.text = xunescape(match[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
app.done = 1;
|
||||
}
|
||||
|
||||
function getMenuOption(entryIndex) {
|
||||
var optionDef = def.menuOptions[entryIndex];
|
||||
if (!isDefined(optionDef)) {
|
||||
var s = "Could not find menu option with index "+entryIndex;
|
||||
alert(s);
|
||||
throw s;
|
||||
}
|
||||
var id = optionDef.id;
|
||||
var entry = lang.menuOptions[id];
|
||||
if (!isDefined(entry)) {
|
||||
entry =
|
||||
{
|
||||
"text": "",
|
||||
"text2": ["", ""],
|
||||
"desc": ""
|
||||
}
|
||||
lang.menuOptions[id] = entry;
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
function getMenuGroup(entryIndex) {
|
||||
var optionDef = def.menuGroups[entryIndex];
|
||||
if (!isDefined(optionDef)) {
|
||||
var s = "Could not find menu group with index "+entryIndex;
|
||||
alert(s);
|
||||
throw s;
|
||||
}
|
||||
var id = optionDef.id;
|
||||
var entry = lang.menuGroups[id];
|
||||
if (!isDefined(entry)) {
|
||||
entry =
|
||||
{
|
||||
"text2": ["", ""],
|
||||
"desc": ""
|
||||
}
|
||||
lang.menuGroups[id] = entry;
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
function markSaved(lang) {
|
||||
document.getElementById("row_"+lang).classList.add("saved");
|
||||
}
|
||||
|
||||
function loaded() {
|
||||
app = new Vue({
|
||||
el : '#app',
|
||||
data : {
|
||||
languages: [],
|
||||
done : false,
|
||||
def : {
|
||||
}
|
||||
|
||||
},
|
||||
methods : {
|
||||
vSave : function(lang) {
|
||||
save(lang);
|
||||
markSaved(lang);
|
||||
},
|
||||
vView : function(lang) {
|
||||
view(lang);
|
||||
markSaved(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
app.def = def;
|
||||
defMsgMap = copyArrayToMap(app.def.messages);
|
||||
defCharMap = copyArrayToMap(app.def.characters);
|
||||
defGrpMap = copyArrayToMap(app.def.menuGroups);
|
||||
defOptMap = copyArrayToMap(app.def.menuOptions);
|
||||
}
|
||||
|
||||
window.onload=loaded;
|
||||
</script>
|
||||
<link href="translations.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app">
|
||||
<h1>TS100 Translation Parser</h1>
|
||||
<table class="header data">
|
||||
<tr>
|
||||
<td class="label">Translation.cpp</td>
|
||||
<td class="value">
|
||||
<input type="file" id="translation-cpp-file" onchange="translationFileSelected(this)" accept=".cpp">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="data" v-if="done">
|
||||
<div class="value" v-for="lang in languages" :id="'row_'+lang">
|
||||
<input type="button" :value="'Save '+lang" v-on:click="vSave(lang)">
|
||||
<input type="button" :value="'View '+lang" v-on:click="vView(lang)">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>TS100 Translation Parser</title>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
|
||||
<script src="translations_commons.js"></script>
|
||||
<script src="translations_def.js"></script>
|
||||
<script>
|
||||
|
||||
var app;
|
||||
var defMap = {};
|
||||
var langMap = {};
|
||||
var lang;
|
||||
|
||||
var defMsgMap;
|
||||
var defCharMap;
|
||||
var defGrpMap;
|
||||
var defOptMap;
|
||||
|
||||
function save(langCode){
|
||||
saveJSON(langMap[langCode], "translation_"+langCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function view(langCode){
|
||||
showJSON(langMap[langCode], "translation_"+langCode.toLowerCase()+".json");
|
||||
}
|
||||
|
||||
function translationFileSelected(e) {
|
||||
var target = e;
|
||||
var id = target.id;
|
||||
|
||||
var file = target.files[0];
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
var fr = new FileReader();
|
||||
fr.onload = function(e) {
|
||||
parseTranslationFile(file.name, e.target.result);
|
||||
}
|
||||
fr.readAsText(file);
|
||||
|
||||
}
|
||||
|
||||
function parseTranslationFile(name, src) {
|
||||
// remove multiline comments
|
||||
src = src.replace(/\/\*[\s\S.]*?\*\//mg, "");
|
||||
// remove single-line comments
|
||||
src = src.replace(/\/\/.*/mg, "");
|
||||
// remove empty lines
|
||||
src = src.replace(/^\s*\n/gm, "");
|
||||
|
||||
var langCode = "";
|
||||
var srcLines = src.split("\n");
|
||||
|
||||
var reMessage = /const\s+char\s*\*\s+([\w\d]+)\s*=\s*"(.*)"/;
|
||||
var reSettingsDescStart = /const\s+char\s*\*\s+SettingsDescriptions\[/;
|
||||
var reSettingsNamesStart = /const\s+char\s*\*\s+SettingsShortNames\[/;
|
||||
var reSettingsMenuDescStart = /const\s+char\s*\*\s+SettingsMenuEntriesDescriptions\[/;
|
||||
var reChar = /const\s+char\s+([\w\d]+)\s*=\s*'(\w)'/;
|
||||
var reMenuMode = /SettingsShortNameType\s*=\s*SHORT_NAME_(\w+)_LINE/;
|
||||
|
||||
var reMenuStart = /\s*const\s+char\s*\*\s+SettingsMenuEntries\[/;
|
||||
|
||||
// var reString = /^\s*"(.*)"/;
|
||||
var reString = /"(.*)"/;
|
||||
var reSingleLine = /{\s*"(.*)"\s*}/;
|
||||
var reDoubleLine = /{\s*"(.*)"\s*,\s*"(.*)"\s*}/;
|
||||
|
||||
var mode = '';
|
||||
var entryIndex = 0;
|
||||
for (var li = 0; li < srcLines.length; li++) {
|
||||
// trim lines
|
||||
line = srcLines[li] = srcLines[li].trim();
|
||||
|
||||
// if entering a new lang block
|
||||
if (startsWith(line, "#ifdef LANG_")) {
|
||||
mode = 'new-language';
|
||||
langCode = line.substring(12);
|
||||
lang = langMap[langCode];
|
||||
// use existing or instantiate new
|
||||
if (!isDefined(lang)) {
|
||||
lang = {
|
||||
languageCode: langCode,
|
||||
cyrillicGlyphs: false,
|
||||
messages: {},
|
||||
characters: {},
|
||||
menuGroups: {},
|
||||
menuOptions: {}
|
||||
};
|
||||
langMap[langCode] = lang;
|
||||
app.languages[app.languages.length] = langCode;
|
||||
}
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Use Cyrillic glyphs
|
||||
if (startsWith(line, "#define CYRILLIC_GLYPHS")) {
|
||||
lang.cyrillicGlyphs = true;
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Menu type
|
||||
reMenuMode.lastIndex = 0;
|
||||
match = reMenuMode.exec(line);
|
||||
if (match) {
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Messages
|
||||
reMessage.lastIndex = 0;
|
||||
match = reMessage.exec(line);
|
||||
if (match) {
|
||||
lang.messages[match[1]] = xunescape(match[2]);
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Chars descriptions
|
||||
reChar.lastIndex = 0;
|
||||
match = reChar.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'char';
|
||||
lang.characters[match[1]] = xunescape(match[2]);
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
// Settings descriptions
|
||||
reSettingsDescStart.lastIndex = 0;
|
||||
match = reSettingsDescStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'settingsDesc';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
reSettingsNamesStart.lastIndex = 0;
|
||||
match = reSettingsNamesStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'settingsNames';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
reMenuStart.lastIndex = 0;
|
||||
match = reMenuStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'menu';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
reSettingsMenuDescStart.lastIndex = 0;
|
||||
match = reSettingsMenuDescStart.exec(line);
|
||||
if (match) {
|
||||
// found description block start
|
||||
mode = 'menuDesc';
|
||||
entryIndex = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (mode == 'menu') {
|
||||
// processing menu group names
|
||||
reString.lastIndex = 0;
|
||||
match = reString.exec(line);
|
||||
if (match) {
|
||||
// found description string
|
||||
var entry = getMenuGroup(entryIndex);
|
||||
var m = match[1].split("\\n");
|
||||
entry.text2[0] = xunescape(m[0]);
|
||||
entry.text2[1] = xunescape(m[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
} else if (mode == 'menuDesc') {
|
||||
// processing menu group descriptions
|
||||
reString.lastIndex = 0;
|
||||
match = reString.exec(line);
|
||||
if (match) {
|
||||
// found description string
|
||||
var entry = getMenuGroup(entryIndex);
|
||||
entry.desc = xunescape(match[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
} else if (mode == 'settingsDesc') {
|
||||
// processing option descriptions
|
||||
reString.lastIndex = 0;
|
||||
match = reString.exec(line);
|
||||
if (match) {
|
||||
// found description string
|
||||
var entry = getMenuOption(entryIndex);
|
||||
entry.desc = xunescape(match[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
} else if (mode == 'settingsNames') {
|
||||
reDoubleLine.lastIndex = 0;
|
||||
match = reDoubleLine.exec(line);
|
||||
if (match) {
|
||||
var entry = getMenuOption(entryIndex);
|
||||
entry.text2[0] = xunescape(match[1]);
|
||||
entry.text2[1] = xunescape(match[2]);
|
||||
entryIndex++;
|
||||
} else {
|
||||
reSingleLine.lastIndex = 0;
|
||||
match = reSingleLine.exec(line);
|
||||
if (match) {
|
||||
var entry = getMenuOption(entryIndex);
|
||||
entry.text = xunescape(match[1]);
|
||||
entryIndex++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
app.done = 1;
|
||||
}
|
||||
|
||||
function getMenuOption(entryIndex) {
|
||||
var optionDef = def.menuOptions[entryIndex];
|
||||
if (!isDefined(optionDef)) {
|
||||
var s = "Could not find menu option with index "+entryIndex;
|
||||
alert(s);
|
||||
throw s;
|
||||
}
|
||||
var id = optionDef.id;
|
||||
var entry = lang.menuOptions[id];
|
||||
if (!isDefined(entry)) {
|
||||
entry =
|
||||
{
|
||||
"text2": ["", ""],
|
||||
"desc": ""
|
||||
}
|
||||
lang.menuOptions[id] = entry;
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
function getMenuGroup(entryIndex) {
|
||||
var optionDef = def.menuGroups[entryIndex];
|
||||
if (!isDefined(optionDef)) {
|
||||
var s = "Could not find menu group with index "+entryIndex;
|
||||
alert(s);
|
||||
throw s;
|
||||
}
|
||||
var id = optionDef.id;
|
||||
var entry = lang.menuGroups[id];
|
||||
if (!isDefined(entry)) {
|
||||
entry =
|
||||
{
|
||||
"text2": ["", ""],
|
||||
"desc": ""
|
||||
}
|
||||
lang.menuGroups[id] = entry;
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
function markSaved(lang) {
|
||||
document.getElementById("row_"+lang).classList.add("saved");
|
||||
}
|
||||
|
||||
function loaded() {
|
||||
app = new Vue({
|
||||
el : '#app',
|
||||
data : {
|
||||
languages: [],
|
||||
done : false,
|
||||
def : {
|
||||
}
|
||||
|
||||
},
|
||||
methods : {
|
||||
vSave : function(lang) {
|
||||
save(lang);
|
||||
markSaved(lang);
|
||||
},
|
||||
vView : function(lang) {
|
||||
view(lang);
|
||||
markSaved(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
app.def = def;
|
||||
defMsgMap = copyArrayToMap(app.def.messages);
|
||||
defCharMap = copyArrayToMap(app.def.characters);
|
||||
defGrpMap = copyArrayToMap(app.def.menuGroups);
|
||||
defOptMap = copyArrayToMap(app.def.menuOptions);
|
||||
}
|
||||
|
||||
window.onload=loaded;
|
||||
</script>
|
||||
<link href="translations.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app">
|
||||
<h1>TS100 Translation Parser</h1>
|
||||
<table class="header data">
|
||||
<tr>
|
||||
<td class="label">Translation.cpp</td>
|
||||
<td class="value">
|
||||
<input type="file" id="translation-cpp-file" onchange="translationFileSelected(this)" accept=".cpp">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="data" v-if="done">
|
||||
<div class="value" v-for="lang in languages" :id="'row_'+lang">
|
||||
<input type="button" :value="'Save '+lang" v-on:click="vSave(lang)">
|
||||
<input type="button" :value="'View '+lang" v-on:click="vView(lang)">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -125,27 +125,6 @@ def getConstants():
|
||||
return consants
|
||||
|
||||
|
||||
def getTipModelEnumTS80():
|
||||
constants = []
|
||||
constants.append("B02")
|
||||
constants.append("D25")
|
||||
constants.append("TS80") # end of miniware
|
||||
constants.append("User") # User
|
||||
return constants
|
||||
|
||||
|
||||
def getTipModelEnumTS100():
|
||||
constants = []
|
||||
constants.append("B02")
|
||||
constants.append("D24")
|
||||
constants.append("BC2")
|
||||
constants.append(" C1")
|
||||
constants.append("TS100") # end of miniware
|
||||
constants.append("BC2")
|
||||
constants.append("Hakko") # end of hakko
|
||||
constants.append("User")
|
||||
return constants
|
||||
|
||||
|
||||
def getDebugMenu():
|
||||
constants = []
|
||||
@@ -188,11 +167,8 @@ def getLetterCounts(defs, lang):
|
||||
obj = lang['menuOptions']
|
||||
for mod in defs['menuOptions']:
|
||||
eid = mod['id']
|
||||
if lang['menuDouble']:
|
||||
textList.append(obj[eid]['text2'][0])
|
||||
textList.append(obj[eid]['text2'][1])
|
||||
else:
|
||||
textList.append(obj[eid]['text'])
|
||||
textList.append(obj[eid]['text2'][0])
|
||||
textList.append(obj[eid]['text2'][1])
|
||||
|
||||
obj = lang['menuGroups']
|
||||
for mod in defs['menuGroups']:
|
||||
@@ -207,8 +183,6 @@ def getLetterCounts(defs, lang):
|
||||
constants = getConstants()
|
||||
for x in constants:
|
||||
textList.append(x[1])
|
||||
textList.extend(getTipModelEnumTS100())
|
||||
textList.extend(getTipModelEnumTS80())
|
||||
textList.extend(getDebugMenu())
|
||||
|
||||
# collapse all strings down into the composite letters and store totals for these
|
||||
@@ -329,17 +303,19 @@ def writeLanguage(languageCode, defs, f):
|
||||
f.write(to_unicode("const char* SettingsDescriptions[] = {\n"))
|
||||
|
||||
maxLen = 25
|
||||
index =0
|
||||
for mod in defs['menuOptions']:
|
||||
eid = mod['id']
|
||||
if 'feature' in mod:
|
||||
f.write(to_unicode("#ifdef " + mod['feature'] + "\n"))
|
||||
f.write(to_unicode(" /* " + eid.ljust(maxLen)[:maxLen] + " */ "))
|
||||
f.write(to_unicode(" /* ["+"{:02d}".format(index)+"] " + eid.ljust(maxLen)[:maxLen] + " */ "))
|
||||
f.write(
|
||||
to_unicode("\"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['desc'])) +
|
||||
"\"," + "//{} \n".format(obj[eid]['desc'])))
|
||||
if 'feature' in mod:
|
||||
f.write(to_unicode("#endif\n"))
|
||||
index=index+1
|
||||
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
@@ -381,20 +357,6 @@ def writeLanguage(languageCode, defs, f):
|
||||
convStr(symbolConversionTable, x[1]) + "\";" + "//{} \n".format(x[1])))
|
||||
|
||||
f.write(to_unicode("\n"))
|
||||
# Write out tip model strings
|
||||
|
||||
f.write(to_unicode("const char* TipModelStrings[] = {\n"))
|
||||
f.write(to_unicode("#ifdef MODEL_TS100\n"))
|
||||
for c in getTipModelEnumTS100():
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable,
|
||||
c) + "\"," + "//{} \n".format(c)))
|
||||
f.write(to_unicode("#else\n"))
|
||||
for c in getTipModelEnumTS80():
|
||||
f.write(to_unicode("\t \"" + convStr(symbolConversionTable,
|
||||
c) + "\"," + "//{} \n".format(c)))
|
||||
f.write(to_unicode("#endif\n"))
|
||||
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
# Debug Menu
|
||||
f.write(to_unicode("const char* DebugMenu[] = {\n"))
|
||||
@@ -404,39 +366,28 @@ def writeLanguage(languageCode, defs, f):
|
||||
c) + "\"," + "//{} \n".format(c)))
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
# ----- Menu Options
|
||||
|
||||
# Menu type
|
||||
f.write(
|
||||
to_unicode(
|
||||
"const enum ShortNameType SettingsShortNameType = SHORT_NAME_" +
|
||||
("DOUBLE" if lang['menuDouble'] else "SINGLE") + "_LINE;\n"))
|
||||
|
||||
# ----- Writing SettingsDescriptions
|
||||
obj = lang['menuOptions']
|
||||
f.write(to_unicode("const char* SettingsShortNames[][2] = {\n"))
|
||||
|
||||
maxLen = 25
|
||||
index = 0
|
||||
for mod in defs['menuOptions']:
|
||||
eid = mod['id']
|
||||
if 'feature' in mod:
|
||||
f.write(to_unicode("#ifdef " + mod['feature'] + "\n"))
|
||||
f.write(to_unicode(" /* " + eid.ljust(maxLen)[:maxLen] + " */ "))
|
||||
if lang['menuDouble']:
|
||||
f.write(
|
||||
to_unicode(
|
||||
"{ \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][0])) +
|
||||
"\", \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][1])) +
|
||||
"\" }," + "//{} \n".format(obj[eid]['text2'])))
|
||||
else:
|
||||
f.write(
|
||||
to_unicode("{ \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text'])) +
|
||||
"\" }," + "//{} \n".format(obj[eid]['text'])))
|
||||
f.write(to_unicode(" /* ["+"{:02d}".format(index)+"] " + eid.ljust(maxLen)[:maxLen] + " */ "))
|
||||
f.write(
|
||||
to_unicode(
|
||||
"{ \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][0])) +
|
||||
"\", \"" +
|
||||
convStr(symbolConversionTable, (obj[eid]['text2'][1])) +
|
||||
"\" }," + "//{} \n".format(obj[eid]['text2'])))
|
||||
|
||||
if 'feature' in mod:
|
||||
f.write(to_unicode("#endif\n"))
|
||||
index = index + 1
|
||||
|
||||
f.write(to_unicode("};\n\n"))
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -69,224 +68,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Източник",
|
||||
"захранване"
|
||||
],
|
||||
"desc": "Източник на захранване. Минимално напрежение. <DC 10V> <S 3.3V за клетка>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Темп.",
|
||||
"сън"
|
||||
],
|
||||
"desc": "Температура при режим \"сън\" <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Време",
|
||||
"сън"
|
||||
],
|
||||
"desc": "Включване в режим \"сън\" след: <Минути/Секунди>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Време",
|
||||
"изкл."
|
||||
],
|
||||
"desc": "Изключване след <Минути>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Усещане",
|
||||
"за движение"
|
||||
],
|
||||
"desc": "Усещане за движение <0.Изключено 1.Слабо 9.Силно>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Единици за",
|
||||
"температура"
|
||||
],
|
||||
"desc": "Единици за температура <C=Целзии F=Фаренхайт>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детайлен",
|
||||
"екран в покой"
|
||||
],
|
||||
"desc": "Покажи детайлна информация със ситен шрифт на екрана в режим на покой."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ориентация",
|
||||
"на дисплея"
|
||||
],
|
||||
"desc": "Ориентация на дисплея <A. Автоматично L. Лява Ръка R. Дясна Ръка>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Турбо режим",
|
||||
"пуснат"
|
||||
],
|
||||
"desc": "Ползвай предния бутон за \"турбо\" режим с температура до 450C при запояване"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Турбо",
|
||||
"темп."
|
||||
],
|
||||
"desc": "Температура за \"турбо\" режим"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Автоматичен",
|
||||
"работен режим"
|
||||
],
|
||||
"desc": "Режим на поялника при включване на захранването. T=Работен, S=Сън, F=Изключен"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Мигай при",
|
||||
"топъл поялник"
|
||||
],
|
||||
"desc": "След изключване от работен режим, индикатора за температура да мига докато човката на поялника все още е топла"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калибриране",
|
||||
"температура?"
|
||||
],
|
||||
"desc": "Калибриране на температурата"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Фабрични",
|
||||
"настройки?"
|
||||
],
|
||||
"desc": "Връщане на фабрични настройки"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калибриране",
|
||||
"напрежение?"
|
||||
],
|
||||
"desc": "Калибриране на входното напрежение. Задръжте бутонa за изход"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детайлен",
|
||||
"работен екран"
|
||||
],
|
||||
"desc": "Детайлна информация в работен режим при запояване"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Скорост",
|
||||
"на текста"
|
||||
],
|
||||
"desc": "Скорост на движение на този текст"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Модел",
|
||||
"на връх"
|
||||
],
|
||||
"desc": "Избор на модел на връх"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Бърза",
|
||||
"калибрация"
|
||||
],
|
||||
"desc": "Бърза калибрация с използване на гореща вода"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Прецизна",
|
||||
"калибрация"
|
||||
],
|
||||
"desc": "Прецизна калибрация с използване на термо-двойка на върха на поялника"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Мощност на",
|
||||
"захранване"
|
||||
],
|
||||
"desc": "Мощност на избраното захранване"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Вкл. лимит",
|
||||
"на мощност?"
|
||||
],
|
||||
"desc": "Включване на лимит на мощност"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Лимит на",
|
||||
"мощност"
|
||||
],
|
||||
"desc": "Максимална мощност на поялника <W>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Размяна",
|
||||
"бутони +-?"
|
||||
],
|
||||
"desc": "Обръщане на бутоните \"+\" и \"-\" за промяна на температурата на върха на поялника"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Промяна T",
|
||||
"бързо?"
|
||||
],
|
||||
"desc": "Промяна на температура при бързо натискане на бутон!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Промяна Т",
|
||||
"задържане?"
|
||||
],
|
||||
"desc": "Промяна на температура при задържане на бутон!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Захранващ",
|
||||
"импулс"
|
||||
],
|
||||
"desc": "Поддържане на интензивност на захранващия импулс"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Промяна",
|
||||
"сила връх"
|
||||
],
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -69,143 +68,118 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Zdroj",
|
||||
"napájení"
|
||||
],
|
||||
"desc": "Při nižším napětí ukončí pájení <DC=10V, ?S=?x3.3V pro LiPo, LiIon...>."
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Teplota v",
|
||||
"r. spánku"
|
||||
],
|
||||
"desc": "Teplota v režimu spánku."
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Čas do",
|
||||
"r. spánku"
|
||||
],
|
||||
"desc": "Čas do režimu spánku <Minut/Sekund>."
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Čas do",
|
||||
"vypnutí"
|
||||
],
|
||||
"desc": "Čas do automatického vypnutí <Minut>."
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Citlivost",
|
||||
"det. pohybu"
|
||||
],
|
||||
"desc": "Citlivost detekce pohybu <0=Vyp, 1=Min, ... 9=Max>."
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jednotky",
|
||||
"teploty"
|
||||
],
|
||||
"desc": "Jednotky měření teploty <C=Celsius, F=Fahrenheit>."
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Podrobnosti",
|
||||
"na vých. obr."
|
||||
],
|
||||
"desc": "Zobrazit podrobnosti na výchozí obrazovce?"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientace",
|
||||
"obrazovky"
|
||||
],
|
||||
"desc": "Orientace obrazovky <A=Auto, L=Levák, P=Pravák>."
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Povolit",
|
||||
"boost"
|
||||
],
|
||||
"desc": "Povolit boost podržením předního tlačítka při pájení?"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Teplota v",
|
||||
"r. boost"
|
||||
],
|
||||
"desc": "Teplota v režimu boost."
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Automatický",
|
||||
"start"
|
||||
],
|
||||
"desc": "Při startu ihned nahřát hrot?"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Blikáni při",
|
||||
"chladnutí"
|
||||
],
|
||||
"desc": "Blikání teploty při chladnutí, dokud je hrot horký?"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibrovat",
|
||||
"teplotu?"
|
||||
],
|
||||
"desc": "Kalibrace měření teploty."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tovární",
|
||||
"nastavení?"
|
||||
],
|
||||
"desc": "Obnovení továrního nastavení."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibrovat",
|
||||
"vstupní napětí?"
|
||||
],
|
||||
"desc": "Kalibrace vstupního napětí. Tlačítky uprav, podržením potvrď."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Podrobnosti",
|
||||
"při pájení"
|
||||
],
|
||||
"desc": "Zobrazit podrobnosti při pájení?"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Rychlost",
|
||||
"popisků"
|
||||
],
|
||||
"desc": "Rychlost posuvu popisků podobných tomuto <P=Pomalu, R=Rychle>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"Model",
|
||||
"hrotu"
|
||||
@@ -213,7 +187,6 @@
|
||||
"desc": "Výběr modelu hrotu."
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"Jednoduchá",
|
||||
"kalibrace"
|
||||
@@ -221,7 +194,6 @@
|
||||
"desc": "Jednoduchá kalibrace pomocí horké vody."
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"Pokročilá",
|
||||
"kalibrace"
|
||||
@@ -229,23 +201,13 @@
|
||||
"desc": "Pokročilá kalibrace pomocí termočlánku na hrotu."
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"Výkon",
|
||||
"ve wattech"
|
||||
],
|
||||
"desc": "Výkon použítého napájecího adaptéru ve wattech."
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Omez. výk.",
|
||||
"Aktivovat"
|
||||
],
|
||||
"desc": "Aktivovat omezení výkonu"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"Omezení",
|
||||
"Výkonu"
|
||||
@@ -253,7 +215,6 @@
|
||||
"desc": "Maximální příkon <Watty>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"Prohodit",
|
||||
"tl. +-?"
|
||||
@@ -261,7 +222,6 @@
|
||||
"desc": "Prohodí tlačítka plus a minus pro změnu teploty hrotu."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"Krok teploty",
|
||||
"krátký?"
|
||||
@@ -269,7 +229,6 @@
|
||||
"desc": "Velikost skoku při změně teploty krátkým stiskem tlačítka!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"Krok teploty",
|
||||
"dlouhý?"
|
||||
@@ -277,7 +236,6 @@
|
||||
"desc": "Velikost skoku při změně teploty dlouhým stiskem tlačítka!"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"Intenzita",
|
||||
"Výkon. pulsu"
|
||||
@@ -285,7 +243,6 @@
|
||||
"desc": "Puls pro udržení zařízení v chodu (kvůli power bankám)."
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"Změnit",
|
||||
"zisk hr."
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "S"
|
||||
},
|
||||
"menuDouble": false,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,143 +66,118 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Power",
|
||||
"source"
|
||||
],
|
||||
"desc": "Strømforsyning. Indstil Cutoff Spændingen. <DC 10V <S 3.3V per cell"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Sleep",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Dvale Temperatur <C"
|
||||
"desc": "Dvale Temperatur <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Sleep",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Dvale Timeout <Minutter/Sekunder"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Shutdown",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "sluknings Timeout <Minutter"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Motion",
|
||||
"sensitivity"
|
||||
],
|
||||
"desc": "Bevægelsesfølsomhed <0.Slukket 1.Mindst følsom 9.Mest følsom"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Temperature",
|
||||
"unit"
|
||||
],
|
||||
"desc": "Temperatur Enhed <C=Celsius F=Fahrenheit"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Detailed",
|
||||
"idle screen"
|
||||
],
|
||||
"desc": "Vis detialieret information med en mindre skriftstørrelse på standby skærmen."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Display",
|
||||
"orientation"
|
||||
],
|
||||
"desc": "Skærm Orientering <A. Automatisk V. Venstre Håndet H. Højre Håndet"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"desc": "Ved tryk på front knap Aktiveres boost-funktionen, 450C tilstand når der loddes"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Boost",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperatur i \"boost\" mode"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Start automatisk med lodning når strøm sættes til. L=Lodning, D= Dvale tilstand,S=Slukket"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Cooldown",
|
||||
"blink"
|
||||
],
|
||||
"desc": "Blink temperaturen på skærmen, mens spidsen stadig er varm."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Calibrate",
|
||||
"temperature?"
|
||||
],
|
||||
"desc": "kalibrere spids temperatur."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Factory",
|
||||
"Reset?"
|
||||
],
|
||||
"desc": "Gendan alle indstillinger"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Calibrate",
|
||||
"input voltage?"
|
||||
],
|
||||
"desc": "VIN kalibrering. Knapperne justere, Lang tryk for at gå ud"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Detailed",
|
||||
"solder screen"
|
||||
],
|
||||
"desc": "Vis detialieret information mens der loddes"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
"Scrolling",
|
||||
"speed"
|
||||
],
|
||||
"desc": "Speed this text scrolls past at"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
@@ -211,7 +185,6 @@
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
@@ -219,7 +192,6 @@
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
@@ -227,23 +199,13 @@
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
@@ -251,7 +213,6 @@
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
@@ -259,7 +220,6 @@
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
@@ -267,7 +227,6 @@
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
@@ -275,7 +234,6 @@
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
@@ -283,7 +241,6 @@
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -70,200 +69,161 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Spannungs-",
|
||||
"quelle"
|
||||
],
|
||||
"desc": "Spannungsquelle (Abschaltspannung) <DC=10V, nS=n*3.3V für n LiIon-Zellen>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ruhetemp-",
|
||||
"eratur"
|
||||
],
|
||||
"desc": "Ruhetemperatur"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ruhever-",
|
||||
"zögerung"
|
||||
],
|
||||
"desc": "Ruhemodus nach <Sekunden/Minuten>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Abschalt-",
|
||||
"zeit"
|
||||
],
|
||||
"desc": "Abschalten nach <Minuten>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Bewegungs-",
|
||||
"empfindlichk."
|
||||
],
|
||||
"desc": "Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatur-",
|
||||
"einheit"
|
||||
],
|
||||
"desc": "Temperatureinheit <C=Celsius, F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detaillierte",
|
||||
"Ruheansicht"
|
||||
],
|
||||
"desc": "Detaillierte Anzeige im Ruhemodus"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Anzeige-",
|
||||
"ausrichtung"
|
||||
],
|
||||
"desc": "Ausrichtung der Anzeige <A=Automatisch, L=Linkshändig, R=Rechtshändig>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Boosttaste",
|
||||
"aktiv?"
|
||||
],
|
||||
"desc": "Vordere Taste lange drücken für Temperatur-Boostmodus beim Löten"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Boosttemp-",
|
||||
"eratur"
|
||||
],
|
||||
"desc": "Temperatur im Boostmodus (In der eingestellten Einheit)"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Start im",
|
||||
"Lötmodus?"
|
||||
],
|
||||
"desc": "Automatischer Start-Modus beim Einschalten der Spannungsversorgung. <T=Lötmodus S=Ruhezustand F=Aus>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Abkühl-",
|
||||
"blinken?"
|
||||
],
|
||||
"desc": "Blinkende Temperaturanzeige beim Abkühlen, solange heiß ist."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatur",
|
||||
"kalibrieren?"
|
||||
],
|
||||
"desc": "Kalibrierung der Lötspitzentemperatur"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Einstellungen",
|
||||
"zurücksetzen?"
|
||||
],
|
||||
"desc": "Einstellungen auf werkseinstellungen zurück setzen"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Eingangsspannung",
|
||||
"kalibrieren?"
|
||||
],
|
||||
"desc": "Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detaillierte",
|
||||
"Lötansicht"
|
||||
],
|
||||
"desc": "Detaillierte Anzeige im Lötmodus"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Scroll-",
|
||||
"geschw."
|
||||
],
|
||||
"desc": "Scrollgeschwindigkeit der Texte <S=Langsam F=Schnell>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Löt-",
|
||||
"spitze"
|
||||
],
|
||||
"desc": "Auswahl der Lötspitze"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Einfache",
|
||||
"Kalibrierung"
|
||||
],
|
||||
"desc": "Einfache Kalibrierung mittels heißem Wasser"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Erweiterte",
|
||||
"Kalibrierung"
|
||||
],
|
||||
"desc": "Erweiterte Kalibrierung mittels eines Thermoelements an der Lötspitze"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Leistungs-",
|
||||
"Aufnahme"
|
||||
],
|
||||
"desc": "Leistungsaufnahme der verwendeten Spannungsversorgung"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Leistungs-",
|
||||
"Limit An"
|
||||
],
|
||||
"desc": "Leistungslimit aktivieren"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Leistungs-",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximale aufnahme der Lötspitze <Watt>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Taste +-",
|
||||
"Umkehren?"
|
||||
],
|
||||
"desc": "Temperatur-Änderungs-Tasten-Belegung Plus-Minus umkehren?"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"T. Schritt",
|
||||
"Taste kurz?"
|
||||
],
|
||||
@@ -271,24 +231,21 @@
|
||||
}
|
||||
,
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"T. Schritt",
|
||||
"Taste Lang?"
|
||||
],
|
||||
"desc": "Temperaturwechselschritte bei langem Tastendruck!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -70,224 +69,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"source"
|
||||
],
|
||||
"desc": "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell, disable power limit>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Sleep temperature"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sleep",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Sleep timeout <Minutes/Seconds>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Shutdown",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Shutdown timeout <Minutes>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Motion",
|
||||
"sensitivity"
|
||||
],
|
||||
"desc": "Motion sensitivity <0=Off 1=Least sensitive 9=Most sensitive>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperature",
|
||||
"unit"
|
||||
],
|
||||
"desc": "Temperature unit <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detailed",
|
||||
"idle screen"
|
||||
],
|
||||
"desc": "Display detailed information in a smaller font on the idle screen"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Display",
|
||||
"orientation"
|
||||
],
|
||||
"desc": "Display orientation <A=Automatic L=Left-handed R=Right-handed>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Boost",
|
||||
"mode"
|
||||
],
|
||||
"desc": "Enable front key long press \"boost mode\" when soldering"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Boost",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperature when in \"boost mode\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Automatically starts the iron into soldering on power up <F=Off T=Soldering S=Sleep O=Sleep at room temperature>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Cooldown",
|
||||
"blink"
|
||||
],
|
||||
"desc": "Blink the temperature on the cooling screen while the tip is still hot"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrate",
|
||||
"temperature?"
|
||||
],
|
||||
"desc": "Calibrate tip offset?"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Factory",
|
||||
"Reset?"
|
||||
],
|
||||
"desc": "Reset all settings!"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrate",
|
||||
"input voltage?"
|
||||
],
|
||||
"desc": "VIN Calibration <long press to exit>"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detailed",
|
||||
"solder screen"
|
||||
],
|
||||
"desc": "Display detailed information while soldering"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Scrolling",
|
||||
"speed"
|
||||
],
|
||||
"desc": "Speed this text scrolls past at <S=Slow F=Fast>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tip",
|
||||
"model"
|
||||
],
|
||||
"desc": "Tip model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Simple",
|
||||
"calibration"
|
||||
],
|
||||
"desc": "Simple calibration using hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"wattage"
|
||||
],
|
||||
"desc": "Power wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Enable power",
|
||||
"limit"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Reverse",
|
||||
"+ - keys"
|
||||
],
|
||||
"desc": "Reverse assignment of temperature adjustment buttons"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"SettingStartSleepOffChar": "F",
|
||||
"SettingStartNoneChar": "N"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -69,224 +68,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Fuente",
|
||||
"de energía"
|
||||
],
|
||||
"desc": "Elige el tipo de fuente para limitar el voltaje <DC 10V> <S 3,3V por pila, ilimitado>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatura",
|
||||
"en reposo"
|
||||
],
|
||||
"desc": "Temperatura de la punta en reposo."
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Entrar",
|
||||
"en reposo"
|
||||
],
|
||||
"desc": "Tiempo de inactividad para entrar en reposo <min/seg>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tiempo de",
|
||||
"apagado"
|
||||
],
|
||||
"desc": "Tiempo de inactividad para apagarse <en minutos>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detección de",
|
||||
"movimiento"
|
||||
],
|
||||
"desc": "Tiempo de reacción al agarrar <0=no 1=menos sensible 9=más sensible>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Unidad de",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Unidad de temperatura <C=centígrados F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Info extra en",
|
||||
"modo reposo"
|
||||
],
|
||||
"desc": "Muestra información detallada en letra pequeña al reposar."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientación",
|
||||
"de pantalla"
|
||||
],
|
||||
"desc": "Orientación de la pantalla <A=automático I=zurdo D=diestro>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Con botón de",
|
||||
"temp. extra"
|
||||
],
|
||||
"desc": "Permite mantener pulsado el primer botón (A) al soldar y calentar momentáneamente un poco más."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ajustar la",
|
||||
"temp. extra"
|
||||
],
|
||||
"desc": "Temperatura momentánea que se alcanza al apretar el botón del modo extra."
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calentar",
|
||||
"al enchufar"
|
||||
],
|
||||
"desc": "Se calienta él solo al arrancar <S=entrar en modo soldar R=solo entrar en reposo F=en reposo pero mantiene la punta fría N=no>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Parpadear",
|
||||
"al enfriar"
|
||||
],
|
||||
"desc": "La temperatura en pantalla parpadea mientras la punta siga caliente."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrar temp.",
|
||||
"de la punta"
|
||||
],
|
||||
"desc": "Calibra la desviación térmica de la punta."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Volver a ajustes",
|
||||
"de fábrica"
|
||||
],
|
||||
"desc": "Restablece todos los ajustes a los valores originales."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrar voltaje",
|
||||
"de entrada"
|
||||
],
|
||||
"desc": "Calibra VIN. Ajusta con ambos botones y mantén pulsado para salir."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Info extra",
|
||||
"al soldar"
|
||||
],
|
||||
"desc": "Muestra más datos por pantalla cuando se está soldando."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Velocidad",
|
||||
"del texto"
|
||||
],
|
||||
"desc": "Velocidad de desplazamiento del texto <R=rápida L=lenta>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modelo de",
|
||||
"punta"
|
||||
],
|
||||
"desc": "Elegir el modelo de punta actual."
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibración",
|
||||
"simple"
|
||||
],
|
||||
"desc": "Calibración simple con agua caliente."
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibración",
|
||||
"avanzada"
|
||||
],
|
||||
"desc": "Calibrar con un termopar en la punta; más difícil."
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Potencia de",
|
||||
"entrada"
|
||||
],
|
||||
"desc": "Potencia en vatios del adaptador de corriente utilizado."
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Limitar la",
|
||||
"potenc. máx."
|
||||
],
|
||||
"desc": "Activa el límite de potencia máxima."
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ajustar la",
|
||||
"potenc. máx."
|
||||
],
|
||||
"desc": "Elige el límite de potencia máxima del soldador <en vatios>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Invertir",
|
||||
"botones +/-"
|
||||
],
|
||||
"desc": "Intercambia las funciones de subir y bajar la temperatura de los botones +/- para que funcionen al revés."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Cambio temp.",
|
||||
"puls. cortas"
|
||||
],
|
||||
"desc": "Subir y bajar X grados de temperatura con cada pulsación corta de los botones +/-."
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Cambio temp.",
|
||||
"puls. largas"
|
||||
],
|
||||
"desc": "Subir y bajar X grados de temperatura con cada pulsación larga de los botones +/-."
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Pulsos bat.",
|
||||
"constantes"
|
||||
],
|
||||
"desc": "Aplica unos pulsos necesarios para mantener encendidas ciertas baterías portátiles. En vatios."
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ajustar ganancia",
|
||||
"de punta"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Virtalähde",
|
||||
"DC"
|
||||
],
|
||||
"desc": "Käytettävä virtalähde. Asettaa katkaisujänniteen. <DC 10V, 3S=9.9V, 4S=13.2V, 5S=16.5V, 6S=19.8V>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Lepotilan",
|
||||
"lämpötila"
|
||||
],
|
||||
"desc": "Lepotilan lämpötila. <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Lepotilan",
|
||||
"viive"
|
||||
],
|
||||
"desc": "Lepotilan viive. <minuuttia/sekuntia>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sammutus",
|
||||
"viive"
|
||||
],
|
||||
"desc": "Automaattisen sammutuksen aikaviive. <minuuttia>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Liikkeen",
|
||||
"herkkyys"
|
||||
],
|
||||
"desc": "Liikkeentunnistuksen herkkyys. <0=pois, 1=epäherkin, 9=herkin>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Lämpötilan",
|
||||
"yksikkö"
|
||||
],
|
||||
"desc": "Lämpötilan yksikkö. <C=celsius, F=fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tiedot",
|
||||
"lepotilassa"
|
||||
],
|
||||
"desc": "Näyttää yksityiskohtaisemmat tiedot lepotilassa."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Näytön",
|
||||
"kierto"
|
||||
],
|
||||
"desc": "Näytön kierto. <A=automaattinen O=oikeakätinen V=vasenkätinen>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Tehostus",
|
||||
"käytössä"
|
||||
],
|
||||
"desc": "Etupainikeella siirrytään juotettaessa tehostustilaan."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tehostus-",
|
||||
"lämpötila"
|
||||
],
|
||||
"desc": "Tehostustilan lämpötila"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Autom.",
|
||||
"käynnistys"
|
||||
],
|
||||
"desc": "Käynnistää virrat kytkettäessä juotostilan automaattisesti. T=juotostila, S=Lepotila, F=Ei käytössä"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jäähdytyksen",
|
||||
"vilkutus"
|
||||
],
|
||||
"desc": "Vilkuttaa jäähtyessä juotoskärjen lämpötilaa sen ollessa vielä vaarallisen kuuma."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibroi",
|
||||
"lämpötila?"
|
||||
],
|
||||
"desc": "Kalibroi kärjen lämpötilaeron."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Palauta",
|
||||
"tehdasasetukset?"
|
||||
],
|
||||
"desc": "Palauta kaikki asetukset oletusarvoihin."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibroi",
|
||||
"tulojännite?"
|
||||
],
|
||||
"desc": "Tulojännitten kalibrointi (VIN). Painikkeilla säädetään ja pitkään painamalla poistutaan."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tarkempi",
|
||||
"juotosnäyttö"
|
||||
],
|
||||
"desc": "Näyttää yksityiskohtaisemmat tiedot juotostilassa."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tietojen",
|
||||
"näyttönopeus"
|
||||
],
|
||||
"desc": "Näiden selitetekstien vieritysnopeus."
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "D"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Source",
|
||||
"d'alim"
|
||||
],
|
||||
"desc": "Source d'alimentation. Règle la tension de coupure <DC=10V S=3.3V par cellules>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp.",
|
||||
"veille"
|
||||
],
|
||||
"desc": "Température en veille <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Délai",
|
||||
"veille"
|
||||
],
|
||||
"desc": "Délai avant mise en veille <Minutes>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Délai",
|
||||
"extinction"
|
||||
],
|
||||
"desc": "Délai avant extinction <Minutes>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sensibilité",
|
||||
"au mouvement"
|
||||
],
|
||||
"desc": "Sensibilité du capteur de mouvement <0=Inactif 1=Peu sensible 9=Tres sensible>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Unité de",
|
||||
"température"
|
||||
],
|
||||
"desc": "Unité de température <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Écran veille",
|
||||
"détaillé"
|
||||
],
|
||||
"desc": "Afficher des informations détaillées lors de la veille."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientation",
|
||||
"de l'écran"
|
||||
],
|
||||
"desc": "Orientation de l'affichage <A=Automatique G=Gaucher D=Droitier>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Activation du",
|
||||
"mode Boost"
|
||||
],
|
||||
"desc": "Activer le mode \"Boost\" en maintenant le bouton de devant pendant la soudure"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp.",
|
||||
"Boost"
|
||||
],
|
||||
"desc": "Température du mode \"Boost\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Démarrage",
|
||||
"automatique"
|
||||
],
|
||||
"desc": "Démarrer automatiquement la soudure a l'allumage <A=Activé, V=Mode Veille, D=Désactivé>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Refroidir en",
|
||||
"clignotant"
|
||||
],
|
||||
"desc": "Faire clignoter la température lors du refroidissement tant que la panne est chaude."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Étalonner",
|
||||
"température"
|
||||
],
|
||||
"desc": "Étalonner température de la panne."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Réinitialisation",
|
||||
"d'usine"
|
||||
],
|
||||
"desc": "Réinitialiser tous les réglages"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Étalonner",
|
||||
"tension d'entrée"
|
||||
],
|
||||
"desc": "Étalonner tension d'entrée. Boutons pour ajuster, appui long pour quitter"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Écran soudure",
|
||||
"détaillé"
|
||||
],
|
||||
"desc": "Afficher des informations détaillées pendant la soudure"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vitesse de",
|
||||
"défilement"
|
||||
],
|
||||
"desc": "Vitesse de défilement de ce texte en <R=Rapide L=Lent>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Panne",
|
||||
"Modèle"
|
||||
],
|
||||
"desc": "Sélection du modèle de la panne"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibration",
|
||||
"simple"
|
||||
],
|
||||
"desc": "Calibration simple à l'aide d'eau chaude"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibration",
|
||||
"avancées"
|
||||
],
|
||||
"desc": "Calibration avancées à l'aide d'un thermocouple sur la panne"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Puissance de",
|
||||
"l'alimentation"
|
||||
],
|
||||
"desc": "Puissance de l'alimentation utilisée"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Activer?"
|
||||
],
|
||||
"desc": "Activer la limite de puissance"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Puissance",
|
||||
"Limite"
|
||||
],
|
||||
"desc": "Puissance maximale utilisable <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"Inverser?"
|
||||
],
|
||||
"desc": "Inversez l'assignation +/- du bouton de changement de température de la pointe."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"Court?"
|
||||
],
|
||||
"desc": "Incrément de changement de température sur appui court."
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"Long?"
|
||||
],
|
||||
"desc": "Incrément de changement de température sur appui long."
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Izvor",
|
||||
"napajanja"
|
||||
],
|
||||
"desc": "Izvor napajanja. Postavlja napon isključivanja. <DC 10V> <S 3.3V po ćeliji>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp",
|
||||
"spavanja"
|
||||
],
|
||||
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. <C/F>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vrijeme",
|
||||
"spavanja"
|
||||
],
|
||||
"desc": "Vrijeme mirovanja nakon kojega lemilica spušta temperaturu. <Minute/Sekunde>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vrijeme",
|
||||
"gašenja"
|
||||
],
|
||||
"desc": "Vrijeme mirovanja nakon kojega će se lemilica ugasiti. <Minute>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Osjetljivost",
|
||||
"pokreta"
|
||||
],
|
||||
"desc": "Osjetljivost prepoznavanja pokreta. <0=Ugašeno, 1=Najmanje osjetljivo, 9=Najosjetljivije>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jedinica",
|
||||
"temperature"
|
||||
],
|
||||
"desc": "Jedinica temperature. <C=Celzij, F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detalji",
|
||||
"pri čekanju"
|
||||
],
|
||||
"desc": "Prikazivanje detaljnih informacija tijekom čekanja."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Rotacija",
|
||||
"ekrana"
|
||||
],
|
||||
"desc": "Orijentacija ekrana. <A=Automatski, L=Ljevoruki, D=Desnoruki>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Boost",
|
||||
"način"
|
||||
],
|
||||
"desc": "Držanjem prednjeg gumba prilikom lemljenja aktivira se pojačani (Boost) način."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Boost",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperatura u pojačanom (Boost) načinu."
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Ako je aktivno, lemilica po uključivanju napajanja odmah počinje grijati."
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Upozorenje",
|
||||
"pri hlađenju"
|
||||
],
|
||||
"desc": "Bljeskanje temperature prilikom hlađenja, ako je lemilica vruća."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibracija",
|
||||
"temperature"
|
||||
],
|
||||
"desc": "Kalibriranje temperature mjeri razliku temperatura vrška i drške, dok je lemilica hladna."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tvorničke",
|
||||
"postavke"
|
||||
],
|
||||
"desc": "Vraćanje svih postavki na tvorničke vrijednosti."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibracija",
|
||||
"napona napajanja"
|
||||
],
|
||||
"desc": "Kalibracija ulaznog napona. Podešavanje gumbima, dugački pritisak za kraj."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detalji",
|
||||
"pri lemljenju"
|
||||
],
|
||||
"desc": "Prikazivanje detaljnih informacija tijekom lemljenja."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Brzina",
|
||||
"poruka"
|
||||
],
|
||||
"desc": "Brzina kretanja dugačkih poruka. <B=brzo, S=sporo>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Model",
|
||||
"Vrha"
|
||||
],
|
||||
"desc": "Odabir modela lemnog vrha"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jednostavna",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Kalibracija kipućom vodom"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Napredna",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Kalibracija korištenjem termo-elementa"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Snaga",
|
||||
"napajanja"
|
||||
],
|
||||
"desc": "Snaga modula za napajanje"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": false,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "ÁRAMF",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Áram",
|
||||
"forrás"
|
||||
],
|
||||
"desc": "Áramforrás. Beállítja a lekapcsolási feszültséget. <DC 10V> <S 3.3V cellánként>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "AHŐM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Alvási",
|
||||
"hőfok"
|
||||
],
|
||||
"desc": "Alvási hőmérséklet <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "AIDŐ",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Alvás",
|
||||
"időzítő"
|
||||
],
|
||||
"desc": "Alvás időzítő <perc/másodperc>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "KIIDŐ",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kikapcsolás",
|
||||
"időzítő"
|
||||
],
|
||||
"desc": "Kikapcsolási időzítő <perc>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MOZGÉR",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Mozgás",
|
||||
"érzékenység"
|
||||
],
|
||||
"desc": "Mozgás érzékenység beállítása. <0.kikapcsolva 1.legkevésbé érzékeny 9.legérzékenyebb>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "HŐEGYS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Hőmérséklet",
|
||||
"mértékegysége"
|
||||
],
|
||||
"desc": "Hőmérséklet mértékegysége <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "RÉSZLI",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Részletes",
|
||||
"készenlét"
|
||||
],
|
||||
"desc": "Részletes információ megjelenítése kisebb betűméretben a készenléti képernyőn."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "KIJTÁJ",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kijelző",
|
||||
"tájolása"
|
||||
],
|
||||
"desc": "Kijelző tájolása <A. automatikus B. balkezes J. jobbkezes>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Boost",
|
||||
"mód"
|
||||
],
|
||||
"desc": "Elülső gombbal boost módba (450C) lép forrasztás közben"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BHŐ",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Boost",
|
||||
"hőfok"
|
||||
],
|
||||
"desc": "Hőmérséklet \"boost\" módban"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Automatikus",
|
||||
"indítás"
|
||||
],
|
||||
"desc": "Bekapcsolás után automatikusan lépjen forrasztás módba. T=forrasztás, S=alvó mód, F=ki"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "HŰLÉSV",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Villogás",
|
||||
"hűléskor"
|
||||
],
|
||||
"desc": "Villogjon a hőmérséklet hűlés közben, amíg a hegy forró."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "HŐM KAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Hőmérséklet",
|
||||
"kalibrálása?"
|
||||
],
|
||||
"desc": "Hegy hőmérséklet-különbségének kalibrálása."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gyári",
|
||||
"beállítások?"
|
||||
],
|
||||
"desc": "Beállítások alaphelyzetbe állítása"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "VIN KAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Bemeneti fesz",
|
||||
"kalibrálása?"
|
||||
],
|
||||
"desc": "Bemeneti feszültség kalibrálása. Röviden megnyomva módosítás, hosszan megnyomva kilépés"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "HALKÉP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Részletes",
|
||||
"forr. kép."
|
||||
],
|
||||
"desc": "Részletes információk megjelenítése forrasztás közben"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "GÖRGS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Görgetés",
|
||||
"sebessége"
|
||||
],
|
||||
"desc": "Szöveggörgetés sebessége"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "HEGYMOD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Forrasztóhegy",
|
||||
"modell"
|
||||
],
|
||||
"desc": "Forrasztóhegy modell kiválasztása"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "EGYSZKAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Egyszerű",
|
||||
"kalibráció"
|
||||
],
|
||||
"desc": "Egyszerű kalibrálás forró víz segítségével"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "HALKAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Haladó",
|
||||
"Kalibráció"
|
||||
],
|
||||
"desc": "Haladó kalibrálás hegyre helyezett hőelem segítségével"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "TELJW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Bemeneti",
|
||||
"teljesítmény"
|
||||
],
|
||||
"desc": "A tápegység által leadott teljesítmény"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "TELJH",
|
||||
"text2": [
|
||||
"Telj H",
|
||||
"Bekapcsolva"
|
||||
],
|
||||
"desc": "Bemeneti teljesitmény korlátozása"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "TELJM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Telj",
|
||||
"maximum"
|
||||
],
|
||||
"desc": "Maximális teljesitmény beállitása <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "HÖVÁLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"GOMB +-",
|
||||
"Felcseréled?"
|
||||
],
|
||||
"desc": "A páka hömérséklet növelés csökkentési gombok felcserélése."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "HÖRÖV",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Hömérséklet",
|
||||
"váltás rövid?"
|
||||
],
|
||||
"desc": "Hömérséklet váltás rövid gombnyomásrs bekapcsolva!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "HÖHOS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Hömérséklet",
|
||||
"váltás hosszú?"
|
||||
],
|
||||
"desc": "Hömérséklet váltás hosszú gombnyomásrs bekapcsolva!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "TELJP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Telj power",
|
||||
"bank üzem W"
|
||||
],
|
||||
"desc": "Powerbank üzemnél nem engedi a powerbankot kikapcsolni idönkénti áram felvételt generál. "
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "D"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -69,224 +68,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sorgente",
|
||||
"alimentaz"
|
||||
],
|
||||
"desc": "Scegli la sorgente di alimentazione; se a batteria, limita lo scaricamento al valore di soglia <DC: 10V; S: 3,3V per cella>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp",
|
||||
"standby"
|
||||
],
|
||||
"desc": "Imposta la temperatura da mantenere in modalità Standby <°C/°F>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Timer",
|
||||
"standby"
|
||||
],
|
||||
"desc": "Imposta il timer per entrare in modalità Standby <minuti/secondi>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Timer",
|
||||
"spegnimento"
|
||||
],
|
||||
"desc": "Imposta il timer per lo spegnimento <minuti>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sensibilità",
|
||||
"al movimento"
|
||||
],
|
||||
"desc": "Imposta la sensibilità al movimento per uscire dalla modalità Standby <0: nessuna; 1: minima; 9: massima>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Unità di",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Scegli l'unità di misura per la temperatura <C: grado Celsius; F: grado Farenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Interfaccia",
|
||||
"testuale"
|
||||
],
|
||||
"desc": "Mostra informazioni dettagliate all'interno della schermata principale"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientamento",
|
||||
"display"
|
||||
],
|
||||
"desc": "Imposta l'orientamento del display <A: automatico; S: mano sinistra; D: mano destra>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Funzione",
|
||||
"«Turbo»"
|
||||
],
|
||||
"desc": "Attiva la funzione «Turbo», durante la modalità Saldatura, tenendo premuto il tasto superiore"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp",
|
||||
"«Turbo»"
|
||||
],
|
||||
"desc": "Imposta la temperatura della funzione «Turbo»"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Avvio",
|
||||
"automatico"
|
||||
],
|
||||
"desc": "Attiva automaticamente il saldatore quando viene alimentato <A: saldatura; S: standby; D: disattiva>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Avviso",
|
||||
"punta calda"
|
||||
],
|
||||
"desc": "Evidenzia il valore di temperatura durante il raffreddamento se la punta è ancora calda"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrazione",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Calibra le rilevazioni di temperatura"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ripristino",
|
||||
"impostazioni"
|
||||
],
|
||||
"desc": "Ripristina tutte le impostazioni"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrazione",
|
||||
"tensione"
|
||||
],
|
||||
"desc": "Calibra la tensione in ingresso; regola con entrambi i tasti, tieni premuto il tasto superiore per uscire"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Dettagli",
|
||||
"saldatura"
|
||||
],
|
||||
"desc": "Mostra informazioni dettagliate durante la modalità Saldatura"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Velocità",
|
||||
"testo"
|
||||
],
|
||||
"desc": "Imposta la velocità di scorrimento del testo <L: lento; V: veloce>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modello",
|
||||
"punta"
|
||||
],
|
||||
"desc": "Seleziona il modello della punta in uso"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrazione",
|
||||
"semplice"
|
||||
],
|
||||
"desc": "Calibra le rilevazioni di temperatura tramite l'utilizzo di acqua calda"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrazione",
|
||||
"avanzata"
|
||||
],
|
||||
"desc": "Calibra le rilevazioni di temperatura attraverso la termocoppia presente nella punta"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Potenza",
|
||||
"alimentaz"
|
||||
],
|
||||
"desc": "Imposta la potenza massima erogabile dall'alimentatore in uso"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Limitatore",
|
||||
"di potenza"
|
||||
],
|
||||
"desc": "Abilita un limitatore per la potenza massima erogabile al saldatore"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Limite",
|
||||
"di potenza"
|
||||
],
|
||||
"desc": "Imposta il valore di potenza massima erogabile al saldatore <watt>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Inversione",
|
||||
"tasti"
|
||||
],
|
||||
"desc": "Inverti i tasti per impostare la temperatura della punta "
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Cambio temp",
|
||||
"pressione breve"
|
||||
],
|
||||
"desc": "Varia la temperatura della punta attraverso una breve pressione dei tasti"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Cambio temp",
|
||||
"pressione lunga"
|
||||
],
|
||||
"desc": "Varia la temperatura della punta attraverso una lunga pressione dei tasti"
|
||||
},
|
||||
"PowerPulsePower": {
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Potenza impulso",
|
||||
"«Keep-Alive»"
|
||||
],
|
||||
"desc": "Regola la potenza d'impulso in ingresso al saldatore per prevenire lo standby eventuale dell'alimentatore <watt>"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Guadagno",
|
||||
"punta"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Maitinimo",
|
||||
"šaltinis"
|
||||
],
|
||||
"desc": "Išjungimo įtampa. <DC 10V arba celių (S) kiekis (3.3V per celę)>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Miego",
|
||||
"temperat."
|
||||
],
|
||||
"desc": "Miego temperatūra <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Miego",
|
||||
"laikas"
|
||||
],
|
||||
"desc": "Miego laikas <minutės/sekundės>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Išjungimo",
|
||||
"laikas"
|
||||
],
|
||||
"desc": "Išjungimo laikas <minutės>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jautrumas",
|
||||
"judesiui"
|
||||
],
|
||||
"desc": "Jautrumas judesiui <0 - išjungta, 1 - mažiausias, 9 - didžiausias>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatūros",
|
||||
"vienetai"
|
||||
],
|
||||
"desc": "Temperatūros vienetai <C - Celsijus, F - Farenheitas>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detalus lauki",
|
||||
"mo ekranas"
|
||||
],
|
||||
"desc": "Ar rodyti papildomą informaciją mažesniu šriftu laukimo ekrane"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ekrano",
|
||||
"orientacija"
|
||||
],
|
||||
"desc": "Ekrano orientacija <A - automatinė, K - kairiarankiams, D - dešiniarankiams>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Turbo režimas",
|
||||
"įjungtas"
|
||||
],
|
||||
"desc": "Ar lituojant viršutinis mygtukas įjungia turbo režimą"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Turbo",
|
||||
"temperat."
|
||||
],
|
||||
"desc": "Temperatūra turbo režimu"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Auto",
|
||||
"paleidimas"
|
||||
],
|
||||
"desc": "Ar pradėti kaitininti iš karto įjungus lituoklį"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Atvėsimo",
|
||||
"mirksėjimas"
|
||||
],
|
||||
"desc": "Ar mirksėti temperatūrą ekrane kol vėstantis antgalis vis dar karštas"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibruoti",
|
||||
"temperatūrą?"
|
||||
],
|
||||
"desc": "Antgalio temperatūros kalibravimas"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Atstatyti",
|
||||
"nustatymus?"
|
||||
],
|
||||
"desc": "Nustatyti nustatymus iš naujo"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibruoti",
|
||||
"įvesties įtampą?"
|
||||
],
|
||||
"desc": "Įvesties įtampos kalibravimas. Trumpai paspauskite, norėdami nustatyti, ilgai paspauskite, kad išeitumėte"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detalus lita-",
|
||||
"vimo ekranas"
|
||||
],
|
||||
"desc": "Ar rodyti išsamią informaciją lituojant"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Greitas apr",
|
||||
"ašym. slink"
|
||||
],
|
||||
"desc": "Greitis, kuriuo šis tekstas slenka"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Antgalio",
|
||||
"modelis"
|
||||
],
|
||||
"desc": "Antgalio modelio pasirinkimas"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Paprasta",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Paprasta kalibracija naudojant karštą vandienį"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Išplėstinė",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Išplėstinė kalibracija naudojant termoelementą"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Galia",
|
||||
"vatais"
|
||||
],
|
||||
"desc": "Maitinimo bloko galia vatais"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Spannings-",
|
||||
"bron"
|
||||
],
|
||||
"desc": "Spanningsbron. Stelt drempelspanning in. <DC 10V> <S 3.3V per cel>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Slaap",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperatuur in slaapstand <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Slaap",
|
||||
"time-out"
|
||||
],
|
||||
"desc": "Slaapstand time-out <Minuten/Seconden>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Uitschakel",
|
||||
"time-out"
|
||||
],
|
||||
"desc": "Automatisch afsluiten time-out <Minuten>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Bewegings-",
|
||||
"gevoeligheid"
|
||||
],
|
||||
"desc": "Bewegingsgevoeligheid <0.uit 1.minst gevoelig 9.meest gevoelig>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatuur",
|
||||
"eenheid"
|
||||
],
|
||||
"desc": "Temperatuureenheid <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gedetailleerd",
|
||||
"slaapscherm"
|
||||
],
|
||||
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het slaapscherm."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Scherm-",
|
||||
"oriëntatie"
|
||||
],
|
||||
"desc": "Schermoriëntatie <A. Automatisch L. Linkshandig R. Rechtshandig>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Boostmodes",
|
||||
"ingeschakeld?"
|
||||
],
|
||||
"desc": "Soldeerbout gaat naar een hogere boost-temperatuur wanneer de voorste knop ingedrukt is."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Boost",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperatuur in boostmodes"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Breng de soldeerbout direct op temperatuur bij het opstarten. T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Afkoel",
|
||||
"flikker"
|
||||
],
|
||||
"desc": "Temperatuur laten flikkeren in het hoofdmenu als de soldeerpunt aan het afkoelen is."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibreer",
|
||||
"temperatuur?"
|
||||
],
|
||||
"desc": "Temperatuursafwijking van de soldeerpunt calibreren."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Instellingen",
|
||||
"resetten?"
|
||||
],
|
||||
"desc": "Alle instellingen terugzetten."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibreer",
|
||||
"input-voltage?"
|
||||
],
|
||||
"desc": "VIN Calibreren. Knoppen lang ingedrukt houden om te bevestigen."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gedetailleerd",
|
||||
"soldeerscherm"
|
||||
],
|
||||
"desc": "Gedetailleerde informatie weergeven in een kleiner lettertype op het soldeerscherm."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Scroll",
|
||||
"snelheid"
|
||||
],
|
||||
"desc": "Snelheid waarmee de tekst scrolt."
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Spannings-",
|
||||
"bron"
|
||||
],
|
||||
"desc": "Spanningsbron. Stelt minimumspanning in. <DC 10V> <S 3.3V per cel>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Slaap",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperatuur in slaapstand <°C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Slaap",
|
||||
"time-out"
|
||||
],
|
||||
"desc": "Slaapstand time-out <Minuten/Seconden>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Uitschakel",
|
||||
"time-out"
|
||||
],
|
||||
"desc": "Automatisch afsluiten time-out <Minuten>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Bewegings-",
|
||||
"gevoeligheid"
|
||||
],
|
||||
"desc": "Bewegingsgevoeligheid <0.uit 1.minst gevoelig 9.meest gevoelig>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatuur",
|
||||
"schaal"
|
||||
],
|
||||
"desc": "Temperatuurschaal <°C=Celsius °F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gedetailleerd",
|
||||
"slaapscherm"
|
||||
],
|
||||
"desc": "Gedetailleerde informatie in een kleiner lettertype in het slaapscherm."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Scherm-",
|
||||
"oriëntatie"
|
||||
],
|
||||
"desc": "Schermoriëntatie <A. Automatisch L. Linkshandig R. Rechtshandig>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Temperatuurverhoging",
|
||||
"ingeschakeld?"
|
||||
],
|
||||
"desc": "Temperatuur verhoogt als voorste knop is ingedrukt"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Verhogings",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Verhogingstemperatuur"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Breng de soldeerbout op temperatuur bij het opstarten. T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Afkoel",
|
||||
"knipper"
|
||||
],
|
||||
"desc": "Temperatuur knippert in hoofdmenu tijdens afkoeling."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibreer",
|
||||
"temperatuur?"
|
||||
],
|
||||
"desc": "Temperatuur van de punt calibreren."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Instellingen",
|
||||
"resetten?"
|
||||
],
|
||||
"desc": "Alle instellingen resetten."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibreer",
|
||||
"voedingsspanning?"
|
||||
],
|
||||
"desc": "VIN Calibreren. Bevestigen door knoppen lang in te drukken."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gedetailleerd",
|
||||
"soldeerscherm"
|
||||
],
|
||||
"desc": "Gedetailleerde informatie in kleiner lettertype in soldeerscherm."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Scrol",
|
||||
"snelheid"
|
||||
],
|
||||
"desc": "Scrolsnelheid van de tekst."
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "PUNTMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Punt",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Gekozen punt"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Eenvoudige",
|
||||
"Calibrering"
|
||||
],
|
||||
"desc": "Calibrering met heet water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gevorderde",
|
||||
"Calibrering"
|
||||
],
|
||||
"desc": "Calibrering met thermokoppel"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vermogen",
|
||||
"Watt"
|
||||
],
|
||||
"desc": "Vermogen van de adapter"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "I"
|
||||
},
|
||||
"menuDouble": false,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "Kilde",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"Kilde",
|
||||
""
|
||||
],
|
||||
"desc": "Strømforsyning. Sett nedre spenning for automatisk nedstenging. <DC 10V <S 3.3V per celle"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "DTmp",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"DTmp",
|
||||
""
|
||||
],
|
||||
"desc": "Dvaletemperatur <C"
|
||||
"desc": "Dvaletemperatur <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "DTid",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"desc": "Tid før dvale <Minutter/Sekunder"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "AvTid",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"AvTid",
|
||||
""
|
||||
],
|
||||
"desc": "Tid før automatisk nedstenging <Minutter"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "BSensr",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"BSensr",
|
||||
""
|
||||
],
|
||||
"desc": "Bevegelsesfølsomhet <0.Inaktiv 1.Minst følsom 9.Mest følsom"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TmpEnh",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TmpEnh",
|
||||
""
|
||||
],
|
||||
"desc": "Temperaturskala <C=Celsius F=Fahrenheit"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "AvDvSk",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"AvDvSk",
|
||||
""
|
||||
],
|
||||
"desc": "Vis detaljert informasjon med liten skrift på dvaleskjermen."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "SkRetn",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"SkRetn",
|
||||
""
|
||||
],
|
||||
"desc": "Skjermretning <A. Automatisk V. Venstrehendt H. Høyrehendt"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "Kraft",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"desc": "Frontknappen aktiverer kraftfunksjonen, 450C ved lodding"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "KTmp",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"KTmp",
|
||||
""
|
||||
],
|
||||
"desc": "Temperatur i \"kraft\"-modus"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "AStart",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"AStart",
|
||||
""
|
||||
],
|
||||
"desc": "Start automatisk med lodding når strøm kobles til. L=Lodding, D=Dvale, I=Inaktiv"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "KjBlnk",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"KjBlnk",
|
||||
""
|
||||
],
|
||||
"desc": "Blink temperaturen på skjermen mens spissen fortsatt er varm."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TempKal?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TempKal?",
|
||||
""
|
||||
],
|
||||
"desc": "Kalibrer spiss-temperatur."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "TilbStl?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TilbStl?",
|
||||
""
|
||||
],
|
||||
"desc": "Tilbakestill alle innstillinger"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "KalSpIn?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"KalSpIn?",
|
||||
""
|
||||
],
|
||||
"desc": "Kalibrer spenning. Knappene justerer. Langt trykk for å gå ut"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "AvLdSk",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"AvLdSk",
|
||||
""
|
||||
],
|
||||
"desc": "Vis detaljert informasjon ved lodding"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "RullHa",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"RullHa",
|
||||
""
|
||||
],
|
||||
"desc": "Hastigheten på rulletekst"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "B"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -70,224 +69,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Źródło",
|
||||
"zasilania"
|
||||
],
|
||||
"desc": "Źródło zasilania. Ustaw napięcie odcięcia. <DC 10V> <S 3.3V dla ogniw Li>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatura",
|
||||
"uśpienia"
|
||||
],
|
||||
"desc": "Temperatura uśpienia <°C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Czas",
|
||||
"uśpienia"
|
||||
],
|
||||
"desc": "Czas uśpienia <minuty/sekundy>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Czas",
|
||||
"wyłączenia"
|
||||
],
|
||||
"desc": "Czas wyłączenia <minuty>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Czułość",
|
||||
"ruchu"
|
||||
],
|
||||
"desc": "Czułość ruchu <0.Wyłączona 1.Minimalna 9.Maksymalna>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jednostka",
|
||||
"temperatury"
|
||||
],
|
||||
"desc": "Jednostka temperatury <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Mniejsza",
|
||||
"czcionka"
|
||||
],
|
||||
"desc": "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynności"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientacja",
|
||||
"wyświetlacza"
|
||||
],
|
||||
"desc": "Orientacja wyświetlacza <A - automatyczna, L - leworęczna, P - praworęczna>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Tryb",
|
||||
"boost"
|
||||
],
|
||||
"desc": "Przytrzymaj przedni przycisk podczas lutowania w celu zwiększenia temperatury"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatura",
|
||||
"w trybie boost"
|
||||
],
|
||||
"desc": "Temperatura w trybie \"boost\" "
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Automatyczne",
|
||||
"uruchamianie"
|
||||
],
|
||||
"desc": "Automatyczne uruchamianie trybu lutowania po włączeniu zasilania.<B - wyłączone, T - lutowanie, Z - uśpienie, O - uśpienie w temp. pokojowej"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Migająca",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Temperatura na ekranie miga, gdy grot jest jeszcze gorący."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibracja",
|
||||
"temp. grota"
|
||||
],
|
||||
"desc": "Kalibracja temperatury grota lutownicy"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ustawienia",
|
||||
"fabryczne"
|
||||
],
|
||||
"desc": "Zresetuje wszystkie ustawienia!"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibracja",
|
||||
"napięcia"
|
||||
],
|
||||
"desc": "Kalibracja napięcia wejściowego. Krótkie naciśnięcie, aby ustawić, długie naciśnięcie, aby wyjść."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Szczegółowe",
|
||||
"informacje"
|
||||
],
|
||||
"desc": "Wyświetl szczegółowe informacje podczas lutowania"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Szybkość",
|
||||
"tekstu"
|
||||
],
|
||||
"desc": "Szybkość przewijania tekstu"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Model",
|
||||
"grota"
|
||||
],
|
||||
"desc": "Wybór grotu"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Prosta",
|
||||
"kalibracja"
|
||||
],
|
||||
"desc": "Prosta kalibracja, używając gorącej wody"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Zaawansowana",
|
||||
"kalibracja"
|
||||
],
|
||||
"desc": "Zaawansowana kalibracja za pomocą termoelementu na grocie"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Moc",
|
||||
"w W"
|
||||
],
|
||||
"desc": "Moc używanego zasilacza w Wattach"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Włącz limit",
|
||||
"mocy"
|
||||
],
|
||||
"desc": "Włącza limit mocy"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Limit",
|
||||
"mocy"
|
||||
],
|
||||
"desc": "Maksymalna moc w W, jakiej może użyć lutownica"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Zamień przyciski",
|
||||
"+ -"
|
||||
],
|
||||
"desc": "Zamienia działanie przycisków zmiany temperatury grotu"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Szybka zmiana",
|
||||
"temperatury"
|
||||
],
|
||||
"desc": "Zmiany temperatury krok po korku, po krótkim naciśnięciu przycisku"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Wolna zmiana",
|
||||
"temperatury"
|
||||
],
|
||||
"desc": "Zmiany temperatury krok po korku, po długim naciśnięciu przycisku"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Moc pulsu",
|
||||
"w W"
|
||||
],
|
||||
"desc": "Utrzymuj intensywność mocy pulsu"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Zmodyfikowany",
|
||||
"zysk grotu"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "FONTE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Fonte",
|
||||
"alimentação"
|
||||
],
|
||||
"desc": "Fonte de alimentação. Define a tensão de corte. <DC=10V> <S=3.3V/célula>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "TMPE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperat.",
|
||||
"repouso"
|
||||
],
|
||||
"desc": "Temperatura de repouso <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "TMPO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tempo",
|
||||
"repouso"
|
||||
],
|
||||
"desc": "Tempo para repouso <Minutos/Segundos>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "DESLI",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tempo",
|
||||
"desligam."
|
||||
],
|
||||
"desc": "Tempo para desligamento <Minutos>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MOVIME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Sensibilidade",
|
||||
"movimento"
|
||||
],
|
||||
"desc": "Sensibilidade ao movimento <0=Desligado 1=Menor 9=Maior>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "UNIDAD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Unidade",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Unidade de temperatura <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "EM ESPERA",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tela repouso",
|
||||
"avançada"
|
||||
],
|
||||
"desc": "Exibe informações avançadas quando em espera"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "ORIENT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientação",
|
||||
"tela"
|
||||
],
|
||||
"desc": "Orientação da tela <A.utomática C.anhoto D.estro>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "TURBO",
|
||||
"text2": [
|
||||
"Modo turbo",
|
||||
"activado"
|
||||
],
|
||||
"desc": "Tecla frontal activa modo \"turbo\""
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "TTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modo turbo",
|
||||
"temperat."
|
||||
],
|
||||
"desc": "Ajuste de temperatura do modo \"turbo\""
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "MODOAT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Partida",
|
||||
"automática"
|
||||
],
|
||||
"desc": "Aquece a ponta automaticamente ao ligar"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "RESFRI",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Piscar ao",
|
||||
"arrefecer"
|
||||
],
|
||||
"desc": "Faz o valor da temperatura piscar durante o arrefecimento"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "CAL.TEMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrar",
|
||||
"temperatura"
|
||||
],
|
||||
"desc": "Calibra a temperatura"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Reset de",
|
||||
"fábrica?"
|
||||
],
|
||||
"desc": "Reverte todos ajustes"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL.VOLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibrar",
|
||||
"tensão"
|
||||
],
|
||||
"desc": "Calibra a tensão de alimentação. Use os botões para ajustar o valor. Mantenha pressionado para sair"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "AVNCAD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tela trabalho",
|
||||
"avançada"
|
||||
],
|
||||
"desc": "Exibe informações avançadas durante o uso"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Velocidade",
|
||||
"texto ajuda"
|
||||
],
|
||||
"desc": "Velocidade a que o texto é exibido"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "MODPNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ponta",
|
||||
"Modelo"
|
||||
],
|
||||
"desc": "Selecção de modelo de ponta"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibração",
|
||||
"Simples"
|
||||
],
|
||||
"desc": "Calibração simples com água quente"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Calibração",
|
||||
"Avançada"
|
||||
],
|
||||
"desc": "Calibração avançada com um termopar na ponta"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Potência",
|
||||
"Fonte"
|
||||
],
|
||||
"desc": "Potência da fonte usada (Watt)"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"SettingStartSleepOffChar": "К",
|
||||
"SettingStartNoneChar": "В"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -69,224 +68,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "ИстчнПит",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Источник",
|
||||
"питания"
|
||||
],
|
||||
"desc": "Источник питания. Устанавливает напряжение отсечки. <DC 10В> <S 3.3В на ячейку, без лимита мощности>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "ТмпОжд",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Темп.",
|
||||
"ожидания"
|
||||
],
|
||||
"desc": "Температура режима ожидания"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "ВрмОжид",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Таймаут",
|
||||
"ожидания"
|
||||
],
|
||||
"desc": "Время до перехода в режим ожидания <Минуты/Секунды>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "ВрмОткл",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Таймаут",
|
||||
"выключения"
|
||||
],
|
||||
"desc": "Время до отключения паяльника <Минуты>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "ЧувсАксл",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Чувствительн.",
|
||||
"акселерометра"
|
||||
],
|
||||
"desc": "Чувствительность акселерометра <0=Выкл., 1=Мин., 9=Макс.>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "ЕдТемп",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Единицы",
|
||||
"температуры"
|
||||
],
|
||||
"desc": "Единицы измерения температуры <C=Цельcия, F=Фаренгейта>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ИнфОжд",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Подробный",
|
||||
"реж. ожидания"
|
||||
],
|
||||
"desc": "Отображать детальную информацию уменьшенным шрифтом на экране ожидания"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "ПовЭкр",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ориентация",
|
||||
"экрана"
|
||||
],
|
||||
"desc": "Ориентация экрана <А=Авто, Л=Левая рука, П=Правая рука>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "Турб",
|
||||
"text2": [
|
||||
"Турбо",
|
||||
"режим"
|
||||
],
|
||||
"desc": "Включить активацию турбо-режима удержанием ближней к жалу кнопки во время пайки"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "ТемпТурб",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"t° турбо",
|
||||
"режима"
|
||||
],
|
||||
"desc": "Температура жала в турбо-режиме"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "АвтоРеж",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Авто",
|
||||
"старт"
|
||||
],
|
||||
"desc": "Режим, в котором запускается паяльник при подаче питания <П=Пайка, О=Ожидание, К=Ожидание при комн. темп., В=Выкл.>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "МигТемп",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Мигание t°",
|
||||
"при остывании"
|
||||
],
|
||||
"desc": "Мигать температурой на экране охлаждения, пока жало еще горячее"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "КалТемп?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калибровка",
|
||||
"температуры"
|
||||
],
|
||||
"desc": "Калибровка термодатчика жала"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "Сброс?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Сброс",
|
||||
"Настроек"
|
||||
],
|
||||
"desc": "Сброс настроек к значеням по умолчанию"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "КалНапр",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калибровка",
|
||||
"напряжения"
|
||||
],
|
||||
"desc": "Калибровка входного напряжения <длинное нажатие для выхода>"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ИнфПайк",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Подробный",
|
||||
"экран пайки"
|
||||
],
|
||||
"desc": "Показывать детальную информацию на экране пайки"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "СкорТекс",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Скорость",
|
||||
"текста"
|
||||
],
|
||||
"desc": "Скорость прокрутки текста <М=медленно, Б=быстро>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "МодЖала",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Модель",
|
||||
"жала"
|
||||
],
|
||||
"desc": "Выбор модели жала"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "УпрКал",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Упрощенная",
|
||||
"калибровка"
|
||||
],
|
||||
"desc": "Упрощенная калибровка с использованием горячей воды"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "УлучшКал",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Улучшенная",
|
||||
"калибровка"
|
||||
],
|
||||
"desc": "Улучшенная калибровка с импользованием термопары жала"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "МощнИст",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Мощность",
|
||||
"питания"
|
||||
],
|
||||
"desc": "Мощность используемого источника питания"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "ВклЛимW",
|
||||
"text2": [
|
||||
"Ограничение",
|
||||
"мощности"
|
||||
],
|
||||
"desc": "Включить лимит потребляемой мощности"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "ЗначЛимW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Максимальная",
|
||||
"мощность"
|
||||
],
|
||||
"desc": "Максимальная мощность, которую может использовать паяльник <Ватт>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "ИнвКноп",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Инвертировать",
|
||||
"кнопки"
|
||||
],
|
||||
"desc": "Инвертировать кнопки изменения температуры"
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "ШагКорт",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Шаг темп.",
|
||||
"кор. наж."
|
||||
],
|
||||
"desc": "Шаг изменения температуры при коротком нажатии кнопок"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "ШагДлин",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Шаг темп.",
|
||||
"длин. наж."
|
||||
],
|
||||
"desc": "Шаг изменения температуры при длинном нажатии кнопок"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": false,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"PWRSC",
|
||||
""
|
||||
],
|
||||
"desc": "Zdroj napatia. Nastavit napatie pre vypnutie (cutoff) <DC=10V, nS=n*3.3V pre LiIon clanky>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"STMP",
|
||||
""
|
||||
],
|
||||
"desc": "Kludova teplota (v nastavenych jednotkach)"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"STME",
|
||||
""
|
||||
],
|
||||
"desc": "Kludovy rezim po <sekundach/minutach>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"SHTME",
|
||||
""
|
||||
],
|
||||
"desc": "Cas na vypnutie <minuty>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"MSENSE",
|
||||
""
|
||||
],
|
||||
"desc": "Citlivost detekcie pohybu <0=Vyp, 1=Min ... 9=Max>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TMPUNT",
|
||||
""
|
||||
],
|
||||
"desc": "Jednotky merania teploty <C=stupne Celzia, F=stupne Fahrenheita>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"ADVIDL",
|
||||
""
|
||||
],
|
||||
"desc": "Zobrazit detailne informacie v kludovom rezime <T=Zap, F=Vyp>"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"DSPROT",
|
||||
""
|
||||
],
|
||||
"desc": "Orientacia displeja <A=Auto, L=Lavak, R=Pravak>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"desc": "Povolit tlacidlo pre prudky nahrev <T=Zap, F=Vyp>"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"BTMP",
|
||||
""
|
||||
],
|
||||
"desc": "Cielova teplota pre prudky nahrev (v nastavenych jednotkach)"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"ASTART",
|
||||
""
|
||||
],
|
||||
"desc": "Pri starte spustit rezim spajkovania <T=Zap, F=Vyp, S=Spanok>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"CLBLNK",
|
||||
""
|
||||
],
|
||||
"desc": "Blikanie ukazovatela teploty pocas chladnutia hrotu <T=Zap, F=Vyp>"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TMP CAL?",
|
||||
""
|
||||
],
|
||||
"desc": "Kalibracia posunu hrotu"
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"RESET?",
|
||||
""
|
||||
],
|
||||
"desc": "Tovarenske nastavenia"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"CAL VIN?",
|
||||
""
|
||||
],
|
||||
"desc": "Kalibracia VIN. Kratke stlacenie meni nastavenie, dlhe stlacenie pre navrat"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"ADVSLD",
|
||||
""
|
||||
],
|
||||
"desc": "Zobrazenie detailov pocas spajkovania <T=Zap, F=Vyp>"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"DESCSP",
|
||||
""
|
||||
],
|
||||
"desc": "Speed this text scrolls past at"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -68,224 +67,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vir",
|
||||
"napajanja"
|
||||
],
|
||||
"desc": "Vir napajanja. Nastavi napetost izklopa. <DC 10V> <S 3.3V na celico>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp. med",
|
||||
"spanjem"
|
||||
],
|
||||
"desc": "Temperatura med spanjem <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Čas do",
|
||||
"spanja"
|
||||
],
|
||||
"desc": "Čas pred spanjem <minute/sekunde>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Čas do",
|
||||
"izklopa"
|
||||
],
|
||||
"desc": "Čas pred izklopom <minute>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Občutljivost",
|
||||
"premikanja"
|
||||
],
|
||||
"desc": "Občutljivost premikanja <0.izklopljeno 1.najmanj 9.najbolj občutljivo>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Enota za",
|
||||
"temperaturo"
|
||||
],
|
||||
"desc": "Enota za temperaturo <C=celzija F=fahrenheita>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Več info na",
|
||||
"zaslonu v mir"
|
||||
],
|
||||
"desc": "Prikaže več informacij z manjšo pisavo na zaslonu med mirovanjem."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orientacija",
|
||||
"zaslona"
|
||||
],
|
||||
"desc": "Orientacija zaslona <S. samodejno L. levo D. desno>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"Omogoči",
|
||||
"boost mode"
|
||||
],
|
||||
"desc": "Omogoči, da tipka za naprej zagreje konico na 450C."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperat.",
|
||||
"v boost"
|
||||
],
|
||||
"desc": "Temperatura v \"boost\" načinu"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Samodejni",
|
||||
"zagon"
|
||||
],
|
||||
"desc": "Samodejno segrej konico ob vklopu. T=segrej, S=spanje, F=izklop"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Utripanje med",
|
||||
"hlajenjem"
|
||||
],
|
||||
"desc": "Utripaj temperaturo med hlajenjem, ko je konica še vroča."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibriram",
|
||||
"temperaturo?"
|
||||
],
|
||||
"desc": "Kalibracija temperature na konici."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tovarniške",
|
||||
"nastavitve?"
|
||||
],
|
||||
"desc": "Ponastavitev vseh nastavitev"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibriram",
|
||||
"vhodno napetost?"
|
||||
],
|
||||
"desc": "Kalibracija VIN. Nastavitve z gumbi, dolgi pritisk za izhod."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Več info na",
|
||||
"zaslonu spaj."
|
||||
],
|
||||
"desc": "Prikaže več informacij z manjšo pisavo na zaslonu med spajkanjem."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Hitrost",
|
||||
"besedila"
|
||||
],
|
||||
"desc": "Hitrost, s katero se prikazuje besedilo"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Model",
|
||||
"konice"
|
||||
],
|
||||
"desc": "Izbira tipa konice"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Preprosta",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Preprosta kalibracija z vročo vodo."
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Napredna",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Napredna kalibracija s termočlenom na konici"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Moč napajalnega",
|
||||
"vira"
|
||||
],
|
||||
"desc": "Moč v W napajalnega vira"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "Нпјње",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Врста",
|
||||
"напајања"
|
||||
],
|
||||
"desc": "Тип напајања; одређује најнижи радни напон. <DC=адаптер (10V), S=батерија (3,3V по ћелији)>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "ТСпв",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Темп.",
|
||||
"спавања"
|
||||
],
|
||||
"desc": "Температура на коју се спушта лемилица након одређеног времена мировања. <C/F>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "ВСпв",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Време до",
|
||||
"спавања"
|
||||
],
|
||||
"desc": "Време мировања након кога лемилица спушта температуру. <M=минути, S=секунде>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "ВГшњ",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Време до",
|
||||
"гашења"
|
||||
],
|
||||
"desc": "Време мировања након кога се лемилица гаси. <M=минути>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "ОстПкр",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Осетљивост",
|
||||
"на покрет"
|
||||
],
|
||||
"desc": "Осетљивост сензора покрета. <0=искључено, 1=најмање осетљиво, 9=најосетљивије>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "ЈедТмп",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Јединица",
|
||||
"температуре"
|
||||
],
|
||||
"desc": "Јединице у којима се приказује температура. <C=целзијус, F=фаренхајт>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ДтљМир",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детаљи током",
|
||||
"мировања"
|
||||
],
|
||||
"desc": "Приказивање детаљних информација на екрану током мировања."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "ОрјЕкр",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Оријентација",
|
||||
"екрана"
|
||||
],
|
||||
"desc": "Како је окренут екран. <А=аутоматски, Л=за леворуке, Д=за десноруке>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "Пјчње",
|
||||
"text2": [
|
||||
"Појачање",
|
||||
"омогућено"
|
||||
],
|
||||
"desc": "Држање предњег тастера током лемљења додатно појачава температуру врха."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "ТПјч",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Темп.",
|
||||
"појачања"
|
||||
],
|
||||
"desc": "Температура врха лемилице у току појачања."
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ВрћСта",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Врући",
|
||||
"старт"
|
||||
],
|
||||
"desc": "Лемилица одмах по покретању прелази у режим лемљења и греје се."
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "УпзХла",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Упозорење",
|
||||
"при хлађењу"
|
||||
],
|
||||
"desc": "Приказ температуре трепће приликом хлађења докле год је врх и даље врућ."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "КалбрТмп",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калибрација",
|
||||
"температуре"
|
||||
],
|
||||
"desc": "Калибрисање одступања температуре врха у односу на дршку."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "ФабрПост",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Фабричке",
|
||||
"поставке"
|
||||
],
|
||||
"desc": "Враћање свих поставки на фабричке вредности."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "КалбрНап",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калибрација",
|
||||
"улазног напона"
|
||||
],
|
||||
"desc": "Калибрисање улазног напона. Подешава се на тастере; дуги притисак за крај."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ДтљЛем",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детаљи током",
|
||||
"лемљења"
|
||||
],
|
||||
"desc": "Приказивање детаљних информација на екрану током лемљења."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "БрзПор",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Брзина",
|
||||
"порука"
|
||||
],
|
||||
"desc": "Брзина кретања описних порука попут ове. <С=споро, Б=брзо>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "МоделВрх",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Модел",
|
||||
"врха"
|
||||
],
|
||||
"desc": "Одабир модела лемног врха."
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "ЈедКалбр",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Једноставна",
|
||||
"калибрација"
|
||||
],
|
||||
"desc": "Једноставна калибрација кипућом водом."
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "НапКалбр",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Напредна",
|
||||
"калибрација"
|
||||
],
|
||||
"desc": "Напредна калибрација помоћу термопара."
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "УлазСнаг",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Улазна",
|
||||
"снага"
|
||||
],
|
||||
"desc": "Снага напајања у ватима."
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "Npjnj",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vrsta",
|
||||
"napajanja"
|
||||
],
|
||||
"desc": "Tip napajanja; određuje najniži radni napon. <DC=adapter (10V), S=baterija (3,3V po ćeliji)>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "TSpv",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp.",
|
||||
"spavanja"
|
||||
],
|
||||
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. <C/F>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "VSpv",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vreme do",
|
||||
"spavanja"
|
||||
],
|
||||
"desc": "Vreme mirovanja nakon koga lemilica spušta temperaturu. <M=minuti, S=sekunde>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "VGšnj",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vreme do",
|
||||
"gašenja"
|
||||
],
|
||||
"desc": "Vreme mirovanja nakon koga se lemilica gasi. <M=minuti>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "OstPkr",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Osetljivost",
|
||||
"na pokret"
|
||||
],
|
||||
"desc": "Osetljivost senzora pokreta. <0=isključeno, 1=najmanje osetljivo, 9=najosetljivije>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "JedTmp",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jedinica",
|
||||
"temperature"
|
||||
],
|
||||
"desc": "Jedinice u kojima se prikazuje temperatura. <C=celzijus, F=farenhajt>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "DtlMir",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detalji tokom",
|
||||
"mirovanja"
|
||||
],
|
||||
"desc": "Prikazivanje detaljnih informacija na ekranu tokom mirovanja."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "OrjEkr",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Orijentacija",
|
||||
"ekrana"
|
||||
],
|
||||
"desc": "Kako je okrenut ekran. <A=automatski, L=za levoruke, D=za desnoruke>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "Pjčnj",
|
||||
"text2": [
|
||||
"Pojačanje",
|
||||
"omogućeno"
|
||||
],
|
||||
"desc": "Držanje prednjeg tastera tokom lemljenja dodatno pojačava temperaturu vrha."
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "TPjč",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp.",
|
||||
"pojačanja"
|
||||
],
|
||||
"desc": "Temperatura vrha lemilice u toku pojačanja."
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "VrćSta",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vrući",
|
||||
"start"
|
||||
],
|
||||
"desc": "Lemilica odmah po pokretanju prelazi u režim lemljenja i greje se."
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "UpzHla",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Upozorenje",
|
||||
"pri hlađenju"
|
||||
],
|
||||
"desc": "Prikaz temperature trepće prilikom hlađenja dokle god je vrh i dalje vruć."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "KalbrTmp",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibracija",
|
||||
"temperature"
|
||||
],
|
||||
"desc": "Kalibrisanje odstupanja temperature vrha u odnosu na dršku."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "FabrPost",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Fabričke",
|
||||
"postavke"
|
||||
],
|
||||
"desc": "Vraćanje svih postavki na fabričke vrednosti."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "KalbrNap",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibracija",
|
||||
"ulaznog napona"
|
||||
],
|
||||
"desc": "Kalibrisanje ulaznog napona. Podešava se na tastere; dugi pritisak za kraj."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "DtlLem",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detalji tokom",
|
||||
"lemljenja"
|
||||
],
|
||||
"desc": "Prikazivanje detaljnih informacija na ekranu tokom lemljenja."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "BrzPor",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Brzina",
|
||||
"poruka"
|
||||
],
|
||||
"desc": "Brzina kretanja opisnih poruka poput ove. <S=sporo, B=brzo>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "ModelVrh",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Model",
|
||||
"vrha"
|
||||
],
|
||||
"desc": "Odabir modela lemnog vrha."
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "JedKalbr",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Jednostavna",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Jednostavna kalibracija kipućom vodom."
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "NapKalbr",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Napredna",
|
||||
"kalibracija"
|
||||
],
|
||||
"desc": "Napredna kalibracija pomoću termopara."
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "UlazSnag",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ulazna",
|
||||
"snaga"
|
||||
],
|
||||
"desc": "Snaga napajanja u vatima."
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Ström-",
|
||||
"källa"
|
||||
],
|
||||
"desc": "Strömkälla. Anger lägsta spänning. <DC 10V> <S 3.3V per cell>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vilo-",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Vilotemperatur <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Vilo-",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Vilo-timeout <Minuter/Seconder>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Avstängn.",
|
||||
"timeout"
|
||||
],
|
||||
"desc": "Avstängnings-timeout <Minuter>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Rörelse-",
|
||||
"känslighet"
|
||||
],
|
||||
"desc": "Rörelsekänslighet <0.Av 1.minst känslig 9.mest känslig>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temperatur-",
|
||||
"enheter"
|
||||
],
|
||||
"desc": "Temperaturenhet <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detaljerad",
|
||||
"vid inaktiv"
|
||||
],
|
||||
"desc": "Visa detaljerad information i mindre typsnitt när inaktiv."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Visnings",
|
||||
"läge"
|
||||
],
|
||||
"desc": "Visningsläge <A. Automatisk V. Vänsterhänt H. Högerhänt>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Turboläge",
|
||||
"aktiverat"
|
||||
],
|
||||
"desc": "Aktivera främre knappen för turboläge (temperaturhöjning) vid lödning"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Turbo-",
|
||||
"temp"
|
||||
],
|
||||
"desc": "Temperatur i \"turbo\"-läge"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Auto",
|
||||
"start"
|
||||
],
|
||||
"desc": "Startar automatiskt lödpennan vid uppstart. T=Lödning, S=Viloläge, F=Av"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Nedkylnings-",
|
||||
"blink"
|
||||
],
|
||||
"desc": "Blinka temperaturen medan spetsen kyls av och fortfarande är varm."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibrera",
|
||||
"temperatur?"
|
||||
],
|
||||
"desc": "Kalibrera spets-kompensation."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Fabriks-",
|
||||
"inställ?"
|
||||
],
|
||||
"desc": "Återställ alla inställningar"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Kalibrera",
|
||||
"inspänning?"
|
||||
],
|
||||
"desc": "Inspänningskalibrering. Knapparna justerar, håll inne för avslut"
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Detaljerad",
|
||||
"lödng.skärm"
|
||||
],
|
||||
"desc": "Visa detaljerad information vid lödning"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Beskrivning",
|
||||
"rullhast."
|
||||
],
|
||||
"desc": "Hastighet som den här texten rullar i"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Tip",
|
||||
"Model"
|
||||
],
|
||||
"desc": "Tip Model selection"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Simple",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Simple Calibration using Hot water"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Advanced",
|
||||
"Calibration"
|
||||
],
|
||||
"desc": "Advanced calibration using thermocouple on the tip"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Wattage"
|
||||
],
|
||||
"desc": "Power Wattage of the power adapter used"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
"SettingStartSleepOffChar": "O",
|
||||
"SettingStartNoneChar": "F"
|
||||
},
|
||||
"menuDouble": false,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -67,224 +66,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "PWRSC",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"PWRSC",
|
||||
""
|
||||
],
|
||||
"desc": "Güç Kaynağı. kesim geriliminı ayarlar. <DC 10V> <S 3.3V hücre başına>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "STMP",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"STMP",
|
||||
""
|
||||
],
|
||||
"desc": "Uyku Sıcaklığı <C>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "STME",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"STME",
|
||||
""
|
||||
],
|
||||
"desc": "Uyku Zaman Aşımı <Dakika/Saniye>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "SHTME",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"SHTME",
|
||||
""
|
||||
],
|
||||
"desc": "Kapatma Zaman Aşımı <Dakika>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "MSENSE",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"MSENSE",
|
||||
""
|
||||
],
|
||||
"desc": "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "TMPUNT",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TMPUNT",
|
||||
""
|
||||
],
|
||||
"desc": "Sıcaklık Ünitesi <C=Celsius F=Fahrenheit>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "ADVIDL",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"ADVIDL",
|
||||
""
|
||||
],
|
||||
"desc": "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster."
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "DSPROT",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"DSPROT",
|
||||
""
|
||||
],
|
||||
"desc": "Görüntü Yönlendirme <A. Otomatik L. Solak R. Sağlak>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "BOOST",
|
||||
"text2": [
|
||||
"",
|
||||
""
|
||||
],
|
||||
"desc": "Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "BTMP",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"BTMP",
|
||||
""
|
||||
],
|
||||
"desc": "\"boost\" Modu Derecesi"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "ASTART",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"ASTART",
|
||||
""
|
||||
],
|
||||
"desc": "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "CLBLNK",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"CLBLNK",
|
||||
""
|
||||
],
|
||||
"desc": "Soğutma ekranında uç hala sıcakken derece yanıp sönsün."
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "TMP CAL?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"TMP CAL?",
|
||||
""
|
||||
],
|
||||
"desc": "Ucu kalibre et."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "RESET?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"RESET?",
|
||||
""
|
||||
],
|
||||
"desc": "Bütün ayarları sıfırla"
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "CAL VIN?",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"CAL VIN?",
|
||||
""
|
||||
],
|
||||
"desc": "VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "ADVSLD",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"ADVSLD",
|
||||
""
|
||||
],
|
||||
"desc": "Lehimleme yaparken detaylı bilgi göster"
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "DESCSP",
|
||||
"text2": [
|
||||
"",
|
||||
"text2": [
|
||||
"DESCSP",
|
||||
""
|
||||
],
|
||||
"desc": "Speed this text scrolls past at"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Uç",
|
||||
"Modeli"
|
||||
],
|
||||
"desc": "Uç Modeli seçimi"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Basit",
|
||||
"Kalibrasyon"
|
||||
],
|
||||
"desc": "Sıcak su kullanarak basit kalibrasyon"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Gelişmiş",
|
||||
"Kalibrasyon"
|
||||
],
|
||||
"desc": "Uçtaki ısı sensörünü kullanarak gelişmiş kalibrasyon"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Güç",
|
||||
"Miktarı(W)"
|
||||
],
|
||||
"desc": "Kullanılan adaptörün güç miktarı"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"P Limit",
|
||||
"Enable"
|
||||
],
|
||||
"desc": "Enable power limit"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Limit"
|
||||
],
|
||||
"desc": "Maximum power the iron can use <Watts>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Key +-",
|
||||
"reverse?"
|
||||
],
|
||||
"desc": "Reverse the tip temperature change buttons plus minus assignment."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"short?"
|
||||
],
|
||||
"desc": "Temperature change steps on short button press!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Temp change",
|
||||
"long?"
|
||||
],
|
||||
"desc": "Temperature change steps on long button press!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Power",
|
||||
"Pulse W"
|
||||
],
|
||||
"desc": "Keep awake pulse power intensity"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
"SettingStartSleepOffChar": "К",
|
||||
"SettingStartNoneChar": "В"
|
||||
},
|
||||
"menuDouble": true,
|
||||
"menuGroups": {
|
||||
"SolderingMenu": {
|
||||
"text2": [
|
||||
@@ -69,224 +68,182 @@
|
||||
},
|
||||
"menuOptions": {
|
||||
"PowerSource": {
|
||||
"text": "ДжЖив",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Джерело",
|
||||
"живлення"
|
||||
],
|
||||
"desc": "Встановлення напруги відключення. <DC - 10V, 3S - 9.9V, 4S - 13.2V, 5S - 16.5V, 6S - 19.8V>"
|
||||
},
|
||||
"SleepTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Темпер.",
|
||||
"сну"
|
||||
],
|
||||
"desc": "Температура режиму очікування <C°/F°>"
|
||||
},
|
||||
"SleepTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Тайм-аут",
|
||||
"сну"
|
||||
],
|
||||
"desc": "Час до переходу в режим очікування <Хвилини/Секунди>"
|
||||
},
|
||||
"ShutdownTimeout": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Часу до",
|
||||
"вимкнення"
|
||||
],
|
||||
"desc": "Час до відключення <Хвилини>"
|
||||
},
|
||||
"MotionSensitivity": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Чутл. сенсо-",
|
||||
"ру руху"
|
||||
],
|
||||
"desc": "Акселерометр <0 - Вимк. 1 - мін. чутливості 9 - макс. чутливості>"
|
||||
},
|
||||
"TemperatureUnit": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Формат темпе-",
|
||||
"ратури(C°/F°)"
|
||||
],
|
||||
"desc": "Одиниця виміру температури <C - Цельсій, F - Фаренгейт>"
|
||||
},
|
||||
"AdvancedIdle": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детальний ре-",
|
||||
"жим очікуван."
|
||||
],
|
||||
"desc": "Показувати детальну інформацію маленьким шрифтом на домашньому екрані"
|
||||
},
|
||||
"DisplayRotation": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Автоповорот",
|
||||
"екрану"
|
||||
],
|
||||
"desc": "Орієнтація дисплея <A - Автоповорот, Л - Лівша, П - Правша>"
|
||||
},
|
||||
"BoostEnabled": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"Режим",
|
||||
"Турбо"
|
||||
],
|
||||
"desc": "Турбо-режим при утриманні кнопки А при пайці"
|
||||
},
|
||||
"BoostTemperature": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Темпер.",
|
||||
"Турбо"
|
||||
],
|
||||
"desc": "Температура в Турбо-режимі"
|
||||
},
|
||||
"AutoStart": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Гарячий",
|
||||
"старт"
|
||||
],
|
||||
"desc": "Режим з яким запускається паяльник при подачі живлення <П=Пайка, О=Очікування, К=Очікування при кімн. темп., В=Вимк.>"
|
||||
},
|
||||
"CooldownBlink": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Показ t° при",
|
||||
"охолодж."
|
||||
],
|
||||
"desc": "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає"
|
||||
},
|
||||
"TemperatureCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калібровка",
|
||||
"температури"
|
||||
],
|
||||
"desc": "Калібрування температурного датчика."
|
||||
},
|
||||
"SettingsReset": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Скинути всі",
|
||||
"налаштування?"
|
||||
],
|
||||
"desc": "Скидання всіх параметрів до стандартних значень."
|
||||
},
|
||||
"VoltageCalibration": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Калібрування",
|
||||
"напруги"
|
||||
],
|
||||
"desc": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити."
|
||||
},
|
||||
"AdvancedSoldering": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детальний ре-",
|
||||
"жим пайки"
|
||||
],
|
||||
"desc": "Показувати детальну інформацію при пайці."
|
||||
},
|
||||
"ScrollingSpeed": {
|
||||
"text": "",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Швидкість",
|
||||
"тексту"
|
||||
],
|
||||
"desc": "Швидкість прокрутки тексту <П=повільно, Ш=швидко>"
|
||||
},
|
||||
"TipModel": {
|
||||
"text": "TIPMO",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Модель",
|
||||
"Жало"
|
||||
],
|
||||
"desc": "Вибір моделі жала"
|
||||
},
|
||||
"SimpleCalibrationMode": {
|
||||
"text": "SMPCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Просте",
|
||||
"Калібрування"
|
||||
],
|
||||
"desc": "Просте калібрування з використанням гарячої води"
|
||||
},
|
||||
"AdvancedCalibrationMode": {
|
||||
"text": "ADVCAL",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Детальне",
|
||||
"Калібрування"
|
||||
],
|
||||
"desc": "Калібрування за допомогою термопари"
|
||||
},
|
||||
"PowerInput": {
|
||||
"text": "PWRW",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Потужність",
|
||||
"дж. живл."
|
||||
],
|
||||
"desc": "Потужність джерела живлення в Ватах"
|
||||
},
|
||||
"PowerLimitEnable": {
|
||||
"text": "PLIMEN",
|
||||
"text2": [
|
||||
"Ліміт",
|
||||
"потужності"
|
||||
],
|
||||
"desc": "Вмикає обмеження потужності споживання"
|
||||
},
|
||||
"PowerLimit": {
|
||||
"text": "PLIM",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Макс.",
|
||||
"потуж."
|
||||
],
|
||||
"desc": "Макс. потужність, яку може використовувати паяльник <Ват>"
|
||||
},
|
||||
"ReverseButtonTempChange": {
|
||||
"text": "RVTCHG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Інвертувати",
|
||||
"кнопки +-?"
|
||||
],
|
||||
"desc": "Інвертувати кнопки зміни температури."
|
||||
},
|
||||
"TempChangeShortStep": {
|
||||
"text": "TCHGST",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Зм. темп.",
|
||||
"коротко?"
|
||||
],
|
||||
"desc": "Змінювати температуру при короткому натисканні!"
|
||||
},
|
||||
"TempChangeLongStep": {
|
||||
"text": "TCHGLT",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Зм. темп.",
|
||||
"довго?"
|
||||
],
|
||||
"desc": "Змінювати температуру при довгому натисканні!"
|
||||
},
|
||||
"PowerPulsePower":{
|
||||
"text": "POWPLS",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Пульс.",
|
||||
"Навантаж."
|
||||
],
|
||||
"desc": "Деякі PowerBank-и з часом вимк. живлення, якщо пристрій споживає дуже мало енергії (це потрібно щоб паяльник не вимкнувся з часом)"
|
||||
},
|
||||
"TipGain": {
|
||||
"text": "TG",
|
||||
"text2": [
|
||||
"text2": [
|
||||
"Modify",
|
||||
"tip gain"
|
||||
],
|
||||
|
||||
@@ -193,11 +193,6 @@ var def =
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "BoostEnabled",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "BoostTemperature",
|
||||
"maxLen": 4,
|
||||
@@ -258,11 +253,6 @@ var def =
|
||||
"maxLen": 8,
|
||||
"maxLen2": 16
|
||||
},
|
||||
{
|
||||
"id": "PowerLimitEnable",
|
||||
"maxLen": 6,
|
||||
"maxLen2": 13
|
||||
},
|
||||
{
|
||||
"id": "PowerLimit",
|
||||
"maxLen": 5,
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
builder:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
cached: true
|
||||
encrypted_env_file: ci/secrets/encrypted/deployment.encrypted
|
||||
volumes:
|
||||
- ./ci:/ci
|
||||
@@ -1,6 +0,0 @@
|
||||
- type: parallel
|
||||
name: Build the firmware
|
||||
steps:
|
||||
- name: build
|
||||
service: builder
|
||||
command: /build/ci/buildAll.sh
|
||||
13
setup.sh
Normal file
13
setup.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
# Setup shell file to setup the environment on an ubuntu machine
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y make bzip2 git python3 wget
|
||||
sudo mkdir /build
|
||||
cd /build
|
||||
|
||||
sudo wget -qO- https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 | sudo tar -xj
|
||||
|
||||
# Add compiler to the path
|
||||
|
||||
sudo ln -s /build/gcc-arm-none-eabi-9-2020-q2-update/bin/* /usr/local/bin
|
||||
@@ -7,8 +7,7 @@
|
||||
#include <I2C_Wrapper.hpp>
|
||||
#include "BSP.h"
|
||||
#include "Setup.h"
|
||||
#define I2CUSESDMA
|
||||
SemaphoreHandle_t FRToSI2C::I2CSemaphore;
|
||||
SemaphoreHandle_t FRToSI2C::I2CSemaphore = nullptr;
|
||||
StaticSemaphore_t FRToSI2C::xSemaphoreBuffer;
|
||||
|
||||
void FRToSI2C::CpltCallback() {
|
||||
@@ -21,45 +20,22 @@ void FRToSI2C::CpltCallback() {
|
||||
bool FRToSI2C::Mem_Read(uint16_t DevAddress, uint16_t MemAddress,
|
||||
uint8_t *pData, uint16_t Size) {
|
||||
|
||||
if (I2CSemaphore == NULL) {
|
||||
// no RToS, run blocking code
|
||||
HAL_I2C_Mem_Read(&hi2c1, DevAddress, MemAddress, I2C_MEMADD_SIZE_8BIT,
|
||||
pData, Size, 5000);
|
||||
return true;
|
||||
} else {
|
||||
// RToS is active, run threading
|
||||
// Get the mutex so we can use the I2C port
|
||||
// Wait up to 1 second for the mutex
|
||||
if (xSemaphoreTake(I2CSemaphore, (TickType_t)500) == pdTRUE) {
|
||||
#ifdef I2CUSESDMA
|
||||
if (HAL_I2C_Mem_Read(&hi2c1, DevAddress, MemAddress,
|
||||
I2C_MEMADD_SIZE_8BIT, pData, Size, 500) != HAL_OK) {
|
||||
if (!lock())
|
||||
return false;
|
||||
if (HAL_I2C_Mem_Read(&hi2c1, DevAddress, MemAddress,
|
||||
I2C_MEMADD_SIZE_8BIT, pData, Size, 500) != HAL_OK) {
|
||||
|
||||
I2C_Unstick();
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
return false;
|
||||
} else {
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
|
||||
if (HAL_I2C_Mem_Read(&hi2c1, DevAddress, MemAddress, I2C_MEMADD_SIZE_8BIT, pData, Size,
|
||||
5000)==HAL_OK){
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
return true;
|
||||
}
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
return false;
|
||||
#endif
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
I2C_Unstick();
|
||||
unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
unlock();
|
||||
return true;
|
||||
|
||||
}
|
||||
void FRToSI2C::I2C_RegisterWrite(uint8_t address, uint8_t reg, uint8_t data) {
|
||||
Mem_Write(address, reg, &data, 1);
|
||||
bool FRToSI2C::I2C_RegisterWrite(uint8_t address, uint8_t reg, uint8_t data) {
|
||||
return Mem_Write(address, reg, &data, 1);
|
||||
}
|
||||
|
||||
uint8_t FRToSI2C::I2C_RegisterRead(uint8_t add, uint8_t reg) {
|
||||
@@ -67,67 +43,55 @@ uint8_t FRToSI2C::I2C_RegisterRead(uint8_t add, uint8_t reg) {
|
||||
Mem_Read(add, reg, tx_data, 1);
|
||||
return tx_data[0];
|
||||
}
|
||||
void FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress,
|
||||
bool FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress,
|
||||
uint8_t *pData, uint16_t Size) {
|
||||
|
||||
if (I2CSemaphore == NULL) {
|
||||
// no RToS, run blocking code
|
||||
HAL_I2C_Mem_Write(&hi2c1, DevAddress, MemAddress, I2C_MEMADD_SIZE_8BIT,
|
||||
pData, Size, 5000);
|
||||
} else {
|
||||
// RToS is active, run threading
|
||||
// Get the mutex so we can use the I2C port
|
||||
// Wait up to 1 second for the mutex
|
||||
if (xSemaphoreTake(I2CSemaphore, (TickType_t)500) == pdTRUE) {
|
||||
if (HAL_I2C_Mem_Write(&hi2c1, DevAddress, MemAddress,
|
||||
I2C_MEMADD_SIZE_8BIT, pData, Size, 500) != HAL_OK) {
|
||||
if (!lock())
|
||||
return false;
|
||||
if (HAL_I2C_Mem_Write(&hi2c1, DevAddress, MemAddress,
|
||||
I2C_MEMADD_SIZE_8BIT, pData, Size, 500) != HAL_OK) {
|
||||
|
||||
I2C_Unstick();
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
}
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
|
||||
}
|
||||
I2C_Unstick();
|
||||
unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
unlock();
|
||||
return true;
|
||||
}
|
||||
|
||||
void FRToSI2C::Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size) {
|
||||
if (I2CSemaphore == NULL) {
|
||||
// no RToS, run blocking code
|
||||
HAL_I2C_Master_Transmit(&hi2c1, DevAddress, pData, Size, 5000);
|
||||
} else {
|
||||
// RToS is active, run threading
|
||||
// Get the mutex so we can use the I2C port
|
||||
// Wait up to 1 second for the mutex
|
||||
if (xSemaphoreTake(I2CSemaphore, (TickType_t)50) == pdTRUE) {
|
||||
#ifdef I2CUSESDMA
|
||||
|
||||
if (HAL_I2C_Master_Transmit_DMA(&hi2c1, DevAddress, pData, Size)
|
||||
!= HAL_OK) {
|
||||
|
||||
I2C_Unstick();
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
|
||||
}
|
||||
#else
|
||||
HAL_I2C_Master_Transmit(&hi2c1, DevAddress, pData, Size, 5000);
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
#endif
|
||||
|
||||
} else {
|
||||
}
|
||||
bool FRToSI2C::Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size) {
|
||||
if (!lock())
|
||||
return false;
|
||||
if (HAL_I2C_Master_Transmit_DMA(&hi2c1, DevAddress, pData, Size)
|
||||
!= HAL_OK) {
|
||||
I2C_Unstick();
|
||||
unlock();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool FRToSI2C::probe(uint16_t DevAddress) {
|
||||
if (!lock())
|
||||
return false;
|
||||
uint8_t buffer[1];
|
||||
return HAL_I2C_Mem_Read(&hi2c1, DevAddress, 0x0F, I2C_MEMADD_SIZE_8BIT,
|
||||
buffer, 1, 1000) == HAL_OK;
|
||||
|
||||
bool worked = HAL_I2C_Mem_Read(&hi2c1, DevAddress, 0x0F,
|
||||
I2C_MEMADD_SIZE_8BIT, buffer, 1, 1000) == HAL_OK;
|
||||
unlock();
|
||||
return worked;
|
||||
}
|
||||
|
||||
void FRToSI2C::I2C_Unstick() {
|
||||
unstick_I2C();
|
||||
}
|
||||
|
||||
void FRToSI2C::unlock() {
|
||||
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
}
|
||||
|
||||
bool FRToSI2C::lock() {
|
||||
|
||||
return xSemaphoreTake(I2CSemaphore, (TickType_t)50) == pdTRUE;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ static void MX_TIM2_Init(void);
|
||||
static void MX_DMA_Init(void);
|
||||
static void MX_GPIO_Init(void);
|
||||
static void MX_ADC2_Init(void);
|
||||
|
||||
#define SWD_ENABLE
|
||||
void Setup_HAL() {
|
||||
SystemClock_Config();
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ uint8_t flash_save_buffer(const uint8_t *buffer, const uint16_t length) {
|
||||
__HAL_FLASH_CLEAR_FLAG(
|
||||
FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR | FLASH_FLAG_BSY);
|
||||
HAL_FLASH_Unlock();
|
||||
HAL_Delay(10);
|
||||
HAL_Delay(1);
|
||||
resetWatchdog();
|
||||
HAL_FLASHEx_Erase(&pEraseInit, &failingAddress);
|
||||
//^ Erase the page of flash (1024 bytes on this stm32)
|
||||
|
||||
@@ -143,23 +143,13 @@ void fusb_send_hardrst() {
|
||||
}
|
||||
|
||||
void fusb_setup() {
|
||||
GPIO_InitTypeDef GPIO_InitStruct;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_9;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
HAL_NVIC_SetPriority(EXTI9_5_IRQn, 12, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||
|
||||
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
|
||||
if (!I2CBB::lock2()) {
|
||||
return;
|
||||
}
|
||||
if (!I2CBB::lock2()) {
|
||||
return;
|
||||
}
|
||||
/* Fully reset the FUSB302B */
|
||||
fusb_write_byte( FUSB_RESET, FUSB_RESET_SW_RES);
|
||||
osDelay(2);
|
||||
// fusb_write_byte( FUSB_RESET, FUSB_RESET_SW_RES);
|
||||
// osDelay(2);
|
||||
if (!fusb_read_id()) {
|
||||
return;
|
||||
}
|
||||
@@ -200,10 +190,16 @@ void fusb_setup() {
|
||||
fusb_write_byte( FUSB_SWITCHES1, 0x26);
|
||||
fusb_write_byte( FUSB_SWITCHES0, 0x0B);
|
||||
}
|
||||
if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED) {
|
||||
I2CBB::unlock2();
|
||||
}
|
||||
I2CBB::unlock2();
|
||||
fusb_reset();
|
||||
GPIO_InitTypeDef GPIO_InitStruct;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_9;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
HAL_NVIC_SetPriority(EXTI9_5_IRQn, 10, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||
}
|
||||
|
||||
void fusb_get_status(union fusb_status *status) {
|
||||
|
||||
@@ -12,11 +12,10 @@
|
||||
|
||||
// Initialisation to be performed with scheduler active
|
||||
void postRToSInit() {
|
||||
|
||||
/* Init the IPC objects */
|
||||
FRToSI2C::FRToSInit();
|
||||
#ifdef POW_PD
|
||||
//Spawn all of the USB-C processors
|
||||
fusb302_start_processing();
|
||||
if (usb_pd_detect() == true) {
|
||||
//Spawn all of the USB-C processors
|
||||
fusb302_start_processing();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -17,13 +17,9 @@ void preRToSInit() {
|
||||
*/
|
||||
HAL_Init();
|
||||
Setup_HAL(); // Setup all the HAL objects
|
||||
FRToSI2C::init();
|
||||
HAL_Delay(50);
|
||||
HAL_GPIO_WritePin(OLED_RESET_GPIO_Port, OLED_RESET_Pin, GPIO_PIN_SET);
|
||||
HAL_Delay(50);
|
||||
#ifdef I2C_SOFT
|
||||
I2CBB::init();
|
||||
|
||||
#endif
|
||||
|
||||
/* Init the IPC objects */
|
||||
FRToSI2C::FRToSInit();
|
||||
}
|
||||
|
||||
@@ -15,24 +15,13 @@
|
||||
#include "protocol_rx.h"
|
||||
#include "protocol_tx.h"
|
||||
#include "int_n.h"
|
||||
#include "hard_reset.h"
|
||||
|
||||
|
||||
|
||||
void fusb302_start_processing() {
|
||||
/* Initialize the FUSB302B */
|
||||
resetWatchdog();
|
||||
fusb_setup();
|
||||
resetWatchdog();
|
||||
/* Create the policy engine thread. */
|
||||
PolicyEngine::init();
|
||||
|
||||
/* Create the protocol layer threads. */
|
||||
ProtocolReceive::init();
|
||||
ProtocolTransmit::init();
|
||||
ResetHandler::init();
|
||||
resetWatchdog();
|
||||
/* Create the INT_N thread. */
|
||||
ProtocolReceive::init();
|
||||
InterruptHandler::init();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,152 +0,0 @@
|
||||
/*
|
||||
* PD Buddy Firmware Library - USB Power Delivery for everyone
|
||||
* Copyright 2017-2018 Clayton G. Hobbs
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "hard_reset.h"
|
||||
#include "fusbpd.h"
|
||||
#include <pd.h>
|
||||
#include "policy_engine.h"
|
||||
#include "protocol_rx.h"
|
||||
#include "protocol_tx.h"
|
||||
#include "fusb302b.h"
|
||||
|
||||
osThreadId ResetHandler::TaskHandle = NULL;
|
||||
uint32_t ResetHandler::TaskBuffer[ResetHandler::TaskStackSize];
|
||||
osStaticThreadDef_t ResetHandler::TaskControlBlock;
|
||||
|
||||
/*
|
||||
* PRL_HR_Reset_Layer state
|
||||
*/
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_reset_layer() {
|
||||
/* First, wait for the signal to run a hard reset. */
|
||||
eventmask_t evt = waitForEvent(
|
||||
PDB_EVT_HARDRST_RESET | PDB_EVT_HARDRST_I_HARDRST);
|
||||
if (evt & (PDB_EVT_HARDRST_RESET | PDB_EVT_HARDRST_I_HARDRST)) {
|
||||
/* Reset the Protocol RX machine */
|
||||
ProtocolReceive::notify( PDB_EVT_PRLRX_RESET);
|
||||
taskYIELD();
|
||||
/* Reset the Protocol TX machine */
|
||||
ProtocolTransmit::notify(
|
||||
ProtocolTransmit::Notifications::PDB_EVT_PRLTX_RESET);
|
||||
taskYIELD();
|
||||
/* Continue the process based on what event started the reset. */
|
||||
if (evt & PDB_EVT_HARDRST_RESET) {
|
||||
/* Policy Engine started the reset. */
|
||||
return PRLHRRequestHardReset;
|
||||
} else {
|
||||
/* PHY started the reset */
|
||||
return PRLHRIndicateHardReset;
|
||||
}
|
||||
} else {
|
||||
return PRLHRResetLayer;
|
||||
}
|
||||
}
|
||||
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_indicate_hard_reset() {
|
||||
/* Tell the PE that we're doing a hard reset */
|
||||
PolicyEngine::notify( PDB_EVT_PE_RESET);
|
||||
|
||||
return PRLHRWaitPE;
|
||||
}
|
||||
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_request_hard_reset() {
|
||||
/* Tell the PHY to send a hard reset */
|
||||
fusb_send_hardrst();
|
||||
|
||||
return PRLHRWaitPHY;
|
||||
}
|
||||
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_wait_phy() {
|
||||
/* Wait for the PHY to tell us that it's done sending the hard reset */
|
||||
waitForEvent(PDB_EVT_HARDRST_I_HARDSENT, PD_T_HARD_RESET_COMPLETE);
|
||||
|
||||
/* Move on no matter what made us stop waiting. */
|
||||
return PRLHRHardResetRequested;
|
||||
}
|
||||
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_hard_reset_requested() {
|
||||
/* Tell the PE that the hard reset was sent */
|
||||
PolicyEngine::notify( PDB_EVT_PE_HARD_SENT);
|
||||
|
||||
return PRLHRWaitPE;
|
||||
}
|
||||
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_wait_pe() {
|
||||
/* Wait for the PE to tell us that it's done */
|
||||
waitForEvent(PDB_EVT_HARDRST_DONE);
|
||||
|
||||
return PRLHRComplete;
|
||||
}
|
||||
|
||||
ResetHandler::hardrst_state ResetHandler::hardrst_complete() {
|
||||
/* I'm not aware of anything we have to tell the FUSB302B, so just finish
|
||||
* the reset routine. */
|
||||
return PRLHRResetLayer;
|
||||
}
|
||||
|
||||
void ResetHandler::init() {
|
||||
osThreadStaticDef(rstHand, Thread, PDB_PRIO_PRL, 0, TaskStackSize,
|
||||
TaskBuffer, &TaskControlBlock);
|
||||
TaskHandle = osThreadCreate(osThread(rstHand), NULL);
|
||||
}
|
||||
|
||||
void ResetHandler::notify(uint32_t notification) {
|
||||
if (TaskHandle != NULL) {
|
||||
xTaskNotify(TaskHandle, notification, eNotifyAction::eSetBits);
|
||||
}
|
||||
}
|
||||
|
||||
void ResetHandler::Thread(const void *arg) {
|
||||
(void) arg;
|
||||
ResetHandler::hardrst_state state = PRLHRResetLayer;
|
||||
|
||||
while (true) {
|
||||
switch (state) {
|
||||
case PRLHRResetLayer:
|
||||
state = hardrst_reset_layer();
|
||||
break;
|
||||
case PRLHRIndicateHardReset:
|
||||
state = hardrst_indicate_hard_reset();
|
||||
break;
|
||||
case PRLHRRequestHardReset:
|
||||
state = hardrst_request_hard_reset();
|
||||
break;
|
||||
case PRLHRWaitPHY:
|
||||
state = hardrst_wait_phy();
|
||||
break;
|
||||
case PRLHRHardResetRequested:
|
||||
state = hardrst_hard_reset_requested();
|
||||
break;
|
||||
case PRLHRWaitPE:
|
||||
state = hardrst_wait_pe();
|
||||
break;
|
||||
case PRLHRComplete:
|
||||
state = hardrst_complete();
|
||||
break;
|
||||
default:
|
||||
/* This is an error. It really shouldn't happen. We might
|
||||
* want to handle it anyway, though. */
|
||||
state = PRLHRResetLayer;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
uint32_t ResetHandler::waitForEvent(uint32_t mask, uint32_t ticksToWait) {
|
||||
uint32_t pulNotificationValue;
|
||||
xTaskNotifyWait(0x00, mask, &pulNotificationValue, ticksToWait);
|
||||
return pulNotificationValue;
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
/*
|
||||
* PD Buddy Firmware Library - USB Power Delivery for everyone
|
||||
* Copyright 2017-2018 Clayton G. Hobbs
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef PDB_HARD_RESET_H
|
||||
#define PDB_HARD_RESET_H
|
||||
|
||||
#include <pd.h>
|
||||
|
||||
/* Events for the Hard Reset thread */
|
||||
#define PDB_EVT_HARDRST_RESET EVENT_MASK(0)
|
||||
#define PDB_EVT_HARDRST_I_HARDRST EVENT_MASK(1)
|
||||
#define PDB_EVT_HARDRST_I_HARDSENT EVENT_MASK(2)
|
||||
#define PDB_EVT_HARDRST_DONE EVENT_MASK(3)
|
||||
|
||||
class ResetHandler {
|
||||
public:
|
||||
static void init();
|
||||
static void notify(uint32_t notification);
|
||||
private:
|
||||
static void Thread(const void *arg);
|
||||
static osThreadId TaskHandle;
|
||||
static const size_t TaskStackSize = 1536 / 2;
|
||||
static uint32_t TaskBuffer[TaskStackSize];
|
||||
static osStaticThreadDef_t TaskControlBlock;
|
||||
static uint32_t waitForEvent(uint32_t mask, uint32_t ticksToWait =
|
||||
portMAX_DELAY);
|
||||
|
||||
/*
|
||||
* Hard Reset machine states
|
||||
*/
|
||||
enum hardrst_state {
|
||||
PRLHRResetLayer,
|
||||
PRLHRIndicateHardReset,
|
||||
PRLHRRequestHardReset,
|
||||
PRLHRWaitPHY,
|
||||
PRLHRHardResetRequested,
|
||||
PRLHRWaitPE,
|
||||
PRLHRComplete
|
||||
};
|
||||
static hardrst_state hardrst_reset_layer();
|
||||
static hardrst_state hardrst_indicate_hard_reset();
|
||||
static hardrst_state hardrst_request_hard_reset();
|
||||
static hardrst_state hardrst_wait_phy();
|
||||
static hardrst_state hardrst_hard_reset_requested();
|
||||
static hardrst_state hardrst_wait_pe();
|
||||
static hardrst_state hardrst_complete();
|
||||
};
|
||||
|
||||
#endif /* PDB_HARD_RESET_H */
|
||||
@@ -21,14 +21,13 @@
|
||||
#include "fusb302b.h"
|
||||
#include "protocol_rx.h"
|
||||
#include "protocol_tx.h"
|
||||
#include "hard_reset.h"
|
||||
#include "policy_engine.h"
|
||||
#include "protocol_rx.h"
|
||||
#include "protocol_tx.h"
|
||||
#include "task.h"
|
||||
#include "BSP.h"
|
||||
|
||||
osThreadId InterruptHandler::TaskHandle=NULL;
|
||||
osThreadId InterruptHandler::TaskHandle = NULL;
|
||||
uint32_t InterruptHandler::TaskBuffer[InterruptHandler::TaskStackSize];
|
||||
osStaticThreadDef_t InterruptHandler::TaskControlBlock;
|
||||
|
||||
@@ -41,8 +40,6 @@ void InterruptHandler::init() {
|
||||
void InterruptHandler::Thread(const void *arg) {
|
||||
(void) arg;
|
||||
union fusb_status status;
|
||||
volatile uint32_t events;
|
||||
bool notifSent = false;
|
||||
while (true) {
|
||||
/* If the INT_N line is low */
|
||||
if (xTaskNotifyWait(0x00, 0x0F, NULL,
|
||||
@@ -50,7 +47,6 @@ void InterruptHandler::Thread(const void *arg) {
|
||||
//delay slightly so we catch the crc with better timing
|
||||
osDelay(1);
|
||||
}
|
||||
notifSent = false;
|
||||
/* Read the FUSB302B status and interrupt registers */
|
||||
fusb_get_status(&status);
|
||||
/* If the I_TXSENT or I_RETRYFAIL flag is set, tell the Protocol TX
|
||||
@@ -58,43 +54,23 @@ void InterruptHandler::Thread(const void *arg) {
|
||||
if (status.interrupta & FUSB_INTERRUPTA_I_TXSENT) {
|
||||
ProtocolTransmit::notify(
|
||||
ProtocolTransmit::Notifications::PDB_EVT_PRLTX_I_TXSENT);
|
||||
notifSent = true;
|
||||
}
|
||||
if (status.interrupta & FUSB_INTERRUPTA_I_RETRYFAIL) {
|
||||
ProtocolTransmit::notify(
|
||||
ProtocolTransmit::Notifications::PDB_EVT_PRLTX_I_RETRYFAIL);
|
||||
notifSent = true;
|
||||
}
|
||||
|
||||
/* If the I_GCRCSENT flag is set, tell the Protocol RX thread */
|
||||
//This means a message was recieved with a good CRC
|
||||
if (status.interruptb & FUSB_INTERRUPTB_I_GCRCSENT) {
|
||||
ProtocolReceive::notify(PDB_EVT_PRLRX_I_GCRCSENT);
|
||||
notifSent = true;
|
||||
}
|
||||
|
||||
/* If the I_HARDRST or I_HARDSENT flag is set, tell the Hard Reset
|
||||
* thread */
|
||||
|
||||
if (notifSent == false) {
|
||||
events = 0;
|
||||
if (status.interrupta & FUSB_INTERRUPTA_I_HARDRST) {
|
||||
events |= PDB_EVT_HARDRST_I_HARDRST;
|
||||
notifSent = true;
|
||||
} else if (status.interrupta & FUSB_INTERRUPTA_I_HARDSENT) {
|
||||
events |= PDB_EVT_HARDRST_I_HARDSENT;
|
||||
notifSent = true;
|
||||
}
|
||||
if (events) {
|
||||
ResetHandler::notify(events);
|
||||
}
|
||||
}
|
||||
/* If the I_OCP_TEMP and OVRTEMP flags are set, tell the Policy
|
||||
* Engine thread */
|
||||
if (status.interrupta & FUSB_INTERRUPTA_I_OCP_TEMP
|
||||
&& status.status1 & FUSB_STATUS1_OVRTEMP) {
|
||||
PolicyEngine::notify(PDB_EVT_PE_I_OVRTEMP);
|
||||
notifSent = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include "int_n.h"
|
||||
#include <pd.h>
|
||||
#include "protocol_tx.h"
|
||||
#include "hard_reset.h"
|
||||
#include "fusb302b.h"
|
||||
bool PolicyEngine::pdNegotiationComplete;
|
||||
int PolicyEngine::current_voltage_mv;
|
||||
@@ -189,15 +188,15 @@ PolicyEngine::policy_engine_state PolicyEngine::pe_sink_wait_cap() {
|
||||
&& PD_NUMOBJ_GET(&tempMessage) > 0) {
|
||||
/* First, determine what PD revision we're using */
|
||||
if ((hdr_template & PD_HDR_SPECREV) == PD_SPECREV_1_0) {
|
||||
// /* If the other end is using at least version 3.0, we'll
|
||||
// * use version 3.0. */
|
||||
// if ((tempMessage.hdr & PD_HDR_SPECREV) >= PD_SPECREV_3_0) {
|
||||
// hdr_template |= PD_SPECREV_3_0;
|
||||
// /* Otherwise, use 2.0. Don't worry about the 1.0 case
|
||||
// * because we don't have hardware for PD 1.0 signaling. */
|
||||
// } else {
|
||||
hdr_template |= PD_SPECREV_2_0;
|
||||
// }
|
||||
/* If the other end is using at least version 3.0, we'll
|
||||
* use version 3.0. */
|
||||
if ((tempMessage.hdr & PD_HDR_SPECREV) >= PD_SPECREV_3_0) {
|
||||
hdr_template |= PD_SPECREV_3_0;
|
||||
/* Otherwise, use 2.0. Don't worry about the 1.0 case
|
||||
* because we don't have hardware for PD 1.0 signaling. */
|
||||
} else {
|
||||
hdr_template |= PD_SPECREV_2_0;
|
||||
}
|
||||
}
|
||||
return PESinkEvalCap;
|
||||
/* If the message was a Soft_Reset, do the soft reset procedure */
|
||||
@@ -516,11 +515,8 @@ PolicyEngine::policy_engine_state PolicyEngine::pe_sink_hard_reset() {
|
||||
if (_hard_reset_counter > PD_N_HARD_RESET_COUNT) {
|
||||
return PESinkSourceUnresponsive;
|
||||
}
|
||||
|
||||
/* Generate a hard reset signal */
|
||||
ResetHandler::notify(PDB_EVT_HARDRST_RESET);
|
||||
waitForEvent(PDB_EVT_PE_HARD_SENT);
|
||||
|
||||
//So, we could send a hardreset here; however that will cause a power cycle on the PSU end.. Which will then reset this MCU
|
||||
//So therefore we went get anywhere :)
|
||||
/* Increment HardResetCounter */
|
||||
_hard_reset_counter++;
|
||||
|
||||
@@ -537,9 +533,6 @@ PolicyEngine::policy_engine_state PolicyEngine::pe_sink_transition_default() {
|
||||
/* Since we never change our data role from UFP, there is no reason to set
|
||||
* it here. */
|
||||
|
||||
/* Tell the protocol layer we're done with the reset */
|
||||
ResetHandler::notify( PDB_EVT_HARDRST_DONE);
|
||||
|
||||
return PESinkStartup;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,28 +17,31 @@ void I2CBB::init() {
|
||||
GPIO_InitTypeDef GPIO_InitStruct;
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
||||
GPIO_InitStruct.Pin = SDA2_Pin ;
|
||||
GPIO_InitStruct.Pin = SDA2_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(SDA2_GPIO_Port, &GPIO_InitStruct);
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
|
||||
GPIO_InitStruct.Pin = SCL2_Pin;
|
||||
GPIO_InitStruct.Pin = SCL2_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
HAL_GPIO_Init(SCL2_GPIO_Port, &GPIO_InitStruct);
|
||||
SOFT_SDA_HIGH();
|
||||
SOFT_SCL_HIGH();
|
||||
I2CSemaphore = xSemaphoreCreateMutexStatic (&xSemaphoreBuffer);
|
||||
I2CSemaphore2 = xSemaphoreCreateMutexStatic (&xSemaphoreBuffer2);
|
||||
I2CSemaphore = xSemaphoreCreateMutexStatic(&xSemaphoreBuffer);
|
||||
I2CSemaphore2 = xSemaphoreCreateMutexStatic(&xSemaphoreBuffer2);
|
||||
unlock();
|
||||
unlock2();
|
||||
|
||||
}
|
||||
|
||||
bool I2CBB::probe(uint8_t address) {
|
||||
if (!lock())
|
||||
return false;
|
||||
start();
|
||||
bool ack = send(address);
|
||||
stop();
|
||||
unlock();
|
||||
return ack;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
class FRToSI2C {
|
||||
public:
|
||||
|
||||
static void init() {
|
||||
I2CSemaphore = nullptr;
|
||||
}
|
||||
|
||||
static void FRToSInit() {
|
||||
I2CSemaphore = xSemaphoreCreateBinaryStatic(&xSemaphoreBuffer);
|
||||
xSemaphoreGive(I2CSemaphore);
|
||||
@@ -34,19 +30,21 @@ public:
|
||||
|
||||
static bool Mem_Read(uint16_t DevAddress, uint16_t MemAddress,
|
||||
uint8_t *pData, uint16_t Size);
|
||||
static void Mem_Write(uint16_t DevAddress, uint16_t MemAddress,
|
||||
static bool Mem_Write(uint16_t DevAddress, uint16_t MemAddress,
|
||||
uint8_t *pData, uint16_t Size);
|
||||
//Returns true if device ACK's being addressed
|
||||
static bool probe(uint16_t DevAddress);
|
||||
|
||||
static void Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
||||
static bool Transmit(uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
||||
static void Receive(uint16_t DevAddress, uint8_t *pData, uint16_t Size);
|
||||
static void TransmitReceive(uint16_t DevAddress, uint8_t *pData_tx,
|
||||
uint16_t Size_tx, uint8_t *pData_rx, uint16_t Size_rx);
|
||||
static void I2C_RegisterWrite(uint8_t address, uint8_t reg, uint8_t data);
|
||||
static bool I2C_RegisterWrite(uint8_t address, uint8_t reg, uint8_t data);
|
||||
static uint8_t I2C_RegisterRead(uint8_t address, uint8_t reg);
|
||||
|
||||
private:
|
||||
static void unlock();
|
||||
static bool lock();
|
||||
static void I2C_Unstick();
|
||||
static SemaphoreHandle_t I2CSemaphore;
|
||||
static StaticSemaphore_t xSemaphoreBuffer;
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <stdint.h>
|
||||
#include "stm32f1xx_hal.h"
|
||||
#include "unit.h"
|
||||
#define SETTINGSVERSION ( 0x20 )
|
||||
#define SETTINGSVERSION ( 0x21 )
|
||||
/*Change this if you change the struct below to prevent people getting \
|
||||
out of sync*/
|
||||
|
||||
@@ -32,8 +32,7 @@ typedef struct {
|
||||
uint8_t autoStartMode :2; // Should the unit automatically jump straight
|
||||
// into soldering mode when power is applied
|
||||
uint8_t ShutdownTime; // Time until unit shuts down if left alone
|
||||
uint8_t boostModeEnabled :1; // Boost mode swaps BUT_A in soldering mode to
|
||||
// temporary soldering temp over-ride
|
||||
|
||||
uint8_t coolingTempBlink :1; // Should the temperature blink on the cool
|
||||
// down screen until its <50C
|
||||
uint8_t detailedIDLE :1; // Detailed idle screen
|
||||
@@ -49,7 +48,6 @@ typedef struct {
|
||||
uint16_t CalibrationOffset; // This stores the temperature offset for this tip
|
||||
// in the iron.
|
||||
|
||||
uint8_t powerLimitEnable; // Allow toggling of power limit without changing value
|
||||
uint8_t powerLimit; // Maximum power iron allowed to output
|
||||
|
||||
uint16_t TipGain; // uV/C * 10, it can be used to convert tip thermocouple voltage to temperateture TipV/TipGain = TipTemp
|
||||
|
||||
@@ -9,16 +9,12 @@
|
||||
#define TRANSLATION_H_
|
||||
#include "unit.h"
|
||||
#include "stdint.h"
|
||||
enum ShortNameType {
|
||||
SHORT_NAME_SINGLE_LINE = 1, SHORT_NAME_DOUBLE_LINE = 2,
|
||||
};
|
||||
extern const uint8_t USER_FONT_12[];
|
||||
extern const uint8_t USER_FONT_6x8[];
|
||||
/*
|
||||
* When SettingsShortNameType is SHORT_NAME_SINGLE_LINE
|
||||
* use SettingsShortNames as SettingsShortNames[16][1].. second column undefined
|
||||
*/
|
||||
extern const enum ShortNameType SettingsShortNameType;
|
||||
extern const char *SettingsShortNames[28][2];
|
||||
extern const char *SettingsDescriptions[28];
|
||||
extern const char *SettingsMenuEntries[4];
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "Settings.h"
|
||||
#include "BSP.h"
|
||||
|
||||
#define PRESS_ACCEL_STEP 3
|
||||
#define PRESS_ACCEL_STEP 30
|
||||
#define PRESS_ACCEL_INTERVAL_MIN 100
|
||||
#define PRESS_ACCEL_INTERVAL_MAX 300
|
||||
|
||||
@@ -19,16 +19,12 @@
|
||||
|
||||
//Declarations for all the methods for the settings menu (at end of this file)
|
||||
|
||||
//Wrapper for holding a function pointer
|
||||
typedef struct state_func_t {
|
||||
void (*func)(void);
|
||||
} state_func;
|
||||
|
||||
//Struct for holding the function pointers and descriptions
|
||||
typedef struct {
|
||||
const char *description;
|
||||
const state_func incrementHandler;
|
||||
const state_func draw;
|
||||
// return true if increment reached the maximum value
|
||||
bool (* const incrementHandler)(void);
|
||||
void (* const draw)(void);
|
||||
} menuitem;
|
||||
|
||||
void enterSettingsMenu();
|
||||
|
||||
@@ -63,7 +63,6 @@ void resetSettings() {
|
||||
systemSettings.sensitivity = SENSITIVITY; // Default high sensitivity
|
||||
systemSettings.voltageDiv = VOLTAGE_DIV; // Default divider from schematic
|
||||
systemSettings.ShutdownTime = SHUTDOWN_TIME; // How many minutes until the unit turns itself off
|
||||
systemSettings.boostModeEnabled = BOOST_MODE_ENABLED; // Default to having boost mode on as most people prefer it
|
||||
systemSettings.BoostTemp = BOOST_TEMP; // default to 400C
|
||||
systemSettings.autoStartMode = AUTO_START_MODE; // Auto start off for safety
|
||||
systemSettings.coolingTempBlink = COOLING_TEMP_BLINK; // Blink the temperature on the cooling screen when its > 50C
|
||||
@@ -71,7 +70,6 @@ void resetSettings() {
|
||||
systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0
|
||||
#endif
|
||||
systemSettings.descriptionScrollSpeed = DESCRIPTION_SCROLL_SPEED; // default to slow
|
||||
systemSettings.powerLimitEnable = POWER_LIMIT_ENABLE; // Default to no power limit
|
||||
systemSettings.CalibrationOffset = CALIBRATION_OFFSET; // the adc offset in uV
|
||||
systemSettings.powerLimit = POWER_LIMIT; // 30 watts default limit
|
||||
systemSettings.ReverseButtonTempChangeEnabled = REVERSE_BUTTON_TEMP_CHANGE; //
|
||||
|
||||
@@ -18,70 +18,66 @@
|
||||
void gui_Menu(const menuitem *menu);
|
||||
|
||||
#ifdef MODEL_TS100
|
||||
static void settings_setInputVRange(void);
|
||||
static bool settings_setInputVRange(void);
|
||||
static void settings_displayInputVRange(void);
|
||||
#else
|
||||
static void settings_setInputPRange(void);
|
||||
static bool settings_setInputPRange(void);
|
||||
static void settings_displayInputPRange(void);
|
||||
#endif
|
||||
static void settings_setSleepTemp(void);
|
||||
static bool settings_setSleepTemp(void);
|
||||
static void settings_displaySleepTemp(void);
|
||||
static void settings_setSleepTime(void);
|
||||
static bool settings_setSleepTime(void);
|
||||
static void settings_displaySleepTime(void);
|
||||
static void settings_setShutdownTime(void);
|
||||
static bool settings_setShutdownTime(void);
|
||||
static void settings_displayShutdownTime(void);
|
||||
static void settings_setSensitivity(void);
|
||||
static bool settings_setSensitivity(void);
|
||||
static void settings_displaySensitivity(void);
|
||||
#ifdef ENABLED_FAHRENHEIT_SUPPORT
|
||||
static void settings_setTempF(void);
|
||||
static bool settings_setTempF(void);
|
||||
static void settings_displayTempF(void);
|
||||
#endif
|
||||
static void settings_setAdvancedSolderingScreens(void);
|
||||
static bool settings_setAdvancedSolderingScreens(void);
|
||||
static void settings_displayAdvancedSolderingScreens(void);
|
||||
static void settings_setAdvancedIDLEScreens(void);
|
||||
static bool settings_setAdvancedIDLEScreens(void);
|
||||
static void settings_displayAdvancedIDLEScreens(void);
|
||||
static void settings_setScrollSpeed(void);
|
||||
static bool settings_setScrollSpeed(void);
|
||||
static void settings_displayScrollSpeed(void);
|
||||
static void settings_setPowerLimitEnable(void);
|
||||
static void settings_displayPowerLimitEnable(void);
|
||||
static void settings_setPowerLimit(void);
|
||||
static bool settings_setPowerLimit(void);
|
||||
static void settings_displayPowerLimit(void);
|
||||
static void settings_setDisplayRotation(void);
|
||||
static bool settings_setDisplayRotation(void);
|
||||
static void settings_displayDisplayRotation(void);
|
||||
static void settings_setBoostModeEnabled(void);
|
||||
static void settings_displayBoostModeEnabled(void);
|
||||
static void settings_setBoostTemp(void);
|
||||
static bool settings_setBoostTemp(void);
|
||||
static void settings_displayBoostTemp(void);
|
||||
static void settings_setAutomaticStartMode(void);
|
||||
static bool settings_setAutomaticStartMode(void);
|
||||
static void settings_displayAutomaticStartMode(void);
|
||||
static void settings_setCoolingBlinkEnabled(void);
|
||||
static bool settings_setCoolingBlinkEnabled(void);
|
||||
static void settings_displayCoolingBlinkEnabled(void);
|
||||
static void settings_setResetSettings(void);
|
||||
static bool settings_setResetSettings(void);
|
||||
static void settings_displayResetSettings(void);
|
||||
static void settings_setCalibrate(void);
|
||||
static bool settings_setCalibrate(void);
|
||||
static void settings_displayCalibrate(void);
|
||||
static void settings_setTipGain(void);
|
||||
static bool settings_setTipGain(void);
|
||||
static void settings_displayTipGain(void);
|
||||
static void settings_setCalibrateVIN(void);
|
||||
static bool settings_setCalibrateVIN(void);
|
||||
static void settings_displayCalibrateVIN(void);
|
||||
static void settings_displayReverseButtonTempChangeEnabled(void);
|
||||
static void settings_setReverseButtonTempChangeEnabled(void);
|
||||
static bool settings_setReverseButtonTempChangeEnabled(void);
|
||||
static void settings_displayTempChangeShortStep(void);
|
||||
static void settings_setTempChangeShortStep(void);
|
||||
static bool settings_setTempChangeShortStep(void);
|
||||
static void settings_displayTempChangeLongStep(void);
|
||||
static void settings_setTempChangeLongStep(void);
|
||||
static bool settings_setTempChangeLongStep(void);
|
||||
static void settings_displayPowerPulse(void);
|
||||
static void settings_setPowerPulse(void);
|
||||
static bool settings_setPowerPulse(void);
|
||||
|
||||
// Menu functions
|
||||
static void settings_displaySolderingMenu(void);
|
||||
static void settings_enterSolderingMenu(void);
|
||||
static bool settings_enterSolderingMenu(void);
|
||||
static void settings_displayPowerMenu(void);
|
||||
static void settings_enterPowerMenu(void);
|
||||
static bool settings_enterPowerMenu(void);
|
||||
static void settings_displayUIMenu(void);
|
||||
static void settings_enterUIMenu(void);
|
||||
static bool settings_enterUIMenu(void);
|
||||
static void settings_displayAdvancedMenu(void);
|
||||
static void settings_enterAdvancedMenu(void);
|
||||
static bool settings_enterAdvancedMenu(void);
|
||||
/*
|
||||
* Root Settings Menu
|
||||
*
|
||||
@@ -129,21 +125,19 @@ const menuitem rootSettingsMenu[] {
|
||||
* Exit
|
||||
*/
|
||||
#ifdef MODEL_TS100
|
||||
{ (const char*) SettingsDescriptions[0], { settings_setInputVRange }, {
|
||||
settings_displayInputVRange } }, /*Voltage input*/
|
||||
{ (const char*) SettingsDescriptions[0], settings_setInputVRange,
|
||||
settings_displayInputVRange }, /*Voltage input*/
|
||||
#else
|
||||
{ (const char*) SettingsDescriptions[20], { settings_setInputPRange }, {
|
||||
settings_displayInputPRange } }, /*Voltage input*/
|
||||
{ (const char*) SettingsDescriptions[19], settings_setInputPRange,
|
||||
settings_displayInputPRange }, /*Voltage input*/
|
||||
#endif
|
||||
{ (const char*) NULL, { settings_enterSolderingMenu }, {
|
||||
settings_displaySolderingMenu } }, /*Soldering*/
|
||||
{ (const char*) NULL, { settings_enterPowerMenu }, {
|
||||
settings_displayPowerMenu } }, /*Sleep Options Menu*/
|
||||
{ (const char*) NULL, { settings_enterUIMenu },
|
||||
{ settings_displayUIMenu } }, /*UI Menu*/
|
||||
{ (const char*) NULL, { settings_enterAdvancedMenu }, {
|
||||
settings_displayAdvancedMenu } }, /*Advanced Menu*/
|
||||
{ NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
|
||||
{ (const char*) NULL, settings_enterSolderingMenu,
|
||||
settings_displaySolderingMenu }, /*Soldering*/
|
||||
{ (const char*) NULL, settings_enterPowerMenu, settings_displayPowerMenu }, /*Sleep Options Menu*/
|
||||
{ (const char*) NULL, settings_enterUIMenu, settings_displayUIMenu }, /*UI Menu*/
|
||||
{ (const char*) NULL, settings_enterAdvancedMenu,
|
||||
settings_displayAdvancedMenu }, /*Advanced Menu*/
|
||||
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
const menuitem solderingMenu[] = {
|
||||
@@ -154,17 +148,15 @@ const menuitem solderingMenu[] = {
|
||||
* Temp change short step
|
||||
* Temp change long step
|
||||
*/
|
||||
{ (const char*) SettingsDescriptions[8], { settings_setBoostModeEnabled }, {
|
||||
settings_displayBoostModeEnabled } }, /*Enable Boost*/
|
||||
{ (const char*) SettingsDescriptions[9], { settings_setBoostTemp }, {
|
||||
settings_displayBoostTemp } }, /*Boost Temp*/
|
||||
{ (const char*) SettingsDescriptions[10], { settings_setAutomaticStartMode }, {
|
||||
settings_displayAutomaticStartMode } }, /*Auto start*/
|
||||
{ (const char*) SettingsDescriptions[24], { settings_setTempChangeShortStep }, {
|
||||
settings_displayTempChangeShortStep } }, /*Temp change short step*/
|
||||
{ (const char*) SettingsDescriptions[25], { settings_setTempChangeLongStep }, {
|
||||
settings_displayTempChangeLongStep } }, /*Temp change long step*/
|
||||
{ NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
|
||||
{ (const char*) SettingsDescriptions[8], settings_setBoostTemp,
|
||||
settings_displayBoostTemp }, /*Boost Temp*/
|
||||
{ (const char*) SettingsDescriptions[9], settings_setAutomaticStartMode,
|
||||
settings_displayAutomaticStartMode }, /*Auto start*/
|
||||
{ (const char*) SettingsDescriptions[22], settings_setTempChangeShortStep,
|
||||
settings_displayTempChangeShortStep }, /*Temp change short step*/
|
||||
{ (const char*) SettingsDescriptions[23], settings_setTempChangeLongStep,
|
||||
settings_displayTempChangeLongStep }, /*Temp change long step*/
|
||||
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem UIMenu[] = {
|
||||
/*
|
||||
@@ -176,21 +168,20 @@ const menuitem UIMenu[] = {
|
||||
* Reverse Temp change buttons + -
|
||||
*/
|
||||
#ifdef ENABLED_FAHRENHEIT_SUPPORT
|
||||
{ (const char*) SettingsDescriptions[5], { settings_setTempF }, {
|
||||
settings_displayTempF } }, /* Temperature units*/
|
||||
{ (const char*) SettingsDescriptions[5], settings_setTempF,
|
||||
settings_displayTempF }, /* Temperature units*/
|
||||
#endif
|
||||
{ (const char*) SettingsDescriptions[7],
|
||||
{ settings_setDisplayRotation }, {
|
||||
settings_displayDisplayRotation } }, /*Display Rotation*/
|
||||
{ (const char*) SettingsDescriptions[11], {
|
||||
settings_setCoolingBlinkEnabled }, {
|
||||
settings_displayCoolingBlinkEnabled } }, /*Cooling blink warning*/
|
||||
{ (const char*) SettingsDescriptions[16], { settings_setScrollSpeed }, {
|
||||
settings_displayScrollSpeed } }, /*Scroll Speed for descriptions*/
|
||||
{ (const char*) SettingsDescriptions[23], {
|
||||
settings_setReverseButtonTempChangeEnabled }, {
|
||||
settings_displayReverseButtonTempChangeEnabled } }, /* Reverse Temp change buttons + - */
|
||||
{ NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
|
||||
{ (const char*) SettingsDescriptions[7], settings_setDisplayRotation,
|
||||
settings_displayDisplayRotation }, /*Display Rotation*/
|
||||
{ (const char*) SettingsDescriptions[10],
|
||||
settings_setCoolingBlinkEnabled,
|
||||
settings_displayCoolingBlinkEnabled }, /*Cooling blink warning*/
|
||||
{ (const char*) SettingsDescriptions[15], settings_setScrollSpeed,
|
||||
settings_displayScrollSpeed }, /*Scroll Speed for descriptions*/
|
||||
{ (const char*) SettingsDescriptions[21],
|
||||
settings_setReverseButtonTempChangeEnabled,
|
||||
settings_displayReverseButtonTempChangeEnabled }, /* Reverse Temp change buttons + - */
|
||||
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem PowerMenu[] = {
|
||||
/*
|
||||
@@ -199,20 +190,19 @@ const menuitem PowerMenu[] = {
|
||||
* Shutdown Time
|
||||
* Motion Sensitivity
|
||||
*/
|
||||
{ (const char*) SettingsDescriptions[1], { settings_setSleepTemp }, {
|
||||
settings_displaySleepTemp } }, /*Sleep Temp*/
|
||||
{ (const char*) SettingsDescriptions[2], { settings_setSleepTime }, {
|
||||
settings_displaySleepTime } }, /*Sleep Time*/
|
||||
{ (const char*) SettingsDescriptions[3], { settings_setShutdownTime }, {
|
||||
settings_displayShutdownTime } }, /*Shutdown Time*/
|
||||
{ (const char*) SettingsDescriptions[4], { settings_setSensitivity }, {
|
||||
settings_displaySensitivity } }, /* Motion Sensitivity*/
|
||||
{ NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
|
||||
{ (const char*) SettingsDescriptions[1], settings_setSleepTemp,
|
||||
settings_displaySleepTemp }, /*Sleep Temp*/
|
||||
{ (const char*) SettingsDescriptions[2], settings_setSleepTime,
|
||||
settings_displaySleepTime }, /*Sleep Time*/
|
||||
{ (const char*) SettingsDescriptions[3], settings_setShutdownTime,
|
||||
settings_displayShutdownTime }, /*Shutdown Time*/
|
||||
{ (const char*) SettingsDescriptions[4], settings_setSensitivity,
|
||||
settings_displaySensitivity }, /* Motion Sensitivity*/
|
||||
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
const menuitem advancedMenu[] = {
|
||||
|
||||
/*
|
||||
* Power limit enable
|
||||
* Power limit
|
||||
* Detailed IDLE
|
||||
* Detailed Soldering
|
||||
@@ -221,34 +211,25 @@ const menuitem advancedMenu[] = {
|
||||
* Reset Settings
|
||||
* Power Pulse
|
||||
*/
|
||||
{ (const char*) SettingsDescriptions[21], { settings_setPowerLimitEnable }, {
|
||||
settings_displayPowerLimitEnable } }, /*Power limit enable*/
|
||||
{ (const char*) SettingsDescriptions[22], { settings_setPowerLimit }, {
|
||||
settings_displayPowerLimit } }, /*Power limit*/
|
||||
{ (const char*) SettingsDescriptions[6], { settings_setAdvancedIDLEScreens }, {
|
||||
settings_displayAdvancedIDLEScreens } }, /* Advanced idle screen*/
|
||||
{ (const char*) SettingsDescriptions[15],
|
||||
{ settings_setAdvancedSolderingScreens }, {
|
||||
settings_displayAdvancedSolderingScreens } }, /* Advanced soldering screen*/
|
||||
{ (const char*) SettingsDescriptions[13], { settings_setResetSettings }, {
|
||||
settings_displayResetSettings } }, /*Resets settings*/
|
||||
{ (const char*) SettingsDescriptions[12], { settings_setCalibrate }, {
|
||||
settings_displayCalibrate } }, /*Calibrate tip*/
|
||||
{ (const char*) SettingsDescriptions[14], { settings_setCalibrateVIN }, {
|
||||
settings_displayCalibrateVIN } }, /*Voltage input cal*/
|
||||
{ (const char*) SettingsDescriptions[26], { settings_setPowerPulse }, {
|
||||
settings_displayPowerPulse } }, /*Power Pulse adjustment */
|
||||
{ (const char*) SettingsDescriptions[27], { settings_setTipGain }, {
|
||||
settings_displayTipGain } }, /*TipGain*/
|
||||
{ NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
|
||||
{ (const char*) SettingsDescriptions[20], settings_setPowerLimit,
|
||||
settings_displayPowerLimit }, /*Power limit*/
|
||||
{ (const char*) SettingsDescriptions[6], settings_setAdvancedIDLEScreens,
|
||||
settings_displayAdvancedIDLEScreens }, /* Advanced idle screen*/
|
||||
{ (const char*) SettingsDescriptions[14], settings_setAdvancedSolderingScreens,
|
||||
settings_displayAdvancedSolderingScreens }, /* Advanced soldering screen*/
|
||||
{ (const char*) SettingsDescriptions[12], settings_setResetSettings,
|
||||
settings_displayResetSettings }, /*Resets settings*/
|
||||
{ (const char*) SettingsDescriptions[11], settings_setCalibrate,
|
||||
settings_displayCalibrate }, /*Calibrate tip*/
|
||||
{ (const char*) SettingsDescriptions[13], settings_setCalibrateVIN,
|
||||
settings_displayCalibrateVIN }, /*Voltage input cal*/
|
||||
{ (const char*) SettingsDescriptions[24], settings_setPowerPulse,
|
||||
settings_displayPowerPulse }, /*Power Pulse adjustment */
|
||||
{ (const char*) SettingsDescriptions[25], settings_setTipGain,
|
||||
settings_displayTipGain }, /*TipGain*/
|
||||
{ NULL, NULL, NULL } // end of menu marker. DO NOT REMOVE
|
||||
};
|
||||
|
||||
static void printShortDescriptionSingleLine(uint32_t shortDescIndex) {
|
||||
OLED::setFont(0);
|
||||
OLED::setCharCursor(0, 0);
|
||||
OLED::print(SettingsShortNames[shortDescIndex][0]);
|
||||
}
|
||||
|
||||
static void printShortDescriptionDoubleLine(uint32_t shortDescIndex) {
|
||||
OLED::setFont(1);
|
||||
OLED::setCharCursor(0, 0);
|
||||
@@ -267,11 +248,7 @@ static void printShortDescriptionDoubleLine(uint32_t shortDescIndex) {
|
||||
static void printShortDescription(uint32_t shortDescIndex,
|
||||
uint16_t cursorCharPosition) {
|
||||
// print short description (default single line, explicit double line)
|
||||
if (SettingsShortNameType == SHORT_NAME_DOUBLE_LINE) {
|
||||
printShortDescriptionDoubleLine(shortDescIndex);
|
||||
} else {
|
||||
printShortDescriptionSingleLine(shortDescIndex);
|
||||
}
|
||||
printShortDescriptionDoubleLine(shortDescIndex);
|
||||
|
||||
// prepare cursor for value
|
||||
OLED::setFont(0);
|
||||
@@ -329,10 +306,11 @@ static int userConfirmation(const char *message) {
|
||||
return 0;
|
||||
}
|
||||
#ifdef MODEL_TS100
|
||||
static void settings_setInputVRange(void) {
|
||||
static bool settings_setInputVRange(void) {
|
||||
systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 5;
|
||||
if (systemSettings.cutoutSetting)
|
||||
systemSettings.powerLimitEnable = 0; // disable power limit if switching to a lipo power source
|
||||
systemSettings.powerLimit = 0; // disable power limit if switching to a lipo power source
|
||||
return systemSettings.cutoutSetting == 4;
|
||||
}
|
||||
|
||||
static void settings_displayInputVRange(void) {
|
||||
@@ -346,14 +324,15 @@ static void settings_displayInputVRange(void) {
|
||||
}
|
||||
}
|
||||
#else
|
||||
static void settings_setInputPRange(void) {
|
||||
static bool settings_setInputPRange(void) {
|
||||
systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 2;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayInputPRange(void) {
|
||||
printShortDescription(0, 5);
|
||||
//0 = 9V, 1=12V (Fixed Voltages, these imply 1.5A limits)
|
||||
/// TODO TS80P
|
||||
// These are only used in QC3.0 modes
|
||||
switch (systemSettings.cutoutSetting) {
|
||||
case 0:
|
||||
OLED::printNumber(9, 2);
|
||||
@@ -370,19 +349,21 @@ static void settings_displayInputPRange(void) {
|
||||
}
|
||||
|
||||
#endif
|
||||
static void settings_setSleepTemp(void) {
|
||||
static bool settings_setSleepTemp(void) {
|
||||
// If in C, 10 deg, if in F 20 deg
|
||||
#ifdef ENABLED_FAHRENHEIT_SUPPORT
|
||||
if (systemSettings.temperatureInF) {
|
||||
systemSettings.SleepTemp += 20;
|
||||
if (systemSettings.SleepTemp > 580)
|
||||
systemSettings.SleepTemp = 60;
|
||||
return systemSettings.SleepTemp == 580;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
systemSettings.SleepTemp += 10;
|
||||
if (systemSettings.SleepTemp > 300)
|
||||
systemSettings.SleepTemp = 10;
|
||||
return systemSettings.SleepTemp == 300;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -391,7 +372,7 @@ static void settings_displaySleepTemp(void) {
|
||||
OLED::printNumber(systemSettings.SleepTemp, 3);
|
||||
}
|
||||
|
||||
static void settings_setSleepTime(void) {
|
||||
static bool settings_setSleepTime(void) {
|
||||
systemSettings.SleepTime++; // Go up 1 minute at a time
|
||||
if (systemSettings.SleepTime >= 16) {
|
||||
systemSettings.SleepTime = 0; // can't set time over 10 mins
|
||||
@@ -399,6 +380,7 @@ static void settings_setSleepTime(void) {
|
||||
// Remember that ^ is the time of no movement
|
||||
if (PCBVersion == 3)
|
||||
systemSettings.SleepTime = 0; // Disable sleep on no accel
|
||||
return systemSettings.SleepTime == 15;
|
||||
}
|
||||
|
||||
static void settings_displaySleepTime(void) {
|
||||
@@ -414,13 +396,14 @@ static void settings_displaySleepTime(void) {
|
||||
}
|
||||
}
|
||||
|
||||
static void settings_setShutdownTime(void) {
|
||||
static bool settings_setShutdownTime(void) {
|
||||
systemSettings.ShutdownTime++;
|
||||
if (systemSettings.ShutdownTime > 60) {
|
||||
systemSettings.ShutdownTime = 0; // wrap to off
|
||||
}
|
||||
if (PCBVersion == 3)
|
||||
systemSettings.ShutdownTime = 0; // Disable shutdown on no accel
|
||||
return systemSettings.ShutdownTime == 60;
|
||||
}
|
||||
|
||||
static void settings_displayShutdownTime(void) {
|
||||
@@ -433,7 +416,7 @@ static void settings_displayShutdownTime(void) {
|
||||
}
|
||||
}
|
||||
#ifdef ENABLED_FAHRENHEIT_SUPPORT
|
||||
static void settings_setTempF(void) {
|
||||
static bool settings_setTempF(void) {
|
||||
systemSettings.temperatureInF = !systemSettings.temperatureInF;
|
||||
if (systemSettings.temperatureInF) {
|
||||
// Change sleep, boost and soldering temps to the F equiv
|
||||
@@ -457,6 +440,7 @@ static void settings_setTempF(void) {
|
||||
systemSettings.SolderingTemp *= 10;
|
||||
systemSettings.SleepTemp = systemSettings.SleepTemp / 10;
|
||||
systemSettings.SleepTemp *= 10;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayTempF(void) {
|
||||
@@ -466,9 +450,10 @@ static void settings_displayTempF(void) {
|
||||
}
|
||||
#endif
|
||||
|
||||
static void settings_setSensitivity(void) {
|
||||
static bool settings_setSensitivity(void) {
|
||||
systemSettings.sensitivity++;
|
||||
systemSettings.sensitivity = systemSettings.sensitivity % 10;
|
||||
return systemSettings.sensitivity == 9;
|
||||
}
|
||||
|
||||
static void settings_displaySensitivity(void) {
|
||||
@@ -476,18 +461,20 @@ static void settings_displaySensitivity(void) {
|
||||
OLED::printNumber(systemSettings.sensitivity, 1, false);
|
||||
}
|
||||
|
||||
static void settings_setAdvancedSolderingScreens(void) {
|
||||
static bool settings_setAdvancedSolderingScreens(void) {
|
||||
systemSettings.detailedSoldering = !systemSettings.detailedSoldering;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayAdvancedSolderingScreens(void) {
|
||||
printShortDescription(15, 7);
|
||||
printShortDescription(14, 7);
|
||||
|
||||
OLED::drawCheckbox(systemSettings.detailedSoldering);
|
||||
}
|
||||
|
||||
static void settings_setAdvancedIDLEScreens(void) {
|
||||
static bool settings_setAdvancedIDLEScreens(void) {
|
||||
systemSettings.detailedIDLE = !systemSettings.detailedIDLE;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayAdvancedIDLEScreens(void) {
|
||||
@@ -496,42 +483,39 @@ static void settings_displayAdvancedIDLEScreens(void) {
|
||||
OLED::drawCheckbox(systemSettings.detailedIDLE);
|
||||
}
|
||||
|
||||
static void settings_setPowerLimitEnable(void) {
|
||||
systemSettings.powerLimitEnable = !systemSettings.powerLimitEnable;
|
||||
}
|
||||
|
||||
static void settings_displayPowerLimitEnable(void) {
|
||||
printShortDescription(21, 7);
|
||||
OLED::drawCheckbox(systemSettings.powerLimitEnable);
|
||||
}
|
||||
|
||||
static void settings_setPowerLimit(void) {
|
||||
if (systemSettings.powerLimit >= MAX_POWER_LIMIT)
|
||||
systemSettings.powerLimit = POWER_LIMIT_STEPS;
|
||||
else
|
||||
systemSettings.powerLimit += POWER_LIMIT_STEPS;
|
||||
static bool settings_setPowerLimit(void) {
|
||||
systemSettings.powerLimit += POWER_LIMIT_STEPS;
|
||||
if (systemSettings.powerLimit > MAX_POWER_LIMIT)
|
||||
systemSettings.powerLimit = 0;
|
||||
return systemSettings.powerLimit + POWER_LIMIT_STEPS > MAX_POWER_LIMIT;
|
||||
}
|
||||
|
||||
static void settings_displayPowerLimit(void) {
|
||||
printShortDescription(22, 5);
|
||||
OLED::printNumber(systemSettings.powerLimit, 2);
|
||||
OLED::print(SymbolWatts);
|
||||
printShortDescription(20, 5);
|
||||
if (systemSettings.powerLimit == 0) {
|
||||
OLED::print(OffString);
|
||||
} else {
|
||||
OLED::printNumber(systemSettings.powerLimit, 2);
|
||||
OLED::print(SymbolWatts);
|
||||
}
|
||||
}
|
||||
|
||||
static void settings_setScrollSpeed(void) {
|
||||
static bool settings_setScrollSpeed(void) {
|
||||
if (systemSettings.descriptionScrollSpeed == 0)
|
||||
systemSettings.descriptionScrollSpeed = 1;
|
||||
else
|
||||
systemSettings.descriptionScrollSpeed = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayScrollSpeed(void) {
|
||||
printShortDescription(16, 7);
|
||||
printShortDescription(15, 7);
|
||||
OLED::print(
|
||||
(systemSettings.descriptionScrollSpeed) ?
|
||||
SettingFastChar : SettingSlowChar);
|
||||
}
|
||||
|
||||
static void settings_setDisplayRotation(void) {
|
||||
static bool settings_setDisplayRotation(void) {
|
||||
systemSettings.OrientationMode++;
|
||||
systemSettings.OrientationMode = systemSettings.OrientationMode % 3;
|
||||
switch (systemSettings.OrientationMode) {
|
||||
@@ -547,6 +531,7 @@ static void settings_setDisplayRotation(void) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return systemSettings.OrientationMode == 2;
|
||||
}
|
||||
|
||||
static void settings_displayDisplayRotation(void) {
|
||||
@@ -568,45 +553,53 @@ static void settings_displayDisplayRotation(void) {
|
||||
}
|
||||
}
|
||||
|
||||
static void settings_setBoostModeEnabled(void) {
|
||||
systemSettings.boostModeEnabled = !systemSettings.boostModeEnabled;
|
||||
}
|
||||
|
||||
static void settings_displayBoostModeEnabled(void) {
|
||||
printShortDescription(8, 7);
|
||||
|
||||
OLED::drawCheckbox(systemSettings.boostModeEnabled);
|
||||
}
|
||||
|
||||
static void settings_setBoostTemp(void) {
|
||||
static bool settings_setBoostTemp(void) {
|
||||
#ifdef ENABLED_FAHRENHEIT_SUPPORT
|
||||
if (systemSettings.temperatureInF) {
|
||||
systemSettings.BoostTemp += 20; // Go up 20F at a time
|
||||
if (systemSettings.BoostTemp > 850) {
|
||||
systemSettings.BoostTemp = 480; // loop back at 250
|
||||
if (systemSettings.BoostTemp == 0) {
|
||||
systemSettings.BoostTemp = 480; // loop back at 480
|
||||
} else {
|
||||
systemSettings.BoostTemp += 20; // Go up 20F at a time
|
||||
}
|
||||
|
||||
if (systemSettings.BoostTemp > 850) {
|
||||
systemSettings.BoostTemp = 0; // jump to off
|
||||
}
|
||||
return systemSettings.BoostTemp == 840;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
systemSettings.BoostTemp += 10; // Go up 10C at a time
|
||||
if (systemSettings.BoostTemp > 450) {
|
||||
if (systemSettings.BoostTemp == 0) {
|
||||
systemSettings.BoostTemp = 250; // loop back at 250
|
||||
|
||||
} else {
|
||||
systemSettings.BoostTemp += 10; // Go up 10C at a time
|
||||
}
|
||||
if (systemSettings.BoostTemp > 450) {
|
||||
systemSettings.BoostTemp = 0; //Go to off state
|
||||
|
||||
}
|
||||
return systemSettings.BoostTemp == 450;
|
||||
}
|
||||
}
|
||||
|
||||
static void settings_displayBoostTemp(void) {
|
||||
printShortDescription(9, 5);
|
||||
OLED::printNumber(systemSettings.BoostTemp, 3);
|
||||
printShortDescription(8, 5);
|
||||
if (systemSettings.BoostTemp) {
|
||||
OLED::printNumber(systemSettings.BoostTemp, 3);
|
||||
} else {
|
||||
OLED::print(OffString);
|
||||
}
|
||||
}
|
||||
|
||||
static void settings_setAutomaticStartMode(void) {
|
||||
static bool settings_setAutomaticStartMode(void) {
|
||||
systemSettings.autoStartMode++;
|
||||
systemSettings.autoStartMode %= 4;
|
||||
return systemSettings.autoStartMode == 3;
|
||||
}
|
||||
|
||||
static void settings_displayAutomaticStartMode(void) {
|
||||
printShortDescription(10, 7);
|
||||
printShortDescription(9, 7);
|
||||
|
||||
switch (systemSettings.autoStartMode) {
|
||||
case 0:
|
||||
@@ -627,17 +620,18 @@ static void settings_displayAutomaticStartMode(void) {
|
||||
}
|
||||
}
|
||||
|
||||
static void settings_setCoolingBlinkEnabled(void) {
|
||||
static bool settings_setCoolingBlinkEnabled(void) {
|
||||
systemSettings.coolingTempBlink = !systemSettings.coolingTempBlink;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayCoolingBlinkEnabled(void) {
|
||||
printShortDescription(11, 7);
|
||||
printShortDescription(10, 7);
|
||||
|
||||
OLED::drawCheckbox(systemSettings.coolingTempBlink);
|
||||
}
|
||||
|
||||
static void settings_setResetSettings(void) {
|
||||
static bool settings_setResetSettings(void) {
|
||||
if (userConfirmation(SettingsResetWarning)) {
|
||||
resetSettings();
|
||||
|
||||
@@ -648,10 +642,11 @@ static void settings_setResetSettings(void) {
|
||||
|
||||
waitForButtonPressOrTimeout(2000); // 2 second timeout
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayResetSettings(void) {
|
||||
printShortDescription(13, 7);
|
||||
printShortDescription(12, 7);
|
||||
}
|
||||
|
||||
static void setTipOffset() {
|
||||
@@ -686,20 +681,21 @@ static void setTipOffset() {
|
||||
|
||||
//Provide the user the option to tune their own tip if custom is selected
|
||||
//If not only do single point tuning as per usual
|
||||
static void settings_setCalibrate(void) {
|
||||
static bool settings_setCalibrate(void) {
|
||||
|
||||
if (userConfirmation(SettingsCalibrationWarning)) {
|
||||
// User confirmed
|
||||
// So we now perform the actual calculation
|
||||
setTipOffset();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayCalibrate(void) {
|
||||
printShortDescription(12, 5);
|
||||
printShortDescription(11, 5);
|
||||
}
|
||||
|
||||
static void settings_setCalibrateVIN(void) {
|
||||
static bool settings_setCalibrateVIN(void) {
|
||||
// Jump to the voltage calibration subscreen
|
||||
OLED::setFont(0);
|
||||
OLED::clearScreen();
|
||||
@@ -732,8 +728,7 @@ static void settings_setCalibrateVIN(void) {
|
||||
OLED::printNumber(systemSettings.voltageDiv, 3);
|
||||
OLED::refresh();
|
||||
waitForButtonPressOrTimeout(1000);
|
||||
return;
|
||||
break;
|
||||
return false;
|
||||
case BUTTON_NONE:
|
||||
default:
|
||||
break;
|
||||
@@ -757,9 +752,10 @@ static void settings_setCalibrateVIN(void) {
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_setTipGain(void) {
|
||||
static bool settings_setTipGain(void) {
|
||||
OLED::setFont(0);
|
||||
OLED::clearScreen();
|
||||
|
||||
@@ -783,8 +779,7 @@ static void settings_setTipGain(void) {
|
||||
case BUTTON_F_LONG:
|
||||
case BUTTON_B_LONG:
|
||||
saveSettings();
|
||||
return;
|
||||
break;
|
||||
return false;
|
||||
case BUTTON_NONE:
|
||||
default:
|
||||
break;
|
||||
@@ -800,57 +795,64 @@ static void settings_setTipGain(void) {
|
||||
systemSettings.TipGain = 300;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayTipGain(void) {
|
||||
printShortDescription(27, 5);
|
||||
printShortDescription(25, 5);
|
||||
}
|
||||
|
||||
static void settings_setReverseButtonTempChangeEnabled(void) {
|
||||
static bool settings_setReverseButtonTempChangeEnabled(void) {
|
||||
systemSettings.ReverseButtonTempChangeEnabled =
|
||||
!systemSettings.ReverseButtonTempChangeEnabled;
|
||||
return false;
|
||||
}
|
||||
|
||||
static void settings_displayReverseButtonTempChangeEnabled(void) {
|
||||
printShortDescription(23, 7);
|
||||
printShortDescription(21, 7);
|
||||
OLED::drawCheckbox(systemSettings.ReverseButtonTempChangeEnabled);
|
||||
}
|
||||
|
||||
static void settings_setTempChangeShortStep(void) {
|
||||
static bool settings_setTempChangeShortStep(void) {
|
||||
systemSettings.TempChangeShortStep += TEMP_CHANGE_SHORT_STEP;
|
||||
if (systemSettings.TempChangeShortStep > TEMP_CHANGE_SHORT_STEP_MAX) {
|
||||
systemSettings.TempChangeShortStep = TEMP_CHANGE_SHORT_STEP; // loop back at TEMP_CHANGE_SHORT_STEP_MAX
|
||||
}
|
||||
return systemSettings.TempChangeShortStep == TEMP_CHANGE_SHORT_STEP_MAX;
|
||||
}
|
||||
|
||||
static void settings_displayTempChangeShortStep(void) {
|
||||
printShortDescription(24, 6);
|
||||
printShortDescription(22, 6);
|
||||
OLED::printNumber(systemSettings.TempChangeShortStep, 2);
|
||||
}
|
||||
|
||||
static void settings_setTempChangeLongStep(void) {
|
||||
static bool settings_setTempChangeLongStep(void) {
|
||||
systemSettings.TempChangeLongStep += TEMP_CHANGE_LONG_STEP;
|
||||
if (systemSettings.TempChangeLongStep > TEMP_CHANGE_LONG_STEP_MAX) {
|
||||
systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP; // loop back at TEMP_CHANGE_LONG_STEP_MAX
|
||||
}
|
||||
return systemSettings.TempChangeLongStep == TEMP_CHANGE_LONG_STEP_MAX;
|
||||
}
|
||||
|
||||
static void settings_displayTempChangeLongStep(void) {
|
||||
printShortDescription(25, 6);
|
||||
printShortDescription(23, 6);
|
||||
OLED::printNumber(systemSettings.TempChangeLongStep, 2);
|
||||
}
|
||||
|
||||
static void settings_setPowerPulse(void) {
|
||||
static bool settings_setPowerPulse(void) {
|
||||
systemSettings.KeepAwakePulse += POWER_PULSE_INCREMENT;
|
||||
systemSettings.KeepAwakePulse %= POWER_PULSE_MAX;
|
||||
|
||||
return systemSettings.KeepAwakePulse == POWER_PULSE_MAX - 1;
|
||||
}
|
||||
static void settings_displayPowerPulse(void) {
|
||||
printShortDescription(26, 5);
|
||||
printShortDescription(24, 5);
|
||||
if (systemSettings.KeepAwakePulse) {
|
||||
OLED::printNumber(systemSettings.KeepAwakePulse / 10, 1);
|
||||
OLED::print(SymbolDot);
|
||||
OLED::printNumber(systemSettings.KeepAwakePulse % 10, 1);
|
||||
} else {
|
||||
OLED::drawCheckbox(false);
|
||||
OLED::print(OffString);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -868,31 +870,35 @@ static void displayMenu(size_t index) {
|
||||
}
|
||||
|
||||
static void settings_displayCalibrateVIN(void) {
|
||||
printShortDescription(14, 5);
|
||||
printShortDescription(13, 5);
|
||||
}
|
||||
static void settings_displaySolderingMenu(void) {
|
||||
displayMenu(0);
|
||||
}
|
||||
static void settings_enterSolderingMenu(void) {
|
||||
static bool settings_enterSolderingMenu(void) {
|
||||
gui_Menu(solderingMenu);
|
||||
return false;
|
||||
}
|
||||
static void settings_displayPowerMenu(void) {
|
||||
displayMenu(1);
|
||||
}
|
||||
static void settings_enterPowerMenu(void) {
|
||||
static bool settings_enterPowerMenu(void) {
|
||||
gui_Menu(PowerMenu);
|
||||
return false;
|
||||
}
|
||||
static void settings_displayUIMenu(void) {
|
||||
displayMenu(2);
|
||||
}
|
||||
static void settings_enterUIMenu(void) {
|
||||
static bool settings_enterUIMenu(void) {
|
||||
gui_Menu(UIMenu);
|
||||
return false;
|
||||
}
|
||||
static void settings_displayAdvancedMenu(void) {
|
||||
displayMenu(3);
|
||||
}
|
||||
static void settings_enterAdvancedMenu(void) {
|
||||
static bool settings_enterAdvancedMenu(void) {
|
||||
gui_Menu(advancedMenu);
|
||||
return false;
|
||||
}
|
||||
|
||||
void gui_Menu(const menuitem *menu) {
|
||||
@@ -908,13 +914,15 @@ void gui_Menu(const menuitem *menu) {
|
||||
static bool enterGUIMenu = true;
|
||||
enterGUIMenu = true;
|
||||
uint8_t scrollContentSize = 0;
|
||||
bool scrollBlink = false;
|
||||
bool lastValue = false;
|
||||
|
||||
for (uint8_t i = 0; menu[i].draw.func != NULL; i++) {
|
||||
for (uint8_t i = 0; menu[i].draw != NULL; i++) {
|
||||
scrollContentSize += 1;
|
||||
}
|
||||
|
||||
// Animated menu opening.
|
||||
if (menu[currentScreen].draw.func != NULL) {
|
||||
if (menu[currentScreen].draw != NULL) {
|
||||
// This menu is drawn in a secondary framebuffer.
|
||||
// Then we play a transition from the current primary
|
||||
// framebuffer to the new buffer.
|
||||
@@ -923,12 +931,12 @@ void gui_Menu(const menuitem *menu) {
|
||||
OLED::setFont(0);
|
||||
OLED::setCursor(0, 0);
|
||||
OLED::clearScreen();
|
||||
menu[currentScreen].draw.func();
|
||||
menu[currentScreen].draw();
|
||||
OLED::useSecondaryFramebuffer(false);
|
||||
OLED::transitionSecondaryFramebuffer(true);
|
||||
}
|
||||
|
||||
while ((menu[currentScreen].draw.func != NULL) && earlyExit == false) {
|
||||
while ((menu[currentScreen].draw != NULL) && earlyExit == false) {
|
||||
OLED::setFont(0);
|
||||
OLED::setCursor(0, 0);
|
||||
// If the user has hesitated for >=3 seconds, show the long text
|
||||
@@ -936,10 +944,13 @@ void gui_Menu(const menuitem *menu) {
|
||||
if ((xTaskGetTickCount() - lastButtonTime < 3000)
|
||||
|| menu[currentScreen].description == NULL) {
|
||||
OLED::clearScreen();
|
||||
menu[currentScreen].draw.func();
|
||||
menu[currentScreen].draw();
|
||||
uint8_t indicatorHeight = OLED_HEIGHT / scrollContentSize;
|
||||
uint8_t position = OLED_HEIGHT * currentScreen / scrollContentSize;
|
||||
OLED::drawScrollIndicator(position, indicatorHeight);
|
||||
if (lastValue)
|
||||
scrollBlink = !scrollBlink;
|
||||
if (!lastValue || !scrollBlink)
|
||||
OLED::drawScrollIndicator(position, indicatorHeight);
|
||||
lastOffset = -1;
|
||||
lcdRefresh = true;
|
||||
} else {
|
||||
@@ -978,16 +989,16 @@ void gui_Menu(const menuitem *menu) {
|
||||
case BUTTON_F_SHORT:
|
||||
// increment
|
||||
if (descriptionStart == 0) {
|
||||
if (menu[currentScreen].incrementHandler.func != NULL) {
|
||||
if (menu[currentScreen].incrementHandler != NULL) {
|
||||
enterGUIMenu = false;
|
||||
menu[currentScreen].incrementHandler.func();
|
||||
lastValue = menu[currentScreen].incrementHandler();
|
||||
|
||||
if (enterGUIMenu) {
|
||||
OLED::useSecondaryFramebuffer(true);
|
||||
OLED::setFont(0);
|
||||
OLED::setCursor(0, 0);
|
||||
OLED::clearScreen();
|
||||
menu[currentScreen].draw.func();
|
||||
menu[currentScreen].draw();
|
||||
OLED::useSecondaryFramebuffer(false);
|
||||
OLED::transitionSecondaryFramebuffer(false);
|
||||
}
|
||||
@@ -999,16 +1010,23 @@ void gui_Menu(const menuitem *menu) {
|
||||
descriptionStart = 0;
|
||||
break;
|
||||
case BUTTON_B_SHORT:
|
||||
if (descriptionStart == 0)
|
||||
if (descriptionStart == 0) {
|
||||
currentScreen++;
|
||||
else
|
||||
lastValue = false;
|
||||
} else
|
||||
descriptionStart = 0;
|
||||
break;
|
||||
case BUTTON_F_LONG:
|
||||
if (xTaskGetTickCount() - autoRepeatTimer + autoRepeatAcceleration >
|
||||
if ((int) (xTaskGetTickCount() - autoRepeatTimer
|
||||
+ autoRepeatAcceleration) >
|
||||
PRESS_ACCEL_INTERVAL_MAX) {
|
||||
menu[currentScreen].incrementHandler.func();
|
||||
autoRepeatTimer = xTaskGetTickCount();
|
||||
if ((lastValue = menu[currentScreen].incrementHandler()))
|
||||
autoRepeatTimer = 1000;
|
||||
else
|
||||
autoRepeatTimer = 0;
|
||||
|
||||
autoRepeatTimer += xTaskGetTickCount();
|
||||
|
||||
descriptionStart = 0;
|
||||
|
||||
autoRepeatAcceleration += PRESS_ACCEL_STEP;
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
#include "Settings.h"
|
||||
#include "cmsis_os.h"
|
||||
uint8_t PCBVersion = 0;
|
||||
// File local variables
|
||||
bool usb_pd_available = false;
|
||||
bool settingsWereReset = false;
|
||||
// FreeRTOS variables
|
||||
|
||||
@@ -32,44 +30,17 @@ uint32_t MOVTaskBuffer[MOVTaskStackSize];
|
||||
osStaticThreadDef_t MOVTaskControlBlock;
|
||||
|
||||
// End FreeRTOS
|
||||
|
||||
// Main sets up the hardware then hands over to the FreeRTOS kernel
|
||||
int main(void) {
|
||||
preRToSInit();
|
||||
|
||||
setTipX10Watts(0); // force tip off
|
||||
resetWatchdog();
|
||||
OLED::initialize(); // start up the LCD
|
||||
OLED::setFont(0); // default to bigger font
|
||||
// Testing for which accelerometer is mounted
|
||||
resetWatchdog();
|
||||
usb_pd_available = usb_pd_detect();
|
||||
resetWatchdog();
|
||||
settingsWereReset = restoreSettings(); // load the settings from flash
|
||||
#ifdef ACCEL_MMA
|
||||
if (MMA8652FC::detect()) {
|
||||
PCBVersion = 1;
|
||||
MMA8652FC::initalize(); // this sets up the I2C registers
|
||||
} else
|
||||
#endif
|
||||
#ifdef ACCEL_LIS
|
||||
if (LIS2DH12::detect()) {
|
||||
PCBVersion = 2;
|
||||
// Setup the ST Accelerometer
|
||||
LIS2DH12::initalize(); // startup the accelerometer
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
PCBVersion = 3;
|
||||
systemSettings.SleepTime = 0;
|
||||
systemSettings.ShutdownTime = 0; // No accel -> disable sleep
|
||||
systemSettings.sensitivity = 0;
|
||||
}
|
||||
resetWatchdog();
|
||||
|
||||
/* Create the thread(s) */
|
||||
/* definition and creation of GUITask */
|
||||
|
||||
osThreadStaticDef(GUITask, startGUITask, osPriorityBelowNormal, 0,
|
||||
GUITaskStackSize, GUITaskBuffer, &GUITaskControlBlock);
|
||||
GUITaskHandle = osThreadCreate(osThread(GUITask), NULL);
|
||||
|
||||
@@ -439,7 +439,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
|
||||
break;
|
||||
case BUTTON_F_LONG:
|
||||
// if boost mode is enabled turn it on
|
||||
if (systemSettings.boostModeEnabled)
|
||||
if (systemSettings.BoostTemp)
|
||||
boostModeOn = true;
|
||||
break;
|
||||
case BUTTON_F_SHORT:
|
||||
@@ -632,6 +632,7 @@ void showDebugMenu(void) {
|
||||
uint8_t idleScreenBGF[sizeof(idleScreenBG)];
|
||||
/* StartGUITask function */
|
||||
void startGUITask(void const *argument __unused) {
|
||||
OLED::initialize(); // start up the LCD
|
||||
|
||||
uint8_t tempWarningState = 0;
|
||||
bool buttonLockout = false;
|
||||
|
||||
@@ -23,8 +23,28 @@
|
||||
uint8_t accelInit = 0;
|
||||
uint32_t lastMovementTime = 0;
|
||||
void startMOVTask(void const *argument __unused) {
|
||||
OLED::setRotation(systemSettings.OrientationMode & 1);
|
||||
#ifdef ACCEL_MMA
|
||||
if (MMA8652FC::detect()) {
|
||||
PCBVersion = 1;
|
||||
MMA8652FC::initalize(); // this sets up the I2C registers
|
||||
} else
|
||||
#endif
|
||||
#ifdef ACCEL_LIS
|
||||
if (LIS2DH12::detect()) {
|
||||
PCBVersion = 2;
|
||||
// Setup the ST Accelerometer
|
||||
LIS2DH12::initalize(); // startup the accelerometer
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
PCBVersion = 3;
|
||||
systemSettings.SleepTime = 0;
|
||||
systemSettings.ShutdownTime = 0; // No accel -> disable sleep
|
||||
systemSettings.sensitivity = 0;
|
||||
}
|
||||
postRToSInit();
|
||||
OLED::setRotation(systemSettings.OrientationMode & 1);
|
||||
|
||||
lastMovementTime = 0;
|
||||
int16_t datax[MOVFilter] = { 0 };
|
||||
int16_t datay[MOVFilter] = { 0 };
|
||||
|
||||
@@ -112,7 +112,7 @@ void startPIDTask(void const *argument __unused) {
|
||||
if (getTipRawTemp(0) > (0x7FFF - 150)) {
|
||||
x10WattsOut = 0;
|
||||
}
|
||||
if (systemSettings.powerLimitEnable
|
||||
if (systemSettings.powerLimit
|
||||
&& x10WattsOut > (systemSettings.powerLimit * 10)) {
|
||||
setTipX10Watts(systemSettings.powerLimit * 10);
|
||||
} else {
|
||||
|
||||
@@ -10,7 +10,6 @@ endif
|
||||
# Discover the source files to build
|
||||
SOURCE := $(shell find . -type f -name '*.c')
|
||||
SOURCE_CPP := $(shell find . -type f -name '*.cpp')
|
||||
SOURCES := $(shell find . -type f -name '*.c*')
|
||||
S_SRCS := $(shell find . -type f -name '*.s')
|
||||
|
||||
APP_INC_DIR = ./Core/Inc
|
||||
@@ -47,7 +46,7 @@ HEXFILE_DIR=Hexfile
|
||||
OUTPUT_DIR=Objects
|
||||
|
||||
# code optimisation ------------------------------------------------------------
|
||||
OPTIM=-Os -flto -ffat-lto-objects -finline-small-functions -findirect-inlining -fdiagnostics-color -ffunction-sections -fdata-sections
|
||||
OPTIM=-Os -flto -finline-small-functions -findirect-inlining -fdiagnostics-color -ffunction-sections -fdata-sections
|
||||
|
||||
flash_size=64k
|
||||
bootldr_size=0x4000
|
||||
@@ -64,7 +63,7 @@ DEBUG=-g3
|
||||
# Without debug code
|
||||
#DEBUG=
|
||||
|
||||
|
||||
|
||||
# libs -------------------------------------------------------------------------
|
||||
LIBS=
|
||||
|
||||
@@ -95,7 +94,9 @@ LINKER_FLAGS=-Wl,--gc-sections \
|
||||
-Wl,--wrap=free \
|
||||
-o$(OUT_HEXFILE).elf \
|
||||
-Wl,-Map=$(OUT_HEXFILE).map \
|
||||
-lm -Wl,--undefined=vTaskSwitchContext \
|
||||
-lm \
|
||||
-Wl,--undefined=vTaskSwitchContext \
|
||||
-Wl,--undefined=pxCurrentTCB \
|
||||
-Wl,--defsym=__FLASH_SIZE__=$(flash_size) \
|
||||
-Wl,--defsym=__BOOTLDR_SIZE__=$(bootldr_size) \
|
||||
--specs=nano.specs
|
||||
|
||||
@@ -10,7 +10,7 @@ AVAILABLE_MODELS=("TS100" "TS80" "TS80P")
|
||||
BUILD_MODELS=()
|
||||
|
||||
usage() {
|
||||
echo "Usage : $(basename "$0") [-l <LANG_CODE>] [-m <TS100|TS80>] [-h]
|
||||
echo "Usage : $(basename "$0") [-l <LANG_CODE>] [-m <TS100|TS80|TS80P>] [-h]
|
||||
|
||||
Parameters :
|
||||
-l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...)
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
#define TEMP_CHANGE_SHORT_STEP 1 // Default temp change short step +1
|
||||
#define TEMP_CHANGE_LONG_STEP 10 // Default temp change long step +10
|
||||
#define TEMP_CHANGE_SHORT_STEP_MAX 50 // Temp change short step MAX value
|
||||
#define TEMP_CHANGE_LONG_STEP_MAX 100 // Temp change long step MAX value
|
||||
#define TEMP_CHANGE_LONG_STEP_MAX 90 // Temp change long step MAX value
|
||||
|
||||
/* Power pulse for keeping power banks awake*/
|
||||
#define POWER_PULSE_INCREMENT 1
|
||||
@@ -80,7 +80,6 @@
|
||||
#define CUT_OUT_SETTING 0 // default to no cut-off voltage (or 18W for TS80)
|
||||
#define TEMPERATURE_INF 0 // default to 0
|
||||
#define DESCRIPTION_SCROLL_SPEED 0 // 0: Slow 1: Fast - default to slow
|
||||
#define POWER_LIMIT_ENABLE 0 // 0: Disable 1: Enable - Default disabled power limit
|
||||
|
||||
#define TIP_GAIN 210 // 21 uV/C * 10, uV per deg C constant of the tip, Tip uV * 10 / coeff = tip temp
|
||||
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
* i.e.: BUILD_VERSION = 'Rel. v2.08' --> Will generated to: 'v2.08.1a2b3c4'
|
||||
*/
|
||||
|
||||
#define BUILD_VERSION "v2.11"
|
||||
#define BUILD_VERSION "v2.12"
|
||||
|
||||
Reference in New Issue
Block a user