AM273x MCU+ SDK  08.03.00

Introduction

APIs specific to a context

Data Structures

struct  CSIRX_ContextPingPongConfig
 ping-pong related configuration for each context. Note specified ping and pong addresses can be identical which will effectively disable double buffering. More...
 
struct  CSIRX_ContextCropConfig
 Cropping configuration. More...
 
struct  CSIRX_ContextTranscodeConfig
 Transcoding configuration. More...
 
struct  CSIRX_ContextIntr
 Context interrupts. More...
 
struct  CSIRX_ContextConfig
 Context configuration. More...
 

Functions

void CSIRX_ContextConfig_init (CSIRX_ContextConfig *config)
 Sets default values for configuration. More...
 
int32_t CSIRX_contextSetConfig (CSIRX_Handle handle, uint8_t contextId, CSIRX_ContextConfig *config)
 Configure context. More...
 
int32_t CSIRX_contextSetPingPongAddress (CSIRX_Handle handle, uint8_t contextId, uint32_t pingAddress, uint32_t pongAddress)
 Set context ping and pong address. More...
 
int32_t CSIRX_contextSetLineOffset (CSIRX_Handle handle, uint8_t contextId, int32_t lineOffset)
 Set context line offset. More...
 
int32_t CSIRX_contextEnable (CSIRX_Handle handle, uint8_t contextId)
 Enable context. More...
 
int32_t CSIRX_contextDisable (CSIRX_Handle handle, uint8_t contextId)
 Disable context. More...
 
int32_t CSIRX_contextClearAllIntr (CSIRX_Handle handle, uint8_t contextId)
 Clear all pending context interrupts. More...
 
int32_t CSIRX_contextGetPendingIntr (CSIRX_Handle handle, uint8_t contextId, CSIRX_ContextIntr *intrStatus)
 Get all pending context interrupts. More...
 
int32_t CSIRX_contextGetFrameNumber (CSIRX_Handle handle, uint8_t contextId, uint16_t *frameNumber)
 Get current frame number as decoded from within CSIRX long packet. More...
 
int32_t CSIRX_contextGetRecvAddress (CSIRX_Handle handle, uint8_t contextId, uint32_t *bufAddress)
 Get current completed receive address. More...
 
int32_t CSIRX_contextGetPingPongStatus (CSIRX_Handle handle, uint8_t contextId, uint8_t *pingPongStatus)
 Get status if ping or pong buffer write is done. More...
 

Typedefs

typedef void(* CSIRX_ContextCallback) (CSIRX_Handle handle, void *arg, uint8_t contextId)
 Context interrupt callback. More...
 

Macros

#define CSIRX_CONTEXTS_MAX   (8U)
 Max possible CSIRX contexts. More...
 
#define CSIRX_PING_PONG_ADDRESS_LINEOFFSET_ALIGNMENT_IN_BYTES   (32U)
 Ping-pong addresses and line offset alignment. Can be used for aligning ping-pong buffers and enforcing line offset alignment in bytes. More...
 
#define CSIRX_LINEOFFSET_CONTIGUOUS_STORAGE   (0U)
 Special value for contiguous storage. More...
 
#define CSIRX_NUM_FRAMES_TO_ACQUIRE_INFINITE   (0U)
 Special value of CSIRX_ContextConfig::numFramesToAcquire for setting infinite frames, this is also the CSIRX IP reset state. More...
 

Ping or Pong done status

#define CSIRX_CONTEXT_PINGPONG_STATUS_PING_DONE   (0U)
 Ping is done. More...
 
#define CSIRX_CONTEXT_PINGPONG_STATUS_PONG_DONE   (1U)
 Pong is done. More...
 

Ping pong switching mode

#define CSIRX_PING_PONG_FRAME_SWITCHING   (0U)
 Switch ping pong address on end of frame. More...
 
#define CSIRX_PING_PONG_LINE_SWITCHING   (1U)
 Switch ping pong address on end of line. More...
 

Transcode format

