Stm8ef Modbus Versions Save

A lightweight framework for MODBUS RTU nodes in STM8 eForth that can do more than just I/O

volatile

1 year ago

About this release

This is the "here today gone tomorrow" binary release for testing.

This isn't really a release but a container for the binary artifacts from the latest build (see this GH Release issue). It's not only unstable (if tested!) but also volatile.

This means that the artifacts in the "volatile" release can be used for testing or prototyping but they won't last. In order to keep a trace to the Git version at the end of the file forth.asm packed in the attached binary archives there is an identification record like the following:

; ##########################################
; # Release info added by GitHub action:
; #   repository:   TG9541/stm8ef-modbus
; #   branch name:  refs/heads/package-source
; #   sha:   69580949be75a71ffc03524bc34517646a9d9d75
; ##########################################

The Git version used for creating the binary archive in this example is https://github.com/TG9541/stm8ef-modbus/commit/69580949be75a71ffc03524bc34517646a9d9d75.

Please take note that not all archives provided in the release are up-to-date:

File Description
stm8ef-bin.tgz full binary release, suitable for STM8 eForth Modular Build method
stm8ef-bin.zip binary release (out/C0135/C0135-forth.ihx is the ready-to-use "four relay board" hex file)
stm8ef-rst.tgz list file for debugging
Source code (zip) GitHub source snapshot from original tag (outdated)
Source code (tar.gz) GitHub source snapshot from original tag (outdated)

0.20

3 years ago

This release uses new build features introduced by STM8 eForth to 2.2.26 and Python3 support introduced by STM8 eForth update to 2.2.27.pre2.

There is experimental support for the STM8S001J3RS485 board (a binary release archive is attached). Adding more boards using this pattern is now a simple configuration task.

0.19

4 years ago

C0135 binary created with STM8 simulation in uCsim on Travis-CI. Tested on a "4-Relay" board V1.06.

Here is a screenshot of QModMaster: image

Features:

  • As of #30, FC03, FC06 and FC15 the MODBUS address mapping is as follows:
MB address register MODBUS Forth
0 holding 1 holding
1 .. 59999 holding 2 holding 2+
60000 node ID $4000
60001 baud rate $4002
60002 .. 60319 user EEPROM $4004 - $43FE STM8S EEPROM
  • bitfield operations for Little Endian (i.e. "MODBUS packed bits") and Big Endian (i.e. "MODBUS registers") make better FC01, FC02, FC05 and FC15 possible. Refer to the following commits:
    • #28 FC05 addressing off-by-one (also large bitfields)
    • #25 Make FC03 and FC04 compatible with the new FC01 and FC02
    • #23 Use bitfield addressing to improve FC-1 and FC-2
    • #19 FC15 "Write Multiple Coils" not working
  • Add IN@ to actually read C0135 inputs, refer to issue issue #20 and to this HaD log entry
  • EEPROM Initialization w/o console: press and hold S2 during reset (refer to #17)
  • Relais 1..4 and LED as "single coil" address 0 .. 4
  • Forth console on PD1/SWIM 9600 baud

image

See #12 for discussion of missing or planned features (e.g. initial setting of Node-ID and baud rate).

Note: the tgz archive is recommended for general MODBUS use and for Forth programming. The included binary can be flashed with stm8flash -c stlinkv2 -p stm8s103f3 -s flash -w out/C0135/C0135-forth.ihx. If you're using Windows, STVP-STM8 may help.

0.18

4 years ago

C0135 binary created with STM8 simulation in uCsim on Travis-CI. Tested on a "4-Relay" board V1.06. Features:

  • bitfield operations for Little Endian (i.e. "MODBUS packed bits") and Big Endian (i.e. "MODBUS registers") make better FC01, FC02, FC05 and FC15 possible. Refer to the following commits:
    • #28 FC05 addressing off-by-one (also large bitfields)
    • #25 Make FC03 and FC04 compatible with the new FC01 and FC02
    • #23 Use bitfield addressing to improve FC-1 and FC-2
    • #19 FC15 "Write Multiple Coils" not working
  • Add IN@ to actually read C0135 inputs, refer to issue issue #20 and to this HaD log entry
  • EEPROM Initialization w/o console: press and hold S2 during reset (refer to #17)
  • Node-ID in EEPROM $4000, "holding" address 0
  • Baud rate in EPROM $4002, "holding" address 1
  • Relais 1..4 and LED as "single coil" address 0 .. 4
  • Forth console on PD1/SWIM 9600 baud

See #12 for discussion of missing or planned features (e.g. initial setting of Node-ID and baud rate).

Note: the tgz archive is recommended for Forth programming

0.17

4 years ago

C0135 binary created with STM8 simulation in uCsim on Travis-CI. Tested on a "4-Relay" board V1.06. Features:

  • bitfield operations for Little Endian (i.e. "MODBUS packed bits") and Big Endian (i.e. "MODBUS registers") make better FC01, FC02 and FC15 possible. Refer to the following commits:
    • #25 Make FC03 and FC04 compatible with the new FC01 and FC02
    • #23 Use bitfield addressing to improve FC-1 and FC-2
    • #19 FC15 "Write Multiple Coils" not working
  • Add IN@ to actually read C0135 inputs, refer to issue issue #20 and to this HaD log entry
  • EEPROM Initialization w/o console: press and hold S2 during reset (refer to #17)
  • Node-ID in EEPROM $4000, "holding" address 0
  • Baud rate in EPROM $4002, "holding" address 1
  • Relais 1..4 and LED as "single coil" address 1 .. 5
  • Forth console on PD1/SWIM 9600 baud

See #12 for discussion of missing or planned features (e.g. initial setting of Node-ID and baud rate).

Note: the tgz archive is recommended for Forth programming

0.16

4 years ago

C0135 binary created with STM8 simulation in uCsim on Travis-CI. Tested on a "4-Relay" board V1.06. Features:

See #12 for discussion of missing or planned features (e.g. initial setting of Node-ID and baud rate).

Note: the tgz archive is recommended for Forth programming

0.15

4 years ago

C0135 binary created with STM8 simulation in uCsim on Travis-CI. Tested on a "4-Relay" board V1.06. Features:

  • EEPROM Initialization w/o console: press and hold S2 during reset
  • Node-ID in EEPROM $4000, "holding" address 0
  • Baud rate in EPROM $4002, "holding" address 1
  • Relais 1..4 and LED as "single coil" address 1 .. 5
  • Forth console on PD1/SWIM 9600 baud

See #12 for discussion of missing or planned features (e.g. initial setting of Node-ID and baud rate).

Note: the tgz archive is recommended for Forth programming

0.14

4 years ago

Superseded by alpha 0.15

0.13

4 years ago

0.1

4 years ago