Skip to content

Commit 5d96470

Browse files
authored
Merge pull request #1653 from Ralim/dev
Release 2.21
2 parents cc37899 + 1a087ca commit 5d96470

File tree

323 files changed

+97977
-30891
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

323 files changed

+97977
-30891
lines changed

.github/workflows/docs.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,13 @@ jobs:
2828
fetch-depth: 0
2929
- uses: actions/setup-python@v4
3030

31-
- run: pip install --upgrade pip && pip install mkdocs mkdocs-gen-files
31+
32+
- run: |
33+
pip install --upgrade pip &&
34+
pip install mkdocs mkdocs-gen-files pymdown-extensions \
35+
mkdocs-git-revision-date-plugin mkdocs-autolinks-plugin \
36+
mkdocs-awesome-pages-plugin
3237
- run: git config user.name 'github-actions[bot]' && git config user.email 'github-actions[bot]@users.noreply.github.com'
3338

3439
- name: Publish docs
35-
run: mkdocs gh-deploy
40+
run: mkdocs gh-deploy

.github/workflows/push.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,14 @@ jobs:
140140

141141
steps:
142142
- name: deps
143-
run: apk add --no-cache python3 py3-pip make git
143+
run: apk add --no-cache python3 py3-pip make git black
144144

145145
- uses: actions/checkout@v3
146146
with:
147147
submodules: true
148148

149149
- name: install black
150-
run: python3 -m pip install bdflib black flake8
150+
run: python3 -m pip install bdflib flake8
151151

152152
- name: Check formatting with clang-format
153153
run: cd source && make clean && make check-style

.github/workflows/weblate.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

Dockerfile

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,20 @@ WORKDIR /build
88
# Misc -> findutils make git
99
# musl-dev is required for the multi lang firmwares
1010
# clang is required for clang-format (for dev)
11+
ARG APK_COMPS="gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf \
12+
newlib-arm-none-eabi"
13+
ARG APK_PYTHON="python3 py3-pip black"
14+
ARG APK_MISC="findutils make git"
15+
ARG APK_DEV="musl-dev clang bash clang-extra-tools"
1116

12-
RUN apk add --no-cache gcc-riscv-none-elf gcc-arm-none-eabi newlib-riscv-none-elf newlib-arm-none-eabi findutils python3 py3-pip make git musl-dev clang bash clang-extra-tools
17+
# PIP packages
18+
ARG PIP_PKGS='bdflib'
19+
20+
RUN apk add --no-cache ${APK_COMPS} ${APK_PYTHON} ${APK_MISC} ${APK_DEV}
1321

1422
# Install Python3 packages
1523

16-
RUN python3 -m pip install bdflib black
24+
RUN python3 -m pip install ${PIP_PKGS}
1725
# Git trust
1826
RUN git config --global --add safe.directory /build/source
1927

Documentation/Development.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,40 @@ If you _need_ an IDE I have used [Nuclei's IDE](https://nucleisys.com/download.p
104104
Follow the same idea as the STM Cube IDE notes above.
105105

106106
## Building Pinecil V2
107+
108+
To build the Pinecil V2 firmware, you can use a Docker container that provides a consistent development environment across different operating systems, including Windows with WSL2. Here's how to do it:
109+
110+
### Prerequisites
111+
112+
Docker Desktop: Install the latest version of Docker Desktop for your operating system from the official website.
113+
114+
On Windows follow the instructions on the official documentation to install 'Windows Subsystem for Linux' (WSL2).
115+
116+
### Building Steps
117+
118+
1. Clone the repository, initialize and update submodules:
119+
120+
```sh
121+
git clone --recurse-submodules https://github.com/Ralim/IronOS.git
122+
```
123+
124+
2. Start the Docker container with the development environment:
125+
126+
```sh
127+
cd IronOS
128+
./start_dev.sh
129+
```
130+
131+
This script will build a Docker image and run a container with the necessary tools to build the firmware.
132+
133+
3. Build the firmware for Pinecil V2:
134+
135+
```sh
136+
cd source/source
137+
./build.sh -l EN -m Pinecilv2
138+
```
139+
140+
This command will compile the firmware with English language support for Pinecil V2 board.
141+
142+
4. Find the firmware artifacts:
143+
After the build completes successfully, you can find the firmware artifacts in the `source/Hexfile` directory.

Documentation/Flashing/Pinecil V1.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ These are built on every change and can be found on the Actions tab (see below).
1212

1313
Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases).
1414
Download the zip file that matches your model of soldering iron and extract it.
15-
Select the appropriate file type for your unit, in general Miniware devices need `.hex` and Pinecil needs `.dfu`.
16-
Flash according to details below
15+
Select the appropriate file type for your unit, in general Miniware devices need `.hex`, Pinecil V1 needs `.dfu`, and Pinecil V2 needs `.bin`.
16+
Flash according to details below.
1717

