Skip to content

DBI Display

bflb_dbi_init(dev, config)

Initialize dbi.

Parameters:

  • dev:device handle
  • config:pointer to save dbi config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_deinit(dev)

Deinitialize dbi.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_qspi_set_addr(dev, addr_byte_size, addr_val)

Set the address value and address length of the QSPI

Parameters:

  • dev:device handle
  • addr_byte_size:address size(byte), range 1 ~ 4
  • addr_val:address value: [0:7]->addr[0], [8:15]->addr[1], [16:23]->addr[2], [24:31]->addr[3].

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_send_cmd_data(dev, cmd, data_len, data_buff)

Send cmd with pixel data, send cmd -> send address(only QSPI mode) -> send parameter_data.

Parameters:

  • dev:device handle
  • cmd:command
  • data_len:Parameter length (byte), The maximum is DBI_WRITE_DATA_BYTE_MAX
  • data_buff:Parameter buffer, Cannot be null

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_dbi_send_cmd_read_data(dev, cmd, data_len, data_buff)

To read the data after sending the command, send cmd -> send address(only QSPI mode) -> read parameter_data.

Parameters:

  • dev:device handle
  • cmd:command
  • data_len:Length of data to be read (byte), The maximum is DBI_READ_DATA_BYTE_MAX
  • data_buff:Buff of data to be read, discard data if null

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_dbi_send_cmd_pixel(dev, cmd, pixel_cnt, pixel_buff)

Send cmd with pixel data, send cmd -> send address(only QSPI mode) -> send pixel_data,

Parameters:

  • dev:device handle
  • cmd:command
  • pixel_cnt:Number of pixels,The maximum is DBI_WRITE_PIXEL_CNT_MAX
  • pixel_buff:Pixels buffer, NULL when using DMA, in which case data needs to be transferred by DMA later, and wait for the transfer to complete

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_dbi_link_txdma(dev, enable)

Enable dbi tx dma.

Parameters:

  • dev:device handle
  • enable:true means enable, otherwise disable.

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_txint_mask(dev, mask)

Enable or disable dbi rx fifo threhold interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_tcint_mask(dev, mask)

Enable or disable dbi transfer completion interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_errint_mask(dev, mask)

Enable or disable dbi error interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_get_intstatus(dev)

Get dbi interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status, use @ref DBI_INTSTS

bflb_dbi_int_clear(dev, int_clear)

Clear dbi interrupt status.

Parameters:

  • dev:device handle
  • int_clear:clear value, use @ref DBI_INTCLR

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dbi_feature_control(dev, cmd, arg)

Control dbi feature.

Parameters:

  • dev:device handle
  • cmd:feature command, use @ref DBI_CMD
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

DSI (Ai-M64 only)

bflb_dsi_init(dev, cfg)

Initialize DSI controller with configuration

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_deinit(dev)

Deinitialize DSI controller

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_reset(dev)

Reset DSI PHY

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_enable(dev)

Enable DSI PHY

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_config(dev, phy)

Configure DSI PHY timing parameters

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_enable_lanes(dev, lanes_mask)

Enable specified DSI lanes

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_disable_lanes(dev, lanes_mask)

Disable specified DSI lanes

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_set_clock_lane(dev, operations)

Control DSI clock lane operations

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_phy_get_lanes_state(dev, lane, state)

Get DSI lane state

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_data_lane0_turnaround(dev)

Perform data lane 0 turnaround

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_hs_mode_start(dev)

Start high speed mode transmission

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_hs_mode_stop(dev)

Stop high speed mode transmission

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on timeout

bflb_dsi_lpdt_send_short_packet(dev, msg)

Send LPDT short packet (0-2 bytes payload)

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_lpdt_send_long_packet(dev, msg)

Send LPDT long packet (variable length payload)

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_lpdt_recv(dev, msg)

Receive LPDT packet

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_lpdt_config_short_packet(dev, msg)

Configure short packet for LPDT transmission

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_lpdt_config_long_packet(dev, msg)

Configure long packet for LPDT transmission

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_lpdt_start_tx(dev)

Start LPDT transmission

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_lpdt_start_rx(dev)

Start LPDT reception

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on failure

bflb_dsi_wait_tx_done(dev)

Wait for LPDT transmission to complete

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code on timeout

bflb_dsi_lpdt_get_rx_length(dev)

Get received LPDT packet length

📎 Device name lookup: Supported Device Names (BL616)

Return value: Length of received packet in bytes

bflb_dsi_read_fifo(dev, data, maxlen)

Read data from RX FIFO

