Send Serial Data
Sends data to the serial port with the specified name. The port needs to be opened first (see also Open Serial Port).
Send Serial Data [ Select ; Result (error) ; Port name ; Data to send ]
|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 send data to|
|Data to send||the text data that is to be sent to the serial port|
Data type returned
The returned result is an error code. An error always starts with 2 dollars, followed by the error code. You should always check for errors when sending, by testing if the first two characters are dollars. Returned error codes can be:
|0||no error||the data was sent|
|$$-28||notOpenErr||the port is not open|
|$$-108||memFullErr||ran out of memory|
|$$-50||paramErr||there was an error with the parameter|
|$$-4210||portDoesnotExistErr||a port with this name is not available on this computer|
|$$-4211||allPortsNullErr||no serial ports are available on this computer|
|$$-207||notEnoughSpace||the output buffer is full|
Other errors may be returned.
Troi Serial Plug-in 5.0
FileMaker Pro 16 to FileMaker Pro 2023
Make sure you use a text field for the data. Other field types, like containers are currently not supported.
Please be aware that only the ASCII characters 0…255 will be transmitted, as a serial port wants 8 bit characters.
Send Serial Data [ Select ; $ErrorCode ; "Modem port" ; "So long" ]
This will send the string ” So long” to the Modem port.
Send Serial Data [ Select ; $ErrorCode ; gPortName ; textToSend ]
This will send the text in the field textToSend to the port in the field gPortName.
Below you find a “Send Data” script for sending data from a global text field gTextToSend. The script tests for errors.
We assume that in your FileMaker file the following fields are defined:
gPortName Global, text, contains the name of the previously opened port gTextToSend Global, text, can also be a normal text field gErrorCode Global, text
Add the following script steps:
Send Serial Data [ Select ; gErrorCode ; gPortName ; gTextToSend ) ] If [ Left ( gErrorCode ; 2 ) = "$$" ] Beep If [ gErrorCode = "$$-28" ] Show Message [ Open the port first ] Else If [ gErrorCode = "$$-207" ] Show Message [ Buffer overflow error ] Else Show Message [ An error occurred while sending! ] End If End If Halt Script End If
Related script steps
|Open Serial Port|
|Receive Serial Data|