diff options
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Ptm/Ts/IMeasurementServer.cs')
| -rw-r--r-- | src/Ryujinx.HLE/HOS/Services/Ptm/Ts/IMeasurementServer.cs | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Ptm/Ts/IMeasurementServer.cs b/src/Ryujinx.HLE/HOS/Services/Ptm/Ts/IMeasurementServer.cs new file mode 100644 index 00000000..6ddc0aef --- /dev/null +++ b/src/Ryujinx.HLE/HOS/Services/Ptm/Ts/IMeasurementServer.cs @@ -0,0 +1,39 @@ +using Ryujinx.Common.Logging; +using Ryujinx.HLE.HOS.Services.Ptm.Ts.Types; + +namespace Ryujinx.HLE.HOS.Services.Ptm.Ts +{ + [Service("ts")] + class IMeasurementServer : IpcService + { + private const uint DefaultTemperature = 42u; + + public IMeasurementServer(ServiceCtx context) { } + + [CommandCmif(1)] + // GetTemperature(Location location) -> u32 + public ResultCode GetTemperature(ServiceCtx context) + { + Location location = (Location)context.RequestData.ReadByte(); + + Logger.Stub?.PrintStub(LogClass.ServicePtm, new { location }); + + context.ResponseData.Write(DefaultTemperature); + + return ResultCode.Success; + } + + [CommandCmif(3)] + // GetTemperatureMilliC(Location location) -> u32 + public ResultCode GetTemperatureMilliC(ServiceCtx context) + { + Location location = (Location)context.RequestData.ReadByte(); + + Logger.Stub?.PrintStub(LogClass.ServicePtm, new { location }); + + context.ResponseData.Write(DefaultTemperature * 1000); + + return ResultCode.Success; + } + } +}
\ No newline at end of file |
