FileMaker Pro 16 to 2023
Claris Pro 40.1 to 40.2
FileMaker Server 16 to 19
macOS 10.14 to 13
Windows 10 to 11
Control any device with a serial interface
Troi Serial Plug-in gives FileMaker Pro easy and powerful access to external devices with a serial (RS232) interface:
- read from and write to the (virtual) serial ports of the computer directly from FileMaker Pro without the need of a separate application
- native FileMaker script triggering, to get incoming data into the database
- or directly insert incoming serial data into your database, in the background (without any script triggering)
- “Suspend/Resume Serial Port” script step to temporarily suspend the incoming data stream and resume it when you are interested in the data
- “Wait for Match” function to wait for a specific text before triggering or inserting
- open an unlimited number of serial ports and trigger different scripts for different ports
- works with all types of serial ports, including those added through an extension card or USB to serial adaptor
Troi Serial Plug-in has a great debug function, making setup of databases a breeze for our users. You can troubleshoot by testing the arrival of data at the serial port and you can test script triggering too.
Troi Serial Plug-in can be reinitialized without quitting FileMaker Pro. This makes it possible to accommodate new or different serial ports dynamically, for example when you plug in a USB to serial adaptor.
And more …
Another powerful feature is getting the last match string that was received, for example a return character to get the last line that was received.
- connect to serial port
- data(base) transfer
- send commands to control-units and gather data from them
- weigh goods
- open a cash drawer
- scan goods with a barcode reader
- connecting to a modem
- custom switchboard dialing
- caller ID
- chip card reading
- credit card swiping
- control the talking fish Billy Bass!
The possibilities are only limited by your imagination!
Try Troi Serial Plug-in before you buy
You are free and invited to test the plug-in before you pay. Troi Serial Plug-in is fully functional in demo mode, it will only stop working after 2 hours of testing. Download your copy here.
Troi Serial Plug-in 8.0
Version 8.0 is made compatible with Claris FileMaker Pro 2023 (FileMaker Pro 20.1.2) and Claris FileMaker Pro 19 up to version 19.6.3. IMPORTANT: The minimum supported OS versions are now macOS 10.14 (Mojave) and Windows 10.
In this version we added a new Serial_GetUSBInfo function. A serial port can be implemented as virtual port on top of a USB port. When this is the case this function returns information about the USB port hardware, like the USB vendor ID, vendor name, USB Product name and USB Serial number.
We improved the direct inserting of data when the filename contains a period and the (.fmp12) extension is not included (the FileMaker function “Get(Filename)” will not include the extension). We also fixed this for script triggering when data is received.
We improved the code in several places and made it more secure. On macOS we removed dependency on legacy Carbon code.
We added the switch “-GetStartupRegistrationLog” to the Serial_Version function. This will return a text log of the plug-in’s registration process at startup time of FileMaker Pro. When you have problems registering the plug-in, you can see if the payment certificate was found and if a valid registration code was found. Example scripts using the new switch were added to the EasyInstallTroiPlugins.fmp12 and Version.fmp12 example files.
Please see the Version history below for a complete list of changes in this and earlier versions.
Troi Serial Plug-in 8.0 (for FileMaker 16 to 2023) (July 17, 2023)
- Tested and made compatible with Claris FileMaker Pro 2023 (FileMaker Pro 20.1.2)
- Tested and made compatible with Claris FileMaker Pro 19 up to Claris FileMaker Pro 19.6.3.
- Tested and made compatible with Claris Pro 40.2.1.
- Tested and made compatible with macOS 13 (Ventura).
- Tested and made compatible with Windows 11, including Windows 11 version 22H2 (September 20, 2022).
New functionality and improvements
- Added new Serial_GetUSBInfo function. A serial port can be implemented as virtual port on top of a USB port. When this is the case this function returns information about the USB port hardware, like the USB vendor ID, vendor name, USB Product name and USB Serial number. To get a single item as a result you can use these switches:
- Improved the Serial_SetDirectInsert function: the plug-in now also can insert data where the filename parameter contains a period in the name and the (.fmp12) extension was not included (Note that the FileMaker function “Get(Filename)” will not include the extension).For example if the filename parameter given is “Collector1.0” the plug-in now adds the .fmp12 extension, resulting in “Collector1.0.fmp12”.
- Improved script triggering when data is received: the plug-in now also triggers scripts where the filename parameter contains a period in the name and the (.fmp12) extension was not included (the FileMaker function “Get(Filename)” will not include the extension).For example if the filename parameter given is “Terminal1.0” the plug-in now adds the .fmp12 extension, resulting in “Terminal1.0.fmp12”.
- (macOS) Fixed a problem on macOS 12 (Monterey) and FileMaker Pro 19.4, where the plug-in would not show the plug-in icon in the flash dialog.
- Improved the code in several places and made it more secure.
- (macOS) Modernized the code and removed dependency on legacy Carbon code in several places.
Startup Registration Log
- Improved the EasyInstallTroiPlugins.fmp12 example file (v1.8.6): added a script which adds the Startup Registration Log to the log field. This will get a text log of the startup registration process of the plug-in.
- Added an example script “Get Startup Registration Log of the plug-in” to Version.fmp12, which gets the text log of the startup registration of the plug-in.
- Added switch “-GetStartupRegistrationLog” to the Serial_Version function. This will return a text log of the plug-in’s registration process at startup time of FileMaker Pro. When you have problems registering the plug-in, you can see if the payment certificate was found and if a valid registration code was found.
Other changes and bug fixes
- IMPORTANT The minimum supported OS versions are macOS 10.14 (Mojave) and Windows 10.
- (macOS) Fixed a bug in the Serial_AsciiValueToText function when using the switch
-Encoding=ASCII_Windows. The plug-in no longer crashes when you use values that are undefined for this encoding. The undefined values for this encoding (see Windows-1252 codepage wiki) are 0x81, 0x8D, 0x8F, 0x90 and 0x9D (decimal: 129, 141, 143, 144 and 157). For compatibility with the plug-in running on Windows these values will now be added with the same values as a Unicode character.
- Fixed several other bugs, modernized the code in several places and made further improvements.
Version 7.0.2 (for FileMaker 16 to 19) (October 18, 2021)
- Fixed a bug in the Receive Serial Data script step and the Serial_Receive function, when using
the switch “-ConvertBytesToNumbers”: for bytes with Unicode codes higher than 127 the numeric value is now correctly returned.
- (macOS) Fixed a bug that prevented the plug-in from loading in FileMaker Pro 16 (installing it would result in error code 1550).
- Tested and made compatible with Windows 11.
- Tested and made compatible with Windows 10 version 21H1 (May 2021 Update).
- Tested and made compatible with Claris FileMaker Pro 19, up to and including FileMaker Pro 19.3.
Version 7.0.1 (for FileMaker 16 to 19) (May 16, 2021)
- (macOS) The macOS plug-in is now properly code signed.
Version 7.0 (for FileMaker 16 to 19) (May 5, 2021)
- Tested and made compatible with Claris FileMaker Pro 19, up to and including FileMaker Pro 19.2.
- Tested and made compatible with macOS 11.0 (Big Sur).
- Tested and made compatible with Windows 10 version 20H2 (October 2020 Update) and Windows 10 version 2004 (May 2020 Update).
New function and functionality
- Added new Serial_DelayMilliSeconds function, which will wait for the specified number of milliseconds.
- (macOS) Prepared the plug-in for Apple Silicon: made the plug-in a universal binary by adding code for the arm64 architecture of macOS.
- Added new switch to the Serial_SetDirectInsert function: -ConvertBytesToNumbers. When data is directly inserted into the database all received bytes are first converted to their numeric value. The plug-in will for example insert “65 66 67 “, which would be Unicode “ABC”. Note that each number is followed by a space, as separator, also after the last number.
- (macOS) If the plug-in can’t load a bundle at start-up, the plug-in will now write a detailed error to the system.log. See the Console.app in this case (search for FileMaker in the system.log).
- (macOS) Improved compatibility when running FileMaker Pro 19 in dark mode, the flash dialog is now more visible.
- Improved the EasyInstallTroiPlugins.fmp12 example file: updated the plug-in install scripts to be compatible with Apple Silicon. These scripts now also give more detailed instructions.
- Small cosmetic improvement of the Regifunc.fmp12 example.
Other changes and bugfixes
- Fixed a memory leak in the Receive Serial Data script step and the Serial_Receive function.
- IMPORTANT The minimum supported FileMaker version is now FileMaker Pro 16. Also the minimum supported macOS version is now OS X 10.12 (Sierra), and Windows 8. You can keep using v6.0 for older versions of FileMaker Pro, Windows or Mac OS X.
- Fixed several bugs, modernized the code in several places and made further improvements.
Version 6.0 (for FileMaker 14 to 18) September 4, 2019)
- Tested and made compatible with FileMaker Pro 18 and FileMaker Pro 17.0.7.
- Improved the Open Serial Port script step and the Serial_Open function. You can now specify a match string as an optional parameter. In that case the plug-in will wait to trigger a script until the incoming data contains the match string.
- Added an extra Switches parameter to the Receive Serial Data script step, allowing to specify advanced switches.
- Improved the Terminal.fmp12 example file, it is now optimized for FileMaker Pro 16 to 18: it uses external script steps and demonstrates the more advanced features of Troi Serial Plug-in 6. Also enhanced the user interface, for example you can now specify the text size of the terminal text.
- Updated the code base, the plug-in now uses more modern C++ libraries.
- (macOS) Improved reliability of loading the Cocoa code bundle when updating a plug-in with the “Install Plug-in File” script step.
- (macOS) Improved the Open Serial Port script step and the Serial_Open function: when reopening the port existing data still in the buffer of the operating system is now flushed. This prevents receiving stale data.
- Renamed the “Set Serial Dispatch Script” step to Set Serial Trigger Script.
- Fixed a possible crash when shutting down the plug-in or disabling it in the preferences. This crash could sometimes occur if you had several serial ports still open when stopping FileMaker Pro.
- (macOS) Fixed a potential memory leak in the Open Serial Port script step and the Serial_Open function.
- (macOS) Improved the Serial_Open function: when a serial port is in use the plug-in now returns the expected error code $$-97 (portInUse) instead of $$16.
- Fixed a possible crash in the Receive Serial Data script step with the parameter Encoding set to UTF-8: when receiving data which contains an invalid UTF-8 character sequence the plug-in no longer crashes, but will now indicate the invalid UTF-8 characters with the string <INVALID UTF8>.
- Modernized the Regifunc.fmp12 file, it now demonstrates the cross-platform plug-in registration process.
- Updated the EasyInstallTroiPlugins.fmp12 file.
Version 5.6 (for FileMaker 14 to 17) (download package of February 19, 2019)
- (Windows) Windows 7 is still supported, contrary to what earlier release notes stated.
- Fixed small typos in the readme file.
- Updated the example file EasyInstallTroiPlugins.fmp12 to v1.7.2
- NOTE The included plug-ins themselves have not changed and are still version 5.6.
Version 5.6 (for FileMaker 14 to 17) (January 16, 2019)
- IMPORTANT (macOS only) The minimum supported FileMaker version is now FileMaker Pro 14. Also the minimum supported Mac OS version is now OS X 10.9 (Mavericks). You can keep using v5.5 for older versions of FileMaker Pro or Mac OS X.
- (macOS) Prepared the plug-in for notarization: the plug-in can now be added to a runtime, to create a hardened FileMaker runtime app which can be notarized by Apple. Notarization gives users more confidence as the runtime has been checked by Apple for malicious components.
- (macOS) The plug-in no longer has the 32-bit code included.
Version 5.5 (for FileMaker 13 to 17) (August 6, 2018)
- Tested and made compatible with FileMaker Pro 17.
- Rewrote the low level serial code of the plug-in.
- You can now directly insert incoming serial data into your database, with the new Serial_SetDirectInsert function. The data is inserted in the background (without any script triggering). You can specify a match string (for example a return character), so the data is inserted only when the match string is encountered (for example a complete line).
- Added switch “-GetLastMatch” to the Serial_SetDirectInsert function. When you add this switch only the last matching data is directly added to the database (based on the match string). This will provide you with the most current data from the serial port.
- Added new Set Serial Direct Insert script step, which can also add incoming serial data into your database. With the checkbox “Get Last Match” only the last matching data is directly added to the database (based on the match string).
- Added new Measure Temperature.fmp12 example, which can directly insert data from temperature sensors. It uses a serial connection with an Arduino micro computer.
- The plug-in now indicates if an external script step is compatible with a product. The step is shown in grey if it is incompatible for that product (for example for iOS) in the script editing pane (center) and the script steps pane (right).
- (macOS) The minimum supported Mac OS X version is now 10.8.
- (Windows) The minimum supported Windows version is now Windows 8.
Version 5.0.1 (for FileMaker 12 to 16) (January 17, 2018)
- Fixed a problem with Serial_SetDispatchScript: you can now use a different wait string for each port.
- Added switch to Serial_Debug function “-UseTextAllBytes0To255”: you can use this in combination with the switch “-TestTriggerScript”. The plug-in will trigger a script with as test data all the bytes from 0 to 255.
- Improved the Debug.fmp12 example file, it now shows how to use the “-UseTextAllBytes0To255” and “-ConvertBytesToNumbers” switches. Also made other improvements in this example file.
- Improved the Terminal.fmp12 example file, it now shows how to use the “-ConvertBytesToNumbers” switch when receiving data.
- (macOS) Fixed a compilation problem with code signing and extended attributes in macOS 10.12 (Sierra).
- (Windows) Added code signing to the plug-in for Windows.
- The plug-in now indicates if an external script step is compatible with a product. The step is shown in grey if it is incompatible for that product (for example iOS) in the script editing pane (center) and the script steps pane (right).
- Improved the log text when running FileMaker Server: more information is added to the log.
- Improved the log text when running FileMaker Server: after an unsuccessful attempt to register the log now adds the (incorrect) register text used.
Version 5.0 (for FileMaker 12 to 16) (May 25, 2017)
- Tested and made compatible with FileMaker Pro 16.
- Added new Serial_GetPortInfo function, which can get information about a serial port. You can also get the status of the port to see if the port is open or closed.
Extra features when running FileMaker Pro 16
- The Serial Plug-in adds multiple script steps when running FileMaker Pro 16.
You can select these script steps in the script steps pane in Script Workspace, or you can begin typing the script step name, then choose the script step from the list that appears.
The script steps significantly expand the possible actions you can perform with FileMaker Pro. The following 9 script steps are added:
- Beep for Serial Data
- Close Serial Port
- Open Serial Port
- Receive Serial Data
- Reinitialize Serial Plug-in
- Send Serial Data
- Set Serial Trigger Script
- Suspend/Resume Serial Port
- Trigger Serial Test Script
NOTE Only steps that perform an action have been added as a script step. Functions that just return information (like for example Serial_GetPortNames) are only available as an external function.
- Added new example file SimpleSerial-for-FMP16.fmp12, which demonstrates how to use the new external script steps of FileMaker Pro 16.
- Added support for online help for the functions and script steps of the plug-in. You can now easily get online help from the Troi website, by clicking the Help button (the small question mark button) next to the function description in the functions pane or the script step description in the script steps pane.
- Several bug fixes and further improvements.
- Made various minor changes to the example files to better work with FileMaker Pro 16.
- Updated the code by adding improved namespace handling to make the plug-in more robust.
Older release notes
For older release notes please see here.
We offer the following license for Troi Serial Plug-in:
developer license: this license is meant for FileMaker solution developers, who want to include the plug-in with their solution(s) and distribute it to their end-users. Each of your end-users may use the plug-in with up to 25 users (contact us if any of your customers has more than 25 users). The number of organizations you distribute the plug-in to and the number of solutions you distribute it with are not limited. Works on FileMaker Pro (Advanced) and Claris Pro, including with files hosted by FileMaker Server.
Go to the developer license page for more info.
Licenses work both on macOS and on Windows.
|developer license||US $ 999|
Version 8.0 uses a new v8 registration code. If you have a license for a previous version, you can buy an upgrade for version 8.0. If you bought a license on or after July 1, 2022, the upgrade to version 8.0 is FREE! Note: eligible users have been sent a new v8 registration. Contact us if you have not received yours.
If you bought a license before July 1, 2022, you will need to buy an upgrade to use the 8.0 version:
|developer license upgrade||US $ 439|
Please contact Troi if you want to upgrade from a different license bought in the past.
Below are a few things our users had to say about Troi Serial Plug-in:
“This plugin is great and very stable. I just did a video on integrating weighing scales with FileMaker and showcase with your great plugin: http://thebrainbasket.com/?p=517.”
Claus Lavendt, DataManix.com
“Thanks for all your work with this excellent plug-in. We have been using it since way back (1998) and it is very stable and well working. Excellent work.”
Thomas Ljungdell, System designer, PositionEtt AB, Stockholm, Sweden
“I’ve done some extensive work with the serial plugin and published a document called “Integration of Medical Laboratory Instruments Using RS232 Serial Connections” on the FileMaker Developer Community web site. You will find the article here: https://fmdev.filemaker.com/docs/DOC-2066 (members only).
I really like the serial plugin and it is amazing what we’ve done with it.”
Ron Smith MD, United States
“I have created an automatic scoring solution for bowling. To achieve this I used your plugins and in particular your serial plugin.
Probably the largest unknown in this entire process was 2 way communication with the bowling machine. When I began I had no idea where to start and actually had gone through 3 different methods (all that worked) before arriving to what I considered the best solution.
It took a lot of time and research for me to find out that siemens PLC could handle incoming and outgoing serial communication. This was a huge discovery because I knew that Troi had a serial plugin! I’ve been testing with the Troi serial plugin for months now and have not had any reliability issues with the plugin at all. At first I thought I would run a script every 2 or 3 seconds using filemakers relatively new timer script to check for incoming serial communication. However to my surprise the plugin has a Serial_SetDispatchScript function which executes a filemaker script upon the detection of a incoming transmission.
I have created a blog with a video demo, there will be more videos coming in the near future.”
Jeff England, http://www.nebsfunworld.com
“I used to use Serial 1.x.x on Mac OS 7.5.5, in 1998- 1999.
I think in 2004, you sent me Serial 2.5.0. I attempted to use Serial 2.5.0 on Mac OS X 10.3.x, and only had a little time to look at making it work.
In the summer of 2005 I had some time to look at it again, and solved most of my problems.
I am so happy. I think the demo-time is very generous. I appreciate the time allowed to figure it out.
I’m using FMP and the Serial plug-in to control two industrial LaserDisc players connected to two serial ports. I am having an awesome time!
Thanks so much for a cool plug-in.”
Bruce Kurkowski, United States
“Let me tell you that Serial 2.5 is a great plug-in like others made by you. I use it with a barcode scanner, and soon with cash drawer and a ticket printer.
In less then two hours, scanner was recognized and data received in an FMP data base and treated with help of DispatchScript.
Thank also to your user guide which is clear, step by step and well documented.”
Serge Barbette, Belgium
“Let me say how incredibly useful and important Troi plug-ins are in the FileMaker universe. It has enabled me to use Filemaker and recommend it to others for applications that otherwise would be impossible!”
John DeMillion, Director of Information Technology, Chester County Intermediate Unit
I really appreciate everything you do!
Thank you very very much!!!!”
Jeff Yurka, Real Mac Solutions
“My name is Glen Stephens and I am the Station Director for Mesa Channel 11, a television station owned and operated by the City of Mesa in Arizona. I wanted to let you know what we are doing with FileMaker Pro at our facility because of the rare way that we have implemented FMP. Virtually every part of our operations has an implemented FileMaker solution. The main solution that I want to tell you about is a solution I developed called AutoCast Pro. This FileMaker solution along with the Waves in Motion Script Scheduler Plug-in and Troi’s Serial Plug-in completely automates the playback of all the programming that is broadcast on our channel. FileMaker is currently controlling 12 broadcast devices, from tape machines to video servers, an audio video router, and a logo generator. Our programming director creates broadcast events in the system and then schedules every show, commercial, and PSA that is to be broadcast. Troi’s Serial Plug-in is what allows us to access the 14 serial ports connected to the computer that control all of the external devices. Waves in Motion’s Script Scheduler is what actually runs the script to roll a tape machine, switch the router and change the on air logo for each event. The way that FileMaker allows us to track our broadcasts, and store information for each event is incredible! Once the broadcast schedule is built and programmed, the AutoCast Pro automation solution automatically updates the schedule to a separate database that is served over the internet to publish our programming guide for our viewers. I would be glad to provide more information on how this works and exactly what it is doing, but I just wanted to give you an overview at this point.
We also use FMP to track all of our production requests, manage our tape library, drive our web site, track equipment maintenance, schedule equipment availability, and manage the workflow in our office. We operate primarily in a Mac environment, but also share solutions over Windows machines.
This is just an overview of how we use FMP. I wanted to share our success story and how FMP has enabled us to deliver a high quality of service to our customers at a fraction of the cost of other systems. If you have any questions or need any information from me please feel free to contact me. Thanks for your time and I hope that you find this information helpful.”
Glen Stephens, Station Director, Mesa Channel 11, Arizona, USA
“The FileMaker Pro database that I use your Serial Port Plug-in with monitors our PABX and is never turned off and logs around 6,000 to 8,000 outgoing calls each week i.e. records. It has only been switched off for maintenance and it has never crashed in over two years. As you could imagine it is mission critical software, whose failure could result in the loss of thousands of dollars in just a few days.
Over the years I have used many different systems but nothing is as accurate, simple to use nor as reliable as Troi’s Serial Port Plug-in and FileMaker Pro. Some of the TIMS systems (i.e. systems that monitor the PABX) that we used were proprietary systems and as you could imagine cost thousands of dollars, one was around AUD $8,000 plus the cost of the hardware. They were all very unreliable, not user friendly, difficult to configure, and in one case very very prone to crashing, resulting in the loss of thousands of dollars of missed calls.
The current solution, which I developed originally using AppleScript and FileMaker Pro 3, is simple, and very flexible. When I incorporated the Troi Serial Port Plug-in and upgraded FileMaker Pro to V4 and now V5, it became very reliable as well. A few further refinements and I now have a solution that has a clean and simple to use interface, and is very powerful and extremely reliable. I didn’t have one problem incorporating the Serial Port Plug-in into my solution. I downloaded the demo and played around with it for a week or so then incorporated it into the FileMaker Pro solution and left it alone since then.
I have been using Troi’s Serial Port Plug-in for around 2 years. It has worked flawlessly. I wish every piece of software worked as well as your Serial Port Plug-in.”
David Petrie, Owner/proprietor of the Rooftop Motel, Sydney, Australia
“The serial plug-in is extremely useful in printing directly to the modem or printer port to a Bar Code Blaster printer. I made endless inquiries about how to print to the Bar Code Blaster printer on the Macintosh, and could find no alternative. Troi Serial plug-in solved the problem.”
Robin Murfin, Systems Analyst of Benjies (E. Alex Benjamin Ltd), Antigua W.I.
Just writing to let you know that yesterday I successfully linked a FileMaker Pro solution to a cash drawer. In essence, FileMaker is the point-of-sale system, replacing the client’s old cash register.
Details: M-S Cash Drawer model # EP-125ksi; Windows 98 PC, serial connection via Com 1 (Serial cable supplied by M-S Cash Drawer)
We’ve got FileMaker popping open the cash drawer for “No Sale”, “Cash Paid In”, “Cash Paid Out” and of course, new sales. And we’re logging everything. So far, it’s working perfectly, and the client is very happy.”
Kevin Frank of Kevin Frank & Associates, Arcata, CA, www.kevinfrank.com
We are still collecting more comments. If you have any remarks on the Serial Plug-in please send us your comments. Thanks!
Click images to enlarge
With this plug-in you can connect to serial ports directly from FileMaker!
Serial Plug-in online help
Function and script step reference.
Serial Plug-in FAQ
See a list of Frequently Asked Questions about this plug-in.
Troi Serial Plug-in 5.5
Download version 5.5 for older versions of FileMaker Pro or Mac OS X.
Receive data from an external device in FileMaker Pro
Explains how you can receive data sent from an external device and have the plug-in start a script that processes the data.
Serial Plug-in Conversion from FileMaker Pro 6
(Older) information on how to convert databases which use Troi Serial from FileMaker Pro 6 to FileMaker Pro 7 and later.
Read and write to all devices with a serial interface!