Core module for TAER (Test AER based sensors).
Project description
TAER-Core module
TAER-Core is the foundational backend module for the TAER App, providing the essential logic, data handling, and control mechanisms required for Test AER-based sensors. Designed for use by developers, TAER-Core implements the Model-View-Controller (MVC) architecture using the wxPython framework.
Key features:
- Centralizes all core logic and data models for the TAER ecosystem.
- Separates concerns into Model, View, and Controller components for maintainability and scalability.
- Provides reusable components and utilities for sensor data processing, user interface management, and application control.
- Intended to be extended or integrated by developers building on the TAER platform.
Module structure:
- Model: Handles data management and business logic (main_model.py)
- Controller: Manages application flow and user interactions (main_presenter.py, delegates.py, interactors.py)
- View: Responsible for the graphical user interface (main_view.py, Views)
This module is not intended for direct use by end users, but rather as a core library for developers extending or maintaining the TAER App.
FPGA Interface: Libs/dev_opal_kelly
The Libs/dev_opal_kelly directory contains the implementation of functions and classes required to interface with the FPGA hardware. This library provides the low-level communication and control mechanisms necessary for interacting with the Opal Kelly FPGA board, including:
- Reading and writing to FPGA registers and memory blocks.
- Managing serial and parallel data transfers.
- Handling control signals, triggers, and wire interfaces.
- Providing abstractions for higher-level operations used throughout the TAER-Core module.
The main classes in this file (Device, DeviceInfo, DeviceActions, etc.) encapsulate all the logic needed to communicate with the FPGA, including device connection management, register and memory access, DAC/ADC operations, and serial communication. These classes are designed to be thread-safe and robust, with error checking and logging built in.
Extensibility:
The structure of these classes allows for easy adaptation to other hardware devices. To support a different device, you can implement a new module that keeps the same class and method structure as indev_opal_kelly.py, but adapts the internal logic to the specifics of the new hardware. This ensures compatibility with the rest of the TAER-Core and TAER-App ecosystem, while allowing flexibility for new devices.
This code is essential for enabling the TAER platform to communicate with and control AER-based sensor hardware via the FPGA.
Creating a New Release
This project uses GitHub Actions to automate the release process. To create a new release, follow these steps:
-
Commit and push your changes to the main branch.
Example command lines:git add . git commit -m "Describe your changes" git push origin main
-
Check the build process on GitHub Actions.
Go to the "Actions" tab in your GitHub repository and verify that the build workflow is running and finishes without errors.
If there are errors, review the output log, fix the issues in your code, and repeat step 1. -
Create a new tag for the new version and push the tag.
Example command lines:git tag vX.Y.Z # Replace X.Y.Z with your new version number git push origin vX.Y.Z
-
Verify the release workflow.
After pushing the tag, a new GitHub Actions job will start. This workflow will build the project and, if successful, create a new release and upload it to the PyPI database. -
Update TAER-Core in TAER-App.
Users can now update the TAER-Core module from the TAER-App using:pip install --upgrade TAER-Core
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taer_core-1.0.5-py3-none-any.whl.
File metadata
- Download URL: taer_core-1.0.5-py3-none-any.whl
- Upload date:
- Size: 102.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5b23d59f60c23a8a9a526d88161a3ef969124a4d3f085bfc97747e8e75753a4
|
|
| MD5 |
499065eb5f1892ec533791c833173ca8
|
|
| BLAKE2b-256 |
15fd885bc0c9eb9e801527f0af4e85abd341ee1d25831d6ba840d1da0bbd0738
|
Provenance
The following attestation bundles were made for taer_core-1.0.5-py3-none-any.whl:
Publisher:
release.yml on rafo-og/TAER_Core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
taer_core-1.0.5-py3-none-any.whl -
Subject digest:
d5b23d59f60c23a8a9a526d88161a3ef969124a4d3f085bfc97747e8e75753a4 - Sigstore transparency entry: 236265077
- Sigstore integration time:
-
Permalink:
rafo-og/TAER_Core@57328e25412444d464eeb3d1dcc6e4ef20462397 -
Branch / Tag:
refs/tags/v1.0.5 - Owner: https://github.com/rafo-og
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@57328e25412444d464eeb3d1dcc6e4ef20462397 -
Trigger Event:
push
-
Statement type: