Add sensor integration knowledge base#1
Draft
Copilot wants to merge 14 commits into
Draft
Conversation
Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/9e4c25f0-f328-4484-b1be-26ba054a09bb Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Establish sensor access knowledge repository
Add sensor integration knowledge base
Apr 25, 2026
…ace headers Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/00fcf984-0057-4dfc-b716-dfaf085e1a09 Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
…s of Sensor HAL Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/0ca1bf20-dbe2-4aff-bb55-726e16c8154f Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
…15 strong recs Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/6928edf4-1502-4221-9872-306d97a8b7e7 Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
…n passes Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/6928edf4-1502-4221-9872-306d97a8b7e7 Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
Critical: - C-1: errorCodeToString / bytesPerPixel / pixelEncodingToString made inline - C-2: health_status comment fixed (std::string is NOT atomic) - C-3: partialMatch() BGR8 wildcard bug fixed via explicit match_any_format flag High: - H-1: angle_resolution int (0.01° units) -> float angle_resolution_deg (degrees) - H-2: DeviceInfo::connection string -> enum class ConnectionType - H-3: AudioConfig::device_type string -> enum class AudioDeviceType - H-4: getIntrinsics/getExtrinsics/getIMUCalibration unified to StreamIndex param - H-5: FrameSet::ir split into ir_left + ir_right for stereo IR support - H-6: error_circle fully documented - H-7: polling API getColorFrame/getDepthFrame/getIRFrame/getPointCloud add timeout_ms Medium: - M-1: CameraConfig::usb_port renamed to gmsl_port - M-3: ImuDeviceInfo gains model/serial_number/firmware_version - M-4: Lidar3DConfig::defaultsFor(LidarModel) factory method added - M-5: PointCloudXYZI::valid_count semantics documented - M-6: IMUCalibration::scale_bias formula clarified with corrected_SI = R*raw + b - M-7: DOAResult::elevation_deg documents 2D-array always-zero behaviour - M-8: std::hash<StreamIndex> specialisation added - M-9: ISyncManager::isSynced() behaviour documented for all SyncModes Low: - L-1: SensorTimestamp gains >, <=, >= operators and deltaNs() - L-5: ring_buffer_depth valid range [2,32] documented - L-6: DepthMetadata gains valid flag - L-8: enumerateDevices() snapshot-copies enumerator map before calling (deadlock fix) - L-9: audio_hal.hpp lifecycle comment startCapture -> startStreaming All 20 headers pass g++ -std=c++17 -Wall -Wextra -Wpedantic -fsyntax-only Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/7630daeb-0200-4ca2-b765-2680eaeb25af Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
- lidar_2d_types: clarify mask 32-bit limitation in comment - sync_manager: document SoftwareTrigger temporal behaviour of isSynced() - health_status: rephrase thread-safety comment (writer needs mutex, caller copy is safe) - calibration_types: add concrete scale_bias row-0 example in comment - camera_types: add MIN_RING_BUFFER_DEPTH constexpr - hal_factory: document O(N) snapshot overhead in enumerateDevices comment - lidar_3d_types: explain why valid_count is retained alongside points.size() Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/7630daeb-0200-4ca2-b765-2680eaeb25af Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/bacd96ca-f8a9-4129-8fe8-0723f7f1a9cc Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/f509ddc3-cdf8-4905-a48d-0f9562f1e26a Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
…gnore Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/f509ddc3-cdf8-4905-a48d-0f9562f1e26a Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
…missions; expand tests to 26 groups Agent-Logs-Url: https://github.com/YYCB/sensor_repository/sessions/c97005c9-a948-47e6-806b-e2fbe3a02a6e Co-authored-by: YYCB <23326150+YYCB@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CMakeLists.txt、cmake/CompilerWarnings.cmakeD_hal_design/CMakeLists.txt(INTERFACE 库 + 安装规则)D_hal_design/tests/(test_compile.cpp、test_types.cpp).gitignore、.github/workflows/ci.yml、scripts/build.sh代码审查 & 修复:
sensor_timestamp.hpp—operator<只比较ns,operator==比较ns+domain,违反严格弱序;fix: operator< 增加domain作为 tie-breakerhal_factory.hppREGISTER_HAL 宏 — 静态变量名_hal_reg_##Impl不含 Factory 信息;fix: 改为_hal_reg_##Factory##_##Impl##_##__LINE__.github/workflows/ci.yml缺少显式permissions: contents: read;已补充测试扩展(13 组新增,共 26 组):
test_sensor_timestamp_ordered_set:验证 Bug Add sensor integration knowledge base #1 修复(std::set 存储跨域时间戳)test_hal_factory_register_create:注册/创建/重注册/未知 key 返回 nullptrtest_hal_factory_enumerate:enumerator 注册与 enumerateDevices()test_calibration_defaults:CameraIntrinsics / CameraExtrinsics / IMUCalibration / DepthMetadata 默认值test_camera_config_defaults:CameraConfig 全字段默认值test_sync_config_defaults:SyncConfig 全字段默认值test_image_frame_defaults:ImageFrame / FrameSet 默认值test_lidar2d_defaults:Lidar2DConfig / LaserScanData 默认值test_imu_defaults:ImuConfig / ImuData 默认值(含四元数 identity)test_error_info_defaults:ErrorInfo 默认值test_device_info_defaults:DeviceInfo / ConnectionType 默认值test_pointcloud_defaults:PointXYZI / PointCloudXYZI 默认值test_audio_config_defaults:AudioConfig 默认值Original prompt