Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

SerialPort.SetDataAvailableHandler

Sets the data available handler for this serial port.

Component Version macOS Windows Linux Server iOS SDK
SerialPort 5.1 ✅ Yes ✅ Yes ❌ No ✅ Yes, on macOS and Windows ❌ No
MBS( "SerialPort.SetDataAvailableHandler"; PortReference; FileName; ScriptName )   More

Parameters

Parameter Description Example
PortReference The reference number of the port. You get this number from SerialPort.Open when you open the port. $port
FileName The name of the FileMaker File that contains the script "MyDatabase.fmp12"
ScriptName The name of the script to run "DataAvailable"

Result

Returns OK or error.

Description

Sets the data available handler for this serial port.
When new data arrives, this script is called, so you can call SerialPort.Read functions.
Be aware that script may be called when just a few bytes are in the read buffer. So the data message you wait for may only be available partly. In that case, please read available bytes, check if whole packet/message arrived and if not, store read data for later and wait for next script call.


With plugin version 6.0 or newer the script name can be a script ID number. In that case the plugin queries the script name for the given script ID. This allows to call scripts by ID and avoid problems if scripts are later renamed.

Notice: FileMaker 19.2 adds a fmplugin extended privileges. If you have such an extended privileges to allow the plugin to trigger scripts, you need to grant permissions for it. If such a privilege is not defined, the plugin is allowed to trigger scripts. See FileMaker product documentation for details.

Examples

Set data available handler script:

MBS( "SerialPort.SetDataAvailableHandler"; $port; Get(FileName); "SerialPortDataAvailable" )

See also

Blog Entries

This function checks for a license.

Created 16th April 2015, last changed 12nd December 2016


SerialPort.SetDataAvailableEvaluate - SerialPort.SetDataBits