r3_core 0.1.4

R3-OS API definition
Documentation
svgbobdoc::transform! { /**
```svgbob,[trait_binding]
Application and library code

                   .----------.  .--------------------. .-----------.
                   | your_isr |  | your_timer_handler | | your_task |
                   '----------'  '--------------------' '-----------'
                        |                  |                |   |
────────────────────────|──────────────────|────────────────|───|──────────────────────────
Facade API              |------------------+----------------'   |
                        |                                       |
                        |                                       v
"r3::*"                 |                .-------------------------------.
                        |                | struct sync::Mutex<System, T> |
                        |                '-------------------------------'
                        |                               |
────────────────────────|───────────────────────────────|──────────────────────────────────
Core API                |                     .---------+----------------.
                        v                     |                          |
                 .--------------.             v                          v
                 | trait Kernel |  .----------------------.  .---------------------.
"r3_core::kernel"+--------------+  | struct Mutex<System> |  | struct Hunk<System> |
                 | impl Kernel  |  '----------------------'  '---------------------'
                 '--------------'             |                       |
                        |                     |                       |
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ | ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ | ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ | ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
                        |                     |                       |
                        v                     v                       v
System type    .------------------.  .-------------------.  .--------------------.
interface      | trait KernelBase |  | trait KernelMutex |  | trait KernelStatic |  . . .
               '------------------'  '-------------------'  '--------------------'
                        |                     |                       |
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ | ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ | ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ | ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
                        |                     |                       |
                        |                     |                       v
"r3::kernel::cfg"       |                     |             .-------------------.
 "::attach_static!"     |                     |             | impl KernelStatic |
                        |                     |             '-------------------'
                        |                     |
Core API                |                     |
Implementation          |                     |
────────────────────────|─────────────────────|────────────────────────────────────────────
                        |                     |
System type             v                     v
implementation  .-----------------.  .------------------.
"(chosen by an" | impl KernelBase |  | impl KernelMutex |
"application)"  '-----------------'  '------------------'
```
*/ }