feat: update examples and README with streaming support and uint32 force types

- Change CForce3D fx/fy/fz from int16 to uint32 to match hardware
- Add independent C++ example with command and streaming modes
- Rewrite Python example with threaded streaming (read_loop + consumer pattern)
- Add ROS2 C++ publisher/subscriber examples
- Update README with streaming APIs, ROS2 docs, data type definitions, and full FFI table
- Add CHANGELOG
This commit is contained in:
lenn
2026-05-08 17:41:46 +08:00
parent c195234771
commit 705375085f
15 changed files with 903 additions and 149 deletions

View File

@@ -113,8 +113,32 @@ EskinSdkErrorCode eskin_write_matrix_col(
uint16_t* return_count
);
// Streaming interfaces
typedef struct {
uint32_t fx;
uint32_t fy;
uint32_t fz;
} CForce3D;
typedef struct {
uint32_t module;
CForce3D force;
} CCombinedForce;
typedef struct {
uint64_t timestamp_us;
uint32_t sequence;
CCombinedForce combined_force;
} CFingerSample;
EskinSdkErrorCode eskin_start_stream(EskinDeviceHandle handle);
EskinSdkErrorCode eskin_stop_stream(EskinDeviceHandle handle);
EskinSdkErrorCode eskin_read_sample(EskinDeviceHandle handle, uint32_t timeout_ms, CFingerSample* out);
EskinSdkErrorCode eskin_get_mode(EskinDeviceHandle handle, uint32_t* out);
#ifdef __cplusplus
}
#endif
#endif
#endif