I want to connect a bit of legacy hardware - an alarm control panel that uses a single wire to communicate to remote keypads. I can use a diode to connect the single bus wire to RX and TX (Pins 0 & 1) of the Uno WiFi Rev 2. I think.
I need to interface this to an Uno Wifi Rev 2 (which I understand is similar to an Uno R3 but with MEGA4809 + Wifi).
My challenge is that the protocol used by the alarm is 9 bits... 8 bits of data, a mark/space parity and 1 stop bit.
I'm stumped on how to get 9 bit to work on the Uno Wifi Rev 2. Everything I've looked at & tried has failed as it's invariably been done on a different kind of Arduino and so I'm struggling to learn from others (I'm new to all this!).
I've looked at the project by Luca Paolini (AccentaG4 | Virtual keypad for Honeywell Security Accenta G4 panel) who got the same alarm board hooked up to a Yun by the look of things - but I am struggling to get even the simplest of 9 bit test messages to work.
I've tried AltSoft and Alt9Soft libraries. I've tried using pins other than 0 & 1. I've tried hacking HardwareSerial (GitHub - nzin/xpressnet_arduino: A Xpressnet protocol implementation for Arduino Mega 2560).
I think I'm doing the right thing by interfacing my alarm to Serial1 on pins 0 & 1?
I think I don't need SoftSerial, SoftSerial9 or similar, as pins 0/1 are hardware ports?
But how do I configure pins 0 & 1 work with 9 bit messages?
Any pointers as to approach I should take/examples gratefully received!
I've tried SoftSerial9 (I can't get it to compile - it throws errors because the library was designed for avr architecture, but my board is megaavr, plus error about digital pins, interrupts and a bunch of stuff I only vaguely understand)