Software Requirements Specification (SRS) for pokeys_py
1. Introduction
1.1 Purpose
The purpose of this document is to outline the software requirements for pokeys_py, a Python interface for interacting with PoKeys devices. This library will facilitate communication with various peripherals supported by the PoKeys hardware, including digital I/O, analog I/O, counters, PWM outputs, and more.
Create subfolder 'pokeys_py' for Python Implementation which will BE provided in parallel to the c comp implementations
1.2 Scope
pokeys_py will provide a unified interface for controlling PoKeys devices in a LinuxCNC environment, ensuring compatibility with real-time requirements for motion control. The library will be modular, allowing for easy expansion and maintenance.
pokeys_py is designed to be a part of a larger control system for CNC machines, providing direct interaction with PoKeys devices through a Python API. It will abstract the complexities of the underlying hardware, allowing users to easily manage various peripheral types.
2.2 Product Features
Modular Design: Each type of peripheral (digital I/O, analog I/O, etc.) will have its own module for clear separation of functionality.
Real-time Performance: The library will facilitate real-time updates, especially for motion control through the PEv2 interface.
Compatibility: Designed to work seamlessly with LinuxCNC for controlling CNC machines.
3. Functional Requirements
3.1 Digital I/O Module
Setup: Initialize digital pins and configure settings.
Fetch: Retrieve the current state of digital inputs.
Computer with USB or network interface to connect to the PoKeys device.
6. Glossary
PoKeys Device: A hardware interface for connecting various peripherals.
Digital I/O: General-purpose input and output pins.
Analog I/O: Input and output pins for analog signals.
PWM: Pulse-width modulation for controlling power delivery.
PEv2: Pulse engine v2 for motion control.
LinuxCNC: Open-source software for controlling CNC machines.
This SRS provides a comprehensive overview of the pokeys_py library, its requirements, and its intended functionality. The references included will assist developers in understanding the underlying hardware and existing libraries for further development and implementation.
Software Requirements Specification (SRS) for
pokeys_py
1. Introduction
1.1 Purpose
The purpose of this document is to outline the software requirements for
pokeys_py
, a Python interface for interacting with PoKeys devices. This library will facilitate communication with various peripherals supported by the PoKeys hardware, including digital I/O, analog I/O, counters, PWM outputs, and more. Create subfolder 'pokeys_py' for Python Implementation which will BE provided in parallel to the c comp implementations1.2 Scope
pokeys_py
will provide a unified interface for controlling PoKeys devices in a LinuxCNC environment, ensuring compatibility with real-time requirements for motion control. The library will be modular, allowing for easy expansion and maintenance.1.3 References
2. Overall Description
2.1 Product Perspective
pokeys_py
is designed to be a part of a larger control system for CNC machines, providing direct interaction with PoKeys devices through a Python API. It will abstract the complexities of the underlying hardware, allowing users to easily manage various peripheral types.2.2 Product Features
3. Functional Requirements
3.1 Digital I/O Module
3.2 Analog I/O Module
3.3 PWM Module
3.4 Counter Module
3.5 PoNET Module
3.6 PEv2 Motion Control Module
4. Non-Functional Requirements
4.1 Performance Requirements
4.2 Security Requirements
4.3 Maintainability
5. System Requirements
5.1 Software Requirements
pyserial
,numpy
(for real-time data processing)5.2 Hardware Requirements
6. Glossary
This SRS provides a comprehensive overview of the
pokeys_py
library, its requirements, and its intended functionality. The references included will assist developers in understanding the underlying hardware and existing libraries for further development and implementation.