libctru  v1.6.0
Data Structures | Enumerations | Functions
y2r.h File Reference

Y2R service for hardware YUV->RGB conversions. More...

#include <3ds/types.h>

Go to the source code of this file.

Data Structures

struct  Y2RU_ColorCoefficients
 Coefficients of the YUV->RGB conversion formula. More...
 
struct  Y2RU_ConversionParams
 Structure used to configure all parameters at once. More...
 
struct  Y2RU_DitheringWeightParams
 Dithering weights. More...
 

Enumerations

enum  Y2RU_InputFormat {
  INPUT_YUV422_INDIV_8 = 0x0,
  INPUT_YUV420_INDIV_8 = 0x1,
  INPUT_YUV422_INDIV_16 = 0x2,
  INPUT_YUV420_INDIV_16 = 0x3,
  INPUT_YUV422_BATCH = 0x4
}
 Input color formats. More...
 
enum  Y2RU_OutputFormat {
  OUTPUT_RGB_32 = 0x0,
  OUTPUT_RGB_24 = 0x1,
  OUTPUT_RGB_16_555 = 0x2,
  OUTPUT_RGB_16_565 = 0x3
}
 Output color formats. More...
 
enum  Y2RU_Rotation {
  ROTATION_NONE = 0x0,
  ROTATION_CLOCKWISE_90 = 0x1,
  ROTATION_CLOCKWISE_180 = 0x2,
  ROTATION_CLOCKWISE_270 = 0x3
}
 Rotation to be applied to the output. More...
 
enum  Y2RU_BlockAlignment {
  BLOCK_LINE = 0x0,
  BLOCK_8_BY_8 = 0x1
}
 Block alignment of output. More...
 
enum  Y2RU_StandardCoefficient {
  COEFFICIENT_ITU_R_BT_601 = 0x0,
  COEFFICIENT_ITU_R_BT_709 = 0x1,
  COEFFICIENT_ITU_R_BT_601_SCALING = 0x2,
  COEFFICIENT_ITU_R_BT_709_SCALING = 0x3
}
 Preset conversion coefficients based on ITU standards for the YUV->RGB formula. More...
 

Functions

Result y2rInit (void)
 Initializes the y2r service. More...
 
void y2rExit (void)
 Closes the y2r service. More...
 
Result Y2RU_SetInputFormat (Y2RU_InputFormat format)
 Used to configure the input format. More...
 
Result Y2RU_GetInputFormat (Y2RU_InputFormat *format)
 Gets the configured input format. More...
 
Result Y2RU_SetOutputFormat (Y2RU_OutputFormat format)
 Used to configure the output format. More...
 
Result Y2RU_GetOutputFormat (Y2RU_OutputFormat *format)
 Gets the configured output format. More...
 
Result Y2RU_SetRotation (Y2RU_Rotation rotation)
 Used to configure the rotation of the output. More...
 
Result Y2RU_GetRotation (Y2RU_Rotation *rotation)
 Gets the configured rotation. More...
 
Result Y2RU_SetBlockAlignment (Y2RU_BlockAlignment alignment)
 Used to configure the alignment of the output buffer. More...
 
Result Y2RU_GetBlockAlignment (Y2RU_BlockAlignment *alignment)
 Gets the configured alignment. More...
 
Result Y2RU_SetSpacialDithering (bool enable)
 Sets whether to use spacial dithering. More...
 
Result Y2RU_GetSpacialDithering (bool *enabled)
 Gets whether to use spacial dithering. More...
 
Result Y2RU_SetTemporalDithering (bool enable)
 Sets whether to use temporal dithering. More...
 
Result Y2RU_GetTemporalDithering (bool *enabled)
 Gets whether to use temporal dithering. More...
 
Result Y2RU_SetInputLineWidth (u16 line_width)
 Used to configure the width of the image. More...
 
Result Y2RU_GetInputLineWidth (u16 *line_width)
 Gets the configured input line width. More...
 
Result Y2RU_SetInputLines (u16 num_lines)
 Used to configure the height of the image. More...
 
Result Y2RU_GetInputLines (u16 *num_lines)
 Gets the configured number of input lines. More...
 
Result Y2RU_SetCoefficients (const Y2RU_ColorCoefficients *coefficients)
 Used to configure the color conversion formula. More...
 
Result Y2RU_GetCoefficients (Y2RU_ColorCoefficients *coefficients)
 Gets the configured color coefficients. More...
 
Result Y2RU_SetStandardCoefficient (Y2RU_StandardCoefficient coefficient)
 Used to configure the color conversion formula with ITU stantards coefficients. More...
 
