Defer the implementation of Session commands to the Device struct

Change-Id: I67d6cac1a84b8c4e2e91c5f86d472d6efd5604c8
3 files changed
tree: 25e43eb7aae0a64a3d6fcf56ec45dcaddb0b212e
  1. scripts/
  2. src/
  3. static/
  4. .gitignore
  5. Cargo.lock
  6. Cargo.toml
  7. README.md
README.md

Pica

The UWB virtual controller.

Architecture

                 ┌────────────────────┐
                 │ Web                │
                 │                    │
                 └─────┬─────────▲────┘
                       │         │    HTTP localhost:3000
  ┌────────────────────▼─────────┴───────┐
  │                                      │
  │                 Picaaaaaaaaaa        │
  │                                      │
  │  ┌────────┐  ┌────────┐  ┌────────┐  │
  │  │Beacon1 │  │Device1 │  │Device2 │  │
  │  ├────────┤  │        │  │        │  │
  │  │Beacon2 │  ├────────┤  ├────────┤  │
  │  ├────────┤  │Session1│  │Session1│  │
  │  │...     │  ├────────┤  ├────────┤  │
  │  │        │  │Session2│  │Session2│  │
  │  └────────┘  └──▲──┬──┘  └──▲──┬──┘  │
  │                 │  │        │  │     │
  └─────────────────┼──┼────────┼──┼─────┘
                    │  │        │  │  TCP localhost:7000
                 ┌──┴──▼──┐  ┌──┴──▼──┐
                 │Client1 │  │Client2 │
                 │        │  │        │
                 ├────────┤  ├────────┤
                 │VirtIO  │  │        │
                 ├────────┤  │        │
                 │UWB HAL │  │        │
                 ├────────┤  │Python  │
                 │Cuttle  │  │console │
                 │fish    │  │        │
                 └────────┘  └────────┘