Skip to content

Add documentation about mbed dm #681

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

Merged
merged 11 commits into from
Sep 4, 2018

Conversation

theotherjimmy
Copy link
Contributor

@theotherjimmy
Copy link
Contributor Author

@AnotherButler Edits welcome.

Copy link
Contributor

@melwee01 melwee01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only looked at the name changes so far, but will give language a look in a sec.


Mbed CLI includes features that help prepare and ship updates for devices managed through Pelion. The Mbed CLI uses the subcommands starting with `mbed device-management`, `mbed dev-mgmt` or `mbed dm` to manage devices.

Start by configuring your Mbed Cloud SDK API Key, target and toolchain. Obtain the API Key from the Pelion portal.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, it's the Device Management Portal. Yes, this is a mouthful. :/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API key (not Key)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Start what? It would help if you explained the process you're going to detail.

* A certificate in `.update-certificates/default.der`.
* A matching private key in `.update-certificates/default.key.pem`.
* A set of default settings in `.manifest_tool.json`.
* Mbed Cloud settings in `.mbed_cloud_config.json`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device Management settings (though the filenames are still the same...)

<span class="notes">**Note:** The certificate created in `mbed dm init` is not suitable for production. Use it for testing and development only. To create a certificate for production purposes, please use an air-gapped computer or a Hardware Security Module. When going to production, conduct a security review on your manifest signing infrastructure, as it is the core of the security guarantees for update client.</span>

#### Single-device update
Once you have run `mbed device-management init`, you can perform updates on a single device by:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device Management isn't shortened here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We also haven't been 'allowed' to shorten it on our side, but I'm not sure that requirements still stands for what things are named in code. Also not willing to risk making that decision myself 😑

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code is its own thing; they need to sort it out between them

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like using "once you have x". Also, why is single-device hyphenated?

Copy link
Contributor Author

@theotherjimmy theotherjimmy Aug 24, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iriark01 I'll reword it. Single device is not hyphenated as that's not how I would write. I'll drop single.

```

This will perform several actions:
1. Upload the payload, generated by `mbed compile`, to Mbed Cloud.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device Management

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That applies for all instances of Mbed Cloud in this list.

This allows development with a device for testing purposes.

#### Multidevice update
If you need to update more than one device, you can use the Mbed Cloud portal to create device filters that can include many devices into an update campaign. First, you need a manifest. Once you have run `mbed device-management init`, you can create manifests by:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device Management Portal


Both methods of creating a manifest use the defaults created in `mbed dm init`. You can override each default using an input file or command-line arguments. See below for more details.

Once you execute `mbed dm update prepare`, Mbed CLI automatically uploads to Mbed Cloud and you can then create and start an update campaign using the Mbed Cloud portal.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device Management, Device Management Portal

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A link to where we explain that (in the Pelion docs) would help massively. Also, it's not obvious that the commands you give me have nothing to do with the filter you sent me to create a second before.

Once you execute `mbed dm update prepare`, Mbed CLI automatically uploads to Mbed Cloud and you can then create and start an update campaign using the Mbed Cloud portal.

### Advanced usage
Mbed CLI allows for significantly more flexibility than the model above shows in exactly the same way as Manifest Tool. You can override each of the defaults that `mbed dm init` sets by using the command-line or an input file. Mbed CLI supports a variety of commands. You can print a full list of commands by using `manifest-tool --help`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mbed CLI keeps its name as far as I'm aware.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also looks like in our manifest tool documentation, it's not capitalized, and instead referred to as "the manifest tool."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to the tool's docs

@@ -0,0 +1,76 @@
### Updating Devices with Mbed CLI

Mbed CLI includes features that help prepare and ship updates for devices managed through Pelion. The Mbed CLI uses the subcommands starting with `mbed device-management`, `mbed dev-mgmt` or `mbed dm` to manage devices.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mbed CLI doesn't take "the"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd also clarify that these are all the same command, that they're just aliases. I'd suggest something along these lines (but feel free to tweak):

Mbed CLI provides the subcommand mbed device-management to manage devices (mbed dev-mgmt are mbed dm are also available as shorter aliases).

Start by configuring your Mbed Cloud SDK API Key, target and toolchain. Obtain the API Key from the Pelion portal.

```
$ mbed config -G CLOUD_SDK_API_KEY ak_...
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We normally use something like <API_KEY>, not ...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, I'd drop the CLOUD_SDK_ part

