## General - [x] Split README.md and crate documentation? - [ ] General documentation cleanup. - [ ] Simplify `Error` types and review the design. - [ ] Review logging structure and maybe switch to span-based logging in places. - [ ] Replace uses of `std` with `core`/`alloc` to start moving toward `no_std` support. - [ ] Remove unnecessary derives. - [ ] Restrict visibility for internal library components. ## USB - [x] Put `usb` backend behind a feature flag. - [x] Do not expose `rusb::Error`. ## HCI - [x] Populate `hci::Conn::local_addr` when the connection is created. This requires `hci::Host` to track advertising state commands. - [x] Block on `hci::Error::CommandQuotaExceeded`. - [x] Store `DisconnectionComplete` reason. - [ ] Log informational events (e.g. `ReadRemoteVersionInformationComplete`, `LePathLossThreshold`). ## L2CAP - [x] Handle L2CAP Signal channel events. - [x] Get rid of `l2cap::Alloc` and cache transfers in `RawChan`. ## SMP - [ ] Send encryption request when the client first connects. - [ ] Handle SMP rate limiting and repeated pairing attempts. - [ ] Atomic file storage. - [ ] Review `smp::{Display, Confirm}` API. ## HID - [x] Review HID module design and simplify for the new API. - [x] Use physical DPI units for the mouse.
General
Errortypes and review the design.stdwithcore/allocto start moving towardno_stdsupport.USB
usbbackend behind a feature flag.rusb::Error.HCI
hci::Conn::local_addrwhen the connection is created. This requireshci::Hostto track advertising state commands.hci::Error::CommandQuotaExceeded.DisconnectionCompletereason.ReadRemoteVersionInformationComplete,LePathLossThreshold).L2CAP
l2cap::Allocand cache transfers inRawChan.SMP
smp::{Display, Confirm}API.HID