Result Y2RU_GetStandardCoefficient (Y2RU_ColorCoefficients *coefficients, Y2RU_StandardCoefficient standardCoeff)
 Gets the color coefficient parameters of a standard coefficient. More...
 
Result Y2RU_SetAlpha (u16 alpha)
 Used to configure the alpha value of the output. More...
 
Result Y2RU_GetAlpha (u16 *alpha)
 Gets the configured output alpha value. More...
 
Result Y2RU_SetTransferEndInterrupt (bool should_interrupt)
 Used to enable the end of conversion interrupt. More...
 
Result Y2RU_GetTransferEndInterrupt (bool *should_interrupt)
 Gets whether the transfer end interrupt is enabled. More...
 
Result Y2RU_GetTransferEndEvent (Handle *end_event)
 Gets an handle to the end of conversion event. More...
 
Result Y2RU_SetSendingY (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
 Configures the Y plane buffer. More...
 
Result Y2RU_SetSendingU (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
 Configures the U plane buffer. More...
 
Result Y2RU_SetSendingV (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
 Configures the V plane buffer. More...
 
Result Y2RU_SetSendingYUYV (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
 Configures the YUYV source buffer. More...
 
Result Y2RU_SetReceiving (void *dst_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
 Configures the destination buffer. More...
 
Result Y2RU_IsDoneSendingY (bool *is_done)
 Checks if the DMA has finished sending the Y buffer. More...
 
Result Y2RU_IsDoneSendingU (bool *is_done)
 Checks if the DMA has finished sending the U buffer. More...
 
Result Y2RU_IsDoneSendingV (bool *is_done)
 Checks if the DMA has finished sending the V buffer. More...
 
Result Y2RU_IsDoneSendingYUYV (bool *is_done)
 Checks if the DMA has finished sending the YUYV buffer. More...
 
Result Y2RU_IsDoneReceiving (bool *is_done)
 Checks if the DMA has finished sending the converted result. More...
 
Result Y2RU_SetDitheringWeightParams (const Y2RU_DitheringWeightParams *params)
 Configures the dithering weight parameters. More...
 
Result Y2RU_GetDitheringWeightParams (Y2RU_DitheringWeightParams *params)
 Gets the configured dithering weight parameters. More...
 
Result Y2RU_SetConversionParams (const Y2RU_ConversionParams *params)
 Sets all of the parameters of Y2RU_ConversionParams at once. More...
 
Result Y2RU_StartConversion (void)
 Starts the conversion process.
 
Result Y2RU_StopConversion (void)
 Cancels the conversion.
 
Result Y2RU_IsBusyConversion (bool *is_busy)
 Checks if the conversion and DMA transfer are finished. More...
 
Result Y2RU_PingProcess (u8 *ping)
 Checks whether Y2R is ready to be used. More...
 
Result Y2RU_DriverInitialize (void)
 Initializes the Y2R driver.
 
Result Y2RU_DriverFinalize (void)
 Terminates the Y2R driver.
 

Detailed Description

Y2R service for hardware YUV->RGB conversions.

Enumeration Type Documentation

◆ Y2RU_BlockAlignment

Block alignment of output.

Defines the way the output will be laid out in memory.

Enumerator
BLOCK_LINE 

The result buffer will be laid out in linear format, the usual way.

BLOCK_8_BY_8 

The result will be stored as 8x8 blocks in Z-order.
Useful for textures since it is the format used by the PICA200.

◆ Y2RU_InputFormat

Input color formats.

For the 16-bit per component formats, bits 15-8 are padding and 7-0 contains the value.

Enumerator
INPUT_YUV422_INDIV_8 

8-bit per component, planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples).
Usually named YUV422P.

INPUT_YUV420_INDIV_8 

8-bit per component, planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples).
Usually named YUV420P.

INPUT_YUV422_INDIV_16 

16-bit per component, planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples).
Usually named YUV422P16.

INPUT_YUV420_INDIV_16 

16-bit per component, planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples).
Usually named YUV420P16.

INPUT_YUV422_BATCH 

8-bit per component, packed YUV 4:2:2, 16bpp, (Y0 Cb Y1 Cr).
Usually named YUYV422.

◆ Y2RU_OutputFormat

Output color formats.

Those are the same as the framebuffer and GPU texture formats.

Enumerator
OUTPUT_RGB_32 

32-bit RGBA8888. The alpha component is the 8-bit value set by Y2RU_SetAlpha

OUTPUT_RGB_24 

24-bit RGB888.

OUTPUT_RGB_16_555 

16-bit RGBA5551. The alpha bit is the 7th bit of the alpha value set by Y2RU_SetAlpha

OUTPUT_RGB_16_565 

16-bit RGB565.

◆ Y2RU_Rotation

Rotation to be applied to the output.

Enumerator
ROTATION_NONE 

No rotation.

ROTATION_CLOCKWISE_90 

Clockwise 90 degrees.

ROTATION_CLOCKWISE_180 

Clockwise 180 degrees.

ROTATION_CLOCKWISE_270 

Clockwise 270 degrees.

◆ Y2RU_StandardCoefficient

Preset conversion coefficients based on ITU standards for the YUV->RGB formula.

For more details refer to Y2RU_ColorCoefficients

Enumerator
COEFFICIENT_ITU_R_BT_601 

Coefficients from the ITU-R BT.601 standard with PC ranges.

COEFFICIENT_ITU_R_BT_709 

Coefficients from the ITU-R BT.709 standard with PC ranges.

COEFFICIENT_ITU_R_BT_601_SCALING 

Coefficients from the ITU-R BT.601 standard with TV ranges.

COEFFICIENT_ITU_R_BT_709_SCALING 

Coefficients from the ITU-R BT.709 standard with TV ranges.

Function Documentation

◆ y2rExit()

void y2rExit ( void  )

Closes the y2r service.

This will internally call Y2RU_DriverFinalize and close the handle of the service.

◆ y2rInit()

Result y2rInit ( void  )

Initializes the y2r service.

This will internally get the handle of the service, and on success call Y2RU_DriverInitialize.

◆ Y2RU_GetAlpha()

Result Y2RU_GetAlpha ( u16 alpha)

Gets the configured output alpha value.

Parameters
alphaPointer to output the alpha value to.

◆ Y2RU_GetBlockAlignment()

Result Y2RU_GetBlockAlignment ( Y2RU_BlockAlignment alignment)

Gets the configured alignment.

Parameters
alignmentPointer to output the alignment to.

◆ Y2RU_GetCoefficients()

Result Y2RU_GetCoefficients ( Y2RU_ColorCoefficients coefficients)

Gets the configured color coefficients.

Parameters
num_linesPointer to output the coefficients to.

◆ Y2RU_GetDitheringWeightParams()

Result Y2RU_GetDitheringWeightParams ( Y2RU_DitheringWeightParams params)

Gets the configured dithering weight parameters.

Parameters
paramsPointer to output the dithering weight parameters to.

◆ Y2RU_GetInputFormat()

Result Y2RU_GetInputFormat ( Y2RU_InputFormat format)

Gets the configured input format.

Parameters
formatPointer to output the input format to.

◆ Y2RU_GetInputLines()

Result Y2RU_GetInputLines ( u16 num_lines)

Gets the configured number of input lines.

Parameters
num_linesPointer to output the input lines to.

◆ Y2RU_GetInputLineWidth()

Result Y2RU_GetInputLineWidth ( u16 line_width)

Gets the configured input line width.

Parameters
line_widthPointer to output the line width to.

◆ Y2RU_GetOutputFormat()

Result Y2RU_GetOutputFormat ( Y2RU_OutputFormat format)

Gets the configured output format.

Parameters
formatPointer to output the output format to.

◆ Y2RU_GetRotation()

Result Y2RU_GetRotation ( Y2RU_Rotation rotation)

Gets the configured rotation.

Parameters
rotationPointer to output the rotation to.

◆ Y2RU_GetSpacialDithering()

Result Y2RU_GetSpacialDithering ( bool *  enabled)

Gets whether to use spacial dithering.

Parameters
enablePointer to output the spacial dithering state to.

◆ Y2RU_GetStandardCoefficient()

Result Y2RU_GetStandardCoefficient ( Y2RU_ColorCoefficients coefficients,
Y2RU_StandardCoefficient  standardCoeff 
)

Gets the color coefficient parameters of a standard coefficient.

Parameters
coefficientsPointer to output the coefficients to.
standardCoeffStandard coefficient to check.

◆ Y2RU_GetTemporalDithering()

Result Y2RU_GetTemporalDithering ( bool *  enabled)

Gets whether to use temporal dithering.

Parameters
enablePointer to output the temporal dithering state to.

◆ Y2RU_GetTransferEndEvent()

Result Y2RU_GetTransferEndEvent ( Handle end_event)

Gets an handle to the end of conversion event.

Parameters
end_eventPointer to the event handle to be set to the end of conversion event. It isn't necessary to create or close this handle.

To enable this event you have to use

The event will be triggered when the corresponding interrupt is fired.

Note
It is recommended to use a timeout when waiting on this event, as it sometimes (but rarely) isn't triggered.

◆ Y2RU_GetTransferEndInterrupt()

Result Y2RU_GetTransferEndInterrupt ( bool *  should_interrupt)

Gets whether the transfer end interrupt is enabled.

Parameters
should_interruptPointer to output the interrupt state to.

◆ Y2RU_IsBusyConversion()

Result Y2RU_IsBusyConversion ( bool *  is_busy)

Checks if the conversion and DMA transfer are finished.

Parameters
is_busyPointer to output the busy state to.

This can have the same problems as the event and interrupt. See Y2RU_SetTransferEndInterrupt.

◆ Y2RU_IsDoneReceiving()

Result Y2RU_IsDoneReceiving ( bool *  is_done)

Checks if the DMA has finished sending the converted result.

Parameters
is_donePointer to the boolean that will hold the result.

True if the DMA has finished transferring data to your destination buffer, false otherwise.

◆ Y2RU_IsDoneSendingU()

Result Y2RU_IsDoneSendingU ( bool *  is_done)

Checks if the DMA has finished sending the U buffer.

Parameters
is_donePointer to the boolean that will hold the result.

True if the DMA has finished transferring the U plane, false otherwise. To be used with Y2RU_SetSendingU.

◆ Y2RU_IsDoneSendingV()

Result Y2RU_IsDoneSendingV ( bool *  is_done)

Checks if the DMA has finished sending the V buffer.

Parameters
is_donePointer to the boolean that will hold the result.

True if the DMA has finished transferring the V plane, false otherwise. To be used with Y2RU_SetSendingV.

◆ Y2RU_IsDoneSendingY()

Result Y2RU_IsDoneSendingY ( bool *  is_done)

Checks if the DMA has finished sending the Y buffer.

Parameters
is_donePointer to the boolean that will hold the result.

True if the DMA has finished transferring the Y plane, false otherwise. To be used with Y2RU_SetSendingY.

◆ Y2RU_IsDoneSendingYUYV()

Result Y2RU_IsDoneSendingYUYV ( bool *  is_done)

Checks if the DMA has finished sending the YUYV buffer.

Parameters
is_donePointer to the boolean that will hold the result.

True if the DMA has finished transferring the YUYV buffer, false otherwise. To be used with Y2RU_SetSendingYUYV.

◆ Y2RU_PingProcess()

Result Y2RU_PingProcess ( u8 ping)

Checks whether Y2R is ready to be used.

Parameters
pingPointer to output the ready status to.

◆ Y2RU_SetAlpha()

Result Y2RU_SetAlpha ( u16  alpha)

Used to configure the alpha value of the output.

Parameters
alpha8-bit value to be used for the output when the format requires it.
Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetBlockAlignment()

Result Y2RU_SetBlockAlignment ( Y2RU_BlockAlignment  alignment)

Used to configure the alignment of the output buffer.

Parameters
alignmentAlignment to use.
Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetCoefficients()

Result Y2RU_SetCoefficients ( const Y2RU_ColorCoefficients coefficients)

Used to configure the color conversion formula.

Parameters
coefficientsCoefficients to use.

See Y2RU_ColorCoefficients for more information about the coefficients.

Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetConversionParams()

Result Y2RU_SetConversionParams ( const Y2RU_ConversionParams params)

Sets all of the parameters of Y2RU_ConversionParams at once.

Parameters
paramsConversion parameters to set.

Faster than calling the individual value through Y2R_Set* because only one system call is made.

◆ Y2RU_SetDitheringWeightParams()

Result Y2RU_SetDitheringWeightParams ( const Y2RU_DitheringWeightParams params)

Configures the dithering weight parameters.

Parameters
paramsDithering weight parameters to use.

◆ Y2RU_SetInputFormat()

Result Y2RU_SetInputFormat ( Y2RU_InputFormat  format)

Used to configure the input format.

Parameters
formatInput format to use.
Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetInputLines()

Result Y2RU_SetInputLines ( u16  num_lines)

Used to configure the height of the image.

Parameters
num_linesNumber of lines to be converted.

A multiple of 8 seems to be preferred. If using the BLOCK_8_BY_8 mode, it must be a multiple of 8.

Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetInputLineWidth()

Result Y2RU_SetInputLineWidth ( u16  line_width)

Used to configure the width of the image.

Parameters
line_widthWidth of the image in pixels. Must be a multiple of 8, up to 1024.
Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetOutputFormat()

Result Y2RU_SetOutputFormat ( Y2RU_OutputFormat  format)

Used to configure the output format.

Parameters
formatOutput format to use.
Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetReceiving()

Result Y2RU_SetReceiving ( void *  dst_buf,
u32  image_size,
s16  transfer_unit,
s16  transfer_gap 
)

Configures the destination buffer.

Parameters
src_bufA pointer to the beginning of your destination buffer in FCRAM
image_sizeThe total size of the data buffer.
transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.

This specifies the destination buffer of the conversion. The actual transfer will only happen after calling Y2RU_StartConversion. The buffer does NOT need to be allocated in the linear heap.

Warning
transfer_unit+transfer_gap must be less than 32768 (0x8000)
Note
It seems that depending on the size of the image and of the transfer unit,
it is possible for the end of conversion interrupt to be triggered right after the conversion began.
One line as transfer_unit seems to trigger this issue for 400x240, setting to 2/4/8 lines fixes it.
Setting a transfer_unit of 4 or 8 lines seems to bring the best results in terms of speed for a 400x240 image.

◆ Y2RU_SetRotation()

Result Y2RU_SetRotation ( Y2RU_Rotation  rotation)

Used to configure the rotation of the output.

Parameters
rotationRotation to use.

It seems to apply the rotation per batch of 8 lines, so the output will be (height/8) images of size 8 x width.

Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetSendingU()

Result Y2RU_SetSendingU ( const void *  src_buf,
u32  image_size,
s16  transfer_unit,
s16  transfer_gap 
)

Configures the U plane buffer.

Parameters
src_bufA pointer to the beginning of your Y data buffer.
image_sizeThe total size of the data buffer.
transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
Warning
transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the U data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

◆ Y2RU_SetSendingV()

Result Y2RU_SetSendingV ( const void *  src_buf,
u32  image_size,
s16  transfer_unit,
s16  transfer_gap 
)

Configures the V plane buffer.

Parameters
src_bufA pointer to the beginning of your Y data buffer.
image_sizeThe total size of the data buffer.
transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
Warning
transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the V data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

◆ Y2RU_SetSendingY()

Result Y2RU_SetSendingY ( const void *  src_buf,
u32  image_size,
s16  transfer_unit,
s16  transfer_gap 
)

Configures the Y plane buffer.

Parameters
src_bufA pointer to the beginning of your Y data buffer.
image_sizeThe total size of the data buffer.
transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
Warning
transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the Y data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

◆ Y2RU_SetSendingYUYV()

Result Y2RU_SetSendingYUYV ( const void *  src_buf,
u32  image_size,
s16  transfer_unit,
s16  transfer_gap 
)

Configures the YUYV source buffer.

Parameters
src_bufA pointer to the beginning of your Y data buffer.
image_sizeThe total size of the data buffer.
transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
Warning
transfer_unit+transfer_gap must be less than 32768 (0x8000)

This specifies the YUYV data buffer for the packed input format INPUT_YUV422_BATCH. The actual transfer will only happen after calling Y2RU_StartConversion.

◆ Y2RU_SetSpacialDithering()

Result Y2RU_SetSpacialDithering ( bool  enable)

Sets whether to use spacial dithering.

Parameters
enableWhether to use spacial dithering.

◆ Y2RU_SetStandardCoefficient()

Result Y2RU_SetStandardCoefficient ( Y2RU_StandardCoefficient  coefficient)

Used to configure the color conversion formula with ITU stantards coefficients.

Parameters
coefficientStandard coefficient to use.

See Y2RU_ColorCoefficients for more information about the coefficients.

Note
Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.

◆ Y2RU_SetTemporalDithering()

Result Y2RU_SetTemporalDithering ( bool  enable)

Sets whether to use temporal dithering.

Parameters
enableWhether to use temporal dithering.

◆ Y2RU_SetTransferEndInterrupt()

Result Y2RU_SetTransferEndInterrupt ( bool  should_interrupt)

Used to enable the end of conversion interrupt.

Parameters
should_interruptEnables the interrupt if true, disable it if false.

It is possible to fire an interrupt when the conversion is finished, and that the DMA is done copying the data. This interrupt will then be used to fire an event. See Y2RU_GetTransferEndEvent. By default the interrupt is enabled.

Note
It seems that the event can be fired too soon in some cases, depending the transfer_unit size.
Please see the note at Y2RU_SetReceiving