$ mbed device-management init -d "<company domain name>" -m "<product model identifier>"
```

First, this command asks for information about your update certificate. When Mbed CLI has enough information, it creates several files:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need "first" here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Total nit pick: The line "When Mbed CLI has enough information" tripped up my brain for a second (enough information from the command line args? Where is it coming from?). How do you feel about this as an alternative:

After completing the prompts, Mbed CLI creates several files:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

```

First, this command asks for information about your update certificate. When Mbed CLI has enough information, it creates several files:
* A certificate in `.update-certificates/default.der`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't think this will render as a list without an empty line before the first bullet

* A matching private key in `.update-certificates/default.key.pem`.
* A set of default settings in `.manifest_tool.json`.
* Mbed Cloud settings in `.mbed_cloud_config.json`.
* Mbed Cloud developer credentials in `mbed_cloud_dev_credentials.c`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So this is only for development? What about production flows?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is in the Mbed OS docs, it should (as part of the intro way up there around line 1) link to the Pelion docs. As an Mbed OS user, I've no idea what all these concepts mean.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no production flow yet. That's not part of the requirement as far as I know.

* Mbed Cloud developer credentials in `mbed_cloud_dev_credentials.c`
* Mbed Cloud update credentials in `update_defalut_resources.c`

The default settings include:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the default settings in mbed_cloud_config.json? Would help to make them sub-bullets of that, rather than make the reader go back to figure out where default settings come in (this is only obvious to people who already know - most readers won't remember that they've just read about default settings two lines ago).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And needs an empty line to render the bullets

* Mbed Cloud update credentials in `update_defalut_resources.c`

The default settings include:
* A unique vendor identifier, based on the domain name supplied to `init`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When did I supply things to init?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You supplied them to mbed dm init above.

The default settings include:
* A unique vendor identifier, based on the domain name supplied to `init`.
* A unique model identifier, based on the vendor identifier and the model name supplied to `init`.
* The path of the certificate and private key.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which certificate? Developer? Update?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update.

* A unique model identifier, based on the vendor identifier and the model name supplied to `init`.
* The path of the certificate and private key.

If you do not want to enter the subject information for your update certificate (country, state, city, organization and so on), add the `-q` flag to the command above.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How far above? Why not add this as a note right below the command?


If you do not want to enter the subject information for your update certificate (country, state, city, organization and so on), add the `-q` flag to the command above.

As `device-management` is very long to type, the remainder of this document will use the `mbed dm` alias for all device management subcommands.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should have said that right after you listed the three possible forms and never used the full form again. It's so random here.


As `device-management` is very long to type, the remainder of this document will use the `mbed dm` alias for all device management subcommands.

<span class="notes">**Note:** The certificate created in `mbed dm init` is not suitable for production. Use it for testing and development only. To create a certificate for production purposes, please use an air-gapped computer or a Hardware Security Module. When going to production, conduct a security review on your manifest signing infrastructure, as it is the core of the security guarantees for update client.</span>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like someone from Update to look at this note. @bremoran ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also it should come earlier (right around where I asked about a production flow)


<span class="notes">**Note:** The certificate created in `mbed dm init` is not suitable for production. Use it for testing and development only. To create a certificate for production purposes, please use an air-gapped computer or a Hardware Security Module. When going to production, conduct a security review on your manifest signing infrastructure, as it is the core of the security guarantees for update client.</span>

#### Single-device update
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need empty line after headers, too

Once you have run `mbed device-management init`, you can perform updates on a single device by:

