Skip to content

Commit ed7665b

Browse files
Fixed content after review
1 parent b7ec32d commit ed7665b

File tree

1 file changed

+16
-5
lines changed
  • content/hardware/04.pro/boards/portenta-x8/tutorials/waves-fleet-managment

1 file changed

+16
-5
lines changed

content/hardware/04.pro/boards/portenta-x8/tutorials/waves-fleet-managment/content.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ hardware:
1313

1414
## Overview
1515

16-
In a production environment it is convenient to plan updates, and have control over when and which devices are updated. FoundriesFactory Waves is the feature for this. It allows you to easily define a group of Portenta X8s and then push updates to that specific group. This tutorial will show you how to define that group and how to construct a Wave that can then be pushed to a group.
16+
In a production environment it is convenient to plan updates, and have control over when and which devices are updated. FoundriesFactory® Waves is the feature for this. It allows you to easily define a group of Portenta X8s and then push updates to that specific group. The difference between standard updates and using Waves to update, is that the Wave update will promote targets to production by double signing them, which makes the updates more manageable and controllable. This tutorial will show you how to define that group and how to construct a Wave that can then be pushed to a group.
1717

1818
## Goals
1919

@@ -28,8 +28,7 @@ In a production environment it is convenient to plan updates, and have control o
2828
- Arduino Create account
2929
- Arduino Pro Cloud Subscription. [Learn more about the Pro Cloud](https://www.arduino.cc/pro/hardware/product/portenta-x8#pro-cloud).
3030
- Foundries.io™ account (linked with the Pro Cloud subscription)
31-
- FoundriesFactory® ([Check the Getting Started tutorial](https://docs.arduino.cc/tutorials/portenta-x8/out-of-the-box))
32-
- Devices already attached to your Factory ([Check the Getting Started tutorial](https://docs.arduino.cc/tutorials/portenta-x8/out-of-the-box))
31+
- FoundriesFactory® and devices already attached to your Factory. ([Check the Getting Started tutorial](https://docs.arduino.cc/tutorials/portenta-x8/out-of-the-box))
3332

3433
## Instructions
3534

@@ -58,9 +57,21 @@ fioctl keys copy-targets /absolute/path/to/root.keys.tgz /path/to/target.only.ke
5857

5958
Now we can move on to creating our Wave.
6059

61-
### Creating the Wave
60+
### Creating a Dummy Wave for Production Targets
6261

63-
The command below will create a Wave that can then be pushed to our devices. To create a Wave, we will sign it with a key, here we will use the targets only key. Then we give the Wave a name, target number, and tag. The `target number` needs to correspond to the target that we want the Wave to contain for our devices. The `tag` can be set as production or development.
62+
Before a Factory can start doing production OTAs, an initial production Targets file must be created. More information can be found [here](https://docs.foundries.io/latest/reference-manual/ota/production-targets.html). This can be done by creating a dummy wave with the command:
63+
```
64+
fioctl wave init -k /absolute/path/to/targets.only.key.tgz <wave-name> <target number> <tag>
65+
```
66+
We can use `populate-targets` as the Wave name. The `target number` needs to correspond to a target that exists in our Factory. The `tag` should be set as `production`. Then complete the Wave with:
67+
```
68+
fioctl wave complete populate-targets
69+
```
70+
This creates a new targets.json file for production devices subscribing to the production tag. It will include a single Target from CI build.
71+
72+
### Creating a Wave
73+
74+
Now we can start creating our Wave. The command below will create a Wave that can then be pushed to our devices. To create a Wave, we will sign it with a key, here we will use the targets only key. Then we give the Wave a name, target number, and tag. The `target number` needs to correspond to the target that we want the Wave to contain for our devices. The `tag` can be set as production or development.
6475
```
6576
fioctl wave init -k /absolute/path/to/targets.only.key.tgz <wave-name> <target number> <tag>
6677
```

0 commit comments

Comments
 (0)