Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Access to API sets may be limited based on authentication credentials. The GetCaps command provides a mechanism to determine the capabilities of the current connection.

The FANDA APIs

GetCaps

Panel

GetCaps

This command requests a bit field indicating the capabilities of the current connection. The contents may depend on the device type, software version, and rights of the current FANDA user. Additional bits may be defined as new commands and capabilities are added in the future without requiring a change to the protocol version. Clients should simply ignore unsupported bits.

...

This command is intended for internal use. It has no synchronous response, and causes the current caps to be sent as an asynchronous message.

SetCaps

Panel

SetCaps,HexByteList

This command is intended for internal use. The response is the same as the GetCaps command.

...

This is an asynchronous version of SetCaps. The format and effect is the same as the SetCaps command, but there is no response.

GetNDL

Panel

GetNDL

This command requests a download of the NDL string. Returns “@ReqID;NDL=xml string” or “@ReqID;Error=code;error message”. The format of xml string is documented elsewhere.

...

This command is primarily for internal use. There is no synchronous response this command, but it will cause the NDL to be returned as an asynchronous message.

GetMulticastKey

Panel

GetMulticastKey[,<MulticastID>]

...

This command is primarily for internal use. There is no synchronous response this command, but it will cause the multicast encryption keys to be returned as an asynchronous message.

GetVar

Panel

GetVar,VariableName
GetVar,VariableName.MemberName[.MemberName...]

...

where XMLString is an XML representation of the data. See Design Pad Structures for details on the XML format returned for structure data and underlying simple type data.

SetVar

Panel

SetVar,VariableName=Base64Value
SetVar,VariableName.MemberName[.MemberName...]=Base64Value

Sets the value of the variable VariableName to Base64Value. Base64Value is a little-endian binary value encoded as a Base64 string. At this point, VariableName must be defined in Design Pad as a global variable with network access enabled. The second form of the command may be used for structure type variables. In that case, the requested structure member value is set. Returns "@ReqID;SetVar=Success” or “@ReqID;Error=code;error message”.

FairNET

Panel

FairNET,Base64Value

Sends the bytes specified by Base64Value to the device's FANDA FairNET channel. The data is interpreted per the FairNET specification, as if the data had been received over the IR interface. The FANDA client acts as the FairNET master.

...

A single FairNET packet may be split into multiple FANDA FairNET commands, and a single FANDA FairNET command may contain data from multiple FairNET packets.

Update

Panel

UpdateSubcommand

The UpdateSubcommand command set allows uploading and executing a self-extracting update program, which may include a control code update or a kernel update. There are several sub-commands, which are typically issued in the order shown below.

UpdateStart

Panel

UpdateStart,Size=ImageSize

...

Panel

@ReqID;Error=code;error message

UpdateData

Panel

UpdateData,Offset=CurrentOffset,Base64Data

...

Panel

@ReqID;Error=code;error message

UpdateApply

Panel

UpdateApply[,DigestType=DigestValue][,Arg=UpdateArg]

...

The SC1 supports all digest types. The NIM2 does not support message digests and performs length validation only. Any digest provided is ignored.

UpdateCancel

Panel

UpdateCancel

Cancel an in-progress update, typically in response to a user action. Any data already transferred is discarded. The response is:

Panel

@ReqID;UpdateCancel=Success

Lock

Panel

Lock,ID=LockID[,ID=LockID...][,Wait=AcquireTimeout][,Hold=HoldTimeout]

...

LockIDs are C-style numeric values (parsed with scanf "%d" modifier or strtol with base 0).

Unlock

Panel

Unlock,LockID[,LockID.]

..

...

These meta-commands affect the FANDA connection itself.

Echo

Panel

Echo[,On|Off]

The Echo command turns on or off echoing of all characters received by the server back to the client before processing. This is useful during debugging when using a command shell SSH client to talk to the server directly. No reply is given to this command.

Acks

Panel

Acks[,On|Off]

Specifies whether acknowledgements are returned. If the client wishes to operate asynchronously, this option may be turned on. This will cause the server to immediately respond to all commands with an “<tt>@ReqID;OK;Command</tt>” string where Command is the recognized command (which may differ in case from the transmitted command). No reply is given to this command.

EOF

Panel

EOF[;Reason]

The EOF command signifies that the client is about to disconnect. (Future version: If the client does not send the EOF command before disconnecting, the server will maintain workspace information about the session until the session times out. This feature allows the client to reconnect after an unintended disconnect using the same logon credentials as the previous connection.) No reply is given to this command.

SetTimeout

Panel

SetTimeout,seconds

Specifies the length of time the client may stay connected without sending a request before the server automatically disconnects. The default timeout interval is 300 seconds.
Returns “@ReqID;SetTimeout=Success” or “@ReqID;Error=code;error message”.

Keepalive

Panel

Keepalive

This command resets the timeout timer. The client may use this command at any time to reset the timeout timer. No reply is given to this command..

SetDataFormat

Panel

SetDataFormat[,Base64|XML|String]

Specifies the reply format of data returned by the GetVar command.

Asynchronous Messages

The following messages may be sent from the server to the client at any time.

EOF

Panel

EOF[;Reason]

The EOF asynchronous message that the server is ending the FANDA session. If present, Reason provides additional information on the reason the session is being ended.

EOF;Timeout

Panel

EOF;Timeout

If a client session does not send any requests to the server within the configured timeout period, the server will send an “EOF;Timeout” string to the client and then immediately disconnect. The client may use this information to differentiate between disconnects due to timeouts and unexpected disconnects for other reasons. (Future version: Client sessions that are unexpectedly disconnected may be reconnected in the future up until the timeout period elapses by using the same logon credentials.)

EOF;Update

Panel

EOF;Update

If a client starts an update, the server sends this message to indicate the end of the FANDA session. Any additional data transferred over the session after this message is to/from the stdin/stdout/stderr streams of the update program.

EOF;Shutdown

Panel

EOF;Shutdown

If a client is connected when the server is shut down, the server will send this message then immediately disconnect.

NDL

Panel

NDL=xml string

This message will be sent after the initial connection to inform the client of the current NDL in use. The format of xml string is documented elsewhere.

This message will be sent whenever there is a program change causing the NDL format to change. When the schema program is erased, an empty NDL is sent (xml string is blank). When a new schema program is loaded, the new NDL string is sent.

FairNET

Panel

FairNET,Base64Value

Returns the bytes specified by Base64Value from the device's FANDA FairNET channel. The data is interpreted per the FairNET specification, as if the data had been received by the client from the IR interface. The FANDA client is the FairNET master, so this message will only occur in response to an earlier FairNET message sent from the client.

...