Struct ISP

Source
pub struct ISP { /* private fields */ }
Expand description

ISP Peripheral

Implementations§

Source§

impl ISP

Source

pub const PTR: *const RegisterBlock = {0x500a1000 as *const isp::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn ver_date(&self) -> &VER_DATE

0x00 - version control register

Source

pub fn clk_en(&self) -> &CLK_EN

0x04 - isp clk control register

Source

pub fn cntl(&self) -> &CNTL

0x08 - isp module enable control register

Source

pub fn hsync_cnt(&self) -> &HSYNC_CNT

0x0c - header hsync interval control register

Source

pub fn frame_cfg(&self) -> &FRAME_CFG

0x10 - frame control parameter register

Source

pub fn ccm_coef0(&self) -> &CCM_COEF0

0x14 - ccm coef register 0

Source

pub fn ccm_coef1(&self) -> &CCM_COEF1

0x18 - ccm coef register 1

Source

pub fn ccm_coef3(&self) -> &CCM_COEF3

0x1c - ccm coef register 3

Source

pub fn ccm_coef4(&self) -> &CCM_COEF4

0x20 - ccm coef register 4

Source

pub fn ccm_coef5(&self) -> &CCM_COEF5

0x24 - ccm coef register 5

Source

pub fn bf_matrix_ctrl(&self) -> &BF_MATRIX_CTRL

0x28 - bf pix2matrix ctrl

Source

pub fn bf_sigma(&self) -> &BF_SIGMA

0x2c - bf denoising level control register

Source

pub fn bf_gau0(&self) -> &BF_GAU0

0x30 - bf gau template register 0

Source

pub fn bf_gau1(&self) -> &BF_GAU1

0x34 - bf gau template register 1

Source

pub fn dpc_ctrl(&self) -> &DPC_CTRL

0x38 - DPC mode control register

Source

pub fn dpc_conf(&self) -> &DPC_CONF

0x3c - DPC parameter config register

Source

pub fn dpc_matrix_ctrl(&self) -> &DPC_MATRIX_CTRL

0x40 - dpc pix2matrix ctrl

Source

pub fn dpc_deadpix_cnt(&self) -> &DPC_DEADPIX_CNT

0x44 - DPC dead-pix number register

Source

pub fn lut_cmd(&self) -> &LUT_CMD

0x48 - LUT command register

Source

pub fn lut_wdata(&self) -> &LUT_WDATA

0x4c - LUT write data register

Source

pub fn lut_rdata(&self) -> &LUT_RDATA

0x50 - LUT read data register

Source

pub fn lsc_tablesize(&self) -> &LSC_TABLESIZE

0x54 - LSC point in x-direction

Source

pub fn demosaic_matrix_ctrl(&self) -> &DEMOSAIC_MATRIX_CTRL

0x58 - demosaic pix2matrix ctrl

Source

pub fn demosaic_grad_ratio(&self) -> &DEMOSAIC_GRAD_RATIO

0x5c - demosaic gradient select ratio

Source

pub fn median_matrix_ctrl(&self) -> &MEDIAN_MATRIX_CTRL

0x60 - median pix2matrix ctrl

Source

pub fn int_raw(&self) -> &INT_RAW

0x64 - raw interrupt register

Source

pub fn int_st(&self) -> &INT_ST

0x68 - masked interrupt register

Source

pub fn int_ena(&self) -> &INT_ENA

0x6c - interrupt enable register

Source

pub fn int_clr(&self) -> &INT_CLR

0x70 - interrupt clear register

Source

pub fn gamma_ctrl(&self) -> &GAMMA_CTRL

0x74 - gamma control register

Source

pub fn gamma_ry1(&self) -> &GAMMA_RY1

0x78 - point of Y-axis of r channel gamma curve register 1

Source

pub fn gamma_ry2(&self) -> &GAMMA_RY2

0x7c - point of Y-axis of r channel gamma curve register 2

Source

pub fn gamma_ry3(&self) -> &GAMMA_RY3

0x80 - point of Y-axis of r channel gamma curve register 3

Source

pub fn gamma_ry4(&self) -> &GAMMA_RY4

0x84 - point of Y-axis of r channel gamma curve register 4

Source

pub fn gamma_gy1(&self) -> &GAMMA_GY1

0x88 - point of Y-axis of g channel gamma curve register 1

Source

pub fn gamma_gy2(&self) -> &GAMMA_GY2

0x8c - point of Y-axis of g channel gamma curve register 2

Source

pub fn gamma_gy3(&self) -> &GAMMA_GY3

0x90 - point of Y-axis of g channel gamma curve register 3

Source

pub fn gamma_gy4(&self) -> &GAMMA_GY4

0x94 - point of Y-axis of g channel gamma curve register 4

Source

pub fn gamma_by1(&self) -> &GAMMA_BY1

0x98 - point of Y-axis of b channel gamma curve register 1

Source

pub fn gamma_by2(&self) -> &GAMMA_BY2

0x9c - point of Y-axis of b channel gamma curve register 2

Source

pub fn gamma_by3(&self) -> &GAMMA_BY3

0xa0 - point of Y-axis of b channel gamma curve register 3

Source

pub fn gamma_by4(&self) -> &GAMMA_BY4

0xa4 - point of Y-axis of b channel gamma curve register 4

Source

pub fn gamma_rx1(&self) -> &GAMMA_RX1

0xa8 - point of X-axis of r channel gamma curve register 1

Source

pub fn gamma_rx2(&self) -> &GAMMA_RX2

0xac - point of X-axis of r channel gamma curve register 2

Source

pub fn gamma_gx1(&self) -> &GAMMA_GX1

0xb0 - point of X-axis of g channel gamma curve register 1

Source

pub fn gamma_gx2(&self) -> &GAMMA_GX2

0xb4 - point of X-axis of g channel gamma curve register 2

Source

pub fn gamma_bx1(&self) -> &GAMMA_BX1

0xb8 - point of X-axis of b channel gamma curve register 1

Source

pub fn gamma_bx2(&self) -> &GAMMA_BX2

0xbc - point of X-axis of b channel gamma curve register 2

Source

pub fn ae_ctrl(&self) -> &AE_CTRL

0xc0 - ae control register

Source

pub fn ae_monitor(&self) -> &AE_MONITOR

0xc4 - ae monitor control register

Source

pub fn ae_bx(&self) -> &AE_BX

0xc8 - ae window register in x-direction

Source

pub fn ae_by(&self) -> &AE_BY

0xcc - ae window register in y-direction

Source

pub fn ae_winpixnum(&self) -> &AE_WINPIXNUM

0xd0 - ae sub-window pix num register

Source

pub fn ae_win_reciprocal(&self) -> &AE_WIN_RECIPROCAL

0xd4 - reciprocal of ae sub-window pixel number

Source

pub fn ae_block_mean_0(&self) -> &AE_BLOCK_MEAN_0

0xd8 - ae statistic result register 0

Source

pub fn ae_block_mean_1(&self) -> &AE_BLOCK_MEAN_1

0xdc - ae statistic result register 1

Source

pub fn ae_block_mean_2(&self) -> &AE_BLOCK_MEAN_2

0xe0 - ae statistic result register 2

Source

pub fn ae_block_mean_3(&self) -> &AE_BLOCK_MEAN_3

0xe4 - ae statistic result register 3

Source

pub fn ae_block_mean_4(&self) -> &AE_BLOCK_MEAN_4

0xe8 - ae statistic result register 4

Source

pub fn ae_block_mean_5(&self) -> &AE_BLOCK_MEAN_5

0xec - ae statistic result register 5

Source

pub fn ae_block_mean_6(&self) -> &AE_BLOCK_MEAN_6

0xf0 - ae statistic result register 6

Source

pub fn sharp_ctrl0(&self) -> &SHARP_CTRL0

0xf4 - sharp control register 0

Source

pub fn sharp_filter0(&self) -> &SHARP_FILTER0

0xf8 - sharp usm config register 0

Source

pub fn sharp_filter1(&self) -> &SHARP_FILTER1

0xfc - sharp usm config register 1

Source

pub fn sharp_filter2(&self) -> &SHARP_FILTER2

0x100 - sharp usm config register 2

Source

pub fn sharp_matrix_ctrl(&self) -> &SHARP_MATRIX_CTRL

0x104 - sharp pix2matrix ctrl

Source

pub fn sharp_ctrl1(&self) -> &SHARP_CTRL1

0x108 - sharp control register 1

Source

pub fn dma_cntl(&self) -> &DMA_CNTL

0x10c - isp dma source trans control register

Source

pub fn dma_raw_data(&self) -> &DMA_RAW_DATA

0x110 - isp dma source total raw number set register

Source

pub fn cam_cntl(&self) -> &CAM_CNTL

0x114 - isp cam source control register

Source

pub fn cam_conf(&self) -> &CAM_CONF

0x118 - isp cam source config register

Source

pub fn af_ctrl0(&self) -> &AF_CTRL0

0x11c - af control register 0

Source

pub fn af_ctrl1(&self) -> &AF_CTRL1

0x120 - af control register 1

Source

pub fn af_gen_th_ctrl(&self) -> &AF_GEN_TH_CTRL

0x124 - af gen threshold control register

Source

pub fn af_env_user_th_sum(&self) -> &AF_ENV_USER_TH_SUM

0x128 - af monitor user sum threshold register

Source

pub fn af_env_user_th_lum(&self) -> &AF_ENV_USER_TH_LUM

0x12c - af monitor user lum threshold register

Source

pub fn af_threshold(&self) -> &AF_THRESHOLD

0x130 - af threshold register

Source

pub fn af_hscale_a(&self) -> &AF_HSCALE_A

0x134 - h-scale of af window a register

Source

pub fn af_vscale_a(&self) -> &AF_VSCALE_A

0x138 - v-scale of af window a register

Source

pub fn af_hscale_b(&self) -> &AF_HSCALE_B

0x13c - h-scale of af window b register

Source

pub fn af_vscale_b(&self) -> &AF_VSCALE_B

0x140 - v-scale of af window b register

Source

pub fn af_hscale_c(&self) -> &AF_HSCALE_C

0x144 - v-scale of af window c register

Source

pub fn af_vscale_c(&self) -> &AF_VSCALE_C

0x148 - v-scale of af window c register

Source

pub fn af_sum_a(&self) -> &AF_SUM_A

0x14c - result of sum of af window a

Source

pub fn af_sum_b(&self) -> &AF_SUM_B

0x150 - result of sum of af window b

Source

pub fn af_sum_c(&self) -> &AF_SUM_C

0x154 - result of sum of af window c

Source

pub fn af_lum_a(&self) -> &AF_LUM_A

0x158 - result of lum of af window a

Source

pub fn af_lum_b(&self) -> &AF_LUM_B

0x15c - result of lum of af window b

Source

pub fn af_lum_c(&self) -> &AF_LUM_C

0x160 - result of lum of af window c

Source

pub fn awb_mode(&self) -> &AWB_MODE

0x164 - awb mode control register

Source

pub fn awb_hscale(&self) -> &AWB_HSCALE

0x168 - h-scale of awb window

Source

pub fn awb_vscale(&self) -> &AWB_VSCALE

0x16c - v-scale of awb window

Source

pub fn awb_th_lum(&self) -> &AWB_TH_LUM

0x170 - awb lum threshold register

Source

pub fn awb_th_rg(&self) -> &AWB_TH_RG

0x174 - awb r/g threshold register

Source

pub fn awb_th_bg(&self) -> &AWB_TH_BG

0x178 - awb b/g threshold register

Source

pub fn awb0_white_cnt(&self) -> &AWB0_WHITE_CNT

0x17c - result of awb white point number

Source

pub fn awb0_acc_r(&self) -> &AWB0_ACC_R

0x180 - result of accumulate of r channel of all white points

Source

pub fn awb0_acc_g(&self) -> &AWB0_ACC_G

0x184 - result of accumulate of g channel of all white points

Source

pub fn awb0_acc_b(&self) -> &AWB0_ACC_B

0x188 - result of accumulate of b channel of all white points

Source

pub fn color_ctrl(&self) -> &COLOR_CTRL

0x18c - color control register

Source

pub fn blc_value(&self) -> &BLC_VALUE

0x190 - blc black level register

Source

pub fn blc_ctrl0(&self) -> &BLC_CTRL0

0x194 - blc stretch control register

Source

pub fn blc_ctrl1(&self) -> &BLC_CTRL1

0x198 - blc window control register

Source

pub fn blc_ctrl2(&self) -> &BLC_CTRL2

0x19c - blc black threshold control register

Source

pub fn blc_mean(&self) -> &BLC_MEAN

0x1a0 - results of the average of black window

Source

pub fn hist_mode(&self) -> &HIST_MODE

0x1a4 - histogram mode control register

Source

pub fn hist_coeff(&self) -> &HIST_COEFF

0x1a8 - histogram rgb to gray coefficients register

Source

pub fn hist_offs(&self) -> &HIST_OFFS

0x1ac - histogram window offsets register

Source

pub fn hist_size(&self) -> &HIST_SIZE

0x1b0 - histogram sub-window size register

Source

pub fn hist_seg0(&self) -> &HIST_SEG0

0x1b4 - histogram bin control register 0

Source

pub fn hist_seg1(&self) -> &HIST_SEG1

0x1b8 - histogram bin control register 1

Source

pub fn hist_seg2(&self) -> &HIST_SEG2

0x1bc - histogram bin control register 2

Source

pub fn hist_seg3(&self) -> &HIST_SEG3

0x1c0 - histogram bin control register 3

Source

pub fn hist_weight0(&self) -> &HIST_WEIGHT0

0x1c4 - histogram sub-window weight register 0

Source

pub fn hist_weight1(&self) -> &HIST_WEIGHT1

0x1c8 - histogram sub-window weight register 1

Source

pub fn hist_weight2(&self) -> &HIST_WEIGHT2

0x1cc - histogram sub-window weight register 2

Source

pub fn hist_weight3(&self) -> &HIST_WEIGHT3

0x1d0 - histogram sub-window weight register 3

Source

pub fn hist_weight4(&self) -> &HIST_WEIGHT4

0x1d4 - histogram sub-window weight register 4

Source

pub fn hist_weight5(&self) -> &HIST_WEIGHT5

0x1d8 - histogram sub-window weight register 5

Source

pub fn hist_weight6(&self) -> &HIST_WEIGHT6

0x1dc - histogram sub-window weight register 6

Source

pub fn hist_bin0(&self) -> &HIST_BIN0

0x1e0 - result of histogram bin 0

Source

pub fn hist_bin1(&self) -> &HIST_BIN1

0x1e4 - result of histogram bin 1

Source

pub fn hist_bin2(&self) -> &HIST_BIN2

0x1e8 - result of histogram bin 2

Source

pub fn hist_bin3(&self) -> &HIST_BIN3

0x1ec - result of histogram bin 3

Source

pub fn hist_bin4(&self) -> &HIST_BIN4

0x1f0 - result of histogram bin 4

Source

pub fn hist_bin5(&self) -> &HIST_BIN5

0x1f4 - result of histogram bin 5

Source

pub fn hist_bin6(&self) -> &HIST_BIN6

0x1f8 - result of histogram bin 6

Source

pub fn hist_bin7(&self) -> &HIST_BIN7

0x1fc - result of histogram bin 7

Source

pub fn hist_bin8(&self) -> &HIST_BIN8

0x200 - result of histogram bin 8

Source

pub fn hist_bin9(&self) -> &HIST_BIN9

0x204 - result of histogram bin 9

Source

pub fn hist_bin10(&self) -> &HIST_BIN10

0x208 - result of histogram bin 10

Source

pub fn hist_bin11(&self) -> &HIST_BIN11

0x20c - result of histogram bin 11

Source

pub fn hist_bin12(&self) -> &HIST_BIN12

0x210 - result of histogram bin 12

Source

pub fn hist_bin13(&self) -> &HIST_BIN13

0x214 - result of histogram bin 13

Source

pub fn hist_bin14(&self) -> &HIST_BIN14

0x218 - result of histogram bin 14

Source

pub fn hist_bin15(&self) -> &HIST_BIN15

0x21c - result of histogram bin 15

Source

pub fn mem_aux_ctrl_0(&self) -> &MEM_AUX_CTRL_0

0x220 - mem aux control register 0

Source

pub fn mem_aux_ctrl_1(&self) -> &MEM_AUX_CTRL_1

0x224 - mem aux control register 1

Source

pub fn mem_aux_ctrl_2(&self) -> &MEM_AUX_CTRL_2

0x228 - mem aux control register 2

Source

pub fn mem_aux_ctrl_3(&self) -> &MEM_AUX_CTRL_3

0x22c - mem aux control register 3

Source

pub fn mem_aux_ctrl_4(&self) -> &MEM_AUX_CTRL_4

0x230 - mem aux control register 4

Source

pub fn yuv_format(&self) -> &YUV_FORMAT

0x234 - yuv format control register

Source

pub fn rdn_eco_cs(&self) -> &RDN_ECO_CS

0x238 - rdn eco cs register

Source

pub fn rdn_eco_low(&self) -> &RDN_ECO_LOW

0x23c - rdn eco all low register

Source

pub fn rdn_eco_high(&self) -> &RDN_ECO_HIGH

0x240 - rdn eco all high register

Trait Implementations§

Source§

impl Debug for ISP

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for ISP

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for ISP

Auto Trait Implementations§

§

impl Freeze for ISP

§

impl RefUnwindSafe for ISP

§

impl !Sync for ISP

§

impl Unpin for ISP

§

impl UnwindSafe for ISP

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.