MCU Services: Difference between revisions
Added IPC call names and headers |
|||
Line 123: | Line 123: | ||
! Description | ! Description | ||
|- | |- | ||
| | | 0x00010080 | ||
| | | SetRTC | ||
|- | |- | ||
| | | 0x00020000 | ||
| | | GetRTC | ||
|- | |- | ||
| | | 0x00030040 | ||
| | | SetRTCSeconds | ||
|- | |- | ||
| | | 0x00040000 | ||
| | | GetRTCSeconds | ||
|- | |- | ||
| | | 0x00050040 | ||
| | | SetRTCMinutes | ||
|- | |- | ||
| | | 0x00060000 | ||
| | | GetRTCMinutes | ||
|- | |- | ||
| | | 0x00070040 | ||
| | | SetRTCHours | ||
|- | |- | ||
| | | 0x00080000 | ||
| | | GetRTCHours | ||
|- | |- | ||
| | | 0x00090040 | ||
| | | SetRTCDayOfWeek | ||
|- | |- | ||
| | | 0x000A0000 | ||
| | | GetRTCDayOfWeek | ||
|- | |- | ||
| | | 0x000B0040 | ||
| | | SetRTCDayOfMonth | ||
|- | |- | ||
| | | 0x000C0000 | ||
| | | GetRTCDayOfMonth | ||
|- | |- | ||
| | | 0x000D0040 | ||
| | | SetRTCMonth | ||
|- | |- | ||
| | | 0x000E0000 | ||
| | | GetRTCMonth | ||
|- | |- | ||
| | | 0x000F0040 | ||
| | | SetRTCYear | ||
|- | |- | ||
| | | 0x00100000 | ||
| | | GetRTCYear | ||
|- | |- | ||
| | | 0x00110040 | ||
| | | SetRTCLeapYearCounter | ||
|- | |- | ||
| | | 0x00120000 | ||
| | | GetRTCLeapYearCounter | ||
|- | |- | ||
| | | 0x00130080 | ||
| | | SetRTCAlarm | ||
|- | |- | ||
| | | 0x00140000 | ||
| | | GetRTCAlarm | ||
|- | |- | ||
| | | 0x00150040 | ||
| | | SetRTCAlarmComponent[0] | ||
|- | |- | ||
| | | 0x00160000 | ||
| | | GetRTCAlarmComponent[0] | ||
|- | |- | ||
| | | 0x00170040 | ||
| | | SetRTCAlarmComponent[1] | ||
|- | |- | ||
| | | 0x00180000 | ||
| | | GetRTCAlarmComponent[1] | ||
|- | |- | ||
| | | 0x00190040 | ||
| | | SetRTCAlarmComponent[2] | ||
|- | |- | ||
| | | 0x001A0000 | ||
| | | GetRTCAlarmComponent[2] | ||
|- | |- | ||
| | | 0x001B0040 | ||
| | | SetRTCAlarmComponent[3] | ||
|- | |- | ||
| | | 0x001C0000 | ||
| | | GetRTCAlarmComponent[3] | ||
|- | |- | ||
| | | 0x001D0040 | ||
| | | SetRTCAlarmComponent[4] | ||
|- | |- | ||
| | | 0x001E0000 | ||
| | | GetRTCAlarmComponent[4] | ||
|- | |- | ||
| 0x001F0040 | | 0x001F0040 | ||
Line 217: | Line 217: | ||
|- | |- | ||
| 0x00200000 | | 0x00200000 | ||
| | | GetPedometerRecordingMode | ||
|- | |- | ||
| 0x00210080 | | 0x00210080 | ||
| GetStepCount(for the current day) | | GetStepCount (for the current day) | ||
|- | |- | ||
| | | 0x00220042 | ||
| | | ReadRegister4Fh(u32 unused_size, translation_param size=0x156 << 4 <nowiki>|</nowiki> 0xC, u8[0x156] ptr) | ||
|- | |- | ||
| | | 0x00230000 | ||
| ? | | ??? writes 1 to register 0x4E which is not writable | ||
|- | |- | ||
| | | 0x00240000 | ||
| | | GetPowerEventHandle. MCU notifications 1, 8, 9, 10, 13, 14 and 15 signal this. | ||
see [[I2C_Registers#Device_3|Register 0x18]] | |||
|- | |- | ||
| | | 0x00250000 | ||
| | | GetPowerInterruptHistory | ||
|- | |- | ||
| | | 0x00260000 | ||
| | | CheckRegister02hBit0 | ||
|- | |- | ||
| | | 0x00270000 | ||
| | | ClearRegister02hBit0 (does nothing since the register is not writable) | ||
|- | |- | ||
| | | 0x00280000 | ||
| | | CheckRegister02hBit1 | ||
|- | |- | ||
| | | 0x00290000 | ||
| | | ClearRegister02hBit1 | ||
|- | |- | ||
| 0x002A0000 | | 0x002A0000 | ||
Line 258: | Line 259: | ||
| [[MCURTC:GetBatteryLevel|GetBatteryLevel]] | | [[MCURTC:GetBatteryLevel|GetBatteryLevel]] | ||
|- | |- | ||
| | | 0x002E0000 | ||
| | | GetBatteryEmptyPatternByte0 | ||
|- | |- | ||
| | | 0x002F0000 | ||
| | | GetBatteryEmptyPatternByte0_safe™ | ||
|- | |- | ||
| | | 0x00300040 | ||
| | | SetLEDBrightness (see [[I2C_Registers#Device_3|Register 0x28]]) | ||
|- | |- | ||
| | | 0x00310000 | ||
| | | GetLEDBrightness (see [[I2C_Registers#Device_3|Register 0x28]]) | ||
|- | |- | ||
| | | 0x00320000 | ||
| PowerOff (writes 0x1 to i2c MCU device, [[I2C_Registers#Device_3|reg 0x20]]) | |||
|- | |- | ||
| | | 0x00330000 | ||
| HardwareReboot (writes 0x4 to i2c MCU device, [[I2C_Registers#Device_3|reg 0x20]]) | |||
|- | |- | ||
| | | 0x00340000 | ||
| | | WriteRegister reg=0x23 value=0x72 (writing to read-only registers does nothing) | ||
|- | |- | ||
| | | 0x00350000 | ||
| Writes 0x10 to i2c MCU device, reg 0x20 | | Writes 0x10 to i2c MCU device, reg 0x20 (this bit of the register is not writable) | ||
|- | |- | ||
| | | 0x00360040 | ||
| SetWatchdogTimer | | SetWatchdogTimer | ||
|- | |- | ||
| | | 0x00370000 | ||
| GetWatchdogTimer | | GetWatchdogTimer | ||
|- | |- | ||
| | | 0x00380042 | ||
| | | ReadInfoRegister(u32 unused_size, translation_param size << 4 <nowiki>|</nowiki> 0xC, u8[0x13] ptr) | ||
|- | |- | ||
| | | 0x00390082 | ||
| | | WriteLoop (translation parameters too complex) | ||
|- | |- | ||
| | | 0x003A0082 | ||
| | | ReadLoop (translation parameters too complex) | ||
|- | |- | ||
| 0x003B0640 | | 0x003B0640 | ||
Line 306: | Line 307: | ||
| [[MCURTC:GetInfoLEDStatus|GetInfoLEDStatus]] | | [[MCURTC:GetInfoLEDStatus|GetInfoLEDStatus]] | ||
|- | |- | ||
| | | 0x003E0040 | ||
| | | WriteRegister50h | ||
|- | |- | ||
| | | 0x003F0000 | ||
| | | ReadRegister50h | ||
|- | |- | ||
| | | 0x00400040 | ||
| | | WriteRegister51h | ||
|- | |- | ||
| | | 0x00410000 | ||
| | | ReadRegister51h | ||
|- | |- | ||
| 0x00420040 | | 0x00420040 | ||
| [[MCURTC:SetBatteryEmptyLEDPattern|SetBatteryEmptyLEDPattern]] | | [[MCURTC:SetBatteryEmptyLEDPattern|SetBatteryEmptyLEDPattern]] | ||
|- | |- | ||
| | | 0x00430040 | ||
| | | SetScreenFlickerTop | ||
|- | |- | ||
| | | 0x00440000 | ||
| | | GetScreenFlickerTop | ||
|- | |- | ||
| | | 0x00450040 | ||
| | | SetScreenFlickerBottom | ||
|- | |- | ||
| | | 0x00460000 | ||
| | | GetScreenFlickerBottom | ||
|- | |- | ||
| | | 0x00470080 | ||
| | | SetVolumeSliderBounds | ||
|- | |- | ||
| | | 0x00480000 | ||
| | | GetVolumeSliderBounds | ||
|- | |- | ||
| | | 0x00490040 | ||
| | | SetInterruptMask (see [[I2C_Registers#Device_3|Register 0x18]]) | ||
|- | |- | ||
| | | 0x004A0000 | ||
| | | GetInterruptMask (see [[I2C_Registers#Device_3|Register 0x18]]) | ||
|- | |- | ||
| | | 0x004B0000 | ||
| | | ExitExclusiveInterruptMode | ||
|- | |- | ||
| | | 0x004C0000 | ||
| | | EnterExclusiveInterruptMode | ||
|- | |- | ||
| | | 0x004D0000 | ||
| [[MCURTC:ReadHidFlagRegister| | | [[MCURTC:ReadHidFlagRegister|ReadInterrupt]] (see [[I2C_Registers#Device_3|Register 0x10]]) | ||
|- | |- | ||
| 0x004E0040 | | 0x004E0040 | ||
| [[MCURTC:PublishNotifications| | | [[MCURTC:PublishNotifications|TriggerInterrupt]] | ||
|- | |- | ||
| | | 0x004F0040 | ||
| | | SetMCUFirmUpdated(u32 flag) not used by anything | ||
|- | |- | ||
| | | 0x00500000 | ||
| | | IsMCUFirmUpdated | ||
|- | |- | ||
| 0x00510040 | | 0x00510040 | ||
Line 369: | Line 370: | ||
| [[MCURTC:GetSoftwareClosedFlag|GetSoftwareClosedFlag]] | | [[MCURTC:GetSoftwareClosedFlag|GetSoftwareClosedFlag]] | ||
|- | |- | ||
| | | 0x00530040 | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00540000 | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00550040 | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00560000 | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00570040 | ||
| ? | | ? | ||
|- | |- | ||
| | | 0x00580000 | ||
| ? | | ? | ||
|- | |- | ||
Line 393: | Line 394: | ||
| [[MCURTC:GetLegacyJumpProhibitedFlag|GetLegacyJumpProhibitedFlag]] | | [[MCURTC:GetLegacyJumpProhibitedFlag|GetLegacyJumpProhibitedFlag]] | ||
|} | |} | ||
=MCU sound service "mcu::SND"= | =MCU sound service "mcu::SND"= |