Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #383

Merged
merged 5 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@ on the Micro-RDK itself.

### Tree-level `cargo` configuration

The micro-rdk monorepo is only part of the development story: when
developing for or with Micro-RDK, there will be other directories in
The `micro-rdk` monorepo is only part of the development story: when
developing for or with the Micro-RDK, there will be other directories in
play (e.g. projects generated from the template, etc.), and
coordinating the state of these many directories and repositories can
prove troublesome. A carefully placed `.cargo/config.toml` file can
inject settings for the entire tree of trees, including the micro-rdk
inject settings for the entire tree of trees, including the `micro-rdk`
monorepo, projects, and modules. Simply create a `.cargo` directory as
a peer of your micro-rdk monorepo and any project directories, and
a peer of your `micro-rdk` monorepo and any project directories, and
then create a `config.toml` file within it. Settings applied in that
file will now apply globally to all crates inside the micro-rdk as
file will now apply globally to all crates inside the Micro-RDK as
well as to peer project directories. Here is an example layout:

```
Expand Down Expand Up @@ -156,10 +156,10 @@ paths forward:

### Patching in the local `micro-rdk` Monorepo at Tree Level

Again, if you are working with Micro-RDK, you probably have both the
`Micro-RDK` monorepo and various project directories associated with
Again, if you are working with the Micro-RDK, you probably have both the
`micro-rdk` monorepo and various project directories associated with
it. Those projects quite often have their own `Cargo.toml` files that
have dependencies on micro-rdk by way of github:
have dependencies on the Micro-RDK by way of GitHub:


```
Expand All @@ -170,7 +170,7 @@ micro-rdk-modular-driver-example = { version = "0.2.2", git = "https://github.co
```

But just as often, what you actually want to do is to have these
projects use your __local_ micro-rdk state, and you end up hand
projects use your __local_ Micro-RDK state, and you end up hand
editing the `Cargo.toml` file to point to a path instead:


Expand Down Expand Up @@ -204,7 +204,7 @@ without needing local `Cargo.toml` edits.

### Customizing ESP-IDF configuration

The documented build procedures for Micro-RDK and Micro-RDK adjacent
The documented build procedures for the Micro-RDK and Micro-RDK-adjacent
projects leverage the [`embuild` package](https://github.com/esp-rs/embuild)
to automate the installation of the ESP-IDF framework. The default
settings are usually what you want, but there are times when it may
Expand Down
8 changes: 4 additions & 4 deletions OTA.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ In the `url` field, enter the url where a firmware will be downloaded from
- for cloud-hosted resources, embedded auth in the url is easiest, we don't support tokens yet


The `version` field is equivalent to a `tag` and can be any arbitrary string of up to 128 characters.
After successfully applying the new firmware, this `version` will be stored in NVS.
The `version` field is equivalent to a `tag` and can be any arbitrary string of up to 128 characters.
After successfully applying the new firmware, this `version` will be stored in NVS.
This value is compared to that of the latest machine config from app.viam.com and will trigger the update process.


Expand Down Expand Up @@ -90,7 +90,7 @@ The `make build-esp32-ota` command produces an App Image (described above), whic

**This app image is what you must host, see [Firmware Hosting Options](#firmware-hosting-options).**

This build must be within the size limits of the smallest `ota_*` partition in a device's *current* partition table.
This build must be within the size limits of the smallest `ota_*` partition in a device's *current* partition table.
This document assumes the user is using our included partition tables; should the final image be larger than the capacity of the ota partitions, the build will fail indicating so.

To update a device's partition table, use the method in the [Full Build](#full-build) workflow.
Expand All @@ -103,7 +103,7 @@ To update a device's partition table, use the method in the [Full Build](#full-b

### Cloud

The OTA Service in the micro-rdk currently supports **only HTTP/2**, this means that the hosting platform must support HTTP/2 connections.
The OTA Service in the Micro-RDK currently supports **only HTTP/2**, this means that the hosting platform must support HTTP/2 connections.

While not all blob storage platform support HTTP/2, many offer Content Delivery Network (CDN) solutions that do.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Table of Contents
- [Getting Started](#getting-started)
- [License](#license)

# Micro-RDK (Robot Development Kit for Microcontrollers)
# The Micro-RDK (Robot Development Kit for Microcontrollers)

Viam provides an open source robot architecture that provides robotics functionality via simple APIs.

Expand Down
11 changes: 6 additions & 5 deletions examples/esp-idf-component/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
# Using Micro-RDK as a library Example

This example cover shows how to use Micro-RDK into a new or existing ESP project.
This example shows how to use the Micro-RDK in a new or existing ESP project.

## How to configure the example
Open the project configuration menu (`idf.py menuconfig`).

Open the project configuration menu (`idf.py menuconfig`).

In the `Micro-RDK lib example configuration` menu:

* Set the Wi-Fi configuration.
* Set `WiFi SSID`.
* Set `WiFi Password`.

## Build and Flash

Build the project and flash it to the board, then run the monitor tool to view the serial output:
Expand All @@ -23,6 +24,6 @@ See the Getting Started Guide for all the steps to configure and use the ESP-IDF

* [ESP-IDF Getting Started Guide on ESP32](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html)

See the viam documentation for more information about Micro-RDK
See the Viam documentation for more information about the Micro-RDK:

* [Micro-RDK](https://docs.viam.com/get-started/installation/microcontrollers/)
* [Micro-RDK](https://docs.viam.com/operate/get-started/other-hardware/micro-module/)
13 changes: 5 additions & 8 deletions micro-rdk-ffi/micrordklib-idf-component/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
# Micro-RDK

The micro-RDK is a lightweight version of the Robot Development Kit (RDK) which can run on resource-limited embedded systems
The Micro-RDK is a lightweight version of the Robot Development Kit (RDK) which can run on resource-limited embedded systems

See the viam documentation for more information about Micro-RDK
See the viam documentation for more information about the Micro-RDK

* [Micro-RDK](https://docs.viam.com/get-started/installation/microcontrollers/)


# Example

Get started with (example)[https://github.com/viamrobotics/micro-rdk/tree/main/esp-idf-component]
* [Micro-RDK](https://docs.viam.com/operate/get-started/other-hardware/micro-module/)

## Example

Get started with [example](https://github.com/viamrobotics/micro-rdk/tree/main/esp-idf-component])
12 changes: 6 additions & 6 deletions micro-rdk-installer/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The Viam Micro-RDK Installer

A CLI that allows a user to flash a build of Micro-RDK, along with their robot's credentials and their wifi information, directly to their esp32 without requiring installation of ESP-IDF, Rust, or Python.
A CLI that allows a user to flash a build of the Micro-RDK, along with their robot's credentials and their wifi information, directly to their esp32 without requiring installation of ESP-IDF, Rust, or Python.

## Option 1: Download Pre-Built Binaries

Expand All @@ -22,15 +22,15 @@ Only necessary as an alternative to the previous Download step
## Usage

```text
A CLI that can flash a compilation of micro-RDK directly to an ESP32 provided configuration information
A CLI that can flash a compilation of the Micro-RDK directly to an ESP32 provided configuration information

Usage: micro-rdk-installer [COMMAND]

Commands:
write-flash Flash a pre-compiled binary with the micro-RDK server directly to an ESP32 connected to
write-flash Flash a pre-compiled binary (`viam-micro-server`) directly to an ESP32 connected to
your computer via data cable
write-credentials Write Wi-Fi and robot credentials to the NVS storage portion of a pre-compiled binary
running a micro-RDK server
running `viam-micro-server`
create-nvs-partition Generate a binary of a complete NVS data partition that contains Wi-Fi and security
credentials for a robot
monitor Monitor a currently connected ESP32
Expand All @@ -45,14 +45,14 @@ Options:
1. Find your robot part at https://app.viam.com. Then navigate to the **Setup** tab
2. Regardless of your operating system, select **Mac** and press the button that appears in Step 2 to download the Viam app config for your robot
3. Run: `./micro-rdk-installer write-flash --app-config=<file path to the viam.json file downloaded in previous step>`
1. To see the micro-RDK server logs through the serial connection, add `--monitor`
1. To see the `viam-micro-server` logs through the serial connection, add `--monitor`
2. If the program cannot auto-detect the serial port to which your ESP32 is connected, you may be prompted to select the correct one among a list

## Common Problems

### Linux Port Permissions

If a "Permission Denied" or similar port error occurs, first check the connection of the ESP32 to the machine's USB port. If
If a "Permission Denied" or similar port error occurs, first check the connection of the ESP32 to the machine's USB port. If
connected and the error persists, run `sudo usermod -a -G dialout $USER` to add the current user to the `dialout` group, then try again.

### MacOS Executable Permissions
Expand Down
Loading