#define CSIRX_TRANSCODE_FORMAT_NO_TRANSCODE   (0U)
 Transcoding disabled. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW10_ALAW_OUT_RAW8   (3U)
 Compress input RAW10 using A-law. Output is regular RAW8. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW8_OUT_RAW8   (4U)
 Regular RAW8 input and regular RAW8 output. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW10_OUT_RAW10_EXP16   (5U)
 Input uncompressed RAW10, output RAW10 + EXP16. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW10_OUT_RAW10_PACKED   (6U)
 Input uncompressed RAW10, output regular packed RAW10. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW12_OUT_RAW12_EXP16   (7U)
 Input uncompressed RAW12, output RAW12 + EXP16. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW12_OUT_RAW12_PACKED   (8U)
 Input uncompressed RAW12, output regular packed RAW12. More...
 
#define CSIRX_TRANSCODE_FORMAT_IN_RAW14_OUT_RAW14   (9U)
 Input uncompressed RAW14, output uncompressed RAW14. More...
 

Data format

#define CSIRX_FORMAT_OTHERS_EXCEPT_NULL_AND_BLANKING   (0x000U)
 Others except NULL and BLANKING. More...
 
#define CSIRX_FORMAT_EMBEDDED_8_BIT_NON_IMAGE   (0x012U)
 Embedded 8-bit non image (for example JPEG) as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV420_8_BIT   (0x018U)
 YUV420 8-bit as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV420_10_BIT   (0x019U)
 YUV420 10-bit as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV420_8_BIT_LEGACY   (0x01AU)
 YUV420 8-bit legacy as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV420_8_BIT_CSPS   (0x01CU)
 YUV420 8-bit CSPS (Chroma Shifted Pixel Sampling) as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV420_10_BIT_CSPS   (0x01DU)
 YUV420 10-bit CSPS (Chroma Shifted Pixel Sampling) as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV422_8_BIT   (0x01EU)
 YUV422 8-bit as per MIPI spec. More...
 
#define CSIRX_FORMAT_YUV422_10_BIT   (0x01FU)
 YUV422 10-bit as per MIPI spec. More...
 
#define CSIRX_FORMAT_RGB565   (0x022U)
 RGB565 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RGB888   (0x024U)
 RGB888 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RAW6   (0x028U)
 RAW6 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RAW7   (0x029U)
 RAW7 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RAW8   (0x02AU)
 RAW8 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RAW10   (0x02BU)
 RAW19 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RAW12   (0x02CU)
 RAW12 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RAW14   (0x02DU)
 RAW14 as per MIPI spec. More...
 
#define CSIRX_FORMAT_RGB666_EXP32_24   (0x033U)
 RGB666 EXP32_24: EXP32 = Data expansion to 32 bits, padding with CSIRX_ContextConfig::alpha. Most significant 8-bits of output 32-bit will be equal to the least significant 8-bits of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_1   (0x040U)
 User Defined 8-bit data type 1. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_2   (0x041U)
 User Defined 8-bit data type 2. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_3   (0x042U)
 User Defined 8-bit data type 3. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_4   (0x043U)
 User Defined 8-bit data type 4. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_5   (0x044U)
 User Defined 8-bit data type 5. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_6   (0x045U)
 User Defined 8-bit data type 6. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_7   (0x046U)
 User Defined 8-bit data type 7. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_8   (0x047U)
 User Defined 8-bit data type 8. More...
 
#define CSIRX_FORMAT_RAW6_EXP8   (0x068U)
 RAW6 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_RAW7_EXP8   (0x069U)
 RAW7 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_1_EXP8   (0x080U)
 User Defined 8-bit data type 1 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_2_EXP8   (0x081U)
 User Defined 8-bit data type 2 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_3_EXP8   (0x082U)
 User Defined 8-bit data type 3 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_4_EXP8   (0x083U)
 User Defined 8-bit data type 4 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_5_EXP8   (0x084U)
 User Defined 8-bit data type 5 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_6_EXP8   (0x085U)
 User Defined 8-bit data type 6 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_7_EXP8   (0x086U)
 User Defined 8-bit data type 7 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_8_EXP8   (0x087U)
 User Defined 8-bit data type 8 with data expansion to 8-bits, padding with zeros. More...
 
