Driver Details

New Community

RS-232 Toolkit

By: David Bowdler
Updated: June 12, 2026
Version: 2.14
Download Driver Purchase License
Rating: 0.0 (0 ratings)
Log in to rate this driver

RS-232 Toolkit

The RS-232 Toolkit is a general-purpose serial driver for RTI XP processors that lets you control any RS-232 device without writing custom driver code. Pre-configure up to 50 commands your macros fire as "Send Slot N", then independently define up to 80 feedback matchers — Boolean, Integer, String, and Enum — that watch the incoming serial stream and write to sysvars whenever the device replies. A browser-based control page at port 9030 makes authoring, live testing, and feedback capture fast from any device on the LAN.

Key Features

  • 50 configurable TX commands: Define each command as ASCII text (with escape sequences) or raw hex bytes. Choose a terminator (None, LF, CR, CR+LF, or Custom Hex). Fire any command from a macro via SendSlot1 through SendSlot50; each also fires a SLOTN_SENT event for automation triggers.
  • 80 independent RX feedback slots: 20 Boolean (ON/OFF pattern pairs), 20 Integer (prefix-extract), 20 String (prefix-capture), and 20 Enum (pattern-to-label lists with 1-based index and human label sysvars). Feedbacks fire on both command replies and unsolicited device pushes.
  • Per-feedback events: Every feedback slot fires N_MATCHED on any pattern hit and N_CHANGED only when the output sysvar value actually transitions.
  • Browser control page (port 9030): Command tiles, feedback tiles with gear-icon modal editors, a Send Custom field for ad-hoc ASCII or hex, a Traffic Log with "save as feedback" per RX entry, TX/RX/Err counters, and a .driverconfig XML export for IDesign import. Multiple browsers can connect simultaneously.
  • Send & Capture authoring: Point the web UI at a live device, click Capture, change device state — the driver extracts the pattern automatically.
  • Receive framing options: Newline (LF), carriage return (CR), CRLF, Custom Hex delimiter, or None (raw bytes).
  • Configurable baud rate and line settings: 300 to 115200 baud, 7 or 8 data bits, 1 or 2 stop bits, None/Odd/Even/Mark/Space parity, None/RTS/DTS flow control.
  • Export and import configuration: Download the current driver state as a .driverconfig XML and import via IDesign File > Configuration > Import.
  • Optional telnet debug console: Send commands, query feedback state, inspect RX traffic, and run raw JavaScript eval — without opening IDesign.

Requirements

  • Any RS-232 serial device; a null-modem or straight-through cable wired to the RTI processor's serial port
  • RTI XP processor (runtime 24+, Integration Designer 11.4+)
  • Device on the same LAN as the processor to use the browser control page (port 9030)

How It Works

Configure the serial port settings and define your commands and feedback patterns once in IDesign Driver Properties or through the web UI. After deployment, the driver opens the serial port and watches the RX stream against all active feedback patterns. When a pattern matches, the corresponding sysvar updates and the MATCHED and CHANGED events fire — immediately, on every received message, including unsolicited device pushes. Macros call SendSlotN to transmit commands. Use the browser control page during commissioning to test commands live, capture real device responses into feedback slots with one click, and export the finished configuration as .driverconfig XML.

RS-232 Toolkit

Version 2.14

A general-purpose RS-232 utility driver. Pre-define up to 50 commands your macros can fire as "Send Slot N", and independently pre-define up to 80 feedback patterns (20 Boolean + 20 Integer + 20 String + 20 Enum) that watch the incoming RX stream and write to sysvars. Includes a browser test page on port 9030 for ad-hoc command entry, live capture, and per-feedback authoring.

Setup

In Driver Properties:

- Serial Port: pick the processor port the cable is wired to.

- Baud Rate, Data Bits, Stop Bits, Parity, Flow Control: match the target device. Defaults are 9600 8N1 no flow control.

- Receive Framing: how to split incoming bytes into messages. Use Newline / CR / CR+LF for line-based protocols. Use Custom Hex with the relevant delimiter byte for binary protocols. Use None to receive raw bytes as they arrive.

