Serial Port Component For Lazarus Raised
Recently I discovered FreePascal and the Lazarus IDE. I was rather skepticalabout how useful it might be as a replacement for Borland Delphi (D4Pro)which I have been using for over 15 years for Windows GUI apps. So yesterdayI decided to download them and install on my new Toshiba Satellite Win10laptop.I was pleasantly surprised, and I was able to convert, build and run somesimple Delphi projects. But unfortunately I was unable to install theComDrv32 serial port component I recently adopted for my legacy BTSA3 andOrtmaster projects, or the SerialNG component I had been using since about2004.
The SerialNG would not work on Win10.So I joined the Lazarus discussion forum, and found that someone hadprovided an open source TLazSerial component. I was able to install theTLazSerial component and build the demo GPS Simulator. I have a USB serialport designed in a custom data acquisition board, and when a Ctrl-Tcharacter is sent, it returns a stream of 240 unique character pairs, at4800 characters per second, on a 57.6 kB connection. I was able toaccomplish this with a TEST button and an OnClick handler.Here is the download page:PaulP E Schoen22.08.16 22:30. On 2016-08-23, P E Schoen wrote: Recently I discovered FreePascal and the Lazarus IDE. I was rather skeptical about how useful it might be as a replacement for Borland Delphi (D4Pro) which I have been using for over 15 years for Windows GUI apps. So yesterday I decided to download them and install on my new Toshiba Satellite Win10 laptop.
I was pleasantly surprised, and I was able to convert, build and run some simple Delphi projects. But unfortunately I was unable to install the ComDrv32 serial port component I recently adopted for my legacy BTSA3 and Ortmaster projects, or the SerialNG component I had been using since about 2004. The SerialNG would not work on Win10.What actually went wrong with comdrv32?P E Schoen23.08.16 14:40.
'Marco van de Voort' wrote in messagenews:slrnnroemu.249d.marcov@toad.stack.nl. What actually went wrong with comdrv32?I don't remember all the problems, but the compilation ran into problemswith undefined references in some of the source files in the package. It mayhave had something to do with misunderstanding how packages and componentswork, and how to convert from Delphi to Lazarus. I may try again, but theTLazSerial component seems to work well enough.PaulP E Schoen23.08.16 15:21. 'Hans-Peter Diettrich' wrote in messagenews:e22jdpF2jopU1@mid.individual.net.I have not tried that yet, and I probably won't, unless it becomesnecessary. The BTSA and Ortmaster projects are now mature and stable, andwon't need more than a few maintenance tweaks like the change of serial portcomponent.
The Ortmaster project is particularly complex due to databaseportions using BDE and QuickReports.What I probably should do is a rewrite pretty much from the ground up. Muchof the code is questionable and inefficient due to my learning Delphi as Ibuilt and enhanced the project. The BTSA project may be simple enough torewrite, and I need to make better use of object based programmingpractices. I do have some of the code in separate units, but some units useconditional compiles based on ORT or BTSA $defines.I plan to build a new project that will read a huge CSV text file (about 1.8GB), and split it into more manageable file sizes that can be converted tospreadsheet format with Open Office. It has a maximum of 1048576 lines withan ODS file of 11.2 MB. This is a database of all songs in the ASCAPdatabase.
Lazarus Software
It was supplied in a 288 MB zipfile.Somehow I got interested in copyright issues and royalties and licenses forperforming or playing copyrighted music in public or private venues. I thinklicenses and royalties mostly apply to professional musicians and DJs andfor recording and selling music. I have recorded myself and others playingand singing music and have made YouTube videos of that.
It's a trickysubject!PaulMarco van de Voort24.08.16 1:30. On 2016-08-23, P E Schoen wrote: I plan to build a new project that will read a huge CSV text file (about 1.8 GB), and split it into more manageable file sizes that can be converted to spreadsheet format with Open Office. It has a maximum of 1048576 lines with an ODS file of 11.2 MB.
This is a database of all songs in the ASCAP database. It was supplied in a 288 MB zipfile.Using fpspreadsheet (in fpc/lazarus) you can churn out office filesdirectly, without having an office installed. (and at least as important,decoupling your applications from Office version).
Welcome to LinuxQuestions.org, a friendly and active Linux Community.You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Today!Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.Are you new to LinuxQuestions.org? Visit the following links: If you have any problems with the registration process or your account login, please.
If you need to reset your password,.Having a problem logging in? Please visit to clear all LQ-related cookies. Introduction to Linux - A Hands on GuideThis guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant.
They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.to receive this Complete Guide absolutely free. Is it possible to detect changes in the serial port modem control lines by using the select system call?I want to detect an external event without polling for it in a c console application.
The external event (think switch closure) would toggle the voltage between the allowed +/- input values on the line. I can use any of the modem input control lines on a serial port, I.E. DSR, RI, DCD, CTS.All the examples I have found to date use polling techniques to monitor the status of these lines, which is less than appealing to me.One would think that polling for ring detect, for example, would be wasteful, so some mechanism for sending a signal to an application would exist that would not require polling.Any hints on where to look for documentation, or examples would be appreciated.I am currently using Ubuntu.Thanks in advance. Select might work, it depends on how the serial terminal device driver works.If you open a file descriptor to the serial port (/dev/ttyS.) and configure it for hardware flow control.This is a good reference for linux serial programming:select takes in 3 sets of file descriptors and will block until a file descriptor in one of the sets is available or the timeout passes (use NULL timeout to block indefinitely). The first set is for checking to see if a read is possible.
This one isn't good for your purposes because actual data would have to be sent over the port before select would flag one of these as available. The third on is for checking for errors; I'm not sure how this works, so you may want to look into it. The second one might work, it checks to see if a write call would block.
If the device driver blocks write calls util it can actually write, then you can use this for your purposes.Since your serial port is setup for hardware flow control, the CTS pin would determine whether the port can write or not. So the following code should wait until CTS is asserted. Code: int serialfd;/.serialfd is opened to the serial port and configured for.harware flow control./fdset serialset;FDZERO(&serialset);FDSET(serialfd, &serialset);select(serialfd + 1, NULL, &serialset, NULL, NULL);//At this line, CTS would be assertedThis might not work, the driver might cache output instead of blocking. If it doesn't, there might be something you can do with the error set, but if you're only detecting one voltage change on one control line, then the read set is definitely out of the question.