Integrating Live Pen™ 2
Live Pen™ 2
Live Pen™ 2 has changed the way it stores captured strokes compared to the Live Pen™ 1 (DP-201). The new principle is that the pen stores all captured data in a stream and it only sends all data at once to the back end rather than splitting out pages inside the pen as in the Live Pen™ 1. In Live Pen™ 2 you can only get and remove all strokes at the same time. It is still possible to extract individual pages from the Live Pen™ 1, however to make your system behave in the same way for different pen models the 'get all' design principle is recommended.
New Ink Format
The new pen uses a new ink data format, called STF2. It encapsulates strokes, pen ID, and pen properties into the same format. The STF2 format also provides a way to add debug information to the STF2 data stream. It logs all stroke samples, decoding errors and pen events that occur in a sequence as they occur.
The STF2 is compatible with the PGC 1.1 format and the stroke data can easily be extracted and converted to PGC 1.1 - the Anoto Live SDK provides an ink converter library for this purpose. By converting to PGC 1.1 the ink data from Live Pen™ 2 becomes compatible with existing solutions.
Pen Time Management
The time handling on Live Pen 2 is slightly different compared with the Live Pen™ 1. The time reported by the pen is defined to always be UTC time (milliseconds since 1970). All strokes in the pen are stamped with this time. If the current time is set from host computer or reset due to the battery being discharged completely, it is recorded in the STF2 data stream.
NOTE: Since the pen stores pen events in the STF2 data stream it may in some cases appear as if a pen contains strokes even if you have not written with the pen. For example if you dock a pen that does not contain any strokes and then set the time the used memory value will increase.
It is recommended that clients using the Live SDK compare pen time at docking with the host system time and update the pen time if needed.
Managing Utility Segment and Pidgets in STF2 and converted PGC 1.1
Since the Live Pen™ 2 stores all strokes in the same data stream and not page based as in Live Pen™ 1 the pen data that is synchronized from the pen will contain all strokes since last synchronization. To avoid losing stroke data when converting to the PGC 1.1 format all strokes from the utility segment, magic box pidgets, global pidgets etc are included also in the converted PGC 1.1. This may appear as a slightly changed behavior in some existing Anoto Component based system. Back-end solutions must be updated so that they handle these cases when processing pen data.