![]() |
Open Serial Port |
Opens a serial port with this name and the specified parameters.
Syntax
Open Serial Port [ Select ; Result (error) ; Port name ; Settings ;
File name ; Script name ; Resume paused script ;
No idle wait time ; Match string ; Switches ]
Options
Select entire contents | replaces the entire contents of a field with the result. If not checked the result replaces the currently selected portion of the field |
Result (error) | an error code |
Port name | the name of the port to open |
Settings | (optional) specifies the setting of the port like the speed of the port, parity, etc. |
File name | (optional) the name of the FileMaker file which contains the script to trigger when data comes in |
Script name | (optional) specifies the name of the script to trigger when data comes in |
Resume paused script | when the trigger script needs to run, and an other script is already paused, the paused script will resume after the trigger script is finished |
No idle wait time | don’t add idle wait times, the triggering will be faster, but the plug-in will need more computer time |
Match string | (optional) a string that must be matched before the script is triggered |
Switches | (optional) modifies the behavior of the script step |
Switches
Switches can be left empty or you can add this switch:
-DontShowExtendedPrivilegeWarning | show no alert if script triggering fails |
Returned Result
Data type returned
Error code
Result
Returned result is an error code. Returned error codes can be:
0 | no error | the port was opened |
$$-50 | paramErr | there was an error with the parameter |
$$-108 | memFullErr | ran out of memory |
$$-97 | portInUse | could not open port, the port is in use |
$$-4210 | portDoesNotExistErr | port with this name is not available on this computer |
$$-4211 | allPortsNullErr | no serial ports are available on this computer |
Other errors may be returned.
Originated in
Troi Serial Plug-in 5.0
Compatibility
FileMaker Pro 18 to FileMaker Pro 2025
Considerations
If you specify a filename and scriptname any scripts specified with the function “Serial_SetDispatchScript” will be ignored for this port.
If you specify a filename you must also provide a script name.
Version 6.0 added the (optional) Match string parameter, you can now specify directly when opening a port the string for which the plug-ins waits before triggering a script.
NOTE You might need to enable “Validate cross-file plug-in access” extended privilege (fmplugin extended privilege) in newly created fmp12 files, for script triggering to work.
See our web page for more info on how to do this here.
New in v9.0: the plug-in now shows an alert dialog when script triggering fails because of insufficient privilege for triggering scripts.
You can also add the switch “-DontShowExtendedPrivilegeWarning”, so no alert is shown if script triggering fails.
Example
Open Serial Port [ Select ; $ErrorCode ; "COM2" ;
"baud=19200 parity=none data=8 stop=10 " &
"flowControl=DTRDSR flowControl=RTSCTS" ;
"" ; "" ]
will open the COM2 port with a speed of 19200 baud and the specified options.
Example 2
Set Variable [ $Settings ; gSpeed & " " & gStopBits & " " & gDataBits & " " &
gParity & " " & gFlowControl ]
Open Serial Port [ Select ; $ErrorCode ;
gPortName1 ;
$Settings
Get ( FileName );
"Process Data Received for 1st Port" ]
Set Field [ gErrorCode ; $ErrorCode // also save into a field ]
This will open the port in field gPortName1 with the specified speed and other options. When data comes in the script “Process Data Received for 1st Port” in the current filename will be triggered. An error code is set in the $ErrorCode variable and also saved into a global field.
Used in example file
SimpleSerial-Steps.fmp12
Related script steps
Close Serial Port |
Set Serial Direct Insert |
Set Serial Trigger Script |
Related functions
Serial_Close |
Serial_Open |
Serial_Reinitialize |
Related topics
Troi Serial Plug-in online help (overview)