GPIO
bflb_gpio_init(dev, pin, cfgset)
Initialize gpio pin.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PINcfgset:gpio config mask
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_deinit(dev, pin)
Deinitialize gpio pin with input float.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PIN
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_output_value_mode_enable(dev, pin)
Set gpio pin function.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PIN
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_pin0_31_output(dev, value)
Write gpio0-31 output value.
Parameters:
dev:device handlevalue:output value for GPIO0-31
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_pin32_63_output(dev, value)
Write gpio32-63 output value.
Parameters:
dev:device handlevalue:output value for GPIO32-63
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_set(dev, pin)
Write gpio pin with high level.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PIN
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_pin0_31_set(dev, value)
set gpio0-31 pin with bitmap.
Parameters:
dev:device handlevalue:bitmap value for GPIO0-31 to set
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_pin32_63_set(dev, value)
set gpio32-63 pin with bitmap.
Parameters:
dev:device handlevalue:bitmap value for GPIO32-63 to set
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_reset(dev, pin)
Write gpio pin with low level.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PIN
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_pin0_31_reset(dev, value)
reset gpio0-31 pin with bitmap.
Parameters:
dev:device handlevalue:bitmap value for GPIO0-31 to reset
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_pin32_63_reset(dev, value)
reset gpio32-63 pin with bitmap.
Parameters:
dev:device handlevalue:bitmap value for GPIO32-63 to reset
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_read(dev, pin)
Read level from gpio pin.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PIN
📎 Device name lookup: Supported Device Names (BL616)
Return value: true means high level, otherwise low level
bflb_gpio_pin0_31_read(dev)
Read level from gpio pin 0~31.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: level of gpio pin 0~31
bflb_gpio_pin32_63_read(dev)
Read level from gpio pin 32~63.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: level of gpio pin32~63
bflb_gpio_int_init(dev, pin, trig_mode)
Config gpio pin interrupt.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PINtrig_mode:mode to trigger interrupt
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_int_mask(dev, pin, mask)
Enable or disable gpio pin interrupt.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PINmask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_get_intstatus(dev, pin)
Get gpio pin interrupt status.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PIN
📎 Device name lookup: Supported Device Names (BL616)
Return value: true means yes, false means no
bflb_gpio_get_intstatus_pin0_31(dev)
Get gpio0-31 pin interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: bitmap of gpio0-31 interrupt status
bflb_gpio_get_intstatus_pin32_63(dev)
Get gpio32-63 pin interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: bitmap of gpio32-63 interrupt status
bflb_gpio_int_clear_pin0_31(dev, value)
clear gpio0-31 interrupt status with bitmap.
Parameters:
dev:device handlevalue:bitmap value for GPIO0-31 to clear
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_int_clear_pin32_63(dev, value)
clear gpio32-63 interrupt status with bitmap.
Parameters:
dev:device handlevalue:bitmap value for GPIO32-63 to clear
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_int_clear(dev, value)
Clear gpio pin interrupt status.
Parameters:
dev:device handlevalue:bitmap value for GPIO0-31 to clear
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_uart_init(dev, pin, uart_func)
Config gpio pin with uart function.
Parameters:
dev:device handlepin:gpio pin, use @ref GPIO_PINuart_func:uart function, use @ref GPIO_UART_FUNC
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_gpio_feature_control(dev, cmd, arg)
Control gpio feature.
Parameters:
dev:device handlecmd:feature command, use @ref GPIO_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_gpio_irq_detach(dev, cmd, arg)
Control gpio feature.
Parameters:
dev:device handlecmd:feature command, use @ref GPIO_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
UART
bflb_uart_init(dev, config)
Initialize uart.
Parameters:
dev:device handleconfig:pointer to save uart config
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_deinit(dev)
Deinitialize uart.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_enable(dev)
Enable uart.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_disable(dev)
Disable uart.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_link_txdma(dev, enable)
Enable uart tx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_link_rxdma(dev, enable)
Enable uart rx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_putchar(dev, ch)
Put one char on uart.
Parameters:
dev:device handlech:char
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_uart_getchar(dev)
Get char from uart.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure, otherwise received char.
bflb_uart_put(dev, ch)
Put a block of data on uart.This is a poll api.
Parameters:
dev:device handlech:char
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_uart_put_block(dev, data, len)
Put a block of data on uart.Block before sending done.
Parameters:
dev:device handledata:pointer to save send datalen:length to send
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_uart_get(dev)
Get a block of data from uart. This is a asynchronous api.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure, otherwise received char.
bflb_uart_wait_tx_done(dev)
Wait for tx transfer done and fifo is empty.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_uart_txready(dev)
Check if there is free space in tx fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: Return true if the tranmsit hardware is ready to send another byte
bflb_uart_txempty(dev)
Check if there is no data in tx fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: Return true if all characters have been sent
bflb_uart_rxavailable(dev)
Check if there is data in rx fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: true means yes.Otherwise there is no data in rx fifo
bflb_uart_txint_mask(dev, mask)
Enable or disable uart tx fifo threhold interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_rxint_mask(dev, mask)
Enable or disable uart rx fifo threhold interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_errint_mask(dev, mask)
Enable or disable uart error interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_get_intstatus(dev)
Get uart interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt status, use @ref UART_INTSTS
bflb_uart_int_clear(dev, int_clear)
Clear uart interrupt status.
Parameters:
dev:device handleint_clear:clear value, use @ref UART_INTCLR
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_uart_feature_control(dev, cmd, arg)
Control uart feature.
Parameters:
dev:device handlecmd:feature command, use @ref UART_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
SPI
bflb_spi_init(dev, config)
Initialize spi.
Parameters:
dev:device handleconfig:pointer to save spi config
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_deinit(dev)
Deinitialize spi.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_link_txdma(dev, enable)
Enable spi tx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_link_rxdma(dev, enable)
Enable spi rx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_poll_send(dev, data)
Send and receive one data on spi.
Parameters:
dev:device handledata:data to send
📎 Device name lookup: Supported Device Names (BL616)
Return value: receive data
bflb_spi_poll_exchange(dev, txbuffer, rxbuffer, nbytes)
Send and receive a block of data on spi.
Parameters:
dev:device handletxbuffer:pointer to send bufferrxbuffer:pointer to receive buffernbytes:bytes to send
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_spi_isbusy(dev)
Check if spi is busy.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: true means busy, otherwise not.
bflb_spi_txint_mask(dev, mask)
Enable or disable spi rx fifo threhold interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_rxint_mask(dev, mask)
Enable or disable spi rx fifo threhold interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_tcint_mask(dev, mask)
Enable or disable spi transfer done interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_errint_mask(dev, mask)
Enable or disable spi error interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_rtoint_mask(dev, mask)
Enable or disable spi receive timeout interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_get_intstatus(dev)
Get spi interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt status, use @ref SPI_INTSTS
bflb_spi_int_clear(dev, int_clear)
Clear spi interrupt status.
Parameters:
dev:device handleint_clear:clear value, use @ref SPI_INTCLR
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_spi_feature_control(dev, cmd, arg)
Control spi feature.
Parameters:
dev:device handlecmd:feature command, use @ref SPI_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
I2C
bflb_i2c_init(dev, frequency)
Initialize i2c.
Parameters:
dev:device handlefrequency:i2c frequency, range from 305Hz to 400KHz
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_i2c_deinit(dev)
Deinitialize i2c.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_i2c_link_txdma(dev, enable)
Enable i2c tx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_i2c_link_rxdma(dev, enable)
Enable i2c rx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_i2c_transfer(dev, msgs, count)
Start transferring i2c message.
Parameters:
dev:device handlemsgs:pointer to i2c messagecount:message count
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_i2c_int_mask(dev, int_type, mask)
Enable or disable i2c interrupt.
Parameters:
dev:device handleint_type:interrupt type ,use @ref I2C_INTENmask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_i2c_int_clear(dev, int_clear)
Clear i2c interrupt status.
Parameters:
dev:device handleint_clear:clear value, use @ref I2C_INTCLR
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_i2c_get_intstatus(dev)
Get i2c interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt status value, use @ref I2C_INTSTS
bflb_i2c_feature_control(dev, cmd, arg)
Control i2c feature.
Parameters:
dev:device handlecmd:feature commandarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
ADC
bflb_adc_init(dev, config)
Initialize adc.
Parameters:
dev:device handleconfig:pointer to save adc configuration
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_update_adc_trim(dev, config)
Update adc trim.
Parameters:
dev:device handleconfig:pointer to save adc configuration
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_deinit(dev)
Deinitialize adc.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_link_rxdma(dev, enable)
Enable adc rx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_set_reference_channel(channel, millivolt)
Select reference channel.
Parameters:
channel:channel numbermillivolt:refercence millivolt
Return value: None
bflb_adc_channel_config(dev, chan, channels)
Config adc channels to sample.
Parameters:
dev:device handlechan:pointer to the channel configurations.channels:pair number of channels
📎 Device name lookup: Supported Device Names (BL616)
Return value: Zero on success; a negated errno value on failure
bflb_adc_start_conversion(dev)
Start adc conversion
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_stop_conversion(dev)
Stop adc conversion
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_get_count(dev)
Get adc number of completed conversions
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: number of completed conversions
bflb_adc_read_raw(dev)
Read adc conversion value
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: conversion value
bflb_adc_rxint_mask(dev, mask)
Enable or disable adc conversion completion interrupt. Triggerring when a channel conversion is completed.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_errint_mask(dev, mask)
Enable or disable adc error interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_get_intstatus(dev)
Get adc interrupt instatus.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt instatus value, use @ref ADC_INTSTS
bflb_adc_int_clear(dev, int_clear)
Clear adc interrupt instatus.
Parameters:
dev:device handleint_clear:interrupt clear value, use @ref ADC_INTCLR
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_parse_result(dev, buffer, result, count)
Parse adc conversion value into millivolt and actual numerical value.
Parameters:
dev:device handlebuffer:pointer to adc original value from bflb_adc_read_raw apiresult:pointer to save parse resultcount:count to parse
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_tsen_init(dev, tsen_mod)
Initialize adc temperature sensor
Parameters:
dev:device handletsen_mod:temperature sensor mode, use @ref ADC_TSEN_MOD
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_tsen_get_temp(dev)
Get adc temperature
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: temperature
bflb_adc_vbat_enable(dev)
Enable adc vbat power.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_vbat_disable(dev)
Disable adc vbat power.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_feature_control(dev, cmd, arg)
Control adc feature.
Parameters:
dev:device handlecmd:feature command. use @ref ADC_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
ADC v2 (Ai-M64 only)
bflb_adc_init(dev, config)
Initialize adc.
Parameters:
dev:device handleconfig:pointer to save adc configuration
📎 Device name lookup: Supported Device Names (BL616)
Return value: Zero on success; -EBUSY if another initialization is in progress
bflb_adc_deinit(dev)
Deinitialize adc.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_link_rxdma(dev, enable)
Enable adc regular rx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_link_rxdma_inject(dev, enable)
Enable adc inject rx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_channel_config_internal(dev, chan, channels)
Config adc internal regular channels to sample.
Parameters:
dev:device handlechan:pointer to the channel configurations.channels:pair number of channels
📎 Device name lookup: Supported Device Names (BL616)
Return value: Zero on success; a negated errno value on failure
bflb_adc_channel_config_external(dev, chan, channels)
Config adc external regular channels to sample.
Parameters:
dev:device handlechan:pointer to the channel configurations.channels:pair number of channels
📎 Device name lookup: Supported Device Names (BL616)
Return value: Zero on success; a negated errno value on failure
bflb_adc_channel_config_internal_inject(dev, chan, channels)
Config adc internal inject channels to sample.
Parameters:
dev:device handlechan:pointer to the channel configurations.channels:pair number of channels
📎 Device name lookup: Supported Device Names (BL616)
Return value: Zero on success; a negated errno value on failure
bflb_adc_channel_config_external_inject(dev, chan, channels)
Config adc external inject channels to sample.
Parameters:
dev:device handlechan:pointer to the channel configurations.channels:pair number of channels
📎 Device name lookup: Supported Device Names (BL616)
Return value: Zero on success; a negated errno value on failure
bflb_adc_start_conversion(dev)
Start adc regular channels conversion
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_start_conversion_inject(dev)
Start adc inject channels conversion
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_stop_conversion(dev)
Stop adc regular channels conversion
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_stop_conversion_inject(dev)
Stop adc inject channels conversion
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_get_count(dev)
Get adc number of regular channels completed conversions
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: number of completed conversions
bflb_adc_get_count_inject(dev)
Get adc number of inject channels completed conversions
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: number of completed conversions
bflb_adc_read_raw(dev)
Read adc regular channels conversion value
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: conversion value
bflb_adc_read_raw_inject(dev)
Read adc inject channels conversion value
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: conversion value
bflb_adc_clear_fifo(dev)
Clear ADC regular channels fifo
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_clear_fifo_inject(dev)
Clear ADC inject channels fifo
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_inject_context_save(pos_chan, neg_chan, value, millivolt)
Acquire ADC inject configuration and save its context. All users sharing ADC inject conversion must acquire a context before changing inject configuration or starting a conversion. The context must be restored after the conversion data has been consumed. Every successful save call must be paired with exactly one restore call. Do not call restore when save returns an error.
Parameters:
pos_chan:ADC positive channelneg_chan:ADC negative channelvalue:ADC valuemillivolt:ADC voltage result
Return value: see the SDK header
bflb_adc_inject_context_restore(pos_chan, neg_chan, value, millivolt)
Restore ADC inject configuration and release its ownership.
Parameters:
pos_chan:ADC positive channelneg_chan:ADC negative channelvalue:ADC valuemillivolt:ADC voltage result
Return value: see the SDK header
bflb_adc_int_mask(dev, int_type, mask)
Enable or disable adc interrupt.
Parameters:
dev:device handleint_type:interrupt type value, use @ref ADC_INTmask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_get_int_status(dev, int_type)
Get adc interrupt status.
Parameters:
dev:device handleint_type:interrupt type value, use @ref ADC_INT
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt status value, use @ref ADC_INT
bflb_adc_int_clear(dev, int_type)
Clear adc interrupt status.
Parameters:
dev:device handleint_type:interrupt type value, use @ref ADC_INT
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_parse_result(dev, buffer, result, count)
Parse adc conversion value into millivolt and actual numerical value.
Parameters:
dev:device handlebuffer:pointer to adc original value from bflb_adc_read_raw or bflb_adc_read_raw_inject apiresult:pointer to save parse resultcount:count to parse
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_tsen_raw_to_temperature(dev, rawdata_P, rawdata_N)
Calculate adc temperature from TSEN_N and TSEN_P raw words.
Parameters:
dev:device handlerawdata_P:raw word from ADC_INTERNAL_CHANNEL_TSEN_Prawdata_N:raw word from ADC_INTERNAL_CHANNEL_TSEN_N
📎 Device name lookup: Supported Device Names (BL616)
Return value: temperature
bflb_adc_vbat_enable(dev)
Enable adc vbat power.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_vbat_disable(dev)
Disable adc vbat power.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_adc_feature_control(dev, cmd, arg)
Control adc feature.
Parameters:
dev:device handlecmd:feature command. use @ref ADC_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
Analog Comparator
bflb_acomp_init(acomp_id, config)
Initialize acomp.
Parameters:
acomp_id:acomp indexconfig:pointer to save acomp configuration
Return value: None
bflb_acomp_enable(acomp_id)
Enable acomp.
Parameters:
acomp_id:acomp index
Return value: None
bflb_acomp_disable(acomp_id)
Disable acomp.
Parameters:
acomp_id:acomp index
Return value: None
bflb_acomp_get_result(acomp_id)
Get acomp result.
Parameters:
acomp_id:acomp index
Return value: acomp result
bflb_acomp_gpio_2_chanid(pin, channel)
gpio change adc_chan_id.
Parameters:
pin:gpio indexchannel:adc channel index
Return value: Zero on success; a negated errno value on failure
bflb_acomp_chanid_2_gpio(channel, pin)
adc_chan_id change gpio index.
Parameters:
channel:adc channel indexpin:gpio index
Return value: Zero on success; a negated errno value on failure
bflb_acomp_get_postive_input(acomp_id)
get ACOMP positive channel select of acomp index.
Parameters:
acomp_id:acomp index
Return value: ACOMP positive channel select
DAC
bflb_dac_init(dev, frequence)
Initialize dac frequence. Dac clk = 512K/clk_div, source clock must be 512K
Parameters:
dev:device handlefrequence:dac clock div, use @ref DAC_CLK_DIV
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dac_deinit(dev)
Deinitialize dac.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dac_link_txdma(dev, enable)
Enable dac tx dma.
Parameters:
dev:device handleenable:true means enable, otherwise disable.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dac_set_dma_format(dev, format)
Set dac format in dma mode.
Parameters:
dev:device handleformat:format type
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dac_channel_enable(dev, ch)
Enable dac channel.
Parameters:
dev:device handlech:channel number
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dac_channel_disable(dev, ch)
Disable dac channel.
Parameters:
dev:device handlech:channel number
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dac_set_value(dev, ch, value)
Set dac output value
Parameters:
dev:device handlech:channel numbervalue:output value
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
DMA
bflb_dma_channel_init(dev, config)
Initialize dma channel.
Parameters:
dev:device handleconfig:pointer to save dma channel configuration
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dma_channel_deinit(dev)
Deinitialize dma channel.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dma_channel_start(dev)
Start dma channel transfer.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dma_channel_stop(dev)
Stop dma channel transfer.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dma_channel_isbusy(dev)
Check if dma channel is in busy.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: true means dma channel does not transfer completely, otherwise transfers completely.
bflb_dma_channel_irq_detach(dev)
Unregister dma channel transmission completion interrupt callback.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dma_channel_lli_reload(dev, lli_pool, max_lli_count, transfer, count)
Config dma channel lli.
Parameters:
dev:device handlelli_pool:pointer to lli poolmax_lli_count:lli pool sizetransfer:pointer to transfer structurecount:transfer count.
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure, otherwise means number of used lli.
bflb_dma_channel_lli_insert(dev, lli_pool, max_lli_count, transfer, count)
Insert dma channel lli node.
Parameters:
dev:device handlelli_pool:pointer to lli poolmax_lli_count:lli pool sizetransfer:pointer to transfer structurecount:transfer count.
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure, otherwise means number of used lli.
bflb_dma_channel_lli_link_head(dev, lli_pool, used_lli_count)
Enable lli continueous mode.
Parameters:
dev:device handlelli_pool:pointer to lli poolused_lli_count:number of used lli.
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_rx_cycle_dma_process(rx_dma, in_dma_isr)
Rx cycle dma process
Parameters:
rx_dma:rx dma handlein_dma_isr:if called in dma isr
Return value: None
bflb_dma_feature_control(dev, cmd, arg)
Control dma feature.
Parameters:
dev:device handlecmd:feature command. use @ref DMA_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_dma_channel_tcint_mask(dev, mask)
Enable or disable dma channel transmission completion interrupt.
Parameters:
dev:device handlemask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_dma_channel_get_tcint_status(dev)
Check if dma channel transfers completely.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: true means yes, false means no.
bflb_dma_channel_tcint_clear(dev)
Clear dma channel transmission completion interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
PWM
bflb_pwm_v2_init(dev, config)
Initialize pwm.
Parameters:
dev:device handleconfig:pointer to save pwm config
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_deinit(dev)
Deinitialize pwm.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_start(dev)
Start pwm output.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_stop(dev)
Stop pwm output.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_set_period(dev, period)
Set pwm period to change pwm frequence. Frequcence(hz) = pwm source clock /div/period.
Parameters:
dev:device handleperiod:pwm period
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_get_frequency(dev)
Get pwm frequency.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: frequency
bflb_pwm_v2_get_duty(dev, ch, delta, period)
Get pwm duty.
Parameters:
dev:device handlech:channel numberdelta:pointer to save delta of thresholdperiod:pointer to save period
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_channel_init(dev, ch, config)
Config pwm channel.
Parameters:
dev:device handlech:channel numberconfig:pointer to save pwm channel config
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_channel_set_threshold(dev, ch, low_threhold, high_threhold)
Set pwm dutycycle. Dutycycle(%) = (high_threhold - low_threhold)/period * 100%.
Parameters:
dev:device handlech:channel numberlow_threhold:pwm low threholdhigh_threhold:pwm high threhold
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_channel_positive_start(dev, ch)
Start pwm positive output.
Parameters:
dev:device handlech:channel number
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_channel_negative_start(dev, ch)
Start pwm negative output.
Parameters:
dev:device handlech:channel number
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_channel_positive_stop(dev, ch)
Stop pwm positive output.
Parameters:
dev:device handlech:channel number
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_channel_negative_stop(dev, ch)
Stop pwm negative output.
Parameters:
dev:device handlech:channel number
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_int_enable(dev, int_en, enable)
Enable pwm interrupt.
Parameters:
dev:device handleint_en:interrupt typeenable:true means enable, otherwise disable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_get_intstatus(dev)
Get pwm interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt status, use @ref PWM_INTSTS
bflb_pwm_v2_int_clear(dev, int_clear)
Clear pwm interrupt status.
Parameters:
dev:device handleint_clear:clear value, use @ref PWM_INTCLR
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_pwm_v2_feature_control(dev, cmd, arg)
Control pwm feature.
Parameters:
dev:device handlecmd:feature command, use @ref PWM_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
Hardware Timer
bflb_timer_init(dev, config)
Initialize timer.
Parameters:
dev:device handleconfig:pointer to save timer config
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_deinit(dev)
Deinitialize timer.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_start(dev)
Start timer.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_stop(dev)
Stop timer.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_set_preloadvalue(dev, val)
Set timer preload value.
Parameters:
dev:device handleval:preload value
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_set_compvalue(dev, cmp_no, val)
Set compare value of corresponding compare id.
Parameters:
dev:device handlecmp_no:compare id, use @ref TIMER_COMP_IDval:compare value
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_get_compvalue(dev, cmp_no)
Get compare value of corresponding compare id.
Parameters:
dev:device handlecmp_no:compare id, use @ref TIMER_COMP_ID
📎 Device name lookup: Supported Device Names (BL616)
Return value: uint32_t
bflb_timer_get_countervalue(dev)
Get timer counter value.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: counter value
bflb_timer_compint_mask(dev, cmp_no, mask)
Enable or disable timer interrupt of corresponding compare id.
Parameters:
dev:device handlecmp_no:compare id, use @ref TIMER_COMP_IDmask:true means disable, false means enable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_get_compint_status(dev, cmp_no)
Get timer interrupt status of corresponding compare id.
Parameters:
dev:device handlecmp_no:compare id, use @ref TIMER_COMP_ID
📎 Device name lookup: Supported Device Names (BL616)
Return value: true mean yes, otherwise no.
bflb_timer_compint_clear(dev, cmp_no)
Clear timer interrupt status of corresponding compare id.
Parameters:
dev:device handlecmp_no:compare id, use @ref TIMER_COMP_ID
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_feature_control(dev, cmd, arg)
Control timer feature.
Parameters:
dev:device handlecmd:feature command, use @ref TIMER_CMDarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure.
bflb_timer_capture_init(dev, config)
Initialize the timer capture feature.
Parameters:
dev:device handleconfig:pointer to the timer capture configuration structure
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_timer_capture_start(dev)
Start the timer capture process.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: 0 on success, or a negative error code on failure.
bflb_timer_capture_stop(dev)
Stop the timer capture process.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: 0 on success, or a negative error code on failure.
bflb_timer_capture_get_latch_value(dev, gpio_lat)
Get the captured latch values.
Parameters:
dev:device handlegpio_lat:pointer to the structure where the latch values will be stored.
📎 Device name lookup: Supported Device Names (BL616)
Return value: 0 on success, or a negative error code on failure.
bflb_timer_capture_get_pulsewidth(gpio_lat)
Calculate the pulse width from the captured latch values.
Parameters:
gpio_lat:pointer to the structure containing the latch values.
Return value: The calculated pulse width, or 0 if the pulse width cannot be determined.
MTimer
bflb_mtimer_get_freq()
Get mtimer current frequence.
Return value: frequence
bflb_mtimer_delay_ms(time)
Mtimer delay with ms.
Parameters:
time:delay time
Return value: None
bflb_mtimer_delay_us(time)
Mtimer delay with us.
Parameters:
time:delay time
Return value: None
bflb_mtimer_get_time_us()
Get current mtimer time with us.
Return value: time with us
bflb_mtimer_get_time_ms()
Get current mtimer time with ms.
Return value: time with ms
bflb_mtimer_set_val(val)
Set the value of mtimer.
Parameters:
val:value of mtimer
Return value: None
Flash
bflb_flash_init()
Initialize flash.
Return value: Zero on success; a negated errno value on failure
bflb_flash_get_jedec_id()
Get flash jedec id.
Return value: uint32_t
bflb_flash_get_size()
get flash size
Return value: flash size
bflb_flash2_get_size()
get flash2 size
Return value: flash2 size
bflb_flash_get_cfg(cfg_addr, len)
Get flash config.
Parameters:
cfg_addr:pointer to save configlen:flash config size
Return value: None
bflb_flash_set_iomode(iomode)
Set flash iomode.
Parameters:
iomode:flash iomode, use @ref FLASH_IOMODE
Return value: None
bflb_flash_get_image_offset()
Get flash image offset.
Return value: flash image offset
bflb_flash_resource_lock(timeout_ms)
Acquire exclusive access to the flash/XIP resource. The weak default implementation returns -ENOSYS. A platform that defines CONFIG_DISABLE_FLASH_OP_IRQ_SAVE_RESTORE must override this hook. The hook, its complete call path, and all state accessed while flash XIP is unavailable must reside in RAM, PSRAM, or ROM. ISR implementations must not block. DMA users that access flash XIP must hold the same resource for the complete DMA transfer.
Parameters:
timeout_ms:maximum wait time in milliseconds, or
Return value: Zero on success; a negated errno value on failure
bflb_flash_resource_unlock()
Release exclusive access to the flash/XIP resource. This must be paired with a successful bflb_flash_resource_lock() call and released by an execution context permitted by the platform lock policy.
Return value: None
bflb_flash_erase(addr, len)
Erase flash with sectors.
Parameters:
addr:—len:—
Return value: Zero on success; a negated errno value on failure
bflb_flash_write(addr, data, len)
Write data into flash.
Parameters:
addr:flash physical addressdata:pointer to data bufferlen:length of data
Return value: Zero on success; a negated errno value on failure
bflb_flash_read(addr, data, len)
Read data from flash.
Parameters:
addr:flash physical addressdata:pointer to data bufferlen:length of data
Return value: Zero on success; a negated errno value on failure
bflb_flash_get_unique_id(data, id_len)
read flash unique id
Parameters:
data:—id_len:—
Return value: int
bflb_flash_set_cache(cont_read, cache_enable, cache_way_disable, flash_offset)
Config flash cache.
Parameters:
cont_read:enable or not continuous read mode.cache_enable:enable cache or notcache_way_disable:ways of cache to disableflash_offset:flash image offset
Return value: Zero on success; a negated errno value on failure
bflb_flash_aes_init(config)
Initialize flash aes controller.
Parameters:
config:pointer to flash aes config.
Return value: None
bflb_flash_aes_enable()
Enable flash decrypt with aes.
Return value: None
bflb_flash_aes_disable()
Disable flash decrypt with aes.
Return value: None
bflb_flash_jump_encrypted_app(index, flash_addr, len)
Initialize flash jump to encrypted app.
Parameters:
index:region indexflash_addr:flash physical address.len:firmware length.
Return value: None
bflb_flash_jump_app(flash_addr)
Jump to application in flash.
Parameters:
flash_addr:flash physical address.
Return value: None
RTC
bflb_rtc_disable(dev)
clear and disable rtc.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_rtc_set_time(dev, time)
Set rtc alarming time.
Parameters:
dev:device handletime:alarming time, unit is (1/32768 s)
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_rtc_get_time(dev)
Get rtc current time.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: current rtc running time
bflb_rtc_set_utc_time(time)
Set current utc time.
Parameters:
time:tm handle
Return value: None
bflb_rtc_get_utc_time(time)
Get current utc time.
Parameters:
time:tm handle
Return value: None
bflb_rtc_get_utc_timestamp()
Get current utc timestamp(s).
Return value: see the SDK header
IR
bflb_ir_tx_init(dev, config)
Initialize ir tx.
Parameters:
dev:device handleconfig:pointer to ir tx configure structure
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_send(dev, data, length)
Send data in NEC/RC5/customize mode.
Parameters:
dev:device handledata:data buffer to sendlength:length of data buffer
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_swm_send(dev, data, length)
Send data in software mode.
Parameters:
dev:device handledata:data data buffer to sendlength:length of data buffer
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_tx_enable(dev, enable)
Enable or disable ir tx.
Parameters:
dev:device handleenable:enable or disable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_txint_mask(dev, int_type, mask)
Mask or unmask ir tx interrupt.
Parameters:
dev:device handleint_type:ir tx interrupt type, use @ref IR_TX_INTENmask:mask or unmask
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_get_txint_status(dev)
Get ir tx interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: Ir tx interrupt status
bflb_ir_txint_clear(dev)
Clear ir tx interrupt.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_link_txdma(dev, enable)
Enable or disable ir tx dma mode.
Parameters:
dev:device handleenable:enable or disable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_get_txfifo_cnt(dev)
Get ir tx fifo available count.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: Ir tx fifo available count
bflb_ir_txfifo_clear(dev)
Clear ir tx fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_rx_init(dev, config)
Initialize ir rx.
Parameters:
dev:device handleconfig:config pointer to ir rx configure structure
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_receive(dev, data)
Receive data in NEC/RC5/customize mode.
Parameters:
dev:device handledata:data received
📎 Device name lookup: Supported Device Names (BL616)
Return value: Bit count of data received
bflb_ir_swm_receive(dev, data, length)
Receive data in software mode.
Parameters:
dev:device handledata:data buffer to receivelength:of data buffer
📎 Device name lookup: Supported Device Names (BL616)
Return value: Length of data received
bflb_ir_rx_enable(dev, enable)
Enable or disable ir rx.
Parameters:
dev:device handleenable:enable or disable
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_get_rxfifo_cnt(dev)
Get ir rx fifo available count.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: Ir rx fifo available count
bflb_ir_rxfifo_clear(dev)
Clear ir rx fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_rxint_mask(dev, int_type, mask)
Mask ir rx interrupt.
Parameters:
dev:device handleint_type:ir rx interrupt type, use @ref IR_RX_INTENmask:mask or unmask
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_get_rxint_status(dev)
Get ir rx interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: Ir rx interrupt status
bflb_ir_rxint_clear(dev)
Clear ir rx interrupt.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_ir_feature_control(dev, cmd, arg)
Control ir feature.
Parameters:
dev:device handlecmd:feature commandarg:user data
📎 Device name lookup: Supported Device Names (BL616)
Return value: A negated errno value on failure
CKS
bflb_cks_reset(dev)
Reset checksum module.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_cks_set_endian(dev, endian)
Set checksum bitorder.
Parameters:
dev:device handleendian:cks endian, use @ref CKS_ENDIAN
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_cks_compute(dev, data, length)
Compute data with checksum.
Parameters:
dev:device handledata:input data bufferlength:data length
📎 Device name lookup: Supported Device Names (BL616)
Return value: checksum value
eFuse
bflb_efuse_get_chipid(chipid)
Efuse read chipid
Parameters:
chipid:[8]: chip id buffer
Return value: 0 or -1
bflb_efuse_get_device_info(device_info)
Efuse read device info
Parameters:
device_info:: device info pointer
Return value: 0 or -1
bflb_efuse_read_mac_address(slot, mac, reload)
Efuse read optional MAC address
Parameters:
slot:: MAC address slotmac:[6]: MAC address bufferreload:: Whether reload
Return value: 0 or -1
bflb_efuse_is_mac_address_slot_empty(slot, reload)
Whether MAC address slot is empty
Parameters:
slot:: MAC address slotreload:: whether reload to check
Return value: 0 for all slots full,1 for others
bflb_efuse_write_mac_address_opt(slot, mac, program)
Efuse write optional MAC address
Parameters:
slot:: MAC address slotmac:[6]: MAC address bufferprogram:: Whether program
Return value: 0 or -1
bflb_efuse_read_mac_address_opt(slot, mac, reload)
Efuse read optional MAC address
Parameters:
slot:: MAC address slotmac:[6]: MAC address bufferreload:: Whether reload
Return value: 0 or -1
bflb_efuse_get_adc_vref_trim(dev)
Efuse read adc vref trim
Parameters:
dev:: ADC device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: vref trim value
bflb_efuse_get_adc_offset_trim(dev)
Efuse read adc offset trim
Parameters:
dev:: ADC device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: offset trim value
bflb_efuse_get_adc_gain_trim(dev)
Efuse read adc gain trim
Parameters:
dev:: ADC device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: coe
bflb_efuse_get_adc_trim(None)
Efuse read adc trim
Parameters:
None:—
Return value: coe
bflb_efuse_get_adc_tsen_trim(None)
Efuse read adc tsen trim
Parameters:
None:—
Return value: int
bflb_efuse_read_secure_boot(sign, aes)
Efuse read secure boot
Parameters:
sign:: sign typeaes:: aes type
Return value: None
bflb_efuse_enable_aes(aes_type, xts_mode)
Efuse write secure boot AES
Parameters:
aes_type:: aes typexts_mode:: xts type
Return value: 0 for success
bflb_efuse_rw_lock_aes_key(aes_type, xts_mode)
Efuse write AES key lock
Parameters:
aes_type:: aes typexts_mode:: xts type
Return value: 0 for success
bflb_efuse_rw_lock_dbg_key(rd_lock, wr_lock)
Efuse write dbg key lock
Parameters:
rd_lock:: read lockwr_lock:: write lock
Return value: 0 for success
bflb_efuse_write_lock_pk_hash(pkhash_len)
Efuse write public key hash lock
Parameters:
pkhash_len:: public key length
Return value: 0 for success
bflb_efuse_write_lock_usb_pid_vid(None)
Efuse write usb pid vid lock
Parameters:
None:—
Return value: 0 for success
SDIO
bflb_sdio2_init(dev, dnld_size_max)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_deinit(dev)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_dnld_port_push(dev, trans_desc)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_upld_port_push(dev, trans_desc)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_dnld_port_pop(dev, trans_desc)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_upld_port_pop(dev, trans_desc)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_feature_control(dev, cmd, arg)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_sdio2_irq_attach(dev, irq_event_cb, arg)
@}
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
WO
bflb_wo_pin_init(dev, pin, mode)
Initialize wo pin.
Parameters:
dev:device handlepin:assert this pin to womode:use @ref WO_MODE
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_init(dev, pin, mode)
Initialize wo.
Parameters:
dev:device handlepin:assert this pin to womode:use @ref WO_MODE
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_set_clk_div(dev, pin, mode)
Set wo clock divider. This API is only valid for BL616CL.
Parameters:
dev:device handlepin:assert this pin to womode:use @ref WO_MODE
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_enable(dev)
Enable wo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_disable(dev)
Disable wo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_get_fifo_available_cnt(dev)
Get the count of available space in fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: the count of available space in fifo
bflb_wo_push_fifo(dev, data, len)
Put len count of data on wo.
Parameters:
dev:device handledata:pointer to save send datalen:length to send
📎 Device name lookup: Supported Device Names (BL616)
Return value: count has been sent successfully.
bflb_wo_push_fifo_force(dev, data, len)
Put len count of data on wo.
Parameters:
dev:device handledata:pointer to save send datalen:length to send
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_clear_fifo(dev)
Clear wo fifo.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_enable_dma(dev)
Enable wo dma.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_disable_dma(dev)
Disable wo dma.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_get_int_status(dev)
Get wo interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: interrupt status, use @ref WO_INT
bflb_wo_int_mask(dev, int_type)
Disable or mask wo interrupt.
Parameters:
dev:device handleint_type:mask value, use @ref WO_INT
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_int_unmask(dev, int_type)
Enable or unmask wo interrupt.
Parameters:
dev:device handleint_type:unmask value, use @ref WO_INT
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_int_clear(dev, int_type)
Clear wo interrupt status.
Parameters:
dev:device handleint_type:clear value, use @ref WO_INT
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_uart_init(dev, baudrate, pin)
Initialize wo uart.
Parameters:
dev:device handlebaudrate:baudrate of uartpin:pin assert to uart_tx
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_uart_putchar(dev, ch)
Put one char on wo uart.
Parameters:
dev:device handlech:char
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wo_uart_put(dev, ch)
Put a block of data on wo uart. This is a poll api.
Parameters:
dev:device handlech:char
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
WDG
bflb_wdg_init(dev, config)
Initialize watchdog.
Parameters:
dev:device handleconfig:pointer to save watchdog config
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wdg_start(dev)
Start watchdog.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wdg_stop(dev)
Stop watchdog.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wdg_get_countervalue(dev)
Get watchdog counter value.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: counter value
bflb_wdg_set_countervalue(dev, counter)
Set watchdog counter value.
Parameters:
dev:device handlecounter:value
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wdg_reset_countervalue(dev)
Reset watchdog counter value.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
bflb_wdg_compint_clear(dev)
Clear watchdog compare interrupt status.
Parameters:
dev:device handle
📎 Device name lookup: Supported Device Names (BL616)
Return value: None
L1 Cache
bflb_l1c_icache_enable()
Enable the instruction cache (I-Cache)
Return value: None
bflb_l1c_icache_disable()
Disable the instruction cache
Return value: None
bflb_l1c_icache_invalid_all()
Invalidate the whole instruction cache
Return value: None
bflb_l1c_icache_invalid_range(addr, size)
Invalidate an instruction cache address range
Parameters:
addr:—size:—
Return value: None
bflb_l1c_dcache_enable()
Enable the data cache (D-Cache)
Return value: None
bflb_l1c_dcache_disable()
Clean-invalidate and disable the data cache
Return value: None
bflb_l1c_dcache_clean_all()
Write back the whole data cache to memory
Return value: None
bflb_l1c_dcache_invalidate_all()
Invalidate the whole data cache
Return value: None
bflb_l1c_dcache_clean_invalidate_all()
Clean and invalidate the whole data cache
Return value: None
bflb_l1c_dcache_clean_range(addr, size)
Write back a data cache address range
Parameters:
addr:—size:—
Return value: None
bflb_l1c_dcache_invalidate_range(addr, size)
Invalidate a data cache address range
Parameters:
addr:—size:—
Return value: None
bflb_l1c_dcache_clean_invalidate_range(addr, size)
Clean and invalidate a data cache range
Parameters:
addr:—size:—
Return value: None
bflb_l1c_hit_count_get(addr, size)
Read the cache hit counter
Parameters:
addr:—size:—
Return value: None
bflb_l1c_miss_count_get(addr, size)
Read the cache miss counter
Parameters:
addr:—size:—
Return value: see the SDK header
bflb_l1c_cache_write_set(addr, size)
Set the cache write policy (write-through/write-back/write-allocate)
Parameters:
addr:—size:—
Return value: None
Ethernet EMAC
bflb_emac_init(dev, config)
Initialize the Ethernet MAC (common entry)
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_deinit(dev)
Deinitialize the Ethernet MAC
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_queue_tx_push(dev, tx_desc)
Push data into the MAC transmit queue
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_queue_rx_push(dev, rx_desc)
Push data into the MAC receive queue
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_md_read(dev, phy_addr, reg_addr, data)
Read a PHY management (MDIO) register
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_md_write(dev, phy_addr, reg_addr, data)
Write a PHY management (MDIO) register
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_bd_ctrl_clean(dev)
Clean the Ethernet descriptor control state
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_feature_control(dev, cmd, arg)
Ethernet MAC extended control command
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
bflb_emac_irq_attach(dev, irq_event_cb, arg)
Attach the Ethernet MAC interrupt callback
📎 Device name lookup: Supported Device Names (BL616)
Return value: see the SDK header
Have questions?
For any other questions, visit the unified Q&A and discussion board: Ai-Thinker Discussions

