1
0
forked from me/IronOS

Compare commits

...

84 Commits
v2.07 ... v2.09

Author SHA1 Message Date
Ben V. Brown
fa58e167f1 Update version.h 2020-04-04 13:32:43 +11:00
Ben V. Brown
af822d3816 Create FUNDING.yml 2020-04-04 13:27:17 +11:00
Ben V. Brown
eef2fb8148 Slight reqork of QC logic to bring back older style + mix in another compatability hack 2020-04-04 13:16:28 +11:00
Ben V. Brown
baa9ff66a8 Update TipThermoModel.cpp
Update comments
2020-04-04 13:15:59 +11:00
Ben V. Brown
482d1c5b61 Restore the project files
If we keep removing these, it keeps requiring rebuilding the entire MX+IDE project which is a pain
2020-04-04 12:00:02 +11:00
Ben V. Brown
ad39fe9750 Update .gitignore
Stop blacklisting IDE project configurations
2020-04-04 11:54:38 +11:00
Ben V. Brown
d45b1d7e27 Merge pull request #596 from GeminiServer/PR-git-hash-fix-on-tags
bugfix - git hash returns tags (if set) instead the short hash
2020-03-21 12:13:30 +11:00
GeminiServer
a5a21a8678 bugfix - git hash returns tags (if set) instead the short hash
using "git rev-parse --short=7 HEAD" to be sure we always get the commit hash.
2020-03-21 01:27:55 +01:00
Ben V. Brown
bccaea746c Merge pull request #595 from GeminiServer/PR-#6-Config-Conditional-Disable-Fahrenheit-Support
PR #6 -  Unit - Fahrenheit support in language translations
2020-03-21 10:23:52 +11:00
Ben V. Brown
bf518ca982 Merge branch 'master' into PR-#6-Config-Conditional-Disable-Fahrenheit-Support 2020-03-21 10:15:41 +11:00
Ben V. Brown
df8e157461 Merge pull request #594 from GeminiServer/PR#5.1-Configuration.h-Cleanup
PR#5.1 configuration.h cleanup
2020-03-21 10:15:08 +11:00
Ben V. Brown
f2f92cc7af Merge branch 'master' into PR#5.1-Configuration.h-Cleanup 2020-03-21 10:14:37 +11:00
Ben V. Brown
9b3bfebe4b Merge pull request #593 from GeminiServer/PR#5-Revert-inLeftHandedMode
PR#5- bool inLeftHandedMode is an internal variable. Reverting configuration.h assignment
2020-03-21 10:14:26 +11:00
GeminiServer
ee0767efb8 Unit - Fahrenheit support in language translations
°F Fahrenheit - You will find the default Fahrenheit configuration in the translation_xx.json
 If tempUnitFahrenheit is set to:
   true -  you can switch in menu settings to Fahrenheit or Celsius.
   false - you see only Celsius. All settings are then is in Celsius only.