📎 Device name lookup: Supported Device Names (BL616)

Return value: Number of bytes actually read, or negative error code

bflb_dsi_full_fill_fifo(dev, data, len)

Fill TX FIFO completely with data

📎 Device name lookup: Supported Device Names (BL616)

Return value: Number of bytes actually written

bflb_dsi_feed_fifo(dev, data, len)

Feed data to TX FIFO (partial fill allowed)

📎 Device name lookup: Supported Device Names (BL616)

Return value: Number of bytes actually written

bflb_dsi_get_tx_fifo_count(dev)

Get current TX FIFO count

📎 Device name lookup: Supported Device Names (BL616)

Return value: Current number of bytes in TX FIFO

bflb_dsi_get_rx_fifo_count(dev)

Get current RX FIFO count

📎 Device name lookup: Supported Device Names (BL616)

Return value: Current number of bytes in RX FIFO

bflb_dsi_int_mask(dev, int_mask, mask)

Mask or unmask DSI interrupts

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_int_clear(dev, int_flag)

Clear DSI interrupt flags

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_int_enable(dev, int_type)

Enable DSI interrupts

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_int_get(dev)

Get DSI interrupt status

📎 Device name lookup: Supported Device Names (BL616)

Return value: Current interrupt status flags (BFLB_DSI_INT_* values)

bflb_dsi_send_trigger_command(dev, cmd)

Send DSI trigger command

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code otherwise

bflb_dsi_send_ulps_command(dev)

Send DSI ULPS command

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code otherwise

bflb_dsi_exit_ulps(dev)

Exit DSI ULPS mode

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code otherwise

bflb_dsi_fifo_config(dev, fifo_cfg)

Configure DSI FIFO settings

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_dsi_set_line_buffer_threshold(dev, frame_width, dvp_tsrc_clock, dsi_clock, data_type, lane_number)

Set DSI line buffer threshold

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_set_vsa_vfp(dev, vsa, vfp)

Set DSI VSA and VFP timing

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_reinit_data_lanes(dev, lanes_mask)

Reinitialize DSI data lanes (force RX mode)

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dsi_phy_stop_data_lanes(dev, lanes_mask)

Stop DSI data lanes (force TX stop mode)

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

DVP Raster (Ai-M64 only)

bflb_dvp_raster_init(dev, config)

Initialize dvp raster.

Parameters:

  • dev:device handle
  • config:pointer to save dvp raster config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_deinit(dev)

Deinitialize dvp raster.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_enable(dev)

Enable dvp raster.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_disable(dev)

Disable dvp raster.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_sw_mode(dev, enable)

Enable or disable dvp raster software mode.

Parameters:

  • dev:device handle
  • enable:true means enable, false means disable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_sw_mode_kick(dev)

Trigger dvp raster software mode to process one frame.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_sw_mode_output_rgb(dev, enable)

Enable or disable dvp raster software mode to output rgb data.

Parameters:

  • dev:device handle
  • enable:true means enable, false means disable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_int_mask(dev, mask)

Enable or disable dvp raster interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_get_intstatus(dev)

Get dvp raster interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status

bflb_dvp_raster_int_clear(dev)

Clear dvp raster interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_crop_vsync(dev, start_line, end_line)

Crop vsync.

Parameters:

  • dev:device handle
  • start_line:start line of window
  • end_line:end line of window, not include

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_crop_hsync(dev, start_pixel, end_pixel)

Crop hsync.

Parameters:

  • dev:device handle
  • start_pixel:start pixel of each line
  • end_pixel:end pixel of each line, not include

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dvp_raster_feature_control(dev, cmd, arg)

Control dvp raster feature.

Parameters:

  • dev:device handle
  • cmd:feature command, use @ref DVP_RASTER_CMD
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

OSD Overlay (Ai-M64 only)

bflb_osd_blend_init(dev, config)

Initialize osd blend.

Parameters:

  • dev:device handle
  • config:pointer to save osd blend config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_enable(dev)

Enable osd blend.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_disable(dev)

Disable osd blend.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_set_coordinate(dev, coor)

Set osd blend coordinate.

Parameters:

  • dev:device handle
  • coor:pointer to osd coordinate

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_set_layer_buffer(dev, addr)

Set osd blend layer buffer.

Parameters:

  • dev:device handle
  • addr:start address of layer buffer

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_get_layer_buffer(dev)

Get osd blend layer buffer.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: Start address of the layer buffer

bflb_osd_blend_set_global_a(dev, enable, value)

Set osd blend global alpha.

