Issue: Verify pokeys_userspace Includes Full Functionality of pokeys.comp
Summary
The newly created pokeys_userspace component implementation was modularized to reduce the size of pokeys.comp. This issue involves verifying that the pokeys_userspace component contains all the functionality provided by the original pokeys.comp. The goal is to ensure seamless migration without loss of features or performance degradation.
Task Details
1. Functional Comparison:
Perform a feature comparison between pokeys.comp and pokeys_userspace.
Verify that all subsystems such as Digital IO, Analog IO, PEv2 (Pulse Engine v2), Counters, PWM, PoExtBus, PoRelay8, and PoNETkbd48CNC are fully implemented and functional in pokeys_userspace.
2. Subsystem Verification:
Digital IO: Validate that all digital input/output pins, including invert parameters and PoExtBus outputs, are properly defined and operational.
Analog IO: Ensure all analog inputs and outputs work as expected, and that their values are mapped correctly.
PEv2 (Pulse Engine v2): Confirm that the full set of Pulse Engine functionalities (motion control, axis management) is correctly transferred to the new component.
Counters and PWM: Verify that counters, timers, and pulse-width modulation (PWM) functionalities are fully implemented and match the behavior of pokeys.comp.
Peripheral Devices: Test and verify that PoRelay8, PoExtBusOC16, and PoNETkbd48CNC components are working properly, if applicable.
3. Code Structure and Conventions:
Confirm that the pokeys_userspace component follows LinuxCNC naming conventions for HAL pins and parameters:
Digital IO Pins:pokeys.[DevID].digin.[PinID].in, pokeys.[DevID].digin.[PinID].in-not, pokeys.[DevID].digout.[PinID].out
Analog IO Pins:pokeys.[DevID].analogin.[PinID].in, pokeys.[DevID].analogout.[PinID].out
Parameter Names: Should conform to the expected HAL interface for each peripheral.
Ensure consistent pin and parameter naming as outlined in the HAL documentation.
4. Performance Testing:
Measure the performance of pokeys_userspace to ensure it performs similarly or better than pokeys.comp.
Check timing constraints, especially for real-time-critical operations like motion control and PEv2.
5. Integration Testing:
Test the integration of pokeys_userspace within LinuxCNC to ensure proper pin registration and interaction with the existing system.
Ensure that pokeys_userspace handles device initialization, configuration, and updates correctly.
Expected Outcome
Functional Equivalence:pokeys_userspace retains the same or better functionality as pokeys.comp.
Naming Conventions: All HAL pins and parameters follow LinuxCNC's standard naming conventions.
Performance: No significant performance regressions compared to pokeys.comp.
Complete Coverage: All features from pokeys.comp (including digital IO, analog IO, PEv2, counters, PWM, and PoNET devices) are fully operational.
Reference Files
pokeys.comp (Original Component)
pokeys_userspace/ (New Modular Component)
Notes
This task is necessary to ensure a smooth transition to the modularized pokeys_userspace component without loss of functionality or degradation in performance.
Any discovered discrepancies must be documented and addressed.
Issue: Verify
pokeys_userspace
Includes Full Functionality ofpokeys.comp
Summary
The newly created
pokeys_userspace
component implementation was modularized to reduce the size ofpokeys.comp
. This issue involves verifying that thepokeys_userspace
component contains all the functionality provided by the originalpokeys.comp
. The goal is to ensure seamless migration without loss of features or performance degradation.Task Details
1. Functional Comparison:
pokeys.comp
andpokeys_userspace
.pokeys_userspace
.2. Subsystem Verification:
invert
parameters and PoExtBus outputs, are properly defined and operational.pokeys.comp
.3. Code Structure and Conventions:
pokeys_userspace
component follows LinuxCNC naming conventions for HAL pins and parameters:pokeys.[DevID].digin.[PinID].in
,pokeys.[DevID].digin.[PinID].in-not
,pokeys.[DevID].digout.[PinID].out
pokeys.[DevID].analogin.[PinID].in
,pokeys.[DevID].analogout.[PinID].out
pokeys.[DevID].PEv2.[AxisID].axis-pos-cmd
,pokeys.[DevID].PEv2.[AxisID].axis-pos-fb
4. Performance Testing:
pokeys_userspace
to ensure it performs similarly or better thanpokeys.comp
.5. Integration Testing:
pokeys_userspace
within LinuxCNC to ensure proper pin registration and interaction with the existing system.pokeys_userspace
handles device initialization, configuration, and updates correctly.Expected Outcome
pokeys_userspace
retains the same or better functionality aspokeys.comp
.pokeys.comp
.pokeys.comp
(including digital IO, analog IO, PEv2, counters, PWM, and PoNET devices) are fully operational.Reference Files
pokeys.comp
(Original Component)pokeys_userspace/
(New Modular Component)Notes
pokeys_userspace
component without loss of functionality or degradation in performance.