Fazecast / jSerialComm

Platform-independent serial port access for Java
GNU Lesser General Public License v3.0
1.35k stars 287 forks source link

getCTS() issues with MacOS (Catalina) and USB Serial #359

Closed cgallaty closed 2 years ago

cgallaty commented 3 years ago

This could easily be a case of a loose screw behind the keyboard, but I can not get the getCTS() to return true. I have a vintage Carroll serial analyzer and I can see the state of the lines. Regardless of if it's floating, or '1' or '0' getCTS() aways returns false. I've tried flipping the FLOW_CONTROL_CTS_ENABLED myself, etc. setRTS() and clearRTS() seem to be working as expected. Is there some obvious step that I have to do before the current state of CTS is updated internally in the lib? As a side note getDSR() also seems to have the same state. Any hints as to what I'm doing wrong or is this a glitch?

hedgecrw commented 3 years ago

Please test the attached library version and see if it works any better for you. There have been a ton of recent changes that have not made it into an actual release yet. Thanks!

https://drive.google.com/file/d/1hH2hXCEj39WUN1iz3F1TzLrpNvUro_aL/view?usp=sharing

If this still doesn't work, there is a very big chance that the underlying driver on the MacOS-side of things simply did not implement the getCTS or getDSR functions (which is not entirely uncommon, but unfortunately, there is nothing we can do on the jSerialComm side of things to overcome that).

hedgecrw commented 3 years ago

Please use this version for testing: https://drive.google.com/file/d/1QzWPJg5MU_2YrnsB1MsOWeTbjYD84D2h/view?usp=sharing

hedgecrw commented 2 years ago

Closing as "not a bug" and "cannot replicate". Please re-open with more information if you continue to experience this issue. All of these calls are direct calls to the underlying OS versions of the same call, so it is almost certainly a lack of implementation of the respective calls by the underlying driver. If you have testing results to the contrary, please re-open.