Serial (Player Only) Device Connections Revisited

Having some more fun connecting my Mountz EZ-TORQ III analyzers to Tulip player again - coworker Larry and I are requalifying the torque testing workstation in a new, albeit temporary, location in Massachussets, and we got to re-live some of the initial connection difficulties we encountered back in 2023.

Some (re)learnings from this week:

  1. If we power cycle, or otherwise break and restore the USB connection from our serial-connected devices to the laptop running Tulip, devices already connected are no longer actually connected, in the sense that their device output does not register within Tulip Player. This was true for our three torque analyzers, a serial-configured USB barcode scanner, and our Zebra Printer.

  2. Surprisingly, this (mis)behavior generally persists after all of the following:

  • Just restoring the physical connection does not restore the data output
  • Restoring the physical connection and repeating the device connection trigger does not restore the data output
  • Restoring the physical connection, restarting the app, and repeating the device connection trigger does not restore the data output
  • Restoring the physical connection, closing Tulip Player, opening Tulip Player, starting the app, and repeating the device connection trigger does not restore the data output
  1. The only fix we’ve found to work every time is to run the Device Disconnect trigger for the Identifier in question. There have been apparrently random instances where one of the above methods does appear to work after some period of time (e.g. having walked away in frustration and coming back later).

As such, I’ve added a step loop sequence at the start of my app to iterate through all of the device identifiers (we use a Tulip Table for all these ancillary device infos, including the Serial Device Connection trigger parameters). Since the disconnect just needs the identifier, and none of the other connection parameters, this was pretty straightforward, but left me with some questions:

Is there now a way for Tulip Player to list the “active” identifiers for Serial (Player Only) devices?

Why does waiting a period of time sometimes allow the connection to be restored without first running the Device Disconnect trigger for the subject identifier?

What is the “retention” design for these connections?

Are there better solutions vs. disconnecting all known identifiers?