Skip to content

Releases: TG9541/stm8ef

Support for Access Line Devices

08 Apr 09:27
Compare
Choose a tag to compare

Access Line Devices

The configuration code was re-factored for supporting a broader range of STM8 devices:

  • target.inc in the board folder defines STM8 device properties, and the memory layout
  • stm8device.inc now contains address definitions for both Value Line and Access Line devices

The STM8S105K4 target should also work on the STM8S105C6T6 based STM8S Discovery.

Control of Memory Layout

For certain applications, e.g. Forth combined with C code, changing the memory layout may be required. It's now possible to control many aspects of the memory layout with the file target.inc in the board folder.

Improved W1401 Serial Communication

Half-duplex communication through the W1401 ICP connector is complicated by the double use of PD1/SWIM for the 7S-LED LED column control. 7S-LED control code from DCDC board support code was applied to the W1401 for improving the reliability.

VARIABLE and ALLOT allocate RAM in NVM mode, support for CN2596-2 alias DCDC

18 Mar 19:18
Compare
Choose a tag to compare

This release contains an important feature: VARIABLE and ALLOT allocate RAM in NVM mode, and support for a new board, or rather a nice little hack: a $1.60 programmable power supply.

VARIABLE and ALLOT allocate RAM in NVM mode

This feature adds transparent handling of Forth variables in for dictionaries in Flash, which means that also RAM allocation is handled automatically in the background. Please refer to the documentation in the Wiki section Forth VARIABLE in NVM mode, and to Issue #16 for technical details.

New board DCDC

Some cheap Chinese boards have surprising properties: the CN2596-2 "DCDC converter with voltmeter" can be turned into a programmable power supply (in the sense of the word). Please refer to the Hackaday project https://hackaday.io/project/19647-low-cost-programmable-power-supply, and to Board CN2596 in the Wiki for details.

CN2596-2 as Low-Cost Programmable Power Supply

18 Mar 18:44
Compare
Choose a tag to compare

This pre-release adds support for the CN2596-2 "LM2596 based DCDC with STM8S003F3P6 based voltmeter" as a very low-cost programmable power supply.

Please refer to the "Low-Cost Programmable Power Supply" project on Hackaday.io for details.

Resolves #16: VARIABLE and ALLOT allocate RAM in NVM mode

27 Feb 22:29
Compare
Choose a tag to compare

Please refer to Issue #16. Additional motivation is here.

W1401 support, resolves issues #13, #14, #15

19 Feb 13:45
Compare
Choose a tag to compare

Support for the W1401 board with the following features:

  • serial interface through PD1/SWIM
  • 7S-LED through vectored I/O (auto-off w/ time delay while serial interface active)
  • board keys through vectored I/O
  • relay/red LED, and green LED through OUT!
  • buzzer with programmable pitch (BEEP_CSR HW-register)

Sensor input from the W1401 header can be read with 5 ADC! ADC@ (the analog input is surprisingly stable: there is just enough noise to get some extra resolution, but one still gets a stable readout down to the LSB without filtering).

Several issues fixed (e.g. #13 and #15).

Resolves #13 DNEGATE not working

12 Feb 18:10
Compare
Choose a tag to compare
Pre-release
  • Bug in DNEGATE inherited from the original STM8EF fixed
  • README.md updated
  • DCDC out! doesn't control PC3 (LED "in") anymore - see example code

v2.2.6

28 Jan 22:32
Compare
Choose a tag to compare

This release provides new features while preserving code size:

  • Lightweight low-level interrupts
    • context switch with SAVEC and IRET
    • instructions and example code for HALT with Auto Wake Up (AWU) are in the Wiki
  • Board support
    • any GPIO or pair of GPIOs from ports PA to PD can be used for interrupt driven COM
    • new experimental targets DCDC and W1401
    • improved interface between 7S-Display core, and board code
  • improved density for Forth user code
    • relative CALLR where possible (2 instead of 3 bytes)
    • pseudo-opcode for DOLIT using TRAP: compiled literals use 3 instead of 5 bytes
    • option to disable the DOLIT-TRAP feature if less than 2.5µs added interrupt latency
  • issue #11fixed (LEAVE)
  • Issue #12 fixed (+LOOP)

Resolves #11, com with any GPIO, CALLR, TRAP implements DOLIT

22 Jan 17:20
Compare
Choose a tag to compare

This snapshot release offers a solution for issue #11

As a preview it also adds the following features:

  • Board support
    • Any GPIO or pair of GPIOs from ports PA through PD can be used as an interrupt driven COM port
    • improved interface between 7S-Display core, and board code
  • STC user code density
    • relative CALL where possible (2 instead of 3 bytes)
    • pseudo-opcode for DOLIT using TRAP: compiled literals 3 instead of 5 bytes
    • option to disable DOLIT TRAP feature if application doesn't allow 2.5µs added latency

Edit for 49c086f:

  • HALT instruction added
  • OUT! for board MINDEV fixed

Edit for cadd43f:

  • Issue #12 fixed

Fix Issue #9, more HW register address words, lowercase hex numbers

09 Jan 21:53
Compare
Choose a tag to compare

This is mainly a bug-fix release to fix issue #9 (error checking range of 2nd and consecutive digit in NUMBER?.
Additional features:

  • more HW register address words if HAS_HWREG=1 (depending on options selected)
  • lowercase hex numbers (e.g. $1a instead of $1A)

GPIO console support, new target SWIMCOM, improved configuration options

05 Jan 19:29
Compare
Choose a tag to compare

This release prepares the code for the support of a wide variety of target boards.
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 (UART and software RxD/TxD)
  • configurable character I/O code is now part of the core
  • 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.
    Please make sure to read notes and warnings in the README.md file!