TL;DR -> I’m using a 3rd party serial device on Photon and Boron. Photon works great, Boron does not under the exact same configuration.
Here’s the tale of woe:
I’m having serial communication issues with an app we’ve programmed. It connects to a proprietary RF communication adapter at 115200 baud and reads data through Serial1. Data is received by sending hex commands to the device and reading the response. The device works perfectly on the photon without issues.
On Boron it does not work, and I have extensively investigated the issues. I attached an Arduino Mega to spy on the data being written. The Boron and Photon write identical data to the device TX lines with nothing attached, and I confirmed this using the Arduino. Loopback works as expected on both devices as well. Once I attach the serial RF device Boron stops writing data correctly. Photon is fine. Readable hex data keeps being written, but as soon as the Boron is connected to the device the hex data changes to the wrong values. I have all the ground, power, and data lines connected correctly, and there’s plenty of current available.
Here’s an example of what I am seeing:
Data that should be written, and is written by the Photon, and read by the device and Arduino:
[C5, 7, 0, 21] (startup command, consistent every write)
But on Boron, what I read with Arduino when the RF device is connected:
[FE, 8, 0, 23]
[FE, 8, 23, 3]
[FE, FE, 8, 23]
as soon as I disconnect the device TX line from the Boron, the data returns to normal. I have not yet hooked up my o-scope to look at the waveform, but I’m not sure what I’ll find there. Also, I’m unfortunately stuck with 115200 baud so if it’s a baud rate / data corruption issue I’m stuck there. Help!?!