Skip to content

hal: fix bugs in the hal-streamer interface and implementation#3885

Merged
andypugh merged 1 commit intoLinuxCNC:masterfrom
BsAtHome:fix_hal-streamer
Mar 29, 2026
Merged

hal: fix bugs in the hal-streamer interface and implementation#3885
andypugh merged 1 commit intoLinuxCNC:masterfrom
BsAtHome:fix_hal-streamer

Conversation

@BsAtHome
Copy link
Copy Markdown
Contributor

This PR fixes the HAL stream interface and implementation. There were several issues. One error was that the buffer count would be off-by-one whenever the buffer content wrapped the buffer. There were several issues wit atomicity and the handling of different types was incomplete. The PR also removes private structural definitions from public headers and moves them to the only place they are used inside the source.

The halmodule python interface was cleaned up and, in addition to fixing the stream functionality. Unnecessary/invalid use and casting of hal_*_t types are removed and now use the proper hal union dereferences. Also, several python sized type conversions (in build value) were fixed where there were several copy-and-paste errors using the same signed 'l' conversion for both signed, unsigned and 32-bit and 64 bit conversions ('l', 'k', 'L' and 'K'). These now use the proper conversion type markers, including fixing 'f' (float) and 'd' (double) confusion.

@andypugh andypugh merged commit 3513fdf into LinuxCNC:master Mar 29, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants