Skip to content

Bring Windows bindings to Linux feature parity - #10

Merged
Katze719 merged 18 commits into
mainfrom
feat/windows-linux-parity
Sep 1, 2026
Merged

Bring Windows bindings to Linux feature parity#10
Katze719 merged 18 commits into
mainfrom
feat/windows-linux-parity

Conversation

@Katze719

@Katze719Katze719 commented Aug 26, 2026

Copy link
Copy Markdown
Member

Summary

  • upgrade the Windows bindings to cpp-core 2.0.1 and implement the complete 39-symbol serial C API
  • add cancellable overlapped read/write operations, callbacks, transfer counters, buffer control, port enumeration, and port monitoring
  • generate and ship x86_64-windows-msvc FFI metadata with ASTrein 1.2.0

…nd control
- Added `serialGetConfig` to retrieve serial port configuration.
- Implemented `serialGetCts`, `serialGetDcd`, `serialGetDsr`, and `serialGetRi` to check modem status.
- Introduced `serialMonitorPorts` for monitoring available COM ports.
- Created functions for controlling DTR, RTS, and flow control settings.
- Added `serialSendBreak` and `serialUpdateBaudrate` for sending break signals and updating baud rates.
@Katze719
Katze719 marked this pull request as draft August 26, 2026 20:30
@Katze719
Katze719 marked this pull request as ready for review August 26, 2026 20:31
…erial communication
- Added functions for registering and removing handle states.
- Implemented abort request handling for pending operations.
- Created utilities for starting and waiting on pending I/O operations.
- Added conversion functions between UTF-8 and wide strings.
- Developed a validation function for Win32 handles.
- Introduced error handling utilities for Win32 API calls.
- Refactored existing serial communication functions to utilize new handle management and I/O utilities.
- Removed deprecated win32_helpers.hpp and consolidated functionality into new headers.
- Updated serial communication interface to improve error handling and state management.
@Katze719
Katze719 marked this pull request as draft August 28, 2026 21:58
@Katze719
Katze719force-pushed the feat/windows-linux-parity branch from 85eb505 to 7fd7638CompareAugust 28, 2026 22:53
…ming and improve error handling
- Updated variable names from 'h' to 'native_handle' for clarity across multiple serial functions.
- Changed return values to use 'status' for error handling consistency.
- Refactored DCB structure usage to 'serial_settings' for better readability.
- Enhanced readability in the serial port listing and monitoring functions by renaming variables and improving callback function names.
- Improved test code for better clarity and consistency in variable naming.
@Katze719Katze719 added enhancement New feature or improvement documentation Documentation improvements or additions area: native api OS-specific implementation and exported native API area: build & ci CMake, toolchains, workflows, and release automation area: ffi metadata ASTrein metadata generation and FFI surface area: jsr package JSR package, binary distribution, and runtime loading area: tests Unit and integration tests labels Aug 31, 2026
@Katze719
Katze719 requested a review from MqxxAugust 31, 2026 20:27
@Katze719
Katze719 marked this pull request as ready for review August 31, 2026 20:27
Comment threadsrc/get_version.cpp
Mqxx
Mqxx approved these changes Sep 1, 2026
@Katze719
Katze719 merged commit 7dba1b0 into mainSep 1, 2026
9 checks passed
@Katze719
Katze719 deleted the feat/windows-linux-parity branch September 1, 2026 15:01
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: build & ciCMake, toolchains, workflows, and release automationarea: ffi metadataASTrein metadata generation and FFI surfacearea: jsr packageJSR package, binary distribution, and runtime loadingarea: native apiOS-specific implementation and exported native APIarea: testsUnit and integration testsdocumentationDocumentation improvements or additionsenhancementNew feature or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Katze719@Mqxx