serproxy.exe) v0.1.3 or lower cannot use COM ports above 9 on Windows (due to a weird syntax issue in Microsoft’s API). If, like me, you ever faced that same problem, there was no easy solution… until today !
Important update : I believe the fix to the issue discussed here has been integrated in the latest version of TinkerProxy. TinkerProxy 2.0 is an update to SerialProxy 0.1.4 (
serproxy.exe). It works in the same way as did
serproxy.exe and uses the same configuration syntax. From now on, please use TinkerProxy 2.0.
I looked all over the web for a solution to this problem. I first found the source code and a hint at a solution on an Arduino forum post. However, I could not successfully patch and re-compile the linked source code until a fellow Arduino enthusiast clued me in to the fact that one of the Visual C++ project file was erroneously using Unix line-endings. Fixing that made it possible to patch and compile the original C code using Microsoft’s Visual C++ Express 2008.
The result, which I am making available in this post is SerialProxy v0.1.4. Using that version, you can specify COM ports greater than 9 the same way as usual. Here is an example
comm_ports=11,12 net_port11=5331 net_port12=5332 comm_baud=57600 comm_databits=8 comm_stopbits=1 comm_parity=none timeout=300 newlines_to_nils=false
Shall you ever want to play with it, I am also providing the revised C source code. You will find a Visual C++ Express 2008 project file in the
If you would like to prevent the FTDI VCP driver from creating new COM ports each time it encounters a new Arduino, you can check my other post entitled SerialProxy vs COM10 : The ultimate deathmatch.
Please note that I am not affiliated with the original
serproxy project at all. It was originally (1999) developed by Stefano Busti and later (2005) updated by David A. Mellis. However, since the project seems to now be abandonware and is GPL-licensed, I took the liberty of making it available here for those it could help (like me).
Hope it helps you too.