```
$ mbed compile
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But what am I compiling? Where should I be at this point?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably immediately after mbed dm init, as the text above indicated.

1. Hash the payload and create a manifest that links to its location in Mbed Cloud.
1. Create an update campaign for the supplied device ID, with the newly created manifest.
1. Start the campaign.
1. Wait for the campaign to complete.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's waiting? Even though devices could take ages to come on line and receive an update? What happens if it fails? Do I see that here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whole point of the command is to update a device. so, yes it waits for that to happen, and yes that can take a while.

1. Create an update campaign for the supplied device ID, with the newly created manifest.
1. Start the campaign.
1. Wait for the campaign to complete.
1. Delete the payload, manifest and update campaign out of Mbed Cloud.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deletes the update campaign seems odd - don't we show all finished campaigns in the portal?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's intended for development, so I would expect a developer to do this flow 4-40 times/hour. That would flood the campaign list.

1. Wait for the campaign to complete.
1. Delete the payload, manifest and update campaign out of Mbed Cloud.

This allows development with a device for testing purposes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That should come before you start giving me commands - I want to know why I'm bothering to compile and run things.

$ mbed dm update prepare
```

Optionally, a name and description for the payload and corresponding manifest can be provided:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why passive?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copy paste.

Copy link
Contributor

@bridadan bridadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some initial comments. This a really great feature, can't wait to see it in action!

Start by configuring your Mbed Cloud SDK API Key, target and toolchain. Obtain the API Key from the Pelion portal.

```
$ mbed config -G CLOUD_SDK_API_KEY ak_...
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, I'd drop the CLOUD_SDK_ part

@@ -0,0 +1,76 @@
### Updating Devices with Mbed CLI

Mbed CLI includes features that help prepare and ship updates for devices managed through Pelion. The Mbed CLI uses the subcommands starting with `mbed device-management`, `mbed dev-mgmt` or `mbed dm` to manage devices.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd also clarify that these are all the same command, that they're just aliases. I'd suggest something along these lines (but feel free to tweak):

Mbed CLI provides the subcommand mbed device-management to manage devices (mbed dev-mgmt are mbed dm are also available as shorter aliases).

$ mbed device-management init -d "<company domain name>" -m "<product model identifier>"
```

First, this command asks for information about your update certificate. When Mbed CLI has enough information, it creates several files:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Total nit pick: The line "When Mbed CLI has enough information" tripped up my brain for a second (enough information from the command line args? Where is it coming from?). How do you feel about this as an alternative:

After completing the prompts, Mbed CLI creates several files:

Once you execute `mbed dm update prepare`, Mbed CLI automatically uploads to Mbed Device Management and you can then create and start an update campaign using the Mbed Cloud portal.

### Advanced usage
Mbed CLI allows for significantly more flexibility than the model above shows in exactly the same way as Manifest Tool. You can override each of the defaults that `mbed dm init` sets by using the command-line or an input file. Mbed CLI supports a variety of commands. You can print a full list of commands by using `manifest-tool --help`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing how this is the first mention of the manifest tool, I would provide a link to the tool's page.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/docs/working/updating-firmware/manifest-tool.html


Both methods of creating a manifest use the defaults created in `mbed dm init`. You can override each default using an input file or command-line arguments. See below for more details.

Once you execute `mbed dm update prepare`, Mbed CLI automatically uploads to Mbed Device Management and you can then create and start an update campaign using the Mbed Cloud portal.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Mbed CLI automatically uploads to Mbed Device Management"

What does Mbed CLI upload?

@AnotherButler
Copy link
Contributor

@MarceloSalazar @ashok-rao FYI

@theotherjimmy
Copy link
Contributor Author

@AnotherButler @iriark01 @MelindaWeed I'm done updating this for now. Feel free to review/suggest edits/edit at your leisure.

@MarceloSalazar
Copy link
Contributor

Thanks for sharing. This looks great :)
We'll be OOBing in few days.

Copy link
Contributor

@bridadan bridadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few naming concerns and little nits to improve readability.

@@ -0,0 +1,86 @@
### Updating Devices with Mbed CLI