1818
### Bleeding edge / latest
1919

@@ -26,13 +26,16 @@ Then this works the same as a production release (use the correct file).
2626

2727
# Pinecil V1
2828

29-
- The MCU used in Pinecil supports usb-dfu. Reference [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil).
30-
- Recommended Updater: the [Pine64 Updater](https://github.com/pine64/pinecil-firmware-updater/releases), is an easy-to-use GUI app. It is fast and works in several types of OS, i.e. Windows/Mac. It will automatically fetch the newest stable version of IronOS from GitHub.
29+
- The MCU used in Pinecil supports usb-dfu. Reference [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil) for hardware and firmware instructions.
30+
- Recommended Updater for Windows/MacOS: [Pine64 Updater](https://github.com/pine64/pine64_updater) is an easy-to-use GUI app. It is fast and automatically fetches the newest stable version of IronOS from GitHub. It can also be used to load custom boot logo art.
31+
- Recommended Updater for Linux/MacOS: [PineFlash](https://github.com/Spagett1/PineFlash) is an easy-to-use GUI app. It is fast and automatically fetches the newest stable version of IronOS from Github. It can also be used to load custom boot logo art.
32+
3133
- Troubleshooting: if you have issues using the Pine64 Updater or your install fails, please go to troubleshooting tips below.
32-
- Community chat: if troubleshooting doesn't work, then join the Pine64 > Pinecil channel. There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine volunteers/members can see advice for Pinecil and related items or just get tips on which Power supply to purchase.
34+
- The [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil) is a great resource for all things Pinecil.
35+
- Community chat: if troubleshooting doesn't work, then join the Pine64 > Pinecil channel [here](https://wiki.pine64.org/wiki/Pinecil#Live_Community_Chat). There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine64 volunteers/members can see advice for Pinecil and related items or just get tips on which power supply to purchase.
3336
- One advantage of Pinecil is that you cannot permanently damage it doing a firmware update (because DFU is in ROM); an update could render Pinecil temporarily inoperable if you flash an invalid firmware. But no worries, simply re-flashing with a working firmware copy will fix everything.
3437
- USB-C cable is required to do an update. Generally, all USB controllers work, but some hubs have issues, so it is preferred to avoid USB hubs for updates.
35-
- Alternate Update Methods: if your OS is not currently supported by the [Updater](https://github.com/pine64/pinecil-firmware-updater/releases) or it does not meet your needs, i.e., you want to install a beta version, the below manual methods may be used.
38+
- Alternate Update Methods: if your OS is not currently supported by the [Pine64 Updater](https://github.com/pine64/pine64_updater) or it does not meet your needs, i.e., you want to install a beta version, the below manual methods may be used.
3639

3740
## Linux and Mac
3841

Documentation/Flashing/Pinecil V2.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,25 @@ These are built on every change and can be found on the Actions tab (see below).
1212

1313
Main releases are made to the [releases page](https://github.com/Ralim/IronOS/releases).
1414
Download the zip file that matches your model of soldering iron and extract it.
15-
Select the appropriate file type for your unit, in general Miniware devices need `.hex` and Pinecil needs `.dfu`.
16-
Flash according to details below
15+
Select the appropriate file type for your unit, in general Miniware devices need `.hex`, Pinecil V1 needs `.dfu`, and Pinecil V2 needs `.bin`.
16+
Flash according to details below.
1717

1818
### Bleeding edge / latest
1919

20-
For the _latest_ code, you will need to download the zip file from the artifacts page on the build for what you want.
21-
Head to the [Actions](https://github.com/Ralim/IronOS/actions) page and then select the run for the appropriate branch you would like.
20+
For the _latest_ code, you need to download the zip file from the artifacts page for the build that you want.
21+
Head to the [Actions](https://github.com/Ralim/IronOS/actions) page and then select the run for the appropriate branch and beta you would like.
2222
In general you probably want `master`.
2323

24-
Once you click on a run, scroll down to the "Artifacts" section and then click on your model to download a zip file.
24+
Once you click on a run, scroll down to the "Artifacts" section and then click on your device model name to download a zip file.
2525
Then this works the same as a production release (use the correct file).
2626

2727
# Pinecil V2
2828

29-
- The MCU in V2 is Bouffalo BL706 and does _not_ use usb-dfu for flashing as the previous MCU did.
30-
- The current firmware (2.18) is very fresh and no upgrade is available/needed.
31-
- When an update is released for V2, then IronOS will also include an update method to follow.
29+
- The MCU in Pinecil V2 is Bouffalo BL706 and does _not_ use usb-dfu for flashing as the previous Pinecil V1 MCU did.
30+
- See the Pinecil Wiki page [here](https://wiki.pine64.org/wiki/Pinecil#Firmware_&_Updates) for instructions.
31+
- The V2 uses the [BLISP flasher](https://github.com/pine64/blisp) to upload the firmware to the MCU.
32+
- The [Pinecil Wiki](https://wiki.pine64.org/wiki/Pinecil) is a great resource for all things Pinecil.
33+
- Community chat: if there are issues updating, then join the Pine64 > Pinecil channel [here](https://wiki.pine64.org/wiki/Pinecil#Live_Community_Chat). There are knowledgeable members in Discord/Telegram/Matrix. Discord has a bridge bot connection to Telegram and Matrix so that all pine64 volunteers/members can see advice for Pinecil and related items or just get tips on which power supply to purchase.
34+
- One advantage of Pinecil is that you cannot permanently damage it doing a firmware update (because BIN is in ROM); an update could render Pinecil temporarily inoperable if you flash an invalid firmware. But no worries, simply re-flashing with a working firmware copy will fix everything.
35+
- USB-C cable is required to do an update. Generally, all USB controllers work, but some hubs have issues, so it is preferred to avoid USB hubs for updates.
3236
- Background on the [BL706 chipset](https://lupyuen.github.io/articles/bl706)

Documentation/GettingStarted.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Note that this may be drawn mirrored depending on the orientation of your screen
2828

2929
The soldering iron symbol on the screen will appear near the tip. This is here to indicate that pressing the button closest to the front of the iron will enter soldering mode.
3030

31-
And naturally, the spanner like icon represents that pressing the button near the rear of the soldering iron will enter the settings menu.
31+
And naturally, the slider controls icon (or spanner icon in older versions) represents that pressing the button near the rear of the soldering iron will enter the settings menu.
3232

3333
In the settings, you can turn on a detailed idle screen instead. The buttons still function the same, however, the image will be swapped for a text telling you the current status of the iron with extra details.
3434

Documentation/Menu.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,13 @@ To calibrate your iron:
3939
7. Press both buttons at the same time to Save and Exit to the menu
4040

4141
### Calibrate Tip CJC
42-
This performs a Tip Cold Junction Calibration (CJC) ([see Temperature for details](https://ralim.github.io/IronOS/Temperature/)). This is normally not needed unless you have an issue with tip temperature or your tips are wearing out prematurely. Changing tip lengths does not necessarily mean a calibration is needed. Check first that your tips are not defective, and measured resistance is close to specifications (Pinecil/TS100 short tips 6.2 Ω, long tips 8 Ω, TS80(P) ~4.5 Ω).
42+
This calibrates the [Cold Junction Compensation](https://ralim.github.io/IronOS/Temperature/) *(CJC)* for the tip. This is normally not needed unless you have an issue with tip temperature or your tips are wearing out prematurely. Changing tip lengths does not necessarily mean a calibration is needed. Check first that your tips are not defective and measured resistance is close to specifications *[Pinecil / TS100 short tips **6.2 Ω**, long tips **8 Ω**, TS80/P ~**4.5 Ω**]*.
4343

44-
What this is for: some tips have an offset on their readings which causes issues, i.e., the actual temperature of the tip is much higher than displayed. To calibrate this out, perform the following steps.
44+
What this is for:<br>
45+
Some tips have an offset on their readings which causes issues, i.e. The actual temperature of the tip is much higher than displayed. Follow the steps below to calibrate this.
4546

46-
Caution: if the method below is not followed, the iron could be worse than before calibration. If you need to repeat the method, first unplug and let the handle/PCB cool down to room temperature.
47+
Caution:<br>
48+
If the method below is not followed, the iron could be worse than before calibration. If you need to repeat the method, first unplug and let the handle/PCB cool down to room temperature.
4749

4850
1. Connect power to your device.
4951
2. Go to **`Advanced Settings`** using (`-/B`) and press (`+/A`) to select it. Use (`-/B`) to scroll to **`Calibrate CJC at next boot`** and confirm with (`+/A`).
@@ -52,11 +54,11 @@ Caution: if the method below is not followed, the iron could be worse than befor
5254
4. Unplug you device.
5355
5. **Critical: Make sure a tip is attached & wait until the tip & handle are at room temperature.** (Wait a reasonable amount of time after having used the device.)
5456
6. Power the device and ideally keep it out of your hands (You know it might get warm.).
55-
7. The display shows **`....`** for a short time while the device measures and compares the tip and handle voltages.
56-
8. As a result the new *Offset value* is displayed. This value can later be viewed in the **`Debug menu`**.
57+
7. The display shows **`calibrating ....`** for a short time while the device measures and compares the tip and handle voltages.
58+
8. **`Calibration done!`** is displayed for 3 seconds. The new offset value can later be viewed in the **`Debug menu`**.
5759
9. Calibration is done and the device proceeds booting.
5860

59-
Note: offsets are dependant on your tip, temperature sensor, and the MCU. It's the culmination of tolerances at rest. Typical values are 700-1000 range. This is only designed to be used at boot while cold (ambient room temperature), as temperatures drift apart as soon as power is connected. Doing this reading repeatedly could result in wide varience of the offset number and/or incorrect calibration.
61+
Note: offsets are dependant on your tip, temperature sensor, and the MCU. It's the culmination of tolerances at rest. Typical values are 700-1000 range. This is only designed to be used at boot while cold (ambient / room temperature), as temperatures drift apart as soon as power is connected. Doing this reading repeatedly could result in wide varience of the offset number and/or incorrect calibration.
6062

6163
### Boost mode
6264

Documentation/Translation.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
# Translation
2-
If you would like to contribute a translation, use the [Translation Editor](http://htmlpreview.github.io/?https://github.com/Ralim/ts100/blob/master/Translations/TranslationEditor.html).
32

4-
[Open a reference language file and optionally a target language file](https://github.com/Ralim/ts100/tree/master/Translations).
3+
At the present time the main way of performing translations is to open a PR to this repository.
4+
All translations are stored as `json` files in the repository. Currently there is ongoing work to look into a more user friendly method of editing translations than these but for now these are reliable.
55

66
You can create a pull request with the new / updated json configuration file, and this will include this language into the new builds for the firmware.
7+
8+
For testing you can build locally and test of course; but if you dont want to figure out the build environment; you can just open a PR and github will build the firmware for you using the _actions_ feature.
9+
10+
This means that once you have a github account you can perform all of your edits inside Github should this be desired.
11+
12+
Translations are _NOT_ accepted via issues/discussions or email.

0 commit comments

Comments
 (0)