Dear guys
Similar to some previously reported issues where YAT fails at establishing communication with Arduino-based boards, I am facing some issues with a Seeduino XIAO board where nothing gets read upon conecting my device. It does work right away with the Arduino Serial Monitor, though.
I am aware of a previous thread that indicates that enabling Hardware flow control solves some issues.
While this partially worked for me, it is NOT a complete solution. After enabling Hardware Control, I was able to finally read some data from the USB (see attached capture)
my settings are:
My sketch sends data on the serial port and loops it back on Serial port 1 from this board (pins 6 and 7) (sketch attached) however, I get the error: [Warning: CTS inactive, retaining data...]
and no looped data is read back.
Any help would be very much appreciated
Apologies, it seems like my images could not be properly read.
Attaching them here
Hi Daniel,
Great you've already come across the thread discussing hardware flow control. I think your case is also connected to this, though in a different way. The first screenshot indicates CTS is held inactive by the device, resulting in YAT retaining data. Have you tried activating the RTS line on your device? Unless the CTS line is active, YAT will not send data when hardware flow control is selected. Alternatively, try configuring the terminal's
Flow Control
toNone
and then manually activate the RTS line (based on the findings in the other discussion thread).I have googled for "arduino serial hardware flow control" but that didn't bring much insight. Seems as if Arduino natively doesn't support hardware flow control, but some add-on libraries do so. And I don't have a Seeduino XIAO at hand.
Best regards,
Matthias
PS: The "serial-communications-not-working-at-all" in the URL shown in the second screenshot puzzles me, seems as if the Seeduino XIAO has a major issue with serial communication, or more likely, the creator of the that thread also run into this flow control related issue.
Last edit: Maettu 2023-11-06
Dear Maettu
Thank you so much for your prompt help
Give me some time to run further tests and check if there is a way around enabling RTS. As you mentioned, I too believe that there is no option for this.
I must admit that several forums have reported issues with this particular board, however, I am facing issues ONLY with your amazing app YAT (which I deeply love <3)
I will get back to your as soon as I can
Cheerio
I guess many apps don't fully implement hardware flow control, meaning they simply ignore the fact CTS is inactive...
Hi Maettu
I am coming back with a recent discovery.
Running the XIAO board on putty works fine with CTS/RTS enabled.
I am now wondering what are the main "structural" differences between the .NET impementation of YAT and Putty's? (I believe Putty is made with pure C)
Please note that I have tried all options without success.
I am thinking if adding more "manual" settings for changing the CTS/RTS values could be of help (?)
Thanks once again
Daniel
Hi Daniel,
The picture previously attached clearly shows that CTS is inactive, i.e. the XIAO board does not activate its RTS line. To me this indicates the board doesn't use hardware flow control, that's why I previously proposed to configure the terminal's
Flow Control
toNone
and then manually activate the RTS line (based on the findings in the other discussion thread). What happens if you do this?Best regards,
Matthias
Hi Maettu
I believe the best thing for now is to close this "bug".
These SAMD21 XIAO boards are reportedly flawed on this aspect. It seems the Arduino implementation does not consider full native controll of the UART port. Some people have proposed some weird trickery by modifying the SAMD21 Arduino core and I believe this is pointless.
I just wanted to use one of these fun little boards on a project, however, I might do what others have done: toss the bin the bin (of usless parts) and move to better and surely more robust options
Thanks for your help in any case
Daniel