Mbed CLI includes features to prepare and ship updates for devices managed through the [Device Management Portal](https://cloud.mbed.com/docs/current/introduction/index.html). Mbed CLI uses the subcommands starting with `mbed device-management`, `mbed dev-mgmt` or `mbed dm` to manage devices. As `device-management` is very long to type, the remainder of this document uses the `mbed dm` alias for all device management subcommands. This document explains the steps to enable and use Mbed Device Managment with a project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The document I have states that the full name is "Pelion Device Managment", not "Mbed Device Managment".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bridadan That's what I had before @MelindaWeed Asked me to change it to what it is now.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MelindaWeed @AnotherButler is "Mbed Device Management" correct? Everything I've seen so far says wither "Pelion Device Management" or just "Device Management". Sorry, not trying to belabor this but since Mbed CLI is pretty forward facing it'd be worth it to get this one right. Also, I guess I want to know for myself going forward what the right phrasing is. Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I should've been more specific.

'Mbed Device Management' is never used. Pelion Device Management is used at the first mention in a page or at the top level of any nested pages, but after that, the Pelion is dropped and it's just Device Management.

Mbed CLI, Mbed OS, and Mbed client (but NOT Mbed Cloud client) keep their names "for brand recognition" 🙄

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is indeed really confusing. Sorry for being unclear!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem! Thanks for clarifying!


#### Project Setup

Configuring your Mbed Cloud SDK API key, target and toolchain. Obtain the API key from the the Device Management Portal.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would honestly just drop the "Mbed Cloud SDK" bit here. Even though that's the library being used behind the scenes, its a bit confusing with the Pelion naming before it. Plus its fairly obvious what "API key" is.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's there to explain the configuration variable below, which is consistent with other configs: it's prefixed by MBED_ and added to the environment.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, fair enough. It's very minor either way 👍 I imagine these naming problems will get easier one all of the packages have been updated.

* A unique vendor identifier, based on the domain name supplied as the `-d` parameter to `mbed dm init`.
* A unique model identifier, based on the vendor identifier and the model name supplied as the `--model-name` to `mbed dm init`.
* The path of the update certificate and private key.
* Mbed Device Management developer credentials in `mbed_cloud_dev_credentials.c`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto about the "Mbed" prefix for "Device Management" here. Since you mentioned Pelion above I think you're ok just saying "Device Management" here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, @MelindaWeed Asked for this name change.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That'd just be Device Management. Sorry for not communicating the standards clearly.


#### Multidevice update

To update more than one device, you can use Mbed CLI to generate and upload a manifest and payload and the Mbed Device Management portal to create device filters that include many devices in an update campaign. After the steps in Project Setup, you can create and upload manifests and palyoads by:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First sentence is quite dense. How do you feel about breaking it up a bit? Something like:

"
To update more than one device, you can use Mbed CLI to generate and upload a manifest and payload. Then you can use the Mbed Device Management portal to create device filters that include many devices in an update campaign.
"

nit: maybe at the end say "upload manifests and payloads by running:"? Seems to read a little easier.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that reads better.

1. Create an update campaign for the supplied device ID, with the newly created manifest.
1. Start the campaign.
1. Wait for the campaign to complete.
1. Delete the payload, manifest and update campaign out of Mbed Device Management.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto about the "Mbed" prefixes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto about the name changes.


#### Single-device update

Mbed CLI provides a subcommand, `mbed dm update device`, for development with a device and for testing purposes. After following the steps in Project Setup, perform firmware updates on a single-device by:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: maybe at the end say "upload manifests and payloads by running:"? Seems to read a little easier.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. I can add running.

Copy link
Contributor

@bridadan bridadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good, but I still wouldn't mind having one last sign-off on the brand/naming mentioned above.

@melwee01
Copy link
Contributor

I've added some comments: you're right that it's just Device Management (excepting the first mention, which adds the Pelion). I thought I'd communicated that clearly enough, but I didn't. Sorry, will be more specific and give some examples next time.

Copy link
Contributor

@bridadan bridadan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

Make the rest of the requested changes, and copy edit for consistent tense and spelling.
@AnotherButler
Copy link
Contributor

@MelindaWeed @iriark01 Please make your final review. Also, did @bremoran ever review that note?

@theotherjimmy
Copy link
Contributor Author

@AnotherButler, @bremoran wrote the original text in that note.

@iriark01
Copy link
Contributor

iriark01 commented Sep 3, 2018

@AnotherButler Brendan and I are missing each other in terms of holidays. Please can you review this with him?

Copy link
Contributor

@MarceloSalazar MarceloSalazar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small but important change on using mbed dm update

Amanda Butler added 2 commits September 4, 2018 06:06
Update phrasing for product positioning.
@AnotherButler AnotherButler merged commit 3665b5a into ARMmbed:development Sep 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants