visio-schema 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- visio_schema-0.3.0/MANIFEST.in +22 -0
- visio_schema-0.3.0/PKG-INFO +103 -0
- visio_schema-0.3.0/README.md +60 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ArrowPrimitive.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ArrowPrimitive.pb.h +76 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CameraCalibration.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CameraCalibration.pb.h +129 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CircleAnnotation.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CircleAnnotation.pb.h +87 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Color.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Color.pb.h +62 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedImage.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedImage.pb.h +66 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedPointCloud.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedPointCloud.pb.h +73 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedVideo.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CompressedVideo.pb.h +92 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CubePrimitive.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CubePrimitive.pb.h +67 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CylinderPrimitive.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/CylinderPrimitive.pb.h +75 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransform.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransform.pb.h +81 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransforms.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/FrameTransforms.pb.h +51 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/GeoJSON.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/GeoJSON.pb.h +49 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Grid.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Grid.pb.h +133 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ImageAnnotations.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ImageAnnotations.pb.h +76 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointState.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointState.pb.h +69 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointStates.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/JointStates.pb.h +58 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/KeyValuePair.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/KeyValuePair.pb.h +53 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LaserScan.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LaserScan.pb.h +79 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LinePrimitive.pb.c +22 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LinePrimitive.pb.h +107 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFix.pb.c +22 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFix.pb.h +122 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFixes.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/LocationFixes.pb.h +51 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Log.pb.c +14 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Log.pb.h +97 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ModelPrimitive.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/ModelPrimitive.pb.h +82 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Odometry.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Odometry.pb.h +94 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PackedElementField.pb.c +14 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PackedElementField.pb.h +88 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point2.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point2.pb.h +54 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3.pb.h +58 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3InFrame.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Point3InFrame.pb.h +63 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointCloud.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointCloud.pb.h +77 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointsAnnotation.pb.c +22 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PointsAnnotation.pb.h +114 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Pose.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Pose.pb.h +60 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PoseInFrame.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PoseInFrame.pb.h +63 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PosesInFrame.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/PosesInFrame.pb.h +62 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Quaternion.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Quaternion.pb.h +62 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawAudio.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawAudio.pb.h +68 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawImage.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/RawImage.pb.h +137 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntity.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntity.pb.h +125 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntityDeletion.pb.c +14 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneEntityDeletion.pb.h +77 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneUpdate.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SceneUpdate.pb.h +57 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SpherePrimitive.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/SpherePrimitive.pb.h +67 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextAnnotation.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextAnnotation.pb.h +87 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextPrimitive.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TextPrimitive.pb.h +75 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TriangleListPrimitive.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/TriangleListPrimitive.pb.h +76 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector2.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector2.pb.h +54 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector3.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/Vector3.pb.h +58 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/VoxelGrid.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/foxglove/VoxelGrid.pb.h +105 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/duration.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/duration.pb.h +118 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/timestamp.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/google/protobuf/timestamp.pb.h +149 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/encoder.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/encoder.pb.h +63 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/imu.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/calibration/imu.pb.h +115 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command.pb.c +70 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command.pb.h +562 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command_result.pb.c +39 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/control/command_result.pb.h +324 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/geometry/twist.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/geometry/twist.pb.h +71 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/input/quest_controller_state.pb.c +15 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/input/quest_controller_state.pb.h +109 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/ros/geometry_msgs/quaternion.pb.c +20 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/ros/geometry_msgs/quaternion.pb.h +69 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/audio_compressed.pb.c +14 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/audio_compressed.pb.h +99 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/button.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/button.pb.h +63 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/encoder_raw.pb.c +17 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/encoder_raw.pb.h +118 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/imu_raw.pb.c +23 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/imu_raw.pb.h +121 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/system_health.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/sensor/system_health.pb.h +98 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/device_info/device_info.pb.c +15 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/device_info/device_info.pb.h +121 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/exposure_sync/exposure_sync.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/exposure_sync/exposure_sync.pb.h +60 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/heartbeat/heartbeat.pb.c +12 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/heartbeat/heartbeat.pb.h +67 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/ota/ota.pb.c +35 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/service/ota/ota.pb.h +319 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/wire/header.pb.c +14 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/v1/wire/header.pb.h +78 -0
- visio_schema-0.3.0/_native_build/generated_nanopb/visio_schema/wire/schema_blobs.gen.hpp +143 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/mcap/writer.hpp +83 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/mcap/writer_endpoint.hpp +93 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/routing/channel.hpp +52 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/routing/registry.hpp +115 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/endpoint.hpp +65 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/framed_fd.hpp +95 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/framed_outbox.hpp +96 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/framing.hpp +25 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/link.hpp +67 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/message_inbox.hpp +114 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/queue.hpp +47 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/serial.hpp +62 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/serial_watchdog.hpp +108 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/tcp.hpp +82 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/wake_fd.hpp +79 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/transport/write_policy.hpp +100 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/wire/codec/cobs.hpp +23 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/wire/codec/crc16.hpp +19 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/wire/codec/frame.hpp +34 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/wire/control.hpp +42 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/wire/message.hpp +37 -0
- visio_schema-0.3.0/_native_build/include/visio_schema/wire/time.hpp +25 -0
- visio_schema-0.3.0/_native_build/nanopb/pb.h +922 -0
- visio_schema-0.3.0/_native_build/nanopb/pb_common.c +388 -0
- visio_schema-0.3.0/_native_build/nanopb/pb_common.h +49 -0
- visio_schema-0.3.0/_native_build/nanopb/pb_decode.c +1728 -0
- visio_schema-0.3.0/_native_build/nanopb/pb_decode.h +204 -0
- visio_schema-0.3.0/_native_build/nanopb/pb_encode.c +1001 -0
- visio_schema-0.3.0/_native_build/nanopb/pb_encode.h +195 -0
- visio_schema-0.3.0/_native_build/src/codec/cobs.cc +68 -0
- visio_schema-0.3.0/_native_build/src/codec/crc16.cc +36 -0
- visio_schema-0.3.0/_native_build/src/codec/frame.cc +94 -0
- visio_schema-0.3.0/_native_build/src/mcap/writer.cc +195 -0
- visio_schema-0.3.0/_native_build/src/mcap/writer_endpoint.cc +134 -0
- visio_schema-0.3.0/_native_build/src/routing/registry.cc +275 -0
- visio_schema-0.3.0/_native_build/src/transport/framed_fd.cc +188 -0
- visio_schema-0.3.0/_native_build/src/transport/framed_outbox.cc +121 -0
- visio_schema-0.3.0/_native_build/src/transport/framing.cc +60 -0
- visio_schema-0.3.0/_native_build/src/transport/link.cc +171 -0
- visio_schema-0.3.0/_native_build/src/transport/serial.cc +64 -0
- visio_schema-0.3.0/_native_build/src/transport/tcp.cc +81 -0
- visio_schema-0.3.0/_vendor_native.py +60 -0
- visio_schema-0.3.0/pyproject.toml +128 -0
- visio_schema-0.3.0/setup.cfg +4 -0
- visio_schema-0.3.0/setup.py +100 -0
- visio_schema-0.3.0/src/creader.cc +158 -0
- visio_schema-0.3.0/tests/test_calibration.py +90 -0
- visio_schema-0.3.0/tests/test_channel_registry.py +169 -0
- visio_schema-0.3.0/tests/test_cobs.py +47 -0
- visio_schema-0.3.0/tests/test_crc16.py +32 -0
- visio_schema-0.3.0/tests/test_example_mcap_roundtrip.py +93 -0
- visio_schema-0.3.0/tests/test_extract_frames_parity.py +83 -0
- visio_schema-0.3.0/tests/test_facade_helpers.py +75 -0
- visio_schema-0.3.0/tests/test_frame_roundtrip.py +97 -0
- visio_schema-0.3.0/tests/test_gen_schema_blobs.py +75 -0
- visio_schema-0.3.0/tests/test_golden_vectors.py +125 -0
- visio_schema-0.3.0/tests/test_io_disconnect.py +37 -0
- visio_schema-0.3.0/tests/test_launcher.py +802 -0
- visio_schema-0.3.0/tests/test_mcap_reader_endpoint.py +158 -0
- visio_schema-0.3.0/tests/test_native_send.py +60 -0
- visio_schema-0.3.0/tests/test_native_starvation.py +76 -0
- visio_schema-0.3.0/tests/test_public_api.py +164 -0
- visio_schema-0.3.0/tests/test_recording.py +100 -0
- visio_schema-0.3.0/tests/test_schema.py +50 -0
- visio_schema-0.3.0/tests/test_serial_path.py +57 -0
- visio_schema-0.3.0/tests/test_visio_display.py +329 -0
- visio_schema-0.3.0/tests/test_wire_reader.py +39 -0
- visio_schema-0.3.0/visio_schema/__init__.py +52 -0
- visio_schema-0.3.0/visio_schema/display/__init__.py +876 -0
- visio_schema-0.3.0/visio_schema/display/__main__.py +6 -0
- visio_schema-0.3.0/visio_schema/display/discovery.py +239 -0
- visio_schema-0.3.0/visio_schema/display/ego_layout.json +114 -0
- visio_schema-0.3.0/visio_schema/display/serve.py +380 -0
- visio_schema-0.3.0/visio_schema/display/static/app.js +178 -0
- visio_schema-0.3.0/visio_schema/display/static/index.html +158 -0
- visio_schema-0.3.0/visio_schema/foxglove/ArrowPrimitive_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/ArrowPrimitive_pb2.pyi +24 -0
- visio_schema-0.3.0/visio_schema/foxglove/CameraCalibration_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/CameraCalibration_pb2.pyi +32 -0
- visio_schema-0.3.0/visio_schema/foxglove/CircleAnnotation_pb2.py +40 -0
- visio_schema-0.3.0/visio_schema/foxglove/CircleAnnotation_pb2.pyi +31 -0
- visio_schema-0.3.0/visio_schema/foxglove/Color_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Color_pb2.pyi +17 -0
- visio_schema-0.3.0/visio_schema/foxglove/CompressedImage_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/CompressedImage_pb2.pyi +21 -0
- visio_schema-0.3.0/visio_schema/foxglove/CompressedPointCloud_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/CompressedPointCloud_pb2.pyi +24 -0
- visio_schema-0.3.0/visio_schema/foxglove/CompressedVideo_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/CompressedVideo_pb2.pyi +21 -0
- visio_schema-0.3.0/visio_schema/foxglove/CubePrimitive_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/CubePrimitive_pb2.pyi +19 -0
- visio_schema-0.3.0/visio_schema/foxglove/CylinderPrimitive_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/CylinderPrimitive_pb2.pyi +23 -0
- visio_schema-0.3.0/visio_schema/foxglove/FrameTransform_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/FrameTransform_pb2.pyi +25 -0
- visio_schema-0.3.0/visio_schema/foxglove/FrameTransforms_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/FrameTransforms_pb2.pyi +14 -0
- visio_schema-0.3.0/visio_schema/foxglove/GeoJSON_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/GeoJSON_pb2.pyi +11 -0
- visio_schema-0.3.0/visio_schema/foxglove/Grid_pb2.py +40 -0
- visio_schema-0.3.0/visio_schema/foxglove/Grid_pb2.pyi +35 -0
- visio_schema-0.3.0/visio_schema/foxglove/ImageAnnotations_pb2.py +41 -0
- visio_schema-0.3.0/visio_schema/foxglove/ImageAnnotations_pb2.pyi +28 -0
- visio_schema-0.3.0/visio_schema/foxglove/JointState_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/JointState_pb2.pyi +19 -0
- visio_schema-0.3.0/visio_schema/foxglove/JointStates_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/JointStates_pb2.pyi +19 -0
- visio_schema-0.3.0/visio_schema/foxglove/KeyValuePair_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/KeyValuePair_pb2.pyi +13 -0
- visio_schema-0.3.0/visio_schema/foxglove/LaserScan_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/LaserScan_pb2.pyi +29 -0
- visio_schema-0.3.0/visio_schema/foxglove/LinePrimitive_pb2.py +41 -0
- visio_schema-0.3.0/visio_schema/foxglove/LinePrimitive_pb2.pyi +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/LocationFix_pb2.py +42 -0
- visio_schema-0.3.0/visio_schema/foxglove/LocationFix_pb2.pyi +50 -0
- visio_schema-0.3.0/visio_schema/foxglove/LocationFixes_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/LocationFixes_pb2.pyi +14 -0
- visio_schema-0.3.0/visio_schema/foxglove/Log_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/Log_pb2.pyi +40 -0
- visio_schema-0.3.0/visio_schema/foxglove/ModelPrimitive_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/ModelPrimitive_pb2.pyi +27 -0
- visio_schema-0.3.0/visio_schema/foxglove/Odometry_pb2.py +40 -0
- visio_schema-0.3.0/visio_schema/foxglove/Odometry_pb2.pyi +35 -0
- visio_schema-0.3.0/visio_schema/foxglove/PackedElementField_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/PackedElementField_pb2.pyi +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Point2_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Point2_pb2.pyi +13 -0
- visio_schema-0.3.0/visio_schema/foxglove/Point3InFrame_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/Point3InFrame_pb2.pyi +20 -0
- visio_schema-0.3.0/visio_schema/foxglove/Point3_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Point3_pb2.pyi +15 -0
- visio_schema-0.3.0/visio_schema/foxglove/PointCloud_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/PointCloud_pb2.pyi +28 -0
- visio_schema-0.3.0/visio_schema/foxglove/PointsAnnotation_pb2.py +42 -0
- visio_schema-0.3.0/visio_schema/foxglove/PointsAnnotation_pb2.pyi +46 -0
- visio_schema-0.3.0/visio_schema/foxglove/PoseInFrame_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/PoseInFrame_pb2.pyi +20 -0
- visio_schema-0.3.0/visio_schema/foxglove/Pose_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/Pose_pb2.pyi +16 -0
- visio_schema-0.3.0/visio_schema/foxglove/PosesInFrame_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/PosesInFrame_pb2.pyi +21 -0
- visio_schema-0.3.0/visio_schema/foxglove/Quaternion_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Quaternion_pb2.pyi +17 -0
- visio_schema-0.3.0/visio_schema/foxglove/RawAudio_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/RawAudio_pb2.pyi +23 -0
- visio_schema-0.3.0/visio_schema/foxglove/RawImage_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/foxglove/RawImage_pb2.pyi +27 -0
- visio_schema-0.3.0/visio_schema/foxglove/SceneEntityDeletion_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/SceneEntityDeletion_pb2.pyi +26 -0
- visio_schema-0.3.0/visio_schema/foxglove/SceneEntity_pb2.py +47 -0
- visio_schema-0.3.0/visio_schema/foxglove/SceneEntity_pb2.pyi +52 -0
- visio_schema-0.3.0/visio_schema/foxglove/SceneUpdate_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/SceneUpdate_pb2.pyi +17 -0
- visio_schema-0.3.0/visio_schema/foxglove/SpherePrimitive_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/SpherePrimitive_pb2.pyi +19 -0
- visio_schema-0.3.0/visio_schema/foxglove/TextAnnotation_pb2.py +40 -0
- visio_schema-0.3.0/visio_schema/foxglove/TextAnnotation_pb2.pyi +31 -0
- visio_schema-0.3.0/visio_schema/foxglove/TextPrimitive_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/foxglove/TextPrimitive_pb2.pyi +24 -0
- visio_schema-0.3.0/visio_schema/foxglove/TriangleListPrimitive_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/foxglove/TriangleListPrimitive_pb2.pyi +24 -0
- visio_schema-0.3.0/visio_schema/foxglove/Vector2_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Vector2_pb2.pyi +13 -0
- visio_schema-0.3.0/visio_schema/foxglove/Vector3_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/foxglove/Vector3_pb2.pyi +15 -0
- visio_schema-0.3.0/visio_schema/foxglove/VoxelGrid_pb2.py +40 -0
- visio_schema-0.3.0/visio_schema/foxglove/VoxelGrid_pb2.pyi +39 -0
- visio_schema-0.3.0/visio_schema/mcap/__init__.py +15 -0
- visio_schema-0.3.0/visio_schema/mcap/reader.py +84 -0
- visio_schema-0.3.0/visio_schema/mcap/reader_endpoint.py +111 -0
- visio_schema-0.3.0/visio_schema/mcap/writer.py +223 -0
- visio_schema-0.3.0/visio_schema/mcap/writer_endpoint.py +96 -0
- visio_schema-0.3.0/visio_schema/py.typed +0 -0
- visio_schema-0.3.0/visio_schema/routing/__init__.py +23 -0
- visio_schema-0.3.0/visio_schema/routing/channel.py +66 -0
- visio_schema-0.3.0/visio_schema/routing/registry.py +283 -0
- visio_schema-0.3.0/visio_schema/stream.py +72 -0
- visio_schema-0.3.0/visio_schema/transport/__init__.py +88 -0
- visio_schema-0.3.0/visio_schema/transport/endpoint.py +87 -0
- visio_schema-0.3.0/visio_schema/transport/framed_fd.py +242 -0
- visio_schema-0.3.0/visio_schema/transport/framing.py +62 -0
- visio_schema-0.3.0/visio_schema/transport/link.py +103 -0
- visio_schema-0.3.0/visio_schema/transport/native_serial.py +101 -0
- visio_schema-0.3.0/visio_schema/transport/queue.py +50 -0
- visio_schema-0.3.0/visio_schema/transport/serial.py +40 -0
- visio_schema-0.3.0/visio_schema/v1/calibration/encoder_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/v1/calibration/encoder_pb2.pyi +21 -0
- visio_schema-0.3.0/visio_schema/v1/calibration/imu_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/v1/calibration/imu_pb2.pyi +51 -0
- visio_schema-0.3.0/visio_schema/v1/control/command_pb2.py +74 -0
- visio_schema-0.3.0/visio_schema/v1/control/command_pb2.pyi +211 -0
- visio_schema-0.3.0/visio_schema/v1/control/command_result_pb2.py +50 -0
- visio_schema-0.3.0/visio_schema/v1/control/command_result_pb2.pyi +154 -0
- visio_schema-0.3.0/visio_schema/v1/geometry/twist_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/v1/geometry/twist_pb2.pyi +22 -0
- visio_schema-0.3.0/visio_schema/v1/input/quest_controller_state_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/v1/input/quest_controller_state_pb2.pyi +39 -0
- visio_schema-0.3.0/visio_schema/v1/ros/geometry_msgs/quaternion_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/v1/ros/geometry_msgs/quaternion_pb2.pyi +23 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/audio_compressed_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/audio_compressed_pb2.pyi +36 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/button_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/button_pb2.pyi +19 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/encoder_raw_pb2.py +41 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/encoder_raw_pb2.pyi +45 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/imu_raw_pb2.py +40 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/imu_raw_pb2.pyi +33 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/system_health_pb2.py +37 -0
- visio_schema-0.3.0/visio_schema/v1/sensor/system_health_pb2.pyi +31 -0
- visio_schema-0.3.0/visio_schema/v1/service/device_info/device_info_pb2.py +38 -0
- visio_schema-0.3.0/visio_schema/v1/service/device_info/device_info_pb2.pyi +39 -0
- visio_schema-0.3.0/visio_schema/v1/service/exposure_sync/exposure_sync_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/v1/service/exposure_sync/exposure_sync_pb2.pyi +15 -0
- visio_schema-0.3.0/visio_schema/v1/service/heartbeat/heartbeat_pb2.py +36 -0
- visio_schema-0.3.0/visio_schema/v1/service/heartbeat/heartbeat_pb2.pyi +17 -0
- visio_schema-0.3.0/visio_schema/v1/service/ota/ota_pb2.py +52 -0
- visio_schema-0.3.0/visio_schema/v1/service/ota/ota_pb2.pyi +122 -0
- visio_schema-0.3.0/visio_schema/v1/wire/header_pb2.py +39 -0
- visio_schema-0.3.0/visio_schema/v1/wire/header_pb2.pyi +37 -0
- visio_schema-0.3.0/visio_schema/wire/codec/__init__.py +19 -0
- visio_schema-0.3.0/visio_schema/wire/codec/cobs.py +23 -0
- visio_schema-0.3.0/visio_schema/wire/codec/crc16.py +24 -0
- visio_schema-0.3.0/visio_schema/wire/codec/frame.py +69 -0
- visio_schema-0.3.0/visio_schema/wire/control.py +68 -0
- visio_schema-0.3.0/visio_schema/wire/message.py +82 -0
- visio_schema-0.3.0/visio_schema/wire/schema.py +133 -0
- visio_schema-0.3.0/visio_schema.egg-info/PKG-INFO +103 -0
- visio_schema-0.3.0/visio_schema.egg-info/SOURCES.txt +364 -0
- visio_schema-0.3.0/visio_schema.egg-info/dependency_links.txt +1 -0
- visio_schema-0.3.0/visio_schema.egg-info/entry_points.txt +2 -0
- visio_schema-0.3.0/visio_schema.egg-info/requires.txt +18 -0
- visio_schema-0.3.0/visio_schema.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Files shipped beyond the package .py sources.
|
|
2
|
+
#
|
|
3
|
+
# Generated *_pb2.py are ordinary package modules (auto-included). These lines
|
|
4
|
+
# add the rest: type stubs, the PEP 561 marker, the display starter layout, and
|
|
5
|
+
# — for the sdist only — the native-extension C/C++ sources so an end user can
|
|
6
|
+
# optionally compile the native reader from source (it degrades to pure-Python
|
|
7
|
+
# if they don't).
|
|
8
|
+
|
|
9
|
+
include README.md
|
|
10
|
+
global-include *.pyi
|
|
11
|
+
include visio_schema/py.typed
|
|
12
|
+
include visio_schema/display/ego_layout.json
|
|
13
|
+
recursive-include visio_schema/display/static *
|
|
14
|
+
|
|
15
|
+
# Native `_creader` extension sources (sdist; not needed in a built wheel).
|
|
16
|
+
include setup.py
|
|
17
|
+
include _vendor_native.py
|
|
18
|
+
recursive-include src *.cc *.hpp
|
|
19
|
+
recursive-include _native_build *.c *.h *.cc *.hpp
|
|
20
|
+
|
|
21
|
+
prune **/__pycache__
|
|
22
|
+
global-exclude *.pyc
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: visio-schema
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Visio wire contract — generated protobuf bindings + the framing codec
|
|
5
|
+
Author: General Intelligence Labs
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/General-Intelligence-Labs/visio-schema
|
|
8
|
+
Project-URL: Repository, https://github.com/General-Intelligence-Labs/visio-schema
|
|
9
|
+
Project-URL: Issues, https://github.com/General-Intelligence-Labs/visio-schema/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/General-Intelligence-Labs/visio-schema/blob/main/CHANGELOG.md
|
|
11
|
+
Keywords: protobuf,robotics,sensors,mcap,foxglove,wire-protocol,visio
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Operating System :: MacOS
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering
|
|
24
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
25
|
+
Classifier: Typing :: Typed
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
Requires-Dist: protobuf>=5.26
|
|
29
|
+
Requires-Dist: cobs>=1.2
|
|
30
|
+
Requires-Dist: mcap>=1.1
|
|
31
|
+
Requires-Dist: pyserial>=3.5
|
|
32
|
+
Requires-Dist: foxglove-sdk>=0.10
|
|
33
|
+
Requires-Dist: rerun-sdk>=0.24
|
|
34
|
+
Requires-Dist: av>=11
|
|
35
|
+
Requires-Dist: aiohttp>=3.9
|
|
36
|
+
Requires-Dist: zeroconf>=0.130
|
|
37
|
+
Provides-Extra: dev
|
|
38
|
+
Requires-Dist: pytest>=8.0; extra == "dev"
|
|
39
|
+
Requires-Dist: mypy>=1.10; extra == "dev"
|
|
40
|
+
Requires-Dist: ruff>=0.5; extra == "dev"
|
|
41
|
+
Requires-Dist: build>=1.0; extra == "dev"
|
|
42
|
+
Requires-Dist: tomli>=2.0; python_version < "3.11" and extra == "dev"
|
|
43
|
+
|
|
44
|
+
# visio-schema
|
|
45
|
+
|
|
46
|
+
The **wire contract** for the Visio sensor ecosystem: the generated protobuf
|
|
47
|
+
message bindings plus a small, hand-written framing codec, packaged so you can
|
|
48
|
+
read a live device or a recording with one `pip install`. It is the single
|
|
49
|
+
source of truth for *what Visio data looks like on the wire*; the transport,
|
|
50
|
+
bus, and recording stack live in a separate layer.
|
|
51
|
+
|
|
52
|
+
Imported as `visio_schema`. Full docs, the wire spec, and C++ sources are in the
|
|
53
|
+
[GitHub repository](https://github.com/General-Intelligence-Labs/visio-schema).
|
|
54
|
+
|
|
55
|
+
## Install
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pip install visio-schema
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
One install includes MCAP read/write (`read_mcap` / `McapWriter`) and the
|
|
62
|
+
`visio-display` live viewer — no extras to choose. Released wheels (Linux
|
|
63
|
+
`manylinux_2_28` x86_64, macOS `universal2`, CPython 3.10–3.13) bundle an optional
|
|
64
|
+
native reader for higher throughput. If no wheel matches your platform, the sdist
|
|
65
|
+
installs a pure-Python reader with identical behavior — only throughput differs.
|
|
66
|
+
|
|
67
|
+
## Quickstart
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
from visio_schema import read_serial, read_mcap, message_class
|
|
71
|
+
|
|
72
|
+
# live device -> (Message, Channel) rows
|
|
73
|
+
for msg, ch in read_serial("/dev/ttyACM0"):
|
|
74
|
+
cls = message_class(ch.schema_name) # resolve the payload type
|
|
75
|
+
payload = cls.FromString(msg.payload)
|
|
76
|
+
print(ch.topic, payload)
|
|
77
|
+
|
|
78
|
+
# replay a recording
|
|
79
|
+
for msg, ch in read_mcap("run.mcap"):
|
|
80
|
+
...
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Send commands and read replies with `serial_endpoint(...)` + `command_message`.
|
|
84
|
+
See [usage.md](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/docs/usage.md)
|
|
85
|
+
for the three end-to-end recipes.
|
|
86
|
+
|
|
87
|
+
## `visio-display` viewer
|
|
88
|
+
|
|
89
|
+
The package installs a `visio-display` console command that reads a live device
|
|
90
|
+
(serial or TCP) or replays an MCAP, and fans it out to a live
|
|
91
|
+
[Foxglove](https://foxglove.dev) WebSocket, a live [Rerun](https://rerun.io)
|
|
92
|
+
viewer, and/or an MCAP recording:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
visio-display --serial /dev/ttyACM0 --rerun
|
|
96
|
+
visio-display --tcp my-device.local --foxglove
|
|
97
|
+
visio-display --mcap-in run.mcap --rerun
|
|
98
|
+
# also runnable as: python -m visio_schema.display
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## License
|
|
102
|
+
|
|
103
|
+
MIT — see [LICENSE](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/LICENSE).
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# visio-schema
|
|
2
|
+
|
|
3
|
+
The **wire contract** for the Visio sensor ecosystem: the generated protobuf
|
|
4
|
+
message bindings plus a small, hand-written framing codec, packaged so you can
|
|
5
|
+
read a live device or a recording with one `pip install`. It is the single
|
|
6
|
+
source of truth for *what Visio data looks like on the wire*; the transport,
|
|
7
|
+
bus, and recording stack live in a separate layer.
|
|
8
|
+
|
|
9
|
+
Imported as `visio_schema`. Full docs, the wire spec, and C++ sources are in the
|
|
10
|
+
[GitHub repository](https://github.com/General-Intelligence-Labs/visio-schema).
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pip install visio-schema
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
One install includes MCAP read/write (`read_mcap` / `McapWriter`) and the
|
|
19
|
+
`visio-display` live viewer — no extras to choose. Released wheels (Linux
|
|
20
|
+
`manylinux_2_28` x86_64, macOS `universal2`, CPython 3.10–3.13) bundle an optional
|
|
21
|
+
native reader for higher throughput. If no wheel matches your platform, the sdist
|
|
22
|
+
installs a pure-Python reader with identical behavior — only throughput differs.
|
|
23
|
+
|
|
24
|
+
## Quickstart
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
from visio_schema import read_serial, read_mcap, message_class
|
|
28
|
+
|
|
29
|
+
# live device -> (Message, Channel) rows
|
|
30
|
+
for msg, ch in read_serial("/dev/ttyACM0"):
|
|
31
|
+
cls = message_class(ch.schema_name) # resolve the payload type
|
|
32
|
+
payload = cls.FromString(msg.payload)
|
|
33
|
+
print(ch.topic, payload)
|
|
34
|
+
|
|
35
|
+
# replay a recording
|
|
36
|
+
for msg, ch in read_mcap("run.mcap"):
|
|
37
|
+
...
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Send commands and read replies with `serial_endpoint(...)` + `command_message`.
|
|
41
|
+
See [usage.md](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/docs/usage.md)
|
|
42
|
+
for the three end-to-end recipes.
|
|
43
|
+
|
|
44
|
+
## `visio-display` viewer
|
|
45
|
+
|
|
46
|
+
The package installs a `visio-display` console command that reads a live device
|
|
47
|
+
(serial or TCP) or replays an MCAP, and fans it out to a live
|
|
48
|
+
[Foxglove](https://foxglove.dev) WebSocket, a live [Rerun](https://rerun.io)
|
|
49
|
+
viewer, and/or an MCAP recording:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
visio-display --serial /dev/ttyACM0 --rerun
|
|
53
|
+
visio-display --tcp my-device.local --foxglove
|
|
54
|
+
visio-display --mcap-in run.mcap --rerun
|
|
55
|
+
# also runnable as: python -m visio_schema.display
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## License
|
|
59
|
+
|
|
60
|
+
MIT — see [LICENSE](https://github.com/General-Intelligence-Labs/visio-schema/blob/main/LICENSE).
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* Automatically generated nanopb constant definitions */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#include "foxglove/ArrowPrimitive.pb.h"
|
|
5
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
6
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
PB_BIND(foxglove_ArrowPrimitive, foxglove_ArrowPrimitive, AUTO)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#ifndef PB_CONVERT_DOUBLE_FLOAT
|
|
14
|
+
/* On some platforms (such as AVR), double is really float.
|
|
15
|
+
* To be able to encode/decode double on these platforms, you need.
|
|
16
|
+
* to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
|
|
17
|
+
*/
|
|
18
|
+
PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
|
|
19
|
+
#endif
|
|
20
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* Automatically generated nanopb header */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#ifndef PB_FOXGLOVE_FOXGLOVE_ARROWPRIMITIVE_PB_H_INCLUDED
|
|
5
|
+
#define PB_FOXGLOVE_FOXGLOVE_ARROWPRIMITIVE_PB_H_INCLUDED
|
|
6
|
+
#include <pb.h>
|
|
7
|
+
#include "foxglove/Color.pb.h"
|
|
8
|
+
#include "foxglove/Pose.pb.h"
|
|
9
|
+
|
|
10
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
11
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
/* Struct definitions */
|
|
15
|
+
/* A primitive representing an arrow */
|
|
16
|
+
typedef struct _foxglove_ArrowPrimitive {
|
|
17
|
+
/* Position of the arrow's tail and orientation of the arrow. Identity orientation means the arrow points in the +x direction. */
|
|
18
|
+
bool has_pose;
|
|
19
|
+
foxglove_Pose pose;
|
|
20
|
+
/* Length of the arrow shaft */
|
|
21
|
+
double shaft_length;
|
|
22
|
+
/* Diameter of the arrow shaft */
|
|
23
|
+
double shaft_diameter;
|
|
24
|
+
/* Length of the arrow head */
|
|
25
|
+
double head_length;
|
|
26
|
+
/* Diameter of the arrow head */
|
|
27
|
+
double head_diameter;
|
|
28
|
+
/* Color of the arrow */
|
|
29
|
+
bool has_color;
|
|
30
|
+
foxglove_Color color;
|
|
31
|
+
} foxglove_ArrowPrimitive;
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
#ifdef __cplusplus
|
|
35
|
+
extern "C" {
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
/* Initializer values for message structs */
|
|
39
|
+
#define foxglove_ArrowPrimitive_init_default {false, foxglove_Pose_init_default, 0, 0, 0, 0, false, foxglove_Color_init_default}
|
|
40
|
+
#define foxglove_ArrowPrimitive_init_zero {false, foxglove_Pose_init_zero, 0, 0, 0, 0, false, foxglove_Color_init_zero}
|
|
41
|
+
|
|
42
|
+
/* Field tags (for use in manual encoding/decoding) */
|
|
43
|
+
#define foxglove_ArrowPrimitive_pose_tag 1
|
|
44
|
+
#define foxglove_ArrowPrimitive_shaft_length_tag 2
|
|
45
|
+
#define foxglove_ArrowPrimitive_shaft_diameter_tag 3
|
|
46
|
+
#define foxglove_ArrowPrimitive_head_length_tag 4
|
|
47
|
+
#define foxglove_ArrowPrimitive_head_diameter_tag 5
|
|
48
|
+
#define foxglove_ArrowPrimitive_color_tag 6
|
|
49
|
+
|
|
50
|
+
/* Struct field encoding specification for nanopb */
|
|
51
|
+
#define foxglove_ArrowPrimitive_FIELDLIST(X, a) \
|
|
52
|
+
X(a, STATIC, OPTIONAL, MESSAGE, pose, 1) \
|
|
53
|
+
X(a, STATIC, SINGULAR, DOUBLE, shaft_length, 2) \
|
|
54
|
+
X(a, STATIC, SINGULAR, DOUBLE, shaft_diameter, 3) \
|
|
55
|
+
X(a, STATIC, SINGULAR, DOUBLE, head_length, 4) \
|
|
56
|
+
X(a, STATIC, SINGULAR, DOUBLE, head_diameter, 5) \
|
|
57
|
+
X(a, STATIC, OPTIONAL, MESSAGE, color, 6)
|
|
58
|
+
#define foxglove_ArrowPrimitive_CALLBACK NULL
|
|
59
|
+
#define foxglove_ArrowPrimitive_DEFAULT NULL
|
|
60
|
+
#define foxglove_ArrowPrimitive_pose_MSGTYPE foxglove_Pose
|
|
61
|
+
#define foxglove_ArrowPrimitive_color_MSGTYPE foxglove_Color
|
|
62
|
+
|
|
63
|
+
extern const pb_msgdesc_t foxglove_ArrowPrimitive_msg;
|
|
64
|
+
|
|
65
|
+
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
|
66
|
+
#define foxglove_ArrowPrimitive_fields &foxglove_ArrowPrimitive_msg
|
|
67
|
+
|
|
68
|
+
/* Maximum encoded size of messages (where known) */
|
|
69
|
+
#define FOXGLOVE_FOXGLOVE_ARROWPRIMITIVE_PB_H_MAX_SIZE foxglove_ArrowPrimitive_size
|
|
70
|
+
#define foxglove_ArrowPrimitive_size 143
|
|
71
|
+
|
|
72
|
+
#ifdef __cplusplus
|
|
73
|
+
} /* extern "C" */
|
|
74
|
+
#endif
|
|
75
|
+
|
|
76
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* Automatically generated nanopb constant definitions */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#include "foxglove/CameraCalibration.pb.h"
|
|
5
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
6
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
PB_BIND(foxglove_CameraCalibration, foxglove_CameraCalibration, 2)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#ifndef PB_CONVERT_DOUBLE_FLOAT
|
|
14
|
+
/* On some platforms (such as AVR), double is really float.
|
|
15
|
+
* To be able to encode/decode double on these platforms, you need.
|
|
16
|
+
* to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
|
|
17
|
+
*/
|
|
18
|
+
PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
|
|
19
|
+
#endif
|
|
20
|
+
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* Automatically generated nanopb header */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#ifndef PB_FOXGLOVE_FOXGLOVE_CAMERACALIBRATION_PB_H_INCLUDED
|
|
5
|
+
#define PB_FOXGLOVE_FOXGLOVE_CAMERACALIBRATION_PB_H_INCLUDED
|
|
6
|
+
#include <pb.h>
|
|
7
|
+
#include "google/protobuf/timestamp.pb.h"
|
|
8
|
+
|
|
9
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
10
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
11
|
+
#endif
|
|
12
|
+
|
|
13
|
+
/* Struct definitions */
|
|
14
|
+
/* Camera calibration parameters */
|
|
15
|
+
typedef struct _foxglove_CameraCalibration {
|
|
16
|
+
/* Timestamp of calibration data */
|
|
17
|
+
bool has_timestamp;
|
|
18
|
+
google_protobuf_Timestamp timestamp;
|
|
19
|
+
/* Image width */
|
|
20
|
+
uint32_t width;
|
|
21
|
+
/* Image height */
|
|
22
|
+
uint32_t height;
|
|
23
|
+
/* Name of distortion model
|
|
24
|
+
|
|
25
|
+
Supported parameters: `plumb_bob` (k1, k2, p1, p2, k3), `rational_polynomial` (k1, k2, p1, p2, k3, k4, k5, k6), and `kannala_brandt` (k1, k2, k3, k4), and `fisheye62` (k0, k1, k2, k3, p0, p1, crit_theta [optional]). `plumb_bob` and `rational_polynomial` models are based on the pinhole model [OpenCV's](https://docs.opencv.org/4.11.0/d9/d0c/group__calib3d.html) [pinhole camera model](https://en.wikipedia.org/wiki/Distortion_%28optics%29#Software_correction). The `kannala_brandt` model matches the [OpenvCV fisheye](https://docs.opencv.org/4.11.0/db/d58/group__calib3d__fisheye.html) model. The `fisheye62` model matches the [Project Aria's Fisheye62 Model](https://facebookresearch.github.io/projectaria_tools/docs/tech_insights/camera_intrinsic_models). */
|
|
26
|
+
char distortion_model[24];
|
|
27
|
+
/* Distortion parameters */
|
|
28
|
+
pb_size_t D_count;
|
|
29
|
+
double D[8];
|
|
30
|
+
/* Intrinsic camera matrix (3x3 row-major matrix)
|
|
31
|
+
|
|
32
|
+
A 3x3 row-major matrix for the raw (distorted) image.
|
|
33
|
+
|
|
34
|
+
Projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx, fy) and principal point (cx, cy).
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
[fx 0 cx]
|
|
38
|
+
K = [ 0 fy cy]
|
|
39
|
+
[ 0 0 1]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Uncalibrated cameras:** Following ROS conventions for [CameraInfo](https://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/CameraInfo.html), Foxglove also treats K[0] == 0.0 as indicating an uncalibrated camera, and calibration data will be ignored. */
|
|
43
|
+
pb_size_t K_count;
|
|
44
|
+
double K[9]; /* length 9 */
|
|
45
|
+
/* Rectification matrix (stereo cameras only, 3x3 row-major matrix)
|
|
46
|
+
|
|
47
|
+
A rotation matrix aligning the camera coordinate system to the ideal stereo image plane so that epipolar lines in both stereo images are parallel. */
|
|
48
|
+
pb_size_t R_count;
|
|
49
|
+
double R[9]; /* length 9 */
|
|
50
|
+
/* Projection/camera matrix (3x4 row-major matrix)
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
[fx' 0 cx' Tx]
|
|
54
|
+
P = [ 0 fy' cy' Ty]
|
|
55
|
+
[ 0 0 1 0]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
By convention, this matrix specifies the intrinsic (camera) matrix of the processed (rectified) image. That is, the left 3x3 portion is the normal camera intrinsic matrix for the rectified image.
|
|
59
|
+
|
|
60
|
+
It projects 3D points in the camera coordinate frame to 2D pixel coordinates using the focal lengths (fx', fy') and principal point (cx', cy') - these may differ from the values in K.
|
|
61
|
+
|
|
62
|
+
For monocular cameras, Tx = Ty = 0. Normally, monocular cameras will also have R = the identity and P[1:3,1:3] = K.
|
|
63
|
+
|
|
64
|
+
Foxglove currently does not support displaying stereo images, so Tx and Ty are ignored.
|
|
65
|
+
|
|
66
|
+
Given a 3D point [X Y Z]', the projection (x, y) of the point onto the rectified image is given by:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
[u v w]' = P * [X Y Z 1]'
|
|
70
|
+
x = u / w
|
|
71
|
+
y = v / w
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
This holds for both images of a stereo pair. */
|
|
75
|
+
pb_size_t P_count;
|
|
76
|
+
double P[12]; /* length 12 */
|
|
77
|
+
/* Frame of reference for the camera. The origin of the frame is the optical center of the camera. +x points to the right in the image, +y points down, and +z points into the plane of the image. */
|
|
78
|
+
char frame_id[16];
|
|
79
|
+
} foxglove_CameraCalibration;
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
#ifdef __cplusplus
|
|
83
|
+
extern "C" {
|
|
84
|
+
#endif
|
|
85
|
+
|
|
86
|
+
/* Initializer values for message structs */
|
|
87
|
+
#define foxglove_CameraCalibration_init_default {false, google_protobuf_Timestamp_init_default, 0, 0, "", 0, {0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, ""}
|
|
88
|
+
#define foxglove_CameraCalibration_init_zero {false, google_protobuf_Timestamp_init_zero, 0, 0, "", 0, {0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, ""}
|
|
89
|
+
|
|
90
|
+
/* Field tags (for use in manual encoding/decoding) */
|
|
91
|
+
#define foxglove_CameraCalibration_timestamp_tag 1
|
|
92
|
+
#define foxglove_CameraCalibration_width_tag 2
|
|
93
|
+
#define foxglove_CameraCalibration_height_tag 3
|
|
94
|
+
#define foxglove_CameraCalibration_distortion_model_tag 4
|
|
95
|
+
#define foxglove_CameraCalibration_D_tag 5
|
|
96
|
+
#define foxglove_CameraCalibration_K_tag 6
|
|
97
|
+
#define foxglove_CameraCalibration_R_tag 7
|
|
98
|
+
#define foxglove_CameraCalibration_P_tag 8
|
|
99
|
+
#define foxglove_CameraCalibration_frame_id_tag 9
|
|
100
|
+
|
|
101
|
+
/* Struct field encoding specification for nanopb */
|
|
102
|
+
#define foxglove_CameraCalibration_FIELDLIST(X, a) \
|
|
103
|
+
X(a, STATIC, OPTIONAL, MESSAGE, timestamp, 1) \
|
|
104
|
+
X(a, STATIC, SINGULAR, FIXED32, width, 2) \
|
|
105
|
+
X(a, STATIC, SINGULAR, FIXED32, height, 3) \
|
|
106
|
+
X(a, STATIC, SINGULAR, STRING, distortion_model, 4) \
|
|
107
|
+
X(a, STATIC, REPEATED, DOUBLE, D, 5) \
|
|
108
|
+
X(a, STATIC, REPEATED, DOUBLE, K, 6) \
|
|
109
|
+
X(a, STATIC, REPEATED, DOUBLE, R, 7) \
|
|
110
|
+
X(a, STATIC, REPEATED, DOUBLE, P, 8) \
|
|
111
|
+
X(a, STATIC, SINGULAR, STRING, frame_id, 9)
|
|
112
|
+
#define foxglove_CameraCalibration_CALLBACK NULL
|
|
113
|
+
#define foxglove_CameraCalibration_DEFAULT NULL
|
|
114
|
+
#define foxglove_CameraCalibration_timestamp_MSGTYPE google_protobuf_Timestamp
|
|
115
|
+
|
|
116
|
+
extern const pb_msgdesc_t foxglove_CameraCalibration_msg;
|
|
117
|
+
|
|
118
|
+
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
|
119
|
+
#define foxglove_CameraCalibration_fields &foxglove_CameraCalibration_msg
|
|
120
|
+
|
|
121
|
+
/* Maximum encoded size of messages (where known) */
|
|
122
|
+
#define FOXGLOVE_FOXGLOVE_CAMERACALIBRATION_PB_H_MAX_SIZE foxglove_CameraCalibration_size
|
|
123
|
+
#define foxglove_CameraCalibration_size 418
|
|
124
|
+
|
|
125
|
+
#ifdef __cplusplus
|
|
126
|
+
} /* extern "C" */
|
|
127
|
+
#endif
|
|
128
|
+
|
|
129
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* Automatically generated nanopb constant definitions */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#include "foxglove/CircleAnnotation.pb.h"
|
|
5
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
6
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
PB_BIND(foxglove_CircleAnnotation, foxglove_CircleAnnotation, AUTO)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#ifndef PB_CONVERT_DOUBLE_FLOAT
|
|
14
|
+
/* On some platforms (such as AVR), double is really float.
|
|
15
|
+
* To be able to encode/decode double on these platforms, you need.
|
|
16
|
+
* to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
|
|
17
|
+
*/
|
|
18
|
+
PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
|
|
19
|
+
#endif
|
|
20
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/* Automatically generated nanopb header */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#ifndef PB_FOXGLOVE_FOXGLOVE_CIRCLEANNOTATION_PB_H_INCLUDED
|
|
5
|
+
#define PB_FOXGLOVE_FOXGLOVE_CIRCLEANNOTATION_PB_H_INCLUDED
|
|
6
|
+
#include <pb.h>
|
|
7
|
+
#include "foxglove/Color.pb.h"
|
|
8
|
+
#include "foxglove/KeyValuePair.pb.h"
|
|
9
|
+
#include "foxglove/Point2.pb.h"
|
|
10
|
+
#include "google/protobuf/timestamp.pb.h"
|
|
11
|
+
|
|
12
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
13
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
/* Struct definitions */
|
|
17
|
+
/* A circle annotation on a 2D image */
|
|
18
|
+
typedef struct _foxglove_CircleAnnotation {
|
|
19
|
+
/* Timestamp of circle */
|
|
20
|
+
bool has_timestamp;
|
|
21
|
+
google_protobuf_Timestamp timestamp;
|
|
22
|
+
/* Center of the circle in 2D image coordinates (pixels).
|
|
23
|
+
The coordinate uses the top-left corner of the top-left pixel of the image as the origin. */
|
|
24
|
+
bool has_position;
|
|
25
|
+
foxglove_Point2 position;
|
|
26
|
+
/* Circle diameter in pixels */
|
|
27
|
+
double diameter;
|
|
28
|
+
/* Line thickness in pixels */
|
|
29
|
+
double thickness;
|
|
30
|
+
/* Fill color */
|
|
31
|
+
bool has_fill_color;
|
|
32
|
+
foxglove_Color fill_color;
|
|
33
|
+
/* Outline color */
|
|
34
|
+
bool has_outline_color;
|
|
35
|
+
foxglove_Color outline_color;
|
|
36
|
+
/* Additional user-provided metadata associated with this annotation. Keys must be unique. */
|
|
37
|
+
pb_callback_t metadata;
|
|
38
|
+
} foxglove_CircleAnnotation;
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
#ifdef __cplusplus
|
|
42
|
+
extern "C" {
|
|
43
|
+
#endif
|
|
44
|
+
|
|
45
|
+
/* Initializer values for message structs */
|
|
46
|
+
#define foxglove_CircleAnnotation_init_default {false, google_protobuf_Timestamp_init_default, false, foxglove_Point2_init_default, 0, 0, false, foxglove_Color_init_default, false, foxglove_Color_init_default, {{NULL}, NULL}}
|
|
47
|
+
#define foxglove_CircleAnnotation_init_zero {false, google_protobuf_Timestamp_init_zero, false, foxglove_Point2_init_zero, 0, 0, false, foxglove_Color_init_zero, false, foxglove_Color_init_zero, {{NULL}, NULL}}
|
|
48
|
+
|
|
49
|
+
/* Field tags (for use in manual encoding/decoding) */
|
|
50
|
+
#define foxglove_CircleAnnotation_timestamp_tag 1
|
|
51
|
+
#define foxglove_CircleAnnotation_position_tag 2
|
|
52
|
+
#define foxglove_CircleAnnotation_diameter_tag 3
|
|
53
|
+
#define foxglove_CircleAnnotation_thickness_tag 4
|
|
54
|
+
#define foxglove_CircleAnnotation_fill_color_tag 5
|
|
55
|
+
#define foxglove_CircleAnnotation_outline_color_tag 6
|
|
56
|
+
#define foxglove_CircleAnnotation_metadata_tag 7
|
|
57
|
+
|
|
58
|
+
/* Struct field encoding specification for nanopb */
|
|
59
|
+
#define foxglove_CircleAnnotation_FIELDLIST(X, a) \
|
|
60
|
+
X(a, STATIC, OPTIONAL, MESSAGE, timestamp, 1) \
|
|
61
|
+
X(a, STATIC, OPTIONAL, MESSAGE, position, 2) \
|
|
62
|
+
X(a, STATIC, SINGULAR, DOUBLE, diameter, 3) \
|
|
63
|
+
X(a, STATIC, SINGULAR, DOUBLE, thickness, 4) \
|
|
64
|
+
X(a, STATIC, OPTIONAL, MESSAGE, fill_color, 5) \
|
|
65
|
+
X(a, STATIC, OPTIONAL, MESSAGE, outline_color, 6) \
|
|
66
|
+
X(a, CALLBACK, REPEATED, MESSAGE, metadata, 7)
|
|
67
|
+
#define foxglove_CircleAnnotation_CALLBACK pb_default_field_callback
|
|
68
|
+
#define foxglove_CircleAnnotation_DEFAULT NULL
|
|
69
|
+
#define foxglove_CircleAnnotation_timestamp_MSGTYPE google_protobuf_Timestamp
|
|
70
|
+
#define foxglove_CircleAnnotation_position_MSGTYPE foxglove_Point2
|
|
71
|
+
#define foxglove_CircleAnnotation_fill_color_MSGTYPE foxglove_Color
|
|
72
|
+
#define foxglove_CircleAnnotation_outline_color_MSGTYPE foxglove_Color
|
|
73
|
+
#define foxglove_CircleAnnotation_metadata_MSGTYPE foxglove_KeyValuePair
|
|
74
|
+
|
|
75
|
+
extern const pb_msgdesc_t foxglove_CircleAnnotation_msg;
|
|
76
|
+
|
|
77
|
+
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
|
78
|
+
#define foxglove_CircleAnnotation_fields &foxglove_CircleAnnotation_msg
|
|
79
|
+
|
|
80
|
+
/* Maximum encoded size of messages (where known) */
|
|
81
|
+
/* foxglove_CircleAnnotation_size depends on runtime parameters */
|
|
82
|
+
|
|
83
|
+
#ifdef __cplusplus
|
|
84
|
+
} /* extern "C" */
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#endif
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* Automatically generated nanopb constant definitions */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#include "foxglove/Color.pb.h"
|
|
5
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
6
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
PB_BIND(foxglove_Color, foxglove_Color, AUTO)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#ifndef PB_CONVERT_DOUBLE_FLOAT
|
|
14
|
+
/* On some platforms (such as AVR), double is really float.
|
|
15
|
+
* To be able to encode/decode double on these platforms, you need.
|
|
16
|
+
* to define PB_CONVERT_DOUBLE_FLOAT in pb.h or compiler command line.
|
|
17
|
+
*/
|
|
18
|
+
PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
|
|
19
|
+
#endif
|
|
20
|
+
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/* Automatically generated nanopb header */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#ifndef PB_FOXGLOVE_FOXGLOVE_COLOR_PB_H_INCLUDED
|
|
5
|
+
#define PB_FOXGLOVE_FOXGLOVE_COLOR_PB_H_INCLUDED
|
|
6
|
+
#include <pb.h>
|
|
7
|
+
|
|
8
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
9
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
/* Struct definitions */
|
|
13
|
+
/* A color in RGBA format */
|
|
14
|
+
typedef struct _foxglove_Color {
|
|
15
|
+
/* Red value between 0 and 1 */
|
|
16
|
+
double r;
|
|
17
|
+
/* Green value between 0 and 1 */
|
|
18
|
+
double g;
|
|
19
|
+
/* Blue value between 0 and 1 */
|
|
20
|
+
double b;
|
|
21
|
+
/* Alpha value between 0 and 1 */
|
|
22
|
+
double a;
|
|
23
|
+
} foxglove_Color;
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
#ifdef __cplusplus
|
|
27
|
+
extern "C" {
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
/* Initializer values for message structs */
|
|
31
|
+
#define foxglove_Color_init_default {0, 0, 0, 0}
|
|
32
|
+
#define foxglove_Color_init_zero {0, 0, 0, 0}
|
|
33
|
+
|
|
34
|
+
/* Field tags (for use in manual encoding/decoding) */
|
|
35
|
+
#define foxglove_Color_r_tag 1
|
|
36
|
+
#define foxglove_Color_g_tag 2
|
|
37
|
+
#define foxglove_Color_b_tag 3
|
|
38
|
+
#define foxglove_Color_a_tag 4
|
|
39
|
+
|
|
40
|
+
/* Struct field encoding specification for nanopb */
|
|
41
|
+
#define foxglove_Color_FIELDLIST(X, a_) \
|
|
42
|
+
X(a_, STATIC, SINGULAR, DOUBLE, r, 1) \
|
|
43
|
+
X(a_, STATIC, SINGULAR, DOUBLE, g, 2) \
|
|
44
|
+
X(a_, STATIC, SINGULAR, DOUBLE, b, 3) \
|
|
45
|
+
X(a_, STATIC, SINGULAR, DOUBLE, a, 4)
|
|
46
|
+
#define foxglove_Color_CALLBACK NULL
|
|
47
|
+
#define foxglove_Color_DEFAULT NULL
|
|
48
|
+
|
|
49
|
+
extern const pb_msgdesc_t foxglove_Color_msg;
|
|
50
|
+
|
|
51
|
+
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
|
52
|
+
#define foxglove_Color_fields &foxglove_Color_msg
|
|
53
|
+
|
|
54
|
+
/* Maximum encoded size of messages (where known) */
|
|
55
|
+
#define FOXGLOVE_FOXGLOVE_COLOR_PB_H_MAX_SIZE foxglove_Color_size
|
|
56
|
+
#define foxglove_Color_size 36
|
|
57
|
+
|
|
58
|
+
#ifdef __cplusplus
|
|
59
|
+
} /* extern "C" */
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
#endif
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* Automatically generated nanopb constant definitions */
|
|
2
|
+
/* Generated by nanopb-0.4.9.1 */
|
|
3
|
+
|
|
4
|
+
#include "foxglove/CompressedImage.pb.h"
|
|
5
|
+
#if PB_PROTO_HEADER_VERSION != 40
|
|
6
|
+
#error Regenerate this file with the current version of nanopb generator.
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
PB_BIND(foxglove_CompressedImage, foxglove_CompressedImage, AUTO)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|