mikage-dev/source/platform/mcu.hpp

58 lines
1.8 KiB
C++
Raw Normal View History

2024-03-07 22:05:16 +01:00
#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<IPC::HandleType::Event>;
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<IPC::HandleType::Event>;
using Get3dSliderState = IPC::IPCCommand<0x7>
::response::add_uint32;
using SetAccelerometerState = IPC::IPCCommand<0xf>::add_uint32
::response;
} // namespace HID
} // namespace MCU
} // namespace Platform