#define CSIRX_FORMAT_RGB444_EXP16   (0x0A0U)
 RGB444 with data expansion to 16-bits. Most significant 4-bits of 16-bit output will be equal to the least significant 4-bits of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_RGB555_EXP16   (0x0A1U)
 RGB555 with data expansion to 16-bits. Most significant 1-bit of 16-bit output will be equal to the least significant 1-bit of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_RAW10_EXP16   (0x0ABU)
 RAW10 with data expansion to 16-bits. Most significant 6-bits of 16-bit output will be equal to the least significant 6-bits of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_RAW12_EXP16   (0x0ACU)
 RAW12 with data expansion to 16-bits. Most significant 4-bits of 16-bit output will be equal to the least significant 4-bits of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_RAW14_EXP16   (0x0ADU)
 RAW14 with data expansion to 16-bits. Most significant 2-bits of 16-bit output will be equal to the least significant 2-bits of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_RGB666_EXP32   (0x0E3U)
 RGB666 with data expansion to 32-bits. Most significant 14-bits of 32-bit output will be equal to the least significant 14-bits of CSIRX_ContextConfig::alpha. More...
 
#define CSIRX_FORMAT_RGB888_EXP32   (0x0E4U)
 RGB888 with data expansion to 32-bits. Most significant 8-bits of 32-bit output will be equal to the least significant 8-bits of CSIRX_ContextConfig::alpha. More...
 

User defined data format

#define CSIRX_USER_DEFINED_FORMAT_RAW6   (0U)
 RAW6. More...
 
#define CSIRX_USER_DEFINED_FORMAT_RAW7   (1U)
 RAW8. More...
 
#define CSIRX_USER_DEFINED_FORMAT_RAW8   (2U)
 RAW8, not valid if CSIRX_ContextConfig::format is any of the defines CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_x_EXP8 (x=1..8) in CSIRX_DATA_FORMAT. More...
 

Macro Definition Documentation

◆ CSIRX_CONTEXTS_MAX

#define CSIRX_CONTEXTS_MAX   (8U)

Max possible CSIRX contexts.

◆ CSIRX_PING_PONG_ADDRESS_LINEOFFSET_ALIGNMENT_IN_BYTES

#define CSIRX_PING_PONG_ADDRESS_LINEOFFSET_ALIGNMENT_IN_BYTES   (32U)

Ping-pong addresses and line offset alignment. Can be used for aligning ping-pong buffers and enforcing line offset alignment in bytes.

◆ CSIRX_LINEOFFSET_CONTIGUOUS_STORAGE

#define CSIRX_LINEOFFSET_CONTIGUOUS_STORAGE   (0U)

Special value for contiguous storage.

◆ CSIRX_NUM_FRAMES_TO_ACQUIRE_INFINITE

#define CSIRX_NUM_FRAMES_TO_ACQUIRE_INFINITE   (0U)

Special value of CSIRX_ContextConfig::numFramesToAcquire for setting infinite frames, this is also the CSIRX IP reset state.

◆ CSIRX_CONTEXT_PINGPONG_STATUS_PING_DONE

#define CSIRX_CONTEXT_PINGPONG_STATUS_PING_DONE   (0U)

Ping is done.

◆ CSIRX_CONTEXT_PINGPONG_STATUS_PONG_DONE

#define CSIRX_CONTEXT_PINGPONG_STATUS_PONG_DONE   (1U)

Pong is done.

◆ CSIRX_PING_PONG_FRAME_SWITCHING

#define CSIRX_PING_PONG_FRAME_SWITCHING   (0U)

Switch ping pong address on end of frame.

◆ CSIRX_PING_PONG_LINE_SWITCHING

#define CSIRX_PING_PONG_LINE_SWITCHING   (1U)

Switch ping pong address on end of line.

◆ CSIRX_TRANSCODE_FORMAT_NO_TRANSCODE

#define CSIRX_TRANSCODE_FORMAT_NO_TRANSCODE   (0U)

Transcoding disabled.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW10_ALAW_OUT_RAW8

#define CSIRX_TRANSCODE_FORMAT_IN_RAW10_ALAW_OUT_RAW8   (3U)

