Skip to content

Advanced features #2

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

Open
wants to merge 18 commits into
base: dev
Choose a base branch
from
Open

Advanced features #2

wants to merge 18 commits into from

Conversation

Katze719
Copy link
Member

@Katze719 Katze719 commented Jul 4, 2025

No description provided.

@Katze719 Katze719 requested a review from Mqxx July 4, 2025 17:26
@Katze719 Katze719 self-assigned this Jul 4, 2025
Katze719 added 10 commits July 5, 2025 23:21
… collecting USB device information and updating the callback mechanism; remove redundant implementation from serial.cpp
… enable position-independent code, link libraries statically, and update build steps in CI to use a container image.
…ng installation and build steps into a single command for improved efficiency.
@Katze719 Katze719 force-pushed the advanced-features branch from c36c1e2 to bb2e1ce Compare July 6, 2025 10:23
Katze719 added 2 commits July 6, 2025 17:18
…and error handling; remove legacy serial and status_codes headers, and adjust CMake configuration to link cpp_core for improved modularity.
…criptions, error handling examples, and new convenience functions for serial communication, enhancing clarity and usability for developers.
Comment on lines +27 to +28
name: libcpp_unix_bindings
path: build/libcpp_unix_bindings.so
Copy link
Member

@Mqxx Mqxx Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name: libcpp_unix_bindings
path: build/libcpp_unix_bindings.so
name: bindings_linux
path: build/bindings_linux.so

retention-days: 14

- name: Attach library to release
if: github.event_name == 'release'
uses: softprops/action-gh-release@v1
with:
files: build/libCPP-Unix-Bindings.so
files: build/libcpp_unix_bindings.so
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
files: build/libcpp_unix_bindings.so
files: build/bindings_linux.so

set(VERSION_PATCH 0)

set(PROJECT_N CPP-Unix-Bindings)
set(PROJECT_N cpp_unix_bindings)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
set(PROJECT_N cpp_unix_bindings)
set(PROJECT_N cpp_bindings_linux)

@@ -1,7 +1,7 @@
# CPP-Unix-Bindings
# cpp_unix_bindings
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# cpp_unix_bindings
# C++ Bindings Linux


A compact C++23 library for talking to serial devices on Linux (e.g. Arduino).
The project builds a **shared library `libCPP-Unix-Bindings.so`** that can be used via
The project builds a **shared library `libcpp_unix_bindings.so`** that can be used via
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The project builds a **shared library `libcpp_unix_bindings.so`** that can be used via
The project builds a **shared library `bindings_linux.so`** that can be used via

@@ -21,7 +21,7 @@ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j

# The resulting library will be located at
# build/libCPP-Unix-Bindings.so
# build/libcpp_unix_bindings.so
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# build/libcpp_unix_bindings.so
# build/bindings_linux.so

@@ -36,7 +36,7 @@ Deno ships with a first-class FFI API.

```ts
// serial_deno.ts
const lib = Deno.dlopen('./build/libCPP-Unix-Bindings.so', {
const lib = Deno.dlopen('./build/libcpp_unix_bindings.so', {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const lib = Deno.dlopen('./build/libcpp_unix_bindings.so', {
const lib = Deno.dlopen('./build/bindings_linux.so', {

Katze719 added 3 commits July 10, 2025 20:43
…dular functions for serial communication, including read, write, and buffer management. Update CMake configuration to exclude serial.cpp and enhance project structure for improved maintainability.
…m 'function' to 'callback_fn' for improved clarity and consistency in naming conventions.
Introduce std::lock_guard to ensure thread-safe access to shared resources in serial communication functions, including buffer management and read/write operations. This change enhances the robustness of the API by preventing data races during concurrent access.
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