[Lazarus] Using Lazarus on Embedded Linux?

Bo Berglund bo.berglund at gmail.com
Tue Sep 28 07:31:40 CEST 2010

>From: Paul Breneman [mailto:list2010 at BrenemanLabs.com] 
>Sent: Tuesday, September 28, 2010 1:24 AM
>Hi Michael,
>> ... I intend to port Async Pro to Lazarus/Linux/ARM, once we 
>> start working on the project (which we are raving about since years, so 
>> don't hold your breath ;) )
>I've spent many years with AsyncPro (even 5 years as an APro TPX person) 
>and I would not recommend porting APro.  It has too much legacy code in 
>too many layers and is full of Win32 oddities.  But maybe you've dug 
>into this a bit and see a way to port just the higher layers?
>I do have threaded code using SynaSer on Linux that is almost identical 
>to threaded code on Win32 that is compatible with APro and SynaSer so I 
>can switch between the two libraries on Windows.  Of course that is just 
>for basic serial port stuff.  If you need protocols or other APro 
>features that makes things more difficult.

Well, I am not really fond of AsyncPro because of the heaviness of the
code but I have not found a good Delphi package alternative, which is
either stable or maintained so we are using it still with D7.

We only use the minimum functionality of AP though:
- The TApdComPort object
- Properties for setting port, baud, bits, parity, handshake etc
- Properties for handling the buffer size
- Methods/Events for sending and receiving byte data
- We also use the possibility to switch from serial to TCP/IP

But that is about it. We never ever used any of the other functionality
of AP like the different protocols and stuff. Just the simple port.

And that is what I would like to have also with FPC/Lazarus. I could even
live without the TCP/IP mode.

So if you have code to implement the simple serial comm system outlined
above I'd be very interested to try that out.

My immediate application calls for communicating with a data acquisition
device with a binary data transfer protocol, so I need all 256 byte codes
to pass transparently through to my application. There must be no
based on data values. Example of packet structure:
All binary of course.

What do you think?

More information about the Lazarus mailing list