#pragma once #include "ipc.hpp" namespace Platform { /** * Low-level interaction with hardware devices. */ namespace MCU { namespace GPU { namespace IPC = Platform::IPC; // NOTE: All command signatures below have been verified unless labelled otherwise using GetLcdPowerState = IPC::IPCCommand<0x1> ::response::add_uint32::add_uint32; using SetLcdPowerState = IPC::IPCCommand<0x2>::add_uint32::add_uint32 ::response; using GetGpuLcdInterfaceState = IPC::IPCCommand<0x3> ::response::add_uint32; using SetGpuLcdInterfaceState = IPC::IPCCommand<0x4>::add_uint32 ::response; using GetMcuFwVerHigh = IPC::IPCCommand<0x9> ::response::add_uint32; using GetMcuFwVerLow = IPC::IPCCommand<0xa> ::response::add_uint32; using Set3dLedState = IPC::IPCCommand<0xb>::add_uint32 ::response; using GetMcuGpuEvent = IPC::IPCCommand<0xd> ::response::add_handle; using GetMcuGpuEventReason = IPC::IPCCommand<0xe> ::response::add_uint32; // Reply not verified } // namespace GPU namespace HID { // NOTE: All command signatures below have been verified using Unknown0x1 = IPC::IPCCommand<0x1>::add_uint32 ::response; using GetMcuHidEventHandle = IPC::IPCCommand<0xc> ::response::add_handle; using Get3dSliderState = IPC::IPCCommand<0x7> ::response::add_uint32; using SetAccelerometerState = IPC::IPCCommand<0xf>::add_uint32 ::response; } // namespace HID } // namespace MCU } // namespace Platform