[fpc-pascal] Serial communications: synaser vs FPC's serial unit

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Fri Aug 18 09:15:34 CEST 2017


On 17/08/17 14:00, Graeme Geldenhuys wrote:
> Hi,
> If somebody with more experience (than me) with the Synaser and FPC 
> serial.pp units could comment, that would be much appreciated.
> For a new cross-platform project where I need to talk to a device hooked 
> up to a serial port, which unit would be the best to use? Normally I 
> would go with units included with FPC simply because I know they are 
> strict about keeping everything maintained.
> When I say cross-platform, I'm currently talking about Windows and 
> Linux, and possibly FreeBSD and Mac too.
> Now for the Synaser unit - the one I have is from 2013, and I already 
> noticed that there is no support for FreeBSD's /dev/* names to access 
> serial ports. Granted I added FreeBSD support to the 
> GetSerialPortNames() function in 5 minutes, but this doesn't bode to 
> well then for the Synaser unit - what else could be missing that I don't 
> know of?

I did the last maintenance on the serial.pp unit. I was focussing on 
very low-level stuff, i.e. capture in threads with accurate timestamps 
being appended, and notwithstanding my experience in this area would 
suggest looking first at Synaser etc. which is far more likely to have 
e.g. compatible terminal emulation.

I did specifically test serial.pp with both Linux (various processors) 
and Solaris (SPARC) and to a lesser extent Windows (W2K, x86). There's a 
specific gotcha related to differences in the way Linux and Solaris 
handle select(), and since AIUI Solaris and the Berkeley OSes are 
related this might turn out to be more of an issue that things like 
naming conventions.

I'm not aware of a reliable, cross-platform way of getting a complete 
list of all serial-like devices. I suppose that in principle it would be 
possible to try out the appropriate ioctls on all character devices, but 
things might break.

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]



More information about the fpc-pascal mailing list