- Enable Web Interface: on by default. The control page is hosted on port 9030 (configurable). Open it from any device on the LAN by browsing to http://[processor-IP]:9030/.

Commands (TX)

Set "Number of Commands" (0-50). Each command exposes its own settings category:

- Display Name: shown in macro dropdowns and on the web page.

- Data Format: ASCII Text (escapes like \r \n \t \xNN converted to bytes) or Hex Bytes (paste hex with spaces, commas, or 0x prefixes - all non-hex characters stripped).

- Command Data: the command body.

- Terminator: None, LF, CR, CR+LF, or Custom Hex appended after the data.

Macros call commands by export name "SendSlot1" through "SendSlot50". Each command also fires a "SLOTN_SENT" event when used.

Feedbacks (RX)

Feedbacks are independent RX matchers. Each one watches the incoming serial stream for a pattern and writes to a sysvar - completely decoupled from your commands. This means feedbacks fire on unsolicited device pushes too (e.g. user changes source via the device's own remote - your panel still updates).

Four types, each with 0-20 slots:

Boolean Feedback - matches an ON pattern (sets FeedbackNBool = true) and an OFF pattern (sets it false). Use for power state, mute, freeze, key lock. Example: ON Pattern = ":PWR=01", OFF Pattern = ":PWR=00".

Integer Feedback - watches for a prefix in the RX. When matched, extracts the first integer from the RX and writes it to FeedbackNInt. Example: Prefix = ":VOL=", reply ":VOL=15" -> Int = 15. Reply ":VOL=53" -> Int = 53. The prefix stays constant; the value updates dynamically.

String Feedback - watches for a prefix. When matched, writes the entire RX text to FeedbackNStr. Use for source name display, error messages, any free-text status. Example: Prefix = ":SOURCE=", reply ":SOURCE=A0" -> Str = ":SOURCE=A0".

Enum Feedback - holds a list of pattern-to-label pairs. First matching pattern wins. Writes the 1-based index to FeedbackNInt AND the human label to FeedbackNStr. Example: ":SOURCE=30"->"HDMI 1", ":SOURCE=A0"->"HDMI 2", ":SOURCE=11"->"Computer". Reply ":SOURCE=A0" -> Int = 2, Str = "HDMI 2".

Authoring options:

- IDesign Driver Properties: each Boolean / Integer / String / Enum Feedback N category has only its relevant fields (Boolean shows ON + OFF patterns; Integer and String show Prefix; Enum shows a Patterns string in "pattern|label;pattern|label" format).

- Web Interface: click the gear icon on any feedback tile to open the type-appropriate editor. For Boolean: separate "Capture ON" and "Capture OFF" buttons. For Integer/String: "Capture" button auto-derives the prefix up to the last "=" in the next RX. For Enum: type a label, click "Capture", change device to that state - the captured pattern is appended to the list with your label.

- Web UI edits override IDesign Driver Properties (stored in Persistence). Hit "Reset to IDesign" in the modal to revert.

Events per feedback:

- FEEDBACKN_MATCHED: fires every time a pattern matches an RX (even if the resulting sysvar value didn't change).

- FEEDBACKN_CHANGED: fires only when the output sysvar value actually transitions (e.g. Bool flips true->false, or Int went from 50 to 53).

The type prefixes the event tag: BOOLFB3_MATCHED, INTFB7_CHANGED, STRFB2_MATCHED, ENUMFB1_CHANGED.

Web Interface

Browse to http://[processor-IP]:9030/ from any device on the LAN.

- Status pill at the top shows port + line settings, green when open.

- Commands grid: one tile per configured command. Click to send.

- Boolean / Integer / String / Enum Feedbacks grids: tile per active feedback, gear icon to edit.

- Send Custom: type ASCII (with escape sequences) or hex bytes. Pick a terminator for ASCII mode. Hex mode sends raw bytes only.

- Traffic Log: scrolling view of every framed RX message and TX line side-by-side. "save as feedback" button on each RX entry quickly stores it as a Boolean/Integer/String/Enum feedback.

- TX / RX / Err counters at the bottom.

- Export .driverconfig: downloads the current effective state as an IDesign-compatible XML you can import via File > Configuration > Import.

Section headings collapse with a click. Page polls every second; multiple browsers can view simultaneously.

Example: Epson projector control surface

- 3 Commands: "Power On" (PWR ON, CR), "Power Off" (PWR OFF, CR), "Power Query" (PWR?, CR).

- 1 Boolean Feedback: "Power State", ON = ":PWR=01", OFF = ":PWR=00".

- 1 Integer Feedback: "Volume", Prefix = ":VOL=".

- 1 Enum Feedback: "Source", patterns ":SOURCE=30|HDMI 1;:SOURCE=A0|HDMI 2;:SOURCE=11|Computer".

On your panel: bind a power state image to BoolFb1Bool. Bind a Volume text label to IntFb1Int. Bind a Source text label to EnumFb1Str. Fire SendSlot1 to power on. All sysvars update live as the device replies.

Macro Wiring Tips

- For projects where you only need a few commands, set the command count to that number and call SendSlotN from your macros - no event-and-test-variable plumbing needed.

- For dynamic data (calculated volume level, generated string), call Send ASCII Text or Send Hex Bytes instead. Both take a string parameter and can be wired from sysvars.

- The Reconnect function re-reads command + feedback config from IDesign / Persistence. Useful if you tweak settings without reloading the driver.

Debug Console

Optional. Set "Debug Console Port" in the hidden Debug category to a TCP port (e.g. 12530), then telnet to it: telnet [processor-IP] 12530. Type helpfor command list. Includes tx / txh / cmd N / fbs / cmds / rx / status / reconnect, plus raw JavaScript eval.

Limitations

- One serial port per driver instance. Load the driver twice for two ports.

- Multi-byte custom RX framing delimiters: only the last byte is used as the stop character.

- Live close-and-reopen of the same serial port is not supported on RTI XP. To change line settings (baud, parity, data bits, stop bits, flow), edit IDesign Driver Properties and re-deploy.

- Persistence has a per-key length limit. Enum patterns longer than ~250 chars will not survive a reboot - keep your Enum lists short (most use cases have under 10 entries which is well under the limit).

Licence

This driver runs a 15-minute trial on every driver load. During the trial all features work normally. After 15 minutes, send operations refuse with a clear message in TraceView and the web UI banner turns red.

To obtain a licence key:

1. Install the driver and open Driver Properties.

2. Look at the "Licence" category - the MAC For Key sysvar (or the orange banner in the web UI) shows your processor's MAC address in the form 00:15:26:0A:F1:AC.

3. Go to https://smarthomeprogramming.com.au/store/ - find RS-232 Toolkit in the Utility section, click Add to Cart, and enter that MAC when prompted. The licence key is emailed automatically by the store.

4. Paste the 32-character key into the "Licence Key" field and save (or use the web UI banner's "Enter licence" link).

5. The driver re-checks on save - the banner turns green and the trial timer stops.

Licence keys are per-processor (MAC-bound). Each processor in a multi-processor system needs its own key.

Migration from v1.x

v2.00 is a breaking change. The old single "Slot" type that bundled command and feedback has been split into separate Command slots (TX only, fields unchanged: Name / Format / Data / Term / CustomTerm) and four feedback types (Boolean / Integer / String / Enum). Existing Command slot data survives the upgrade. Feedbacks must be re-authored - the web UI's Send & Capture flow makes this fast (typically 30 seconds per feedback). The SendSlot1..SendSlot50 macro exports are preserved so existing macro wiring continues to work.

Support

Smart Home Programming

david@smarthomeprogramming.com.au

smarthomeprogramming.com.au

This driver requires a licence key tied to your RTI processor's MAC address.

  • Trial: 15-minute fully functional trial — no key required. All features work during the trial window. After 15 minutes, send operations are blocked; feedback and web UI monitoring continue.
  • Purchase: Visit https://smarthomeprogramming.com.au/store/ to buy a licence. Enter your processor MAC address at checkout — the key is emailed automatically.
  • Licence is per-processor — one key per XP processor. Multi-processor systems each need their own key. The MAC address is shown in the web UI banner and in the Licence category in Driver Properties.