diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index ab5a00c1..218b7984 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -3,20 +3,75 @@ name: CI PR on: [pull_request] jobs: - build: - runs-on: ubuntu-latest + build_TS80: + + runs-on: ubuntu-latest + steps: - uses: actions/checkout@v2 + - name: chmod - run: chmod +x build.sh - - name: translation - run: | - cd Translation\ Editor - python3 make_translation.py - - name: make - run: ./build.sh - - name: Archive production artifacts - uses: actions/upload-artifact@v1 + run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh + + - name: setup + run: ./setup.sh + + - name: build TS80 + run: cd workspace/TS100 && ./build.sh -m TS80 + + - name: Archive TS80 artifacts + uses: actions/upload-artifact@v2 with: - name: compiled - path: ci/artefacts + name: TS80 + path: | + workspace/TS100/Hexfile/TS80_*.hex + workspace/TS100/Hexfile/TS80_*.bin + if-no-files-found: error + build_TS80P: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: chmod + run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh + + - name: setup + run: ./setup.sh + + - name: build TS80P + run: cd workspace/TS100 && ./build.sh -m TS80P + + - name: Archive TS80P artifacts + uses: actions/upload-artifact@v2 + with: + name: TS80P + path: | + workspace/TS100/Hexfile/TS80P_*.hex + workspace/TS100/Hexfile/TS80P_*.bin + if-no-files-found: error + build_TS100: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: chmod + run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh + + - name: setup + run: ./setup.sh + + - name: build TS100 + run: cd workspace/TS100 && ./build.sh -m TS100 + + - name: Archive TS100 artifacts + uses: actions/upload-artifact@v2 + with: + name: TS100 + path: | + workspace/TS100/Hexfile/TS100_*.hex + workspace/TS100/Hexfile/TS100_*.bin + if-no-files-found: error diff --git a/.gitignore b/.gitignore index 96c9ab2c..11f60f9f 100644 --- a/.gitignore +++ b/.gitignore @@ -190,3 +190,4 @@ fabric.properties .idea/httpRequests CoreCompileInputs.cache +.vscode/settings.json diff --git a/Dockerfile b/Dockerfile index 345acdc2..69b7b686 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,10 +6,10 @@ WORKDIR /build # Install any needed packages specified in requirements.txt RUN apt-get update && \ - apt-get upgrade -y && \ apt-get install -y \ make \ bzip2 \ + git \ python3 \ wget && \ apt-get clean diff --git a/development.md b/Documentation/Development.md similarity index 100% rename from development.md rename to Documentation/Development.md diff --git a/History.md b/Documentation/History.md similarity index 64% rename from History.md rename to Documentation/History.md index 8c54ee99..0a81bddc 100644 --- a/History.md +++ b/Documentation/History.md @@ -1,5 +1,64 @@ # Version Changes -V2.00 + +## V2.11 + +* First TS80P support +* Added in a USB-PD driver stack for the FUSB302 +* Fixed some graphical glitches + +## V2.10 + +* GUI polish (animations and scroll bars) +* Power pulse to keep power supplies alive +* Adjustable tip response gain + +## V2.09 + +* Adjustable steps in temperature adjustment +* Git hash now in build string +* Adjustable language to set if US units are available or not +* Some minor QC3 improvements + +## V2.08 + +* Fixes auto start in sleep mode +* Power limiters + +## V2.07 + +* QC fixes +* Cosmetic fixes for leading 0's + +## V2.06 + +* Warning on settings reset +* Temp temp re-write +* Display calibration offset +* Hide some leading 0's +* Menu timeouts + +## V2.05 + +* Language updates + + +## V2.04 + +* GUI updates + +## V2.03 + +* Support for new accelerometers + +## V2.02 + +* Adds small font + +## V2.01 + +* Newer settings menu + +## V2.00 * Complete re-write of the low layer system to use the STM32 HAL for easier development * This allowed easier setup for the new ADC auto measuring system @@ -10,80 +69,80 @@ V2.00 * Added smaller font for said screen views -V1.17 +## V1.17 * Added blinking cooldown display * Allowed smaller sleep timeout values * New font! * Automatic startup option -V1.16 +## V1.16 * Added automatic rotation support * Added power display graph -V1.15 +## V1.15 * Added support for a custom bootup logo to be programmed via the DFU bootloader -V1.14 +## V1.14 * Changed input voltage cutoff to be based on cell count rather than voltage -V1.13 +## V1.13 * Swapped buttons for menu to prevent accidentally changing first menu item * Added auto key repeat -V1.12 +## V1.12 * Increases sensitivity options to be 1*9 with 0 off state * Fixes issue where going from COOL *> soldering can leave screen off -V1.11 +## V1.11 * Boost mode * Change sensitivity options to be 1*8 -V1.10 +## V1.10 * Adds help text to settings * Improves settings for the display update rate -V1.09 +## V1.09 * Adds display modes, for slowing down or simplifying the display -V1.08 +## V1.08 * Fix settings menu not showing flip display -V1.07 +## V1.07 * Adds shutdown time to automatically shutdown the iron after inactivity -V1.06 +## V1.06 * Changes H and C when the iron is heating to the minidso chevron like images -V1.05 +## V1.05 * Adds ability to calibrate the input voltage measurement -V1.04 +## V1.04 * Increased accuracy of the temperature control * Improved PID response slightly * Allows temperature offset calibration * Nicer idle screen -V1.03 +## V1.03 * Improved Button handling * Ability to set motion sensitivity * DC voltmeter page shows input voltage -V1.02 +## V1.02 * Adds hold both buttons on IDLE to access the therometer mode * Changes the exit soldering mode to be holding both buttons (Like original firmware) diff --git a/menu.md b/Documentation/Menu.md similarity index 100% rename from menu.md rename to Documentation/Menu.md diff --git a/power.md b/Documentation/Power.md similarity index 100% rename from power.md rename to Documentation/Power.md diff --git a/Translation.md b/Documentation/Translation.md similarity index 100% rename from Translation.md rename to Documentation/Translation.md diff --git a/upgrading.md b/Documentation/Upgrading.md similarity index 100% rename from upgrading.md rename to Documentation/Upgrading.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md index 721a76f5..05250381 100644 --- a/ISSUE_TEMPLATE.md +++ b/ISSUE_TEMPLATE.md @@ -1,31 +1,21 @@ Please edit this template and fill out all the information you can (where relevant). Failure to provide essential information can delay the response you receive. +_This is a [Bug/Feature Request/Question/Complaint]_ -* **I'm submitting a ...** - - [ ] Bug report - - [ ] Feature request - - [ ] Translation - - -* **Do you want to request a *feature* or report a *bug*?** - - +* **I have** + - [ ] Searched previous issues + - [ ] This is in _this_ firmware, not vendor "offical" firmware + - [ ] This is not a bug in the vendor bootloader (aka DFU) + - [ ] I have checked this is not already covered in the docs in `/Documentation` * **What is the current behavior?** - * **What is the expected behavior?** +***Steps to reproduce the bug:*** -* **If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem** - -***Steps to reproduce:*** - -1. -2. -3. - -***Video of problem if hard to reproduce*** +- Turn on... +- Hold.... * **What is the motivation / use case for changing the behavior?** @@ -33,13 +23,9 @@ Please edit this template and fill out all the information you can (where releva * **What are you running:** -On the idle screen, you can hold the settings button and it will show you the firmware version. +On the idle screen, you can hold the settings button and it will show you the firmware & PCB version. +If using a USB-C supply please note model number - - Firmware Version: 2.x + - Firmware Version: 2.x? - PCB Version: (1/2) - - Power Supply (Voltage and Current Rating) : - - -* **Other information** - -If submitting graphics to go on the iron, please use BMP or PNG files over JPG. + - Power Supply (Voltage and Current Rating) : \ No newline at end of file diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 6b353fec..09867702 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -2,9 +2,8 @@ Please try and fill out this template where possible, not all fields are required and can be removed. * **Please check if the PR fulfills these requirements** -- [] The commit message makes sense - [] The changes have been tested locally -- [] Are there any breaking changes +- [] There are no breaking changes * **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...) @@ -14,14 +13,6 @@ Please try and fill out this template where possible, not all fields are require * **What is the current behavior?** (You can also link to an open issue here) - - * **What is the new behavior (if this is a feature change)?** - - -* **Does this PR introduce a breaking change?** -(What changes might users need to make in their application due to this PR?) - - * **Other information**: diff --git a/README.md b/README.md index e0012b5a..d54f1eab 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -[](https://app.codeship.com/projects/379118)  # Flexible Soldering iron control Firmware +*Please Note, this repo will likely be renaming soon to unire - See issue #639. Old links willcontinue to work, and should redirect. So dont panic :) This is just to better account for the newer soldeing irons being added.* + Originally concieved as an alternative firmware for the TS100, this firmware has evolved into a complex soldering iron control firmware. The firmware implements all of the standard features of a "smart" soldering iron, with lots of little extras and tweaks. @@ -31,7 +32,7 @@ This project is considered feature complete for use as a soldering iron, *so ple * Boost mode lets you temporarily change the temperature when soldering (i.e. raise the temperature for short periods of time) * (TS100) Battery charge level indicator if power source set to a lipo cell count * (TS80) Power bank operating voltage is displayed -* [Custom boot up logo support](upgrading.md) +* [Custom boot up logo support](Documentation/upgrading.md) * Automatic LCD rotation based on the orientation * Supports both the version 1 and version 2 hardware (different accelerometers) @@ -45,7 +46,7 @@ When on the main screen, the unit shows prompts for the two most common operatio * Holding the button near the tip will enter soldering temperature adjust mode (This is the same as the one in the soldering menu, just to let you edit before heating up) * Holding the button near the USB end will show the firmware version details -Detailed operation details are over in the [Menu information.](menu.md) +Detailed operation details are over in the [Menu information.](Documentation/menu.md) ## Thanks @@ -62,11 +63,11 @@ Especially to the following users, who have helped in various ways that are mass * [Doegox](https://github.com/doegox) * [Perillamint](https://github.com/perillamint) * [GeminiServer](https://github.com/GeminiServer) -* [PixelPirate](https://github.com/PixelPirate) +* [Patrick Horlebein](https://github.com/PixelPirate) * [Firebie](https://github.com/Firebie) * [Agatti](https://github.com/agatti) * [Discip](https://github.com/discip) - +* [Paul Fertser](https://github.com/paulfertser) ## Licence The code created by the community is GNU GPLv3. Unless noted elsewhere. diff --git a/Translation Editor/TranslationEditor.html b/Translation Editor/TranslationEditor.html index 5b8507c0..d6c7cf8d 100644 --- a/Translation Editor/TranslationEditor.html +++ b/Translation Editor/TranslationEditor.html @@ -1,353 +1,329 @@ - - - -
- -| Referent Language | -- - {{ referent.languageLocalName }} [{{referent.languageCode}}] - | -
| Current Language | -- - {{ current.languageLocalName }} [{{current.languageCode}}] - | -
| Local Language Code | -- |
| Local Language Name | -- |
| Font table to use | -- - | -
{{entry.id}} |
- {{entry.value}} |
-
{{message.id}} |
-
- {{constraintString(message)}}
- {{referent.messages[message.id]}}
- {{message.note}}
-
- |
-
{{char.id}} |
-
- {{constraintString(char)}}
- {{referent.characters[char.id]}}
-
- |
-
{{menu.id}} |
-
- Menu Name
- {{constraintString(menu)}}
- {{referent.menuGroups[menu.id].text2}}
-
- Description
- {{referent.menuGroups[menu.id].desc}}
-
- |
-
| Menu Type | -- - | -
{{menu.id}} |
-
-
-
- Menu Name (Single-Line)
- {{constraintString(menu, current.menuDouble)}}
- {{referent.menuOptions[menu.id].text}}
-
-
-
- Menu Name (Double-Line)
- {{constraintString(menu, current.menuDouble)}}
- {{referent.menuOptions[menu.id].text2}}
-
- Description
- {{referent.menuOptions[menu.id].desc}}
-
- |
-
| Referent Language | ++ + {{ referent.languageLocalName }} [{{referent.languageCode}}] + | +
| Current Language | ++ + {{ current.languageLocalName }} [{{current.languageCode}}] + | +
| Local Language Code | ++ |
| Local Language Name | ++ |
| Font table to use | ++ + | +
{{entry.id}} |
+ {{entry.value}} |
+
{{message.id}} |
+
+ {{constraintString(message)}}
+ {{referent.messages[message.id]}}
+ {{message.note}}
+
+ |
+
{{char.id}} |
+
+ {{constraintString(char)}}
+ {{referent.characters[char.id]}}
+
+ |
+
{{menu.id}} |
+
+ Menu Name
+ {{constraintString(menu)}}
+ {{referent.menuGroups[menu.id].text2}}
+
+ Description
+ {{referent.menuGroups[menu.id].desc}}
+
+ |
+
{{menu.id}} |
+
+
+
+ Menu Name (Double-Line)
+ {{constraintString(menu)}}
+ {{referent.menuOptions[menu.id].text2}}
+
+ Description
+ {{referent.menuOptions[menu.id].desc}}
+
+ |
+
| Translation.cpp | -- - | -
| Translation.cpp | ++ + | +
"
},
"TipModel": {
- "text": "TIPMO",
"text2": [
"Model",
"hrotu"
@@ -213,7 +187,6 @@
"desc": "Výběr modelu hrotu."
},
"SimpleCalibrationMode": {
- "text": "SMPCAL",
"text2": [
"Jednoduchá",
"kalibrace"
@@ -221,7 +194,6 @@
"desc": "Jednoduchá kalibrace pomocí horké vody."
},
"AdvancedCalibrationMode": {
- "text": "ADVCAL",
"text2": [
"Pokročilá",
"kalibrace"
@@ -229,23 +201,13 @@
"desc": "Pokročilá kalibrace pomocí termočlánku na hrotu."
},
"PowerInput": {
- "text": "PWRW",
"text2": [
"Výkon",
"ve wattech"
],
"desc": "Výkon použítého napájecího adaptéru ve wattech."
},
- "PowerLimitEnable": {
- "text": "PLIMEN",
- "text2": [
- "Omez. výk.",
- "Aktivovat"
- ],
- "desc": "Aktivovat omezení výkonu"
- },
"PowerLimit": {
- "text": "PLIM",
"text2": [
"Omezení",
"Výkonu"
@@ -253,7 +215,6 @@
"desc": "Maximální příkon "
},
"TipModel": {
- "text": "TIPMO",
- "text2": [
+ "text2": [
"Löt-",
"spitze"
],
"desc": "Auswahl der Lötspitze"
},
"SimpleCalibrationMode": {
- "text": "SMPCAL",
- "text2": [
+ "text2": [
"Einfache",
"Kalibrierung"
],
"desc": "Einfache Kalibrierung mittels heißem Wasser"
},
"AdvancedCalibrationMode": {
- "text": "ADVCAL",
- "text2": [
+ "text2": [
"Erweiterte",
"Kalibrierung"
],
"desc": "Erweiterte Kalibrierung mittels eines Thermoelements an der Lötspitze"
},
"PowerInput": {
- "text": "PWRW",
- "text2": [
+ "text2": [
"Leistungs-",
"Aufnahme"
],
"desc": "Leistungsaufnahme der verwendeten Spannungsversorgung"
},
- "PowerLimitEnable": {
- "text": "PLIMEN",
- "text2": [
- "Leistungs-",
- "Limit An"
- ],
- "desc": "Leistungslimit aktivieren"
- },
"PowerLimit": {
- "text": "PLIM",
- "text2": [
+ "text2": [
"Leistungs-",
"Limit"
],
"desc": "Maximale aufnahme der Lötspitze "
},
"SleepTemperature": {
- "text": "STMP",
- "text2": [
+ "text2": [
"Sleep",
"temp"
],
"desc": "Sleep temperature"
},
"SleepTimeout": {
- "text": "STME",
- "text2": [
+ "text2": [
"Sleep",
"timeout"
],
"desc": "Sleep timeout "
},
"TipModel": {
- "text": "TIPMO",
- "text2": [
+ "text2": [
"Tip",
"model"
],
"desc": "Tip model selection"
},
"SimpleCalibrationMode": {
- "text": "SMPCAL",
- "text2": [
+ "text2": [
"Simple",
"calibration"
],
"desc": "Simple calibration using hot water"
},
"AdvancedCalibrationMode": {
- "text": "ADVCAL",
- "text2": [
+ "text2": [
"Advanced",
"calibration"
],
"desc": "Advanced calibration using thermocouple on the tip"
},
"PowerInput": {
- "text": "PWRW",
- "text2": [
+ "text2": [
"Power",
"wattage"
],
"desc": "Power wattage of the power adapter used"
},
- "PowerLimitEnable": {
- "text": "PLIMEN",
- "text2": [
- "Enable power",
- "limit"
- ],
- "desc": "Enable power limit"
- },
"PowerLimit": {
- "text": "PLIM",
- "text2": [
+ "text2": [
"Power",
"limit"
],
"desc": "Maximum power the iron can use "
},
"SleepTemperature": {
- "text": "STMP",
- "text2": [
+ "text2": [
"Temperatura",
"en reposo"
],
"desc": "Temperatura de la punta en reposo."
},
"SleepTimeout": {
- "text": "STME",
- "text2": [
+ "text2": [
"Entrar",
"en reposo"
],
"desc": "Tiempo de inactividad para entrar en reposo "
},
"CooldownBlink": {
- "text": "CLBLNK",
- "text2": [
+ "text2": [
"Parpadear",
"al enfriar"
],
"desc": "La temperatura en pantalla parpadea mientras la punta siga caliente."
},
"TemperatureCalibration": {
- "text": "TMP CAL?",
- "text2": [
+ "text2": [
"Calibrar temp.",
"de la punta"
],
"desc": "Calibra la desviación térmica de la punta."
},
"SettingsReset": {
- "text": "RESET?",
- "text2": [
+ "text2": [
"Volver a ajustes",
"de fábrica"
],
"desc": "Restablece todos los ajustes a los valores originales."
},
"VoltageCalibration": {
- "text": "CAL VIN?",
- "text2": [
+ "text2": [
"Calibrar voltaje",
"de entrada"
],
"desc": "Calibra VIN. Ajusta con ambos botones y mantén pulsado para salir."
},
"AdvancedSoldering": {
- "text": "ADVSLD",
- "text2": [
+ "text2": [
"Info extra",
"al soldar"
],
"desc": "Muestra más datos por pantalla cuando se está soldando."
},
"ScrollingSpeed": {
- "text": "DESCSP",
- "text2": [
+ "text2": [
"Velocidad",
"del texto"
],
"desc": "Velocidad de desplazamiento del texto "
},
"SleepTemperature": {
- "text": "STMP",
- "text2": [
+ "text2": [
"Temp",
"spavanja"
],
"desc": "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. "
},
"SleepTemperature": {
- "text": "AHŐM",
- "text2": [
+ "text2": [
"Alvási",
"hőfok"
],
"desc": "Alvási hőmérséklet "
},
"SleepTemperature": {
- "text": "",
- "text2": [
+ "text2": [
"Slaap",
"temp"
],
"desc": "Temperatuur in slaapstand "
},
"SleepTemperature": {
- "text": "",
- "text2": [
+ "text2": [
"Slaap",
"temp"
],
"desc": "Temperatuur in slaapstand <°C>"
},
"SleepTimeout": {
- "text": "",
- "text2": [
+ "text2": [
"Slaap",
"time-out"
],
"desc": "Slaapstand time-out "
},
"SleepTemperature": {
- "text": "STMP",
- "text2": [
+ "text2": [
"Temperatura",
"uśpienia"
],
"desc": "Temperatura uśpienia <°C>"
},
"SleepTimeout": {
- "text": "STME",
- "text2": [
+ "text2": [
"Czas",
"uśpienia"
],
"desc": "Czas uśpienia "
},
"SleepTemperature": {
- "text": "TMPE",
- "text2": [
+ "text2": [
"Temperat.",
"repouso"
],
"desc": "Temperatura de repouso "
},
"SleepTemperature": {
- "text": "ТмпОжд",
- "text2": [
+ "text2": [
"Темп.",
"ожидания"
],
"desc": "Температура режима ожидания"
},
"SleepTimeout": {
- "text": "ВрмОжид",
- "text2": [
+ "text2": [
"Таймаут",
"ожидания"
],
"desc": "Время до перехода в режим ожидания <Минуты/Секунды>"
},
"ShutdownTimeout": {
- "text": "ВрмОткл",
- "text2": [
+ "text2": [
"Таймаут",
"выключения"
],
"desc": "Время до отключения паяльника <Минуты>"
},
"MotionSensitivity": {
- "text": "ЧувсАксл",
- "text2": [
+ "text2": [
"Чувствительн.",
"акселерометра"
],
"desc": "Чувствительность акселерометра <0=Выкл., 1=Мин., 9=Макс.>"
},
"TemperatureUnit": {
- "text": "ЕдТемп",
- "text2": [
+ "text2": [
"Единицы",
"температуры"
],
"desc": "Единицы измерения температуры "
},
"SleepTemperature": {
- "text": "STMP",
- "text2": [
+ "text2": [
"Temp. med",
"spanjem"
],
"desc": "Temperatura med spanjem "
},
"TipModel": {
- "text": "ModelVrh",
- "text2": [
+ "text2": [
"Model",
"vrha"
],
"desc": "Odabir modela lemnog vrha."
},
"SimpleCalibrationMode": {
- "text": "JedKalbr",
- "text2": [
+ "text2": [
"Jednostavna",
"kalibracija"
],
"desc": "Jednostavna kalibracija kipućom vodom."
},
"AdvancedCalibrationMode": {
- "text": "NapKalbr",
- "text2": [
+ "text2": [
"Napredna",
"kalibracija"
],
"desc": "Napredna kalibracija pomoću termopara."
},
"PowerInput": {
- "text": "UlazSnag",
- "text2": [
+ "text2": [
"Ulazna",
"snaga"
],
"desc": "Snaga napajanja u vatima."
},
- "PowerLimitEnable": {
- "text": "PLIMEN",
- "text2": [
- "P Limit",
- "Enable"
- ],
- "desc": "Enable power limit"
- },
"PowerLimit": {
- "text": "PLIM",
- "text2": [
+ "text2": [
"Power",
"Limit"
],
"desc": "Maximum power the iron can use "
},
"SleepTemperature": {
- "text": "",
- "text2": [
+ "text2": [
"Vilo-",
"temp"
],
"desc": "Vilotemperatur "
},
"SleepTemperature": {
- "text": "STMP",
- "text2": [
- "",
+ "text2": [
+ "STMP",
""
],
"desc": "Uyku Sıcaklığı