| Crates.io | owb-core |
| lib.rs | owb-core |
| version | 0.1.0 |
| created_at | 2025-07-08 03:20:51.797206+00 |
| updated_at | 2025-07-08 03:20:51.797206+00 |
| description | Core drivers and utilities for the Omni‑Wheel Bot (no‑std embedded robotics) |
| homepage | https://github.com/Token-Thinker/omni-wheel-bot |
| repository | https://github.com/Token-Thinker/omni-wheel-bot |
| max_upload_size | |
| id | 1741994 |
| size | 97,155 |
Core drivers and utilities for the Omni-Wheel Bot on no-std embedded platforms.
The owb-core crate provides core abstractions, drivers, and helper utilities for building omnidirectional robot firmware using the embedded-hal and Embassy ecosystems.
It is designed for no-std targets and supports async/await via Embassy.
Add owb-core to your Cargo.toml:
[dependencies]
owb-core = "0.1"
In your application:
#![no_std]
#![no_main]
use owb_core::utils::math::Vector2;
#[embassy_executor::main]
async fn main(_spawner: embassy_executor::Spawner) {
// Initialize peripherals and scheduler...
let v = Vector2::new(1.0, 0.0);
// Use utilities and controllers to drive the wheels
}
Full API documentation is available on docs.rs.
use picoserve::Router;
use embassy_executor::Spawner;
use owb_core::utils::connection::server::{WebSocket, ServerTimer};
#[embassy_executor::main]
async fn main(_spawner: Spawner) {
// Build the WebSocket route at `/ws`
let mut router = Router::new();
router.ws("/ws", WebSocket, ServerTimer);
// Listen for incoming WebSocket connections indefinitely
router.listen().await.unwrap();
}
This project is dual-licensed under MIT OR Apache-2.0. See the [LICENSE-MIT] and [LICENSE-APACHE] files for details.