nmp: Navigation and Messaging Platform

Top  Previous  Next

 

The NMP, Navigation and Messaging Platform, is a powerful platform that provides the combined functionality of a navigation device with fleet management and advanced messaging support.

 

The NMP is compatible with the Navigation and MDT functions. Existing programs that use these functions will normally not need to be changed. Only in the initialization phase is it required that the navigation part of the NMP is working before the MDT part is initialized. To start the navigation interface, simply call navOpen the same way as with a non-NMP device. Additionally, it may be required to call nmpPower depending on the hardware configuration used.

To use the MDT functionality, call mdtOpen and then mdtPower when the navigation interface is connected (navWaitEvent #132). Alternatively a loop checking the return code of mdtPower can be used.

 

The connection between the NMP device and the RTCU device is established through a serial port. In order to use the route-related functions, it is required that gpsFix is called repeatedly, e.g. from a separate thread, to feed the NMP device with GPS data.

 

To determine if the device is an NMP device and therefore supports the NMP functions as well as the navigation functions, call the nmpPresent function which returns "true" if an NMP is connected and "false" if an ordinary navigation device or no device is connected.

An attempt to use the NMP functionality on a Garmin device will fail with an error code specifying that the feature is unsupported.

 

It is possible for the user to define multiple buttons at the bottom of the NMP screen. These user-configurable buttons can be controlled with various attributes such as: size, color, text, visibility, and flashing. An event is generated when any of these buttons are pressed by the user and as such allows for a high degree of customization and user control.

 

Some of the functions are not supported on all NMP devices. To determine the type of device the application is running on, use nmpGetHardwareId.

 

The following functions are used to access the NMP, in addition to the navigation and MDT functions:

 


nmpPresent

Queries whether an NMP device is present.


nmpUpdate

Transfers an update to the NMP device and tries to install it.


nmpUpdateProgressReceive

Reads an update transfer progress report.


nmpPower

Powers the NMP on and off.


nmpStopPopup

Makes a destination pop up when added.


nmpStopClose

Closes a stop dialog.


nmpPlaySound

Plays a sound on the NMP device.


nmpShowDialog

Shows a dialog with buttons.


nmpRemoveDialog

Removes a dialog without user interaction.


nmpDialogClickReceive

Reads the clicked button in the dialog.


nmpGetHardwareID

Reads the type of NMP device that is connected.


nmpHideMenus

Hides/shows menu bars.


nmpHomePos

Retrieves the coordinates of the home location.


nmpSetVolume

Controls the volume of the device.


nmpLCDBrightness

Sets the brightness of the backlight.


nmpGetIdleTime

Retrieves the time since the last user interaction.


nmpSetLED

Controls the status LEDs on the device.


nmpHardwareButtonsEnable

Enables the use of the hardware buttons on the device.


nmpHardwareButtonPressedReceive

Rreads the ID of the pressed hardware button.


nmpCameraOpen

Opens the connection to a camera and shows what it sees.


nmpCameraClose

Closes the connection to a camera.


nmpRGBToDint

Converts 3 RGB color components into a DINT color.


nmpCardID

Retrieves the serial number of the SD-CARD.


nmpTouchscreenCal

Starts the GUI for calibrating the touchscreen.

 

Configurable screen buttons:


nmpButtonsDefine

Creates a number of buttons.


nmpButtonCreate

Initializes a button.


nmpButtonEnable

Enables a button.


nmpButtonVisible

Sets the visibility of a button.


nmpButtonWidth

Sets the width of a button.


nmpButtonColor

Sets the background color of a button.


nmpButtonText

Sets the text of a button.


nmpButtonFlash

Controls the flashing of the button.


nmpButtonConfirm

Makes the button require confirmation when pressed.


nmpButtonPressedReceive

Reads the ID of pressed buttons.

 

 


 

The NMP interface has the following limitations:

navFix is not implemented as the NMP requires an RTCU device with a GPS receiver while navFix is for RTCU devices without a GPS receiver.

The GPI functions are not supported as the NMP cannot parse GPI files. Instead, the POIs will have to be added manually by using the navWaypointSet function.

Only API level 1 and 2 functions are supported.