Has anyone tried this?
I can't get it to work for my SmartUPS (see pic).
Normally, the UPS gives line terminators 0D and 0A. However, when it sends an alert, it gives no line terminators. This means OnChangeOnNewData will not be triggerd until RxNextLine is set; thus, the alerts will not be processed until line terminators are processed and set RxNextLine.
This poses a problem if you don't enable polling and still want alerts or want the alerts immediately when they are sent to the port. Any ideas on this? See the attached jpeg. The break points for OnChangeOnNewData are never triggered

However, if I do enable polling, I can parse out the alerts as they come along for the ride with the polling results. My code currently works doing this, using a RegEx object.
I really can't justify using binary mode to capture these alerts so I'm not going to rewrite the SmartUPS driver. However, when I build a W800RF32 driver, it looks like I may want to use binarymode as I suspect it does not use line terminators; don't have it yet though, it's coming in the mail next week
FYI: Reading the help files for builder indicate this hybrid method should not work??
I'm very confused
Information from the help file:
OnNewData - This property is set to true when new data comes in (
when RxTextLine changes).
OnRxOverRun - Set to true when receive buffer is exceeded.
RxLinesRemaining - Number of lines remaining in the text receive buffer (
only applicable in text receive mode).
RxNextLine - When set to true, populates RxTextLine with the next line in the text receive buffer (
only applicable in text receive mode).
RxTextLine - Current line of received text data (
only applicable in text receive mode).
RxBytesRemaining - Number of Bytes remaining in the binary receive buffer (
only applicable in binary receive mode).
RxRemoveBytes - Number of Bytes to remove from RxBinaryData (
only applicable in binary receive mode).
RxBinaryData - Current value of received binary data (
only applicable in binary receive mode).