This project is to either adapt or build anew a serial port monitor for Linux. Use existing software as a guide. In particular 'moserial' and 'cutecom'. See a mock-up diagram attached.
The software you build will install from a .deb file and will be written with a GTK GUI human interface. It will install and be able to be used on a Linux Mint version at least a year old. It should also work on the latest version of Linux Mint. The final product will be all files required to build the project, all files associated with the project (like notes and other informational files) and a final deb file also. The project outlined is only a beginning. It will need to be expanded and changed in the future.
The software will pick up any serial enumeration. Cutecom does not pick up "ttyACM0" for example whereas moserial does.
The project must allow at least a 64 character datastream to be sent and received without any timing interruption. This contrasts with moserial for example which cannot send and receive more than about 22 characters before there is a pause in proceedings. As cutecom cannot pick up ACM0, I cannot say whether cutecom can process these extended datastreams.
There should be two large, multi-line, equally sized window panes for sending and receiving. In those panes, the data will show as a line of hex with whitespace. Underneath the hex line would be a text line with characters corresponding to the hex values above. You will be given a suitable font for use as a display font.
The information seen in the windows needs to be timestamped on the left. When a suitable break in transmission of a bytestream occurs a new timestamp would be issued.
The sent and received data windows need to show a minimum of 48 characters - preferably 64 on the one line. The overall program window does not need to be sizeable and can be specified for 95% of the width of a 1920 screen.
The idea is to see what data is flowing into the computer and out of the computer in real time. The windows for sent and received will scroll down (preferably) as new data comes through. This way, a casual glance at the screen will see the latest communications at the top of each window.
The data coming into the computer will eventually end up in a database but for now it can be sent to /dev/null. Likewise the data being sent from the computer will be sent by a user or program from a webpage interface. For now, this can be the keyboard.
Just the basic parameters for the port need to be taken care of at this stage (baud rate and port name I think). These parameters should be set in an XML file and the file read upon starting. This means that changing the baud rate in the XML file and re-starting the program would result in a different baud rate connection.
A history of transmissions kept in a small ring buffer is required. This is so that a scroll bar function would be implemented for each display window to look back at recent history.
You will need to complete the project without very much guidance from me as I am not knowledgeable of too many software terms or intricacies.
Hi, I can do this project using GTK and libSerial. But i can do it much cheaper and faster if you agree to use Qt and C++. In the latter case, I can provide a prototype. Best regards, Alexey
8 freelancers are bidding on average $399 for this job
I have made a similar UI for a file upload via serial for Windows operating system using GTK+. I am sure that I can easily port the code for Linux also. our company website: [login to view URL]