navMessageReceiveX (Functionblock)

Top  Previous  Next

Architecture:

X32 / NX32 / NX32L

Firmware version:

2.20 / 1.00.00

Nav. API level:

2


navMessageReceiveX is an extended version of navMessageReceive and returns a text message received from the navigation device.

 

If the navigation device does not support API level 2, the function will work as navMessageReceive, and extended data will not be accessible.

 

Note that the text message is only valid after a "message received" event is raised; the event will be removed when this function block is called.

A "message received" event is raised when the user writes a text message or sends a quick message.

 

 

Input:

None.

 

 

Output:

time : DINT

The timestamp when the text message was sent from the navigation device.

 

id : INT

This message is a reply to the text message with this unique ID.

The ID will be zero on navigation devices that do not support message threading, or if it is not a reply.

 

message : STRING

The received text message.

 

ready : BOOL

TRUE:

If data is ready.

FALSE:

If data is not ready.

 

Declaration:

FUNCTION_BLOCK navMessageReceiveX;
VAR_OUTPUT
   id      : INT;
   time    : DINT;
   message : STRING;
   ready   : BOOL;
END_VAR;

 

Example:

INCLUDE rtcu.inc
 
VAR
   msgRcv : navMessageReceiveX;
END_VAR;
 
FUNCTION ReadMessage;
   msgRcv();
   IF msgRcv.ready THEN
      DebugMsg(message := "*** message received ***");
      DebugFmt(message := "-time=\4", v4 := msgRcv.time);
      DebugFmt(message := "-last=\1", v1 := msgRcv.id);
      DebugMsg(message := "-text=" + msgRcv.message);
   END_IF;
END_FUNCTION;
 
THREAD_BLOCK navMonitor;
VAR
   event : INT := 0;
END_VAR;
 
WHILE event <> -1 DO
   event := navWaitEvent(timeout := -1);
   CASE event OF
      ...
      2: ReadMessage();
      ...
   END_CASE;
END_WHILE;
END_THREAD_BLOCK;