Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sped0n/lovelace
GUI for https://github.com/Sped0n/ada, powered by PySide6.
https://github.com/sped0n/lovelace
ft232h oscilloscope pyside6 python python3
Last synced: 10 days ago
JSON representation
GUI for https://github.com/Sped0n/ada, powered by PySide6.
- Host: GitHub
- URL: https://github.com/sped0n/lovelace
- Owner: Sped0n
- License: mit
- Created: 2023-10-07T17:44:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-21T12:47:25.000Z (about 1 year ago)
- Last Synced: 2024-12-22T18:54:09.641Z (11 days ago)
- Topics: ft232h, oscilloscope, pyside6, python, python3
- Language: Python
- Homepage:
- Size: 684 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Lovelace
Lovelace is a USB2.0 based dual-channel oscilloscope that utilizes Xilinx® Artix™ 7 FPGA for signal acquisition.
This is a project that I completed within three weeks. Although it may not be high-profile, it can still meet some basic requirements.
For FPGA source code, please refer to https://github.com/Sped0n/ada.
![showcase](assets/showcase.jpg)
## Features
* Acquire speed up to 25MSa/s (single channel)
* Storage depth of up to 25K (dual channel)
* Flexible Trigger Configuration (channel/slope/position/threshold)
* Floating window displays waveform information
* FFT graph support
* Zoom in horizontally on the waveform, with the option to move and adjust a specific region
* Vertical scaling allows waveform to be displayed with proportional magnification## Installation and usage
1. Ensure your python version is >= `3.11`, not guaranteed to run on lower version.
```shell
❯ python --version
Python 3.11.5
```2. Install dependencies.
```shell
pip install -r requirements.txt
```> ⚠️⚠️⚠️
>
> When installing `ftd2xx`, please ensure you have [FTDI drivers](https://ftdichip.com/drivers/d2xx-drivers/) installed or available where the linker looks for shared libraries (e.g., PATH on windows, LD_LIBRARY_PATH or standard library directories on Linux).3. Load binary file into your board.
> Please refer to https://github.com/Sped0n/ada/releases.
4. Run the app.
```shell
make run
# or
python -m lovelace
```
To connect to the FPGA, click on the `Connect` button on the bottom. Once the button text changes to `Disconnect`, you are ready to proceed. Click on `RUN` for continuous acquisition or `SINGLE` for a single capture.## Customization for your specific needs
![structure](assets/structure.png)
* Want to change the communication protocol? Simply implement the corresponding method in `device.py`.
* Want to display more content? Please make modifications in the `OscilloscopeScreen` class of `main_window.py`.
* Want to achieve more control options? Simply add the widget you need to the corresponding panel in `main_windows.py` and implement specific logic in `controller.py`.
* ……## Credits
* https://github.com/diepala/wicope
* https://github.com/WangXuan95/FPGA-ftdi245fifo