Compress input RAW10 using A-law. Output is regular RAW8.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW8_OUT_RAW8

#define CSIRX_TRANSCODE_FORMAT_IN_RAW8_OUT_RAW8   (4U)

Regular RAW8 input and regular RAW8 output.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW10_OUT_RAW10_EXP16

#define CSIRX_TRANSCODE_FORMAT_IN_RAW10_OUT_RAW10_EXP16   (5U)

Input uncompressed RAW10, output RAW10 + EXP16.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW10_OUT_RAW10_PACKED

#define CSIRX_TRANSCODE_FORMAT_IN_RAW10_OUT_RAW10_PACKED   (6U)

Input uncompressed RAW10, output regular packed RAW10.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW12_OUT_RAW12_EXP16

#define CSIRX_TRANSCODE_FORMAT_IN_RAW12_OUT_RAW12_EXP16   (7U)

Input uncompressed RAW12, output RAW12 + EXP16.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW12_OUT_RAW12_PACKED

#define CSIRX_TRANSCODE_FORMAT_IN_RAW12_OUT_RAW12_PACKED   (8U)

Input uncompressed RAW12, output regular packed RAW12.

◆ CSIRX_TRANSCODE_FORMAT_IN_RAW14_OUT_RAW14

#define CSIRX_TRANSCODE_FORMAT_IN_RAW14_OUT_RAW14   (9U)

Input uncompressed RAW14, output uncompressed RAW14.

◆ CSIRX_FORMAT_OTHERS_EXCEPT_NULL_AND_BLANKING

#define CSIRX_FORMAT_OTHERS_EXCEPT_NULL_AND_BLANKING   (0x000U)

Others except NULL and BLANKING.

◆ CSIRX_FORMAT_EMBEDDED_8_BIT_NON_IMAGE

#define CSIRX_FORMAT_EMBEDDED_8_BIT_NON_IMAGE   (0x012U)

Embedded 8-bit non image (for example JPEG) as per MIPI spec.

◆ CSIRX_FORMAT_YUV420_8_BIT

#define CSIRX_FORMAT_YUV420_8_BIT   (0x018U)

YUV420 8-bit as per MIPI spec.

◆ CSIRX_FORMAT_YUV420_10_BIT

#define CSIRX_FORMAT_YUV420_10_BIT   (0x019U)

YUV420 10-bit as per MIPI spec.

◆ CSIRX_FORMAT_YUV420_8_BIT_LEGACY

#define CSIRX_FORMAT_YUV420_8_BIT_LEGACY   (0x01AU)

YUV420 8-bit legacy as per MIPI spec.

◆ CSIRX_FORMAT_YUV420_8_BIT_CSPS

#define CSIRX_FORMAT_YUV420_8_BIT_CSPS   (0x01CU)

YUV420 8-bit CSPS (Chroma Shifted Pixel Sampling) as per MIPI spec.

◆ CSIRX_FORMAT_YUV420_10_BIT_CSPS

#define CSIRX_FORMAT_YUV420_10_BIT_CSPS   (0x01DU)

YUV420 10-bit CSPS (Chroma Shifted Pixel Sampling) as per MIPI spec.

◆ CSIRX_FORMAT_YUV422_8_BIT

#define CSIRX_FORMAT_YUV422_8_BIT   (0x01EU)

YUV422 8-bit as per MIPI spec.

◆ CSIRX_FORMAT_YUV422_10_BIT

#define CSIRX_FORMAT_YUV422_10_BIT   (0x01FU)

YUV422 10-bit as per MIPI spec.

◆ CSIRX_FORMAT_RGB565

#define CSIRX_FORMAT_RGB565   (0x022U)

RGB565 as per MIPI spec.

◆ CSIRX_FORMAT_RGB888

#define CSIRX_FORMAT_RGB888   (0x024U)

RGB888 as per MIPI spec.

◆ CSIRX_FORMAT_RAW6

#define CSIRX_FORMAT_RAW6   (0x028U)

RAW6 as per MIPI spec.

◆ CSIRX_FORMAT_RAW7

#define CSIRX_FORMAT_RAW7   (0x029U)

RAW7 as per MIPI spec.

