-
Notifications
You must be signed in to change notification settings - Fork 55
CI and PWM fixes #550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI and PWM fixes #550
Conversation
freezy
commented
Jan 8, 2026
- CI builds properly again
- PinMAME's PWM implementation switched to a float array, so this PR updates that as well (it's currently converted linearly to gray8).
- Identification frames are more explicit (sorry that's pretty all I can remember).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request addresses CI build issues and updates PinMAME's PWM implementation to use a float array instead of byte array for luminance data, along with improving identification frame handling.
Key Changes:
- PWM implementation now uses float arrays for luminance data with linear conversion to grayscale
- Identification frames are handled more explicitly with the
NeedsIdentificationFramesproperty added to all destination implementations - CI workflow improved with per-branch build numbering
Reviewed changes
Copilot reviewed 32 out of 36 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| PinMameDevice/DmdDevice.cs | Updated PWM rendering to accept float luminance data and convert to bytes |
| LibDmd/RenderGraph.cs | Updated frame subscription logic to respect identification frame requirements |
| LibDmd/Output/IDestination.cs | Added NeedsIdentificationFrames property to interface |
| LibDmd/Output/**/*.cs | Implemented NeedsIdentificationFrames property across all output devices |
| LibDmd/Frame/DmdFrame.cs | Made IsIdentifyFrame property private and added DataHash method |
| LibDmd/DmdDevice/DmdDevice.cs | Fixed SetColor bug and updated logging configuration |
| LibDmd/Common/InteropUtil.cs | Changed to static class and added ReadByteArray method |
| LibDmd/Common/Profiler.cs | Improved DEBUG conditional compilation |
| .github/workflows/build.yml | Added per-branch build number computation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
LibDmd/Common/InteropUtil.cs
Outdated
| public static ushort[] ReadByteArray(IntPtr data, int length) | ||
| { | ||
| var buffer = new ushort[length]; | ||
| var uint16Buffer = new byte[length * 2]; |
Copilot
AI
Jan 8, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable 'uint16Buffer' is misleadingly named since it's declared as a byte array. Consider renaming to 'byteBuffer' or 'rawBytes' to accurately reflect its type.