Microchip® Advanced Software Framework

isi.h File Reference

SAM Image Sensor Interface (ISI) driver.

Copyright (c) 2015-2018 Microchip Technology Inc. and its subsidiaries.

#include <compiler.h>
#include <status_codes.h>

Data Structures

struct  isi_config_t
 ISI configuration structure. More...
 
struct  isi_frame_buffer_descriptors
 Frame buffer descriptors. More...
 
struct  isi_R2Y
 ISI Matrix Color Space Conversion RGB to YCrCb. More...
 
struct  isi_Y2R
 ISI Matrix Color Space Conversion YCrCb to RGB. More...
 

Enumerations

enum  isi_input_image_format {
  ISI_INPUT_YUV = 0,
  ISI_INPUT_RGB565 = 1,
  ISI_INPUT_RGB888 = 2,
  ISI_INPUT_GS_12BIT = 3,
  ISI_INPUT_GS_8BIT = 4
}
 Enum for the possible image format for the ISI module. More...
 

Functions

static void isi_capture (Isi *p_isi)
 Enable the codec datapath and capture a full resolution frame. More...
 
static void isi_disable (Isi *p_isi)
 Disable ISI. More...
 
static void isi_disable_interrupt (Isi *p_isi, uint32_t flag)
 Disable ISI interrupt. More...
 
static void isi_dma_channel_disable (Isi *p_isi, uint32_t channel)
 Disable ISI Dma channel. More...
 
static void isi_dma_channel_enable (Isi *p_isi, uint32_t channel)
 Enable ISI Dma channel. More...
 
static void isi_enable (Isi *p_isi)
 Enable ISI. More...
 
static void isi_enable_interrupt (Isi *p_isi, uint32_t flag)
 Enable ISI interrupt. More...
 
static uint32_t isi_get_status (Isi *p_isi)
 Return ISI status register. More...
 
static uint32_t isi_get_writeprotect_status (Isi *p_isi)
 Indicate write protect status. More...
 
void isi_gs_configue (Isi *p_isi, uint8_t mode)
 Input image is assumed to be grayscale-coded. More...
 
void isi_init (Isi *p_isi, struct isi_config_t *isi_cfg)
 Initialize the ISI module. More...
 
static void isi_reset (Isi *p_isi)
 Reset ISI. More...
 
void isi_rgb_configue (Isi *p_isi, uint8_t patten, uint8_t swap)
 Configue RGB swap mode and RGB pattern when RGB_MODE is set to 1. More...
 
void isi_set_dma_codec_path (Isi *p_isi, uint8_t full_mode, uint8_t discr, uint32_t base_buf_desc, uint32_t dma_ctrl, uint32_t frame_buf_start_addr)
 Configure DMA for codec path. More...
 
void isi_set_dma_preview_path (Isi *p_isi, uint8_t frate, uint32_t base_buf_desc, uint32_t dma_ctrl, uint32_t frame_buf_start_addr)
 Configure DMA for preview path. More...
 
void isi_set_matrix_rgb2yuv (Isi *p_isi, isi_R2Y *rgb2yuv)
 ISI set matrix for RGB to YUV color space for codec path. More...
 
void isi_set_matrix_yuv2rgb (Isi *p_isi, isi_Y2R *yuv2rgb)
 ISI set matrix for YUV to RGB color space for preview path. More...
 
static void isi_set_writeprotect (Isi *p_isi, const bool is_enable)
 Enable or disable write protection of ADC registers. More...
 
void isi_size_configure (Isi *p_isi, uint32_t image_hsize, uint32_t image_vsize, uint32_t preview_hsize, uint32_t preview_vsize)
 Set image and preview size, then calculate scaler factor automatically. More...
 
void isi_yuv_configue (Isi *p_isi, uint8_t swap)
 Defines YCrCb swap format. More...