From 6f58f06781e1acb27ffbc7cb90e21d67f25e6549 Mon Sep 17 00:00:00 2001 From: Zelzahn Date: Tue, 16 Apr 2024 09:28:18 +0200 Subject: [PATCH 1/4] redefine criteria --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9a1e28..0f9f72a 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ wasi-i2c is currently in [Phase 1](https://github.com/WebAssembly/WASI/blob/main ### Portability Criteria -WASI-I2C must have at least two complete independent implementations. One implementation must be implemented on a microcontroller. +WASI-I2C must have at least an independent implementation for the following platforms: Linux, ARM and RISC-V. Furthermore, an implementation also needs to be provided for a microcontroller. Here, a Cortex-M4 is targeted as the lowerbound. ### Introduction From dd8a74b1043090b513c9f9f511274c698a4c3e59 Mon Sep 17 00:00:00 2001 From: Zelzahn Date: Tue, 16 Apr 2024 09:33:23 +0200 Subject: [PATCH 2/4] add RTOS --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f9f72a..92281d5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ wasi-i2c is currently in [Phase 1](https://github.com/WebAssembly/WASI/blob/main ### Portability Criteria -WASI-I2C must have at least an independent implementation for the following platforms: Linux, ARM and RISC-V. Furthermore, an implementation also needs to be provided for a microcontroller. Here, a Cortex-M4 is targeted as the lowerbound. +WASI-I2C must have at least an independent implementation for the following platforms: Linux, ARM, RISC-V and a RTOS (Zephyr or FreeRTOS). Furthermore, an implementation also needs to be provided for a microcontroller. Here, a Cortex-M4 is targeted as the lowerbound. ### Introduction From 96d41d1780ae3a8abaf123f198fc5001509a29b5 Mon Sep 17 00:00:00 2001 From: Zelzahn Date: Wed, 17 Apr 2024 21:50:20 +0200 Subject: [PATCH 3/4] clarify --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 92281d5..2981fff 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,11 @@ wasi-i2c is currently in [Phase 1](https://github.com/WebAssembly/WASI/blob/main ### Portability Criteria -WASI-I2C must have at least an independent implementation for the following platforms: Linux, ARM, RISC-V and a RTOS (Zephyr or FreeRTOS). Furthermore, an implementation also needs to be provided for a microcontroller. Here, a Cortex-M4 is targeted as the lowerbound. +WASI-I2C must have at least an independent implementation for the following platforms: +- Linux (ARM) +- Linux (RISC-V) +- RTOS (Zephyr or FreeRTOS) +- Microcontroller implementation (Cortex M4 as a lowerbound) ### Introduction From d3ba4a8b0a74e185e22e294aef4faf2ab9f0c7a5 Mon Sep 17 00:00:00 2001 From: Zelzahn Date: Wed, 17 Apr 2024 21:57:04 +0200 Subject: [PATCH 4/4] clarify hal usage --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2981fff..bcc895b 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ WASI-I2C must have at least an independent implementation for the following plat ### Introduction -The WASI-I2C proposal defines an API for the I2C protocol. The API of [embedded_hal](https://github.com/rust-embedded/embedded-hal) is closely followed. +The WASI-I2C proposal defines an API for the I2C protocol. The API of [embedded_hal](https://github.com/rust-embedded/embedded-hal) is taken as an inspiration, but it is not necessary to make use of this library to implement this proposal. Reference implementations can be found in [i2c-wasm-components](https://github.com/Zelzahn/i2c-wasm-components). Furthermore, there is also a [wasi-embedded-hal](https://crates.io/crates/wasi-embedded-hal) crate that implements the `embedded-hal` traits for the generated bindings. @@ -34,6 +34,8 @@ The primary goal is to provide an interface that WASI programs can use to read a Although I2C is in some aspects not that different from SPI, the purpose of this proposal is to solely focus on I2C. +Currently, behaviour that is not specified by this API is seen as undefined and, unless there's sufficient interest, is regarded as out-of-scope. + ### API walk-through The full API documentation can be found [here](wasi-proposal-template.md).