gitextract_5tcgoj5o/ ├── .cargo/ │ └── config.toml ├── .github/ │ └── workflows/ │ ├── artifacts.yml │ ├── ci.yml │ ├── mac-os.yml │ └── size-diff.yml ├── .gitignore ├── .gitmodules ├── .ignore ├── .vscode/ │ └── settings.json ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── Makefile ├── README.md ├── Targets.mk ├── apis/ │ ├── display/ │ │ └── screen/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── tests.rs │ ├── interface/ │ │ ├── buttons/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── buzzer/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── console/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ └── leds/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── tests.rs │ ├── kernel/ │ │ └── low_level_debug/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── tests.rs │ ├── net/ │ │ └── ieee802154/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── rx.rs │ │ └── tests.rs │ ├── peripherals/ │ │ ├── adc/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── alarm/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── gpio/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── i2c_master/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── i2c_master_slave/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── rng/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── spi_controller/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── sensors/ │ │ ├── air_quality/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── ambient_light/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── ninedof/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── proximity/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── sound_pressure/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ └── temperature/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── tests.rs │ └── storage/ │ └── key_value/ │ ├── Cargo.toml │ └── src/ │ ├── lib.rs │ └── tests.rs ├── build.rs ├── build_scripts/ │ ├── Cargo.toml │ ├── README.md │ ├── libtock_layout.ld │ └── src/ │ └── lib.rs ├── demos/ │ ├── embedded_graphics/ │ │ ├── buttons/ │ │ │ ├── Cargo.toml │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ └── src/ │ │ │ └── main.rs │ │ └── spin/ │ │ ├── Cargo.toml │ │ ├── Makefile │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ └── main.rs │ ├── st7789/ │ │ ├── Cargo.toml │ │ ├── Makefile │ │ ├── build.rs │ │ └── src/ │ │ └── main.rs │ └── st7789-slint/ │ ├── Cargo.toml │ ├── Makefile │ ├── build.rs │ ├── src/ │ │ └── main.rs │ └── ui/ │ └── appwindow.slint ├── doc/ │ ├── CargoFeatures.md │ ├── CodeReview.md │ ├── Dependencies.md │ ├── DesignConsiderations.md │ ├── FaultDebuggingExample.md │ ├── MiriTips.md │ ├── Overview.md │ ├── PlatformDesignStory.md │ ├── Startup.md │ ├── Style.md │ ├── Testing.md │ └── UnitTestOwnership.md ├── examples/ │ ├── adc.rs │ ├── ambient_light.rs │ ├── blink.rs │ ├── buttons.rs │ ├── console.rs │ ├── gpio.rs │ ├── i2c_master_write_read.rs │ ├── i2c_slave_send_recv.rs │ ├── ieee802154_raw.rs │ ├── ieee802154_rx_raw.rs │ ├── ieee802154_rx_tx_raw.rs │ ├── ieee802154_tx_raw.rs │ ├── kv.rs │ ├── leds.rs │ ├── low_level_debug.rs │ ├── music.rs │ ├── ninedof.rs │ ├── proximity.rs │ ├── rng.rs │ ├── rng_async.rs │ ├── screen.rs │ ├── sound_pressure.rs │ ├── spi_controller_write_read.rs │ ├── temperature.rs │ └── usb_i2c_mctp.rs ├── libraries/ │ └── embedded_graphics_libtock/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── lib.rs │ └── tock_screen.rs ├── nightly/ │ └── rust-toolchain.toml ├── panic_handlers/ │ ├── debug_panic/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── small_panic/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── platform/ │ ├── Cargo.toml │ └── src/ │ ├── allow_ro.rs │ ├── allow_rw.rs │ ├── command_return.rs │ ├── command_return_tests.rs │ ├── constants.rs │ ├── default_config.rs │ ├── error_code.rs │ ├── error_code_tests.rs │ ├── exit_on_drop.rs │ ├── lib.rs │ ├── raw_syscalls.rs │ ├── register.rs │ ├── return_variant.rs │ ├── share/ │ │ ├── handle.rs │ │ ├── mod.rs │ │ ├── tests.rs │ │ └── tuple_impls.rs │ ├── subscribe.rs │ ├── syscalls.rs │ ├── syscalls_impl.rs │ ├── termination.rs │ └── yield_types.rs ├── runner/ │ ├── Cargo.toml │ └── src/ │ ├── elf2tab.rs │ ├── main.rs │ ├── output_processor.rs │ ├── qemu.rs │ └── tockloader.rs ├── runtime/ │ ├── Cargo.toml │ └── src/ │ ├── lib.rs │ ├── startup/ │ │ ├── asm_arm.s │ │ ├── asm_riscv32.s │ │ ├── asm_x86.s │ │ ├── mod.rs │ │ └── start_prototype.rs │ ├── syscalls_impl_arm.rs │ ├── syscalls_impl_riscv.rs │ └── syscalls_impl_x86.rs ├── rust-toolchain.toml ├── rustfmt.toml ├── src/ │ ├── lib.rs │ └── spi_controller.rs ├── syscalls_tests/ │ ├── Cargo.toml │ └── src/ │ ├── allow_ro.rs │ ├── allow_rw.rs │ ├── command_tests.rs │ ├── exit_on_drop.rs │ ├── lib.rs │ ├── memop_tests.rs │ ├── subscribe_tests.rs │ └── yield_tests.rs ├── tools/ │ └── print_sizes/ │ ├── Cargo.toml │ └── src/ │ └── main.rs ├── ufmt/ │ ├── Cargo.toml │ ├── LICENSE-APACHE │ ├── LICENSE-MIT │ ├── README.md │ ├── macros/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── src/ │ │ ├── helpers.rs │ │ ├── impls/ │ │ │ ├── array.rs │ │ │ ├── core.rs │ │ │ ├── ixx.rs │ │ │ ├── nz.rs │ │ │ ├── ptr.rs │ │ │ ├── std.rs │ │ │ ├── tuple.rs │ │ │ └── uxx.rs │ │ ├── impls.rs │ │ ├── lib.rs │ │ └── macros.rs │ ├── tests/ │ │ └── vs-std-write.rs │ ├── utils/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── write/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs └── unittest/ ├── Cargo.toml └── src/ ├── allow_db.rs ├── allow_db_test.rs ├── command_return.rs ├── driver_info.rs ├── exit_test/ │ ├── mod.rs │ └── tests.rs ├── expected_syscall.rs ├── fake/ │ ├── adc/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── air_quality/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── alarm/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── ambient_light/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── buttons/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── buzzer/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── console/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── gpio/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── ieee802154/ │ │ └── mod.rs │ ├── kernel.rs │ ├── kernel_tests.rs │ ├── key_value/ │ │ └── mod.rs │ ├── leds/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── low_level_debug/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── mod.rs │ ├── ninedof/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── proximity/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── screen/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── sound_pressure/ │ │ ├── mod.rs │ │ └── tests.rs │ ├── syscall_driver.rs │ ├── syscalls/ │ │ ├── allow_ro_impl.rs │ │ ├── allow_ro_impl_tests.rs │ │ ├── allow_rw_impl.rs │ │ ├── allow_rw_impl_tests.rs │ │ ├── command_impl.rs │ │ ├── command_impl_tests.rs │ │ ├── exit_impl.rs │ │ ├── exit_impl_tests.rs │ │ ├── memop_impl.rs │ │ ├── memop_impl_tests.rs │ │ ├── mod.rs │ │ ├── raw_syscalls_impl.rs │ │ ├── raw_syscalls_impl_tests.rs │ │ ├── subscribe_impl.rs │ │ ├── subscribe_impl_tests.rs │ │ ├── yield_impl.rs │ │ └── yield_impl_tests.rs │ └── temperature/ │ ├── mod.rs │ └── tests.rs ├── kernel_data.rs ├── lib.rs ├── share_data.rs ├── syscall_log.rs └── upcall.rs