sdmay23-47
This project can be split into three separate components: Graphical User Interface (GUI), Command-line Interface (CLI), and CyDAQ Firmware. Each can be viewed in their respective directory at the root of the repo and has their own wiki section.
The following diagram shows the relationship between the three components:
The GUI is a PyQT5 application that is compiled using Pyinstaller to a standalone .exe that runs on lab computers.
The CLI Wrapper is a python library, bundled into the GUI application .exe, that allows for simple function calls to communicate with the CyDAQ. It runs the CLI tool using the Pexpect library, and acts just like a user using the CLI tool manually to do so.
The CLI tool is a python script that accepts user input to manually configure and control the CyDAQ. It can be ran standalone to control the CyDAQ without the GUI, and contains all commands required to configure the CyDAQ, take samples, and save them to a file.
The last component is the CyDAQ firmware. It uses a PetaLinux configuration to handle communication between the lab computer and the CyDAQ. The CyDAQ then uses a Remote Procedure Call framework to handle communication between the two CPU cores. PetaLinux is running on core 0 and core 1 is bare metal used for ultra fast sampling.