Parameters:

  • dev:device handle
  • enable:enable or disable global alpha
  • value:value of global alpha

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_set_global_rgb_yuv(dev, enable, rv, gy, bu)

Set osd blend global RGB or YUV.

Parameters:

  • dev:device handle
  • enable:enable or disable global alpha
  • rv:value of global R or V
  • gy:value of global G or Y
  • bu:value of global B or U

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_set_palette_color(dev, index, value)

Set osd blend palette index and color.

Parameters:

  • dev:device handle
  • index:index of color
  • value:value of color

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_replace_palette_index(dev, enable, replace)

Replace osd blend palette index with target index.

Parameters:

  • dev:device handle
  • enable:enable or disable replace function
  • replace:pointer to save osd blend palette index replace config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_blend_replace_color_value(dev, enable, replace_a, replace_rv, replace_gy, replace_bu)

Replace osd blend color value with target value only when its A, R, G, and B values all match the range.

Parameters:

  • dev:device handle
  • enable:enable or disable replace function
  • replace_a:pointer to save osd blend value of alpha replace config
  • replace_rv:pointer to save osd blend value of R/V replace config
  • replace_gy:pointer to save osd blend value of G/Y replace config
  • replace_bu:pointer to save osd blend value of B/U replace config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_draw_init(dev, layer, config)

Initialize osd draw rectangle.

Parameters:

  • dev:device handle
  • layer:draw layer, use @ref OSD_DRAW_LAYER
  • config:pointer to save osd draw config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_draw_enable(dev, layer)

Enable osd draw rectangle.

Parameters:

  • dev:device handle
  • layer:draw layer, use @ref OSD_DRAW_LAYER

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_draw_disable(dev, layer)

Disable osd draw rectangle.

Parameters:

  • dev:device handle
  • layer:draw layer, use @ref OSD_DRAW_LAYER

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_draw_set_coordinate(dev, layer, coor)

Set osd draw rectangle coordinate.

Parameters:

  • dev:device handle
  • layer:draw layer, use @ref OSD_DRAW_LAYER
  • coor:pointer to osd coordinate

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_int_mask(dev, mask)

Enable or disable osd interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_get_intstatus(dev)

Get osd interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status

bflb_osd_int_clear(dev)

Clear osd interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_osd_feature_control(dev, cmd, arg)

Control osd feature.

Parameters:

  • dev:device handle
  • cmd:feature command, use @ref OSD_CMD
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

2D DMA (Ai-M64 only)

bflb_dma2d_channel_init(dev, config)

Initialize dma2d channel.

Parameters:

  • dev:device handle
  • config:pointer to save dma2d channel configuration

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_deinit(dev)

Deinitialize dma2d channel.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_start(dev)

Start dma2d channel transfer.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_stop(dev)

Stop dma2d channel transfer.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_isbusy(dev)

Check if dma2d channel is in busy.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: true means dma2d channel is enable, otherwise means disable.

bflb_dma2d_channel_irq_detach(dev)

Unregister dma2d channel transmission completion interrupt callback.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_tcint_mask(dev, mask)

Enable or disable dma2d channel transmission completion interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_get_tcint_status(dev)

Check if dma2d channel transfers completely.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: true means yes, false means no.

bflb_dma2d_channel_tcint_clear(dev)

Clear dma2d channel transmission completion interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_image_geometric_transfor_calculate(dev, config, image, mode)

Calculate dma2d configuration according to image geometric transfor mode.

Parameters:

  • dev:device handle
  • config:pointer to save dma2d channel configuration
  • image:pointer to dma2d image information
  • mode:image geometric transfor mode, use @ref DMA2D_IMAGE_GEOMETRIC_TRANSFOR

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_enable_color_key(dev)

Enable dma2d channel color key function.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_disable_color_key(dev)

Disable dma2d channel color key function.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_channel_set_color_key(dev, mode, value, mask)

Set dma2d channel color key mode and value.

Parameters:

  • dev:device handle
  • mode:color key mode, use @ref DMA2D_COLOR_KEY_MODE
  • value:color key value
  • mask:color key mask, use @ref DMA2D_COLOR_KEY_MASK

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_dma2d_feature_control(dev, cmd, arg)

Control dma2d feature.

Parameters:

  • dev:device handle
  • cmd:feature command, use @ref DMA2D_CMD
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

JPEG Decoder (Ai-M64 only)

bflb_mjdec_set_dqt_from_zigzag(dev, yy, uv)

Set DQT from ZIGZAG

