Skip to content

Release Notes

ytai edited this page Feb 24, 2012 · 25 revisions

Release Notes

Application V3.22 (App-IOIO0322)

API Changes

  • Added buffered reading to AnalogInput. Allows reading acquired samples one by one.
  • Added batch operations to the IOIO interface. This allows the client to group several write operations together, thus reducing latency and jitter.
  • ioio.lib.util.AbstractIOIOActivity is now deprecated. Clients should move to ioio.lib.util.android.IOIOActivity. The latter is similar, but not identical. Notably, IOIOThread has been replaced by IOIOLooper, which is an interface. Likewise, createIOIOThread() is now createIOIOLooper(). The implementation of this interface is encouraged to use ioio.lib.util.BaseIOIOLooper as a base class. Converting from the old style to the new style should be trivial. See the example projects as reference.
  • Added ioio.lib.util.android.IOIOService, which serves as a base class for creating Android services using IOIO.
  • Added ioio.lib.util.IOIOApplicationHelper, which can be used by clients that need a different model than the Activity or Service above.
  • Added IOIO.getState() for querying the connection state.

Other Changes

  • Added Open-Accessory support. Open Accessory will provide improved latency, throughput and jitter and will work when USB debugging is off. It will also cause Android to open a launch dialog upon connection of the IOIO. Some changes are required in the application manifest (see Wiki page), and you also need to add IOIOLibAccessory to your application dependencies. If ADB is enabled on the Android, ADB will take precedence over Open Accessory. Disable ADB to have IOIO working over Open Accessory.
  • Fixed issue #2: broken backward compatibility between firmware V3 and software V1.
  • Improved IOIOLib Javadocs.
  • Fixed issue #15: the loop() method will no longer be called after a disconnection, even if the client hasn't thrown an exception.
  • DigitalOutput.write() will now silently ignore the operation if writing the same value as the last written value. This is merely an optimization, but may result in performance boost for applications doing high-rate digital output.
  • In IOIOActivity (and AbstractIOIOActivity) IOIO connection is opened / closed in onStart() / onStop() and not it onResume() / onPause() as it used to.
  • Fixed several bugs in Uart. Most notably, it now works OK with BufferedReader, and its InputStream.read() will exit cleanly with a -1 return value when calling Uart.close().