◆ CSIRX_FORMAT_RAW8

#define CSIRX_FORMAT_RAW8   (0x02AU)

RAW8 as per MIPI spec.

◆ CSIRX_FORMAT_RAW10

#define CSIRX_FORMAT_RAW10   (0x02BU)

RAW19 as per MIPI spec.

◆ CSIRX_FORMAT_RAW12

#define CSIRX_FORMAT_RAW12   (0x02CU)

RAW12 as per MIPI spec.

◆ CSIRX_FORMAT_RAW14

#define CSIRX_FORMAT_RAW14   (0x02DU)

RAW14 as per MIPI spec.

◆ CSIRX_FORMAT_RGB666_EXP32_24

#define CSIRX_FORMAT_RGB666_EXP32_24   (0x033U)

RGB666 EXP32_24: EXP32 = Data expansion to 32 bits, padding with CSIRX_ContextConfig::alpha. Most significant 8-bits of output 32-bit will be equal to the least significant 8-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_1

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_1   (0x040U)

User Defined 8-bit data type 1.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_2

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_2   (0x041U)

User Defined 8-bit data type 2.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_3

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_3   (0x042U)

User Defined 8-bit data type 3.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_4

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_4   (0x043U)

User Defined 8-bit data type 4.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_5

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_5   (0x044U)

User Defined 8-bit data type 5.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_6

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_6   (0x045U)

User Defined 8-bit data type 6.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_7

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_7   (0x046U)

User Defined 8-bit data type 7.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_8   (0x047U)

User Defined 8-bit data type 8.

◆ CSIRX_FORMAT_RAW6_EXP8

#define CSIRX_FORMAT_RAW6_EXP8   (0x068U)

RAW6 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_RAW7_EXP8

#define CSIRX_FORMAT_RAW7_EXP8   (0x069U)

RAW7 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_1_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_1_EXP8   (0x080U)

User Defined 8-bit data type 1 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_2_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_2_EXP8   (0x081U)

User Defined 8-bit data type 2 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_3_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_3_EXP8   (0x082U)

User Defined 8-bit data type 3 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_4_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_4_EXP8   (0x083U)

User Defined 8-bit data type 4 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_5_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_5_EXP8   (0x084U)

User Defined 8-bit data type 5 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_6_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_6_EXP8   (0x085U)

User Defined 8-bit data type 6 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_7_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_7_EXP8   (0x086U)

User Defined 8-bit data type 7 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_8_EXP8

#define CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_8_EXP8   (0x087U)

User Defined 8-bit data type 8 with data expansion to 8-bits, padding with zeros.

◆ CSIRX_FORMAT_RGB444_EXP16

#define CSIRX_FORMAT_RGB444_EXP16   (0x0A0U)

RGB444 with data expansion to 16-bits. Most significant 4-bits of 16-bit output will be equal to the least significant 4-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_RGB555_EXP16

#define CSIRX_FORMAT_RGB555_EXP16   (0x0A1U)

RGB555 with data expansion to 16-bits. Most significant 1-bit of 16-bit output will be equal to the least significant 1-bit of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_RAW10_EXP16

#define CSIRX_FORMAT_RAW10_EXP16   (0x0ABU)

RAW10 with data expansion to 16-bits. Most significant 6-bits of 16-bit output will be equal to the least significant 6-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_RAW12_EXP16

#define CSIRX_FORMAT_RAW12_EXP16   (0x0ACU)

RAW12 with data expansion to 16-bits. Most significant 4-bits of 16-bit output will be equal to the least significant 4-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_RAW14_EXP16

#define CSIRX_FORMAT_RAW14_EXP16   (0x0ADU)

RAW14 with data expansion to 16-bits. Most significant 2-bits of 16-bit output will be equal to the least significant 2-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_RGB666_EXP32

#define CSIRX_FORMAT_RGB666_EXP32   (0x0E3U)

RGB666 with data expansion to 32-bits. Most significant 14-bits of 32-bit output will be equal to the least significant 14-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_FORMAT_RGB888_EXP32

#define CSIRX_FORMAT_RGB888_EXP32   (0x0E4U)

