Changes

No change in size ,  21:24, 22 September 2022
Line 1,893: Line 1,893:  
The specified controller must have a HOME button.
 
The specified controller must have a HOME button.
   −
This sends [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/bluetooth_hid_subcommands_notes.md#subcommand-0x38-set-home-light subcommand 0x38] to the specified controller, for setting the pattern for the HOME button notification LED. The input structure is converted to the format as follows: <code>((u8*)cmd_argdata)[pos] = u8_in[pos2] | u8_in[pos3]<<4;</code> Hence, 4bits from pairs of 2-bytes of the input struct are combined to write to the subcommand. Only the low 4bits of each used byte in the struct is used. This is written to stack initially, then copied to the actual cmd_argdata (the data immediately following the subcommandID byte). There's a total of 0x1C-bytes of cmd_argdata initialized from this.
+
This sends [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering/blob/master/bluetooth_hid_subcommands_notes.md#subcommand-0x38-set-home-light subcommand 0x38] to the specified controller, for setting the pattern for the HOME button notification LED. The input structure is converted to the format as follows: <code>((u8*)cmd_argdata)[pos] = u8_in[pos2] | u8_in[pos3]<<4;</code> Hence, 4bits from pairs of 2-bytes of the input struct are combined to write to the subcommand. Only the low 4bits of each used byte in the struct is used. This is written to stack initially, then copied to the actual cmd_argdata (the data immediately following the subcommandID byte). There's a total of 0x1D-bytes of cmd_argdata initialized from this.
    
The layout of cmd_argdata is as follows:
 
The layout of cmd_argdata is as follows: