iSuite02 to iSuiteTM 3 Migration Guide


  1. End of Life Announcement - iTrax02 family and iSuite02 Software development Kit
    1. iSuite02 SDK availability
    2. Replacement Products
    3. iSuite 3 SDK advantages
    4. SDK Upgrade policy

Introduction

This document describes the major differencies between  iSuite02  and iSuiteTM 3 in relation to migrating an application developed with iSuite02 to iSuite 3 platform.

iSuite 3 has many new features and also starting from version 3.31 it includes multiplatform support that allows using the same SDK for GPS receivers designed using different underlying GPS chipset architectures.

Allthough the iSuite 3 is a totally new SDK, many of the good features of iSuite02 has been adopted as such or slightly modified. An example of this is the flash file system, now called FFS that has, excluding small naming changes, an identical API. All the other functionlity avalilable in the iSuite02 API is available in iSuite 3 as well, but  maybe structured in a different manner.

We have designed iSuite 3 SDK  designed to meet wide variety of requirements and listened feedback from our iSuite02 SDK customers. All iSuite02 capabilities can still be found, but many features have been refined and designed more robust and easy to use. For this reason some backwards compatibility in application code has been sacrificed. However, it is a relatively easy task to port your iSuite02 application to iSuite 3.

Code Compatibility

The iSuite 3 SDK with iTrax03 Development Kit includes a new version of the same compiler that was used in iSuite02. It supports all the same keywords and variable types as the compiler in iSuite02 did, so existing code from iSuite02 can be compiled as such into iSuite 3.

The makefile structure in iSuite 3 is different so porting existing libraries from the iSuite02 environment to iSuite 3 environment requires new iSuite 3 style makefiles. This is achieved easiest by copying and editing a makefile from an existing iSuite 3 library. Usually the only modification needed to the makefile is the name of the library to be created.

Protocols

The iSuite 3 supports two protocols: NMEA and iTalk3. Note that iTalk3 is different from the iTalk implementation in iSuite02. Custom iTalk messages need to be redefined following the guidelines in the SDK documentation.

The NMEA protocol is not executed by the "user tasks" that were called CSP and CSP_OUT tasks in iSuite02, but by a separate NMEA task. As in iSuite02 modifications to the NMEA protocol can be made by editing the NMEA library that was formerly in iSuite02 called CSP library.  See the iSuite 3 SDK training material for examples on adding NMEA commands and messages. The NMEA protocol can also be easily removed by editing project_conf.h header file to remove the NMEA task and the NMEA library from the project.

As in iSuite02 the iTalk protocol is executed by its own iTalk task. iTalk protocol can also be removed from the project by editing the project_conf.h header file. Note that this removes the iTalk protocol completely. If you wish to be able to switch to iTalk protocol from your own custom protocol or from NMEA you need to edit the init_italk.c file so that no port is created and ITK_BindPort() is not called. Calling then ITK_BindPort() later from your application allows you to switch to iTalk protocol.

User Task

The user task (TASK_USER_1)  is the iSuite 3 counterpart for the iSuite02 CSP_OUT task  (and CSP task). USER_TASK_1 is the place where the user application from CSP and CSP_OUT tasks should be implemented.  USER_TASK_1 contains the same type of message handler for the navigation fix as the CSP_OUT task did.

USER_TASK_1 is also the place where custom protocols should be implemented. The more flexible device driver for UART in iSuite 3 allows the implementation of a protocol in a single task as opposed to the two tasks required in iSuite02. See the NMEA task (nmea_task.c) for an example of a protocol implementation. Note that USER_TASK_1 needs to be able to handle the navigation fix messages at the given fix rate, so for anything more time consuming  a new USER_TASK_2 should be created.

The logging functionality executed in the CSP_OUT task in iSuite02 is executed by the navigation task in iSuite 3. It works otherwise very much in the same manner as in iSuite02. Customizations to the logging functionality can be implemented in iSuite 3 to user_log.c that contains a handful of functions called by the navigation task to execute the logging.

Support and Training Material

Full iSuite 3 SDK training material is available for existing  iSuite02 customers. If you want ot take a closer look at how to build your application using iSuite 3 SDK,  please contact  iSuite@fastrax.fi  and requests for  "iSuite  3  SDK Training  Material CD".


Fastrax Oy