From 46178a93ed7e634b4d39fbb30bf83cdcb2c7d0c9 Mon Sep 17 00:00:00 2001 From: QuestEscaper Date: Sun, 24 Nov 2019 21:16:37 +0100 Subject: [PATCH] Add architecture figure --- firmware/README.md | 8 ++++++++ firmware/components.png | Bin 0 -> 47512 bytes 2 files changed, 8 insertions(+) create mode 100644 firmware/components.png diff --git a/firmware/README.md b/firmware/README.md index dd20490..ed493ce 100644 --- a/firmware/README.md +++ b/firmware/README.md @@ -201,3 +201,11 @@ You can find it under the name `setup_nrf52.py`. The accompanying `nrf52.json` f Finally you can apply the patch from this repository to an existing IDA Pro plugin to display the description and bitfields when you're hovering a register name in the Disassembly or Pseudocode view. That's all for now, next time we will try documenting the firmware itself. + +## Architecture + +Here is the overall architecture, at least, here is how we understand it: + +![Components](components.png) + +The main CPU communicates via SPI with a component called SyncBoss and based on nRF52 chip. This component is responsible for communicating with all peripherals: local sensors (inertial measurement unit, geomagnetic sensor, proximity sensor) and remote devices (pulsars, aka Oculus Touch). Communication with the pulsars is done via a 2.4 GHz proprietary protocol that we have yet to identify, but it not Bluetooth or Bluetooth Low Energy. diff --git a/firmware/components.png b/firmware/components.png new file mode 100644 index 0000000000000000000000000000000000000000..735c7cb3d95e0ce04c9ab5dbce510331c645a3d1 GIT binary patch literal 47512 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 literal 0 HcmV?d00001