Release STM8 eForth 2.2.25 - A bit too fast! A bug-fix and an extra.

A project log for eForth for cheap STM8S gadgets

Turn cheap modules from AliExpress into interactive development kits!

ThomasThomas 07/10/2020 at 15:065 Comments

One can never test enough - literally.

The STM8 eForth test automation in Travis-CI tests the background task, but it doesn't test its cadence. Maybe that can be done, and maybe it would have been worth doing that. I could have done a manual test - just flashing a W1209 would have shown a flickering LED display - but I didn't. You live and learn...

@Andrew Clapp first discovered that something was wrong. I then identified the cause: a classic "don't use LDW for timers"-error. I first thought that it only hits STM8L devices but also STM8S, this means the whole release was affected. A quick bug-fix release therefore is the best option.

@Eelco the praise came too soon - please check if the 2.2.25 release still solves your problem!

On the plus side: I added INTRX for buffered console RX to the library.  Compilation to RAM at 115200 baud really feels much faster than at 9600 baud!


Eelco wrote 07/11/2020 at 12:12 point

You are welcome.

I found another minor issue: I think that EEPROMBASE in forth.asm should be moved to (and set to 0x1000 for STM8L*). EEPROMEND in of STM8L* should be set to 0x10FF. Although these constants are not used in the core it might lead to confusions. 

  Are you sure? yes | no

Thomas wrote 07/12/2020 at 19:31 point

You're right, they should be configurable and exposed in /target. I though about doing just that before the release but then decided against it because I didn't want to edit so many files before the release. I will make that change in the 2.2.26 :-) 

  Are you sure? yes | no

Thomas wrote 07/18/2020 at 11:24 point

@Eelco done:

#i EESTART  Uploading: ./target/EESTART
Closing: ./target/EESTART  ok


  Are you sure? yes | no

Eelco wrote 07/10/2020 at 16:28 point

Hi Thomas
I just checked: my charge controller application works with both release 2.2.25 and 2.2.24.
It uses a background task but I changed the time base to 0.36 sec. :
so maybe that is why it worked all the same.

I used to change the baud rate in the forth.asm file, but now it can be done in the inc/ file, right? But probably INTRX is more practical.

  Are you sure? yes | no

Thomas wrote 07/11/2020 at 06:48 point

Thanks for the feedback!

Yes, changing the baud rate can (maybe should) be done in Using the new exported code parameters, as INTRX does, is a good option if changing the baud rate in the application is desired.

  Are you sure? yes | no