Article # 68, added by Geoworks, historical record
| first |
previous |
index |
next |
last |
OmniGo serial driver
Q. I am using the OmniGo SDK to write an app that will use the serial port. Whenever I try to include the line library streamc in my .gp file, the linker tells me that "library could not be found in any platform files." If the line platform omnigo is removed from the file, the error does not occur. This happens with the sample serial apps in the SDK. As soon as the platform statement is added to either serial.gp or serial2.gp sample app files, the same problem occurs. Any suggestions? A. Due to a glitch at production time, the streamc library entry was inadvertently omitted from the omnigo.plt platform file. There are 2 ways to work around this: 1. Use the "platform omnigo" line in your .gp file, but also add the line "exempt streamc". This will tell Glue to ignore the streamc library when checking protocols in the platform file. 2. The streamc library geode on the SDK (in \OMNIGO\LIBRARY\STREAMC) is a newer version than that which was shipped in ROM on the OmniGo 100 device. If you're using some of the new features (listed below and in the serial2 sample app), then make sure your application checks the protocols of the streamc library to ensure your app is using the correct (newer) version of the library. In this case, edit the omnigo.plt platform file to include an entry for streamc. The file is \OMNIGO\INCLUDE\LDF\omnigo.plt. Add the following line (alphabetically): streamc 1 1 This will allow Geos to put up the "system file missing" dialog if an earlier version of the streamc library geode is in place when your app runs. Since the OmniGo device itself has an earlier version of the library geode, you must package the newer streamC geode (located in \OMNIGO\LIBRARY\STREAMC) with your application when you ship it. The newer version of the streamc library includes the following new routines. If you're using any of these, then you should use fix # 2. (These are the same routines that are listed in the serial2 sample application source file, serial2.goc.) SerialLoadDriver() ParallelLoadDriver() StreamSetMessageNotify() StreamSetRoutineNotify() StreamSetDataRoutineNotify() StreamSetNoNotify() StreamSetThreshold()