You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update body-text links from operate/ to new-IA paths
Replace 283 body-text markdown links across 128 files that reference
/operate/ paths with their new information architecture equivalents.
This prepares for the operate/ section removal by ensuring all
cross-references already point to the correct destinations.
Mapping summary:
- /operate/reference/components/* → /reference/components/*
- /operate/reference/services/* → /reference/services/*
- /operate/reference/viam-server/ → /reference/viam-server/
- /operate/modules/write-a-*/ → /build-modules/write-a-*/
- /operate/modules/configure-modules/ → /hardware/configure-hardware/
- /operate/install/setup/ → /set-up-a-machine/overview/
- /operate/control/* → /build-apps/overview/ or /organization/access/
- /operate/hello-world/* → /try/
- /operate/reference/architecture/* → /hardware/multi-machine/overview/
- /operate/reference/services/frame-system/ → /motion-planning/frame-system/overview/
Also fixes 10 pre-existing "Component or service" UI label violations
(should be "Configuration block") in touched files.
Does not modify files within docs/operate/ (those are deleted separately).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/build-modules/dependencies.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -247,4 +247,4 @@ Then resolve it the same way as any other dependency.
247
247
-[Write a Driver Module](/build-modules/write-a-driver-module/) -- full walkthrough including dependency handling in context.
248
248
-[Write a Logic Module](/build-modules/write-a-logic-module/) -- build a module that coordinates multiple resources.
249
249
-[Access platform APIs](/build-modules/platform-apis/) -- access fleet management, data, and ML training APIs from within a module.
250
-
- For full examples, see the [Desk Safari tutorial](/operate/hello-world/tutorial-desk-safari/) or [complex module examples on GitHub](https://github.com/viamrobotics/viam-python-sdk/tree/main/examples/complex_module/src).
250
+
- For full examples, see the [Desk Safari tutorial](/try/) or [complex module examples on GitHub](https://github.com/viamrobotics/viam-python-sdk/tree/main/examples/complex_module/src).
Copy file name to clipboardExpand all lines: docs/build-modules/write-a-cpp-module.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,9 +22,9 @@ If no [existing modules](/hardware/configure-hardware/) support your specific us
22
22
Follow the instructions below to learn how to write a new module using your preferred language and its corresponding [Viam SDK](/reference/sdks/), and then deploy it to your machines.
[`viam-micro-server`](/operate/reference/viam-micro-server/) works differently from the RDK (and `viam-server`), so creating modular resources for it is different from the process described on this page.
25
+
[`viam-micro-server`](/reference/viam-micro-server/) works differently from the RDK (and `viam-server`), so creating modular resources for it is different from the process described on this page.
26
26
Refer to the [Micro-RDK Module Template on GitHub](https://github.com/viamrobotics/micro-rdk/tree/main/templates/module) for information on how to create custom resources for your `viam-micro-server` machine.
27
-
You will need to [recompile and flash your ESP32 yourself](/operate/install/setup/) instead of using Viam's prebuilt binary and installer.
27
+
You will need to [recompile and flash your ESP32 yourself](/set-up-a-machine/overview/) instead of using Viam's prebuilt binary and installer.
28
28
{{< /alert >}}
29
29
30
30
{{% alert title="Tip" color="tip" %}}
@@ -61,16 +61,16 @@ For example, the [sensor API](/reference/apis/components/sensor/) has a `GetRead
61
61
If instead of just getting readings, you actually have an encoder and need to be able to reset the zero position, use the [encoder API](/reference/apis/components/encoder/) so you can define functionality behind the `GetPosition` and `ResetPosition` methods.
62
62
63
63
In addition to the list of methods, another reason to choose one API over another is how certain APIs fit into the Viam ecosystem.
64
-
For example, though you could technically implement a GPS as a sensor with just the `GetReadings` method, if you implement it as a movement sensor then you have access to methods like `GetCompassHeading` which allow you to use your GPS module with the [navigation service](/operate/reference/services/navigation/).
64
+
For example, though you could technically implement a GPS as a sensor with just the `GetReadings` method, if you implement it as a movement sensor then you have access to methods like `GetCompassHeading` which allow you to use your GPS module with the [navigation service](/reference/services/navigation/).
65
65
For this reason, it's generally best to choose the API that most closely matches your hardware or software.
66
66
{{< /expand >}}
67
67
68
68
{{% alert title=Note color="note" %}}
69
69
If you want to write a module to add support to a new type of component or service that is relatively unique, consider using the generic API for your resource type to build your own API:
70
70
71
-
- If you are working with a component that doesn't fit into any of the existing component APIs, you can use the [generic component](/operate/reference/components/generic/) to build your own component API.
72
-
- If you are designing a service that doesn't fit into any of the existing service APIs, you can use the [generic service](/operate/reference/components/generic/) to build your own service API.
73
-
- It is also possible to [define an entirely new API](/operate/reference/create-subtype/), but this is even more advanced than using `generic`.
71
+
- If you are working with a component that doesn't fit into any of the existing component APIs, you can use the [generic component](/reference/components/generic/) to build your own component API.
72
+
- If you are designing a service that doesn't fit into any of the existing service APIs, you can use the [generic service](/reference/components/generic/) to build your own service API.
73
+
- It is also possible to [define an entirely new API](/build-modules/advanced-patterns/), but this is even more advanced than using `generic`.
74
74
75
75
Most module use cases, however, benefit from implementing an existing API instead of `generic`.
76
76
{{% /alert %}}
@@ -81,7 +81,7 @@ Each existing component or service API has a unique identifier in the form of a
81
81
You will use this {{< glossary_tooltip term_id="api-namespace-triplet" text="API namespace triplet" >}} when creating your new model, to indicate which API it uses.
82
82
83
83
The API namespace triplet is the same for all built-in and modular models that implement a given API.
84
-
For example, every model of motor built into Viam, as well as every custom model of motor provided by a module, all use the same API namespace triplet `rdk:component:motor` to indicate that they implement the [motor API](/operate/reference/components/motor/#api).
84
+
For example, every model of motor built into Viam, as well as every custom model of motor provided by a module, all use the same API namespace triplet `rdk:component:motor` to indicate that they implement the [motor API](/reference/components/motor/#api).
85
85
86
86
The three pieces of the API namespace triplet are as follows:
87
87
@@ -168,7 +168,7 @@ Browse additional example modules by language:
168
168
| ------ | ---------- | ----------- |
169
169
|[berryimu](https://app.viam.com/module/viam-labs/berryimu)|[viam-labs/berry-imu](https://github.com/viam-labs/berry-imu)| Extends the built-in [movement sensor API](/reference/apis/components/movement-sensor/) to support using the BerryIMU v3 accelerometer, gyroscope and magnetometer using an I2C connection on ARM64 systems. |
170
170
|[oak](https://app.viam.com/module/viam/oak)|[viam-modules/viam-camera-oak](https://github.com/viam-modules/viam-camera-oak)| Extends the built-in [camera API](/reference/apis/components/camera/) to support OAK cameras. |
171
-
|[odrive](https://app.viam.com/module/viam/odrive)|[viamrobotics/odrive](https://github.com/viamrobotics/odrive)| Extends the built-in [motor API](/operate/reference/components/motor/#api) to support the ODrive motor. This module provides two models, one for a `canbus`-connected ODrive motor, and one for a `serial`-connected ODrive motor. |
171
+
|[odrive](https://app.viam.com/module/viam/odrive)|[viamrobotics/odrive](https://github.com/viamrobotics/odrive)| Extends the built-in [motor API](/reference/components/motor/#api) to support the ODrive motor. This module provides two models, one for a `canbus`-connected ODrive motor, and one for a `serial`-connected ODrive motor. |
172
172
|[yahboom](https://app.viam.com/module/rand/yahboom)|[viamlabs/yahboom](https://github.com/viam-labs/yahboom)| Extends the built-in [arm API](/reference/apis/components/arm/) and [gripper API](/reference/apis/components/gripper/) to support the Yahboom Dofbot robotic arm. |
173
173
174
174
For more Python module examples:
@@ -199,7 +199,7 @@ For more Go module examples:
199
199
| Module | Repository | Description |
200
200
| ------ | ---------- | ----------- |
201
201
|[csi-cam](https://app.viam.com/module/viam/csi-cam)|[viamrobotics/csi-camera](https://github.com/viamrobotics/csi-camera/)| Extends the built-in [camera API](/reference/apis/components/camera/) to support the Intel CSI camera. |
202
-
<!-- | [module-example-cpp](https://app.viam.com/module/viam/module-example-cpp) | [viamrobotics/module-example-cpp](https://github.com/viamrobotics/module-example-cpp) | Extends the built-in [sensor API](/operate/reference/components/sensor/#api) to report wifi statistics. | -->
202
+
<!-- | [module-example-cpp](https://app.viam.com/module/viam/module-example-cpp) | [viamrobotics/module-example-cpp](https://github.com/viamrobotics/module-example-cpp) | Extends the built-in [sensor API](/reference/components/sensor/#api) to report wifi statistics. | -->
203
203
204
204
{{% /tab %}}
205
205
{{% /tabs %}}
@@ -220,7 +220,7 @@ If your module references {{< glossary_tooltip term_id="pin-number" text="pin nu
220
220
221
221
First, inspect the built-in class provided by the resource API that you are extending.
222
222
223
-
For example, if you wanted to add support for a new [base component](/operate/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam Python SDK](https://github.com/viamrobotics/viam-python-sdk) in the following file:
223
+
For example, if you wanted to add support for a new [base component](/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam Python SDK](https://github.com/viamrobotics/viam-python-sdk) in the following file:
224
224
225
225
<!-- prettier-ignore -->
226
226
| Resource Model File | Description |
@@ -435,7 +435,7 @@ For more information on the base component API methods used in this example, see
435
435
436
436
First, inspect the built-in package provided by the resource API that you are extending.
437
437
438
-
For example, if you wanted to add support for a new [base component](/operate/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `base` component package, which is defined in the [Viam Go SDK](https://github.com/viamrobotics/rdk/) in the following file:
438
+
For example, if you wanted to add support for a new [base component](/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `base` component package, which is defined in the [Viam Go SDK](https://github.com/viamrobotics/rdk/) in the following file:
439
439
440
440
<!-- prettier-ignore -->
441
441
| Resource Model File | Description |
@@ -680,7 +680,7 @@ For more information on the base component API methods used in this example, see
680
680
First, inspect the built-in class provided by the resource API that you are extending.
681
681
In the C++ SDK, all built-in classes are abstract classes.
682
682
683
-
For example, if you wanted to add support for a new [base component](/operate/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam C++ SDK](https://cpp.viam.dev/) in the following files:
683
+
For example, if you wanted to add support for a new [base component](/reference/components/base/) to Viam (the component that represents the central physical platform of your machine, to which all other components are connected), you would start by looking at the built-in `Base` component class, which is defined in the [Viam C++ SDK](https://cpp.viam.dev/) in the following files:
684
684
685
685
<!-- prettier-ignore -->
686
686
| Resource Model File | Description |
@@ -1122,7 +1122,7 @@ Resource-level logs are recommended instead of global logs for modular resources
1122
1122
Resource-level error logs appear in the **Error logs** section of each resource's configuration card in the app.
1123
1123
1124
1124
{{% alert title="Note" color="note" %}}
1125
-
In order to see resource-level debug logs when using your modular resource, you'll either need to run `viam-server` with the `-debug` option or [configure your machine or individual resource to display debug logs](/operate/reference/viam-server/#logging).
1125
+
In order to see resource-level debug logs when using your modular resource, you'll either need to run `viam-server` with the `-debug` option or [configure your machine or individual resource to display debug logs](/reference/viam-server/#logging).
1126
1126
{{% /alert %}}
1127
1127
1128
1128
{{< expand "Click to see global logging" >}}
@@ -1638,7 +1638,7 @@ Add the module to your machine's config, then add the component or service it im
1638
1638
1639
1639
{{<imgproc src="/how-tos/sensor-module-config.png" resize="600x" style="width: 300px" alt="Configuring a local component after the local module is configured" class="shadow">}}
1640
1640
1641
-
1. Select the type of modular resource provided by your module, such as a [camera](/operate/reference/components/camera/), from the dropdown menu.
1641
+
1. Select the type of modular resource provided by your module, such as a [camera](/reference/components/camera/), from the dropdown menu.
1642
1642
1643
1643
1. Enter a name for this instance of your modular resource.
Copy file name to clipboardExpand all lines: docs/hardware/multi-machine/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,4 +94,4 @@ If the client goes silent (network loss, crashed process), `viam-server` automat
94
94
A rover will not keep driving, an arm will not keep moving, and a gripper will not keep closing when the commanding process vanishes.
95
95
This applies equally to local and remote resources.
96
96
97
-
For the lower-level details of how machines communicate, see [Machine-to-machine communication](/operate/reference/architecture/machine-to-machine-comms/).
97
+
For the lower-level details of how machines communicate, see [Machine-to-machine communication](/hardware/multi-machine/overview/).
Copy file name to clipboardExpand all lines: docs/reference/apis/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ date: "2024-10-01"
23
23
24
24
Every Viam {{< glossary_tooltip term_id="resource" text="resource" >}} exposes an [application programming interface (API)](https://en.wikipedia.org/wiki/API) described through [protocol buffers](https://developers.google.com/protocol-buffers).
25
25
26
-
The API methods provided by the SDKs for each of these resource APIs wrap gRPC client requests to the machine when you execute your program, providing you a convenient interface for accessing information about and controlling the {{< glossary_tooltip term_id="resource" text="resources" >}} you have [configured](/operate/modules/configure-modules/) on your machine.
26
+
The API methods provided by the SDKs for each of these resource APIs wrap gRPC client requests to the machine when you execute your program, providing you a convenient interface for accessing information about and controlling the {{< glossary_tooltip term_id="resource" text="resources" >}} you have [configured](/hardware/configure-hardware/) on your machine.
0 commit comments