Graphical program for Linux GTK Glade Qt C++
Budget: $250 – $750 AUD
Project specification
This project is to produce a program for Linux that sends and receives information through a USB port. The program will be a graphical program and will be installed from a .deb file. All dependencies will be checked and recorded by the program so that the end user will not be left doubting as to the status of the program installation.
There will be two csv files of interest. One will be the factory csv. This file would not be changed during the use of the program. The other file is the device csv. This file can be changed by reading the device on the USB port or it can be changed by the user by typing in a message.
The Linux program will send and receive 20-byte messages to a device connected to the USB port. There are about 400 messages to be held in the downstream device. Think of it as sort of like a pager device.
There is a prepared diagram in a pdf which accompanies this project specification. Please refer to this as the specification is explained.
---- Explanation of program function ---
There are ‘buttons’ on the graphical interface coloured in various colours. This is where the user can select various settings or choose a message.
There is a scroll bar shown in bright green to the left. This is used to scroll up and down to the desired message and will scroll two windows at once.
At the top we have a drop-down cell where a previously connected device can be selected. Reading from and deciphering dmesg (or perhaps lsusb)would be appropriate here.
The next cells below show a drop-down cell where the baud rate can be selected from common baud rates. The default would be 115200.
The button to open the port is labelled ‘connect’. At this point the USB port would be available for exclusive use.
Pressing ‘Read device name’ would fill in the device name cell and would open the csv file associated with the device. If the file doesn’t exist then it would be created when the user filled in the cell and pressed the ‘Create device name’. The device name would not allow spaces nor special characters but for the underline character.
‘Read factory data’ would load the window on screen with the contents of the factory csv file. An error message would pop up for a missing or corrupted file. A blank file would be created if there was no file for the device.
‘Read device data’ is a button to read into the window all of the messages currently on the device and place that information in both the window and into the device file.
The single arrow button in mustard yellow is to transfer one message that is selected on screen from the factory to device csv. To select a message click on its number in the light green area.
The double arrow button in mustard yellow is to transfer all of the factory csv to the device csv.
The single arrow button in purple is to transfer a selected message to the device.
The double arrow button in purple is to transfer all messages in the device csv to the device.
--- Programming environment and particulars ---
The programming will be done in something mainstream on Linux like C/C++ and Glade or perhaps C++ and QT. It must not have any license restrictions at all.
The strong preference is to use only Open Source tools in the production of this project.
The programming environment will be Ubuntu Mate 24.04.
The project results must be compiled by myself before the project is considered complete. Full step-by-step instructions are required for this to happen. This project is not finished if only a .deb file is created.
Ask any questions before bidding. No milestones are required nor will be paid.
This project is to produce a program for Linux that sends and receives information through a USB port. The program will be a graphical program and will be installed from a .deb file. All dependencies will be checked and recorded by the program so that the end user will not be left doubting as to the status of the program installation.
There will be two csv files of interest. One will be the factory csv. This file would not be changed during the use of the program. The other file is the device csv. This file can be changed by reading the device on the USB port or it can be changed by the user by typing in a message.
The Linux program will send and receive 20-byte messages to a device connected to the USB port. There are about 400 messages to be held in the downstream device. Think of it as sort of like a pager device.
There is a prepared diagram in a pdf which accompanies this project specification. Please refer to this as the specification is explained.
---- Explanation of program function ---
There are ‘buttons’ on the graphical interface coloured in various colours. This is where the user can select various settings or choose a message.
There is a scroll bar shown in bright green to the left. This is used to scroll up and down to the desired message and will scroll two windows at once.
At the top we have a drop-down cell where a previously connected device can be selected. Reading from and deciphering dmesg (or perhaps lsusb)would be appropriate here.
The next cells below show a drop-down cell where the baud rate can be selected from common baud rates. The default would be 115200.
The button to open the port is labelled ‘connect’. At this point the USB port would be available for exclusive use.
Pressing ‘Read device name’ would fill in the device name cell and would open the csv file associated with the device. If the file doesn’t exist then it would be created when the user filled in the cell and pressed the ‘Create device name’. The device name would not allow spaces nor special characters but for the underline character.
‘Read factory data’ would load the window on screen with the contents of the factory csv file. An error message would pop up for a missing or corrupted file. A blank file would be created if there was no file for the device.
‘Read device data’ is a button to read into the window all of the messages currently on the device and place that information in both the window and into the device file.
The single arrow button in mustard yellow is to transfer one message that is selected on screen from the factory to device csv. To select a message click on its number in the light green area.
The double arrow button in mustard yellow is to transfer all of the factory csv to the device csv.
The single arrow button in purple is to transfer a selected message to the device.
The double arrow button in purple is to transfer all messages in the device csv to the device.
--- Programming environment and particulars ---
The programming will be done in something mainstream on Linux like C/C++ and Glade or perhaps C++ and QT. It must not have any license restrictions at all.
The strong preference is to use only Open Source tools in the production of this project.
The programming environment will be Ubuntu Mate 24.04.
The project results must be compiled by myself before the project is considered complete. Full step-by-step instructions are required for this to happen. This project is not finished if only a .deb file is created.
Ask any questions before bidding. No milestones are required nor will be paid.