Parameters:

  • dev:device handle
  • yy:pointer of YY component DQT ordered by zig_zag
  • uv:pointer of UV component DQT ordered by zig_zag

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_set_dqt_from_header(dev, header)

Set DQT from JPEG header

Parameters:

  • dev:device handle
  • header:pointer of JPEG header

📎 Device name lookup: Supported Device Names (BL616)

Return value: error status

bflb_mjdec_set_dht_from_spec(dev, pointer)

Set DHT from JPEG specification

Parameters:

  • dev:device handle
  • pointer:of DHT

📎 Device name lookup: Supported Device Names (BL616)

Return value: error status

bflb_mjdec_set_dht_from_header(dev, header)

Set DHT from JPEG header

Parameters:

  • dev:device handle
  • header:pointer of JPEG header

📎 Device name lookup: Supported Device Names (BL616)

Return value: error status

bflb_mjdec_set_dqt_from_quality(dev, quality)

Set DQT from quality value

Parameters:

  • dev:device handle
  • quality:JPEG quality

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_init(dev, config)

Initialize mjdec.

Parameters:

  • dev:device handle
  • config:pointer to save mjdec config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_start(dev)

Start mjdec dec-compression

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_stop(dev)

Stop mjdec dec-compression

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_push_jpeg(dev, frame)

Push one frame of jpeg to mjdec for dec-compression

Parameters:

  • dev:device handle
  • frame:jpeg frame start address, must be align 8 bytes

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_tcint_mask(dev, mask)

Enable or disable mjdec one frame dec-compression completion interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_get_intstatus(dev)

Get mjdec interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status

bflb_mjdec_int_clear(dev, int_clear)

Clear mjdec interrupt status.

Parameters:

  • dev:device handle
  • int_clear:clear value

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_get_frame_count(dev)

Get number of frame count that has dec-compressed.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: dec-compressed frame count

bflb_mjdec_pop_one_frame(dev)

Drop one frame that has dec-compressed.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjdec_feature_control(dev, cmd, arg)

Control mjdec feature.

Parameters:

  • dev:device handle
  • cmd:feature command
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

touch v2 (Ai-M64 only)

bflb_touch_v2_init(dev, config)

Initialize touch V2 with configuration

📎 Device name lookup: Supported Device Names (BL616)

Return value: 0 on success, negative error code otherwise

bflb_touch_v2_deinit(dev)

Deinitialize touch V2

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_enable(dev)

Enable touch V2 module

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_disable(dev)

Disable touch V2 module

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_scan_start(dev)

Start touch V2 scanning

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_scan_stop(dev)

Stop touch V2 scanning

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_reset(dev)

Perform software reset

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_channel_threshold(dev, channel, threshold)

Set channel threshold data

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_channel_hysteresis(dev, channel, hys)

Set channel hysteresis data

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_channel_force_data(dev, channel, force_data)

Set channel force data

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_latch_force_data(dev)

Latch force data to LTA data

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_get_channel_data(dev, channel, data)

Get channel data

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_get_raw_data(dev, channel)

Get raw data for a specific channel

📎 Device name lookup: Supported Device Names (BL616)

Return value: raw data value

bflb_touch_v2_get_flt_data(dev, channel)

Get filtered data for a specific channel

📎 Device name lookup: Supported Device Names (BL616)

Return value: filtered data value

bflb_touch_v2_get_lta_data(dev, channel)

Get LTA data for a specific channel

📎 Device name lookup: Supported Device Names (BL616)

Return value: LTA data value

bflb_touch_v2_set_tx_channel(dev, channels)

Set TX channel enable mask

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_rx_channel(dev, channels)

Set RX channel enable mask

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_get_int_status(dev)

Get interrupt status

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status bitmap

bflb_touch_v2_clear_int(dev, int_mask)

Clear interrupt status

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_int_mask(dev, int_mask)

Set interrupt mask

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_config_freq_hopping(dev, enable, threshold, div0, div1, div2)

Configure frequency hopping

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_detection_duration(dev, duration)

Set touch detection duration

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_touch_v2_set_sleep_cycle(dev, sleep_cycle)

Configure sleep cycle for non-continuous mode

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

PEC v2 (Ai-M64 only)

bflb_pec_memory_size_check(dev, start, size, actual_start)

