This directory contains example applications that showcase how to use Ariel OS.
- alloc/: Demonstrates how to use an allocator
- benchmark/: How to use
benchmark() - ble-advertiser: Demonstrates how to advertise a BLE peripheral
- ble-scanner: Demonstrates how to scan for BLE devices in central mode
- blinky/: Demonstrates basic GPIO output usage
- coap-server and coap-client: Application level networking examples
- device-metadata/: Retrieve metadata about the running device
- gpio/: GPIO pin control example.
- gpio-reuse/: Change GPIO role at runtime
- hello-world/: A classic, async version
- hello-world-threading/: A classic, using a thread
- http-client/: HTTP client example
- http-server/: HTTP server example
- i2c-scanner/: I2C bus scanner
- log: Example demonstrating different log levels for printing feedback messages.
- minimal/: Minimized to the max Ariel OS config
- power/: Demonstrates power management functionality
- random/: Demonstrates obtaining random values
- sensors-debug/: Demonstrates accessing the sensor API.
- storage/: Demonstrates persistent storage interaction
- tcp-client/: Demonstrates basic Embassy TCP networking usage
- tcp-echo/: TCP echo example
- testing/: Demonstrates
embedded-testintegration - thread-async-interop/: How to make async tasks and preemptively scheduled threads interoperate
- threading/: How to start and use preemptively scheduled threads
- threading-channel/: How to use
ariel_os::thread::sync::Channelfor passing messages between threads - threading-event/: How to use
ariel_os::thread::sync::Event - threading-multicore/: Demonstrates basic threading on multicore
- threading-timers/: Demonstrates how to use timers with threads
- udp-echo/: UDP echo example
- usb-keyboard/: USB HID example
- usb-serial/: USB serial example
Some examples demonstrate networking capabilities. By default, they will try to get an IP address via DHCPv4.
See the networking documentation to learn how to set up networking.