RGB888 with data expansion to 32-bits. Most significant 8-bits of 32-bit output will be equal to the least significant 8-bits of CSIRX_ContextConfig::alpha.

◆ CSIRX_USER_DEFINED_FORMAT_RAW6

#define CSIRX_USER_DEFINED_FORMAT_RAW6   (0U)

RAW6.

◆ CSIRX_USER_DEFINED_FORMAT_RAW7

#define CSIRX_USER_DEFINED_FORMAT_RAW7   (1U)

RAW8.

◆ CSIRX_USER_DEFINED_FORMAT_RAW8

#define CSIRX_USER_DEFINED_FORMAT_RAW8   (2U)

RAW8, not valid if CSIRX_ContextConfig::format is any of the defines CSIRX_FORMAT_USER_DEFINED_8_BIT_DATA_TYPE_x_EXP8 (x=1..8) in CSIRX_DATA_FORMAT.

Typedef Documentation

◆ CSIRX_ContextCallback

typedef void(* CSIRX_ContextCallback) (CSIRX_Handle handle, void *arg, uint8_t contextId)

Context interrupt callback.

Parameters
handle[in] CSIRX driver handle
arg[in] User supplied argument
contextId[in] Context ID which generated this interrupt

Function Documentation

◆ CSIRX_ContextConfig_init()

void CSIRX_ContextConfig_init ( CSIRX_ContextConfig config)

Sets default values for configuration.

Parameters
config[in] configuration

◆ CSIRX_contextSetConfig()

int32_t CSIRX_contextSetConfig ( CSIRX_Handle  handle,
uint8_t  contextId,
CSIRX_ContextConfig config 
)

Configure context.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
config[in] Context configuration
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextSetPingPongAddress()

int32_t CSIRX_contextSetPingPongAddress ( CSIRX_Handle  handle,
uint8_t  contextId,
uint32_t  pingAddress,
uint32_t  pongAddress 
)

Set context ping and pong address.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
pingAddress[in] ping address, MUST have 5 LSBs as zero
pongAddress[in] pong address, MUST have 5 LSBs as zero
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextSetLineOffset()

int32_t CSIRX_contextSetLineOffset ( CSIRX_Handle  handle,
uint8_t  contextId,
int32_t  lineOffset 
)

Set context line offset.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
lineOffset[in] See CSIRX_ContextPingPongConfig::lineOffset , units of bytes
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextEnable()

int32_t CSIRX_contextEnable ( CSIRX_Handle  handle,
uint8_t  contextId 
)

Enable context.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextDisable()

int32_t CSIRX_contextDisable ( CSIRX_Handle  handle,
uint8_t  contextId 
)

Disable context.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextClearAllIntr()

int32_t CSIRX_contextClearAllIntr ( CSIRX_Handle  handle,
uint8_t  contextId 
)

Clear all pending context interrupts.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextGetPendingIntr()

int32_t CSIRX_contextGetPendingIntr ( CSIRX_Handle  handle,
uint8_t  contextId,
CSIRX_ContextIntr intrStatus 
)

Get all pending context interrupts.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
intrStatus[out] Interrupt status
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextGetFrameNumber()

int32_t CSIRX_contextGetFrameNumber ( CSIRX_Handle  handle,
uint8_t  contextId,
uint16_t *  frameNumber 
)

Get current frame number as decoded from within CSIRX long packet.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
frameNumber[out] Frame number
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextGetRecvAddress()

int32_t CSIRX_contextGetRecvAddress ( CSIRX_Handle  handle,
uint8_t  contextId,
uint32_t *  bufAddress 
)

Get current completed receive address.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
bufAddress[out] Received frame address
Returns
SystemP_SUCCESS on success, else failure

◆ CSIRX_contextGetPingPongStatus()

int32_t CSIRX_contextGetPingPongStatus ( CSIRX_Handle  handle,
uint8_t  contextId,
uint8_t *  pingPongStatus 
)

Get status if ping or pong buffer write is done.

Parameters
handle[in] CSIRX driver handle
contextId[in] Context ID
pingPongStatus[out] One of CSIRX_PINGPONG_STATUS
Returns
SystemP_SUCCESS on success, else failure