These two topics talk about an example SerialDisplayDriver module:
viewtopic.php?f=74&t=6762&p=19490&hilit=serial#p19490
viewtopic.php?f=74&t=6760&p=19488&hilit=serial#p19488
Has this example been removed? I cannot find it anywhere. Should I be using the Python system.serial API instead?
Thanks.
It was a terrible example project. It didn’t have anything to do with our serial support stuff; it was just an example of how a module was structured.
It was meant to talk to some dinky old serial LED display device we had laying around the office, so nobody could actually do anything with the example.
Now that there are other example projects it has been removed.
Do you need access to serial ports from your module?
Yes. Is serial access available to modules? I haven’t seen anything in the API.
Thanks.
Serial support is new and is not directly a part of the API. It’s present when the serial-support modules are present.
In the gateway scope they use a (yet to be documented) mechanism to load the API jars in a ClassLoader high enough up in the hierarchy that all modules can resolve it. It also takes care of loading the proper native library.
In client/designer scope there is no hierarchy so no special mechanism is needed, it just gets loaded up and other client/designer scope code can access it.
Send me an email (kevin@inductiveautomation.com) and I’ll send you the API jar and javadocs for the serial library that gets added. Add these to your project as a compile-time reference; you do not need to include them when building your module. On setup() of your module’s hook you can ask whatever context you’re given if the serial support modules are present. If they are; carry on about your business as if the classes provided by the serial API are loaded. If not, don’t try to load them (or be ready to catch the exceptions such a thing generates…)