Skip to content

CyDAQ DSP Platform Firmware and Software Redesign - Iowa State University Senior Design May 2023 Group 47 - Blake Fisher, Cole Langner, Corbin Kems, Jens Rasmussen, Long Zeng, Wyatt Duberstein, Yohan Bopearatchy

License

wyattduber/CyDAQ

Repository files navigation

CyDAQ - ISU Senior Design 22-23

Logo

- Blake Fisher - Cole Langner - Corbin Kems - Jens Rasmussen - Long Zeng - Wyatt Duberstein - Yohan Bopearatchy ---

Wiki

To view all of our official documentation for this project, check out our wiki!

Hardware

Hardware Design is using Vivado 2020.1, it is NOT backwards compatible.

The Hardware Design folder is located under /firmware-dual-core/CyDAQ_proto_1/

Open CyDAQ_proto_1.xpr in Vivado to view/modify to project.

For more detail, check the Hardware Design page on wiki.

Firmware

The new firmware uses Petalinux, and is located in the petalinux folder at the root of the project. More in depth information about how to set up a development environment for Petalinux can be found on our wiki.

The old, bare-metal firmware design is under firmware-dual-core/workspace/ import this folder in Vitis as a workspace to view/modify. We are keeping it in this repsitory as a reference, but we weren't able to successfully get it to work as a USB Gadget.

For more detail, check the petalinux pages on wiki.

CLI

The Command Line Tool, or CLI for short, is a console-based application used to interface directly with the cyDAQ.

It works by storing a local configuration for the cyDAQ, making it easily editable without sending any data to the cyDAQ itself. Then, when the config is ready, a command can be used to send all config values to the cyDAQ at once.

CLI Help Menu

Install

python3 -m pip install -r requirements.txt --user

Run

python3 cli/main.py

CLIWrapper

CLIWrapper.py contains a class created to make running the CLI tool in other python scripts very easy. It is used by the GUI to communicate with the cyDAQ, but can also be used by other python scripts.

Below is a very simple example of how to use it.

import CLIWrapper

cli = CLIWrapper.CLI()

print(cli.ping())
cli.set_values("{\"Sample Rate\": 500}")
print(cli.get_config())
cli.start_sampling()
cli.stop_sampling("smallSample.csv")

GUI

The GUI is a PyQt5 application that uses the CLIWrapper to communicate with the cyDAQ. It's purpose is to allow for students to configure the cyDAQ quickly and easily.

QTDesigner was used to create most of the layout/styling. The official documentation can be found here.

Our additional documentation can be found here.

Install Requirements

pip install -r requirements.txt

Run

Then, you should just be able to start the GUI by running the following command:

python3 gui/app.py

Note: If the "python3" command does not work, you might want to try a variant of the command, such as "py app.py" or "python3 app.py".

Build an Executable

To build an executable, run the following

make # Installs project requirements
make build # Builds the project into an executable

Alternatively, you can build the executable using the compile.sh script that exists in the root directory of the project.

./compile.sh

The .exe should be located under the newly created dist/CyDAQ.exe. There is also a zip file with all the contents of the app for easy installation.

To clean the build output files, either delete the build/ and dist/ folders yourself or run the following:

make clean # Deletes the build/ and dist/ directories

About

CyDAQ DSP Platform Firmware and Software Redesign - Iowa State University Senior Design May 2023 Group 47 - Blake Fisher, Cole Langner, Corbin Kems, Jens Rasmussen, Long Zeng, Wyatt Duberstein, Yohan Bopearatchy

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published