Skip to content

Commit 06ef4f8

Browse files
neu-rahclaude
andcommitted
Retire examples/rosCompose: moved to its own library, OneMachine
Per Rui's call: rosCompose grew beyond a HAPI example (topic pub/sub, QoS, services, actions, its own test/example needs) and duplicating its four headers between here and OneMachine would only drift. The headers (transport.h, qos.h, service.h, action.h), unchanged, now live at OneMachine/include/oneMachine/rosCompose/; node_avr.cpp/qos_decorators.cpp move there too whenever OneMachine gets its own examples/. docs/rosCompose.md and docs/INDUSTRY.md updated to point at OneMachine instead of a now-deleted examples/rosCompose/. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 9484468 commit 06ef4f8

11 files changed

Lines changed: 9 additions & 584 deletions

File tree

‎docs/INDUSTRY.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ HAPI models protocol layers as compile-time components. The complete protocol st
135135

136136
### Robotics & Autonomous Systems
137137

138-
**Status: Partially demonstrated.** Motion control and sensor fusion are real: a compile-time-composed motor-control integration has been verified on real hardware, and a sensor-fusion pipeline has been verified on AVR (`examples/iotComposition`). The composition *surface* of a robotics middleware has also been mapped: [`examples/rosCompose`](../examples/rosCompose/) assembles a ROS-shaped node — topic pub/sub, a service, an action, with QoS decorators — from HAPI primitives, reducing ROS 2's `rclcpp`/`rcl`/`rcl_action`/`tf2` composition surface (read from source) to three existing primitives plus two new fixed-capacity buffers ([`docs/rosCompose.md`](rosCompose.md)). That is a structural result — the types compose with no vtable, heap or dispatch of their own — not a live-transport or ROS-interop claim, and it is explicitly scoped to single-loop embedded targets (multi-threaded executor scheduling is out of scope). Industrial robotics and CNC controllers as complete systems are unbuilt extrapolations from that work, not separately verified. **Autonomous vehicles is a materially larger claim than either** — full perception/planning/control stacks, not a single composed control loop — and additionally carries the certification barrier described above; listing it alongside motion control understates the gap between them.
138+
**Status: Partially demonstrated.** Motion control and sensor fusion are real: a compile-time-composed motor-control integration has been verified on real hardware, and a sensor-fusion pipeline has been verified on AVR (`examples/iotComposition`). The composition *surface* of a robotics middleware has also been mapped: [rosCompose](https://github.com/InternetOfPins/OneMachine), now its own library (moved out of this repo's examples/), assembles a ROS-shaped node — topic pub/sub, a service, an action, with QoS decorators — from HAPI primitives, reducing ROS 2's `rclcpp`/`rcl`/`rcl_action`/`tf2` composition surface (read from source) to three existing primitives plus two new fixed-capacity buffers ([`docs/rosCompose.md`](rosCompose.md)). That is a structural result — the types compose with no vtable, heap or dispatch of their own — not a live-transport or ROS-interop claim, and it is explicitly scoped to single-loop embedded targets (multi-threaded executor scheduling is out of scope). Industrial robotics and CNC controllers as complete systems are unbuilt extrapolations from that work, not separately verified. **Autonomous vehicles is a materially larger claim than either** — full perception/planning/control stacks, not a single composed control loop — and additionally carries the certification barrier described above; listing it alongside motion control understates the gap between them.
139139

140140
Robotic systems are built from deterministic processing pipelines:
141141

‎docs/rosCompose.md‎

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
> **Status: Demonstrated (structurally).** A local scouting exercise read
44
> ROS 2 (`rclcpp`, `rcl`, `rcl_action`, `tf2`) from source and mapped its
5-
> composition surface onto HAPI's primitive set. The buildable result is
6-
> [`examples/rosCompose/`](../examples/rosCompose/). No live DDS / socket
7-
> round trip was verified — this is a claim about how the *types* compose
8-
> and what the generated code contains, not about ROS interoperability.
5+
> composition surface onto HAPI's primitive set. The buildable result
6+
> (`transport.h`/`qos.h`/`service.h`/`action.h`) has moved to its own
7+
> library, [OneMachine](https://github.com/InternetOfPins/OneMachine)
8+
> (`include/oneMachine/rosCompose/`) — no longer a HAPI example, so it
9+
> can carry its own examples and tests without living inside this repo.
10+
> No live DDS / socket round trip was verified — this is a claim about
11+
> how the *types* compose and what the generated code contains, not
12+
> about ROS interoperability.
913
1014
ROS was used as a **reference oracle only** — a well-specified, widely
1115
understood example of "typed multi-endpoint device structure with a

‎examples/rosCompose/README.md‎

Lines changed: 0 additions & 109 deletions
This file was deleted.

‎examples/rosCompose/include/rosCompose/action.h‎

Lines changed: 0 additions & 77 deletions
This file was deleted.

‎examples/rosCompose/include/rosCompose/qos.h‎

Lines changed: 0 additions & 77 deletions
This file was deleted.

‎examples/rosCompose/include/rosCompose/service.h‎

Lines changed: 0 additions & 66 deletions
This file was deleted.

0 commit comments

Comments
 (0)