I2C Registers: Difference between revisions

MarcusD (talk | contribs)
MarcusD (talk | contribs)
add new registers and adjust readibility for some parts
Line 315: Line 315:
|-
|-
| 0x10
| 0x10
- 0x13
| s
| s
| ro
| ro
| Special HID status flags: bit0 = power button pressed, bit1 = power button pressed long, bit2 = home button pressed, bit3 = home button released, bit4 = wifi slider enabled, bit5 = shell got closed, bit6 = shell got opened. If nothing has changed this register is 0.
| Special HID status flags:
Needs confirmation (or some flags to enable).
  bit00: power button pressed
|-
  bit01: power button pressed long
| 0x11
  bit02: home button pressed
| s
  bit03: home button released
| ro
  bit04: wifi slider pressed
| ?
  bit05: shell got closed
|-
  bit06: shell got opened
| 0x12
  bit07: ???, sends srv notification 0x20C
| s
  bit08: charger plugged in
| ro
  bit09: charger plugged out
| 0x40 if volume slider position changed
  bit11: ???, signals an event
Needs confirmation (or some flags to enable).
  bit14: ???, sends srv notification 0x210
|-
  bit15: ???, sends srv notification 0x20F
| 0x13
  bit22: volume slider position changed
| s
If nothing has changed this register is 0
| ro
| ?
|-
|-
| 0x14
| 0x14
Line 357: Line 356:
|-
|-
| 0x18
| 0x18
- 0x1B
| s
| s
| rw
| rw
| ?
| Interrupt mask (0=enabled,1=disabled)
|-
  bit11: ??? (HID related)
| 0x19
  bit12: Accelerometer update
| s
  bit30: forced off my mcu sysmodule
| rw
  bit31: forced off my mcu sysmodule
| RTC interrupt mask
|-
| 0x1A
| s
| rw
| ?
|-
| 0x1B
| s
| rw
| ?
|-
|-
| 0x1C
| 0x1C
Line 399: Line 388:
| s
| s
| wo
| wo
| System power control - bit0 = power off, bit1 = reboot (unused?). bit2 = reboot (used by mcu-module and LgyBg). bit3 = used by LgyBg to power off, causes hangs in 3DS-mode. bit4 = doesn't seem to do anything, but an mcu::RTC command uses this. Other bits are unused, and seem to do nothing.
| System power control:
  bit0: power off
  bit1: reboot (unused?)
  bit2: reboot (used by mcu sysmodule and LgyBg)
  bit3: used by LgyBg to power off, causes hangs in 3DS-mode
  bit4: doesn't seem to do anything, but an mcu::RTC command uses this
Other bits are unused, and seem to do nothing.
|-
|-
| 0x21
| 0x21
Line 409: Line 404:
| s
| s
| wo
| wo
| Used to set LCD states. bit0 = don't push to LCDs, bit1 = push to LCDs, bit2 = bottom screen backlight off, bit3 = bottom screen backlight on, bit4 = top screen backlight off, bit5 = top screen backlight on
| Used to set LCD states
  bit0: don't push to LCDs
  bit1: push to LCDs
  bit2: bottom screen backlight off
  bit3: bottom screen backlight on
  bit4: top screen backlight off
  bit5: top screen backlight on
|-
|-
| 0x23
| 0x23
Line 464: Line 465:
| 0x64
| 0x64
| wo
| wo
| This is used for [[MCURTC:SetInfoLEDPattern|controlling]] the notification LED (see [[MCURTC:SetInfoLEDPatternHeader]] as well), when this register is written. It's possible to write data here with size less than 0x64, and only that portion of the pattern data will get overwritten. Reading from this register only returns zeroes, so it's considered write-only.
| This is used for [[MCURTC:SetInfoLEDPattern|controlling]] the notification LED (see [[MCURTC:SetInfoLEDPatternHeader]] as well), when this register is written. It's possible to write data here with size less than 0x64, and only that portion of the pattern data will get overwritten. Reading from this register only returns zeroes, so it's considered write-only. Writing past the size of this register seems to do nothing.
|-
|-
| 0x2E
| 0x2E
Line 492: Line 493:
| 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.
|-
|-
| 0x3D
| 0x3D
Line 512: Line 514:
| s
| s
| rw
| rw
| ?
| Index selector for register 0x44
|-
|-
| 0x42
| 0x42
Line 522: Line 524:
| s
| s
| rw
| rw
| ?
| ???, accelometer related
|-
|-
| 0x44
| 0x44
| s
| s
| rw
| rw
| ? (setting this seems to freeze the system for a second)
| ???, accelometer related
|-
|-
| 0x45
| 0x45
Line 627: Line 629:
   byte 09: system model (see [[Cfg:GetSystemModel#System_Model_Values|Cfg:GetSystemModel]] for values)
   byte 09: system model (see [[Cfg:GetSystemModel#System_Model_Values|Cfg:GetSystemModel]] for values)
   byte 10: power LED related? 0 is off, 1 is red
   byte 10: power LED related? 0 is off, 1 is red
   byte 13: RGB LED red factor
   byte 13: RGB LED red intensity
   byte 14: RGB LED green factor
   byte 14: RGB LED green intensity
   byte 15: RGB LED blue factor
   byte 15: RGB LED blue intensity
   byte 17: WiFi LED brightness
   byte 17: WiFi LED brightness
   byte 18: raw button states?
   byte 18: raw button states?