Skip to content

Commit ea14fec

Browse files
authored
Update README.md for sensor module
1 parent d9413c9 commit ea14fec

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

src/viam/examples/modules/simple/README.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ For more information, see the [documentation](https://docs.viam.com/registry/).
1111
For a list of example modules in different Viam SDKs, take a look [here](https://github.com/viamrobotics/upload-module/#example-repos).
1212

1313
## Project structure
14-
The `main.cpp` file contains the definition of a new generic model and code to register it. It also has the optional validator function and implements reconfigure. The validator function is defined upon resource registration, and the reconfigure method is implemented on the resource class.
14+
The `main.cpp` file contains the definition of a new sensor component and code to register it. It also has the optional validator function and implements reconfigure. The validator function is defined upon resource registration, and the reconfigure method is implemented on the resource class.
1515

16-
The validator function can throw errors that are triggered due to errors in the configuration. It also returns a vector of strings representing the implicit dependencies of the resource. Note that printers have no implicit dependencies; see the [complex module example](https://github.com/viamrobotics/viam-cpp-sdk/tree/main/src/viam/examples/modules/complex) for examples of modular resources with implicit dependencies.
16+
The validator function can throw errors that are triggered due to errors in the configuration. It also returns a vector of strings representing the implicit dependencies of the resource. Note that this sensor has no implicit dependencies; see the [complex module example](https://github.com/viamrobotics/viam-cpp-sdk/tree/main/src/viam/examples/modules/complex) for examples of modular resources with implicit dependencies.
1717

1818
The reconfiguration method reconfigures the resource based on the new configuration passed in.
1919

@@ -22,28 +22,28 @@ When simple_module is run, the main function creates and starts the module. Read
2222
## Configuring and using the module
2323
The `simple_module` binary generated after building is the entrypoint for this module. To connect this module with your robot, you must add this module's entrypoint to the robot's config. For example, this could be `/home/viam-cpp-sdk/build/install/bin/simple_module`. See the [documentation](https://docs.viam.com/registry/configure/#add-a-local-module) for more details.
2424

25-
Once the module has been added to your robot, you will then need to add a component that uses the `viam:generic:printer` model. See the [documentation](https://docs.viam.com/registry/configure/#add-a-local-modular-resource) for more details.
26-
27-
An example configuration for a printer could look like this:
28-
```json
29-
{
30-
"modules": [
31-
{
32-
"name": "MyModule",
33-
"executable_path": "/home/viam-cpp-sdk/build/install/bin/simple_module"
34-
}
35-
],
36-
"components": [
37-
{
38-
"namespace": "rdk",
39-
"type": "generic",
40-
"name": "printer1",
41-
"model": "viam:generic:printer",
42-
"attributes": {
43-
"to_print": "foo"
44-
}
45-
}
46-
]
25+
Once the module has been added to your robot, you will then need to add a component that uses the `viam:sensor:mysensor` model. See the [documentation](https://docs.viam.com/registry/configure/#add-a-local-modular-resource) for more details.
26+
27+
An example configuration for our sensor could look like this:
28+
```json{
29+
"components": [
30+
{
31+
"name": "mysensor",
32+
"api": "rdk:component:sensor",
33+
"model": "viam:sensor:mysensor",
34+
"attributes": {
35+
"multiplier": 2
36+
}
37+
}
38+
],
39+
"modules": [
40+
{
41+
"type": "local",
42+
"name": "my-module",
43+
"executable_path": "/home/viam-cpp-sdk/build/src/viam/examples/modules/simple/simple_module"
44+
}
45+
]
4746
}
4847
```
4948

49+
Note in particular that our sensor has a `multiplier` attribute whose presence is checked in the `validate` and `reconfigure` methods, defaulting to 1.0 if not present.

0 commit comments

Comments
 (0)