Skip to content

Commit 790e083

Browse files
committed
More READMEs
1 parent a45d156 commit 790e083

7 files changed

Lines changed: 44 additions & 7 deletions

File tree

README.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ Index of contents:
1818
Detailed descriptions of controller hardware, Bluetooth packet types and contents, and other firmware oddities.
1919

2020
- [Daydream Controller (a.k.a. Paprika)](Writeups/Reference%20-%20Daydream%20%28Paprika%29.md)
21-
- [Beeped-out PCB Top](PCB%20Beepouts/Daydream%20PCB%20Beepout%20Top.png)
22-
- [Beeped-out PCB Bottom](PCB%20Beepouts/Daydream%20PCB%20Beepout%20Bottom.png)
21+
- [Beeped-out PCB Top](Writeups/PCB%20Beepouts/Daydream%20PCB%20Beepout%20Top.png)
22+
- [Beeped-out PCB Bottom](Writeups/PCB%20Beepouts/Daydream%20PCB%20Beepout%20Bottom.png)
2323

2424
- [GearVR Controller (a.k.a. Gochugaru)](Writeups/Reference%20-%20GearVR%20%28Gochugaru%29.md)
2525

@@ -30,14 +30,22 @@ Detailed descriptions of controller hardware, Bluetooth packet types and content
3030
- Parsing and generating Daydream MTP Serial packets.
3131
- `no_std` and `no_alloc` compatible!
3232
- [`daydream-airmouse`](daydream-airmouse/)
33-
- WIP crate for generating mouse movement commands based on the IMU + touchpad + button inputs of the Daydream/GearVR controllers.
33+
- **WIP** Crate for generating mouse movement commands based on the IMU + touchpad + button inputs of the Daydream/GearVR controllers.
3434
- `no_std` and `no_alloc` compatible!
3535
- [`daydream-airmouse-uinput`](daydream-airmouse-uinput/)
36-
- Linux-only uinput-enabled client for controlling the mouse via [`daydream-airmouse`](daydream-airmouse/)
36+
- Linux-only uinput-enabled client for controlling the mouse via [`daydream-airmouse`](daydream-airmouse/).
37+
- Primarily a testbed to speed up development, not intended for daily use.
3738
- [`daydream-airmouse-esp`](daydream-airmouse-esp/)
38-
- WIP ESP32-S3 firmware to connect to Daydream/GearVR controllers and output mouse/keyboard events over native USB HID.
39+
- **WIP** ESP32-S3 firmware to connect to Daydream/GearVR controllers and output mouse/keyboard events over native USB HID.
3940
- Very early (non-functional ATM), ironing out BLE connection issues with the still-blossoming esp-rs toolchain.
4041
- Uses `no_std`.
4142
- [`gamepad-motion-helpers`](gamepad-motion-helpers/)
4243
- A from-scratch native Rust port of Jibb Smart's original C++ [GamepadMotionHelpers](https://github.com/JibbSmart/GamepadMotionHelpers).
44+
- Tests compare against the original library via [`gamepad_motion`](https://crates.io/crates/gamepad_motion)!
4345
- `no_std` and `no_alloc` compatible!
46+
47+
### Special thanks:
48+
49+
- [MuffinTastic](https://github.com/MuffinTastic) for their encouragment, assistance, and knowledge.
50+
- [`deku`](https://github.com/sharksforarms/deku) for making working with bitfields a pleasure rather than a pain.
51+
- [ImHex](https://github.com/WerWolv/ImHex) for being excellent overall, especially with it's support for visualizing patterns.

Writeups/Reference - Daydream (Paprika).md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
* Per-device
6565
* Hardware Revision - `0x2A27`
6666
* `HW_VERSION` and `BOOTLOADER_VERSION` joined by a `.`
67-
* Examples I've seen:
67+
* Values I've seen:
6868
* `0003.ffff`
6969
* `0007.0003`
7070
* `0005.0003`
@@ -243,7 +243,7 @@ Ensure RTS and DTR are asserted `true` after connecting to the USB Serial Port.
243243
`/etc/udev/rules.d/99-paprika-udev.rules`
244244

245245
````
246-
# Google Daydream Controller (Paprika/D801) USB CDC-ACM
246+
# Google Daydream Controller (Paprika/D801) USB CDC-ACM
247247
ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9210", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
248248
````
249249

daydream-airmouse-esp/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# daydream-airmouse-esp
2+
3+
- **WIP** ESP32-S3 firmware to connect to Daydream/GearVR controllers and output mouse/keyboard events over native USB HID.
4+
- Very early (non-functional ATM), ironing out BLE connection issues with the still-blossoming esp-rs toolchain.
5+
- Uses `no_std`.

daydream-airmouse-uinput/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# daydream-airmouse-uinput
2+
3+
- Linux-only uinput-enabled client for controlling the mouse via [`daydream-airmouse`](daydream-airmouse/).
4+
- Primarily a testbed to speed up development, not intended for daily use.

daydream-airmouse/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# daydream-airmouse
2+
3+
- **WIP** Crate for generating mouse movement commands based on the IMU + touchpad + button inputs of the Daydream/GearVR controllers.
4+
- `no_std` and `no_alloc` compatible!

daydream-catcher/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# daydream-catcher
2+
3+
- Parses Daydream (Paprika) and GearVR (Gochugaru) controller packets.
4+
- Parses and generates Daydream MTP Serial packets.
5+
- The framed packet format used by the (USB) Serial bus when the console is in Prod mode.
6+
- `no_std` and `no_alloc` compatible!
7+
- Uses `glam@0.14-0.30` for the resulting Vector3 and Matrix types.

gamepad-motion-helpers/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# gamepad-motion-helpers
2+
3+
- A from-scratch native Rust port of Jibb Smart's original C++ [GamepadMotionHelpers](https://github.com/JibbSmart/GamepadMotionHelpers).
4+
- Tests compare against the original via `autocxx` via [`gamepad_motion`](https://crates.io/crates/gamepad_motion)!
5+
- `no_std` and `no_alloc` compatible!
6+
7+
TODO:
8+
9+
- Needs a polish pass on the available API, the one-to-one match is pretty clunky.

0 commit comments

Comments
 (0)