COMMON API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_get_deepth_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_get_deepth_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_get_level_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_get_level_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_clr_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_clr_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_is_rdy_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_is_rdy_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_get_addr_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_get_addr_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_write(dev, value)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_read(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_write_multi_32bits(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_write_multi_16bits(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_write_multi_8bits(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_write_multi_32bits_blocking(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_write_multi_16bits_blocking(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_write_multi_8bits_blocking(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_read_multi_32bits(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_read_multi_16bits(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_read_multi_8bits(dev, data, len)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_fifo_set_threshold_tx(dev, threshold)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_fifo_set_threshold_rx(dev, threshold)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_dma_enable_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_dma_enable_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_dma_disable_tx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_dma_disable_rx(dev)

low level API

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_pwm_init(dev, pwm)

PWM

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_pwm_deinit(dev)

PWM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_pwm_start(dev, high_cnt, low_cnt)

PWM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_pwm_stop(dev)

PWM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_uart_tx_init(dev, uart)

UART_TX

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_uart_tx_deinit(dev)

UART_TX

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_uart_rx_init(dev, uart)

UART_RX

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_uart_rx_deinit(dev)

UART_RX

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_uart_rx_start(dev)

UART_RX

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_uart_rx_stop(dev)

UART_RX

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_ir_nec_init(dev, ir)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_ir_nec_set_timing(dev, nec_timing)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_ir_nec_send(dev, data, bits)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_ir_nec_is_busy(dev)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_ir_rc5_init(dev, ir)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_ir_rc5_set_timing(dev, rc5_timing)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_ir_rc5_send(dev, data, bits)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_ir_rc5_is_busy(dev)

IR_NEC

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_spi_init(dev, spi)

SPI

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_spi_set_bits(dev, bits)

SPI

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_i2c_init(dev, i2c)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_i2c_set_timing(dev, timing)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_i2c_is_busy(dev)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_i2c_get_err(dev)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_i2c_clear_err(dev)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_i2c_write(dev, data)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_i2c_read(dev, data)

I2C

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_dpi_init(dev, dpi)

DPI

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_dpi_deinit(dev)

DPI

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_srgb_init(dev, srgb)

sRGB

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_srgb_deinit(dev)

sRGB

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_dvp_cam_init(dev, cam)

DVP_CAM

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_dvp_cam_start(dev)

DVP_CAM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_dvp_cam_stop(dev)

DVP_CAM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_qspi_cam_init(dev, cam)

QSPI_CAM

📎 Device name lookup: Supported Device Names (BL616)

Return value: see the SDK header

bflb_pec_qspi_cam_start(dev, cam)

QSPI_CAM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_pec_qspi_cam_stop(dev, cam)

QSPI_CAM

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

I2S Audio

bflb_i2s_init(dev, config)

Initialize i2s.

Parameters:

  • dev:device handle
  • config:pointer to save i2s config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_deinit(dev)

Deinitialize i2s.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_link_txdma(dev, enable)

Enable i2s tx dma.

Parameters:

  • dev:device handle
  • enable:true means enable, otherwise disable.

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_link_rxdma(dev, enable)

Enable i2s rx dma.

Parameters:

  • dev:device handle
  • enable:true means enable, otherwise disable.

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_txint_mask(dev, mask)

Enable or disable i2s rx fifo threhold interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_rxint_mask(dev, mask)

Enable or disable i2s rx fifo threhold interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_errint_mask(dev, mask)

Enable or disable i2s error interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_i2s_get_intstatus(dev)

Get i2s interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status, use @ref I2S_INTSTS

bflb_i2s_feature_control(dev, cmd, arg)

Control i2s feature.

Parameters:

  • dev:device handle
  • cmd:feature command, use @ref I2S_CMD
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

Audio AUADC

bflb_auadc_init(sampling_rate, input_mode, data_format, fifo_threshold)

auadc adc analog initialization configuration structure

Parameters:

  • sampling_rate:auadc sampling rate, use @ref AUADC_SAMPLING_RATE
  • input_mode:auadc mode, use @ref AUADC_INPUT_MODE
  • data_format:auadc fifo data format, use @ref AUADC_DATA_FORMAT
  • fifo_threshold:auadc tx fifo threshold, 0 ~ 7

Return value: see the SDK header

bflb_auadc_adc_init(analog_adc_en, adc_mode, adc_pga_mode, adc_pga_posi_ch, adc_pga_nega_ch, adc_pga_gain, adc_measure_rate)

auadc adc analog initialization configuration structure

Parameters:

  • analog_adc_en:auadc sampling rate, use true or false
  • adc_mode:auadc adc work pattern, use @ref AUADC_ADC_MODE
  • adc_pga_mode:auadc adc PGA mode, use @ref AUADC_ADC_PGA_MODE
  • adc_pga_posi_ch:auadc adc positive channel selection, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_nega_ch:auadc adc negative channel selection, This channel is valid only when adc_pga_mode is differential, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_gain:auadc adc PGA Gain control, 6dB ~ 42dB, step by 3db
  • adc_measure_rate:auadc adc sampling rate in measurement mode @ AUADC_SAMPLING_RATE_MEASURE_256K, use @ref AUADC_ADC_MEASURE_RATE

Return value: see the SDK header

bflb_auadc_link_rxdma(analog_adc_en, adc_mode, adc_pga_mode, adc_pga_posi_ch, adc_pga_nega_ch, adc_pga_gain, adc_measure_rate)

auadc adc analog initialization configuration structure

Parameters:

  • analog_adc_en:auadc sampling rate, use true or false
  • adc_mode:auadc adc work pattern, use @ref AUADC_ADC_MODE
  • adc_pga_mode:auadc adc PGA mode, use @ref AUADC_ADC_PGA_MODE
  • adc_pga_posi_ch:auadc adc positive channel selection, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_nega_ch:auadc adc negative channel selection, This channel is valid only when adc_pga_mode is differential, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_gain:auadc adc PGA Gain control, 6dB ~ 42dB, step by 3db
  • adc_measure_rate:auadc adc sampling rate in measurement mode @ AUADC_SAMPLING_RATE_MEASURE_256K, use @ref AUADC_ADC_MEASURE_RATE

Return value: see the SDK header

bflb_auadc_int_mask(analog_adc_en, adc_mode, adc_pga_mode, adc_pga_posi_ch, adc_pga_nega_ch, adc_pga_gain, adc_measure_rate)

auadc adc analog initialization configuration structure

Parameters:

  • analog_adc_en:auadc sampling rate, use true or false
  • adc_mode:auadc adc work pattern, use @ref AUADC_ADC_MODE
  • adc_pga_mode:auadc adc PGA mode, use @ref AUADC_ADC_PGA_MODE
  • adc_pga_posi_ch:auadc adc positive channel selection, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_nega_ch:auadc adc negative channel selection, This channel is valid only when adc_pga_mode is differential, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_gain:auadc adc PGA Gain control, 6dB ~ 42dB, step by 3db
  • adc_measure_rate:auadc adc sampling rate in measurement mode @ AUADC_SAMPLING_RATE_MEASURE_256K, use @ref AUADC_ADC_MEASURE_RATE

Return value: see the SDK header

bflb_auadc_int_unmask(analog_adc_en, adc_mode, adc_pga_mode, adc_pga_posi_ch, adc_pga_nega_ch, adc_pga_gain, adc_measure_rate)

auadc adc analog initialization configuration structure

Parameters:

  • analog_adc_en:auadc sampling rate, use true or false
  • adc_mode:auadc adc work pattern, use @ref AUADC_ADC_MODE
  • adc_pga_mode:auadc adc PGA mode, use @ref AUADC_ADC_PGA_MODE
  • adc_pga_posi_ch:auadc adc positive channel selection, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_nega_ch:auadc adc negative channel selection, This channel is valid only when adc_pga_mode is differential, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_gain:auadc adc PGA Gain control, 6dB ~ 42dB, step by 3db
  • adc_measure_rate:auadc adc sampling rate in measurement mode @ AUADC_SAMPLING_RATE_MEASURE_256K, use @ref AUADC_ADC_MEASURE_RATE

Return value: see the SDK header

bflb_auadc_get_intstatus(analog_adc_en, adc_mode, adc_pga_mode, adc_pga_posi_ch, adc_pga_nega_ch, adc_pga_gain, adc_measure_rate)

auadc adc analog initialization configuration structure

Parameters:

  • analog_adc_en:auadc sampling rate, use true or false
  • adc_mode:auadc adc work pattern, use @ref AUADC_ADC_MODE
  • adc_pga_mode:auadc adc PGA mode, use @ref AUADC_ADC_PGA_MODE
  • adc_pga_posi_ch:auadc adc positive channel selection, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_nega_ch:auadc adc negative channel selection, This channel is valid only when adc_pga_mode is differential, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_gain:auadc adc PGA Gain control, 6dB ~ 42dB, step by 3db
  • adc_measure_rate:auadc adc sampling rate in measurement mode @ AUADC_SAMPLING_RATE_MEASURE_256K, use @ref AUADC_ADC_MEASURE_RATE

Return value: see the SDK header

bflb_auadc_feature_control(analog_adc_en, adc_mode, adc_pga_mode, adc_pga_posi_ch, adc_pga_nega_ch, adc_pga_gain, adc_measure_rate)

auadc adc analog initialization configuration structure

Parameters:

  • analog_adc_en:auadc sampling rate, use true or false
  • adc_mode:auadc adc work pattern, use @ref AUADC_ADC_MODE
  • adc_pga_mode:auadc adc PGA mode, use @ref AUADC_ADC_PGA_MODE
  • adc_pga_posi_ch:auadc adc positive channel selection, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_nega_ch:auadc adc negative channel selection, This channel is valid only when adc_pga_mode is differential, use @ref AUADC_ADC_ANALOG_CH
  • adc_pga_gain:auadc adc PGA Gain control, 6dB ~ 42dB, step by 3db
  • adc_measure_rate:auadc adc sampling rate in measurement mode @ AUADC_SAMPLING_RATE_MEASURE_256K, use @ref AUADC_ADC_MEASURE_RATE

Return value: see the SDK header

Audio DAC

bflb_audac_init(sampling_rate, output_mode, source_channels_num, mixer_mode, data_format, fifo_threshold, dma_enable)

AUDAC volume configuration structure

Parameters:

  • sampling_rate:AUDAC sampling rate, use @ref AUDAC_SAMPLING_RATE
  • output_mode:AUDAC mode, use @ref AUDAC_OUTPUT_MODE
  • source_channels_num:AUDAC source channels num, use @ref AUDAC_SOURCE_CHANNEL
  • mixer_mode:AUDAC mixer mode, valid only in AUDAC_SOURCE_CHANNEL_DUAL mode, use @ref AUDAC_MIXER_MODE
  • data_format:AUDAC audac data format, use @ref AUDAC_DATA_FORMAT
  • fifo_threshold:AUDAC tx fifo threshold, 0 ~ 7
  • dma_enable:AUDAC dma mode enable, use true or false

Return value: see the SDK header

bflb_audac_volume_init(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

bflb_audac_link_rxdma(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

bflb_audac_int_mask(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

bflb_audac_int_unmask(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

bflb_audac_get_intstatus(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

bflb_audac_int_clear(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

bflb_audac_feature_control(mute_ramp_en, mute_up_ramp_rate, mute_down_ramp_rate, volume_update_mode, volume_ramp_rate, volume_zero_cross_timeout)

AUDAC volume configuration structure

Parameters:

  • mute_ramp_en:AUDAC mute mode en, use true or false
  • mute_up_ramp_rate:AUDAC mute up ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • mute_down_ramp_rate:AUDAC mute down ramp rate, valid when mute_ramp_en is true, use @ref AUDAC_RAMP_RATE
  • volume_update_mode:AUDAC volume update mode, use @ref AUDAC_VOLUME_UPDATE_MODE
  • volume_ramp_rate:AUDAC volume ramp rate, valid when volume_update_mode is not AUDAC_VOLUME_UPDATE_MODE_FORCE, use @ref AUDAC_RAMP_RATE
  • volume_zero_cross_timeout:AUDAC volume update zero cross timeout period, valid only in AUDAC_VOLUME_UPDATE_MODE_RAMP_ZERO_CROSSING mode

Return value: see the SDK header

Camera CAM

bflb_cam_init(dev, config)

Initialize cam.

Parameters:

  • dev:device handle
  • config:pointer to cam configure structure

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_start(dev)

Enable cam.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_stop(dev)

Disable cam.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_int_mask(dev, int_type, mask)

Mask or unmask cam interrupt.

Parameters:

  • dev:device handle
  • int_type:cam interrupt mask type, use @ref CAM_INTMASK
  • mask:mask or unmask

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_int_clear(dev, int_type)

Clear cam interrupt.

Parameters:

  • dev:device handle
  • int_type:int_type cam interrupt clear type, use @ref CAM_INTCLR

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_crop_vsync(dev, start_line, end_line)

Crop vsync.

Parameters:

  • dev:device handle
  • start_line:start line of window
  • end_line:end line of window, not include

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_crop_hsync(dev, start_pixel, end_pixel)

Crop hsync.

Parameters:

  • dev:device handle
  • start_pixel:start pixel of each line
  • end_pixel:end pixel of each line, not include

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_pop_one_frame(dev)

Pop one frame.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_cam_get_frame_count(dev)

Get frame count.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: Frame count

bflb_cam_get_frame_info(dev, pic)

Get frame information.

Parameters:

  • dev:device handle
  • pic:pointer to frame start address

📎 Device name lookup: Supported Device Names (BL616)

Return value: Size of frame

bflb_cam_get_intstatus(dev)

Get interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: Interrupt status

bflb_cam_feature_control(dev, cmd, arg)

Control cam feature.

Parameters:

  • dev:device handle
  • cmd:feature command
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure

MJPEG Encoder

bflb_mjpeg_init(dev, config)

Initialize mjpeg.

Parameters:

  • dev:device handle
  • config:pointer to save mjpeg config

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_start(dev)

Start mjpeg compression with camera.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_stop(dev)

Stop mjpeg compression with camera.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_sw_run(dev, frame_count)

Start mjpeg compression without camera.

Parameters:

  • dev:device handle
  • frame_count:frame count to compress

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_kick_run(dev, kick_count)

Start mjpeg kick mode compression without camera.

Parameters:

  • dev:device handle
  • kick_count:kick block horizontal count to compress

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_kick_stop(dev)

Stop mjpeg kick mode compression without camera.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_kick(dev, kick_count)

kick one times compression without camera.

Parameters:

  • dev:device handle
  • kick_count:kick block horizontal count to compress

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_tcint_mask(dev, mask)

Enable or disable mjpeg one frame compression completion interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_kickint_mask(dev, mask)

Enable or disable mjpeg kick done interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_swapint_mask(dev, mask)

Enable or disable mjpeg swap interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_errint_mask(dev, mask)

Enable or disable mjpeg error interrupt.

Parameters:

  • dev:device handle
  • mask:true means disable, false means enable

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_get_intstatus(dev)

Get mjpeg interrupt status.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: interrupt status

bflb_mjpeg_int_clear(dev, int_clear)

Clear mjpeg interrupt status.

Parameters:

  • dev:device handle
  • int_clear:clear value

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_get_frame_count(dev)

Get number of frame count that has compressed.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: compressed frame count

bflb_mjpeg_pop_one_frame(dev)

Drop one frame that has compressed.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_pop_swap_block(dev)

Drop swap current block.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_get_swap_bit_count(dev)

Get bit count remained in swap mode.

Parameters:

  • dev:device handle

📎 Device name lookup: Supported Device Names (BL616)

Return value: remained bit count

bflb_mjpeg_get_frame_info(dev, pic)

Get one frame information.

Parameters:

  • dev:device handle
  • pic:pointer to save frame address.

📎 Device name lookup: Supported Device Names (BL616)

Return value: frame length

bflb_mjpeg_get_swap_block_info(dev, idx)

Get swap block information.

Parameters:

  • dev:device handle
  • idx:index of current swap block.

📎 Device name lookup: Supported Device Names (BL616)

Return value: swap block is end or not

bflb_mjpeg_swap_is_block_full(dev, idx)

Check is block full in swap mode.

Parameters:

  • dev:device handle
  • idx:index of the block to be checked.

📎 Device name lookup: Supported Device Names (BL616)

Return value: block is full or not

bflb_mjpeg_calculate_quantize_table(quality, input_table, output_table)

Calculate jpeg quantize table.

Parameters:

  • quality:image quality
  • input_table:pointer to save input table
  • output_table:pointer to save output table

Return value: None

bflb_mjpeg_fill_quantize_table(dev, input_yy, input_uv)

Fill quantize table into mjpeg register.

Parameters:

  • dev:device handle
  • input_yy:yy quantize table
  • input_uv:uv quantize table

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_fill_jpeg_header_tail(dev, header, header_len)

Fill jpeg header into mjpeg register and enable hardware auto adding jpeg tail.

Parameters:

  • dev:device handle
  • header:pointer to jpeg header
  • header_len:jpeg header length

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_set_yuv420sp_cam_input(dev, yy, uv)

Set mjpeg input when uses camera with yuv402sp.

Parameters:

  • dev:device handle
  • yy:camera id for yy
  • uv:camera id for uv

📎 Device name lookup: Supported Device Names (BL616)

Return value: None

bflb_mjpeg_feature_control(dev, cmd, arg)

Control mjpeg feature.

Parameters:

  • dev:device handle
  • cmd:feature command
  • arg:user data

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

bflb_mjpeg_update_input_output_buff(dev, input_buf0, input_buf1, output_buff, output_buff_size)

Control mjpeg feature.

Parameters:

  • dev:device handle
  • input_buf0:input buffer 0
  • input_buf1:input buffer 1
  • output_buff:output buffer
  • output_buff_size:size of output buffer

📎 Device name lookup: Supported Device Names (BL616)

Return value: A negated errno value on failure.

Have questions?

For any other questions, visit the unified Q&A and discussion board: Ai-Thinker Discussions

Released under the MIT License. Build Time 2026-09-11 14:52:23