1
0
Fork 0

Service/CAM: Add doxycomments to all service functions

This commit is contained in:
Yuri Kunde Schlesner 2016-02-29 22:53:36 -08:00
parent fc6fa0f088
commit 338a0f01f2
1 changed files with 217 additions and 0 deletions

View File

@ -190,24 +190,241 @@ struct PackageParameterCameraSelect {
static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong"); static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong");
/**
* Unknown
* Inputs:
* 0: 0x00010040
* 1: u8 Camera port (`Port` enum)
* Outputs:
* 0: 0x00010040
* 1: ResultCode
*/
void StartCapture(Service::Interface* self); void StartCapture(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00020040
* 1: u8 Camera port (`Port` enum)
* Outputs:
* 0: 0x00020040
* 1: ResultCode
*/
void StopCapture(Service::Interface* self); void StopCapture(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00050040
* 1: u8 Camera port (`Port` enum)
* Outputs:
* 0: 0x00050042
* 1: ResultCode
* 2: Descriptor: Handle
* 3: Event handle
*/
void GetVsyncInterruptEvent(Service::Interface* self); void GetVsyncInterruptEvent(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00060040
* 1: u8 Camera port (`Port` enum)
* Outputs:
* 0: 0x00060042
* 1: ResultCode
* 2: Descriptor: Handle
* 3: Event handle
*/
void GetBufferErrorInterruptEvent(Service::Interface* self); void GetBufferErrorInterruptEvent(Service::Interface* self);
/**
* Sets the target buffer to receive a frame of image data and starts the transfer. Each camera
* port has its own event to signal the end of the transfer.
*
* Inputs:
* 0: 0x00070102
* 1: Destination address in calling process
* 2: u8 Camera port (`Port` enum)
* 3: Image size (in bytes?)
* 4: u16 Transfer unit size (in bytes?)
* 5: Descriptor: Handle
* 6: Handle to destination process
* Outputs:
* 0: 0x00070042
* 1: ResultCode
* 2: Descriptor: Handle
* 3: Handle to event signalled when transfer finishes
*/
void SetReceiving(Service::Interface* self); void SetReceiving(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00090100
* 1: u8 Camera port (`Port` enum)
* 2: u16 Number of lines to transfer
* 3: u16 Width
* 4: u16 Height
* Outputs:
* 0: 0x00090040
* 1: ResultCode
*/
void SetTransferLines(Service::Interface* self); void SetTransferLines(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x000A0080
* 1: u16 Width
* 2: u16 Height
* Outputs:
* 0: 0x000A0080
* 1: ResultCode
* 2: Maximum number of lines that fit in the buffer(?)
*/
void GetMaxLines(Service::Interface* self); void GetMaxLines(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x000C0040
* 1: u8 Camera port (`Port` enum)
* Outputs:
* 0: 0x000C0080
* 1: ResultCode
* 2: Total number of bytes for each frame with current settings(?)
*/
void GetTransferBytes(Service::Interface* self); void GetTransferBytes(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x000E0080
* 1: u8 Camera port (`Port` enum)
* 2: u8 bool Enable trimming if true
* Outputs:
* 0: 0x000E0040
* 1: ResultCode
*/
void SetTrimming(Service::Interface* self); void SetTrimming(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00120140
* 1: u8 Camera port (`Port` enum)
* 2: s16 Trim width(?)
* 3: s16 Trim height(?)
* 4: s16 Camera width(?)
* 5: s16 Camera height(?)
* Outputs:
* 0: 0x00120040
* 1: ResultCode
*/
void SetTrimmingParamsCenter(Service::Interface* self); void SetTrimmingParamsCenter(Service::Interface* self);
/**
* Selects up to two physical cameras to enable.
* Inputs:
* 0: 0x00130040
* 1: u8 Cameras to activate (`CameraSelect` enum)
* Outputs:
* 0: 0x00130040
* 1: ResultCode
*/
void Activate(Service::Interface* self); void Activate(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x001D00C0
* 1: u8 Camera select (`CameraSelect` enum)
* 2: u8 Type of flipping to perform (`Flip` enum)
* 3: u8 Context (`Context` enum)
* Outputs:
* 0: 0x001D0040
* 1: ResultCode
*/
void FlipImage(Service::Interface* self); void FlipImage(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x001F00C0
* 1: u8 Camera select (`CameraSelect` enum)
* 2: u8 Camera frame resolution (`Size` enum)
* 3: u8 Context id (`Context` enum)
* Outputs:
* 0: 0x001F0040
* 1: ResultCode
*/
void SetSize(Service::Interface* self); void SetSize(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00200080
* 1: u8 Camera select (`CameraSelect` enum)
* 2: u8 Camera framerate (`FrameRate` enum)
* Outputs:
* 0: 0x00200040
* 1: ResultCode
*/
void SetFrameRate(Service::Interface* self); void SetFrameRate(Service::Interface* self);
/**
* Returns calibration data relating the outside cameras to eachother, for use in AR applications.
*
* Inputs:
* 0: 0x002B0000
* Outputs:
* 0: 0x002B0440
* 1: ResultCode
* 2-17: `StereoCameraCalibrationData` structure with calibration values
*/
void GetStereoCameraCalibrationData(Service::Interface* self); void GetStereoCameraCalibrationData(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00360000
* Outputs:
* 0: 0x00360080
* 1: ResultCode
* 2: ?
*/
void GetSuitableY2rStandardCoefficient(Service::Interface* self); void GetSuitableY2rStandardCoefficient(Service::Interface* self);
/**
* Unknown
* Inputs:
* 0: 0x00380040
* 1: u8 Sound ID
* Outputs:
* 0: 0x00380040
* 1: ResultCode
*/
void PlayShutterSound(Service::Interface* self); void PlayShutterSound(Service::Interface* self);
/**
* Initializes the camera driver. Must be called before using other functions.
* Inputs:
* 0: 0x00390000
* Outputs:
* 0: 0x00390040
* 1: ResultCode
*/
void DriverInitialize(Service::Interface* self); void DriverInitialize(Service::Interface* self);
/**
* Shuts down the camera driver.
* Inputs:
* 0: 0x003A0000
* Outputs:
* 0: 0x003A0040
* 1: ResultCode
*/
void DriverFinalize(Service::Interface* self); void DriverFinalize(Service::Interface* self);
/// Initialize CAM service(s) /// Initialize CAM service(s)