Skip to content

Document update on bare metal supported APIs. #1304

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

Closed
wants to merge 17 commits into from

Conversation

rajkan01
Copy link
Contributor

Updated the documentation on bare metal profile supported APIs.

Reviewers

@evedon @iriark01

@iriark01
Copy link
Contributor

I will need to make this and #1303 work together

@rajkan01 rajkan01 force-pushed the baremetal_update_api branch 3 times, most recently from 093f2f0 to 5c7d405 Compare April 24, 2020 11:39
@rajkan01 rajkan01 force-pushed the baremetal_update_api branch from 5c7d405 to 2db1ed7 Compare April 24, 2020 11:41
docs/api/api.md Outdated
@@ -1,30 +1,41 @@
# Full API list
<!--these are now just the APIs - do I want to add the tutorials?-->

This document lists Mbed OS components supported APIs. In general, it lists both common APIs (RTOS and the bare metal profile supported), and RTOS only supported APIs, but occasionally, It has either one.
Copy link
Contributor

Choose a reason for hiding this comment

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

This sentence needs editing.

Copy link
Contributor

Choose a reason for hiding this comment

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

  1. In this context, what does "component" mean?
  2. What does "it has either one" refer to?

docs/api/api.md Outdated
<td><a href="semaphore.html">Semaphore</a></td>
<td><a href="userallocatedevent.html">UserAllocatedEvent</a></td>
<td><a href="eventflags.html">EventFlags</a></td>
<td><a href="kernel-interface-functions.html">Kernel interface functions</a></td>
Copy link
Contributor

Choose a reason for hiding this comment

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

Only get_ms_count is supported in bare metal.
attach_idle_hook & attach_thread_terminate_hook are RTOS only functions.
I think it is better to say that "Kernel interface functions" are RTOS only except for one. Note that you will need doxygen for Kernel.h

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We could add this information in the kernel-interface-functions.html file instead of describe in api.md file.
@iriark01 Could you please suggest

<tr>
<th colspan="2">Features/Components</th>
<th>Mbed OS bare metal</th>
<th> Mbed OS RTOS</th>
Copy link
Contributor

Choose a reason for hiding this comment

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

This third column is not useful as all APIs are available.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will get help from @iriark01 to address this review comment

Copy link
Contributor

@iriark01 iriark01 left a comment

Choose a reason for hiding this comment

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

I will talk to the UX team about how best to display the APIs.
When that's ready, I'll do a language review and get this PR and 1303 integrated.

@@ -4,19 +4,125 @@ There are many use cases for IoT devices. Different use cases require different

<span class="images">![Mbed OS bare metal profile block diagram](../../images/bare_metal_block_diagram.png)<span>Mbed OS bare metal profile block digram</span></span>

The Mbed OS bare metal profile is a compact profile of Mbed OS without an RTOS. The Mbed OS bare metal profile is API compatible with Mbed OS and supports a subset of Mbed OS features, such as analog I/O, digital I/O, timers and digital interfaces, such as SPI, I2C, Serial and CAN. Mbed Studio, Mbed CLI and the Mbed Online Compiler all support the Mbed OS bare metal profile.
The Mbed OS bare metal profile is a compact profile of Mbed OS without an RTOS. Most of the Mbed OS APIs are compatible with bare metal profile and below table shows the availability of various Mbed OS features and components on bare metal profile.
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks like this list and the general API list have a lot of duplicate content. What is the purpose of this list?

Copy link
Contributor

Choose a reason for hiding this comment

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

One is a summary of features, the other is a list of APIs.

@@ -4,19 +4,125 @@ There are many use cases for IoT devices. Different use cases require different

Copy link
Contributor

Choose a reason for hiding this comment

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

Please note that in PR 1303, I edited the intro to this page.

docs/api/api.md Outdated
@@ -1,30 +1,41 @@
# Full API list
<!--these are now just the APIs - do I want to add the tutorials?-->

This document lists Mbed OS components supported APIs. In general, it lists both common APIs (RTOS and the bare metal profile supported), and RTOS only supported APIs, but occasionally, It has either one.
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. In this context, what does "component" mean?
  2. What does "it has either one" refer to?

@@ -1,30 +1,42 @@
# Full API list
<!--these are now just the APIs - do I want to add the tutorials?-->

This document lists Mbed OS components supported APIs. In general, it lists both common APIs (RTOS and the bare metal profile supported), and RTOS only supported APIs, but occasionally, It has either one.

## RTOS and event handling
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. Evelyne, Bartek and Andy have just confirmed that it's "full profile" and "bare metal profile", not "RTOS profile". I will edit this page to reflect that.
  2. I'm going to talk to the UX team about how best to show which APIs are full profile only, and which are also for bare metal. I think the multiple headers will confuse users.

@iriark01 iriark01 self-assigned this Apr 28, 2020
rajkan01 and others added 15 commits April 28, 2020 11:09
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
Co-Authored-By: Evelyne Donnaes <[email protected]>
@evedon evedon closed this Apr 28, 2020
@evedon
Copy link
Contributor

evedon commented Apr 28, 2020

@iriark01 to take over using content from this PR

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.

3 participants