summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2016-02-29 22:53:36 -0800
committerGravatar Yuri Kunde Schlesner2016-02-29 22:53:36 -0800
commit338a0f01f2289c7c3837759dba1cfeaf6cb484cd (patch)
tree13061db116cf118118ec41955fa6cb4cb1b6da60 /src
parentService/CAM: Dummy implementation of some functions (diff)
downloadyuzu-338a0f01f2289c7c3837759dba1cfeaf6cb484cd.tar.gz
yuzu-338a0f01f2289c7c3837759dba1cfeaf6cb484cd.tar.xz
yuzu-338a0f01f2289c7c3837759dba1cfeaf6cb484cd.zip
Service/CAM: Add doxycomments to all service functions
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/cam/cam.h217
1 files changed, 217 insertions, 0 deletions
diff --git a/src/core/hle/service/cam/cam.h b/src/core/hle/service/cam/cam.h
index 83cfe6411..2f4923728 100644
--- a/src/core/hle/service/cam/cam.h
+++ b/src/core/hle/service/cam/cam.h
@@ -190,24 +190,241 @@ struct PackageParameterCameraSelect {
190 190
191static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong"); 191static_assert(sizeof(PackageParameterCameraSelect) == 28, "PackageParameterCameraSelect structure size is wrong");
192 192
193/**
194 * Unknown
195 * Inputs:
196 * 0: 0x00010040
197 * 1: u8 Camera port (`Port` enum)
198 * Outputs:
199 * 0: 0x00010040
200 * 1: ResultCode
201 */
193void StartCapture(Service::Interface* self); 202void StartCapture(Service::Interface* self);
203
204/**
205 * Unknown
206 * Inputs:
207 * 0: 0x00020040
208 * 1: u8 Camera port (`Port` enum)
209 * Outputs:
210 * 0: 0x00020040
211 * 1: ResultCode
212 */
194void StopCapture(Service::Interface* self); 213void StopCapture(Service::Interface* self);
214
215/**
216 * Unknown
217 * Inputs:
218 * 0: 0x00050040
219 * 1: u8 Camera port (`Port` enum)
220 * Outputs:
221 * 0: 0x00050042
222 * 1: ResultCode
223 * 2: Descriptor: Handle
224 * 3: Event handle
225 */
195void GetVsyncInterruptEvent(Service::Interface* self); 226void GetVsyncInterruptEvent(Service::Interface* self);
227
228/**
229 * Unknown
230 * Inputs:
231 * 0: 0x00060040
232 * 1: u8 Camera port (`Port` enum)
233 * Outputs:
234 * 0: 0x00060042
235 * 1: ResultCode
236 * 2: Descriptor: Handle
237 * 3: Event handle
238 */
196void GetBufferErrorInterruptEvent(Service::Interface* self); 239void GetBufferErrorInterruptEvent(Service::Interface* self);
240
241/**
242 * Sets the target buffer to receive a frame of image data and starts the transfer. Each camera
243 * port has its own event to signal the end of the transfer.
244 *
245 * Inputs:
246 * 0: 0x00070102
247 * 1: Destination address in calling process
248 * 2: u8 Camera port (`Port` enum)
249 * 3: Image size (in bytes?)
250 * 4: u16 Transfer unit size (in bytes?)
251 * 5: Descriptor: Handle
252 * 6: Handle to destination process
253 * Outputs:
254 * 0: 0x00070042
255 * 1: ResultCode
256 * 2: Descriptor: Handle
257 * 3: Handle to event signalled when transfer finishes
258 */
197void SetReceiving(Service::Interface* self); 259void SetReceiving(Service::Interface* self);
260
261/**
262 * Unknown
263 * Inputs:
264 * 0: 0x00090100
265 * 1: u8 Camera port (`Port` enum)
266 * 2: u16 Number of lines to transfer
267 * 3: u16 Width
268 * 4: u16 Height
269 * Outputs:
270 * 0: 0x00090040
271 * 1: ResultCode
272 */
198void SetTransferLines(Service::Interface* self); 273void SetTransferLines(Service::Interface* self);
274
275/**
276 * Unknown
277 * Inputs:
278 * 0: 0x000A0080
279 * 1: u16 Width
280 * 2: u16 Height
281 * Outputs:
282 * 0: 0x000A0080
283 * 1: ResultCode
284 * 2: Maximum number of lines that fit in the buffer(?)
285 */
199void GetMaxLines(Service::Interface* self); 286void GetMaxLines(Service::Interface* self);
287
288/**
289 * Unknown
290 * Inputs:
291 * 0: 0x000C0040
292 * 1: u8 Camera port (`Port` enum)
293 * Outputs:
294 * 0: 0x000C0080
295 * 1: ResultCode
296 * 2: Total number of bytes for each frame with current settings(?)
297 */
200void GetTransferBytes(Service::Interface* self); 298void GetTransferBytes(Service::Interface* self);
299
300/**
301 * Unknown
302 * Inputs:
303 * 0: 0x000E0080
304 * 1: u8 Camera port (`Port` enum)
305 * 2: u8 bool Enable trimming if true
306 * Outputs:
307 * 0: 0x000E0040
308 * 1: ResultCode
309 */
201void SetTrimming(Service::Interface* self); 310void SetTrimming(Service::Interface* self);
311
312/**
313 * Unknown
314 * Inputs:
315 * 0: 0x00120140
316 * 1: u8 Camera port (`Port` enum)
317 * 2: s16 Trim width(?)
318 * 3: s16 Trim height(?)
319 * 4: s16 Camera width(?)
320 * 5: s16 Camera height(?)
321 * Outputs:
322 * 0: 0x00120040
323 * 1: ResultCode
324 */
202void SetTrimmingParamsCenter(Service::Interface* self); 325void SetTrimmingParamsCenter(Service::Interface* self);
326
327/**
328 * Selects up to two physical cameras to enable.
329 * Inputs:
330 * 0: 0x00130040
331 * 1: u8 Cameras to activate (`CameraSelect` enum)
332 * Outputs:
333 * 0: 0x00130040
334 * 1: ResultCode
335 */
203void Activate(Service::Interface* self); 336void Activate(Service::Interface* self);
337
338/**
339 * Unknown
340 * Inputs:
341 * 0: 0x001D00C0
342 * 1: u8 Camera select (`CameraSelect` enum)
343 * 2: u8 Type of flipping to perform (`Flip` enum)
344 * 3: u8 Context (`Context` enum)
345 * Outputs:
346 * 0: 0x001D0040
347 * 1: ResultCode
348 */
204void FlipImage(Service::Interface* self); 349void FlipImage(Service::Interface* self);
350
351/**
352 * Unknown
353 * Inputs:
354 * 0: 0x001F00C0
355 * 1: u8 Camera select (`CameraSelect` enum)
356 * 2: u8 Camera frame resolution (`Size` enum)
357 * 3: u8 Context id (`Context` enum)
358 * Outputs:
359 * 0: 0x001F0040
360 * 1: ResultCode
361 */
205void SetSize(Service::Interface* self); 362void SetSize(Service::Interface* self);
363
364/**
365 * Unknown
366 * Inputs:
367 * 0: 0x00200080
368 * 1: u8 Camera select (`CameraSelect` enum)
369 * 2: u8 Camera framerate (`FrameRate` enum)
370 * Outputs:
371 * 0: 0x00200040
372 * 1: ResultCode
373 */
206void SetFrameRate(Service::Interface* self); 374void SetFrameRate(Service::Interface* self);
375
376/**
377 * Returns calibration data relating the outside cameras to eachother, for use in AR applications.
378 *
379 * Inputs:
380 * 0: 0x002B0000
381 * Outputs:
382 * 0: 0x002B0440
383 * 1: ResultCode
384 * 2-17: `StereoCameraCalibrationData` structure with calibration values
385 */
207void GetStereoCameraCalibrationData(Service::Interface* self); 386void GetStereoCameraCalibrationData(Service::Interface* self);
387
388/**
389 * Unknown
390 * Inputs:
391 * 0: 0x00360000
392 * Outputs:
393 * 0: 0x00360080
394 * 1: ResultCode
395 * 2: ?
396 */
208void GetSuitableY2rStandardCoefficient(Service::Interface* self); 397void GetSuitableY2rStandardCoefficient(Service::Interface* self);
398
399/**
400 * Unknown
401 * Inputs:
402 * 0: 0x00380040
403 * 1: u8 Sound ID
404 * Outputs:
405 * 0: 0x00380040
406 * 1: ResultCode
407 */
209void PlayShutterSound(Service::Interface* self); 408void PlayShutterSound(Service::Interface* self);
409
410/**
411 * Initializes the camera driver. Must be called before using other functions.
412 * Inputs:
413 * 0: 0x00390000
414 * Outputs:
415 * 0: 0x00390040
416 * 1: ResultCode
417 */
210void DriverInitialize(Service::Interface* self); 418void DriverInitialize(Service::Interface* self);
419
420/**
421 * Shuts down the camera driver.
422 * Inputs:
423 * 0: 0x003A0000
424 * Outputs:
425 * 0: 0x003A0040
426 * 1: ResultCode
427 */
211void DriverFinalize(Service::Interface* self); 428void DriverFinalize(Service::Interface* self);
212 429
213/// Initialize CAM service(s) 430/// Initialize CAM service(s)