My initial issue began when rxtime did not timeout when there is a framing error (such as, when a pull-up resistor is not installed). I incorrectly diagnosed the problem as NOECHO. Try omitting the pull-up resistor and see if rxtime times out for you.
Because few PSC commands return feedback, !SCVER? is used to verify that the PSC is still communicating, especially when the baud is changed to 38.4 kbps. If something happens, such as a temporary power bump, the PSC may reset back to 2400 bps. If there's no feedback after sending the !SCVER? command, the timeout routine drops the communication rate back to 2400 bps and attempts to resend a !SCSBR1 command to reset the baud to 38.4 kbps.
I spent a 30 year career developing equipment to make "boring measurements" and I never got tired of it. But, I have to agree, making things move is addictive.
Comments
My initial issue began when rxtime did not timeout when there is a framing error (such as, when a pull-up resistor is not installed). I incorrectly diagnosed the problem as NOECHO. Try omitting the pull-up resistor and see if rxtime times out for you.
Because few PSC commands return feedback, !SCVER? is used to verify that the PSC is still communicating, especially when the baud is changed to 38.4 kbps. If something happens, such as a temporary power bump, the PSC may reset back to 2400 bps. If there's no feedback after sending the !SCVER? command, the timeout routine drops the communication rate back to 2400 bps and attempts to resend a !SCSBR1 command to reset the baud to 38.4 kbps.
I spent a 30 year career developing equipment to make "boring measurements" and I never got tired of it. But, I have to agree, making things move is addictive.