env
Environment and system control bindings for ESP32 Provides basic system functions like reboot, delay, and pin control
- AssemblyScript
- Zig
- Rust
- TinyGo
- C
- C++
// @ts-ignore
@external("env", "reboot")
export declare function reboot(): void;
// @ts-ignore
@external("env", "delay")
export declare function delay(milliseconds: u32): void;
// @ts-ignore
@external("env", "println")
export declare function println(message: u32): void;
// @ts-ignore
@external("env", "dequeue_action_request")
export declare function dequeueActionRequest(): u32;
// @ts-ignore
@external("env", "get_action_request_data")
export declare function getActionRequestData(actionRequestPtr: u32): u32;
// @ts-ignore
@external("env", "destroy_action_request")
export declare function destroyActionRequest(actionRequestPtr: u32): void;
// @ts-ignore
@external("env", "print")
export declare function print(message: u32): void;
pub extern "env" fn reboot() void;
pub extern "env" fn delay(milliseconds: u32) void;
pub extern "env" fn println(message: u32) void;
pub extern "env" fn dequeue_action_request() u32;
pub extern "env" fn get_action_request_data(action_request_ptr: u32) u32;
pub extern "env" fn destroy_action_request(action_request_ptr: u32) void;
pub extern "env" fn print(message: u32) void;
#[link(wasm_import_module = "env")]
extern "C" {
#[link_name = "reboot"]
fn unsafe_reboot();
#[link_name = "delay"]
fn unsafe_delay(milliseconds: u32);
#[link_name = "println"]
fn unsafe_println(message: u32);
#[link_name = "dequeue_action_request"]
fn unsafe_dequeue_action_request() -> u32;
#[link_name = "get_action_request_data"]
fn unsafe_get_action_request_data(action_request_ptr: u32) -> u32;
#[link_name = "destroy_action_request"]
fn unsafe_destroy_action_request(action_request_ptr: u32);
#[link_name = "print"]
fn unsafe_print(message: u32);
}
pub fn reboot() {
unsafe {
unsafe_reboot();
}
}
pub fn delay(milliseconds: u32) {
unsafe {
unsafe_delay(milliseconds);
}
}
pub fn println(message: u32) {
unsafe {
unsafe_println(message);
}
}
pub fn dequeue_action_request() -> u32 {
unsafe {
return unsafe_dequeue_action_request();
}
}
pub fn get_action_request_data(action_request_ptr: u32) -> u32 {
unsafe {
return unsafe_get_action_request_data(action_request_ptr);
}
}
pub fn destroy_action_request(action_request_ptr: u32) {
unsafe {
unsafe_destroy_action_request(action_request_ptr);
}
}
pub fn print(message: u32) {
unsafe {
unsafe_print(message);
}
}
package env
//go:wasmimport env reboot
func Reboot();
//go:wasmimport env delay
func Delay(Milliseconds uint32);
//go:wasmimport env println
func Println(Message uint32);
//go:wasmimport env dequeue_action_request
func DequeueActionRequest() uint32;
//go:wasmimport env get_action_request_data
func GetActionRequestData(ActionRequestPtr uint32) uint32;
//go:wasmimport env destroy_action_request
func DestroyActionRequest(ActionRequestPtr uint32);
//go:wasmimport env print
func Print(Message uint32);
__attribute__((import_module("env")))
__attribute__((import_name("reboot")))
extern void reboot();
__attribute__((import_module("env")))
__attribute__((import_name("delay")))
extern void delay(unsigned int milliseconds);
__attribute__((import_module("env")))
__attribute__((import_name("println")))
extern void println(unsigned int message);
__attribute__((import_module("env")))
__attribute__((import_name("dequeue_action_request")))
extern unsigned int dequeue_action_request();
__attribute__((import_module("env")))
__attribute__((import_name("get_action_request_data")))
extern unsigned int get_action_request_data(unsigned int action_request_ptr);
__attribute__((import_module("env")))
__attribute__((import_name("destroy_action_request")))
extern void destroy_action_request(unsigned int action_request_ptr);
__attribute__((import_module("env")))
__attribute__((import_name("print")))
extern void print(unsigned int message);
extern "C" {
__attribute__((import_module("env")))
__attribute__((import_name("reboot")))
extern void reboot();
__attribute__((import_module("env")))
__attribute__((import_name("delay")))
extern void delay(unsigned int milliseconds);
__attribute__((import_module("env")))
__attribute__((import_name("println")))
extern void println(unsigned int message);
__attribute__((import_module("env")))
__attribute__((import_name("dequeue_action_request")))
extern unsigned int dequeue_action_request();
__attribute__((import_module("env")))
__attribute__((import_name("get_action_request_data")))
extern unsigned int get_action_request_data(unsigned int action_request_ptr);
__attribute__((import_module("env")))
__attribute__((import_name("destroy_action_request")))
extern void destroy_action_request(unsigned int action_request_ptr);
__attribute__((import_module("env")))
__attribute__((import_name("print")))
extern void print(unsigned int message);
}