IMeasurementServer.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Ryujinx.Common.Logging;
  2. using Ryujinx.HLE.HOS.Services.Ptm.Ts.Types;
  3. namespace Ryujinx.HLE.HOS.Services.Ptm.Ts
  4. {
  5. [Service("ts")]
  6. class IMeasurementServer : IpcService
  7. {
  8. private const uint DefaultTemperature = 42u;
  9. public IMeasurementServer(ServiceCtx context) { }
  10. [CommandHipc(1)]
  11. // GetTemperature(Location location) -> u32
  12. public ResultCode GetTemperature(ServiceCtx context)
  13. {
  14. Location location = (Location)context.RequestData.ReadByte();
  15. Logger.Stub?.PrintStub(LogClass.ServicePtm, new { location });
  16. context.ResponseData.Write(DefaultTemperature);
  17. return ResultCode.Success;
  18. }
  19. [CommandHipc(3)]
  20. // GetTemperatureMilliC(Location location) -> u32
  21. public ResultCode GetTemperatureMilliC(ServiceCtx context)
  22. {
  23. Location location = (Location)context.RequestData.ReadByte();
  24. Logger.Stub?.PrintStub(LogClass.ServicePtm, new { location });
  25. context.ResponseData.Write(DefaultTemperature * 1000);
  26. return ResultCode.Success;
  27. }
  28. }
  29. }