This release has been almost 10 days in the making.
The most important changes are:
- improved console communication options, e.g. through a single port D GPIO pin (like PD1/SWIM)
- simultaneous communication in console and background task is possible
- configurable character I/O code is now part of the core (no more merging into board code)
- board I/O code (board key input, 7S-LED output) was split into core and board code
- a new target SWIMCOM with console communication through PD1/SWIM was added for exploring unknown boards.
With these changes it's much easier to support new boards without needing to merge core changes into board configurations all the time. I actually sacrificed 15 (fifteen) bytes in the W1209 target for avoiding another configuration tree bifurcation.
The software serial I/O code is interrupt driven and rather fast (the overhead compared to using the UART is about 10µs). It's also possible to have two independent serial interfaces: the ESP-14 uses the STM8 UART for the ESP8266 but you can have RxD/TxD on one or two port pins for the Forth console. Through vectored I/O it's even possible to change the console I/O during operation! (@Elliot Williams, we discussed this some times ago)
One of the most important functional changes the GPIO console support that was announced in a log. Basically any STM8003F3P6 based board with a Port D pin that's not always required for operation of the board can be reverse engineered and programmed with eForth now: any STM8S003F3P6 board with an ICP connector is now fair game, not just the 5% with broken out UART port pins!
To make the threshold for exploring new cheap boards really, really low, I added the SWIMCOM target to the binary release (I assume that anybody here has an 1N4148 diode and some patch wires for an improvised half-duplex "console bus" handy).
Before you do anything that you'd regret later (like breaking some stuff), please make sure to read the warnings in the README.md!
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.