mirror of
https://github.com/PabloMK7/citra.git
synced 2025-10-11 20:10:03 +00:00
hle: Eliminate need to specify command headers for IPC. (#6678)
This commit is contained in:
parent
0bedb28bdc
commit
e043caac27
96 changed files with 2691 additions and 2707 deletions
|
@ -258,7 +258,7 @@ std::shared_ptr<Module> Module::Interface::GetModule() const {
|
|||
}
|
||||
|
||||
void Module::Interface::StartCapture(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x01, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -292,7 +292,7 @@ void Module::Interface::StartCapture(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::StopCapture(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x02, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -317,7 +317,7 @@ void Module::Interface::StopCapture(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::IsBusy(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x03, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -340,7 +340,7 @@ void Module::Interface::IsBusy(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::ClearBuffer(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x04, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -350,7 +350,7 @@ void Module::Interface::ClearBuffer(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetVsyncInterruptEvent(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x05, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 2);
|
||||
|
@ -368,7 +368,7 @@ void Module::Interface::GetVsyncInterruptEvent(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetBufferErrorInterruptEvent(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x06, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 2);
|
||||
|
@ -386,7 +386,7 @@ void Module::Interface::GetBufferErrorInterruptEvent(Kernel::HLERequestContext&
|
|||
}
|
||||
|
||||
void Module::Interface::SetReceiving(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x07, 4, 2);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const VAddr dest = rp.Pop<u32>();
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const u32 image_size = rp.Pop<u32>();
|
||||
|
@ -422,7 +422,7 @@ void Module::Interface::SetReceiving(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::IsFinishedReceiving(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x08, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -441,7 +441,7 @@ void Module::Interface::IsFinishedReceiving(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetTransferLines(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x09, 4, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const u16 transfer_lines = rp.Pop<u16>();
|
||||
const u16 width = rp.Pop<u16>();
|
||||
|
@ -463,7 +463,7 @@ void Module::Interface::SetTransferLines(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetMaxLines(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x0A, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const u16 width = rp.Pop<u16>();
|
||||
const u16 height = rp.Pop<u16>();
|
||||
|
||||
|
@ -496,7 +496,7 @@ void Module::Interface::GetMaxLines(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetTransferBytes(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x0B, 4, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const u16 transfer_bytes = rp.Pop<u16>();
|
||||
const u16 width = rp.Pop<u16>();
|
||||
|
@ -518,7 +518,7 @@ void Module::Interface::SetTransferBytes(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetTransferBytes(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x0C, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -536,7 +536,7 @@ void Module::Interface::GetTransferBytes(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetMaxBytes(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x0D, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const u16 width = rp.Pop<u16>();
|
||||
const u16 height = rp.Pop<u16>();
|
||||
|
||||
|
@ -563,7 +563,7 @@ void Module::Interface::GetMaxBytes(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetTrimming(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x0E, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const bool trim = rp.Pop<bool>();
|
||||
|
||||
|
@ -582,7 +582,7 @@ void Module::Interface::SetTrimming(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::IsTrimming(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x0F, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
|
@ -600,7 +600,7 @@ void Module::Interface::IsTrimming(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetTrimmingParams(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x10, 5, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const u16 x0 = rp.Pop<u16>();
|
||||
const u16 y0 = rp.Pop<u16>();
|
||||
|
@ -626,7 +626,7 @@ void Module::Interface::SetTrimmingParams(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetTrimmingParams(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x11, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(5, 0);
|
||||
|
@ -647,7 +647,7 @@ void Module::Interface::GetTrimmingParams(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetTrimmingParamsCenter(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x12, 5, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const u16 trim_w = rp.Pop<u16>();
|
||||
const u16 trim_h = rp.Pop<u16>();
|
||||
|
@ -673,7 +673,7 @@ void Module::Interface::SetTrimmingParamsCenter(Kernel::HLERequestContext& ctx)
|
|||
}
|
||||
|
||||
void Module::Interface::Activate(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x13, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -713,7 +713,7 @@ void Module::Interface::Activate(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SwitchContext(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x14, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
const ContextSet context_select(rp.Pop<u8>());
|
||||
|
||||
|
@ -740,7 +740,7 @@ void Module::Interface::SwitchContext(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::FlipImage(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1D, 3, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
const Flip flip = static_cast<Flip>(rp.Pop<u8>());
|
||||
const ContextSet context_select(rp.Pop<u8>());
|
||||
|
@ -767,7 +767,7 @@ void Module::Interface::FlipImage(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetDetailSize(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1E, 8, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
Resolution resolution;
|
||||
resolution.width = rp.Pop<u16>();
|
||||
|
@ -803,7 +803,7 @@ void Module::Interface::SetDetailSize(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetSize(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x1F, 3, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
const u8 size = rp.Pop<u8>();
|
||||
const ContextSet context_select(rp.Pop<u8>());
|
||||
|
@ -830,7 +830,7 @@ void Module::Interface::SetSize(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetFrameRate(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x20, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
const FrameRate frame_rate = static_cast<FrameRate>(rp.Pop<u8>());
|
||||
|
||||
|
@ -851,7 +851,7 @@ void Module::Interface::SetFrameRate(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetEffect(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x22, 3, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
const Effect effect = static_cast<Effect>(rp.Pop<u8>());
|
||||
const ContextSet context_select(rp.Pop<u8>());
|
||||
|
@ -878,7 +878,7 @@ void Module::Interface::SetEffect(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SetOutputFormat(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x25, 3, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const CameraSet camera_select(rp.Pop<u8>());
|
||||
const OutputFormat format = static_cast<OutputFormat>(rp.Pop<u8>());
|
||||
const ContextSet context_select(rp.Pop<u8>());
|
||||
|
@ -905,7 +905,7 @@ void Module::Interface::SetOutputFormat(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::SynchronizeVsyncTiming(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x29, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const u8 camera_select1 = rp.Pop<u8>();
|
||||
const u8 camera_select2 = rp.Pop<u8>();
|
||||
|
||||
|
@ -917,7 +917,7 @@ void Module::Interface::SynchronizeVsyncTiming(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetLatestVsyncTiming(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x2A, 2, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
const PortSet port_select(rp.Pop<u8>());
|
||||
const u32 count = rp.Pop<u32>();
|
||||
|
||||
|
@ -945,7 +945,8 @@ void Module::Interface::GetLatestVsyncTiming(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::GetStereoCameraCalibrationData(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestBuilder rb = IPC::RequestParser(ctx, 0x2B, 0, 0).MakeBuilder(17, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(17, 0);
|
||||
|
||||
// Default values taken from yuriks' 3DS. Valid data is required here or games using the
|
||||
// calibration get stuck in an infinite CPU loop.
|
||||
|
@ -971,7 +972,7 @@ void Module::Interface::GetStereoCameraCalibrationData(Kernel::HLERequestContext
|
|||
}
|
||||
|
||||
void Module::Interface::SetPackageParameterWithoutContext(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x33, 11, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
PackageParameterWithoutContext package;
|
||||
rp.PopRaw(package);
|
||||
|
@ -1015,7 +1016,7 @@ Resolution PackageParameterWithContext::GetResolution() const {
|
|||
}
|
||||
|
||||
void Module::Interface::SetPackageParameterWithContext(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x34, 5, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
PackageParameterWithContext package;
|
||||
rp.PopRaw(package);
|
||||
|
@ -1028,7 +1029,7 @@ void Module::Interface::SetPackageParameterWithContext(Kernel::HLERequestContext
|
|||
}
|
||||
|
||||
void Module::Interface::SetPackageParameterWithContextDetail(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x35, 7, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
|
||||
PackageParameterWithContextDetail package;
|
||||
rp.PopRaw(package);
|
||||
|
@ -1041,7 +1042,7 @@ void Module::Interface::SetPackageParameterWithContextDetail(Kernel::HLERequestC
|
|||
}
|
||||
|
||||
void Module::Interface::GetSuitableY2rStandardCoefficient(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x36, 0, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(2, 0);
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
rb.Push<u32>(0);
|
||||
|
@ -1050,7 +1051,7 @@ void Module::Interface::GetSuitableY2rStandardCoefficient(Kernel::HLERequestCont
|
|||
}
|
||||
|
||||
void Module::Interface::PlayShutterSound(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x38, 1, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
u8 sound_id = rp.Pop<u8>();
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
@ -1060,7 +1061,7 @@ void Module::Interface::PlayShutterSound(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::DriverInitialize(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x39, 0, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
||||
for (int camera_id = 0; camera_id < NumCameras; ++camera_id) {
|
||||
|
@ -1090,7 +1091,7 @@ void Module::Interface::DriverInitialize(Kernel::HLERequestContext& ctx) {
|
|||
}
|
||||
|
||||
void Module::Interface::DriverFinalize(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x3A, 0, 0);
|
||||
IPC::RequestParser rp(ctx);
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
|
||||
cam->CancelReceiving(0);
|
||||
|
|
|
@ -11,68 +11,68 @@ namespace Service::CAM {
|
|||
CAM_C::CAM_C(std::shared_ptr<Module> cam) : Module::Interface(std::move(cam), "cam:c", 1) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 1, 0), &CAM_C::StartCapture, "StartCapture"},
|
||||
{IPC::MakeHeader(0x0002, 1, 0), &CAM_C::StopCapture, "StopCapture"},
|
||||
{IPC::MakeHeader(0x0003, 1, 0), &CAM_C::IsBusy, "IsBusy"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), &CAM_C::ClearBuffer, "ClearBuffer"},
|
||||
{IPC::MakeHeader(0x0005, 1, 0), &CAM_C::GetVsyncInterruptEvent, "GetVsyncInterruptEvent"},
|
||||
{IPC::MakeHeader(0x0006, 1, 0), &CAM_C::GetBufferErrorInterruptEvent, "GetBufferErrorInterruptEvent"},
|
||||
{IPC::MakeHeader(0x0007, 4, 2), &CAM_C::SetReceiving, "SetReceiving"},
|
||||
{IPC::MakeHeader(0x0008, 1, 0), &CAM_C::IsFinishedReceiving, "IsFinishedReceiving"},
|
||||
{IPC::MakeHeader(0x0009, 4, 0), &CAM_C::SetTransferLines, "SetTransferLines"},
|
||||
{IPC::MakeHeader(0x000A, 2, 0), &CAM_C::GetMaxLines, "GetMaxLines"},
|
||||
{IPC::MakeHeader(0x000B, 4, 0), &CAM_C::SetTransferBytes, "SetTransferBytes"},
|
||||
{IPC::MakeHeader(0x000C, 1, 0), &CAM_C::GetTransferBytes, "GetTransferBytes"},
|
||||
{IPC::MakeHeader(0x000D, 2, 0), &CAM_C::GetMaxBytes, "GetMaxBytes"},
|
||||
{IPC::MakeHeader(0x000E, 2, 0), &CAM_C::SetTrimming, "SetTrimming"},
|
||||
{IPC::MakeHeader(0x000F, 1, 0), &CAM_C::IsTrimming, "IsTrimming"},
|
||||
{IPC::MakeHeader(0x0010, 5, 0), &CAM_C::SetTrimmingParams, "SetTrimmingParams"},
|
||||
{IPC::MakeHeader(0x0011, 1, 0), &CAM_C::GetTrimmingParams, "GetTrimmingParams"},
|
||||
{IPC::MakeHeader(0x0012, 5, 0), &CAM_C::SetTrimmingParamsCenter, "SetTrimmingParamsCenter"},
|
||||
{IPC::MakeHeader(0x0013, 1, 0), &CAM_C::Activate, "Activate"},
|
||||
{IPC::MakeHeader(0x0014, 2, 0), &CAM_C::SwitchContext, "SwitchContext"},
|
||||
{IPC::MakeHeader(0x0015, 2, 0), nullptr, "SetExposure"},
|
||||
{IPC::MakeHeader(0x0016, 2, 0), nullptr, "SetWhiteBalance"},
|
||||
{IPC::MakeHeader(0x0017, 2, 0), nullptr, "SetWhiteBalanceWithoutBaseUp"},
|
||||
{IPC::MakeHeader(0x0018, 2, 0), nullptr, "SetSharpness"},
|
||||
{IPC::MakeHeader(0x0019, 2, 0), nullptr, "SetAutoExposure"},
|
||||
{IPC::MakeHeader(0x001A, 1, 0), nullptr, "IsAutoExposure"},
|
||||
{IPC::MakeHeader(0x001B, 2, 0), nullptr, "SetAutoWhiteBalance"},
|
||||
{IPC::MakeHeader(0x001C, 1, 0), nullptr, "IsAutoWhiteBalance"},
|
||||
{IPC::MakeHeader(0x001D, 3, 0), &CAM_C::FlipImage, "FlipImage"},
|
||||
{IPC::MakeHeader(0x001E, 8, 0), &CAM_C::SetDetailSize, "SetDetailSize"},
|
||||
{IPC::MakeHeader(0x001F, 3, 0), &CAM_C::SetSize, "SetSize"},
|
||||
{IPC::MakeHeader(0x0020, 2, 0), &CAM_C::SetFrameRate, "SetFrameRate"},
|
||||
{IPC::MakeHeader(0x0021, 2, 0), nullptr, "SetPhotoMode"},
|
||||
{IPC::MakeHeader(0x0022, 3, 0), &CAM_C::SetEffect, "SetEffect"},
|
||||
{IPC::MakeHeader(0x0023, 2, 0), nullptr, "SetContrast"},
|
||||
{IPC::MakeHeader(0x0024, 2, 0), nullptr, "SetLensCorrection"},
|
||||
{IPC::MakeHeader(0x0025, 3, 0), &CAM_C::SetOutputFormat, "SetOutputFormat"},
|
||||
{IPC::MakeHeader(0x0026, 5, 0), nullptr, "SetAutoExposureWindow"},
|
||||
{IPC::MakeHeader(0x0027, 5, 0), nullptr, "SetAutoWhiteBalanceWindow"},
|
||||
{IPC::MakeHeader(0x0028, 2, 0), nullptr, "SetNoiseFilter"},
|
||||
{IPC::MakeHeader(0x0029, 2, 0), &CAM_C::SynchronizeVsyncTiming, "SynchronizeVsyncTiming"},
|
||||
{IPC::MakeHeader(0x002A, 2, 0), &CAM_C::GetLatestVsyncTiming, "GetLatestVsyncTiming"},
|
||||
{IPC::MakeHeader(0x002B, 0, 0), &CAM_C::GetStereoCameraCalibrationData, "GetStereoCameraCalibrationData"},
|
||||
{IPC::MakeHeader(0x002C, 16, 0), nullptr, "SetStereoCameraCalibrationData"},
|
||||
{IPC::MakeHeader(0x002D, 3, 0), nullptr, "WriteRegisterI2c"},
|
||||
{IPC::MakeHeader(0x002E, 3, 0), nullptr, "WriteMcuVariableI2c"},
|
||||
{IPC::MakeHeader(0x002F, 2, 0), nullptr, "ReadRegisterI2cExclusive"},
|
||||
{IPC::MakeHeader(0x0030, 2, 0), nullptr, "ReadMcuVariableI2cExclusive"},
|
||||
{IPC::MakeHeader(0x0031, 6, 0), nullptr, "SetImageQualityCalibrationData"},
|
||||
{IPC::MakeHeader(0x0032, 0, 0), nullptr, "GetImageQualityCalibrationData"},
|
||||
{IPC::MakeHeader(0x0033, 11, 0), &CAM_C::SetPackageParameterWithoutContext, "SetPackageParameterWithoutContext"},
|
||||
{IPC::MakeHeader(0x0034, 5, 0), &CAM_C::SetPackageParameterWithContext, "SetPackageParameterWithContext"},
|
||||
{IPC::MakeHeader(0x0035, 7, 0), &CAM_C::SetPackageParameterWithContextDetail, "SetPackageParameterWithContextDetail"},
|
||||
{IPC::MakeHeader(0x0036, 0, 0), &CAM_C::GetSuitableY2rStandardCoefficient, "GetSuitableY2rStandardCoefficient"},
|
||||
{IPC::MakeHeader(0x0037, 8, 2), nullptr, "PlayShutterSoundWithWave"},
|
||||
{IPC::MakeHeader(0x0038, 1, 0), &CAM_C::PlayShutterSound, "PlayShutterSound"},
|
||||
{IPC::MakeHeader(0x0039, 0, 0), &CAM_C::DriverInitialize, "DriverInitialize"},
|
||||
{IPC::MakeHeader(0x003A, 0, 0), &CAM_C::DriverFinalize, "DriverFinalize"},
|
||||
{IPC::MakeHeader(0x003B, 0, 0), nullptr, "GetActivatedCamera"},
|
||||
{IPC::MakeHeader(0x003C, 0, 0), nullptr, "GetSleepCamera"},
|
||||
{IPC::MakeHeader(0x003D, 1, 0), nullptr, "SetSleepCamera"},
|
||||
{IPC::MakeHeader(0x003E, 1, 0), nullptr, "SetBrightnessSynchronization"},
|
||||
{0x0001, &CAM_C::StartCapture, "StartCapture"},
|
||||
{0x0002, &CAM_C::StopCapture, "StopCapture"},
|
||||
{0x0003, &CAM_C::IsBusy, "IsBusy"},
|
||||
{0x0004, &CAM_C::ClearBuffer, "ClearBuffer"},
|
||||
{0x0005, &CAM_C::GetVsyncInterruptEvent, "GetVsyncInterruptEvent"},
|
||||
{0x0006, &CAM_C::GetBufferErrorInterruptEvent, "GetBufferErrorInterruptEvent"},
|
||||
{0x0007, &CAM_C::SetReceiving, "SetReceiving"},
|
||||
{0x0008, &CAM_C::IsFinishedReceiving, "IsFinishedReceiving"},
|
||||
{0x0009, &CAM_C::SetTransferLines, "SetTransferLines"},
|
||||
{0x000A, &CAM_C::GetMaxLines, "GetMaxLines"},
|
||||
{0x000B, &CAM_C::SetTransferBytes, "SetTransferBytes"},
|
||||
{0x000C, &CAM_C::GetTransferBytes, "GetTransferBytes"},
|
||||
{0x000D, &CAM_C::GetMaxBytes, "GetMaxBytes"},
|
||||
{0x000E, &CAM_C::SetTrimming, "SetTrimming"},
|
||||
{0x000F, &CAM_C::IsTrimming, "IsTrimming"},
|
||||
{0x0010, &CAM_C::SetTrimmingParams, "SetTrimmingParams"},
|
||||
{0x0011, &CAM_C::GetTrimmingParams, "GetTrimmingParams"},
|
||||
{0x0012, &CAM_C::SetTrimmingParamsCenter, "SetTrimmingParamsCenter"},
|
||||
{0x0013, &CAM_C::Activate, "Activate"},
|
||||
{0x0014, &CAM_C::SwitchContext, "SwitchContext"},
|
||||
{0x0015, nullptr, "SetExposure"},
|
||||
{0x0016, nullptr, "SetWhiteBalance"},
|
||||
{0x0017, nullptr, "SetWhiteBalanceWithoutBaseUp"},
|
||||
{0x0018, nullptr, "SetSharpness"},
|
||||
{0x0019, nullptr, "SetAutoExposure"},
|
||||
{0x001A, nullptr, "IsAutoExposure"},
|
||||
{0x001B, nullptr, "SetAutoWhiteBalance"},
|
||||
{0x001C, nullptr, "IsAutoWhiteBalance"},
|
||||
{0x001D, &CAM_C::FlipImage, "FlipImage"},
|
||||
{0x001E, &CAM_C::SetDetailSize, "SetDetailSize"},
|
||||
{0x001F, &CAM_C::SetSize, "SetSize"},
|
||||
{0x0020, &CAM_C::SetFrameRate, "SetFrameRate"},
|
||||
{0x0021, nullptr, "SetPhotoMode"},
|
||||
{0x0022, &CAM_C::SetEffect, "SetEffect"},
|
||||
{0x0023, nullptr, "SetContrast"},
|
||||
{0x0024, nullptr, "SetLensCorrection"},
|
||||
{0x0025, &CAM_C::SetOutputFormat, "SetOutputFormat"},
|
||||
{0x0026, nullptr, "SetAutoExposureWindow"},
|
||||
{0x0027, nullptr, "SetAutoWhiteBalanceWindow"},
|
||||
{0x0028, nullptr, "SetNoiseFilter"},
|
||||
{0x0029, &CAM_C::SynchronizeVsyncTiming, "SynchronizeVsyncTiming"},
|
||||
{0x002A, &CAM_C::GetLatestVsyncTiming, "GetLatestVsyncTiming"},
|
||||
{0x002B, &CAM_C::GetStereoCameraCalibrationData, "GetStereoCameraCalibrationData"},
|
||||
{0x002C, nullptr, "SetStereoCameraCalibrationData"},
|
||||
{0x002D, nullptr, "WriteRegisterI2c"},
|
||||
{0x002E, nullptr, "WriteMcuVariableI2c"},
|
||||
{0x002F, nullptr, "ReadRegisterI2cExclusive"},
|
||||
{0x0030, nullptr, "ReadMcuVariableI2cExclusive"},
|
||||
{0x0031, nullptr, "SetImageQualityCalibrationData"},
|
||||
{0x0032, nullptr, "GetImageQualityCalibrationData"},
|
||||
{0x0033, &CAM_C::SetPackageParameterWithoutContext, "SetPackageParameterWithoutContext"},
|
||||
{0x0034, &CAM_C::SetPackageParameterWithContext, "SetPackageParameterWithContext"},
|
||||
{0x0035, &CAM_C::SetPackageParameterWithContextDetail, "SetPackageParameterWithContextDetail"},
|
||||
{0x0036, &CAM_C::GetSuitableY2rStandardCoefficient, "GetSuitableY2rStandardCoefficient"},
|
||||
{0x0037, nullptr, "PlayShutterSoundWithWave"},
|
||||
{0x0038, &CAM_C::PlayShutterSound, "PlayShutterSound"},
|
||||
{0x0039, &CAM_C::DriverInitialize, "DriverInitialize"},
|
||||
{0x003A, &CAM_C::DriverFinalize, "DriverFinalize"},
|
||||
{0x003B, nullptr, "GetActivatedCamera"},
|
||||
{0x003C, nullptr, "GetSleepCamera"},
|
||||
{0x003D, nullptr, "SetSleepCamera"},
|
||||
{0x003E, nullptr, "SetBrightnessSynchronization"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -11,68 +11,68 @@ namespace Service::CAM {
|
|||
CAM_S::CAM_S(std::shared_ptr<Module> cam) : Module::Interface(std::move(cam), "cam:s", 1) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 1, 0), &CAM_S::StartCapture, "StartCapture"},
|
||||
{IPC::MakeHeader(0x0002, 1, 0), &CAM_S::StopCapture, "StopCapture"},
|
||||
{IPC::MakeHeader(0x0003, 1, 0), &CAM_S::IsBusy, "IsBusy"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), &CAM_S::ClearBuffer, "ClearBuffer"},
|
||||
{IPC::MakeHeader(0x0005, 1, 0), &CAM_S::GetVsyncInterruptEvent, "GetVsyncInterruptEvent"},
|
||||
{IPC::MakeHeader(0x0006, 1, 0), &CAM_S::GetBufferErrorInterruptEvent, "GetBufferErrorInterruptEvent"},
|
||||
{IPC::MakeHeader(0x0007, 4, 2), &CAM_S::SetReceiving, "SetReceiving"},
|
||||
{IPC::MakeHeader(0x0008, 1, 0), &CAM_S::IsFinishedReceiving, "IsFinishedReceiving"},
|
||||
{IPC::MakeHeader(0x0009, 4, 0), &CAM_S::SetTransferLines, "SetTransferLines"},
|
||||
{IPC::MakeHeader(0x000A, 2, 0), &CAM_S::GetMaxLines, "GetMaxLines"},
|
||||
{IPC::MakeHeader(0x000B, 4, 0), &CAM_S::SetTransferBytes, "SetTransferBytes"},
|
||||
{IPC::MakeHeader(0x000C, 1, 0), &CAM_S::GetTransferBytes, "GetTransferBytes"},
|
||||
{IPC::MakeHeader(0x000D, 2, 0), &CAM_S::GetMaxBytes, "GetMaxBytes"},
|
||||
{IPC::MakeHeader(0x000E, 2, 0), &CAM_S::SetTrimming, "SetTrimming"},
|
||||
{IPC::MakeHeader(0x000F, 1, 0), &CAM_S::IsTrimming, "IsTrimming"},
|
||||
{IPC::MakeHeader(0x0010, 5, 0), &CAM_S::SetTrimmingParams, "SetTrimmingParams"},
|
||||
{IPC::MakeHeader(0x0011, 1, 0), &CAM_S::GetTrimmingParams, "GetTrimmingParams"},
|
||||
{IPC::MakeHeader(0x0012, 5, 0), &CAM_S::SetTrimmingParamsCenter, "SetTrimmingParamsCenter"},
|
||||
{IPC::MakeHeader(0x0013, 1, 0), &CAM_S::Activate, "Activate"},
|
||||
{IPC::MakeHeader(0x0014, 2, 0), &CAM_S::SwitchContext, "SwitchContext"},
|
||||
{IPC::MakeHeader(0x0015, 2, 0), nullptr, "SetExposure"},
|
||||
{IPC::MakeHeader(0x0016, 2, 0), nullptr, "SetWhiteBalance"},
|
||||
{IPC::MakeHeader(0x0017, 2, 0), nullptr, "SetWhiteBalanceWithoutBaseUp"},
|
||||
{IPC::MakeHeader(0x0018, 2, 0), nullptr, "SetSharpness"},
|
||||
{IPC::MakeHeader(0x0019, 2, 0), nullptr, "SetAutoExposure"},
|
||||
{IPC::MakeHeader(0x001A, 1, 0), nullptr, "IsAutoExposure"},
|
||||
{IPC::MakeHeader(0x001B, 2, 0), nullptr, "SetAutoWhiteBalance"},
|
||||
{IPC::MakeHeader(0x001C, 1, 0), nullptr, "IsAutoWhiteBalance"},
|
||||
{IPC::MakeHeader(0x001D, 3, 0), &CAM_S::FlipImage, "FlipImage"},
|
||||
{IPC::MakeHeader(0x001E, 8, 0), &CAM_S::SetDetailSize, "SetDetailSize"},
|
||||
{IPC::MakeHeader(0x001F, 3, 0), &CAM_S::SetSize, "SetSize"},
|
||||
{IPC::MakeHeader(0x0020, 2, 0), &CAM_S::SetFrameRate, "SetFrameRate"},
|
||||
{IPC::MakeHeader(0x0021, 2, 0), nullptr, "SetPhotoMode"},
|
||||
{IPC::MakeHeader(0x0022, 3, 0), &CAM_S::SetEffect, "SetEffect"},
|
||||
{IPC::MakeHeader(0x0023, 2, 0), nullptr, "SetContrast"},
|
||||
{IPC::MakeHeader(0x0024, 2, 0), nullptr, "SetLensCorrection"},
|
||||
{IPC::MakeHeader(0x0025, 3, 0), &CAM_S::SetOutputFormat, "SetOutputFormat"},
|
||||
{IPC::MakeHeader(0x0026, 5, 0), nullptr, "SetAutoExposureWindow"},
|
||||
{IPC::MakeHeader(0x0027, 5, 0), nullptr, "SetAutoWhiteBalanceWindow"},
|
||||
{IPC::MakeHeader(0x0028, 2, 0), nullptr, "SetNoiseFilter"},
|
||||
{IPC::MakeHeader(0x0029, 2, 0), &CAM_S::SynchronizeVsyncTiming, "SynchronizeVsyncTiming"},
|
||||
{IPC::MakeHeader(0x002A, 2, 0), &CAM_S::GetLatestVsyncTiming, "GetLatestVsyncTiming"},
|
||||
{IPC::MakeHeader(0x002B, 0, 0), &CAM_S::GetStereoCameraCalibrationData, "GetStereoCameraCalibrationData"},
|
||||
{IPC::MakeHeader(0x002C, 16, 0), nullptr, "SetStereoCameraCalibrationData"},
|
||||
{IPC::MakeHeader(0x002D, 3, 0), nullptr, "WriteRegisterI2c"},
|
||||
{IPC::MakeHeader(0x002E, 3, 0), nullptr, "WriteMcuVariableI2c"},
|
||||
{IPC::MakeHeader(0x002F, 2, 0), nullptr, "ReadRegisterI2cExclusive"},
|
||||
{IPC::MakeHeader(0x0030, 2, 0), nullptr, "ReadMcuVariableI2cExclusive"},
|
||||
{IPC::MakeHeader(0x0031, 6, 0), nullptr, "SetImageQualityCalibrationData"},
|
||||
{IPC::MakeHeader(0x0032, 0, 0), nullptr, "GetImageQualityCalibrationData"},
|
||||
{IPC::MakeHeader(0x0033, 11, 0), &CAM_S::SetPackageParameterWithoutContext, "SetPackageParameterWithoutContext"},
|
||||
{IPC::MakeHeader(0x0034, 5, 0), &CAM_S::SetPackageParameterWithContext, "SetPackageParameterWithContext"},
|
||||
{IPC::MakeHeader(0x0035, 7, 0), &CAM_S::SetPackageParameterWithContextDetail, "SetPackageParameterWithContextDetail"},
|
||||
{IPC::MakeHeader(0x0036, 0, 0), &CAM_S::GetSuitableY2rStandardCoefficient, "GetSuitableY2rStandardCoefficient"},
|
||||
{IPC::MakeHeader(0x0037, 8, 2), nullptr, "PlayShutterSoundWithWave"},
|
||||
{IPC::MakeHeader(0x0038, 1, 0), &CAM_S::PlayShutterSound, "PlayShutterSound"},
|
||||
{IPC::MakeHeader(0x0039, 0, 0), &CAM_S::DriverInitialize, "DriverInitialize"},
|
||||
{IPC::MakeHeader(0x003A, 0, 0), &CAM_S::DriverFinalize, "DriverFinalize"},
|
||||
{IPC::MakeHeader(0x003B, 0, 0), nullptr, "GetActivatedCamera"},
|
||||
{IPC::MakeHeader(0x003C, 0, 0), nullptr, "GetSleepCamera"},
|
||||
{IPC::MakeHeader(0x003D, 1, 0), nullptr, "SetSleepCamera"},
|
||||
{IPC::MakeHeader(0x003E, 1, 0), nullptr, "SetBrightnessSynchronization"},
|
||||
{0x0001, &CAM_S::StartCapture, "StartCapture"},
|
||||
{0x0002, &CAM_S::StopCapture, "StopCapture"},
|
||||
{0x0003, &CAM_S::IsBusy, "IsBusy"},
|
||||
{0x0004, &CAM_S::ClearBuffer, "ClearBuffer"},
|
||||
{0x0005, &CAM_S::GetVsyncInterruptEvent, "GetVsyncInterruptEvent"},
|
||||
{0x0006, &CAM_S::GetBufferErrorInterruptEvent, "GetBufferErrorInterruptEvent"},
|
||||
{0x0007, &CAM_S::SetReceiving, "SetReceiving"},
|
||||
{0x0008, &CAM_S::IsFinishedReceiving, "IsFinishedReceiving"},
|
||||
{0x0009, &CAM_S::SetTransferLines, "SetTransferLines"},
|
||||
{0x000A, &CAM_S::GetMaxLines, "GetMaxLines"},
|
||||
{0x000B, &CAM_S::SetTransferBytes, "SetTransferBytes"},
|
||||
{0x000C, &CAM_S::GetTransferBytes, "GetTransferBytes"},
|
||||
{0x000D, &CAM_S::GetMaxBytes, "GetMaxBytes"},
|
||||
{0x000E, &CAM_S::SetTrimming, "SetTrimming"},
|
||||
{0x000F, &CAM_S::IsTrimming, "IsTrimming"},
|
||||
{0x0010, &CAM_S::SetTrimmingParams, "SetTrimmingParams"},
|
||||
{0x0011, &CAM_S::GetTrimmingParams, "GetTrimmingParams"},
|
||||
{0x0012, &CAM_S::SetTrimmingParamsCenter, "SetTrimmingParamsCenter"},
|
||||
{0x0013, &CAM_S::Activate, "Activate"},
|
||||
{0x0014, &CAM_S::SwitchContext, "SwitchContext"},
|
||||
{0x0015, nullptr, "SetExposure"},
|
||||
{0x0016, nullptr, "SetWhiteBalance"},
|
||||
{0x0017, nullptr, "SetWhiteBalanceWithoutBaseUp"},
|
||||
{0x0018, nullptr, "SetSharpness"},
|
||||
{0x0019, nullptr, "SetAutoExposure"},
|
||||
{0x001A, nullptr, "IsAutoExposure"},
|
||||
{0x001B, nullptr, "SetAutoWhiteBalance"},
|
||||
{0x001C, nullptr, "IsAutoWhiteBalance"},
|
||||
{0x001D, &CAM_S::FlipImage, "FlipImage"},
|
||||
{0x001E, &CAM_S::SetDetailSize, "SetDetailSize"},
|
||||
{0x001F, &CAM_S::SetSize, "SetSize"},
|
||||
{0x0020, &CAM_S::SetFrameRate, "SetFrameRate"},
|
||||
{0x0021, nullptr, "SetPhotoMode"},
|
||||
{0x0022, &CAM_S::SetEffect, "SetEffect"},
|
||||
{0x0023, nullptr, "SetContrast"},
|
||||
{0x0024, nullptr, "SetLensCorrection"},
|
||||
{0x0025, &CAM_S::SetOutputFormat, "SetOutputFormat"},
|
||||
{0x0026, nullptr, "SetAutoExposureWindow"},
|
||||
{0x0027, nullptr, "SetAutoWhiteBalanceWindow"},
|
||||
{0x0028, nullptr, "SetNoiseFilter"},
|
||||
{0x0029, &CAM_S::SynchronizeVsyncTiming, "SynchronizeVsyncTiming"},
|
||||
{0x002A, &CAM_S::GetLatestVsyncTiming, "GetLatestVsyncTiming"},
|
||||
{0x002B, &CAM_S::GetStereoCameraCalibrationData, "GetStereoCameraCalibrationData"},
|
||||
{0x002C, nullptr, "SetStereoCameraCalibrationData"},
|
||||
{0x002D, nullptr, "WriteRegisterI2c"},
|
||||
{0x002E, nullptr, "WriteMcuVariableI2c"},
|
||||
{0x002F, nullptr, "ReadRegisterI2cExclusive"},
|
||||
{0x0030, nullptr, "ReadMcuVariableI2cExclusive"},
|
||||
{0x0031, nullptr, "SetImageQualityCalibrationData"},
|
||||
{0x0032, nullptr, "GetImageQualityCalibrationData"},
|
||||
{0x0033, &CAM_S::SetPackageParameterWithoutContext, "SetPackageParameterWithoutContext"},
|
||||
{0x0034, &CAM_S::SetPackageParameterWithContext, "SetPackageParameterWithContext"},
|
||||
{0x0035, &CAM_S::SetPackageParameterWithContextDetail, "SetPackageParameterWithContextDetail"},
|
||||
{0x0036, &CAM_S::GetSuitableY2rStandardCoefficient, "GetSuitableY2rStandardCoefficient"},
|
||||
{0x0037, nullptr, "PlayShutterSoundWithWave"},
|
||||
{0x0038, &CAM_S::PlayShutterSound, "PlayShutterSound"},
|
||||
{0x0039, &CAM_S::DriverInitialize, "DriverInitialize"},
|
||||
{0x003A, &CAM_S::DriverFinalize, "DriverFinalize"},
|
||||
{0x003B, nullptr, "GetActivatedCamera"},
|
||||
{0x003C, nullptr, "GetSleepCamera"},
|
||||
{0x003D, nullptr, "SetSleepCamera"},
|
||||
{0x003E, nullptr, "SetBrightnessSynchronization"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
|
@ -11,68 +11,68 @@ namespace Service::CAM {
|
|||
CAM_U::CAM_U(std::shared_ptr<Module> cam) : Module::Interface(std::move(cam), "cam:u", 1) {
|
||||
static const FunctionInfo functions[] = {
|
||||
// clang-format off
|
||||
{IPC::MakeHeader(0x0001, 1, 0), &CAM_U::StartCapture, "StartCapture"},
|
||||
{IPC::MakeHeader(0x0002, 1, 0), &CAM_U::StopCapture, "StopCapture"},
|
||||
{IPC::MakeHeader(0x0003, 1, 0), &CAM_U::IsBusy, "IsBusy"},
|
||||
{IPC::MakeHeader(0x0004, 1, 0), &CAM_U::ClearBuffer, "ClearBuffer"},
|
||||
{IPC::MakeHeader(0x0005, 1, 0), &CAM_U::GetVsyncInterruptEvent, "GetVsyncInterruptEvent"},
|
||||
{IPC::MakeHeader(0x0006, 1, 0), &CAM_U::GetBufferErrorInterruptEvent, "GetBufferErrorInterruptEvent"},
|
||||
{IPC::MakeHeader(0x0007, 4, 2), &CAM_U::SetReceiving, "SetReceiving"},
|
||||
{IPC::MakeHeader(0x0008, 1, 0), &CAM_U::IsFinishedReceiving, "IsFinishedReceiving"},
|
||||
{IPC::MakeHeader(0x0009, 4, 0), &CAM_U::SetTransferLines, "SetTransferLines"},
|
||||
{IPC::MakeHeader(0x000A, 2, 0), &CAM_U::GetMaxLines, "GetMaxLines"},
|
||||
{IPC::MakeHeader(0x000B, 4, 0), &CAM_U::SetTransferBytes, "SetTransferBytes"},
|
||||
{IPC::MakeHeader(0x000C, 1, 0), &CAM_U::GetTransferBytes, "GetTransferBytes"},
|
||||
{IPC::MakeHeader(0x000D, 2, 0), &CAM_U::GetMaxBytes, "GetMaxBytes"},
|
||||
{IPC::MakeHeader(0x000E, 2, 0), &CAM_U::SetTrimming, "SetTrimming"},
|
||||
{IPC::MakeHeader(0x000F, 1, 0), &CAM_U::IsTrimming, "IsTrimming"},
|
||||
{IPC::MakeHeader(0x0010, 5, 0), &CAM_U::SetTrimmingParams, "SetTrimmingParams"},
|
||||
{IPC::MakeHeader(0x0011, 1, 0), &CAM_U::GetTrimmingParams, "GetTrimmingParams"},
|
||||
{IPC::MakeHeader(0x0012, 5, 0), &CAM_U::SetTrimmingParamsCenter, "SetTrimmingParamsCenter"},
|
||||
{IPC::MakeHeader(0x0013, 1, 0), &CAM_U::Activate, "Activate"},
|
||||
{IPC::MakeHeader(0x0014, 2, 0), &CAM_U::SwitchContext, "SwitchContext"},
|
||||
{IPC::MakeHeader(0x0015, 2, 0), nullptr, "SetExposure"},
|
||||
{IPC::MakeHeader(0x0016, 2, 0), nullptr, "SetWhiteBalance"},
|
||||
{IPC::MakeHeader(0x0017, 2, 0), nullptr, "SetWhiteBalanceWithoutBaseUp"},
|
||||
{IPC::MakeHeader(0x0018, 2, 0), nullptr, "SetSharpness"},
|
||||
{IPC::MakeHeader(0x0019, 2, 0), nullptr, "SetAutoExposure"},
|
||||
{IPC::MakeHeader(0x001A, 1, 0), nullptr, "IsAutoExposure"},
|
||||
{IPC::MakeHeader(0x001B, 2, 0), nullptr, "SetAutoWhiteBalance"},
|
||||
{IPC::MakeHeader(0x001C, 1, 0), nullptr, "IsAutoWhiteBalance"},
|
||||
{IPC::MakeHeader(0x001D, 3, 0), &CAM_U::FlipImage, "FlipImage"},
|
||||
{IPC::MakeHeader(0x001E, 8, 0), &CAM_U::SetDetailSize, "SetDetailSize"},
|
||||
{IPC::MakeHeader(0x001F, 3, 0), &CAM_U::SetSize, "SetSize"},
|
||||
{IPC::MakeHeader(0x0020, 2, 0), &CAM_U::SetFrameRate, "SetFrameRate"},
|
||||
{IPC::MakeHeader(0x0021, 2, 0), nullptr, "SetPhotoMode"},
|
||||
{IPC::MakeHeader(0x0022, 3, 0), &CAM_U::SetEffect, "SetEffect"},
|
||||
{IPC::MakeHeader(0x0023, 2, 0), nullptr, "SetContrast"},
|
||||
{IPC::MakeHeader(0x0024, 2, 0), nullptr, "SetLensCorrection"},
|
||||
{IPC::MakeHeader(0x0025, 3, 0), &CAM_U::SetOutputFormat, "SetOutputFormat"},
|
||||
{IPC::MakeHeader(0x0026, 5, 0), nullptr, "SetAutoExposureWindow"},
|
||||
{IPC::MakeHeader(0x0027, 5, 0), nullptr, "SetAutoWhiteBalanceWindow"},
|
||||
{IPC::MakeHeader(0x0028, 2, 0), nullptr, "SetNoiseFilter"},
|
||||
{IPC::MakeHeader(0x0029, 2, 0), &CAM_U::SynchronizeVsyncTiming, "SynchronizeVsyncTiming"},
|
||||
{IPC::MakeHeader(0x002A, 2, 0), &CAM_U::GetLatestVsyncTiming, "GetLatestVsyncTiming"},
|
||||
{IPC::MakeHeader(0x002B, 0, 0), &CAM_U::GetStereoCameraCalibrationData, "GetStereoCameraCalibrationData"},
|
||||
{IPC::MakeHeader(0x002C, 16, 0), nullptr, "SetStereoCameraCalibrationData"},
|
||||
{IPC::MakeHeader(0x002D, 3, 0), nullptr, "WriteRegisterI2c"},
|
||||
{IPC::MakeHeader(0x002E, 3, 0), nullptr, "WriteMcuVariableI2c"},
|
||||
{IPC::MakeHeader(0x002F, 2, 0), nullptr, "ReadRegisterI2cExclusive"},
|
||||
{IPC::MakeHeader(0x0030, 2, 0), nullptr, "ReadMcuVariableI2cExclusive"},
|
||||
{IPC::MakeHeader(0x0031, 6, 0), nullptr, "SetImageQualityCalibrationData"},
|
||||
{IPC::MakeHeader(0x0032, 0, 0), nullptr, "GetImageQualityCalibrationData"},
|
||||
{IPC::MakeHeader(0x0033, 11, 0), &CAM_U::SetPackageParameterWithoutContext, "SetPackageParameterWithoutContext"},
|
||||
{IPC::MakeHeader(0x0034, 5, 0), &CAM_U::SetPackageParameterWithContext, "SetPackageParameterWithContext"},
|
||||
{IPC::MakeHeader(0x0035, 7, 0), &CAM_U::SetPackageParameterWithContextDetail, "SetPackageParameterWithContextDetail"},
|
||||
{IPC::MakeHeader(0x0036, 0, 0), &CAM_U::GetSuitableY2rStandardCoefficient, "GetSuitableY2rStandardCoefficient"},
|
||||
{IPC::MakeHeader(0x0037, 8, 2), nullptr, "PlayShutterSoundWithWave"},
|
||||
{IPC::MakeHeader(0x0038, 1, 0), &CAM_U::PlayShutterSound, "PlayShutterSound"},
|
||||
{IPC::MakeHeader(0x0039, 0, 0), &CAM_U::DriverInitialize, "DriverInitialize"},
|
||||
{IPC::MakeHeader(0x003A, 0, 0), &CAM_U::DriverFinalize, "DriverFinalize"},
|
||||
{IPC::MakeHeader(0x003B, 0, 0), nullptr, "GetActivatedCamera"},
|
||||
{IPC::MakeHeader(0x003C, 0, 0), nullptr, "GetSleepCamera"},
|
||||
{IPC::MakeHeader(0x003D, 1, 0), nullptr, "SetSleepCamera"},
|
||||
{IPC::MakeHeader(0x003E, 1, 0), nullptr, "SetBrightnessSynchronization"},
|
||||
{0x0001, &CAM_U::StartCapture, "StartCapture"},
|
||||
{0x0002, &CAM_U::StopCapture, "StopCapture"},
|
||||
{0x0003, &CAM_U::IsBusy, "IsBusy"},
|
||||
{0x0004, &CAM_U::ClearBuffer, "ClearBuffer"},
|
||||
{0x0005, &CAM_U::GetVsyncInterruptEvent, "GetVsyncInterruptEvent"},
|
||||
{0x0006, &CAM_U::GetBufferErrorInterruptEvent, "GetBufferErrorInterruptEvent"},
|
||||
{0x0007, &CAM_U::SetReceiving, "SetReceiving"},
|
||||
{0x0008, &CAM_U::IsFinishedReceiving, "IsFinishedReceiving"},
|
||||
{0x0009, &CAM_U::SetTransferLines, "SetTransferLines"},
|
||||
{0x000A, &CAM_U::GetMaxLines, "GetMaxLines"},
|
||||
{0x000B, &CAM_U::SetTransferBytes, "SetTransferBytes"},
|
||||
{0x000C, &CAM_U::GetTransferBytes, "GetTransferBytes"},
|
||||
{0x000D, &CAM_U::GetMaxBytes, "GetMaxBytes"},
|
||||
{0x000E, &CAM_U::SetTrimming, "SetTrimming"},
|
||||
{0x000F, &CAM_U::IsTrimming, "IsTrimming"},
|
||||
{0x0010, &CAM_U::SetTrimmingParams, "SetTrimmingParams"},
|
||||
{0x0011, &CAM_U::GetTrimmingParams, "GetTrimmingParams"},
|
||||
{0x0012, &CAM_U::SetTrimmingParamsCenter, "SetTrimmingParamsCenter"},
|
||||
{0x0013, &CAM_U::Activate, "Activate"},
|
||||
{0x0014, &CAM_U::SwitchContext, "SwitchContext"},
|
||||
{0x0015, nullptr, "SetExposure"},
|
||||
{0x0016, nullptr, "SetWhiteBalance"},
|
||||
{0x0017, nullptr, "SetWhiteBalanceWithoutBaseUp"},
|
||||
{0x0018, nullptr, "SetSharpness"},
|
||||
{0x0019, nullptr, "SetAutoExposure"},
|
||||
{0x001A, nullptr, "IsAutoExposure"},
|
||||
{0x001B, nullptr, "SetAutoWhiteBalance"},
|
||||
{0x001C, nullptr, "IsAutoWhiteBalance"},
|
||||
{0x001D, &CAM_U::FlipImage, "FlipImage"},
|
||||
{0x001E, &CAM_U::SetDetailSize, "SetDetailSize"},
|
||||
{0x001F, &CAM_U::SetSize, "SetSize"},
|
||||
{0x0020, &CAM_U::SetFrameRate, "SetFrameRate"},
|
||||
{0x0021, nullptr, "SetPhotoMode"},
|
||||
{0x0022, &CAM_U::SetEffect, "SetEffect"},
|
||||
{0x0023, nullptr, "SetContrast"},
|
||||
{0x0024, nullptr, "SetLensCorrection"},
|
||||
{0x0025, &CAM_U::SetOutputFormat, "SetOutputFormat"},
|
||||
{0x0026, nullptr, "SetAutoExposureWindow"},
|
||||
{0x0027, nullptr, "SetAutoWhiteBalanceWindow"},
|
||||
{0x0028, nullptr, "SetNoiseFilter"},
|
||||
{0x0029, &CAM_U::SynchronizeVsyncTiming, "SynchronizeVsyncTiming"},
|
||||
{0x002A, &CAM_U::GetLatestVsyncTiming, "GetLatestVsyncTiming"},
|
||||
{0x002B, &CAM_U::GetStereoCameraCalibrationData, "GetStereoCameraCalibrationData"},
|
||||
{0x002C, nullptr, "SetStereoCameraCalibrationData"},
|
||||
{0x002D, nullptr, "WriteRegisterI2c"},
|
||||
{0x002E, nullptr, "WriteMcuVariableI2c"},
|
||||
{0x002F, nullptr, "ReadRegisterI2cExclusive"},
|
||||
{0x0030, nullptr, "ReadMcuVariableI2cExclusive"},
|
||||
{0x0031, nullptr, "SetImageQualityCalibrationData"},
|
||||
{0x0032, nullptr, "GetImageQualityCalibrationData"},
|
||||
{0x0033, &CAM_U::SetPackageParameterWithoutContext, "SetPackageParameterWithoutContext"},
|
||||
{0x0034, &CAM_U::SetPackageParameterWithContext, "SetPackageParameterWithContext"},
|
||||
{0x0035, &CAM_U::SetPackageParameterWithContextDetail, "SetPackageParameterWithContextDetail"},
|
||||
{0x0036, &CAM_U::GetSuitableY2rStandardCoefficient, "GetSuitableY2rStandardCoefficient"},
|
||||
{0x0037, nullptr, "PlayShutterSoundWithWave"},
|
||||
{0x0038, &CAM_U::PlayShutterSound, "PlayShutterSound"},
|
||||
{0x0039, &CAM_U::DriverInitialize, "DriverInitialize"},
|
||||
{0x003A, &CAM_U::DriverFinalize, "DriverFinalize"},
|
||||
{0x003B, nullptr, "GetActivatedCamera"},
|
||||
{0x003C, nullptr, "GetSleepCamera"},
|
||||
{0x003D, nullptr, "SetSleepCamera"},
|
||||
{0x003E, nullptr, "SetBrightnessSynchronization"},
|
||||
// clang-format on
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue