Skip to content

Commit e75125f

Browse files
committed
Update actions overview
1 parent 5aa1c61 commit e75125f

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed
Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
# Built-in Actions
22

3-
::: tip Programming in high-level languages
3+
The WARDuino virtual machine includes built-in actions (sometimes we refer to these as primitives) that provide access to hardware and IoT specific functionality in WebAssembly programs.
44

5-
Language specific libraries for AssemblyScript and Rust, give access to the built-in primitives. [This guide](/guide/get-started) has more information on how to get started with them.
5+
## WebAssembly Actions
66

7-
:::
7+
The built-in actions are implemented seperately for each hardware platform.
8+
We group the built-in actions into modules, which are listed in the table below.
89

9-
The WARDuino virtual machine includes built-in primitives that provide access to hardware and IoT specific functionality to WebAssembly programs.
10+
| Module | Emulator | Arduino | ESP IDF | Zephyr | Open Bot Brain |
11+
|:------------------- |:--------:|:---------------------:|:---------------------:|:---------------------:|:---------------------:|
12+
| analog I/O || :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
13+
| digital I/O || :white_check_mark: | :white_check_mark: |||
14+
| external interrupts || :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
15+
| http || :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
16+
| mqtt || :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
17+
| neopixel || :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
18+
| servo motors || :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: ||
19+
| serial || :white_check_mark: | :heavy_minus_sign: | :construction_worker: | :construction_worker: |
20+
| spi || :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
21+
| time || :white_check_mark: | :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: |
22+
| wifi || :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
1023

11-
The built-in primitives are divided conceptually into different modules, according to the functionality they provide. The primitives are hardware dependent and so have to be implemented for each hardware platform separately. The table below list all modules, and on which platforms they are supported.
12-
13-
| Module | Arduino | ESP IDF | Zephyr |
14-
|:------------------- |:---------------------:|:---------------------:|:---------------------:|
15-
| analog I/O | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
16-
| digital I/O | :white_check_mark: | :white_check_mark: | :white_check_mark: |
17-
| external interrupts | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
18-
| http | :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: |
19-
| mqtt | :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: |
20-
| neopixel | :construction_worker: | :heavy_minus_sign: | :heavy_minus_sign: |
21-
| serial | :white_check_mark: | :heavy_minus_sign: | :construction_worker: |
22-
| spi | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
23-
| time | :white_check_mark: | :construction_worker: | :heavy_minus_sign: |
24-
| wifi | :white_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
24+
⏪ = implemented and reversible | ✅ = implemented | 👷 = partially implemented | ➖ = not implemented
2525

26-
:white_check_mark: = implemented | :construction_worker: = partially implemented | :heavy_minus_sign: = not implemented
26+
The built-in primitives are divided conceptually into different modules, according to the functionality they provide. The primitives are hardware dependent and so have to be implemented for each hardware platform separately. The table below list all modules, and on which platforms they are supported.
2727

28-
## Using Primitives
28+
### Using Actions
2929

30-
The primitives can be imported in WebAssembly from the `env` module.
30+
The actions can be imported in WebAssembly from the `env` module.
3131

3232
```wasm
3333
(import "env" "chip_delay" (func $delay (type $int->void)))
3434
```
3535

36-
## Custom Primitives
36+
## Custom Actions
3737

3838
The WARDuino virtual machine is open-source, and developers are encouraged to extend the existing primitives with their own functionality.
3939

0 commit comments

Comments
 (0)