I2C Registers: Difference between revisions
No edit summary |
|||
Line 227: | Line 227: | ||
== Device 3 == | == Device 3 == | ||
ro = read-only (writing is no-op) | |||
rw = read-write | |||
wo = write-only (reading will yield 00, FF, or unpredictable data) | |||
s* = shared register (explaination below this table) | |||
*v = volatile (survives reboots) | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! REGISTER | ! REGISTER | ||
Line 319: | Line 324: | ||
| 0x15 | | 0x15 | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x16 | | 0x16 | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x17 | | 0x17 | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
Line 365: | Line 370: | ||
| 0x1C | | 0x1C | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x1D | | 0x1D | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x1E | | 0x1E | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x1F | | 0x1F | ||
| s | | s | ||
| rw | | rw v | ||
| ? | | ? | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 407: | Line 412: | ||
bit2: bottom screen backlight off | bit2: bottom screen backlight off | ||
bit3: bottom screen backlight on | bit3: bottom screen backlight on | ||
bit4: top screen backlight off | bit4: top screen backlight off | ||
bit5: top screen backlight on | bit5: top screen backlight on | ||
bits 4 and 5 have no effect on a 2DS because the backlight source is the bottom screen | |||
|- | |- | ||
| 0x23 | | 0x23 | ||
Line 448: | Line 455: | ||
| s | | s | ||
| rw | | rw | ||
| WiFi LED state, non-0 value turns on the WiFi LED, | | WiFi LED state, non-0 value turns on the WiFi LED, 4 bits wide | ||
|- | |- | ||
| 0x2B | | 0x2B | ||
Line 458: | Line 465: | ||
| s | | s | ||
| rw | | rw | ||
| 3D LED state, | | 3D LED state, 4 bits wide | ||
|- | |- | ||
| 0x2D | | 0x2D | ||
Line 483: | Line 490: | ||
byte 1: minutes | byte 1: minutes | ||
byte 2: hours | byte 2: hours | ||
byte 3: current | byte 3: current week (unused) | ||
byte 4: days | byte 4: days | ||
byte 5: months | byte 5: months | ||
byte 6: years | byte 6: years | ||
byte 7: leap year counter (unused) | byte 7: leap year counter / "watch error correction" register (unused) | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
- | - 0x3A | ||
| s | | s | ||
| rw | | rw | ||
| RTC alarm registers | | RTC alarm registers | ||
Register 0x3B could be used to upload [[MCU_Services#MCU_firmware_versions|MCU firmware]] if some conditions are met. | byte 0: minutes | ||
byte 1: hours | |||
byte 2: week | |||
|- | |||
| 0x3B | |||
- 0x3D | |||
| s | |||
| rw | |||
| Register 0x3B could be used to upload [[MCU_Services#MCU_firmware_versions|MCU firmware]] if some conditions are met. | |||
|- | |- | ||
| 0x3D | | 0x3D | ||
Line 505: | Line 520: | ||
| s | | s | ||
| wo | | wo | ||
| | | Register-mapped MCU RESET? | ||
|- | |- | ||
| 0x40 | | 0x40 | ||
Line 533: | Line 548: | ||
|- | |- | ||
| 0x45 | | 0x45 | ||
- 0x4A | |||
| s | | s | ||
| | | ro | ||
| | | Gyroscope 3D rotation from the 12bit ADC, left shifted 4 to fit in a 16bit signed short | ||
{| class="wikitable" border="1" | |||
! AXIS | |||
! V=0x00 | |||
! V=0x40 | |||
! V=0xC0 | |||
|- | |- | ||
| | | Y (=roll) | ||
| | | held vertically | ||
| | | vertical right side | ||
| | | vertical left side | ||
|- | |- | ||
| | | Z? (=yaw) | ||
| | | ??? | ||
| | | ??? | ||
| | | ??? | ||
|- | |- | ||
| | | X? (=pitch) | ||
| | | held vertically | ||
| | | ??? | ||
| | | ??? | ||
|} | |||
|- | |- | ||
| 0x4B | | 0x4B | ||
Line 596: | Line 618: | ||
| s | | s | ||
| rw | | rw | ||
| DSP volume slider 0% volume offset (setting this to 0xFF will esentially mute the DSP as it's the volume slider's maximum raw value) | | Register-mapped ADC register | ||
DSP volume slider 0% volume offset (setting this to 0xFF will esentially mute the DSP as it's the volume slider's maximum raw value) | |||
|- | |- | ||
| 0x59 | | 0x59 | ||
| s | | s | ||
| rw | | rw | ||
| DSP volume slider 100% volume offset (setting both this and the above to 0 will disable the volume slider with 100% volume, setting this to a lower value than the above will make the volume slider have only 2 states; on and off) | | Register-mapped ADC register | ||
DSP volume slider 100% volume offset (setting both this and the above to 0 will disable the volume slider with 100% volume, setting this to a lower value than the above will make the volume slider have only 2 states; on and off) | |||
|- | |- | ||
| 0x5A | | 0x5A |