Difference between revisions of "MCURTC:SetInfoLEDPattern"

From 3dbrew
Jump to navigation Jump to search
(Added more information to the animation fields.)
Line 42: Line 42:
 
!  u8 delay
 
!  u8 delay
 
!  u8 smoothing
 
!  u8 smoothing
!  u8 loop_delay(?)
+
!  u8 loop_delay
 
!  u8 ???
 
!  u8 ???
 
|-
 
|-
| 0x01 = many patterns per second
+
| ''delay = seconds * 0x10''
0x3F = 4p / ~0.502sec
 
  
0x81 = ~4pps
+
Since this data is represented in a u8, the precision is 1/16th of a second (0x01) and the maximum delay time is 15.9375 seconds (0xFF).
  
0x00 = least patterns per second
+
If set to 0x00, only the first value of the pattern is played. (?)
| 0x00 = no smoothing
+
| The lower the value is, the less smoothing is applied to the pattern. Here is a visual approximation of how the smoothing works: [https://i.imgur.com/ZxdPbIw.png Smooth function.]
  
0xFF = insane smoothing
+
| ''loop_delay = seconds * 0x10''
| 0x00 = no pattern looping delay
+
Since this data is represented in a u8, the precision is 1/16th of a second (0x01) and the maximum delay time is 15.875 seconds (0xFE).
  
0x20 = ~2000ms delay before starting again
+
If set to 0x00, there is no loop delay.
  
0xFE = huge delay between pattern loops
+
If set to 0xFF, the pattern is played only once.
 
 
0xFF = loop once
 
 
| ???
 
| ???
 
|}
 
|}

Revision as of 13:37, 7 October 2017

Request

Index Word Description
0 Header code [0x003B0640]
1 Animation
2-9 u8[32] Red pattern
10-17 u8[32] Green pattern
18-25 u8[32] Blue pattern

Response

Index Word Description
0 Header code
1 Result code

Description

This is used for controlling(including blinking) the notification LED. MCU module uses I2C service command 0x001100C2 to write the input 0x64-bytes to MCU I2C register 0x2D.

Animation

u8 delay u8 smoothing u8 loop_delay u8 ???
delay = seconds * 0x10

Since this data is represented in a u8, the precision is 1/16th of a second (0x01) and the maximum delay time is 15.9375 seconds (0xFF).

If set to 0x00, only the first value of the pattern is played. (?)

The lower the value is, the less smoothing is applied to the pattern. Here is a visual approximation of how the smoothing works: Smooth function. loop_delay = seconds * 0x10

Since this data is represented in a u8, the precision is 1/16th of a second (0x01) and the maximum delay time is 15.875 seconds (0xFE).

If set to 0x00, there is no loop delay.

If set to 0xFF, the pattern is played only once.

???