2020-03-20 20:37:02 +01:00
GeminiServer
797d2c247a Separated Temp change configurations 2020-03-20 12:49:03 +01:00
GeminiServer
050f207684 bool inLeftHandedMode is an internal variable. Reverting configuration.h assignment 2020-03-20 12:30:54 +01:00
Ben V. Brown
f33e05a6c6 Merge pull request #588 from GeminiServer/PR-#4-TS100-Logo-Left
PR #4 - TS100 logo left
2020-03-20 09:52:07 +11:00
Ben V. Brown
c3631c2ef7 Merge branch 'master' into PR-#4-TS100-Logo-Left 2020-03-20 09:45:30 +11:00
Ben V. Brown
e0ec747ebe Merge pull request #587 from GeminiServer/PR-#3-Version-rule-and-format
PR #3 - Firmware build version with short git hash suffix
2020-03-20 09:44:56 +11:00
Erkan Colak
0036e623ab Merge branch 'master' into PR-#4-TS100-Logo-Left 2020-03-19 18:34:13 +01:00
GeminiServer
da84188703 Merge branch 'PR-#3-Version-rule-and-format' into PR-#4-TS100-Logo-Left 2020-03-19 18:20:50 +01:00
GeminiServer
a5ec2bcfa0 Let's try in in python translate script directly, to keep support ci process.
Reverted build.sh
2020-03-19 18:17:20 +01:00
GeminiServer
4aabf770cd Removed BUILD_VERSION from python translation
Add. new version.h, which included now the build version.
Adapted build.sh -  to extract the build version from versioh.h and sends it to translation script.
2020-03-19 00:42:25 +01:00
Ben V. Brown
318b39a858 Merge pull request #586 from GeminiServer/PR-#2-Temp-Steps-and-revert-buttons
PR #2  - Tip temp change short and long press and reverse +- button
2020-03-17 23:16:47 +11:00
Ben V. Brown
6cfda182bd Merge pull request #585 from GeminiServer/PR-#1-Configuration
PR #1 - Unified the default configuration/setting values and parameters into …
2020-03-17 10:04:27 +11:00
GeminiServer
e323de20be Merge branch 'PR-#3-Version-rule-and-format' into PR-#4-TS100-Logo-Left 2020-03-16 12:02:09 +01:00
GeminiServer
9762beb746 Merge branch 'PR-#2-Temp-Steps-and-revert-buttons' into PR-#3-Version-rule-and-format 2020-03-16 12:02:02 +01:00
GeminiServer
070f909dab Merge branch 'PR-#1-Configuration' into PR-#2-Temp-Steps-and-revert-buttons 2020-03-16 12:01:56 +01:00
GeminiServer
04be8fdba3 Fixed - configuration include header 2020-03-16 12:01:45 +01:00
GeminiServer
f2b9c02da3 Merge branch 'PR-#3-Version-rule-and-format' into PR-#4-TS100-Logo-Left 2020-03-16 11:49:45 +01:00
GeminiServer
9d98530eba Merge branch 'PR-#2-Temp-Steps-and-revert-buttons' into PR-#3-Version-rule-and-format 2020-03-16 11:48:58 +01:00
GeminiServer
7f844d9d0b Merge branch 'PR-#1-Configuration' into PR-#2-Temp-Steps-and-revert-buttons 2020-03-16 11:48:42 +01:00
GeminiServer
1f20bf9cef fixed default values and settings 2020-03-16 11:45:00 +01:00
GeminiServer
3fac547fd8 revert reformatings
adapted default values.
2020-03-16 11:43:28 +01:00
GeminiServer
fad365a8b4 TS100 - Bootup Logo - Left 2020-03-15 15:58:59 +01:00
GeminiServer
2e67da06b0 New - Version rule and format. 2020-03-15 15:56:13 +01:00
GeminiServer
2d0e07266e Tip temp change short and long press and reverse +- button to ui configurations
Temperature change short and long press step to UI Soldering settings menu
Reverse button tip temperature plus minus assignment to UI Menu.
2020-03-15 15:50:11 +01:00
GeminiServer
0461fd0a26 Unified the default configuration/setting values and parameters into one header file. 2020-03-15 14:45:52 +01:00
Ben V. Brown
fddf24b7ff Merge pull request #580 from Swyter/master
Update and proofread the Castilian Spanish translation file
2020-02-29 09:43:03 +10:00
Swyter
322573a1dd Final tweaks for the Castilian Spanish translation; adjust some loose ends and workaround the visual glitch in short ResetOKMessage strings (it keeps part of the previously scrolling text onscreen or only draws it partially on top) by right-padding with spaces. Document the undocumented SettingStartSleepOffChar that isn't mentioned anywhere but starts in sleep mode but keeping the tip off. 2020-02-28 02:34:40 +01:00
Swyter
ebb0ba16ec Additional tweaks and polishing for the Castilian Spanish translation after more testing. 2020-02-28 01:22:57 +01:00
Swyter
47f75c64ed Update and proofread the Castilian Spanish translation file; fix a few typos and awkward phrasing by non-natives. Adjust wording to meet the tight space limitations without losing information. Should be good to go. 2020-02-27 23:17:31 +01:00
Ben V. Brown
44e5ceeedf Merge pull request #573 from Firebie/FixAutostartSleepAgain
Fix autostart sleep (again)
2020-02-14 18:04:44 +11:00
firebie
1b60f0c630 Fix autostart sleep 2020-02-14 08:55:38 +02:00
Ben V. Brown
97ea3b871b Merge pull request #579 from augustozanellato/patch-1
Clearing screen before showing settings reset alert
2020-02-13 06:53:33 +11:00
Augusto Zanellato
6cd4bb9376 Clearing screen before showing settings reset alert
It's needed because as of now the alert overlaps the custom bootlogo
2020-02-12 19:50:36 +01:00
Vadym
e0cc415338 Add autocompilation after push with GitHub Actions (#576)
* Create dockerimage.yml

* Delete dockerimage.yml

* Create ccpp.yml

* Update ccpp.yml

* Delete ccpp.yml

* Create dockerimage.yml

* Delete dockerimage.yml

* Create main.yml

* Delete main.yml

* Create ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml

* Update ccpp.yml
2020-02-10 10:31:54 +11:00
Ben V. Brown
7e689c943e Merge pull request #574 from playday3008/patch-1
Update translation_uk.json
2020-02-07 11:36:41 +11:00
Vadym
d30446fea3 Update translation_uk.json 2020-02-07 01:35:07 +01:00
Vadym
e1454411df Update translation_uk.json 2020-02-06 20:03:24 +01:00
Ben V. Brown
a87489fbfb Merge pull request #570 from Firebie/ralim
Fix version screen for autostart T/S
2020-02-05 07:08:17 +11:00
Ben V. Brown
7edfcd3a64 Merge pull request #572 from Firebie/FixAutostartSleep
Fix autostart S
2020-02-05 07:07:40 +11:00
firebie
f7141103d8 Fix autostart S 2020-02-04 09:19:38 +02:00
firebie
c201e2a9cb Fix version screen for autostart T/S 2020-02-03 22:56:07 +02:00
Ben V. Brown
5abb6232cc Merge pull request #561 from ricktendo/patch-2
Further en desc tweaks
2020-01-27 15:11:39 +11:00
Ben V. Brown
317cffb726 Merge pull request #562 from ricktendo/patch-3
Updated es translation with new strings
2020-01-27 15:11:00 +11:00
Ben V. Brown
3a4636243a Merge pull request #563 from Aleks-Z/master
Update translation_ru.json
2020-01-27 15:07:04 +11:00
Alex Z
abf3394931 Update translation_ru.json 2020-01-24 16:28:59 +03:00
Alex Z
9c054e7a67 Update translation_ru.json 2020-01-21 03:01:46 +03:00
Ricardo Cooper
c22f5436ee Updated es translation with new strings
Added new strings, tweaked some existing and translated some un-translated strings
2020-01-18 20:25:28 -06:00
Ricardo Cooper
d7951fa6ee Further en desc tweaks
Removed '<C>' (Centigrade) symbol from SleepTemperature description and further tweaked some descriptions to match/be more similar to each other.
2020-01-18 19:05:56 -06:00
Ben V. Brown
f4b1c082e8 Merge pull request #560 from ricktendo/patch-1
Correct AutoStart desc
2020-01-19 09:20:50 +11:00
Ben V. Brown
7ab757d1e5 Merge pull request #559 from Firebie/FixForVoltageDisplay
Use SymbolVolts instead of V
2020-01-19 09:20:30 +11:00
Ricardo Cooper
aa8e750437 Update translation_en.json 2020-01-18 11:05:17 -06:00
Ricardo Cooper
f2d3a14f43 Correct AutoStart desc
AutoStard desc letters were not correct, I corrected these based on the characters and also fixed some spacing
2020-01-18 10:59:19 -06:00
firebie
36d556d40a SymbolVolts 2020-01-18 14:36:27 +02:00
Ben V. Brown
e725e63b3f Merge pull request #558 from Ralim/fix/acting-as-red-light
Fix Acting as red light + translations around the auto start
2020-01-18 20:35:32 +11:00
Ben V. Brown
e2067971a5 Rework translation format for soldering settings 2020-01-18 20:09:31 +11:00
Ben V. Brown
a841608547 Fix race condition around PID temp setpoint 2020-01-18 19:12:53 +11:00
Ben V. Brown
0384ef70b0 Add slightly more tolerance to temp model to account for noise 2020-01-18 19:12:42 +11:00
Ben V. Brown
b1899c08f9 Remove unused var 2020-01-18 19:12:24 +11:00
Ben V. Brown
08a1e0c7c7 v Bump 2020-01-18 13:54:11 +11:00
Ben V. Brown
4b2e9e38ea Merge pull request #554 from Ralim/fix/remove-tip-dis-and-fix-disp
Fix: Remove tip disconnection warning. Fix leading zeros (again)
2020-01-18 13:24:54 +11:00
Ben V. Brown
0a671a97ba Add limiter for setpoint > ADC range 2020-01-18 13:01:51 +11:00
Ben V. Brown
03d3a20f9d Fix leader zero suppression (again) 2020-01-18 12:44:08 +11:00
Ben V. Brown
78450d8171 Remove bad tip counter 2020-01-18 12:39:10 +11:00
Ben V. Brown
ca1ff599a9 Merge pull request #553 from Firebie/AutoStartFix
Menu autostart fix + Implement power limit option
2020-01-18 12:02:45 +11:00
firebie
61c127cc2d Autostart: Manual/Auto/Sleep 2020-01-17 22:44:33 +02:00
firebie
358726631f PowerLimit 2020-01-17 21:15:56 +02:00
Ben V. Brown
88b64e24c1 Merge pull request #550 from fatcookies/master
Reduced stack usage in showBootLogoIfavailable().
2020-01-17 10:46:47 +11:00
fatcookies
0591a01c5a Reduced stack usage in showBootLogoIfavailable().
Introduced new function OLED::drawAreaSwapped() for drawing images where
the octets are reveresed endianess in 16-bit words.
2020-01-16 21:58:02 +00:00
Ben V. Brown
1ca87a4241 Merge pull request #546 from Cabalist/gitignorecleanup
Gitignorecleanup
2020-01-03 10:09:12 +11:00
Ryan Jarvis
973a3bfe1a Update .gitignore 2020-01-01 21:56:37 -08:00
Ryan Jarvis
9f0cbc17ef Remove IDE settings and cache files 2020-01-01 21:56:28 -08:00
53 changed files with 2449 additions and 10093 deletions

4
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,4 @@
# These are supported funding model platforms
ko_fi: ralim
custom: https://paypal.me/RalimTek

24
.github/workflows/ccpp.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: C/C++ CI
on: [pull_request, push]
jobs:
build:
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
with:
name: compiled
path: ci/artefacts

125
.gitignore vendored
View File

@@ -65,3 +65,128 @@ ci/artefacts/
ci/secrets/unencrypted/ ci/secrets/unencrypted/
codeship.aes codeship.aes
.vscode/settings.json .vscode/settings.json
# Auto generated files
workspace/TS100/Core/Src/Translation.cpp
workspace/TS100/Core/Inc/unit.h
# IDE configs
.vs/*
.settings/*
..cproject.swp
# Visual Studios
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# Eclipse
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Jetbrains
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
CoreCompileInputs.cache

View File

@@ -1 +0,0 @@
1f6b9b8bf2c9e759acd19ce919cfeae19b243aa0

View File

@@ -0,0 +1,258 @@
:020000040800F2
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
:10F81000A828A8A848A88808284808E828C828A828
:10F8200008C828C828A80CC80C0C0C0C0808080824
:10F830000C0C0C0C080C0808080810102020C02024
:10F840002040804000000000000000008080808098
:10F850008080808080808080808080808180158210
:10F86000542A00801F0020202F202F282020252010
:10F870002A2A2A2A27282120282F202F2827282B08
:10F8800020272827282B2027202020202020202048
:10F8900020202020202020204020404040401F20C9
:10F8A0002010081005050505050505050908090AC4
:10F8B000090A090A080A08080808080808080508C3
:10F8C000020500020000000000000000000000002F
:10F8D0000000000000000000000000000000000028
:10F8E0000000000000000000000000000000000018
:10F8F0000000000000000000000000000000000008
:10F9000000000000000000000000000000000000F7
:10F9100000000000000000000000000000000000E7
:10F9200000000000000000000000000000000000D7
:10F9300000000000000000000000000000000000C7
:10F9400000000000000000000000000000000000B7
:10F9500000000000000000000000000000000000A7
:10F960000000000000000000000000000000000097
:10F970000000000000000000000000000000000087
:10F980000000000000000000000000000000000077
:10F990000000000000000000000000000000000067
:10F9A0000000000000000000000000000000000057
:10F9B0000000000000000000000000000000000047
:10F9C0000000000000000000000000000000000037
:10F9D0000000000000000000000000000000000027
:10F9E0000000000000000000000000000000000017
:10F9F0000000000000000000000000000000000007
:10FA000000000000000000000000000000000000F6
:10FA100000000000000000000000000000000000E6
:10FA200000000000000000000000000000000000D6
:10FA300000000000000000000000000000000000C6
:10FA400000000000000000000000000000000000B6
:10FA500000000000000000000000000000000000A6
:10FA60000000000000000000000000000000000096
:10FA70000000000000000000000000000000000086
:10FA80000000000000000000000000000000000076
:10FA90000000000000000000000000000000000066
:10FAA0000000000000000000000000000000000056
:10FAB0000000000000000000000000000000000046
:10FAC0000000000000000000000000000000000036
:10FAD0000000000000000000000000000000000026
:10FAE0000000000000000000000000000000000016
:10FAF0000000000000000000000000000000000006
:10FB000000000000000000000000000000000000F5
:10FB100000000000000000000000000000000000E5
:10FB200000000000000000000000000000000000D5
:10FB300000000000000000000000000000000000C5
:10FB400000000000000000000000000000000000B5
:10FB500000000000000000000000000000000000A5
:10FB60000000000000000000000000000000000095
:10FB70000000000000000000000000000000000085
:10FB80000000000000000000000000000000000075
:10FB90000000000000000000000000000000000065
:10FBA0000000000000000000000000000000000055
:10FBB0000000000000000000000000000000000045
:10FBC0000000000000000000000000000000000035
:10FBD0000000000000000000000000000000000025
:10FBE0000000000000000000000000000000000015
:10FBF0000000000000000000000000000000000005
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
:10F81000A828A8A848A88808284808E828C828A828
:10F8200008C828C828A80CC80C0C0C0C0808080824
:10F830000C0C0C0C080C0808080810102020C02024
:10F840002040804000000000000000008080808098
:10F850008080808080808080808080808180158210
:10F86000542A00801F0020202F202F282020252010
:10F870002A2A2A2A27282120282F202F2827282B08
:10F8800020272827282B2027202020202020202048
:10F8900020202020202020204020404040401F20C9
:10F8A0002010081005050505050505050908090AC4
:10F8B000090A090A080A08080808080808080508C3
:10F8C000020500020000000000000000000000002F
:10F8D0000000000000000000000000000000000028
:10F8E0000000000000000000000000000000000018
:10F8F0000000000000000000000000000000000008
:10F9000000000000000000000000000000000000F7
:10F9100000000000000000000000000000000000E7
:10F9200000000000000000000000000000000000D7
:10F9300000000000000000000000000000000000C7
:10F9400000000000000000000000000000000000B7
:10F9500000000000000000000000000000000000A7
:10F960000000000000000000000000000000000097
:10F970000000000000000000000000000000000087
:10F980000000000000000000000000000000000077
:10F990000000000000000000000000000000000067
:10F9A0000000000000000000000000000000000057
:10F9B0000000000000000000000000000000000047
:10F9C0000000000000000000000000000000000037
:10F9D0000000000000000000000000000000000027
:10F9E0000000000000000000000000000000000017
:10F9F0000000000000000000000000000000000007
:10FA000000000000000000000000000000000000F6
:10FA100000000000000000000000000000000000E6
:10FA200000000000000000000000000000000000D6
:10FA300000000000000000000000000000000000C6
:10FA400000000000000000000000000000000000B6
:10FA500000000000000000000000000000000000A6
:10FA60000000000000000000000000000000000096
:10FA70000000000000000000000000000000000086
:10FA80000000000000000000000000000000000076
:10FA90000000000000000000000000000000000066
:10FAA0000000000000000000000000000000000056
:10FAB0000000000000000000000000000000000046
:10FAC0000000000000000000000000000000000036
:10FAD0000000000000000000000000000000000026
:10FAE0000000000000000000000000000000000016
:10FAF0000000000000000000000000000000000006
:10FB000000000000000000000000000000000000F5
:10FB100000000000000000000000000000000000E5
:10FB200000000000000000000000000000000000D5
:10FB300000000000000000000000000000000000C5
:10FB400000000000000000000000000000000000B5
:10FB500000000000000000000000000000000000A5
:10FB60000000000000000000000000000000000095
:10FB70000000000000000000000000000000000085
:10FB80000000000000000000000000000000000075
:10FB90000000000000000000000000000000000065
:10FBA0000000000000000000000000000000000055
:10FBB0000000000000000000000000000000000045
:10FBC0000000000000000000000000000000000035
:10FBD0000000000000000000000000000000000025
:10FBE0000000000000000000000000000000000015
:10FBF0000000000000000000000000000000000005
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
:10F81000A828A8A848A88808284808E828C828A828
:10F8200008C828C828A80CC80C0C0C0C0808080824
:10F830000C0C0C0C080C0808080810102020C02024
:10F840002040804000000000000000008080808098
:10F850008080808080808080808080808180158210
:10F86000542A00801F0020202F202F282020252010
:10F870002A2A2A2A27282120282F202F2827282B08
:10F8800020272827282B2027202020202020202048
:10F8900020202020202020204020404040401F20C9
:10F8A0002010081005050505050505050908090AC4
:10F8B000090A090A080A08080808080808080508C3
:10F8C000020500020000000000000000000000002F
:10F8D0000000000000000000000000000000000028
:10F8E0000000000000000000000000000000000018
:10F8F0000000000000000000000000000000000008
:10F9000000000000000000000000000000000000F7
:10F9100000000000000000000000000000000000E7
:10F9200000000000000000000000000000000000D7
:10F9300000000000000000000000000000000000C7
:10F9400000000000000000000000000000000000B7
:10F9500000000000000000000000000000000000A7
:10F960000000000000000000000000000000000097
:10F970000000000000000000000000000000000087
:10F980000000000000000000000000000000000077
:10F990000000000000000000000000000000000067
:10F9A0000000000000000000000000000000000057
:10F9B0000000000000000000000000000000000047
:10F9C0000000000000000000000000000000000037
:10F9D0000000000000000000000000000000000027
:10F9E0000000000000000000000000000000000017
:10F9F0000000000000000000000000000000000007
:10FA000000000000000000000000000000000000F6
:10FA100000000000000000000000000000000000E6
:10FA200000000000000000000000000000000000D6
:10FA300000000000000000000000000000000000C6
:10FA400000000000000000000000000000000000B6
:10FA500000000000000000000000000000000000A6
:10FA60000000000000000000000000000000000096
:10FA70000000000000000000000000000000000086
:10FA80000000000000000000000000000000000076
:10FA90000000000000000000000000000000000066
:10FAA0000000000000000000000000000000000056
:10FAB0000000000000000000000000000000000046
:10FAC0000000000000000000000000000000000036
:10FAD0000000000000000000000000000000000026
:10FAE0000000000000000000000000000000000016
:10FAF0000000000000000000000000000000000006
:10FB000000000000000000000000000000000000F5
:10FB100000000000000000000000000000000000E5
:10FB200000000000000000000000000000000000D5
:10FB300000000000000000000000000000000000C5
:10FB400000000000000000000000000000000000B5
:10FB500000000000000000000000000000000000A5
:10FB60000000000000000000000000000000000095
:10FB70000000000000000000000000000000000085
:10FB80000000000000000000000000000000000075
:10FB90000000000000000000000000000000000065
:10FBA0000000000000000000000000000000000055
:10FBB0000000000000000000000000000000000045
:10FBC0000000000000000000000000000000000035
:10FBD0000000000000000000000000000000000025
:10FBE0000000000000000000000000000000000015
:10FBF0000000000000000000000000000000000005
:10F8000055AA0DF0F800E808A8A8AC28ECACC80888
:10F81000A828A8A848A88808284808E828C828A828
:10F8200008C828C828A80CC80C0C0C0C0808080824
:10F830000C0C0C0C080C0808080810102020C02024
:10F840002040804000000000000000008080808098
:10F850008080808080808080808080808180158210
:10F86000542A00801F0020202F202F282020252010
:10F870002A2A2A2A27282120282F202F2827282B08
:10F8800020272827282B2027202020202020202048
:10F8900020202020202020204020404040401F20C9
:10F8A0002010081005050505050505050908090AC4
:10F8B000090A090A080A08080808080808080508C3
:10F8C000020500020000000000000000000000002F
:10F8D0000000000000000000000000000000000028
:10F8E0000000000000000000000000000000000018
:10F8F0000000000000000000000000000000000008
:10F9000000000000000000000000000000000000F7
:10F9100000000000000000000000000000000000E7
:10F9200000000000000000000000000000000000D7
:10F9300000000000000000000000000000000000C7
:10F9400000000000000000000000000000000000B7
:10F9500000000000000000000000000000000000A7
:10F960000000000000000000000000000000000097
:10F970000000000000000000000000000000000087
:10F980000000000000000000000000000000000077
:10F990000000000000000000000000000000000067
:10F9A0000000000000000000000000000000000057
:10F9B0000000000000000000000000000000000047
:10F9C0000000000000000000000000000000000037
:10F9D0000000000000000000000000000000000027
:10F9E0000000000000000000000000000000000017
:10F9F0000000000000000000000000000000000007
:10FA000000000000000000000000000000000000F6
:10FA100000000000000000000000000000000000E6
:10FA200000000000000000000000000000000000D6
:10FA300000000000000000000000000000000000C6
:10FA400000000000000000000000000000000000B6
:10FA500000000000000000000000000000000000A6
:10FA60000000000000000000000000000000000096
:10FA70000000000000000000000000000000000086
:10FA80000000000000000000000000000000000076
:10FA90000000000000000000000000000000000066
:10FAA0000000000000000000000000000000000056
:10FAB0000000000000000000000000000000000046
:10FAC0000000000000000000000000000000000036
:10FAD0000000000000000000000000000000000026
:10FAE0000000000000000000000000000000000016
:10FAF0000000000000000000000000000000000006
:10FB000000000000000000000000000000000000F5
:10FB100000000000000000000000000000000000E5
:10FB200000000000000000000000000000000000D5
:10FB300000000000000000000000000000000000C5
:10FB400000000000000000000000000000000000B5
:10FB500000000000000000000000000000000000A5
:10FB60000000000000000000000000000000000095
:10FB70000000000000000000000000000000000085
:10FB80000000000000000000000000000000000075
:10FB90000000000000000000000000000000000065
:10FBA0000000000000000000000000000000000055
:10FBB0000000000000000000000000000000000045
:10FBC0000000000000000000000000000000000035
:10FBD0000000000000000000000000000000000025
:10FBE0000000000000000000000000000000000015
:10FBF0000000000000000000000000000000000005
:00000001FF

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -7,7 +7,11 @@ import io
from datetime import datetime from datetime import datetime
import sys import sys
import fontTables import fontTables
import re
import subprocess
TRANSLATION_CPP = "Translation.cpp" TRANSLATION_CPP = "Translation.cpp"
UNIT_H = "unit.h"
try: try:
to_unicode = unicode to_unicode = unicode
@@ -29,6 +33,7 @@ def loadJson(fileName, skipFirstLine):
# Reading all language translations into a dictionary by langCode # Reading all language translations into a dictionary by langCode
def readTranslations(jsonDir): def readTranslations(jsonDir):
langDict = {} langDict = {}
UnitDict = {}
# Read all translation files from the input dir # Read all translation files from the input dir
for fileName in os.listdir(jsonDir): for fileName in os.listdir(jsonDir):
@@ -53,14 +58,19 @@ def readTranslations(jsonDir):
except KeyError: except KeyError:
langCodeFromJson = "(missing)" langCodeFromJson = "(missing)"
try:
TempUnitF_FromJson = lang['tempUnitFahrenheit']
except KeyError:
TempUnitF_FromJson = True # Default to true.
# ...cause they should be the same! # ...cause they should be the same!
if langCode != langCodeFromJson: if langCode != langCodeFromJson:
raise ValueError("Invalid languageCode " + langCodeFromJson + raise ValueError("Invalid languageCode " + langCodeFromJson +
" in file " + fileName) " in file " + fileName)
langDict[langCode] = lang langDict[langCode] = lang
UnitDict[langCode] = TempUnitF_FromJson
return langDict return langDict, UnitDict
def writeStart(f): def writeStart(f):
@@ -75,6 +85,23 @@ def writeStart(f):
""")) """))
def writeStartUnit(f):
f.write(
to_unicode(
"""// WARNING: THIS FILE WAS AUTO GENERATED BY make_translation.py. PLEASE DO NOT EDIT.
/**
* °F Fahrenheit Support
* You will find the default Fahrenheit configuration in the translation_xx.json
* If tempUnitFahrenheit is set to:
* true - you can switch in menu settings to Fahrenheit or Celsius.
* false - you see only Celsius. All settings are then is in Celsius only.
*/
#ifndef _UNIT_H
#define _UNIT_H\n
"""))
def escapeC(s): def escapeC(s):
return s.replace("\"", "\\\"") return s.replace("\"", "\\\"")
@@ -94,7 +121,7 @@ def getConstants():
consants.append(('SymbolVolts', 'V')) consants.append(('SymbolVolts', 'V'))
consants.append(('SymbolDC', 'DC')) consants.append(('SymbolDC', 'DC'))
consants.append(('SymbolCellCount', 'S')) consants.append(('SymbolCellCount', 'S'))
consants.append(('SymbolVersionNumber', 'V2.07')) consants.append(('SymbolVersionNumber', buildVersion))
return consants return consants
@@ -451,10 +478,44 @@ def writeLanguage(languageCode, defs, f):
f.write(to_unicode("#endif\n")) f.write(to_unicode("#endif\n"))
def writeUnit(languageCode, defs, f, UnitCodes):
print("Generating unit block for " + languageCode)
lang = langDict[languageCode]
unit = UnitDict[UnitCodes]
try:
langName = lang['languageLocalName']
except KeyError:
langName = languageCode
f.write(to_unicode(" #ifdef LANG_" + languageCode + "\n"))
if unit:
f.write(to_unicode(" #define ENABLED_FAHRENHEIT_SUPPORT" + "\n"))
else: f.write(to_unicode(" //#define ENABLED_FAHRENHEIT_SUPPORT" + "\n"))
# ----- Block end
f.write(to_unicode(" #endif /* ---- " + langName + " ---- */\n"))
def readVersion():
with open(os.path.relpath(jsonDir +
"/../workspace/TS100/version.h"),"r") as version_file:
try:
for line in version_file:
if re.findall(r'^.*(?<=(#define)).*(?<=(BUILD_VERSION))', line):
line = re.findall(r'\"(.+?)\"',line)
if line:
version = line[0]
try: version += "."+ subprocess.check_output(
["git","rev-parse", "--short=7", "HEAD"]).strip().decode('ascii').upper()
# --short=7: the shorted hash with 7 digits. Increase/decrease if needed!
except OSError: version += " git"
finally:
if version_file:
version_file.close();
return version
def read_opts(): def read_opts():
""" Reading input parameters """ Reading input parameters
First parameter = json directory First parameter = json directory
Second parameter = target directory Second parameter = translation directory
Third paramter = unit directory
""" """
if len(sys.argv) > 1: if len(sys.argv) > 1:
jsonDir = sys.argv[1] jsonDir = sys.argv[1]
@@ -462,15 +523,21 @@ def read_opts():
jsonDir = "." jsonDir = "."
if len(sys.argv) > 2: if len(sys.argv) > 2:
outFile = sys.argv[2] outFileTranslationCPP = sys.argv[2]
else: else:
outDir = os.path.relpath(jsonDir + "/../workspace/TS100/Core/Src") outDir = os.path.relpath(jsonDir + "/../workspace/TS100/Core/Src")
outFile = os.path.join(outDir, TRANSLATION_CPP) outFileTranslationCPP = os.path.join(outDir, TRANSLATION_CPP)
if len(sys.argv) > 3: if len(sys.argv) > 3:
outFileUnitH = sys.argv[3]
else:
outDir = os.path.relpath(jsonDir + "/../workspace/TS100/Core/Inc")
outFileUnitH = os.path.join(outDir,UNIT_H)
if len(sys.argv) > 4:
raise Exception("Too many parameters!") raise Exception("Too many parameters!")
return jsonDir, outFile return jsonDir, outFileTranslationCPP, outFileUnitH
def orderOutput(langDict): def orderOutput(langDict):
@@ -488,27 +555,37 @@ def orderOutput(langDict):
return mandatoryOrder return mandatoryOrder
def writeTarget(outFile, defs, langCodes): def writeTarget(outFileTranslationCPP, outFileUnitH, defs, langCodes, UnitCodes):
# Start writing the file # Start writing the file
with io.open(outFile, 'w', encoding='utf-8', newline="\n") as f: with io.open(outFileTranslationCPP, 'w', encoding='utf-8', newline="\n") as f:
writeStart(f) writeStart(f)
for langCode in langCodes: for langCode in langCodes:
writeLanguage(langCode, defs, f) writeLanguage(langCode, defs, f)
with io.open(outFileUnitH, 'w', encoding='utf-8', newline="\n") as f:
writeStartUnit(f)
for langCode, UnitCode in zip(langCodes, UnitCodes):
writeUnit(langCode, defs, f, UnitCode)
f.write(to_unicode("\n#endif /* _UNIT_H */\n"))
if __name__ == "__main__": if __name__ == "__main__":
try: try:
jsonDir, outFile = read_opts() jsonDir, outFileTranslationCPP, outFileUnitH = read_opts()
except: except:
print("usage: make_translation.py {json dir} {cpp dir}") print("usage: make_translation.py {json dir} {cpp dir}")
sys.exit(1) sys.exit(1)
print("Making " + outFile + " from " + jsonDir) try: buildVersion = readVersion()
except: print("error: could not get/extract build version"); sys.exit(1)
langDict = readTranslations(jsonDir) print("Build version: " + buildVersion)
print("Making " + outFileTranslationCPP + " from " + jsonDir)
print("Making " + outFileUnitH + " from " + jsonDir)
langDict, UnitDict = readTranslations(jsonDir)
defs = loadJson(os.path.join(jsonDir, "translations_def.js"), True) defs = loadJson(os.path.join(jsonDir, "translations_def.js"), True)
langCodes = orderOutput(langDict) langCodes = orderOutput(langDict)
writeTarget(outFile, defs, langCodes) UnitCodes = orderOutput(UnitDict)
writeTarget(outFileTranslationCPP, outFileUnitH, defs, langCodes, UnitCodes)
print("Done") print("Done")

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "ВРЪХ ЛОША ВРЪЗКА", "TipDisconnectedString": "ВРЪХ ЛОША ВРЪЗКА",
"SolderingAdvancedPowerPrompt": "Захранване: ", "SolderingAdvancedPowerPrompt": "Захранване: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -29,7 +29,11 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "P" "SettingSlowChar": "P",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -230,6 +234,46 @@
"ve wattech" "ve wattech"
], ],
"desc": "Výkon použítého napájecího adaptéru ve wattech." "desc": "Výkon použítého napájecího adaptéru ve wattech."
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "TIP DISCONNECTED", "TipDisconnectedString": "TIP DISCONNECTED",
"SolderingAdvancedPowerPrompt": "Power: ", "SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "H", "SettingRightChar": "H",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "S"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -2,6 +2,7 @@
"languageCode": "DE", "languageCode": "DE",
"languageLocalName": "Deutsch", "languageLocalName": "Deutsch",
"cyrillicGlyphs": false, "cyrillicGlyphs": false,
"tempUnitFahrenheit": false,
"messages": { "messages": {
"SettingsCalibrationDone": "Kalibrierung abgeschlossen!", "SettingsCalibrationDone": "Kalibrierung abgeschlossen!",
"SettingsCalibrationWarning": "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!", "SettingsCalibrationWarning": "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!",
@@ -10,7 +11,7 @@
"UndervoltageString": "Unterspannung", "UndervoltageString": "Unterspannung",
"InputVoltageString": "V Eingang: ", "InputVoltageString": "V Eingang: ",
"WarningTipTempString": "Temperatur: ", "WarningTipTempString": "Temperatur: ",
"BadTipString": "DEFEKT", "BadTipString": "Spitze Defekt",
"SleepingSimpleString": "Zzz ", "SleepingSimpleString": "Zzz ",
"SleepingAdvancedString": "Ruhemodus...", "SleepingAdvancedString": "Ruhemodus...",
"WarningSimpleString": "HEIß", "WarningSimpleString": "HEIß",
@@ -21,14 +22,20 @@
"TipDisconnectedString": "Spitze fehlt", "TipDisconnectedString": "Spitze fehlt",
"SolderingAdvancedPowerPrompt": "Leistung: ", "SolderingAdvancedPowerPrompt": "Leistung: ",
"OffString": "Aus", "OffString": "Aus",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK",
"YourGainMessage": "Your Gain:",
"SettingsResetMessage": "Einstellungen\nzurück gesetzt!"
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -48,7 +55,7 @@
}, },
"UIMenu": { "UIMenu": {
"text2": [ "text2": [
"Menü-", "Anzeige-",
"einstellungen" "einstellungen"
], ],
"desc": "Menüeinstellungen" "desc": "Menüeinstellungen"
@@ -56,14 +63,14 @@
"AdvancedMenu": { "AdvancedMenu": {
"text2": [ "text2": [
"Erweiterte", "Erweiterte",
"Einstellungen" "Optionen"
], ],
"desc": "Erweiterte Einstellungen" "desc": "Erweiterte Einstellungen"
} }
}, },
"menuOptions": { "menuOptions": {
"PowerSource": { "PowerSource": {
"text": "", "text": "PWRSC",
"text2": [ "text2": [
"Spannungs-", "Spannungs-",
"quelle" "quelle"
@@ -71,15 +78,15 @@
"desc": "Spannungsquelle (Abschaltspannung) <DC=10V, nS=n*3.3V für n LiIon-Zellen>" "desc": "Spannungsquelle (Abschaltspannung) <DC=10V, nS=n*3.3V für n LiIon-Zellen>"
}, },
"SleepTemperature": { "SleepTemperature": {
"text": "", "text": "STMP",
"text2": [ "text2": [
"Ruhetemp-", "Ruhetemp-",
"eratur" "eratur"
], ],
"desc": "Ruhetemperatur (In der eingestellten Einheit)" "desc": "Ruhetemperatur"
}, },
"SleepTimeout": { "SleepTimeout": {
"text": "", "text": "STME",
"text2": [ "text2": [
"Ruhever-", "Ruhever-",
"zögerung" "zögerung"
@@ -87,7 +94,7 @@
"desc": "Ruhemodus nach <Sekunden/Minuten>" "desc": "Ruhemodus nach <Sekunden/Minuten>"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"text": "", "text": "SHTME",
"text2": [ "text2": [
"Abschalt-", "Abschalt-",
"zeit" "zeit"
@@ -95,7 +102,7 @@
"desc": "Abschalten nach <Minuten>" "desc": "Abschalten nach <Minuten>"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"text": "", "text": "MSENSE",
"text2": [ "text2": [
"Bewegungs-", "Bewegungs-",
"empfindlichk." "empfindlichk."
@@ -103,7 +110,7 @@
"desc": "Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>" "desc": "Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"text": "", "text": "TMPUNT",
"text2": [ "text2": [
"Temperatur-", "Temperatur-",
"einheit" "einheit"
@@ -111,15 +118,15 @@
"desc": "Temperatureinheit <C=Celsius, F=Fahrenheit>" "desc": "Temperatureinheit <C=Celsius, F=Fahrenheit>"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"text": "", "text": "ADVIDL",
"text2": [ "text2": [
"Detaillierte", "Detaillierte",
"Ruheansicht" "Ruheansicht"
], ],
"desc": "Detaillierte Anzeige im Ruhemodus <J=An, N=Aus>" "desc": "Detaillierte Anzeige im Ruhemodus"
}, },
"DisplayRotation": { "DisplayRotation": {
"text": "", "text": "DSPROT",
"text2": [ "text2": [
"Anzeige-", "Anzeige-",
"ausrichtung" "ausrichtung"
@@ -127,15 +134,15 @@
"desc": "Ausrichtung der Anzeige <A=Automatisch, L=Linkshändig, R=Rechtshändig>" "desc": "Ausrichtung der Anzeige <A=Automatisch, L=Linkshändig, R=Rechtshändig>"
}, },
"BoostEnabled": { "BoostEnabled": {
"text": "", "text": "BOOST",
"text2": [ "text2": [
"Boosttaste", "Boosttaste",
"aktiv?" "aktiv?"
], ],
"desc": "Vordere Taste für Temperaturboost verwenden <J=An, N=Aus>" "desc": "Vordere Taste lange drücken für Temperatur-Boostmodus beim Löten"
}, },
"BoostTemperature": { "BoostTemperature": {
"text": "", "text": "BTMP",
"text2": [ "text2": [
"Boosttemp-", "Boosttemp-",
"eratur" "eratur"
@@ -143,23 +150,23 @@
"desc": "Temperatur im Boostmodus (In der eingestellten Einheit)" "desc": "Temperatur im Boostmodus (In der eingestellten Einheit)"
}, },
"AutoStart": { "AutoStart": {
"text": "", "text": "ASTART",
"text2": [ "text2": [
"Start im", "Start im",
"Lötmodus?" "Lötmodus?"
], ],
"desc": "Automatischer Start des Lötmodus beim Einschalten der Spannungsversorgung. <J=An, N=Aus>" "desc": "Automatischer Start-Modus beim Einschalten der Spannungsversorgung. <T=Lötmodus S=Ruhezustand F=Aus>"
}, },
"CooldownBlink": { "CooldownBlink": {
"text": "", "text": "CLBLNK",
"text2": [ "text2": [
"Abkühl-", "Abkühl-",
"blinken?" "blinken?"
], ],
"desc": "Blinkende Temperaturanzeige beim Abkühlen, solange heiß. <J=An, N=Aus>" "desc": "Blinkende Temperaturanzeige beim Abkühlen, solange heiß ist."
}, },
"TemperatureCalibration": { "TemperatureCalibration": {
"text": "", "text": "TMP CAL?",
"text2": [ "text2": [
"Temperatur", "Temperatur",
"kalibrieren?" "kalibrieren?"
@@ -167,15 +174,15 @@
"desc": "Kalibrierung der Lötspitzentemperatur" "desc": "Kalibrierung der Lötspitzentemperatur"
}, },
"SettingsReset": { "SettingsReset": {
"text": "", "text": "RESET?",
"text2": [ "text2": [
"Einstellungen", "Einstellungen",
"zurücksetzen?" "zurücksetzen?"
], ],
"desc": "Alle Einstellungen zurücksetzen" "desc": "Einstellungen auf werkseinstellungen zurück setzen"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"text": "", "text": "CAL VIN?",
"text2": [ "text2": [
"Eingangsspannung", "Eingangsspannung",
"kalibrieren?" "kalibrieren?"
@@ -183,20 +190,20 @@
"desc": "Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen." "desc": "Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen."
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"text": "", "text": "ADVSLD",
"text2": [ "text2": [
"Detaillierte", "Detaillierte",
"Lötansicht" "Lötansicht"
], ],
"desc": "Detaillierte Anzeige im Lötmodus <J=An, N=Aus>" "desc": "Detaillierte Anzeige im Lötmodus"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"text": "", "text": "DESCSP",
"text2": [ "text2": [
"Scroll-", "Scroll-",
"geschw." "geschw."
], ],
"desc": "Scrollgeschwindigkeit der Texte" "desc": "Scrollgeschwindigkeit der Texte <S=Langsam F=Schnell>"
}, },
"TipModel": { "TipModel": {
"text": "TIPMO", "text": "TIPMO",
@@ -226,9 +233,50 @@
"text": "PWRW", "text": "PWRW",
"text2": [ "text2": [
"Leistungs-", "Leistungs-",
"aufnahme" "Aufnahme"
], ],
"desc": "Leistungsaufnahme der verwendeten Spannungsversorgung" "desc": "Leistungsaufnahme der verwendeten Spannungsversorgung"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"Leistungs-",
"Limit An"
],
"desc": "Leistungslimit aktivieren"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Leistungs-",
"Limit"
],
"desc": "Maximale aufnahme der Lötspitze <Watt>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Taste +-",
"Umkehren?"
],
"desc": "Temperatur-Änderungs-Tasten-Belegung Plus-Minus umkehren?"
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"T. Schritt",
"Taste kurz?"
],
"desc": "Temperaturwechselschritte bei kurzem Tastendruck!"
}
,
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"T. Schritt",
"Taste Lang?"
],
"desc": "Temperaturwechselschritte bei langem Tastendruck!"
} }
} }
} }

View File

@@ -2,6 +2,7 @@
"languageCode": "EN", "languageCode": "EN",
"languageLocalName": "English", "languageLocalName": "English",
"cyrillicGlyphs": false, "cyrillicGlyphs": false,
"tempUnitFahrenheit": true,
"messages": { "messages": {
"SettingsCalibrationDone": "Calibration done!", "SettingsCalibrationDone": "Calibration done!",
"SettingsCalibrationWarning": "Please ensure the tip is at room temperature before continuing!", "SettingsCalibrationWarning": "Please ensure the tip is at room temperature before continuing!",
@@ -30,7 +31,11 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -70,7 +75,7 @@
"Power", "Power",
"source" "source"
], ],
"desc": "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell>" "desc": "Power source. Sets cutoff voltage. <DC 10V> <S 3.3V per cell, disable power limit>"
}, },
"SleepTemperature": { "SleepTemperature": {
"text": "STMP", "text": "STMP",
@@ -78,7 +83,7 @@
"Sleep", "Sleep",
"temp" "temp"
], ],
"desc": "Sleep Temperature <C>" "desc": "Sleep Temperature"
}, },
"SleepTimeout": { "SleepTimeout": {
"text": "STME", "text": "STME",
@@ -102,7 +107,7 @@
"Motion", "Motion",
"sensitivity" "sensitivity"
], ],
"desc": "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>" "desc": "Motion Sensitivity <0=Off 1=Least Sensitive 9=Most Sensitive>"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"text": "TMPUNT", "text": "TMPUNT",
@@ -126,7 +131,7 @@
"Display", "Display",
"orientation" "orientation"
], ],
"desc": "Display Orientation <A. Automatic L. Left Handed R. Right Handed>" "desc": "Display Orientation <A=Automatic L=Left Handed R=Right Handed>"
}, },
"BoostEnabled": { "BoostEnabled": {
"text": "BOOST", "text": "BOOST",
@@ -134,7 +139,7 @@
"Boost mode", "Boost mode",
"enabled" "enabled"
], ],
"desc": "Enable front key enters boost mode 450C mode when soldering" "desc": "Enable front key long press \"Boost\" mode when soldering"
}, },
"BoostTemperature": { "BoostTemperature": {
"text": "BTMP", "text": "BTMP",
@@ -142,7 +147,7 @@
"Boost", "Boost",
"temp" "temp"
], ],
"desc": "Temperature when in \"boost\" mode" "desc": "Temperature when in \"Boost\" mode"
}, },
"AutoStart": { "AutoStart": {
"text": "ASTART", "text": "ASTART",
@@ -150,7 +155,7 @@
"Auto", "Auto",
"start" "start"
], ],
"desc": "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off" "desc": "Automatically starts the iron into soldering on power up <T=Soldering S=Sleep F=Off>"
}, },
"CooldownBlink": { "CooldownBlink": {
"text": "CLBLNK", "text": "CLBLNK",
@@ -198,7 +203,7 @@
"Scrolling", "Scrolling",
"Speed" "Speed"
], ],
"desc": "Speed this text scrolls past at" "desc": "Speed this text scrolls past at <S=Slow F=Fast>"
}, },
"TipModel": { "TipModel": {
"text": "TIPMO", "text": "TIPMO",
@@ -231,6 +236,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -1,64 +1,70 @@
{ {
"languageCode": "ES", "languageCode": "ES",
"languageLocalName": "Español", "languageLocalName": "Castellano",
"cyrillicGlyphs": false, "cyrillicGlyphs": false,
"messages": { "messages": {
"SettingsCalibrationDone": "Calibration done!", "SettingsCalibrationDone": "¡Calibrada!",
"SettingsCalibrationWarning": "¡Asegúrese que la punta esté a temperatura ambiente antes de proceder!", "SettingsCalibrationWarning": "¡Asegúrate que la punta esté a temperatura ambiente antes de empezar!",
"SettingsResetWarning": "¿Está seguro de volver a estado de fábrica?", "SettingsResetWarning": "¿Quieres restablecer los ajustes?",
"UVLOWarningString": "DC BAJO", "UVLOWarningString": "CC BAJA",
"UndervoltageString": "Subtensión", "UndervoltageString": "Voltaje bajo",
"InputVoltageString": "V entrada: ", "InputVoltageString": "Voltaje: ",
"WarningTipTempString": "Temp Punta: ", "WarningTipTempString": "Temp punta: ",
"BadTipString": "ER PUNTA", "BadTipString": "PT. ROTA",
"SleepingSimpleString": "Zzzz", "SleepingSimpleString": "Zzzz",
"SleepingAdvancedString": "En reposo...", "SleepingAdvancedString": "En reposo...",
"WarningSimpleString": "TEMP", "WarningSimpleString": "QUEMA",
"WarningAdvancedString": "¡PUNTA CALIENTE!", "WarningAdvancedString": LA PUNTA QUEMA!",
"SleepingTipAdvancedString": "Punta:", "SleepingTipAdvancedString": "Punta:",
"IdleTipString": "Punta:", "IdleTipString": "Punta:",
"IdleSetString": " Aj:", "IdleSetString": " Aj:",
"TipDisconnectedString": "SIN PUNTA", "TipDisconnectedString": "NO HAY PUNTA",
"SolderingAdvancedPowerPrompt": "POTENCIA: ", "SolderingAdvancedPowerPrompt": "Potencia: ",
"OffString": "Off", "OffString": " No",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Hecho. ",
"YourGainMessage": "Gananc.:",
"SettingsResetMessage": "Restablecidos."
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "I", "SettingLeftChar": "I",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "S",
"SettingStartSleepChar": "R",
"SettingStartSleepOffChar": "F",
"SettingStartNoneChar": "N"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
"SolderingMenu": { "SolderingMenu": {
"text2": [ "text2": [
"Opciones de", "Ajustes de",
"Soldadura" "soldadura"
], ],
"desc": "Opciones de Soldadura" "desc": "Ajustes para soldar."
}, },
"PowerSavingMenu": { "PowerSavingMenu": {
"text2": [ "text2": [
"Modos de", "Modos de",
"Reposo" "reposo"
], ],
"desc": "Opciones de ahorro energético" "desc": "Ajustes de ahorro energético."
}, },
"UIMenu": { "UIMenu": {
"text2": [ "text2": [
"Interfaz", "Interfaz",
"de Usuario" "de usuario"
], ],
"desc": "Opciones de interfaz de usuario" "desc": "Ajustes de interfaz de usuario."
}, },
"AdvancedMenu": { "AdvancedMenu": {
"text2": [ "text2": [
"Opciones", "Ajustes",
"Avanzadas" "avanzados"
], ],
"desc": "Opciones avanzadas" "desc": "Ajustes avanzados."
} }
}, },
"menuOptions": { "menuOptions": {
@@ -68,39 +74,39 @@
"Fuente", "Fuente",
"de energía" "de energía"
], ],
"desc": "Fuente de energía. Ajusta el límite inferior de voltaje. <DC=10V S=3.3V por celda>" "desc": "Elige el tipo de fuente para limitar el voltaje <DC 10V> <S 3,3V por pila, ilimitado>"
}, },
"SleepTemperature": { "SleepTemperature": {
"text": "STMP", "text": "STMP",
"text2": [ "text2": [
"Temp en", "Temperatura",
"reposo" "en reposo"
], ],
"desc": "Temperatura en reposo. <C>" "desc": "Temperatura de la punta en reposo."
}, },
"SleepTimeout": { "SleepTimeout": {
"text": "STME", "text": "STME",
"text2": [ "text2": [
"Tiempo h.", "Entrar",
"reposo" "en reposo"
], ],
"desc": "Tiempo hasta activar reposo. <Minutos>" "desc": "Tiempo de inactividad para entrar en reposo <min/seg>"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"text": "SHTME", "text": "SHTME",
"text2": [ "text2": [
"Tiempo h.", "Tiempo de",
"apagado" "apagado"
], ],
"desc": "Tiempo hasta apagado. <Minutos>" "desc": "Tiempo de inactividad para apagarse <en minutos>"
}, },
"MotionSensitivity": { "MotionSensitivity": {
"text": "MSENSE", "text": "MSENSE",
"text2": [ "text2": [
"Sensibilidad", "Detección de",
"al movimiento" "movimiento"
], ],
"desc": "Sensibilidad del movimiento. <0=Apagado 1=El menos sensible 9=El más sensible>" "desc": "Tiempo de reacción al agarrar <0=no 1=menos sensible 9=más sensible>"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"text": "TMPUNT", "text": "TMPUNT",
@@ -108,15 +114,15 @@
"Unidad de", "Unidad de",
"temperatura" "temperatura"
], ],
"desc": "Unidad de temperatura." "desc": "Unidad de temperatura <C=centígrados F=Fahrenheit>"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"text": "ADVIDL", "text": "ADVIDL",
"text2": [ "text2": [
"Más info en", "Info extra en",
"modo inactivo" "modo reposo"
], ],
"desc": "Muestra información detallada pequena en la pantalla inactiva." "desc": "Muestra información detallada en letra pequeña al reposar."
}, },
"DisplayRotation": { "DisplayRotation": {
"text": "DSPROT", "text": "DSPROT",
@@ -124,71 +130,71 @@
"Orientación", "Orientación",
"de pantalla" "de pantalla"
], ],
"desc": "Orientación de la pantalla <A=Automático I=Mano izquierda D=Mano derecha>" "desc": "Orientación de la pantalla <A=automático I=zurdo D=diestro>"
}, },
"BoostEnabled": { "BoostEnabled": {
"text": "BOOST", "text": "BOOST",
"text2": [ "text2": [
"Boost botón", "Con botón de",
"activado" "temp. extra"
], ],
"desc": "Activar el botón \"Boost\" en modo soldadura." "desc": "Permite mantener pulsado el primer botón (A) al soldar y calentar momentáneamente un poco más."
}, },
"BoostTemperature": { "BoostTemperature": {
"text": "BTMP", "text": "BTMP",
"text2": [ "text2": [
"Temp en", "Ajustar la",
"Boost" "temp. extra"
], ],
"desc": "Temperatura en modo \"Boost\". <C>" "desc": "Temperatura momentánea que se alcanza al apretar el botón del modo extra."
}, },
"AutoStart": { "AutoStart": {
"text": "ASTART", "text": "ASTART",
"text2": [ "text2": [
"Soldadura", "Calentar",
"al enchufar" "al enchufar"
], ],
"desc": "Iniciar modo soldadura en el encendido. <V=Sí S=Modo reposo F=No>" "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": { "CooldownBlink": {
"text": "CLBLNK", "text": "CLBLNK",
"text2": [ "text2": [
"Parpadea m.", "Parpadear",
"enfriamiento" "al enfriar"
], ],
"desc": "Parpadea la temperatura en el enfriamiento si la punta sigue caliente." "desc": "La temperatura en pantalla parpadea mientras la punta siga caliente."
}, },
"TemperatureCalibration": { "TemperatureCalibration": {
"text": "TMP CAL?", "text": "TMP CAL?",
"text2": [ "text2": [
"Calibrar temp", "Calibrar temp.",
"de la punta" "de la punta"
], ],
"desc": "Calibrar desviación térmica de la punta." "desc": "Calibra la desviación térmica de la punta."
}, },
"SettingsReset": { "SettingsReset": {
"text": "RESET?", "text": "RESET?",
"text2": [ "text2": [
"Estado de", "Volver a ajustes",
"fábrica" "de fábrica"
], ],
"desc": "Volver a estado de fábrica." "desc": "Restablece todos los ajustes a los valores originales."
}, },
"VoltageCalibration": { "VoltageCalibration": {
"text": "CAL VIN?", "text": "CAL VIN?",
"text2": [ "text2": [
"Calibrar", "Calibrar voltaje",
"V entrada" "de entrada"
], ],
"desc": "Calibración VIN (Voltaje de entrada). Ajuste con ambos botones, pulsación larga para salir." "desc": "Calibra VIN. Ajusta con ambos botones y mantén pulsado para salir."
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"text": "ADVSLD", "text": "ADVSLD",
"text2": [ "text2": [
"Inf detallada", "Info extra",
"del soldadura" "al soldar"
], ],
"desc": "Mostrar información detallada mientras suelda." "desc": "Muestra más datos por pantalla cuando se está soldando."
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"text": "DESCSP", "text": "DESCSP",
@@ -196,39 +202,79 @@
"Velocidad", "Velocidad",
"del texto" "del texto"
], ],
"desc": "Velocidad de desplazamiento del texto." "desc": "Velocidad de desplazamiento del texto <R=rápida L=lenta>"
}, },
"TipModel": { "TipModel": {
"text": "TIPMO", "text": "TIPMO",
"text2": [ "text2": [
"Tip", "Modelo de",
"Model" "punta"
], ],
"desc": "Tip Model selection" "desc": "Elegir el modelo de punta actual."
}, },
"SimpleCalibrationMode": { "SimpleCalibrationMode": {
"text": "SMPCAL", "text": "SMPCAL",
"text2": [ "text2": [
"Simple", "Calibración",
"Calibration" "simple"
], ],
"desc": "Simple Calibration using Hot water" "desc": "Calibración simple con agua caliente."
}, },
"AdvancedCalibrationMode": { "AdvancedCalibrationMode": {
"text": "ADVCAL", "text": "ADVCAL",
"text2": [ "text2": [
"Advanced", "Calibración",
"Calibration" "avanzada"
], ],
"desc": "Advanced calibration using thermocouple on the tip" "desc": "Calibrar con un termopar en la punta; más difícil."
}, },
"PowerInput": { "PowerInput": {
"text": "PWRW", "text": "PWRW",
"text2": [ "text2": [
"Power", "Potencia de",
"Wattage" "entrada"
], ],
"desc": "Power Wattage of the power adapter used" "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": [
"Ajustar la",
"potenc. máx."
],
"desc": "Elige el límite de potencia máxima del soldador <en vatios>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "KÄRKI ON IRTI", "TipDisconnectedString": "KÄRKI ON IRTI",
"SolderingAdvancedPowerPrompt": "Teho: ", "SolderingAdvancedPowerPrompt": "Teho: ",
"OffString": "OFF", "OffString": "OFF",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "O", "SettingRightChar": "O",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "N", "SettingFastChar": "N",
"SettingSlowChar": "H" "SettingSlowChar": "H",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "PANNE DÉBRANCHÉE", "TipDisconnectedString": "PANNE DÉBRANCHÉE",
"SolderingAdvancedPowerPrompt": "Puissance: ", "SolderingAdvancedPowerPrompt": "Puissance: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "G", "SettingLeftChar": "G",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "V",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "D"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"l'alimentation" "l'alimentation"
], ],
"desc": "Puissance de l'alimentation utilisée" "desc": "Puissance de l'alimentation utilisée"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "VRH NIJE SPOJEN!", "TipDisconnectedString": "VRH NIJE SPOJEN!",
"SolderingAdvancedPowerPrompt": "Snaga: ", "SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "B", "SettingFastChar": "B",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"napajanja" "napajanja"
], ],
"desc": "Snaga modula za napajanje" "desc": "Snaga modula za napajanje"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "HEGY LEVÉVE", "TipDisconnectedString": "HEGY LEVÉVE",
"SolderingAdvancedPowerPrompt": "Telj: ", "SolderingAdvancedPowerPrompt": "Telj: ",
"OffString": "Ki", "OffString": "Ki",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "J", "SettingRightChar": "J",
"SettingLeftChar": "B", "SettingLeftChar": "B",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "G", "SettingFastChar": "G",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"teljesítmény" "teljesítmény"
], ],
"desc": "A tápegység által leadott teljesítmény" "desc": "A tápegység által leadott teljesítmény"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "PUNTA ASSENTE", "TipDisconnectedString": "PUNTA ASSENTE",
"SolderingAdvancedPowerPrompt": "Potenz:", "SolderingAdvancedPowerPrompt": "Potenz:",
"OffString": "OFF", "OffString": "OFF",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "S", "SettingLeftChar": "S",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "V", "SettingFastChar": "V",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "A",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "D"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"alimentaz" "alimentaz"
], ],
"desc": "Imposta la potenza massima erogabile dall'alimentatore in uso" "desc": "Imposta la potenza massima erogabile dall'alimentatore in uso"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "ANTGAL ATJUNGTAS", "TipDisconnectedString": "ANTGAL ATJUNGTAS",
"SolderingAdvancedPowerPrompt": "Maitinimas: ", "SolderingAdvancedPowerPrompt": "Maitinimas: ",
"OffString": "Išj", "OffString": "Išj",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "K", "SettingLeftChar": "K",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "T", "SettingFastChar": "T",
"SettingSlowChar": "N" "SettingSlowChar": "N",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"vatais" "vatais"
], ],
"desc": "Maitinimo bloko galia vatais" "desc": "Maitinimo bloko galia vatais"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "TIP LOSGEKOPPELD", "TipDisconnectedString": "TIP LOSGEKOPPELD",
"SolderingAdvancedPowerPrompt": "vermogen: ", "SolderingAdvancedPowerPrompt": "vermogen: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "Punt ONTKOPPELD", "TipDisconnectedString": "Punt ONTKOPPELD",
"SolderingAdvancedPowerPrompt": "Vermogen: ", "SolderingAdvancedPowerPrompt": "Vermogen: ",
"OffString": "Uit", "OffString": "Uit",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingSlowChar": "T" "SettingSlowChar": "T",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Watt" "Watt"
], ],
"desc": "Vermogen van de adapter" "desc": "Vermogen van de adapter"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "SPISS FRAKOBLET", "TipDisconnectedString": "SPISS FRAKOBLET",
"SolderingAdvancedPowerPrompt": "Effekt: ", "SolderingAdvancedPowerPrompt": "Effekt: ",
"OffString": "Av", "OffString": "Av",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "H", "SettingRightChar": "H",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "H", "SettingFastChar": "H",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "L",
"SettingStartSleepChar": "D",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "I"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "GROT ODŁĄCZONY", "TipDisconnectedString": "GROT ODŁĄCZONY",
"SolderingAdvancedPowerPrompt": "Power: ", "SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Wyłącz", "OffString": "Wyłącz",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "P", "SettingRightChar": "P",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "N"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattach" "Wattach"
], ],
"desc": "Moc używanego zasilacza w Watach" "desc": "Moc używanego zasilacza w Watach"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "SEM PONTA", "TipDisconnectedString": "SEM PONTA",
"SolderingAdvancedPowerPrompt": "Power: ", "SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "C", "SettingLeftChar": "C",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "R", "SettingFastChar": "R",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Fonte" "Fonte"
], ],
"desc": "Potência da fonte usada (Watt)" "desc": "Potência da fonte usada (Watt)"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -6,29 +6,35 @@
"SettingsCalibrationDone": "Калибровка выполнена!", "SettingsCalibrationDone": "Калибровка выполнена!",
"SettingsCalibrationWarning": "Убедитесь, что жало остыло до комнатной температуры, прежде чем продолжать!", "SettingsCalibrationWarning": "Убедитесь, что жало остыло до комнатной температуры, прежде чем продолжать!",
"SettingsResetWarning": "Вы действительно хотите сбросить настройки до значений по умолчанию?", "SettingsResetWarning": "Вы действительно хотите сбросить настройки до значений по умолчанию?",
"UVLOWarningString": "АККУМ--", "UVLOWarningString": "НАПРЯЖ--",
"UndervoltageString": "Под питанием", "UndervoltageString": "Под питанием",
"InputVoltageString": "Питание B: ", "InputVoltageString": "Питание B: ",
"WarningTipTempString": "Жало t°: ", "WarningTipTempString": "Жало t°: ",
"BadTipString": "Жало--", "BadTipString": "Жало--",
"SleepingSimpleString": "Сон ", "SleepingSimpleString": "Сон ",
"SleepingAdvancedString": "Ожидание...", "SleepingAdvancedString": "Ожидание...",
"WarningSimpleString": " АЙ!", "WarningSimpleString": " ГОРЯЧО!",
"WarningAdvancedString": "ВНИМАНИЕ ГОРЯЧО", "WarningAdvancedString": "!!! ГОРЯЧЕЕ ЖАЛО !!!",
"SleepingTipAdvancedString": "Жало:", "SleepingTipAdvancedString": "Жало:",
"IdleTipString": "Жало:", "IdleTipString": "Жало:",
"IdleSetString": " ->", "IdleSetString": " ->",
"TipDisconnectedString": ало отключено", "TipDisconnectedString": АЛО ОТСОЕДИНЕНО",
"SolderingAdvancedPowerPrompt": "Питание: ", "SolderingAdvancedPowerPrompt": "Питание: ",
"OffString": "Off", "OffString": "Выкл.",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Сброс OK",
"YourGainMessage": "Прирост:",
"SettingsResetMessage": "Настройки \nсброшены!"
}, },
"characters": { "characters": {
"SettingRightChar": "П", "SettingRightChar": "П",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "+", "SettingFastChar": "+",
"SettingSlowChar": "-" "SettingSlowChar": "-",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -68,7 +74,7 @@
"Источник", "Источник",
"питания" "питания"
], ],
"desc": "Источник питания. Установка напряжения отключения. <DC 10V> <S 3.3 V на батарею>" "desc": "Источник питания. Установка напряжения отключения. <DC = 10 В, S = 3.3 В на батарею, ограничение мощности выкл.>"
}, },
"SleepTemperature": { "SleepTemperature": {
"text": "Тожд", "text": "Тожд",
@@ -84,7 +90,7 @@
"Таймаут", "Таймаут",
"сна" "сна"
], ],
"desc": "Время до перехода в режим ожидания <Минуты>" "desc": "Время до перехода в режим ожидания <Минуты/Секунды>"
}, },
"ShutdownTimeout": { "ShutdownTimeout": {
"text": "Тоткл", "text": "Тоткл",
@@ -100,7 +106,7 @@
"Чувст. сенсо-", "Чувст. сенсо-",
"ра движения" "ра движения"
], ],
"desc": "Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>" "desc": "Акселерометр <0 = Выкл, 1 = Мин. чувствительный, 9 = Макс. чувствительный>"
}, },
"TemperatureUnit": { "TemperatureUnit": {
"text": "ЕдТемп", "text": "ЕдТемп",
@@ -108,7 +114,7 @@
"Формат темпе-", "Формат темпе-",
"ратуры(C°/F°)" "ратуры(C°/F°)"
], ],
"desc": "В чем измерять температуру" "desc": "Единица измерения температуры <C = Цельсия, F = Фаренгейт>"
}, },
"AdvancedIdle": { "AdvancedIdle": {
"text": "ИнфОжд", "text": "ИнфОжд",
@@ -124,7 +130,7 @@
"Автоповорот", "Автоповорот",
"экрана" "экрана"
], ],
"desc": "Ориентация дисплея <A. Автоматический, Л. Левая рука, П. Правая рука>" "desc": "Ориентация дисплея <A = Авто, Л = Левая рука, П = Правая рука>"
}, },
"BoostEnabled": { "BoostEnabled": {
"text": "Турбо", "text": "Турбо",
@@ -132,7 +138,7 @@
"Режим", "Режим",
"Турбо" "Турбо"
], ],
"desc": "Турбо-режим при удержании кнопки А при пайке " "desc": "Активирует \"Турбо-режим\" при удержании кнопки А во время пайки"
}, },
"BoostTemperature": { "BoostTemperature": {
"text": "Ттур", "text": "Ттур",
@@ -140,7 +146,7 @@
"Темпер.", "Темпер.",
"Турбо" "Турбо"
], ],
"desc": "Температура в турбо-режиме" "desc": "Температура в \"Турбо-режиме\""
}, },
"AutoStart": { "AutoStart": {
"text": "Астарт", "text": "Астарт",
@@ -148,7 +154,7 @@
"Горячий", "Горячий",
"старт" "старт"
], ],
"desc": "Автоматический запуск паяльника при включении питания. T=Нагрев, S=Режим ожидания,F=Выкл." "desc": "Автоматический запуск паяльника при включении питания <T = Нагрев, S = Режим ожидания, F = Выкл.>"
}, },
"CooldownBlink": { "CooldownBlink": {
"text": "Охлажд", "text": "Охлажд",
@@ -156,7 +162,7 @@
"Показ t° при", "Показ t° при",
"остывании" "остывании"
], ],
"desc": "Показывать температуру на экране охлаждения, пока жало остается горячим." "desc": "Показывать температуру на экране охлаждения, пока жало остается горячим"
}, },
"TemperatureCalibration": { "TemperatureCalibration": {
"text": "КалибрТ", "text": "КалибрТ",
@@ -164,7 +170,7 @@
"Калибровка", "Калибровка",
"температуры" "температуры"
], ],
"desc": "Калибровка термодатчика." "desc": "Калибровка термодатчика"
}, },
"SettingsReset": { "SettingsReset": {
"text": "СБРОС?", "text": "СБРОС?",
@@ -172,7 +178,7 @@
"Сбросить все", "Сбросить все",
"настройки?" "настройки?"
], ],
"desc": "Сброс всех настроек." "desc": "Сброс всех настроек"
}, },
"VoltageCalibration": { "VoltageCalibration": {
"text": "КалибрU?", "text": "КалибрU?",
@@ -180,7 +186,7 @@
"Калибровка", "Калибровка",
"напряжения" "напряжения"
], ],
"desc": "Калибровка напряжения входа. Настройка кнопками, нажать и удержать чтобы завершить." "desc": "Калибровка входного напряжения. Настройка кнопками, нажать и удержать чтобы завершить"
}, },
"AdvancedSoldering": { "AdvancedSoldering": {
"text": "ИнфПай", "text": "ИнфПай",
@@ -188,7 +194,7 @@
"Подробный ре-", "Подробный ре-",
"жим пайки" "жим пайки"
], ],
"desc": "Показывать детальную информацию при пайке." "desc": "Показывать детальную информацию при пайке"
}, },
"ScrollingSpeed": { "ScrollingSpeed": {
"text": "DESCSP", "text": "DESCSP",
@@ -225,10 +231,50 @@
"PowerInput": { "PowerInput": {
"text": "PWRW", "text": "PWRW",
"text2": [ "text2": [
"Power", "Мощность",
"Wattage" "адаптера"
], ],
"desc": "Power Wattage of the power adapter used" "desc": "Мощность используемого адаптера питания"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"Ограничение",
"мощности"
],
"desc": "Включает ограничение мощности потребления"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Максимальная",
"мощность"
],
"desc": "Макс. мощность, которую может использовать паяльник <Ватт>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "TIP DISCONNECTED", "TipDisconnectedString": "TIP DISCONNECTED",
"SolderingAdvancedPowerPrompt": "Power: ", "SolderingAdvancedPowerPrompt": "Power: ",
"OffString": "Off", "OffString": "Off",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -29,7 +29,11 @@
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "S", "SettingAutoChar": "S",
"SettingFastChar": "H", "SettingFastChar": "H",
"SettingSlowChar": "P" "SettingSlowChar": "P",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -230,6 +234,46 @@
"vira" "vira"
], ],
"desc": "Moč v W napajalnega vira" "desc": "Moč v W napajalnega vira"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН", "TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН",
"SolderingAdvancedPowerPrompt": "Снага: ", "SolderingAdvancedPowerPrompt": "Снага: ",
"OffString": "Иск", "OffString": "Иск",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "Д", "SettingRightChar": "Д",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "А", "SettingAutoChar": "А",
"SettingFastChar": "Б", "SettingFastChar": "Б",
"SettingSlowChar": "С" "SettingSlowChar": "С",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"снага" "снага"
], ],
"desc": "Снага напајања у ватима." "desc": "Снага напајања у ватима."
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "VRH NIJE SPOJEN", "TipDisconnectedString": "VRH NIJE SPOJEN",
"SolderingAdvancedPowerPrompt": "Snaga: ", "SolderingAdvancedPowerPrompt": "Snaga: ",
"OffString": "Isk", "OffString": "Isk",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "D", "SettingRightChar": "D",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "B", "SettingFastChar": "B",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"snaga" "snaga"
], ],
"desc": "Snaga napajanja u vatima." "desc": "Snaga napajanja u vatima."
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "SPETS URTAGEN", "TipDisconnectedString": "SPETS URTAGEN",
"SolderingAdvancedPowerPrompt": "Ström: ", "SolderingAdvancedPowerPrompt": "Ström: ",
"OffString": "Av", "OffString": "Av",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "H", "SettingRightChar": "H",
"SettingLeftChar": "V", "SettingLeftChar": "V",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "S", "SettingFastChar": "S",
"SettingSlowChar": "L" "SettingSlowChar": "L",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Wattage" "Wattage"
], ],
"desc": "Power Wattage of the power adapter used" "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"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "UÇ ÇIKARILDI", "TipDisconnectedString": "UÇ ÇIKARILDI",
"SolderingAdvancedPowerPrompt": "Güç: ", "SolderingAdvancedPowerPrompt": "Güç: ",
"OffString": "Kapalı", "OffString": "Kapalı",
"ResetOKMessage":"Reset Tamam" "ResetOKMessage": "Reset Tamam"
}, },
"characters": { "characters": {
"SettingRightChar": "R", "SettingRightChar": "R",
"SettingLeftChar": "L", "SettingLeftChar": "L",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "F", "SettingFastChar": "F",
"SettingSlowChar": "S" "SettingSlowChar": "S",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": false, "menuDouble": false,
"menuGroups": { "menuGroups": {
@@ -229,6 +233,46 @@
"Miktarı(W)" "Miktarı(W)"
], ],
"desc": "Kullanılan adaptörün güç miktarı" "desc": "Kullanılan adaptörün güç miktarı"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"P Limit",
"Enable"
],
"desc": "Enable power limit"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use <Watts>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -21,14 +21,18 @@
"TipDisconnectedString": "Жало вимкнено!", "TipDisconnectedString": "Жало вимкнено!",
"SolderingAdvancedPowerPrompt": "Живлення: ", "SolderingAdvancedPowerPrompt": "Живлення: ",
"OffString": "Вимк", "OffString": "Вимк",
"ResetOKMessage":"Reset OK" "ResetOKMessage": "Reset OK"
}, },
"characters": { "characters": {
"SettingRightChar": "П", "SettingRightChar": "П",
"SettingLeftChar": "Л", "SettingLeftChar": "Л",
"SettingAutoChar": "A", "SettingAutoChar": "A",
"SettingFastChar": "+", "SettingFastChar": "+",
"SettingSlowChar": "-" "SettingSlowChar": "-",
"SettingStartSolderingChar": "T",
"SettingStartSleepChar": "S",
"SettingStartSleepOffChar": "O",
"SettingStartNoneChar": "F"
}, },
"menuDouble": true, "menuDouble": true,
"menuGroups": { "menuGroups": {
@@ -177,7 +181,7 @@
"VoltageCalibration": { "VoltageCalibration": {
"text": "", "text": "",
"text2": [ "text2": [
"Калібровка", "Калібрування",
"напруги" "напруги"
], ],
"desc": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити." "desc": "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити."
@@ -229,6 +233,46 @@
"дж. живл." "дж. живл."
], ],
"desc": "Потужність джерела живлення в Ватах" "desc": "Потужність джерела живлення в Ватах"
},
"PowerLimitEnable": {
"text": "PLIMEN",
"text2": [
"Ліміт",
"потужності"
],
"desc": "Вмикає обмеження потужності споживання"
},
"PowerLimit": {
"text": "PLIM",
"text2": [
"Максимальна",
"потужність"
],
"desc": "Макс. потужність, яку може використовувати паяльник <Ват>"
},
"ReverseButtonTempChange": {
"text": "RVTCHG",
"text2": [
"Key +-",
"reverse?"
],
"desc": "Reverse the tip temperature change buttons plus minus assignment."
},
"TempChangeShortStep": {
"text": "TCHGST",
"text2": [
"Temp change",
"short?"
],
"desc": "Temperature change steps on short button press!"
},
"TempChangeLongStep": {
"text": "TCHGLT",
"text2": [
"Temp change",
"long?"
],
"desc": "Temperature change steps on long button press!"
} }
} }
} }

View File

@@ -116,6 +116,22 @@ var def =
{ {
"id": "SettingSlowChar", "id": "SettingSlowChar",
"len": 1 "len": 1
},
{
"id": "SettingStartSolderingChar",
"len": 1
},
{
"id": "SettingStartSleepChar",
"len": 1
},
{
"id": "SettingStartSleepOffChar",
"len": 1
},
{
"id": "SettingStartNoneChar",
"len": 1
} }
], ],
"menuGroups": [ "menuGroups": [
@@ -241,6 +257,31 @@ var def =
"id": "PowerInput", "id": "PowerInput",
"maxLen": 8, "maxLen": 8,
"maxLen2": 16 "maxLen2": 16
},
{
"id": "PowerLimitEnable",
"maxLen": 6,
"maxLen2": 13
},
{
"id": "PowerLimit",
"maxLen": 5,
"maxLen2": 11
},
{
"id": "ReverseButtonTempChange",
"maxLen": 6,
"maxLen2": 16
},
{
"id": "TempChangeShortStep",
"maxLen": 8,
"maxLen2": 16
},
{
"id": "TempChangeLongStep",
"maxLen": 6,
"maxLen2": 16
} }
] ]
} }

View File

@@ -1,280 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604" moduleId="org.eclipse.cdt.core.settings" name="Release">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.371966959" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.268924932" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.1807761944" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.16668176" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32F103T8Ux" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1774243727" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1519200339" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.2085586885" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1101562931" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F103T8Ux || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || ../ || || USE_HAL_DRIVER | STM32F103xB || || Startup || Drivers | Middlewares | Core || || ${workspace_loc:/${ProjName}/STM32F103T8UX_FLASH.ld} || true" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.1139950997" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1111393917" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/TS100}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.382006335" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.2103323603" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.1096256111" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1236938233" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.1567896324" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="MODEL_TS100"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1462975681" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.30611156" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1339073625" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.635455407" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.803860120" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="MODEL_TS100"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.830444742" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Device/ST/STM32F1xx/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Core/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3}&quot;"/>
</option>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.warnings.extra.831438684" name="Enable extra warning flags (-Wextra)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags.209834308" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-Wno-write-strings"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1520167136" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1389226967" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.320699143" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1467281053" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.786921488" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="MODEL_TS100"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.1822309991" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Device/ST/STM32F1xx/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Core/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3}&quot;"/>
</option>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.warnings.extra.2125869818" name="Enable extra warning flags (-Wextra)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.otherflags.1596069067" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.otherflags" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-fno-rtti"/>
<listOptionValue builtIn="false" value="-Wno-write-strings"/>
<listOptionValue builtIn="false" value="-fno-exceptions"/>
<listOptionValue builtIn="false" value="-fno-non-call-exceptions"/>
<listOptionValue builtIn="false" value="-fno-use-cxa-atexit"/>
<listOptionValue builtIn="false" value="-fno-strict-aliasing"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1159197200" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1444632567" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.270389521" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F103T8UX_FLASH.ld}" valueType="string"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.1357582083" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.1902507185" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.752998" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" useByScannerDiscovery="false" value="C:\Users\Ralim.DESKTOP-R877O7F\Documents\GitHub\ts100\workspace\TS100\LinkerScript.ld" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.otherflags.329644110" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.otherflags" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-flto"/>
</option>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.cref.145186443" name="Add symbol cross reference table to map file (-Wl,--cref)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.cref" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.1684195922" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1875744128" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.684181602" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.719558919" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.202432297" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.796590488" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.566015042" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.1489612670" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.1442634952" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Startup"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604.1040839551">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604.1040839551" moduleId="org.eclipse.cdt.core.settings" name="TS80">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604.1040839551" name="TS80" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604.1040839551." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.119279677" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.849152425" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.version.159605979" name="Internal Toolchain Version" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.version" useByScannerDiscovery="false" value="7-2018-q2-update" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu.1536164180" name="Mcu" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_mcu" useByScannerDiscovery="false" value="STM32F103T8Ux" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.1370739571" name="CpuId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.295605019" name="CpuCoreId" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.973266354" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.464348240" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.0 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32 || STM32F103T8Ux || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || ../ || || USE_HAL_DRIVER | STM32F103xB || || Startup || Drivers | Middlewares | Core || || ${workspace_loc:/${ProjName}/STM32F103T8UX_FLASH.ld} || true" valueType="string"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex.1607101911" name="Convert to Intel Hex file (-O ihex)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.converthex" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1970014216" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
<builder buildPath="${workspace_loc:/TS100}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1807978370" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.832589290" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.2021461351" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.debuglevel.value.g3" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths.1740040757" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="../"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols.1866744147" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="MODEL_TS80"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input.1978031483" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.input"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1462185687" name="MCU GCC Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.1548601111" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.457682077" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols.1260353799" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="MODEL_TS80"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths.540768214" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Device/ST/STM32F1xx/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Core/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3}&quot;"/>
</option>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.warnings.extra.1574359913" name="Enable extra warning flags (-Wextra)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags.1077707594" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.option.otherflags" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-Wno-write-strings"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1813870546" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.1660249714" name="MCU G++ Compiler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.16251983" name="Debug level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.debuglevel.value.g3" valueType="enumerated"/>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.1224833714" name="Optimization level" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.optimization.level.value.os" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols.1599760897" name="Define symbols (-D)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.definedsymbols" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="MODEL_TS80"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths.925084011" name="Include paths (-I)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.includepaths" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Device/ST/STM32F1xx/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/CMSIS/Include}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Core/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc/Legacy}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Drivers/STM32F1xx_HAL_Driver/Inc}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3}&quot;"/>
</option>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.warnings.extra.110760609" name="Enable extra warning flags (-Wextra)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.otherflags.834159935" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.option.otherflags" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-fno-rtti"/>
<listOptionValue builtIn="false" value="-Wno-write-strings"/>
<listOptionValue builtIn="false" value="-fno-exceptions"/>
<listOptionValue builtIn="false" value="-fno-non-call-exceptions"/>
<listOptionValue builtIn="false" value="-fno-use-cxa-atexit"/>
<listOptionValue builtIn="false" value="-fno-strict-aliasing"/>
</option>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp.1576964672" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.compiler.input.cpp"/>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.1130643119" name="MCU GCC Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script.215123120" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.option.script" value="${workspace_loc:/${ProjName}/STM32F103T8UX_FLASH.ld}" valueType="string"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input.300729142" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.227435340" name="MCU G++ Linker" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker">
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script.830347551" name="Linker Script (-T)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.script" useByScannerDiscovery="false" value="C:\Users\Ralim.DESKTOP-R877O7F\Documents\GitHub\ts100\workspace\TS100\LinkerScript.ld" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.otherflags.2106114007" name="Other flags" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.otherflags" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="-flto"/>
</option>
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.cref.1223102617" name="Add symbol cross reference table to map file (-Wl,--cref)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.option.cref" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<inputType id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input.1693496005" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver.1793875206" name="MCU GCC Archiver" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.archiver"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size.2031511845" name="MCU Size" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.size"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile.1883149988" name="MCU Output Converter list file" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objdump.listfile"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex.1503571164" name="MCU Output Converter Hex" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.hex"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary.1574630014" name="MCU Output Converter Binary" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.binary"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog.948380741" name="MCU Output Converter Verilog" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.verilog"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec.260468267" name="MCU Output Converter Motorola S-rec" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.srec"/>
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec.984915652" name="MCU Output Converter Motorola S-rec with symbols" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.objcopy.symbolsrec"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Startup"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Core"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Middlewares"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="Drivers"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="TS100.null.5136256" name="TS100"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.606095682;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.606095682.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.1328412936;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.405681469">
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604;com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.980996604.;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.30611156;com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.c.compiler.input.c.1520167136">
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Release">
<resource resourceType="PROJECT" workspacePath="/TS100"/>
</configuration>
</storageModule>
</cproject>

View File

@@ -92,6 +92,8 @@ public:
static void drawSymbol(uint8_t symbolID);//Used for drawing symbols of a predictable width static void drawSymbol(uint8_t symbolID);//Used for drawing symbols of a predictable width
static void drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, static void drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height,
const uint8_t* ptr); //Draw an area, but y must be aligned on 0/8 offset const uint8_t* ptr); //Draw an area, but y must be aligned on 0/8 offset
static void drawAreaSwapped(int16_t x, int8_t y, uint8_t wide, uint8_t height,
const uint8_t* ptr); //Draw an area, but y must be aligned on 0/8 offset
static void fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, static void fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height,
const uint8_t value); //Fill an area, but y must be aligned on 0/8 offset const uint8_t value); //Fill an area, but y must be aligned on 0/8 offset
static void drawFilledRect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, static void drawFilledRect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1,

View File

@@ -11,7 +11,8 @@
#define SETTINGS_H_ #define SETTINGS_H_
#include <stdint.h> #include <stdint.h>
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal.h"
#define SETTINGSVERSION ( 0x1B ) #include "unit.h"
#define SETTINGSVERSION ( 0x1E )
/*Change this if you change the struct below to prevent people getting \ /*Change this if you change the struct below to prevent people getting \
out of sync*/ out of sync*/
@@ -35,19 +36,27 @@ typedef struct {
// down screen until its <50C // down screen until its <50C
uint8_t detailedIDLE :1; // Detailed idle screen uint8_t detailedIDLE :1; // Detailed idle screen
uint8_t detailedSoldering :1; // Detailed soldering screens uint8_t detailedSoldering :1; // Detailed soldering screens
#ifdef ENABLED_FAHRENHEIT_SUPPORT
uint8_t temperatureInF; // Should the temp be in F or C (true is F) uint8_t temperatureInF; // Should the temp be in F or C (true is F)
#endif
uint8_t descriptionScrollSpeed :1; // Description scroll speed uint8_t descriptionScrollSpeed :1; // Description scroll speed
uint16_t voltageDiv; // Voltage divisor factor uint16_t voltageDiv; // Voltage divisor factor
uint16_t BoostTemp; // Boost mode set point for the iron uint16_t BoostTemp; // Boost mode set point for the iron
uint16_t CalibrationOffset; // This stores the temperature offset for this tip uint16_t CalibrationOffset; // This stores the temperature offset for this tip
// in the iron. // in the iron.
uint8_t customTipGain; // Tip gain value if custom tuned, or 0 if using a
// tipType param
uint8_t pidPowerLimit; uint8_t pidPowerLimit;
uint8_t powerLimitEnable; // Allow toggling of power limit without changing value
uint8_t powerLimit; // Maximum power iron allowed to output
uint8_t version; // Used to track if a reset is needed on firmware upgrade uint8_t version; // Used to track if a reset is needed on firmware upgrade
uint32_t padding; // This is here for in case we are not an even divisor so uint32_t padding; // This is here for in case we are not an even divisor so
// that nothing gets cut off // that nothing gets cut off
uint8_t ReverseButtonTempChangeEnabled; // Change the plus and minus button assigment
uint16_t TempChangeLongStep; // Change the plus and minus button assigment
uint16_t TempChangeShortStep; // Change the plus and minus button assigment
} systemSettingsType; } systemSettingsType;
extern volatile systemSettingsType systemSettings; extern volatile systemSettingsType systemSettings;

View File

@@ -8,6 +8,7 @@
#ifndef TRANSLATION_H_ #ifndef TRANSLATION_H_
#define TRANSLATION_H_ #define TRANSLATION_H_
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal.h"
#include "unit.h"
enum ShortNameType { enum ShortNameType {
SHORT_NAME_SINGLE_LINE = 1, SHORT_NAME_DOUBLE_LINE = 2, SHORT_NAME_SINGLE_LINE = 1, SHORT_NAME_DOUBLE_LINE = 2,
}; };
@@ -18,56 +19,62 @@ extern const uint8_t USER_FONT_6x8[];
* use SettingsShortNames as SettingsShortNames[16][1].. second column undefined * use SettingsShortNames as SettingsShortNames[16][1].. second column undefined
*/ */
extern const enum ShortNameType SettingsShortNameType; extern const enum ShortNameType SettingsShortNameType;
extern const char* SettingsShortNames[21][2]; extern const char *SettingsShortNames[26][2];
extern const char* SettingsDescriptions[21]; extern const char *SettingsDescriptions[26];
extern const char* SettingsMenuEntries[4]; extern const char *SettingsMenuEntries[4];
extern const char* SettingsCalibrationDone; extern const char *SettingsCalibrationDone;
extern const char* SettingsCalibrationWarning; extern const char *SettingsCalibrationWarning;
extern const char* SettingsResetWarning; extern const char *SettingsResetWarning;
extern const char* UVLOWarningString; extern const char *UVLOWarningString;
extern const char* UndervoltageString; extern const char *UndervoltageString;
extern const char* InputVoltageString; extern const char *InputVoltageString;
extern const char* WarningTipTempString; extern const char *WarningTipTempString;
extern const char* BadTipString; extern const char *BadTipString;
extern const char* SleepingSimpleString; extern const char *SleepingSimpleString;
extern const char* SleepingAdvancedString; extern const char *SleepingAdvancedString;
extern const char* WarningSimpleString; extern const char *WarningSimpleString;
extern const char* WarningAdvancedString; extern const char *WarningAdvancedString;
extern const char* SleepingTipAdvancedString; extern const char *SleepingTipAdvancedString;
extern const char* IdleTipString; extern const char *IdleTipString;
extern const char* IdleSetString; extern const char *IdleSetString;
extern const char* TipDisconnectedString; extern const char *TipDisconnectedString;
extern const char* SolderingAdvancedPowerPrompt; extern const char *SolderingAdvancedPowerPrompt;
extern const char* OffString; extern const char *OffString;
extern const char* ResetOKMessage; extern const char *ResetOKMessage;
extern const char* YourGainMessage; extern const char *YourGainMessage;
extern const char* SettingsResetMessage; extern const char *SettingsResetMessage;
extern const char* SettingTrueChar; extern const char *SettingTrueChar;
extern const char* SettingFalseChar; extern const char *SettingFalseChar;
extern const char* SettingRightChar; extern const char *SettingRightChar;
extern const char* SettingLeftChar; extern const char *SettingLeftChar;
extern const char* SettingAutoChar; extern const char *SettingAutoChar;
extern const char *SettingStartSolderingChar;
extern const char *SettingStartSleepChar;
extern const char *SettingStartSleepOffChar;
extern const char *SettingStartNoneChar;
extern const char* SettingFastChar; extern const char *SettingFastChar;
extern const char* SettingSlowChar; extern const char *SettingSlowChar;
extern const char* TipModelStrings[]; extern const char *TipModelStrings[];
extern const char* DebugMenu[]; extern const char *DebugMenu[];
extern const char* SymbolPlus; extern const char *SymbolPlus;
extern const char* SymbolMinus; extern const char *SymbolMinus;
extern const char* SymbolSpace; extern const char *SymbolSpace;
extern const char* SymbolDot; extern const char *SymbolDot;
extern const char* SymbolDegC; extern const char *SymbolDegC;
extern const char* SymbolDegF; #ifdef ENABLED_FAHRENHEIT_SUPPORT
extern const char* SymbolMinutes; extern const char *SymbolDegF;
extern const char* SymbolSeconds; #endif
extern const char* SymbolWatts; extern const char *SymbolMinutes;
extern const char* SymbolVolts; extern const char *SymbolSeconds;
extern const char* SymbolDC; extern const char *SymbolWatts;
extern const char* SymbolCellCount; extern const char *SymbolVolts;
extern const char* SymbolVersionNumber; extern const char *SymbolDC;
extern const char *SymbolCellCount;
extern const char *SymbolVersionNumber;
extern const char* DebugMenu[]; extern const char *DebugMenu[];
#endif /* TRANSLATION_H_ */ #endif /* TRANSLATION_H_ */

View File

@@ -12,6 +12,7 @@
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal.h"
#include "cmsis_os.h" #include "cmsis_os.h"
#include "unit.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -124,7 +125,9 @@ void setTipPWM(uint8_t pulse);
uint16_t ctoTipMeasurement(uint16_t temp); uint16_t ctoTipMeasurement(uint16_t temp);
uint16_t tipMeasurementToC(uint16_t raw); uint16_t tipMeasurementToC(uint16_t raw);
uint16_t ftoTipMeasurement(uint16_t temp); uint16_t ftoTipMeasurement(uint16_t temp);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
uint16_t tipMeasurementToF(uint16_t raw); uint16_t tipMeasurementToF(uint16_t raw);
#endif
void seekQC(int16_t Vx10, uint16_t divisor); void seekQC(int16_t Vx10, uint16_t divisor);
void setCalibrationOffset(int16_t offSet); void setCalibrationOffset(int16_t offSet);
void setTipType(enum TipType tipType, uint8_t manualCalGain); void setTipType(enum TipType tipType, uint8_t manualCalGain);

View File

@@ -17,9 +17,13 @@
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal.h"
#include "string.h" #include "string.h"
#include "TipThermoModel.h" #include "TipThermoModel.h"
#include "unit.h"
#include "../../configuration.h"
extern uint8_t PCBVersion; extern uint8_t PCBVersion;
// File local variables // File local variables
extern uint32_t currentTempTargetDegC; extern uint32_t currentTempTargetDegC;
extern uint8_t accelInit;
extern uint32_t lastMovementTime; extern uint32_t lastMovementTime;
extern int16_t idealQCVoltage; extern int16_t idealQCVoltage;
uint32_t lastButtonTime = 0; uint32_t lastButtonTime = 0;
@@ -55,25 +59,30 @@ void GUIDelay() {
void gui_drawTipTemp(bool symbol) { void gui_drawTipTemp(bool symbol) {
// Draw tip temp handling unit conversion & tolerance near setpoint // Draw tip temp handling unit conversion & tolerance near setpoint
uint16_t Temp = 0; uint16_t Temp = 0;
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
Temp = TipThermoModel::getTipInF(); Temp = TipThermoModel::getTipInF();
else else
Temp = TipThermoModel::getTipInC(); #endif
Temp = TipThermoModel::getTipInC();
OLED::printNumber(Temp, 3); // Draw the tip temp out finally OLED::printNumber(Temp, 3); // Draw the tip temp out finally
if (symbol) { if (symbol) {
if (OLED::getFont() == 0) { if (OLED::getFont() == 0) {
//Big font, can draw nice symbols //Big font, can draw nice symbols
if (systemSettings.temperatureInF) #ifdef ENABLED_FAHRENHEIT_SUPPORT
OLED::drawSymbol(0); if (systemSettings.temperatureInF)
else OLED::drawSymbol(0);
OLED::drawSymbol(1); else
#endif
OLED::drawSymbol(1);
} else { } else {
//Otherwise fall back to chars //Otherwise fall back to chars
if (systemSettings.temperatureInF) #ifdef ENABLED_FAHRENHEIT_SUPPORT
OLED::print(SymbolDegF); if (systemSettings.temperatureInF)
else OLED::print(SymbolDegF);
else
#endif
OLED::print(SymbolDegC); OLED::print(SymbolDegC);
} }
} }
@@ -202,7 +211,7 @@ static bool checkVoltageForExit() {
OLED::setCursor(0, 8); OLED::setCursor(0, 8);
OLED::print(InputVoltageString); OLED::print(InputVoltageString);
printVoltage(); printVoltage();
OLED::print("V"); OLED::print(SymbolVolts);
} else { } else {
OLED::setFont(0); OLED::setFont(0);
@@ -277,27 +286,36 @@ static void gui_solderingTempAdjust() {
// exit // exit
return; return;
break; break;
case BUTTON_B_LONG: case BUTTON_B_LONG:
if (xTaskGetTickCount() - autoRepeatTimer if (xTaskGetTickCount() - autoRepeatTimer
+ autoRepeatAcceleration> PRESS_ACCEL_INTERVAL_MAX) { + autoRepeatAcceleration> PRESS_ACCEL_INTERVAL_MAX) {
systemSettings.SolderingTemp -= 10; // sub 10 if(systemSettings.ReverseButtonTempChangeEnabled) {
systemSettings.SolderingTemp += systemSettings.TempChangeLongStep;
} else systemSettings.SolderingTemp -= systemSettings.TempChangeLongStep;
autoRepeatTimer = xTaskGetTickCount(); autoRepeatTimer = xTaskGetTickCount();
autoRepeatAcceleration += PRESS_ACCEL_STEP; autoRepeatAcceleration += PRESS_ACCEL_STEP;
} }
break; break;
case BUTTON_B_SHORT:
if(systemSettings.ReverseButtonTempChangeEnabled) {
systemSettings.SolderingTemp += systemSettings.TempChangeShortStep;
} else systemSettings.SolderingTemp -= systemSettings.TempChangeShortStep;
break;
case BUTTON_F_LONG: case BUTTON_F_LONG:
if (xTaskGetTickCount() - autoRepeatTimer if (xTaskGetTickCount() - autoRepeatTimer
+ autoRepeatAcceleration> PRESS_ACCEL_INTERVAL_MAX) { + autoRepeatAcceleration> PRESS_ACCEL_INTERVAL_MAX) {
systemSettings.SolderingTemp += 10; if(systemSettings.ReverseButtonTempChangeEnabled) {
systemSettings.SolderingTemp -= systemSettings.TempChangeLongStep;
} else systemSettings.SolderingTemp += systemSettings.TempChangeLongStep;
autoRepeatTimer = xTaskGetTickCount(); autoRepeatTimer = xTaskGetTickCount();
autoRepeatAcceleration += PRESS_ACCEL_STEP; autoRepeatAcceleration += PRESS_ACCEL_STEP;
} }
break; break;
case BUTTON_F_SHORT: case BUTTON_F_SHORT:
systemSettings.SolderingTemp += 10; // add 10 if(systemSettings.ReverseButtonTempChangeEnabled) {
break; systemSettings.SolderingTemp -= systemSettings.TempChangeShortStep; // add 10
case BUTTON_B_SHORT: } else systemSettings.SolderingTemp += systemSettings.TempChangeShortStep; // add 10
systemSettings.SolderingTemp -= 10; // sub 10
break; break;
default: default:
break; break;
@@ -308,12 +326,16 @@ static void gui_solderingTempAdjust() {
- PRESS_ACCEL_INTERVAL_MIN; - PRESS_ACCEL_INTERVAL_MIN;
} }
// constrain between 50-450 C // constrain between 50-450 C
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
if (systemSettings.SolderingTemp > 850) if (systemSettings.SolderingTemp > 850)
systemSettings.SolderingTemp = 850; systemSettings.SolderingTemp = 850;
if (systemSettings.SolderingTemp < 120) if (systemSettings.SolderingTemp < 120)
systemSettings.SolderingTemp = 120; systemSettings.SolderingTemp = 120;
} else { }
else
#endif
{
if (systemSettings.SolderingTemp > 450) if (systemSettings.SolderingTemp > 450)
systemSettings.SolderingTemp = 450; systemSettings.SolderingTemp = 450;
if (systemSettings.SolderingTemp < 50) if (systemSettings.SolderingTemp < 50)
@@ -324,62 +346,77 @@ static void gui_solderingTempAdjust() {
return; // exit if user just doesn't press anything for a bit return; // exit if user just doesn't press anything for a bit
#ifdef MODEL_TS80 #ifdef MODEL_TS80
if (!OLED::getRotation()) if (!OLED::getRotation()) {
#else #else
if (OLED::getRotation()) if (OLED::getRotation()) {
#endif #endif
OLED::print(SymbolMinus); OLED::print(systemSettings.ReverseButtonTempChangeEnabled ? SymbolPlus:SymbolMinus);
else } else {
OLED::print(SymbolPlus); OLED::print(systemSettings.ReverseButtonTempChangeEnabled ? SymbolMinus:SymbolPlus);
}
OLED::print(SymbolSpace); OLED::print(SymbolSpace);
OLED::printNumber(systemSettings.SolderingTemp, 3); OLED::printNumber(systemSettings.SolderingTemp, 3);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
OLED::drawSymbol(0); OLED::drawSymbol(0);
else else
#endif
{
OLED::drawSymbol(1); OLED::drawSymbol(1);
}
OLED::print(SymbolSpace); OLED::print(SymbolSpace);
#ifdef MODEL_TS80 #ifdef MODEL_TS80
if (!OLED::getRotation()) if (!OLED::getRotation()) {
#else #else
if (OLED::getRotation()) if (OLED::getRotation()) {
#endif #endif
OLED::print(SymbolPlus); OLED::print(systemSettings.ReverseButtonTempChangeEnabled ? SymbolMinus:SymbolPlus);
else } else {
OLED::print(SymbolMinus); OLED::print(systemSettings.ReverseButtonTempChangeEnabled ? SymbolPlus:SymbolMinus);
}
OLED::refresh(); OLED::refresh();
GUIDelay(); GUIDelay();
} }
} }
static int gui_SolderingSleepingMode() { static int gui_SolderingSleepingMode(bool stayOff) {
// Drop to sleep temperature and display until movement or button press // Drop to sleep temperature and display until movement or button press
for (;;) { for (;;) {
ButtonState buttons = getButtonState(); ButtonState buttons = getButtonState();
if (buttons) if (buttons)
return 0; return 0;
if ((xTaskGetTickCount() - lastMovementTime < 100) if ((xTaskGetTickCount() > 100)
|| (xTaskGetTickCount() - lastButtonTime < 100)) && ((accelInit && (xTaskGetTickCount() - lastMovementTime < 100))
|| (xTaskGetTickCount() - lastButtonTime < 100)))
return 0; // user moved or pressed a button, go back to soldering return 0; // user moved or pressed a button, go back to soldering
#ifdef MODEL_TS100 #ifdef MODEL_TS100
if (checkVoltageForExit()) if (checkVoltageForExit())
return 1; // return non-zero on error return 1; // return non-zero on error
#endif #endif
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
currentTempTargetDegC = TipThermoModel::convertFtoC( currentTempTargetDegC = stayOff ? 0 : TipThermoModel::convertFtoC(
min(systemSettings.SleepTemp, min(systemSettings.SleepTemp,
systemSettings.SolderingTemp)); systemSettings.SolderingTemp));
} else { } else
currentTempTargetDegC = (min(systemSettings.SleepTemp, #endif
systemSettings.SolderingTemp)); {
currentTempTargetDegC = stayOff ? 0 : min(systemSettings.SleepTemp,
systemSettings.SolderingTemp);
} }
// draw the lcd // draw the lcd
uint16_t tipTemp; uint16_t tipTemp;
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
tipTemp = TipThermoModel::getTipInF(); tipTemp = TipThermoModel::getTipInF();
else else
#endif
{
tipTemp = TipThermoModel::getTipInC(); tipTemp = TipThermoModel::getTipInC();
}
OLED::clearScreen(); OLED::clearScreen();
OLED::setCursor(0, 0); OLED::setCursor(0, 0);
@@ -389,10 +426,14 @@ static int gui_SolderingSleepingMode() {
OLED::setCursor(0, 8); OLED::setCursor(0, 8);
OLED::print(SleepingTipAdvancedString); OLED::print(SleepingTipAdvancedString);
OLED::printNumber(tipTemp, 3); OLED::printNumber(tipTemp, 3);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
OLED::print(SymbolDegF); OLED::print(SymbolDegF);
else else
#endif
{
OLED::print(SymbolDegC); OLED::print(SymbolDegC);
}
OLED::print(SymbolSpace); OLED::print(SymbolSpace);
printVoltage(); printVoltage();
@@ -401,10 +442,14 @@ static int gui_SolderingSleepingMode() {
OLED::setFont(0); OLED::setFont(0);
OLED::print(SleepingSimpleString); OLED::print(SleepingSimpleString);
OLED::printNumber(tipTemp, 3); OLED::printNumber(tipTemp, 3);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
OLED::drawSymbol(0); OLED::drawSymbol(0);
else else
#endif
{
OLED::drawSymbol(1); OLED::drawSymbol(1);
}
} }
if (systemSettings.ShutdownTime) // only allow shutdown exit if time > 0 if (systemSettings.ShutdownTime) // only allow shutdown exit if time > 0
if (lastMovementTime) if (lastMovementTime)
@@ -453,14 +498,14 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
* --> Double button to exit * --> Double button to exit
*/ */
bool boostModeOn = false; bool boostModeOn = false;
uint8_t badTipCounter = 0;
uint32_t sleepThres = 0; uint32_t sleepThres = 0;
if (systemSettings.SleepTime < 6) if (systemSettings.SleepTime < 6)
sleepThres = systemSettings.SleepTime * 10 * 100; sleepThres = systemSettings.SleepTime * 10 * 100;
else else
sleepThres = (systemSettings.SleepTime - 5) * 60 * 100; sleepThres = (systemSettings.SleepTime - 5) * 60 * 100;
if (jumpToSleep) { if (jumpToSleep) {
if (gui_SolderingSleepingMode()) { if (gui_SolderingSleepingMode(jumpToSleep == 2)) {
lastButtonTime = xTaskGetTickCount(); lastButtonTime = xTaskGetTickCount();
return; // If the function returns non-0 then exit return; // If the function returns non-0 then exit
} }
@@ -501,12 +546,6 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
OLED::setCursor(0, 0); OLED::setCursor(0, 0);
OLED::clearScreen(); OLED::clearScreen();
OLED::setFont(0); OLED::setFont(0);
uint16_t tipTemp = getTipRawTemp(0);
if (tipTemp > 32700) {
badTipCounter++; // Use a counter so that error has to persist for > 1 second continuous so that peak errors dont trip it
} else {
badTipCounter = 0;
}
//Draw in the screen details //Draw in the screen details
if (systemSettings.detailedSoldering) { if (systemSettings.detailedSoldering) {
OLED::setFont(1); OLED::setFont(1);
@@ -564,31 +603,29 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
gui_drawBatteryIcon(); gui_drawBatteryIcon();
} }
} }
if (badTipCounter > 128) {
OLED::print(BadTipString);
OLED::refresh();
currentTempTargetDegC = 0;
waitForButtonPress();
currentTempTargetDegC = 0;
return;
}
OLED::refresh(); OLED::refresh();
// Update the setpoints for the temperature // Update the setpoints for the temperature
if (boostModeOn) { if (boostModeOn) {
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
currentTempTargetDegC = TipThermoModel::convertFtoC( currentTempTargetDegC = TipThermoModel::convertFtoC(
systemSettings.BoostTemp); systemSettings.BoostTemp);
else else
#endif
{
currentTempTargetDegC = (systemSettings.BoostTemp); currentTempTargetDegC = (systemSettings.BoostTemp);
}
} else { } else {
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) if (systemSettings.temperatureInF)
currentTempTargetDegC = TipThermoModel::convertFtoC( currentTempTargetDegC = TipThermoModel::convertFtoC(
systemSettings.SolderingTemp); systemSettings.SolderingTemp);
else else
#endif
{
currentTempTargetDegC = (systemSettings.SolderingTemp); currentTempTargetDegC = (systemSettings.SolderingTemp);
}
} }
#ifdef MODEL_TS100 #ifdef MODEL_TS100
@@ -609,7 +646,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) {
if (systemSettings.sensitivity && systemSettings.SleepTime) if (systemSettings.sensitivity && systemSettings.SleepTime)
if (xTaskGetTickCount() - lastMovementTime > sleepThres if (xTaskGetTickCount() - lastMovementTime > sleepThres
&& xTaskGetTickCount() - lastButtonTime > sleepThres) { && xTaskGetTickCount() - lastButtonTime > sleepThres) {
if (gui_SolderingSleepingMode()) { if (gui_SolderingSleepingMode(false)) {
return; // If the function returns non-0 then exit return; // If the function returns non-0 then exit
} }
} }
@@ -714,6 +751,7 @@ void startGUITask(void const *argument __unused) {
if (settingsWereReset) { if (settingsWereReset) {
//Display alert settings were reset //Display alert settings were reset
OLED::clearScreen();
OLED::setFont(1); OLED::setFont(1);
OLED::setCursor(0, 0); OLED::setCursor(0, 0);
OLED::print(SettingsResetMessage); OLED::print(SettingsResetMessage);
@@ -725,9 +763,20 @@ void startGUITask(void const *argument __unused) {
if (systemSettings.autoStartMode) { if (systemSettings.autoStartMode) {
// jump directly to the autostart mode // jump directly to the autostart mode
if (systemSettings.autoStartMode == 1) if (systemSettings.autoStartMode == 1)
{
gui_solderingMode(0); gui_solderingMode(0);
if (systemSettings.autoStartMode == 2) buttonLockout = true;
}
else if (systemSettings.autoStartMode == 2)
{
gui_solderingMode(1); gui_solderingMode(1);
buttonLockout = true;
}
else if (systemSettings.autoStartMode == 3)
{
gui_solderingMode(2);
buttonLockout = true;
}
} }
#ifdef ACCELDEBUG #ifdef ACCELDEBUG

View File

@@ -10,6 +10,7 @@
#include <stdlib.h> #include <stdlib.h>
#include "Translation.h" #include "Translation.h"
#include "cmsis_os.h" #include "cmsis_os.h"
#include "../../configuration.h"
const uint8_t *OLED::currentFont; // Pointer to the current font used for const uint8_t *OLED::currentFont; // Pointer to the current font used for
// rendering to the buffer // rendering to the buffer
@@ -163,10 +164,10 @@ uint8_t OLED::getFont() {
else else
return 0; return 0;
} }
inline void stripLeaderZeros(char *buffer) { inline void stripLeaderZeros(char *buffer, uint8_t places) {
//Removing the leading zero's by swapping them to SymbolSpace //Removing the leading zero's by swapping them to SymbolSpace
// Stop 1 short so that we dont blank entire number if its zero // Stop 1 short so that we dont blank entire number if its zero
for (int i = 0; i < 6; i++) { for (int i = 0; i < (places-1); i++) {
if (buffer[i] == 2) { if (buffer[i] == 2) {
buffer[i] = SymbolSpace[0]; buffer[i] = SymbolSpace[0];
} else { } else {
@@ -204,7 +205,7 @@ void OLED::printNumber(uint16_t number, uint8_t places, bool noLeaderZeros) {
buffer[0] = 2 + number % 10; buffer[0] = 2 + number % 10;
if (noLeaderZeros) if (noLeaderZeros)
stripLeaderZeros(buffer); stripLeaderZeros(buffer, places);
print(buffer); print(buffer);
} }
@@ -262,6 +263,44 @@ void OLED::drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height,
} }
} }
} }
// Draw an area, but y must be aligned on 0/8 offset
// For data which has octets swapped in a 16-bit word.
void OLED::drawAreaSwapped(int16_t x, int8_t y, uint8_t wide, uint8_t height,
const uint8_t *ptr) {
// Splat this from x->x+wide in two strides
if (x <= -wide)
return; // cutoffleft
if (x > 96)
return; // cutoff right
uint8_t visibleStart = 0;
uint8_t visibleEnd = wide;
// trimming to draw partials
if (x < 0) {
visibleStart -= x; // subtract negative value == add absolute value
}
if (x + wide > 96) {
visibleEnd = 96 - x;
}
if (y == 0) {
// Splat first line of data
for (uint8_t xx = visibleStart; xx < visibleEnd; xx += 2) {
firstStripPtr[xx + x] = ptr[xx + 1];
firstStripPtr[xx + x + 1] = ptr[xx];
}
}
if (y == 8 || height == 16) {
// Splat the second line
for (uint8_t xx = visibleStart; xx < visibleEnd; xx += 2) {
secondStripPtr[x + xx] = ptr[xx + 1 + (height == 16 ? wide : 0)];
secondStripPtr[x + xx + 1] = ptr[xx + (height == 16 ? wide : 0)];
}
}
}
void OLED::fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, void OLED::fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height,
const uint8_t value) { const uint8_t value) {
// Splat this from x->x+wide in two strides // Splat this from x->x+wide in two strides

View File

@@ -10,6 +10,7 @@
#include "Settings.h" #include "Settings.h"
#include "Setup.h" #include "Setup.h"
#include "../../configuration.h"
#define FLASH_ADDR \ #define FLASH_ADDR \
(0x8000000 | \ (0x8000000 | \
0xFC00) /*Flash start OR'ed with the maximum amount of flash - 1024 bytes*/ 0xFC00) /*Flash start OR'ed with the maximum amount of flash - 1024 bytes*/
@@ -77,40 +78,33 @@ uint8_t lookupVoltageLevel(uint8_t level) {
} }
void resetSettings() { void resetSettings() {
memset((void*) &systemSettings, 0, sizeof(systemSettingsType)); memset((void*) &systemSettings, 0, sizeof(systemSettingsType));
systemSettings.SleepTemp = 150; // Temperature the iron sleeps at - default 150.0 C systemSettings.SleepTemp = SLEEP_TEMP; // Temperature the iron sleeps at - default 150.0 C
systemSettings.SleepTime = 6; // How many seconds/minutes we wait until going systemSettings.SleepTime = SLEEP_TIME; // How many seconds/minutes we wait until going
// to sleep - default 1 min // to sleep - default 1 min
systemSettings.SolderingTemp = 320; // Default soldering temp is 320.0 C systemSettings.SolderingTemp = SOLDERING_TEMP; // Default soldering temp is 320.0 C
systemSettings.cutoutSetting = 0; // default to no cut-off voltage (or 18W for TS80) systemSettings.cutoutSetting = CUT_OUT_SETTING; // default to no cut-off voltage (or 18W for TS80)
systemSettings.version = systemSettings.version =
SETTINGSVERSION; // Store the version number to allow for easier upgrades SETTINGSVERSION; // Store the version number to allow for easier upgrades
systemSettings.detailedSoldering = 0; // Detailed soldering screen systemSettings.detailedSoldering = DETAILED_SOLDERING; // Detailed soldering screen
systemSettings.detailedIDLE = 0; // Detailed idle screen (off for first time users) systemSettings.detailedIDLE = DETAILED_IDLE; // Detailed idle screen (off for first time users)
systemSettings.OrientationMode = 2; // Default to automatic systemSettings.OrientationMode = ORIENTATION_MODE; // Default to automatic
systemSettings.sensitivity = 7; // Default high sensitivity systemSettings.sensitivity = SENSITIVITY; // Default high sensitivity
#ifdef MODEL_TS80 systemSettings.voltageDiv = VOLTAGE_DIV; // Default divider from schematic
systemSettings.voltageDiv = 780; // 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
#else systemSettings.BoostTemp = BOOST_TEMP; // default to 400C
systemSettings.voltageDiv = 467; // Default divider from schematic systemSettings.autoStartMode = AUTO_START_MODE; // Auto start off for safety
#endif systemSettings.coolingTempBlink = COOLING_TEMP_BLINK; // Blink the temperature on the cooling screen when its > 50C
systemSettings.ShutdownTime = 10; // How many minutes until the unit turns itself off #ifdef ENABLED_FAHRENHEIT_SUPPORT
systemSettings.boostModeEnabled = 1; // Default to having boost mode on as most people prefer it systemSettings.temperatureInF = TEMPERATURE_INF; // default to 0
systemSettings.BoostTemp = 420; // default to 400C
systemSettings.autoStartMode = 0; // Auto start off for safety
systemSettings.coolingTempBlink = 0; // Blink the temperature on the cooling screen when its > 50C
systemSettings.temperatureInF = 0; // default to 0
systemSettings.descriptionScrollSpeed = 0; // default to slow
#ifdef MODEL_TS100
systemSettings.CalibrationOffset = 900; // the adc offset in uV
systemSettings.pidPowerLimit=70; // Sets the max pwm power limit
#endif
#ifdef MODEL_TS80
systemSettings.pidPowerLimit = 24; // Sets the max pwm power limit
systemSettings.CalibrationOffset = 900; // the adc offset in uV
#endif #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.pidPowerLimit = PID_POWER_LIMIT; // Sets the max pwm power limit
systemSettings.powerLimit = POWER_LIMIT; // 30 watts default limit
systemSettings.ReverseButtonTempChangeEnabled = REVERSE_BUTTON_TEMP_CHANGE; //
systemSettings.TempChangeShortStep = TEMP_CHANGE_SHORT_STEP; //
systemSettings.TempChangeLongStep = TEMP_CHANGE_LONG_STEP; //
saveSettings(); // Save defaults saveSettings(); // Save defaults
} }

View File

@@ -8,6 +8,7 @@
#include "TipThermoModel.h" #include "TipThermoModel.h"
#include "Settings.h" #include "Settings.h"
#include "hardware.h" #include "hardware.h"
#include "../../configuration.h"
/* /*
* The hardware is laid out as a non-inverting op-amp * The hardware is laid out as a non-inverting op-amp
@@ -26,24 +27,12 @@
* This was bought to my attention by <Kuba Sztandera> * This was bought to my attention by <Kuba Sztandera>
*/ */
// TIP_GAIN = TIP_GAIN/1000 == uV per deg C constant of the tip
#ifdef MODEL_TS100
#define OP_AMP_Rf 750*1000 /*750 Kilo-ohms -> From schematic, R1*/
#define OP_AMP_Rin 2370 /*2.37 Kilo-ohms -> From schematic, R2*/
#define TIP_GAIN 405
#else
#define OP_AMP_Rf 180*1000 /*180 Kilo-ohms -> From schematic, R6*/
#define OP_AMP_Rin 2000 /*2.0 Kilo-ohms -> From schematic, R3*/
#define TIP_GAIN 115
#endif
#define op_amp_gain_stage (1+(OP_AMP_Rf/OP_AMP_Rin)) #define op_amp_gain_stage (1+(OP_AMP_Rf/OP_AMP_Rin))
uint32_t TipThermoModel::convertTipRawADCTouV(uint16_t rawADC) { uint32_t TipThermoModel::convertTipRawADCTouV(uint16_t rawADC) {
// This takes the raw ADC samples, converts these to uV // This takes the raw ADC samples, converts these to uV
// Then divides this down by the gain to convert to the uV on the input to the op-amp (A+B terminals) // Then divides this down by the gain to convert to the uV on the input to the op-amp (A+B terminals)
// Then remove the calibration value that is stored as a tip offset // Then remove the calibration value that is stored as a tip offset
uint32_t vddRailmVX10 = 33000; //TODO use ADC Vref to calculate this uint32_t vddRailmVX10 = 33000; //The vreg is +-2%, but we have no higher accuracy available
// 4096 * 8 readings for full scale // 4096 * 8 readings for full scale
// Convert the input ADC reading back into mV times 10 format. // Convert the input ADC reading back into mV times 10 format.
uint32_t rawInputmVX10 = (rawADC * vddRailmVX10) / (4096 * 8); uint32_t rawInputmVX10 = (rawADC * vddRailmVX10) / (4096 * 8);
@@ -63,9 +52,11 @@ uint32_t TipThermoModel::convertTipRawADCTouV(uint16_t rawADC) {
uint32_t TipThermoModel::convertTipRawADCToDegC(uint16_t rawADC) { uint32_t TipThermoModel::convertTipRawADCToDegC(uint16_t rawADC) {
return convertuVToDegC(convertTipRawADCTouV(rawADC)); return convertuVToDegC(convertTipRawADCTouV(rawADC));
} }
#ifdef ENABLED_FAHRENHEIT_SUPPORT
uint32_t TipThermoModel::convertTipRawADCToDegF(uint16_t rawADC) { uint32_t TipThermoModel::convertTipRawADCToDegF(uint16_t rawADC) {
return convertuVToDegF(convertTipRawADCTouV(rawADC)); return convertuVToDegF(convertTipRawADCTouV(rawADC));
} }
#endif
//Table that is designed to be walked to find the best sample for the lookup //Table that is designed to be walked to find the best sample for the lookup
@@ -80,13 +71,14 @@ int32_t LinearInterpolate(int32_t x1, int32_t y1, int32_t x2, int32_t y2,
} }
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) { uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) {
//based on new measurements, tip is quite linear at 24.9uV per deg C = 2.49 per 0.1C //based on new measurements, tip is quite linear
// //
tipuVDelta *= TIP_GAIN; tipuVDelta *= TIP_GAIN;
tipuVDelta /= 10000; tipuVDelta /= 10000;
return tipuVDelta; return tipuVDelta;
} }
#ifdef ENABLED_FAHRENHEIT_SUPPORT
uint32_t TipThermoModel::convertuVToDegF(uint32_t tipuVDelta) { uint32_t TipThermoModel::convertuVToDegF(uint32_t tipuVDelta) {
tipuVDelta *= TIP_GAIN; tipuVDelta *= TIP_GAIN;
tipuVDelta /= 1000; tipuVDelta /= 1000;
@@ -105,6 +97,7 @@ uint32_t TipThermoModel::convertFtoC(uint32_t degF) {
return 0; return 0;
return ((degF - 32) * 5) / 9; return ((degF - 32) * 5) / 9;
} }
#endif
uint32_t TipThermoModel::getTipInC(bool sampleNow) { uint32_t TipThermoModel::getTipInC(bool sampleNow) {
uint32_t currentTipTempInC = TipThermoModel::convertTipRawADCToDegC( uint32_t currentTipTempInC = TipThermoModel::convertTipRawADCToDegC(
@@ -112,10 +105,18 @@ uint32_t TipThermoModel::getTipInC(bool sampleNow) {
currentTipTempInC += getHandleTemperature() / 10; //Add handle offset currentTipTempInC += getHandleTemperature() / 10; //Add handle offset
return currentTipTempInC; return currentTipTempInC;
} }
#ifdef ENABLED_FAHRENHEIT_SUPPORT
uint32_t TipThermoModel::getTipInF(bool sampleNow) { uint32_t TipThermoModel::getTipInF(bool sampleNow) {
uint32_t currentTipTempInF = TipThermoModel::convertTipRawADCToDegF( uint32_t currentTipTempInF = TipThermoModel::convertTipRawADCToDegF(
getTipRawTemp(sampleNow)); getTipRawTemp(sampleNow));
currentTipTempInF += convertCtoF(getHandleTemperature() / 10); //Add handle offset currentTipTempInF += convertCtoF(getHandleTemperature() / 10); //Add handle offset
return currentTipTempInF; return currentTipTempInF;
} }
#endif
uint32_t TipThermoModel::getTipMaxInC() {
uint32_t maximumTipTemp = TipThermoModel::convertTipRawADCToDegC(
0x7FFF - (80 * 5)); //back off approx 5 deg c from ADC max
maximumTipTemp += getHandleTemperature() / 10; //Add handle offset
return maximumTipTemp - 1;
}

View File

@@ -9,23 +9,34 @@
#define SRC_TIPTHERMOMODEL_H_ #define SRC_TIPTHERMOMODEL_H_
#include "stdint.h" #include "stdint.h"
#include "hardware.h" #include "hardware.h"
#include "unit.h"
class TipThermoModel { class TipThermoModel {
public: public:
//These are the main two functions //These are the main two functions
static uint32_t getTipInC(bool sampleNow=false); static uint32_t getTipInC(bool sampleNow = false);
static uint32_t getTipInF(bool sampleNow=false); #ifdef ENABLED_FAHRENHEIT_SUPPORT
static uint32_t getTipInF(bool sampleNow = false);
#endif
//Calculates the maximum temperature can can be read by the ADC range
static uint32_t getTipMaxInC();
static uint32_t convertTipRawADCToDegC(uint16_t rawADC); static uint32_t convertTipRawADCToDegC(uint16_t rawADC);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
static uint32_t convertTipRawADCToDegF(uint16_t rawADC); static uint32_t convertTipRawADCToDegF(uint16_t rawADC);
#endif
//Returns the uV of the tip reading before the op-amp compensating for pullups //Returns the uV of the tip reading before the op-amp compensating for pullups
static uint32_t convertTipRawADCTouV(uint16_t rawADC); static uint32_t convertTipRawADCTouV(uint16_t rawADC);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
static uint32_t convertCtoF(uint32_t degC); static uint32_t convertCtoF(uint32_t degC);
static uint32_t convertFtoC(uint32_t degF); static uint32_t convertFtoC(uint32_t degF);
#endif
private: private:
static uint32_t convertuVToDegC(uint32_t tipuVDelta); static uint32_t convertuVToDegC(uint32_t tipuVDelta);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
static uint32_t convertuVToDegF(uint32_t tipuVDelta); static uint32_t convertuVToDegF(uint32_t tipuVDelta);
#endif
}; };
#endif /* SRC_TIPTHERMOMODEL_H_ */ #endif /* SRC_TIPTHERMOMODEL_H_ */

File diff suppressed because it is too large Load Diff

View File

@@ -11,15 +11,18 @@
#include "main.hpp" #include "main.hpp"
#include "TipThermoModel.h" #include "TipThermoModel.h"
#include "string.h" #include "string.h"
#include "unit.h"
#include "../../configuration.h"
extern uint32_t lastButtonTime; extern uint32_t lastButtonTime;
void gui_Menu(const menuitem *menu); void gui_Menu(const menuitem *menu);
#ifdef MODEL_TS100
static void settings_setInputVRange(void);
static void settings_displayInputVRange(void);
#else
static void settings_setInputPRange(void);
static void settings_displayInputPRange(void);
#ifdef MODEL_TS100
static void settings_setInputVRange(void);
static void settings_displayInputVRange(void);
#else
static void settings_setInputPRange(void);
static void settings_displayInputPRange(void);
#endif #endif
static void settings_setSleepTemp(void); static void settings_setSleepTemp(void);
static void settings_displaySleepTemp(void); static void settings_displaySleepTemp(void);
@@ -29,15 +32,20 @@ static void settings_setShutdownTime(void);
static void settings_displayShutdownTime(void); static void settings_displayShutdownTime(void);
static void settings_setSensitivity(void); static void settings_setSensitivity(void);
static void settings_displaySensitivity(void); static void settings_displaySensitivity(void);
#ifdef ENABLED_FAHRENHEIT_SUPPORT
static void settings_setTempF(void); static void settings_setTempF(void);
static void settings_displayTempF(void); static void settings_displayTempF(void);
#endif
static void settings_setAdvancedSolderingScreens(void); static void settings_setAdvancedSolderingScreens(void);
static void settings_displayAdvancedSolderingScreens(void); static void settings_displayAdvancedSolderingScreens(void);
static void settings_setAdvancedIDLEScreens(void); static void settings_setAdvancedIDLEScreens(void);
static void settings_displayAdvancedIDLEScreens(void); static void settings_displayAdvancedIDLEScreens(void);
static void settings_setScrollSpeed(void); static void settings_setScrollSpeed(void);
static void settings_displayScrollSpeed(void); static void settings_displayScrollSpeed(void);
static void settings_setPowerLimitEnable(void);
static void settings_displayPowerLimitEnable(void);
static void settings_setPowerLimit(void);
static void settings_displayPowerLimit(void);
static void settings_setDisplayRotation(void); static void settings_setDisplayRotation(void);
static void settings_displayDisplayRotation(void); static void settings_displayDisplayRotation(void);
static void settings_setBoostModeEnabled(void); static void settings_setBoostModeEnabled(void);
@@ -54,6 +62,12 @@ static void settings_setCalibrate(void);
static void settings_displayCalibrate(void); static void settings_displayCalibrate(void);
static void settings_setCalibrateVIN(void); static void settings_setCalibrateVIN(void);
static void settings_displayCalibrateVIN(void); static void settings_displayCalibrateVIN(void);
static void settings_displayReverseButtonTempChangeEnabled(void);
static void settings_setReverseButtonTempChangeEnabled(void);
static void settings_displayTempChangeShortStep(void);
static void settings_setTempChangeShortStep(void);
static void settings_displayTempChangeLongStep(void);
static void settings_setTempChangeLongStep(void);
// Menu functions // Menu functions
static void settings_displaySolderingMenu(void); static void settings_displaySolderingMenu(void);
@@ -72,6 +86,9 @@ static void settings_enterAdvancedMenu(void);
* Boost Mode Enabled * Boost Mode Enabled
* Boost Mode Temp * Boost Mode Temp
* Auto Start * Auto Start
* Temp change short step
* Temp change long step
* *
* Power Saving * Power Saving
* Sleep Temp * Sleep Temp
@@ -85,8 +102,11 @@ static void settings_enterAdvancedMenu(void);
* Temperature Unit * Temperature Unit
* Display orientation * Display orientation
* Cooldown blink * Cooldown blink
* Reverse Temp change buttons + -
* *
* Advanced * Advanced
* Enable Power Limit
* Power Limit
* Detailed IDLE * Detailed IDLE
* Detailed Soldering * Detailed Soldering
* Logo Time * Logo Time
@@ -127,6 +147,8 @@ const menuitem solderingMenu[] = {
* Boost Mode Enabled * Boost Mode Enabled
* Boost Mode Temp * Boost Mode Temp
* Auto Start * Auto Start
* Temp change short step
* Temp change long step
*/ */
{ (const char*) SettingsDescriptions[8], { settings_setBoostModeEnabled }, { { (const char*) SettingsDescriptions[8], { settings_setBoostModeEnabled }, {
settings_displayBoostModeEnabled } }, /*Enable Boost*/ settings_displayBoostModeEnabled } }, /*Enable Boost*/
@@ -134,6 +156,10 @@ const menuitem solderingMenu[] = {
settings_displayBoostTemp } }, /*Boost Temp*/ settings_displayBoostTemp } }, /*Boost Temp*/
{ (const char*) SettingsDescriptions[10], { settings_setAutomaticStartMode }, { { (const char*) SettingsDescriptions[10], { settings_setAutomaticStartMode }, {
settings_displayAutomaticStartMode } }, /*Auto start*/ 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 { NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
}; };
const menuitem UIMenu[] = { const menuitem UIMenu[] = {
@@ -143,15 +169,20 @@ const menuitem UIMenu[] = {
* Temperature Unit * Temperature Unit
* Display orientation * Display orientation
* Cooldown blink * Cooldown blink
* Reverse Temp change buttons + -
*/ */
#ifdef ENABLED_FAHRENHEIT_SUPPORT
{ (const char*) SettingsDescriptions[5], { settings_setTempF }, { { (const char*) SettingsDescriptions[5], { settings_setTempF }, {
settings_displayTempF } }, /* Temperature units*/ settings_displayTempF } }, /* Temperature units*/
#endif
{ (const char*) SettingsDescriptions[7], { settings_setDisplayRotation }, { { (const char*) SettingsDescriptions[7], { settings_setDisplayRotation }, {
settings_displayDisplayRotation } }, /*Display Rotation*/ settings_displayDisplayRotation } }, /*Display Rotation*/
{ (const char*) SettingsDescriptions[11], { settings_setCoolingBlinkEnabled }, { { (const char*) SettingsDescriptions[11], { settings_setCoolingBlinkEnabled }, {
settings_displayCoolingBlinkEnabled } }, /*Cooling blink warning*/ settings_displayCoolingBlinkEnabled } }, /*Cooling blink warning*/
{ (const char*) SettingsDescriptions[16], { settings_setScrollSpeed }, { { (const char*) SettingsDescriptions[16], { settings_setScrollSpeed }, {
settings_displayScrollSpeed } }, /*Scroll Speed for descriptions*/ 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 { NULL, { NULL }, { NULL } } // end of menu marker. DO NOT REMOVE
}; };
const menuitem PowerMenu[] = { const menuitem PowerMenu[] = {
@@ -174,13 +205,18 @@ const menuitem PowerMenu[] = {
const menuitem advancedMenu[] = { const menuitem advancedMenu[] = {
/* /*
* Detailed IDLE * Power limit enable
* Power limit
* Detailed IDLE
* Detailed Soldering * Detailed Soldering
* Logo Time
* Calibrate Temperature * Calibrate Temperature
* Calibrate Input V * Calibrate Input V
* Reset Settings * Reset Settings
*/ */
{ (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 }, { { (const char*) SettingsDescriptions[6], { settings_setAdvancedIDLEScreens }, {
settings_displayAdvancedIDLEScreens } }, /* Advanced idle screen*/ settings_displayAdvancedIDLEScreens } }, /* Advanced idle screen*/
{ (const char*) SettingsDescriptions[15], { (const char*) SettingsDescriptions[15],
@@ -281,6 +317,8 @@ static int userConfirmation(const char *message) {
#ifdef MODEL_TS100 #ifdef MODEL_TS100
static void settings_setInputVRange(void) { static void settings_setInputVRange(void) {
systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 5; systemSettings.cutoutSetting = (systemSettings.cutoutSetting + 1) % 5;
if (systemSettings.cutoutSetting)
systemSettings.powerLimitEnable = 0; // disable power limit if switching to a lipo power source
} }
static void settings_displayInputVRange(void) { static void settings_displayInputVRange(void) {
@@ -321,11 +359,15 @@ static void settings_displayInputPRange(void) {
#endif #endif
static void settings_setSleepTemp(void) { static void settings_setSleepTemp(void) {
// If in C, 10 deg, if in F 20 deg // If in C, 10 deg, if in F 20 deg
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
systemSettings.SleepTemp += 20; systemSettings.SleepTemp += 20;
if (systemSettings.SleepTemp > 580) if (systemSettings.SleepTemp > 580)
systemSettings.SleepTemp = 120; systemSettings.SleepTemp = 120;
} else { }
else
#endif
{
systemSettings.SleepTemp += 10; systemSettings.SleepTemp += 10;
if (systemSettings.SleepTemp > 300) if (systemSettings.SleepTemp > 300)
systemSettings.SleepTemp = 50; systemSettings.SleepTemp = 50;
@@ -378,7 +420,7 @@ static void settings_displayShutdownTime(void) {
OLED::print(SymbolMinutes); OLED::print(SymbolMinutes);
} }
} }
#ifdef ENABLED_FAHRENHEIT_SUPPORT
static void settings_setTempF(void) { static void settings_setTempF(void) {
systemSettings.temperatureInF = !systemSettings.temperatureInF; systemSettings.temperatureInF = !systemSettings.temperatureInF;
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
@@ -410,6 +452,7 @@ static void settings_displayTempF(void) {
OLED::print((systemSettings.temperatureInF) ? SymbolDegF : SymbolDegC); OLED::print((systemSettings.temperatureInF) ? SymbolDegF : SymbolDegC);
} }
#endif
static void settings_setSensitivity(void) { static void settings_setSensitivity(void) {
systemSettings.sensitivity++; systemSettings.sensitivity++;
@@ -440,6 +483,29 @@ static void settings_displayAdvancedIDLEScreens(void) {
OLED::drawCheckbox(systemSettings.detailedIDLE); 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 void settings_displayPowerLimit(void) {
printShortDescription(22, 5);
OLED::printNumber(systemSettings.powerLimit, 2);
OLED::print(SymbolWatts);
}
static void settings_setScrollSpeed(void) { static void settings_setScrollSpeed(void) {
if (systemSettings.descriptionScrollSpeed == 0) if (systemSettings.descriptionScrollSpeed == 0)
systemSettings.descriptionScrollSpeed = 1; systemSettings.descriptionScrollSpeed = 1;
@@ -501,12 +567,15 @@ static void settings_displayBoostModeEnabled(void) {
} }
static void settings_setBoostTemp(void) { static void settings_setBoostTemp(void) {
#ifdef ENABLED_FAHRENHEIT_SUPPORT
if (systemSettings.temperatureInF) { if (systemSettings.temperatureInF) {
systemSettings.BoostTemp += 20; // Go up 20F at a time systemSettings.BoostTemp += 20; // Go up 20F at a time
if (systemSettings.BoostTemp > 850) { if (systemSettings.BoostTemp > 850) {
systemSettings.BoostTemp = 480; // loop back at 250 systemSettings.BoostTemp = 480; // loop back at 250
} }
} else { } else
#endif
{
systemSettings.BoostTemp += 10; // Go up 10C at a time systemSettings.BoostTemp += 10; // Go up 10C at a time
if (systemSettings.BoostTemp > 450) { if (systemSettings.BoostTemp > 450) {
systemSettings.BoostTemp = 250; // loop back at 250 systemSettings.BoostTemp = 250; // loop back at 250
@@ -521,12 +590,29 @@ static void settings_displayBoostTemp(void) {
static void settings_setAutomaticStartMode(void) { static void settings_setAutomaticStartMode(void) {
systemSettings.autoStartMode++; systemSettings.autoStartMode++;
systemSettings.autoStartMode %= 2; systemSettings.autoStartMode %= 4;
} }
static void settings_displayAutomaticStartMode(void) { static void settings_displayAutomaticStartMode(void) {
printShortDescription(10, 7); printShortDescription(10, 7);
OLED::drawCheckbox(systemSettings.autoStartMode);
switch (systemSettings.autoStartMode) {
case 0:
OLED::print(SettingStartNoneChar);
break;
case 1:
OLED::print(SettingStartSolderingChar);
break;
case 2:
OLED::print(SettingStartSleepChar);
break;
case 3:
OLED::print(SettingStartSleepOffChar);
break;
default:
OLED::print(SettingStartNoneChar);
break;
}
} }
static void settings_setCoolingBlinkEnabled(void) { static void settings_setCoolingBlinkEnabled(void) {
@@ -657,6 +743,37 @@ static void settings_setCalibrateVIN(void) {
} }
} }
static void settings_setReverseButtonTempChangeEnabled(void) {
systemSettings.ReverseButtonTempChangeEnabled = !systemSettings.ReverseButtonTempChangeEnabled;
}
static void settings_displayReverseButtonTempChangeEnabled(void){
printShortDescription(23, 7);
OLED::drawCheckbox(systemSettings.ReverseButtonTempChangeEnabled);
}
static void 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
}
}
static void settings_displayTempChangeShortStep(void) {
printShortDescription(24, 5);
OLED::printNumber(systemSettings.TempChangeShortStep, 3);
}
static void 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
}
}
static void settings_displayTempChangeLongStep(void) {
printShortDescription(25, 5);
OLED::printNumber(systemSettings.TempChangeLongStep, 3);
}
static void displayMenu(size_t index) { static void displayMenu(size_t index) {
// Call into the menu // Call into the menu
OLED::setFont(1); OLED::setFont(1);

View File

@@ -233,10 +233,25 @@ void startQC(uint16_t divisor) {
// Delay 1.25 seconds // Delay 1.25 seconds
uint8_t enteredQC = 0; uint8_t enteredQC = 0;
vTaskDelay(125); for (uint16_t i = 0; i < 200 && enteredQC == 0; i++) {
// Check if D- is low to spot a QC charger vTaskDelay(1); //10mS pause
if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_11) == GPIO_PIN_RESET) if (i > 130) {
enteredQC = 1; if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_11) == GPIO_PIN_RESET) {
enteredQC = 1;
}
if (i == 140) {
//For some marginal QC chargers, we try adding a pulldown
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Pin = GPIO_PIN_11;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
}
}
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Pin = GPIO_PIN_11;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
if (enteredQC) { if (enteredQC) {
// We have a QC capable charger // We have a QC capable charger
QC_Seek9V(); QC_Seek9V();
@@ -280,19 +295,19 @@ static unsigned int sqrt32(unsigned long n) {
} }
} }
int16_t calculateMaxVoltage(uint8_t useHP) { int16_t calculateMaxVoltage(uint8_t useHP) {
// This measures the tip resistance, then it calculates the appropriate // This measures the tip resistance, then it calculates the appropriate
// voltage To stay under ~18W. Mosfet is "9A", so no issues there // voltage To stay under ~18W. Mosfet is "9A", so no issues there
// QC3.0 supports up to 18W, which is 2A @9V and 1.5A @12V // QC3.0 supports up to 18W, which is 2A @9V and 1.5A @12V
uint32_t milliOhms = 4500; uint32_t milliOhms = 4500;
// Check no tip // Check no tip
if (milliOhms > 10000) if (milliOhms > 10000)
return -1; return -1;
//Because of tolerance, if a user has asked for the higher power mode, then just goto 12V and call it a day //Because of tolerance, if a user has asked for the higher power mode, then just goto 12V and call it a day
if (useHP) if (useHP)
return 120; return 120;
// //
// V = sqrt(18W*R) // V = sqrt(18W*R)
// Convert this to sqrt(18W)*sqrt(milli ohms)*sqrt(1/1000) // Convert this to sqrt(18W)*sqrt(milli ohms)*sqrt(1/1000)
uint32_t Vx = sqrt32(milliOhms); uint32_t Vx = sqrt32(milliOhms);
if (useHP) if (useHP)
@@ -300,17 +315,17 @@ int16_t calculateMaxVoltage(uint8_t useHP) {
else else
Vx *= 1342; // sqrt(18) * sqrt(1/1000)*10000 Vx *= 1342; // sqrt(18) * sqrt(1/1000)*10000
// Round to nearest 200mV, // Round to nearest 200mV,
// So divide by 100 to start, to get in Vxx // So divide by 100 to start, to get in Vxx
Vx /= 100; Vx /= 100;
if (Vx % 10 >= 5) if (Vx % 10 >= 5)
Vx += 10; Vx += 10;
Vx /= 10; Vx /= 10;
// Round to nearest increment of 2 // Round to nearest increment of 2
if (Vx % 2 == 1) if (Vx % 2 == 1)
Vx++; Vx++;
//Because of how bad the tolerance is on detecting the tip resistance is //Because of how bad the tolerance is on detecting the tip resistance is
//Its more functional to bin this //Its more functional to bin this
if (Vx < 90) if (Vx < 90)
Vx = 90; Vx = 90;
else if (Vx >= 105) else if (Vx >= 105)
@@ -332,7 +347,7 @@ void setTipPWM(uint8_t pulse) {
// timers. // timers.
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
// Period has elapsed // Period has elapsed
if (htim->Instance == TIM2) { if (htim->Instance == TIM2) {
// we want to turn on the output again // we want to turn on the output again
PWMSafetyTimer--; PWMSafetyTimer--;
@@ -354,7 +369,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
} }
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) {
// This was a when the PWM for the output has timed out // This was a when the PWM for the output has timed out
if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) { if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) {
HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1); HAL_TIM_PWM_Stop(&htim3, TIM_CHANNEL_1);
} }

View File

@@ -15,6 +15,7 @@
uint8_t PCBVersion = 0; uint8_t PCBVersion = 0;
// File local variables // File local variables
uint32_t currentTempTargetDegC = 0; // Current temperature target in C uint32_t currentTempTargetDegC = 0; // Current temperature target in C
uint8_t accelInit = 0;
uint32_t lastMovementTime = 0; uint32_t lastMovementTime = 0;
bool settingsWereReset = false; bool settingsWereReset = false;
@@ -124,6 +125,7 @@ void startPIDTask(void const *argument __unused) {
currentTempTargetDegC = 0; // Force start with no output (off). If in sleep / soldering this will currentTempTargetDegC = 0; // Force start with no output (off). If in sleep / soldering this will
// be over-ridden rapidly // be over-ridden rapidly
pidTaskNotification = xTaskGetCurrentTaskHandle(); pidTaskNotification = xTaskGetCurrentTaskHandle();
uint32_t PIDTempTarget = 0;
for (;;) { for (;;) {
if (ulTaskNotifyTake(pdTRUE, 2000)) { if (ulTaskNotifyTake(pdTRUE, 2000)) {
@@ -131,12 +133,16 @@ void startPIDTask(void const *argument __unused) {
int32_t x10WattsOut = 0; int32_t x10WattsOut = 0;
// Do the reading here to keep the temp calculations churning along // Do the reading here to keep the temp calculations churning along
uint32_t currentTipTempInC = TipThermoModel::getTipInC(true); uint32_t currentTipTempInC = TipThermoModel::getTipInC(true);
PIDTempTarget = currentTempTargetDegC;
if (currentTempTargetDegC) { if (PIDTempTarget) {
// Cap the max set point to 450C // Cap the max set point to 450C
if (currentTempTargetDegC > (450)) { if (PIDTempTarget > (450)) {
//Maximum allowed output //Maximum allowed output
currentTempTargetDegC = (450); PIDTempTarget = (450);
}
//Safety check that not aiming higher than current tip can measure
if (PIDTempTarget > TipThermoModel::getTipMaxInC()) {
PIDTempTarget = TipThermoModel::getTipMaxInC();
} }
// Convert the current tip to degree's C // Convert the current tip to degree's C
@@ -144,7 +150,7 @@ void startPIDTask(void const *argument __unused) {
// to be unstable. Use a rolling average to dampen it. // to be unstable. Use a rolling average to dampen it.
// We overshoot by roughly 1 degree C. // We overshoot by roughly 1 degree C.
// This helps stabilize the display. // This helps stabilize the display.
int32_t tError = currentTempTargetDegC - currentTipTempInC + 1; int32_t tError = PIDTempTarget - currentTipTempInC + 1;
tError = tError > INT16_MAX ? INT16_MAX : tError; tError = tError > INT16_MAX ? INT16_MAX : tError;
tError = tError < INT16_MIN ? INT16_MIN : tError; tError = tError < INT16_MIN ? INT16_MIN : tError;
tempError.update(tError); tempError.update(tError);
@@ -189,13 +195,20 @@ void startPIDTask(void const *argument __unused) {
lastPowerPulse = xTaskGetTickCount(); lastPowerPulse = xTaskGetTickCount();
} }
#endif #endif
setTipX10Watts(x10WattsOut); //Secondary safety check to forcefully disable header when within ADC noise of top of ADC
if (getTipRawTemp(0) > (0x7FFF - 150)) {
x10WattsOut = 0;
}
if (systemSettings.powerLimitEnable
&& x10WattsOut > (systemSettings.powerLimit * 10)) {
setTipX10Watts(systemSettings.powerLimit * 10);
} else {
setTipX10Watts(x10WattsOut);
}
HAL_IWDG_Refresh(&hiwdg); HAL_IWDG_Refresh(&hiwdg);
} else { } else {
asm("bkpt"); //ADC interrupt timeout
//ADC interrupt timeout
setTipPWM(0); setTipPWM(0);
} }
} }
@@ -250,6 +263,15 @@ void startMOVTask(void const *argument __unused) {
datax[currentPointer] = (int32_t) tx; datax[currentPointer] = (int32_t) tx;
datay[currentPointer] = (int32_t) ty; datay[currentPointer] = (int32_t) ty;
dataz[currentPointer] = (int32_t) tz; dataz[currentPointer] = (int32_t) tz;
if (!accelInit)
{
for (uint8_t i = currentPointer + 1; i < MOVFilter; i++) {
datax[i] = (int32_t) tx;
datay[i] = (int32_t) ty;
dataz[i] = (int32_t) tz;
}
accelInit = 1;
}
currentPointer = (currentPointer + 1) % MOVFilter; currentPointer = (currentPointer + 1) % MOVFilter;
avgx = avgy = avgz = 0; avgx = avgy = avgz = 0;
// calculate averages // calculate averages
@@ -283,31 +305,21 @@ void startMOVTask(void const *argument __unused) {
#define FLASH_LOGOADDR \ #define FLASH_LOGOADDR \
(0x8000000 | 0xF800) /*second last page of flash set aside for logo image*/ (0x8000000 | 0xF800) /*second last page of flash set aside for logo image*/
/* The header value is (0xAA,0x55,0xF0,0x0D) but is stored in little endian 16
* bits words on the flash */
const uint8_t LOGO_HEADER_VALUE[] = { 0x55, 0xAA, 0x0D, 0xF0 };
bool showBootLogoIfavailable() { bool showBootLogoIfavailable() {
// check if the header is there (0xAA,0x55,0xF0,0x0D) uint8_t *header = (uint8_t*) (FLASH_LOGOADDR);
// If so display logo
// TODO REDUCE STACK ON THIS ONE, USE DRAWING IN THE READ LOOP
uint16_t temp[98];
for (uint8_t i = 0; i < (98); i++) { // check if the header is correct.
temp[i] = *(uint16_t*) (FLASH_LOGOADDR + (i * 2)); for (int i = 0; i < 4; i++) {
} if (header[i] != LOGO_HEADER_VALUE[i]) {
uint8_t temp8[98 * 2]; return false;
for (uint8_t i = 0; i < 98; i++) { }
temp8[i * 2] = temp[i] >> 8;
temp8[i * 2 + 1] = temp[i] & 0xFF;
} }
if (temp8[0] != 0xAA) OLED::drawAreaSwapped(0, 0, 96, 16, (uint8_t*) (FLASH_LOGOADDR + 4));
return false;
if (temp8[1] != 0x55)
return false;
if (temp8[2] != 0xF0)
return false;
if (temp8[3] != 0x0D)
return false;
OLED::drawArea(0, 0, 96, 16, (uint8_t*) (temp8 + 4));
OLED::refresh(); OLED::refresh();
return true; return true;
} }

View File

@@ -78,6 +78,7 @@ echo " Builder for the"
echo " Alternate Open Source Firmware" echo " Alternate Open Source Firmware"
echo " for Miniware TS100 or TS80" echo " for Miniware TS100 or TS80"
echo " by Ralim" echo " by Ralim"
echo " "
echo "*********************************************" echo "*********************************************"
# Calculate available languages # Calculate available languages

View File

@@ -0,0 +1,108 @@
#pragma once
/**
* Configuration.h
* Define here your default pre settings for TS80 or TS100
*
*/
//===========================================================================
//============================= Default Settings ============================
//===========================================================================
/**
* Default soldering temp is 320.0 C
* Temperature the iron sleeps at - default 150.0 C
*/
#define SOLDERING_TEMP 320 // Default soldering temp is 320.0 °C
#define SLEEP_TEMP 150 // Default sleep temperature
#define BOOST_TEMP 420 // Default boost temp.
#define BOOST_MODE_ENABLED 1 // 0: Disable 1: Enable
/**
* Blink the temperature on the cooling screen when its > 50C
*/
#define COOLING_TEMP_BLINK 0 // 0: Disable 1: Enable
/**
* How many seconds/minutes we wait until going to sleep/shutdown.
* Values -> SLEEP_TIME * 10; i.e. 5*10 = 50 Seconds!
*/
#define SLEEP_TIME 5 // x10 Seconds
#define SHUTDOWN_TIME 10 // Minutes
/**
* Auto start off for safety.
* Pissible values are:
* 0 - none
* 1 - Soldering Temperature
* 2 - Sleep Temperature
* 3 - Sleep Off Temperature
*/
#define AUTO_START_MODE 0 // Default to none
/**
* OLED Orientation
*
*/
#define ORIENTATION_MODE 0 // 0: Right 1:Left 2:Automatic - Default right
#define REVERSE_BUTTON_TEMP_CHANGE 0 // 0:Default 1:Reverse - Reverse the plus and minus button assigment for temperatur change
/**
* Temp change settings
*/
#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
/**
* OLED Orientation Sensitivity on Automatic mode!
* Motion Sensitivity <0=Off 1=Least Sensitive 9=Most Sensitive>
*/
#define SENSITIVITY 7 // Default 7
/**
* Detailed soldering screen
* Detailed idle screen (off for first time users)
*/
#define DETAILED_SOLDERING 0 // 0: Disable 1: Enable - Default 0
#define DETAILED_IDLE 0 // 0: Disable 1: Enable - Default 0
#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
#ifdef MODEL_TS100
#define VOLTAGE_DIV 467 // 467 - Default divider from schematic
#define CALIBRATION_OFFSET 900 // 900 - Default adc offset in uV
#define PID_POWER_LIMIT 70 // Sets the max pwm power limit
#define POWER_LIMIT 30 // 30 watts default limit
#define MAX_POWER_LIMIT 65 //
#define POWER_LIMIT_STEPS 5 //
/**
* TIP_GAIN = TIP_GAIN/1000 == uV per deg C constant of the tip
*/
#define OP_AMP_Rf 750*1000 // 750 Kilo-ohms -> From schematic, R1
#define OP_AMP_Rin 2370 // 2.37 Kilo-ohms -> From schematic, R2
#define TIP_GAIN 405
#endif
#ifdef MODEL_TS80
#define VOLTAGE_DIV 780 // Default divider from schematic
#define PID_POWER_LIMIT 24 // Sets the max pwm power limit
#define CALIBRATION_OFFSET 900 // the adc offset in uV
#define POWER_LIMIT 24 // 24 watts default power limit
#define MAX_POWER_LIMIT 30 //
#define POWER_LIMIT_STEPS 2
/**
* TIP_GAIN = TIP_GAIN/1000 == uV per deg C constant of the tip
*/
#define OP_AMP_Rf 180*1000 // 180 Kilo-ohms -> From schematic, R6
#define OP_AMP_Rin 2000 // 2.0 Kilo-ohms -> From schematic, R3
#define TIP_GAIN 115
#endif

View File

@@ -0,0 +1,7 @@
/**
* Firmware build version - format: xx.yy.zzzzzz
* x: Major - y: Minor - z: git short hash generated automaticaly from git
* i.e.: BUILD_VERSION = 'Rel. v2.08' --> Will generated to: 'v2.08.1a2b3c4'
*/
#define BUILD_VERSION "v2.09"

View File

@@ -1,338 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.atollic.truestudio.configuration.release.200032419">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.atollic.truestudio.configuration.release.200032419" moduleId="org.eclipse.cdt.core.settings" name="ReleaseTS100">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GCCErrorParser" id="com.atollic.truestudio.configuration.release.200032419" name="ReleaseTS100" parent="com.atollic.truestudio.configuration.release" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">
<folderInfo id="com.atollic.truestudio.configuration.release.200032419." name="/" resourcePath="">
<toolChain errorParsers="" id="com.atollic.truestudio.exe.release.toolchain.1340188969" name="Atollic ARM Tools" superClass="com.atollic.truestudio.exe.release.toolchain">
<option id="com.atollic.truestudio.general.runtimelib.191191414" name="Runtime Library" superClass="com.atollic.truestudio.general.runtimelib" useByScannerDiscovery="false" value="com.atollic.truestudio.ld.general.cclib.CCSmallCSmall" valueType="enumerated"/>
<option id="com.atollic.truestudio.toolchain_options.mcu.1436647432" name="Microcontroller" superClass="com.atollic.truestudio.toolchain_options.mcu" useByScannerDiscovery="false" value="STM32F103T8" valueType="string"/>
<option id="com.atollic.truestudio.toolchain_options.vendor.1169826438" name="Vendor name" superClass="com.atollic.truestudio.toolchain_options.vendor" useByScannerDiscovery="false" value="STMicroelectronics" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.atollic.truestudio.exe.release.toolchain.platform.1125330428" isAbstract="false" name="release platform" superClass="com.atollic.truestudio.exe.release.toolchain.platform"/>
<builder autoBuildTarget="" buildPath="${workspace_loc:/TS100A}/Release" cleanBuildTarget="" customBuilderProperties="toolChainpathString=/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ARMTools/bin|toolChainpathType=1|com.atollic.truestudio.common_options.target.vendor=STMicroelectronics|com.atollic.truestudio.common_options.target.mcu=STM32F103T8|" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" errorParsers="" id="com.atollic.truestudio.mbs.builder1.1682214826" incrementalBuildTarget="" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.atollic.truestudio.mbs.builder1"/>
<tool command="arm-atollic-eabi-gcc -c" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="com.atollic.truestudio.exe.release.toolchain.as.5806016" name="Assembler" superClass="com.atollic.truestudio.exe.release.toolchain.as">
<option id="com.atollic.truestudio.common_options.target.endianess.1911688133" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1179040963" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.278602993" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1955414975" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.1321496997" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.as.symbols.defined.859030727" name="Defined symbols" superClass="com.atollic.truestudio.as.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32F103T8Ux"/>
<listOptionValue builtIn="false" value="STM32F1"/>
<listOptionValue builtIn="false" value="STM32"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
<listOptionValue builtIn="false" value="USE_RTOS_SYSTICK"/>
</option>
<option id="com.atollic.truestudio.as.general.incpath.1741841972" name="Include path" superClass="com.atollic.truestudio.as.general.incpath" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM3&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\Middlewares\Third_Party\FreeRTOS\Source\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\Middlewares\Third_Party\FreeRTOS\Source\portable&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\HAL_Driver\Inc\Legacy&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\HAL_Driver\Inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\CMSIS\core&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\CMSIS\device&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.interwork.1685024437" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.exe.release.toolchain.as.debug.flags.1010729648" name="Debug Level" superClass="com.atollic.truestudio.exe.release.toolchain.as.debug.flags" useByScannerDiscovery="false" value="com.atollic.truestudio.as.debug.flags.3" valueType="enumerated"/>
<inputType id="com.atollic.truestudio.as.input.640267647" name="Input" superClass="com.atollic.truestudio.as.input"/>
</tool>
<tool command="arm-atollic-eabi-gcc -c" commandLinePattern="${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="com.atollic.truestudio.exe.release.toolchain.gcc.45651038" name="C Compiler" superClass="com.atollic.truestudio.exe.release.toolchain.gcc">
<option id="com.atollic.truestudio.gcc.symbols.defined.1383071182" name="Defined symbols" superClass="com.atollic.truestudio.gcc.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32F103T8Ux"/>
<listOptionValue builtIn="false" value="MODEL_TS100"/>
<listOptionValue builtIn="false" value="STM32F1"/>
<listOptionValue builtIn="false" value="STM32"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
<listOptionValue builtIn="false" value="USE_RTOS_SYSTICK"/>
</option>
<option id="com.atollic.truestudio.gcc.directories.select.1784012793" name="Include path" superClass="com.atollic.truestudio.gcc.directories.select" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc/Legacy&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/core&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/device&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.endianess.995599109" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1774407741" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.170065591" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1476778467" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.497033069" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.gcc.optimization.prep_garbage.1005937216" name="Prepare dead code removal " superClass="com.atollic.truestudio.gcc.optimization.prep_garbage" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gcc.optimization.prep_data.295328985" name="Prepare dead data removal" superClass="com.atollic.truestudio.gcc.optimization.prep_data" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.exe.release.toolchain.gcc.debug.info.846808695" name="Debug Level" superClass="com.atollic.truestudio.exe.release.toolchain.gcc.debug.info" useByScannerDiscovery="false" value="com.atollic.truestudio.gcc.debug.info.3" valueType="enumerated"/>
<option id="com.atollic.truestudio.gcc.warnings.extra.1975907231" name="Enable extra warning flags" superClass="com.atollic.truestudio.gcc.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.common_options.target.interwork.1740987679" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<inputType id="com.atollic.truestudio.gcc.input.118701765" superClass="com.atollic.truestudio.gcc.input"/>
</tool>
<tool id="com.atollic.truestudio.exe.release.toolchain.ld.967762086" name="C Linker" superClass="com.atollic.truestudio.exe.release.toolchain.ld">
<option id="com.atollic.truestudio.common_options.target.endianess.747225514" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1084694758" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1186462773" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1410190591" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.44307830" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.ld.general.scriptfile.755006424" name="Linker script" superClass="com.atollic.truestudio.ld.general.scriptfile" value="../stm32_flash.ld" valueType="string"/>
<option id="com.atollic.truestudio.ld.optimization.do_garbage.2103581239" name="Dead code removal " superClass="com.atollic.truestudio.ld.optimization.do_garbage" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.common_options.target.interwork.234525005" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork"/>
<option id="com.atollic.truestudio.ld.misc.genmapfile.444765358" name="Create map file" superClass="com.atollic.truestudio.ld.misc.genmapfile"/>
</tool>
<tool command="arm-atollic-eabi-g++ -c" commandLinePattern="${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="com.atollic.truestudio.exe.release.toolchain.gpp.93636755" name="C++ Compiler" superClass="com.atollic.truestudio.exe.release.toolchain.gpp">
<option id="com.atollic.truestudio.gpp.symbols.defined.552082963" name="Defined symbols" superClass="com.atollic.truestudio.gpp.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32F103T8Ux"/>
<listOptionValue builtIn="false" value="MODEL_TS100"/>
<listOptionValue builtIn="false" value="STM32F1"/>
<listOptionValue builtIn="false" value="STM32"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
<listOptionValue builtIn="false" value="USE_RTOS_SYSTICK"/>
</option>
<option id="com.atollic.truestudio.gpp.directories.select.1908833089" name="Include path" superClass="com.atollic.truestudio.gpp.directories.select" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc/Legacy&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/core&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/device&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.endianess.1156506838" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.260174094" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1273324754" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1925082458" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.1415303964" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.gpp.optimization.prep_garbage.1919860726" name="Prepare dead code removal" superClass="com.atollic.truestudio.gpp.optimization.prep_garbage" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.prep_data.807404711" name="Prepare dead data removal" superClass="com.atollic.truestudio.gpp.optimization.prep_data" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.fno_rtti.1379644727" name="Disable RTTI" superClass="com.atollic.truestudio.gpp.optimization.fno_rtti" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.fno_exceptions.421620203" name="Disable exception handling" superClass="com.atollic.truestudio.gpp.optimization.fno_exceptions" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.exe.release.toolchain.gpp.debug.info.2091338048" name="Debug Level" superClass="com.atollic.truestudio.exe.release.toolchain.gpp.debug.info" useByScannerDiscovery="false" value="com.atollic.truestudio.gpp.debug.info.3" valueType="enumerated"/>
<option id="com.atollic.truestudio.gpp.warnings.extra.843614419" name="Enable extra warning flags" superClass="com.atollic.truestudio.gpp.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.cppstandard.1895895086" name="C++ standard" superClass="com.atollic.truestudio.gpp.cppstandard" useByScannerDiscovery="false" value="com.atollic.truestudio.gpp.cppstandard.gnupp14" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.interwork.429864345" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.gpp.optimization.no_strict_aliasing.1375071191" name="No strict aliasing" superClass="com.atollic.truestudio.gpp.optimization.no_strict_aliasing" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<inputType id="com.atollic.truestudio.gpp.input.1156264590" superClass="com.atollic.truestudio.gpp.input"/>
</tool>
<tool command="arm-atollic-eabi-g++" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT} ${INPUTS} ${FLAGS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="com.atollic.truestudio.exe.release.toolchain.ldcc.407189665" name="C++ Linker" superClass="com.atollic.truestudio.exe.release.toolchain.ldcc">
<option id="com.atollic.truestudio.common_options.target.endianess.541299694" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.586012836" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1795137823" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1187371488" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.2140649468" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.ldcc.optimization.do_garbage.324971909" name="Dead code removal" superClass="com.atollic.truestudio.ldcc.optimization.do_garbage" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.ldcc.general.scriptfile.59845520" name="Linker script" superClass="com.atollic.truestudio.ldcc.general.scriptfile" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}}/../TS100/LinkerScript.ld" valueType="string"/>
<option id="com.atollic.truestudio.ldcc.misc.linkerflags.2127852186" name="Other options" superClass="com.atollic.truestudio.ldcc.misc.linkerflags" useByScannerDiscovery="false" value="-Wl,-cref,-u,Reset_Handler,-lm -Os -flto -Wl,--undefined=vTaskSwitchContext" valueType="string"/>
<option id="com.atollic.truestudio.ldcc.optimization.malloc_page_size.1711302014" name="Page size allocation for malloc() " superClass="com.atollic.truestudio.ldcc.optimization.malloc_page_size" useByScannerDiscovery="false" value="com.atollic.truestudio.ldcc.optimization.malloc_page_size.128" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.interwork.1666808603" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.ldcc.misc.genmapfile.1497893499" name="Create map file" superClass="com.atollic.truestudio.ldcc.misc.genmapfile" useByScannerDiscovery="false"/>
<inputType id="com.atollic.truestudio.ldcc.input.1102687442" name="Input" superClass="com.atollic.truestudio.ldcc.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.atollic.truestudio.ar.base.338247844" name="Archiver" superClass="com.atollic.truestudio.ar.base"/>
<tool command="arm-atollic-reports.jar" commandLinePattern="${COMMAND} ${FLAGS} ${INPUTS}" errorParsers="" id="com.atollic.truestudio.exe.release.toolchain.secoutput.1639207399" name="Other" superClass="com.atollic.truestudio.exe.release.toolchain.secoutput">
<option id="com.atollic.truestudio.secoutput.general.convert.1862563224" name="Convert build output" superClass="com.atollic.truestudio.secoutput.general.convert" useByScannerDiscovery="false" value="true" valueType="boolean"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
<cconfiguration id="com.atollic.truestudio.configuration.release.200032419.567701681">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.atollic.truestudio.configuration.release.200032419.567701681" moduleId="org.eclipse.cdt.core.settings" name="ReleaseTS80">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GCCErrorParser" id="com.atollic.truestudio.configuration.release.200032419.567701681" name="ReleaseTS80" parent="com.atollic.truestudio.configuration.release" postannouncebuildStep="" postbuildStep="" preannouncebuildStep="" prebuildStep="">
<folderInfo id="com.atollic.truestudio.configuration.release.200032419.567701681." name="/" resourcePath="">
<toolChain errorParsers="" id="com.atollic.truestudio.exe.release.toolchain.1370081329" name="Atollic ARM Tools" superClass="com.atollic.truestudio.exe.release.toolchain">
<option id="com.atollic.truestudio.general.runtimelib.1144750697" name="Runtime Library" superClass="com.atollic.truestudio.general.runtimelib" useByScannerDiscovery="false" value="com.atollic.truestudio.ld.general.cclib.CCSmallCSmall" valueType="enumerated"/>
<option id="com.atollic.truestudio.toolchain_options.mcu.1299329923" name="Microcontroller" superClass="com.atollic.truestudio.toolchain_options.mcu" useByScannerDiscovery="false" value="STM32F103T8" valueType="string"/>
<option id="com.atollic.truestudio.toolchain_options.vendor.360998338" name="Vendor name" superClass="com.atollic.truestudio.toolchain_options.vendor" useByScannerDiscovery="false" value="STMicroelectronics" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.atollic.truestudio.exe.release.toolchain.platform.676659043" isAbstract="false" name="release platform" superClass="com.atollic.truestudio.exe.release.toolchain.platform"/>
<builder autoBuildTarget="" buildPath="${workspace_loc:/TS100A}/Release" cleanBuildTarget="" customBuilderProperties="toolChainpathString=/opt/Atollic_TrueSTUDIO_for_STM32_x86_64_9.3.0/ARMTools/bin|toolChainpathType=1|com.atollic.truestudio.common_options.target.vendor=STMicroelectronics|com.atollic.truestudio.common_options.target.mcu=STM32F103T8|" enableAutoBuild="false" enableCleanBuild="true" enabledIncrementalBuild="true" errorParsers="" id="com.atollic.truestudio.mbs.builder1.643804487" incrementalBuildTarget="" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.atollic.truestudio.mbs.builder1"/>
<tool command="arm-atollic-eabi-gcc -c" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="org.eclipse.cdt.core.GASErrorParser" id="com.atollic.truestudio.exe.release.toolchain.as.1501061643" name="Assembler" superClass="com.atollic.truestudio.exe.release.toolchain.as">
<option id="com.atollic.truestudio.common_options.target.endianess.2023984459" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1319355665" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1692589717" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.326700402" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.335481321" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.as.symbols.defined.1345132644" name="Defined symbols" superClass="com.atollic.truestudio.as.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32F103T8Ux"/>
<listOptionValue builtIn="false" value="STM32F1"/>
<listOptionValue builtIn="false" value="STM32"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
<listOptionValue builtIn="false" value="USE_RTOS_SYSTICK"/>
</option>
<option id="com.atollic.truestudio.as.general.incpath.1237254978" name="Include path" superClass="com.atollic.truestudio.as.general.incpath" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM3&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\Middlewares\Third_Party\FreeRTOS\Source\include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\Middlewares\Third_Party\FreeRTOS\Source\portable&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\HAL_Driver\Inc\Legacy&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\HAL_Driver\Inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\CMSIS\core&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100\CMSIS\device&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.interwork.1920257013" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.exe.release.toolchain.as.debug.flags.2105311850" name="Debug Level" superClass="com.atollic.truestudio.exe.release.toolchain.as.debug.flags" useByScannerDiscovery="false" value="com.atollic.truestudio.as.debug.flags.3" valueType="enumerated"/>
<inputType id="com.atollic.truestudio.as.input.685367003" name="Input" superClass="com.atollic.truestudio.as.input"/>
</tool>
<tool command="arm-atollic-eabi-gcc -c" commandLinePattern="${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="com.atollic.truestudio.exe.release.toolchain.gcc.432309007" name="C Compiler" superClass="com.atollic.truestudio.exe.release.toolchain.gcc">
<option id="com.atollic.truestudio.gcc.symbols.defined.815038380" name="Defined symbols" superClass="com.atollic.truestudio.gcc.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32F103T8Ux"/>
<listOptionValue builtIn="false" value="MODEL_TS80"/>
<listOptionValue builtIn="false" value="STM32F1"/>
<listOptionValue builtIn="false" value="STM32"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
<listOptionValue builtIn="false" value="USE_RTOS_SYSTICK"/>
</option>
<option id="com.atollic.truestudio.gcc.directories.select.784651652" name="Include path" superClass="com.atollic.truestudio.gcc.directories.select" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc/Legacy&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/core&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/device&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.endianess.581535424" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.929120351" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.388833854" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.785429959" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.771481133" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.gcc.optimization.prep_garbage.1230177354" name="Prepare dead code removal " superClass="com.atollic.truestudio.gcc.optimization.prep_garbage" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gcc.optimization.prep_data.900857724" name="Prepare dead data removal" superClass="com.atollic.truestudio.gcc.optimization.prep_data" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.exe.release.toolchain.gcc.debug.info.44800069" name="Debug Level" superClass="com.atollic.truestudio.exe.release.toolchain.gcc.debug.info" useByScannerDiscovery="false" value="com.atollic.truestudio.gcc.debug.info.3" valueType="enumerated"/>
<option id="com.atollic.truestudio.gcc.warnings.extra.682480079" name="Enable extra warning flags" superClass="com.atollic.truestudio.gcc.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.common_options.target.interwork.1941407234" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<inputType id="com.atollic.truestudio.gcc.input.562764950" superClass="com.atollic.truestudio.gcc.input"/>
</tool>
<tool id="com.atollic.truestudio.exe.release.toolchain.ld.91790850" name="C Linker" superClass="com.atollic.truestudio.exe.release.toolchain.ld">
<option id="com.atollic.truestudio.common_options.target.endianess.1380652799" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.884099538" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.588508551" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.1611268083" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.1619066040" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu"/>
<option id="com.atollic.truestudio.ld.general.scriptfile.179084119" name="Linker script" superClass="com.atollic.truestudio.ld.general.scriptfile" value="../stm32_flash.ld" valueType="string"/>
<option id="com.atollic.truestudio.ld.optimization.do_garbage.1433560009" name="Dead code removal " superClass="com.atollic.truestudio.ld.optimization.do_garbage" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.common_options.target.interwork.46454421" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork"/>
<option id="com.atollic.truestudio.ld.misc.genmapfile.2012342834" name="Create map file" superClass="com.atollic.truestudio.ld.misc.genmapfile"/>
</tool>
<tool command="arm-atollic-eabi-g++ -c" commandLinePattern="${COMMAND} ${INPUTS} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT}" errorParsers="org.eclipse.cdt.core.GCCErrorParser" id="com.atollic.truestudio.exe.release.toolchain.gpp.1503164054" name="C++ Compiler" superClass="com.atollic.truestudio.exe.release.toolchain.gpp">
<option id="com.atollic.truestudio.gpp.symbols.defined.963192144" name="Defined symbols" superClass="com.atollic.truestudio.gpp.symbols.defined" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="STM32F103T8Ux"/>
<listOptionValue builtIn="false" value="MODEL_TS80"/>
<listOptionValue builtIn="false" value="STM32F1"/>
<listOptionValue builtIn="false" value="STM32"/>
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
<listOptionValue builtIn="false" value="STM32F103xB"/>
<listOptionValue builtIn="false" value="USE_RTOS_SYSTICK"/>
</option>
<option id="com.atollic.truestudio.gpp.directories.select.105427562" name="Include path" superClass="com.atollic.truestudio.gpp.directories.select" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/Middlewares/Third_Party/FreeRTOS/Source/portable&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc/Legacy&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/HAL_Driver/Inc&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/core&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/../TS100/CMSIS/device&quot;"/>
</option>
<option id="com.atollic.truestudio.common_options.target.endianess.1128985254" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1586871784" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.1699158304" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.799517054" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.1467318023" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.gpp.optimization.prep_garbage.16661934" name="Prepare dead code removal" superClass="com.atollic.truestudio.gpp.optimization.prep_garbage" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.prep_data.847840077" name="Prepare dead data removal" superClass="com.atollic.truestudio.gpp.optimization.prep_data" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.fno_rtti.1986456046" name="Disable RTTI" superClass="com.atollic.truestudio.gpp.optimization.fno_rtti" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.optimization.fno_exceptions.1695726889" name="Disable exception handling" superClass="com.atollic.truestudio.gpp.optimization.fno_exceptions" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.exe.release.toolchain.gpp.debug.info.573774049" name="Debug Level" superClass="com.atollic.truestudio.exe.release.toolchain.gpp.debug.info" useByScannerDiscovery="false" value="com.atollic.truestudio.gpp.debug.info.3" valueType="enumerated"/>
<option id="com.atollic.truestudio.gpp.warnings.extra.1397196398" name="Enable extra warning flags" superClass="com.atollic.truestudio.gpp.warnings.extra" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.gpp.cppstandard.1578461032" name="C++ standard" superClass="com.atollic.truestudio.gpp.cppstandard" useByScannerDiscovery="false" value="com.atollic.truestudio.gpp.cppstandard.gnupp14" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.interwork.1841019237" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.gpp.optimization.no_strict_aliasing.140876649" name="No strict aliasing" superClass="com.atollic.truestudio.gpp.optimization.no_strict_aliasing" useByScannerDiscovery="false" value="false" valueType="boolean"/>
<inputType id="com.atollic.truestudio.gpp.input.1808551061" superClass="com.atollic.truestudio.gpp.input"/>
</tool>
<tool command="arm-atollic-eabi-g++" commandLinePattern="${COMMAND} ${OUTPUT_FLAG} ${OUTPUT} ${INPUTS} ${FLAGS}" errorParsers="org.eclipse.cdt.core.GLDErrorParser" id="com.atollic.truestudio.exe.release.toolchain.ldcc.1013199766" name="C++ Linker" superClass="com.atollic.truestudio.exe.release.toolchain.ldcc">
<option id="com.atollic.truestudio.common_options.target.endianess.1775960878" name="Endianess" superClass="com.atollic.truestudio.common_options.target.endianess" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.common_options.target.mcpu.1518272966" name="Microcontroller" superClass="com.atollic.truestudio.common_options.target.mcpu" useByScannerDiscovery="false" value="STM32F103T8" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.instr_set.894185560" name="Instruction set" superClass="com.atollic.truestudio.common_options.target.instr_set" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.instr_set.thumb2" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpucore.475077421" name="FPU" superClass="com.atollic.truestudio.common_options.target.fpucore" useByScannerDiscovery="false" value="com.atollic.truestudio.common_options.target.fpucore.None" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.fpu.447842676" name="Floating point" superClass="com.atollic.truestudio.common_options.target.fpu" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.ldcc.optimization.do_garbage.66624246" name="Dead code removal" superClass="com.atollic.truestudio.ldcc.optimization.do_garbage" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.atollic.truestudio.ldcc.general.scriptfile.2062504590" name="Linker script" superClass="com.atollic.truestudio.ldcc.general.scriptfile" useByScannerDiscovery="false" value="${workspace_loc:/${ProjName}}/../TS100/LinkerScript.ld" valueType="string"/>
<option id="com.atollic.truestudio.ldcc.misc.linkerflags.1610144515" name="Other options" superClass="com.atollic.truestudio.ldcc.misc.linkerflags" useByScannerDiscovery="false" value="-Wl,-cref,-u,Reset_Handler,-lm -Os -flto -Wl,--undefined=vTaskSwitchContext" valueType="string"/>
<option id="com.atollic.truestudio.ldcc.optimization.malloc_page_size.1767957270" name="Page size allocation for malloc() " superClass="com.atollic.truestudio.ldcc.optimization.malloc_page_size" useByScannerDiscovery="false" value="com.atollic.truestudio.ldcc.optimization.malloc_page_size.128" valueType="enumerated"/>
<option id="com.atollic.truestudio.common_options.target.interwork.1199042351" name="Mix ARM/Thumb" superClass="com.atollic.truestudio.common_options.target.interwork" useByScannerDiscovery="false"/>
<option id="com.atollic.truestudio.ldcc.misc.genmapfile.291052850" name="Create map file" superClass="com.atollic.truestudio.ldcc.misc.genmapfile" useByScannerDiscovery="false"/>
<inputType id="com.atollic.truestudio.ldcc.input.1870355596" name="Input" superClass="com.atollic.truestudio.ldcc.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="com.atollic.truestudio.ar.base.1675641595" name="Archiver" superClass="com.atollic.truestudio.ar.base"/>
<tool command="arm-atollic-reports.jar" commandLinePattern="${COMMAND} ${FLAGS} ${INPUTS}" errorParsers="" id="com.atollic.truestudio.exe.release.toolchain.secoutput.1463971170" name="Other" superClass="com.atollic.truestudio.exe.release.toolchain.secoutput">
<option id="com.atollic.truestudio.secoutput.general.convert.1259799538" name="Convert build output" superClass="com.atollic.truestudio.secoutput.general.convert" useByScannerDiscovery="false" value="true" valueType="boolean"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="TS100A.com.atollic.truestudio.exe.1757612526" name="Executable" projectType="com.atollic.truestudio.exe"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="TS100"/>
<configuration configurationName="TS100_LOCAL"/>
<configuration configurationName="Release">
<resource resourceType="PROJECT" workspacePath="/TS100A"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

File diff suppressed because it is too large Load Diff