Fixed tables.

This commit is contained in:
Florian Pose 2024-06-06 15:21:59 +02:00
parent 4a39a106e1
commit c4e2670164
1 changed files with 14 additions and 17 deletions

View File

@ -1,9 +1,10 @@
Notes regaring API Usage {#apiusage} Notes regaring API Usage {#apiusage}
======================== ========================
There are some restrictions on the [Application Interface](@ref There are some restrictions on the
ApplicationInterface) with respect to the state of the master instance and the [Application Interface](@ref ApplicationInterface) with respect to the state of
calling context, which are explained in the following. the master instance and the calling context, which are explained in the
following.
## Rules of Thumb ## Rules of Thumb
@ -16,7 +17,7 @@ ecrt_sdo_request_read(). Don't forget to ecrt_master_receive() and
ecrt_master_send(). These functions can be called from non-process context ecrt_master_send(). These functions can be called from non-process context
too, like Xenomai/RTAI applications or custom kernel modules. too, like Xenomai/RTAI applications or custom kernel modules.
## Master phase ## Master Phase
The first distinction of cases is whether ecrt_master_activate() has been The first distinction of cases is whether ecrt_master_activate() has been
called or not. Before ecrt_master_activate() (or after called or not. Before ecrt_master_activate() (or after
@ -27,13 +28,11 @@ the master switches into operation mode. The application is now in charge of
steering the communication. Process data can be exchanged under real time steering the communication. Process data can be exchanged under real time
constraints. Altering the slave configuration is not possible anymore. constraints. Altering the slave configuration is not possible anymore.
| Tag | Description | | Tag | Description |
|---------------|---------------------------------------------| |---------------|---------------------------------------------------------------------------------------|
| `master_op` | Master must be in operation phase, so after | | `master_op` | Master must be in operation phase, so after `ecrt_master_activate()` has been called. |
| | `ecrt_master_activate()` has been called. | | `master_idle` | Master must be in idle phase, so before `ecrt_master_activate()` has been called. |
| `master_idle` | Master must be in idle phase, so before | | `master_any` | Master can be in idle or operation phase. |
| | `ecrt_master_activate()` has been called. |
| `master_any` | Master can be in idle or operation phase. |
## Allowed Context ## Allowed Context
@ -45,9 +44,7 @@ in all contexts, for instance when using Xenomai/RTAI or a kernel timer. Only
a very limited set of functions can be called from any context, marked as a very limited set of functions can be called from any context, marked as
`rt_safe`. They do not allocate memory and will not block. `rt_safe`. They do not allocate memory and will not block.
| Tag | Description | | Tag | Description |
|------------|------------------------------------------------| |------------|-----------------------------------------------------------------------------------------------|
| `rt_safe` | Realtime context (RT userspace, atomic/softirq | | `rt_safe` | Realtime context (RT userspace, atomic/softirq context in kernel, Xenomai/RTAI RT task) safe. |
| | context in kernel, Xenomai/RTAI RT task) safe. | | `blocking` | Linux process context only (userspace or kernel), might block. |
| `blocking` | Linux process context only (userspace or |
| | kernel), might block. |