Releases: TG9541/stm8ef
Support for Access Line Devices
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 layoutstm8device.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
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
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
W1401 support, resolves issues #13, #14, #15
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).
Resolves #13 DNEGATE not working
- 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
This release provides new features while preserving code size:
- Lightweight low-level interrupts
- context switch with
SAVEC
andIRET
- instructions and example code for HALT with Auto Wake Up (AWU) are in the Wiki
- context switch with
- Board support
- any GPIO or pair of GPIOs from ports PA to PD can be used for interrupt driven COM
- new experimental targets
DCDC
andW1401
- 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
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
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
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!