MCURTC:SetInfoLEDPattern: Difference between revisions

MarcusD (talk | contribs)
No edit summary
No edit summary
 
(5 intermediate revisions by 4 users not shown)
Line 35: Line 35:


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


=Animation=
=Animation=
Line 42: Line 42:
!  u8 delay
!  u8 delay
!  u8 smoothing
!  u8 smoothing
!  u8 loop_delay(?)
!  u8 loop_delay
!  u8 ???
!  u8 blink_speed
|-
|-
| 0x01 = many patterns per second
| ''delay = seconds * 0x10''
0x3F = ~64pps (~0.502sec)


0x81 = ~32pps (~1sec)
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.]
| ''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).


0xFF = insane smoothing
If set to 0x00, there is no loop delay.
| 0x00 = no pattern looping delay


0x20 = ~2000ms delay before starting again
If set to 0xFF, the pattern is played only once.
 
| if smoothing is nothing, this can set LED blink speed value.
0xFF = huge delay between pattern loops
| ???
|}
|}