IR Service "ir:u"
Command Header | Description |
---|---|
0x00010000 | Initialize |
0x00020000 | Shutdown |
0x00030042 | StartSendTransfer |
0x00040000 | WaitSendTransfer |
0x000500C2 | StartRecvTransfer |
0x00060000 | WaitRecvTransfer |
0x00070000 | GetRecvTransferCount |
0x00080000 | GetSendState |
0x00090040 | SetBitRate |
0x000A0000 | GetBitRate |
0x000B0040 | SetIRLEDState |
0x000C0000 | GetIRLEDRecvState |
0x000D0000 | GetSendFinishedEvent |
0x000E0000 | GetRecvFinishedEvent |
0x000F0000 | GetTransferState |
0x00100000 | |
0x00110040 | SetSleepModeActive |
0x00120040 | SetSleepModeState |
IR Service "ir:USER"
Command Header | Available since system version | Description |
---|---|---|
0x00010182 | Initialize | |
0x00020000 | Shutdown | |
0x00030000 | ? | |
0x00040000 | ? | |
0x00050000 | ? | |
0x00060000 | ? | |
0x00070000 | ? | |
0x00080000 | ? | |
0x00090000 | GetConnectionStatusEvent | |
0x000A0000 | ? | |
0x000B0000 | ? | |
0x000C0000 | ? | |
0x000D0000 | ? | |
0x000E0000 | ? | |
0x000F0000 | ? | |
0x00100000 | ? | |
0x00110000 | ? | |
0x00120000 | ? | |
0x00130000 | ? | |
0x00140000 | ? | |
0x00150000 | ? | |
0x00160000 | ? | |
0x00170000 | Unknown, >2.0.0-2 | ? |
0x00180000 | Unknown, >2.0.0-2 | ? |
0x00190000 | Unknown, >2.0.0-2 | ? |
0x001A0000 | Unknown, >2.0.0-2 | ? |
Only one session to either of these services can be open at a time, thus only one process can use either of these services at once. These services interface with hardware services gpio::IR and i2c::IR. The i2c::IR service is used for sending/receiving data.
IRU is for regular IR comms. IRUSER uses a custom IR protocol(above the physical layer). The IR hardware operates in the IrDA SIR mode by default, IRU doesn't have an interface for using other modes(such as the one for TV-remotes) via hardware.
The protocol used with IRUSER involves encryption implemented in software. IRUSER is used for the Circle Pad Pro.