diff options
| author | german77 <juangerman-13@hotmail.com> | 2022-06-26 18:48:12 -0500 |
|---|---|---|
| committer | Narr the Reg <juangerman-13@hotmail.com> | 2022-06-28 19:22:46 -0500 |
| commit | 2bad788ead61ba1913bab6f86bd87e09eda7a4b4 (patch) | |
| tree | d0c399d3343fba5df84d563762564fa4aa4d6906 /src/core/hle/service/ptm/ts.cpp | |
| parent | d3da378c46e88b208ac839d1120bf4b99f32ff98 (diff) | |
service: ptm: Rewrite PSM and add TS
Diffstat (limited to 'src/core/hle/service/ptm/ts.cpp')
| -rw-r--r-- | src/core/hle/service/ptm/ts.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/core/hle/service/ptm/ts.cpp b/src/core/hle/service/ptm/ts.cpp new file mode 100644 index 0000000000..65c3f135f4 --- /dev/null +++ b/src/core/hle/service/ptm/ts.cpp @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + +#include <memory> + +#include "core/core.h" +#include "core/hle/ipc_helpers.h" +#include "core/hle/service/ptm/ts.h" + +namespace Service::PTM { + +TS::TS(Core::System& system_) : ServiceFramework{system_, "ts"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "GetTemperatureRange"}, + {1, &TS::GetTemperature, "GetTemperature"}, + {2, nullptr, "SetMeasurementMode"}, + {3, nullptr, "GetTemperatureMilliC"}, + {4, nullptr, "OpenSession"}, + }; + // clang-format on + + RegisterHandlers(functions); +} + +TS::~TS() = default; + +void TS::GetTemperature(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const auto location{rp.PopEnum<Location>()}; + + LOG_WARNING(Service_HID, "(STUBBED) called. location={}", location); + + const s32 temperature = location == Location::Internal ? 35 : 20; + + IPC::ResponseBuilder rb{ctx, 3}; + rb.Push(ResultSuccess); + rb.Push(temperature); +} + +} // namespace Service::PTM |
