ARCS SDK
LISTENAI Software Development Kit
Loading...
Searching...
No Matches
sc030iot.c File Reference
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "sensor.h"
#include "sc030iot.h"
#include "sc030iot_settings.h"

Macros

#define TAG   "sc030: "
 
#define SC030_SENSOR_ID_HIGH_REG   0XF7
 
#define SC030_SENSOR_ID_LOW_REG   0XF8
 
#define SC030_MAX_FRAME_WIDTH   (640)
 
#define SC030_MAX_FRAME_HIGH   (480)
 
#define WRITE_REGS_OR_RETURN(regs, regs_entry_len)   ret = set_regs(sensor, regs, regs_entry_len); if(ret){return ret;}
 
#define WRITE_REG_OR_RETURN(reg, val)   ret = set_reg(sensor, reg, 0xFF, val); if(ret){return ret;}
 
#define SET_REG_BITS_OR_RETURN(reg, offset, length, val)   ret = set_reg_bits(sensor, reg, offset, length, val); if(ret){return ret;}
 

Functions

static int get_reg (sensor_t *sensor, int reg, int reg_value_mask)
 
static int set_reg (sensor_t *sensor, int reg, int mask, int value)
 
static int set_regs (sensor_t *sensor, const uint8_t(*regs)[2], uint32_t regs_entry_len)
 
static int set_reg_bits (sensor_t *sensor, int reg, uint8_t offset, uint8_t length, uint8_t value)
 
static int set_hmirror (sensor_t *sensor, int enable)
 
static int set_vflip (sensor_t *sensor, int enable)
 
static int set_colorbar (sensor_t *sensor, int enable)
 
static int set_sharpness (sensor_t *sensor, int level)
 
static int set_agc_gain (sensor_t *sensor, int gain)
 
static int set_aec_value (sensor_t *sensor, int value)
 
static int set_awb_gain (sensor_t *sensor, int value)
 
static int set_saturation (sensor_t *sensor, int level)
 
static int set_contrast (sensor_t *sensor, int level)
 
static int reset (sensor_t *sensor)
 
static int set_window (sensor_t *sensor, int offset_x, int offset_y, int w, int h)
 
static int set_framesize (sensor_t *sensor, framesize_t framesize)
 
static int set_pixformat (sensor_t *sensor, pixformat_t pixformat)
 
static int init_status (sensor_t *sensor)
 
static int set_dummy (sensor_t *sensor, int val)
 
static int set_xclk (sensor_t *sensor, int timer, int xclk)
 
int sc030iot_detect (int slv_addr, sensor_id_t *id)
 Detect sensor pid.
 
int sc030iot_init (sensor_t *sensor)
 initialize sensor function pointers
 

Macro Definition Documentation

◆ SC030_MAX_FRAME_HIGH

#define SC030_MAX_FRAME_HIGH   (480)

◆ SC030_MAX_FRAME_WIDTH

#define SC030_MAX_FRAME_WIDTH   (640)

◆ SC030_SENSOR_ID_HIGH_REG

#define SC030_SENSOR_ID_HIGH_REG   0XF7

◆ SC030_SENSOR_ID_LOW_REG

#define SC030_SENSOR_ID_LOW_REG   0XF8

◆ SET_REG_BITS_OR_RETURN

#define SET_REG_BITS_OR_RETURN (   reg,
  offset,
  length,
  val 
)    ret = set_reg_bits(sensor, reg, offset, length, val); if(ret){return ret;}

◆ TAG

#define TAG   "sc030: "

◆ WRITE_REG_OR_RETURN

#define WRITE_REG_OR_RETURN (   reg,
  val 
)    ret = set_reg(sensor, reg, 0xFF, val); if(ret){return ret;}

◆ WRITE_REGS_OR_RETURN

#define WRITE_REGS_OR_RETURN (   regs,
  regs_entry_len 
)    ret = set_regs(sensor, regs, regs_entry_len); if(ret){return ret;}

Function Documentation

◆ get_reg()

static int get_reg ( sensor_t sensor,
int  reg,
int  reg_value_mask 
)
static

◆ init_status()

static int init_status ( sensor_t sensor)
static

◆ reset()

static int reset ( sensor_t sensor)
static

◆ sc030iot_detect()

int sc030iot_detect ( int  slv_addr,
sensor_id_t id 
)

Detect sensor pid.

Parameters
slv_addrSCCB address
idDetection result
Returns
0: Can't detect this sensor Nonzero: This sensor has been detected

◆ sc030iot_init()

int sc030iot_init ( sensor_t sensor)

initialize sensor function pointers

Parameters
sensorpointer of sensor
Returns
Always 0

◆ set_aec_value()

static int set_aec_value ( sensor_t sensor,
int  value 
)
static

◆ set_agc_gain()

static int set_agc_gain ( sensor_t sensor,
int  gain 
)
static

◆ set_awb_gain()

static int set_awb_gain ( sensor_t sensor,
int  value 
)
static

◆ set_colorbar()

static int set_colorbar ( sensor_t sensor,
int  enable 
)
static

◆ set_contrast()

static int set_contrast ( sensor_t sensor,
int  level 
)
static

◆ set_dummy()

static int set_dummy ( sensor_t sensor,
int  val 
)
static

◆ set_framesize()

static int set_framesize ( sensor_t sensor,
framesize_t  framesize 
)
static

◆ set_hmirror()

static int set_hmirror ( sensor_t sensor,
int  enable 
)
static

◆ set_pixformat()

static int set_pixformat ( sensor_t sensor,
pixformat_t  pixformat 
)
static

◆ set_reg()

static int set_reg ( sensor_t sensor,
int  reg,
int  mask,
int  value 
)
static

◆ set_reg_bits()

static int set_reg_bits ( sensor_t sensor,
int  reg,
uint8_t  offset,
uint8_t  length,
uint8_t  value 
)
static

◆ set_regs()

static int set_regs ( sensor_t sensor,
const uint8_t(*)  regs[2],
uint32_t  regs_entry_len 
)
static

◆ set_saturation()

static int set_saturation ( sensor_t sensor,
int  level 
)
static

◆ set_sharpness()

static int set_sharpness ( sensor_t sensor,
int  level 
)
static

◆ set_vflip()

static int set_vflip ( sensor_t sensor,
int  enable 
)
static

◆ set_window()

static int set_window ( sensor_t sensor,
int  offset_x,
int  offset_y,
int  w,
int  h 
)
static

◆ set_xclk()

static int set_xclk ( sensor_t sensor,
int  timer,
int  xclk 
)
static