37#ifndef DRIVER_VS1053B_H
38#define DRIVER_VS1053B_H
62#ifndef VS1053B_BUFFER_SIZE
63 #define VS1053B_BUFFER_SIZE 512
69#if VS1053B_BUFFER_SIZE < 512
70 #error "VS1053B_BUFFER_SIZE < 512"
76#ifndef VS1053B_OGG_VENC08K1Q00
77 #define VS1053B_OGG_VENC08K1Q00 0
83#ifndef VS1053B_OGG_VENC08K1Q01
84 #define VS1053B_OGG_VENC08K1Q01 0
90#ifndef VS1053B_OGG_VENC08K1Q02
91 #define VS1053B_OGG_VENC08K1Q02 0
97#ifndef VS1053B_OGG_VENC08K1Q03
98 #define VS1053B_OGG_VENC08K1Q03 0
104#ifndef VS1053B_OGG_VENC08K1Q04
105 #define VS1053B_OGG_VENC08K1Q04 0
111#ifndef VS1053B_OGG_VENC08K1Q05
112 #define VS1053B_OGG_VENC08K1Q05 0
118#ifndef VS1053B_OGG_VENC08K1Q06
119 #define VS1053B_OGG_VENC08K1Q06 0
125#ifndef VS1053B_OGG_VENC08K1Q07
126 #define VS1053B_OGG_VENC08K1Q07 0
132#ifndef VS1053B_OGG_VENC08K1Q08
133 #define VS1053B_OGG_VENC08K1Q08 0
139#ifndef VS1053B_OGG_VENC08K1Q09
140 #define VS1053B_OGG_VENC08K1Q09 0
146#ifndef VS1053B_OGG_VENC08K1Q10
147 #define VS1053B_OGG_VENC08K1Q10 0
153#ifndef VS1053B_OGG_VENC16K1Q00
154 #define VS1053B_OGG_VENC16K1Q00 0
160#ifndef VS1053B_OGG_VENC16K1Q01
161 #define VS1053B_OGG_VENC16K1Q01 0
167#ifndef VS1053B_OGG_VENC16K1Q02
168 #define VS1053B_OGG_VENC16K1Q02 0
174#ifndef VS1053B_OGG_VENC16K1Q03
175 #define VS1053B_OGG_VENC16K1Q03 0
181#ifndef VS1053B_OGG_VENC16K1Q04
182 #define VS1053B_OGG_VENC16K1Q04 0
188#ifndef VS1053B_OGG_VENC16K1Q05
189 #define VS1053B_OGG_VENC16K1Q05 0
195#ifndef VS1053B_OGG_VENC16K1Q06
196 #define VS1053B_OGG_VENC16K1Q06 0
202#ifndef VS1053B_OGG_VENC16K1Q07
203 #define VS1053B_OGG_VENC16K1Q07 0
209#ifndef VS1053B_OGG_VENC16K1Q08
210 #define VS1053B_OGG_VENC16K1Q08 0
216#ifndef VS1053B_OGG_VENC16K1Q09
217 #define VS1053B_OGG_VENC16K1Q09 0
223#ifndef VS1053B_OGG_VENC16K1Q10
224 #define VS1053B_OGG_VENC16K1Q10 0
230#ifndef VS1053B_OGG_VENC16K2Q00
231 #define VS1053B_OGG_VENC16K2Q00 0
237#ifndef VS1053B_OGG_VENC16K2Q01
238 #define VS1053B_OGG_VENC16K2Q01 0
244#ifndef VS1053B_OGG_VENC16K2Q02
245 #define VS1053B_OGG_VENC16K2Q02 0
251#ifndef VS1053B_OGG_VENC16K2Q03
252 #define VS1053B_OGG_VENC16K2Q03 0
258#ifndef VS1053B_OGG_VENC16K2Q04
259 #define VS1053B_OGG_VENC16K2Q04 0
265#ifndef VS1053B_OGG_VENC16K2Q05
266 #define VS1053B_OGG_VENC16K2Q05 0
272#ifndef VS1053B_OGG_VENC16K2Q06
273 #define VS1053B_OGG_VENC16K2Q06 0
279#ifndef VS1053B_OGG_VENC16K2Q07
280 #define VS1053B_OGG_VENC16K2Q07 0
286#ifndef VS1053B_OGG_VENC16K2Q08
287 #define VS1053B_OGG_VENC16K2Q08 0
293#ifndef VS1053B_OGG_VENC16K2Q09
294 #define VS1053B_OGG_VENC16K2Q09 0
300#ifndef VS1053B_OGG_VENC16K2Q10
301 #define VS1053B_OGG_VENC16K2Q10 0
307#ifndef VS1053B_OGG_VENC44K1Q00
308 #define VS1053B_OGG_VENC44K1Q00 0
314#ifndef VS1053B_OGG_VENC44K1Q01
315 #define VS1053B_OGG_VENC44K1Q01 0
321#ifndef VS1053B_OGG_VENC44K1Q02
322 #define VS1053B_OGG_VENC44K1Q02 0
328#ifndef VS1053B_OGG_VENC44K1Q03
329 #define VS1053B_OGG_VENC44K1Q03 0
335#ifndef VS1053B_OGG_VENC44K1Q04
336 #define VS1053B_OGG_VENC44K1Q04 0
342#ifndef VS1053B_OGG_VENC44K1Q05
343 #define VS1053B_OGG_VENC44K1Q05 0
349#ifndef VS1053B_OGG_VENC44K2Q00
350 #define VS1053B_OGG_VENC44K2Q00 0
356#ifndef VS1053B_OGG_VENC44K2Q01
357 #define VS1053B_OGG_VENC44K2Q01 0
363#ifndef VS1053B_OGG_VENC44K2Q02
364 #define VS1053B_OGG_VENC44K2Q02 0
370#ifndef VS1053B_OGG_VENC44K2Q03
371 #define VS1053B_OGG_VENC44K2Q03 0
377#ifndef VS1053B_OGG_VENC44K2Q04
378 #define VS1053B_OGG_VENC44K2Q04 0
384#ifndef VS1053B_OGG_VENC44K2Q05
385 #define VS1053B_OGG_VENC44K2Q05 1
391#define VS1053B_AICTRL3_MODE_IMA ADPCM (0 << 2)
392#define VS1053B_AICTRL3_MODE_LINEAR_PCM (1 << 2)
393#define VS1053B_AICTRL3_ADC_JOINT_STEREO (0 << 0)
394#define VS1053B_AICTRL3_ADC_DUAL_CHANNEL (1 << 0)
395#define VS1053B_AICTRL3_ADC_LEFT_CHANNEL (2 << 0)
396#define VS1053B_AICTRL3_ADC_RIGHT_CHANNEL (3 << 0)
735#define DRIVER_VS1053B_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
743#define DRIVER_VS1053B_LINK_SPI_CMD_INIT(HANDLE, FUC) (HANDLE)->spi_cmd_init = FUC
751#define DRIVER_VS1053B_LINK_SPI_CMD_DEINIT(HANDLE, FUC) (HANDLE)->spi_cmd_deinit = FUC
759#define DRIVER_VS1053B_LINK_SPI_READ_ADDRESS16(HANDLE, FUC) (HANDLE)->spi_cmd_read_address16 = FUC
767#define DRIVER_VS1053B_LINK_SPI_WRITE_ADDRESS16(HANDLE, FUC) (HANDLE)->spi_cmd_write_address16 = FUC
775#define DRIVER_VS1053B_LINK_SPI_DAT_INIT(HANDLE, FUC) (HANDLE)->spi_dat_init = FUC
783#define DRIVER_VS1053B_LINK_SPI_DAT_DEINIT(HANDLE, FUC) (HANDLE)->spi_dat_deinit = FUC
791#define DRIVER_VS1053B_LINK_SPI_DAT_WRITE_CMD(HANDLE, FUC) (HANDLE)->spi_dat_write_cmd = FUC
799#define DRIVER_VS1053B_LINK_RESET_GPIO_INIT(HANDLE, FUC) (HANDLE)->reset_gpio_init = FUC
807#define DRIVER_VS1053B_LINK_RESET_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->reset_gpio_deinit = FUC
815#define DRIVER_VS1053B_LINK_RESET_GPIO_WRITE(HANDLE, FUC) (HANDLE)->reset_gpio_write = FUC
823#define DRIVER_VS1053B_LINK_DREQ_GPIO_INIT(HANDLE, FUC) (HANDLE)->dreq_gpio_init = FUC
831#define DRIVER_VS1053B_LINK_DREQ_GPIO_DEINIT(HANDLE, FUC) (HANDLE)->dreq_gpio_deinit = FUC
839#define DRIVER_VS1053B_LINK_DREQ_GPIO_READ(HANDLE, FUC) (HANDLE)->dreq_gpio_read = FUC
847#define DRIVER_VS1053B_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
855#define DRIVER_VS1053B_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
863#define DRIVER_VS1053B_LINK_RECEIVE_CALLBACK(HANDLE, FUC) (HANDLE)->receive_callback = FUC
871#define DRIVER_VS1053B_LINK_AUDIO_INIT(HANDLE, FUC) (HANDLE)->audio_init = FUC
879#define DRIVER_VS1053B_LINK_AUDIO_DEINIT(HANDLE, FUC) (HANDLE)->audio_deinit = FUC
887#define DRIVER_VS1053B_LINK_AUDIO_READ(HANDLE, FUC) (HANDLE)->audio_read = FUC
895#define DRIVER_VS1053B_LINK_AUDIO_WRITE(HANDLE, FUC) (HANDLE)->audio_write = FUC
903#define DRIVER_VS1053B_LINK_TIMESTAMP_READ(HANDLE, FUC) (HANDLE)->timestamp_read = FUC
uint8_t vs1053b_get_version(vs1053b_handle_t *handle, uint8_t *version)
get version
uint8_t vs1053b_set_iis_mclk(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable iis mclk
uint8_t vs1053b_parse_info(vs1053b_handle_t *handle, uint16_t dat0, uint16_t dat1, vs1053b_audio_info_t *info)
parse info
uint8_t vs1053b_set_swing(vs1053b_handle_t *handle, uint8_t swing)
set swing
uint8_t vs1053b_get_overload_indicator(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get overload indicator status
uint8_t vs1053b_set_treble_control(vs1053b_handle_t *handle, uint8_t db)
set treble control
uint8_t vs1053b_set_ad_clock(vs1053b_handle_t *handle, vs1053b_ad_clock_t ad_clock)
set ad clock
uint8_t vs1053b_set_clock_multiplier(vs1053b_handle_t *handle, vs1053b_clock_multiplier_t multiplier)
set clock multiplier
uint8_t vs1053b_get_diff(vs1053b_handle_t *handle, vs1053b_diff_t *diff)
get the audio differential
uint8_t vs1053b_get_lower_limit_frequency_in_1000_hz(vs1053b_handle_t *handle, uint8_t *step)
get lower limit frequency in 1000 hz
uint8_t vs1053b_set_reference_voltage(vs1053b_handle_t *handle, vs1053b_reference_voltage_t voltage)
set reference voltage
uint8_t vs1053b_set_period_callback(vs1053b_handle_t *handle, uint32_t second, uint32_t microsecond, vs1053b_bool_t enable)
set period callback
uint8_t vs1053b_get_end_fill_byte(vs1053b_handle_t *handle, uint16_t *byte)
get end fill byte
uint8_t vs1053b_get_iis(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get iis status
uint8_t vs1053b_get_ear_speaker_high_setting(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get ear speaker high setting status
uint8_t vs1053b_set_analog_internal_power_down(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable analog internal power down
uint8_t vs1053b_vol_convert_to_data(vs1053b_handle_t *handle, uint8_t reg, float *db)
convert the register raw data to vol
uint8_t vs1053b_get_allow_sdi_test(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get allow sdi test status
uint8_t vs1053b_swing_convert_to_register(vs1053b_handle_t *handle, float db, uint8_t *reg)
convert the swing to the register raw data
uint8_t vs1053b_set_lower_limit_frequency_in_10_hz(vs1053b_handle_t *handle, uint8_t step)
set lower limit frequency in 10 hz
uint8_t vs1053b_stop(vs1053b_handle_t *handle)
stop audio
uint8_t vs1053b_set_vol(vs1053b_handle_t *handle, uint8_t left, uint8_t right)
set vol
uint8_t vs1053b_lower_limit_frequency_in_1000_hz_convert_to_register(vs1053b_handle_t *handle, uint32_t hz, uint8_t *reg)
convert the lower limit frequency in 1000 hz to the register raw data
uint8_t vs1053b_get_lower_limit_frequency_in_10_hz(vs1053b_handle_t *handle, uint8_t *step)
get lower limit frequency in 10 hz
uint8_t vs1053b_read_ram(vs1053b_handle_t *handle, uint8_t *buf, uint16_t len)
read ram
vs1053b_type_t
vs1053b type enumeration definition
uint8_t vs1053b_get_play_speed(vs1053b_handle_t *handle, vs1053b_play_speed_t *speed)
get play speed
uint8_t vs1053b_process(vs1053b_handle_t *handle)
audio process
uint8_t vs1053b_set_selector(vs1053b_handle_t *handle, vs1053b_selector_t selector)
set selector
uint8_t vs1053b_clock_frequency_convert_to_register(vs1053b_handle_t *handle, float hz, uint16_t *reg)
convert the clock frequency to the register raw data
uint8_t vs1053b_get_gpio_output(vs1053b_handle_t *handle, uint16_t *data)
get gpio output
uint8_t vs1053b_get_pcm_adpcm_recording_active(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get pcm adpcm recording active status
uint8_t vs1053b_set_do_not_jump(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable do not jump
uint8_t vs1053b_get_stream_mode(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get stream mode status
vs1053b_ad_clock_t
vs1053b ad clock enumeration definition
uint8_t vs1053b_get_mpeg_layer_i_and_ii(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get mpeg layer i and ii status
uint8_t vs1053b_get_bass_enhancement(vs1053b_handle_t *handle, uint8_t *db)
get bass enhancement
uint8_t vs1053b_get_clock_frequency(vs1053b_handle_t *handle, uint16_t *clk)
get clock frequency
uint8_t vs1053b_get_period_callback(vs1053b_handle_t *handle, uint32_t *second, uint32_t *microsecond, vs1053b_bool_t *enable)
get period callback
vs1053b_reference_voltage_t
vs1053b reference voltage enumeration definition
vs1053b_bit_order_t
vs1053b bit order enumeration definition
vs1053b_format_t
vs1053b format enumeration definition
vs1053b_allowed_multiplier_addition_t
vs1053b allowed multiplier addition enumeration definition
uint8_t vs1053b_get_clock_multiplier(vs1053b_handle_t *handle, vs1053b_clock_multiplier_t *multiplier)
get clock multiplier
vs1053b_diff_t
vs1053b diff enumeration definition
uint8_t vs1053b_get_gpio_direction(vs1053b_handle_t *handle, uint16_t *mask)
get gpio direction
uint8_t vs1053b_set_sample_rate(vs1053b_handle_t *handle, uint16_t rate, vs1053b_channel_t channel)
set sample rate
vs1053b_bool_t
vs1053b bool enumeration definition
uint8_t vs1053b_set_decode_time(vs1053b_handle_t *handle, uint16_t decode_time)
set decode time
uint8_t vs1053b_get_hdata0(vs1053b_handle_t *handle, uint16_t *dat0)
get hdata0
vs1053b_selector_t
vs1053b selector enumeration definition
uint8_t vs1053b_set_gpio_direction(vs1053b_handle_t *handle, uint16_t mask)
set gpio direction
uint8_t vs1053b_get_gpio_input(vs1053b_handle_t *handle, uint16_t *data)
get gpio input
uint8_t vs1053b_get_share_spi_chip_select(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get share spi chip select status
uint8_t vs1053b_get_soft_reset(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get soft reset status
uint8_t vs1053b_set_native_spi_modes(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable native spi modes
uint8_t vs1053b_get_selector(vs1053b_handle_t *handle, vs1053b_selector_t *selector)
get selector
uint8_t vs1053b_init(vs1053b_handle_t *handle)
initialize the chip
uint8_t vs1053b_set_cancel_decoding_current_file(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable cancel decoding current file
vs1053b_patch_t
vs1053b patch enumeration definition
uint8_t vs1053b_set_start_address(vs1053b_handle_t *handle, uint16_t addr)
set start address
uint8_t vs1053b_get_swing(vs1053b_handle_t *handle, uint8_t *swing)
get swing
vs1053b_dclk_edge_t
vs1053b dclk edge enumeration definition
uint8_t vs1053b_set_stream_mode(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable stream mode
uint8_t vs1053b_get_allowed_multiplier_addition(vs1053b_handle_t *handle, vs1053b_allowed_multiplier_addition_t *addition)
get allowed multiplier addition
uint8_t vs1053b_get_decode_time(vs1053b_handle_t *handle, uint16_t *decode_time)
get decode time
uint8_t vs1053b_get_treble_control(vs1053b_handle_t *handle, uint8_t *db)
get treble control
uint8_t vs1053b_set_iis_rate(vs1053b_handle_t *handle, vs1053b_iis_rate_t iis_rate)
set iis rate
uint8_t vs1053b_read_application(vs1053b_handle_t *handle, vs1053b_application_t num, uint8_t *buf, uint16_t len)
read application
uint8_t vs1053b_write_application(vs1053b_handle_t *handle, vs1053b_application_t num, uint8_t *buf, uint16_t len)
write application
#define VS1053B_BUFFER_SIZE
vs1053b buffer size definition
uint8_t vs1053b_set_dclk_edge(vs1053b_handle_t *handle, vs1053b_dclk_edge_t edge)
set dclk edge
uint8_t vs1053b_get_dclk_edge(vs1053b_handle_t *handle, vs1053b_dclk_edge_t *edge)
get dclk edge
uint8_t vs1053b_set_analog_driver_power_down(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable analog driver power down
uint8_t vs1053b_set_play_speed(vs1053b_handle_t *handle, vs1053b_play_speed_t speed)
set play speed
uint8_t vs1053b_set_pcm_adpcm_recording_active(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable pcm adpcm recording active
uint8_t vs1053b_set_clock_frequency(vs1053b_handle_t *handle, uint16_t clk)
set clock frequency
uint8_t vs1053b_lower_limit_frequency_in_1000_hz_convert_to_data(vs1053b_handle_t *handle, uint8_t reg, uint32_t *hz)
convert the register raw data to the lower limit frequency in 1000 hz
uint8_t vs1053b_hard_reset(vs1053b_handle_t *handle)
hard reset
uint8_t vs1053b_get_iis_mclk(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get iis mclk status
uint8_t vs1053b_get_analog_internal_power_down(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get analog internal power down status
vs1053b_clock_range_t
vs1053b clock range enumeration definition
uint8_t vs1053b_set_ear_speaker_low_setting(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable ear speaker low setting
uint8_t vs1053b_clock_frequency_convert_to_data(vs1053b_handle_t *handle, uint16_t reg, float *hz)
convert the register raw data to the clock frequency
uint8_t vs1053b_set_record_format(vs1053b_handle_t *handle, vs1053b_record_format_t format)
set record format
uint8_t vs1053b_set_clock_range(vs1053b_handle_t *handle, vs1053b_clock_range_t range)
set clock range
uint8_t vs1053b_get_patch(vs1053b_handle_t *handle, vs1053b_patch_t type, const uint16_t **patch_addr, uint16_t *len)
get patch info
uint8_t vs1053b_set_diff(vs1053b_handle_t *handle, vs1053b_diff_t diff)
set the audio differential
uint8_t vs1053b_get_do_not_jump(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get do not jump status
uint8_t vs1053b_get_cancel_decoding_current_file(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get cancel decoding current file status
uint8_t vs1053b_get_overload_detection(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get overload detection status
uint8_t vs1053b_get_record_format(vs1053b_handle_t *handle, vs1053b_record_format_t *format)
get record format
uint8_t vs1053b_set_ear_speaker_high_setting(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable ear speaker high setting
uint8_t vs1053b_treble_control_convert_to_data(vs1053b_handle_t *handle, uint8_t reg, float *db)
convert the register raw data to the treble control
uint8_t vs1053b_set_share_spi_chip_select(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable share spi chip select
uint8_t vs1053b_vol_convert_to_register(vs1053b_handle_t *handle, float db, uint8_t *reg)
convert vol to the register raw data
uint8_t vs1053b_set_soft_reset(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable soft reset
vs1053b_application_t
vs1053b application enumeration definition
uint8_t vs1053b_get_reference_voltage(vs1053b_handle_t *handle, vs1053b_reference_voltage_t *voltage)
get reference voltage
uint8_t vs1053b_lower_limit_frequency_in_10_hz_convert_to_data(vs1053b_handle_t *handle, uint8_t reg, uint32_t *hz)
convert the register raw data to the lower limit frequency in 10 hz
uint8_t vs1053b_get_analog_driver_power_down(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get analog driver power down status
uint8_t vs1053b_set_ram_address(vs1053b_handle_t *handle, uint16_t addr)
set ram address
vs1053b_record_format_t
vs1053b record format enumeration definition
uint8_t vs1053b_set_overload_indicator(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable overload indicator
struct vs1053b_handle_s vs1053b_handle_t
vs1053b handle structure definition
vs1053b_play_speed_t
vs1053b play speed enumeration definition
uint8_t vs1053b_set_allow_sdi_test(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable allow sdi test
uint8_t vs1053b_get_sdi_bit_order(vs1053b_handle_t *handle, vs1053b_bit_order_t *order)
get sdi bit order
uint8_t vs1053b_set_overload_detection(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable overload detection
uint8_t vs1053b_treble_control_convert_to_register(vs1053b_handle_t *handle, float db, uint8_t *reg)
convert the treble control to the register raw data
struct vs1053b_audio_info_s vs1053b_audio_info_t
vs1053b audio info structure definition
uint8_t vs1053b_deinit(vs1053b_handle_t *handle)
deinit the chip
vs1053b_iis_rate_t
vs1053b iis rate enumeration definition
uint8_t vs1053b_set_iis(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable iis
struct vs1053b_wav_s vs1053b_wav_t
vs1053b wav structure definition
uint8_t vs1053b_set_allowed_multiplier_addition(vs1053b_handle_t *handle, vs1053b_allowed_multiplier_addition_t addition)
set allowed multiplier addition
uint8_t vs1053b_set_sdi_bit_order(vs1053b_handle_t *handle, vs1053b_bit_order_t order)
set sdi bit order
uint8_t vs1053b_get_start_address(vs1053b_handle_t *handle, uint16_t *addr)
get start address
struct vs1053b_info_s vs1053b_info_t
vs1053b information structure definition
uint8_t vs1053b_set_gpio_output(vs1053b_handle_t *handle, uint16_t data)
set gpio output
uint8_t vs1053b_get_vol(vs1053b_handle_t *handle, uint8_t *left, uint8_t *right)
get vol
vs1053b_clock_multiplier_t
vs1053b clock multiplier enumeration definition
uint8_t vs1053b_get_iis_rate(vs1053b_handle_t *handle, vs1053b_iis_rate_t *iis_rate)
get iis rate
uint8_t vs1053b_get_ad_clock(vs1053b_handle_t *handle, vs1053b_ad_clock_t *ad_clock)
get ad clock
uint8_t vs1053b_info(vs1053b_info_t *info)
get chip's information
uint8_t vs1053b_get_byte_rate(vs1053b_handle_t *handle, uint16_t *rate)
get byte rate
uint8_t vs1053b_get_hdata(vs1053b_handle_t *handle, uint16_t *dat0, uint16_t *dat1)
get hdata
uint8_t vs1053b_record(vs1053b_handle_t *handle, char *path, uint32_t sample_rate)
record audio
uint8_t vs1053b_play(vs1053b_handle_t *handle, char *path)
play audio
uint8_t vs1053b_load_patch(vs1053b_handle_t *handle, const uint16_t *patch, uint16_t len)
load patch
uint8_t vs1053b_pause(vs1053b_handle_t *handle)
pause audio
uint8_t vs1053b_write_ram(vs1053b_handle_t *handle, uint8_t *buf, uint16_t len)
write ram
uint8_t vs1053b_get_hdata1(vs1053b_handle_t *handle, uint16_t *dat1)
get hdata1
vs1053b_channel_t
vs1053b channel enumeration definition
uint8_t vs1053b_get_native_spi_modes(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get native spi modes status
uint8_t vs1053b_set_bass_enhancement(vs1053b_handle_t *handle, uint8_t db)
set bass enhancement
uint8_t vs1053b_set_lower_limit_frequency_in_1000_hz(vs1053b_handle_t *handle, uint8_t step)
set lower limit frequency in 1000 hz
uint8_t vs1053b_get_sample_rate(vs1053b_handle_t *handle, uint16_t *rate, vs1053b_channel_t *channel)
get sample rate
uint8_t vs1053b_swing_convert_to_data(vs1053b_handle_t *handle, uint8_t reg, float *db)
convert the register raw data to the swing
uint8_t vs1053b_set_mpeg_layer_i_and_ii(vs1053b_handle_t *handle, vs1053b_bool_t enable)
enable or disable mpeg layer i and ii
uint8_t vs1053b_get_ear_speaker_low_setting(vs1053b_handle_t *handle, vs1053b_bool_t *enable)
get ear speaker low setting status
uint8_t vs1053b_get_clock_range(vs1053b_handle_t *handle, vs1053b_clock_range_t *range)
get clock range
uint8_t vs1053b_lower_limit_frequency_in_10_hz_convert_to_register(vs1053b_handle_t *handle, uint32_t hz, uint8_t *reg)
convert the lower limit frequency in 10 hz to the register raw data
@ VS1053B_TYPE_PLAY_WRITE
@ VS1053B_TYPE_RECORD_END
@ VS1053B_TYPE_RECORD_READ
@ VS1053B_TYPE_RECORD_WRITE
@ VS1053B_TYPE_RECORD_OVER
@ VS1053B_REFERENCE_VOLTAGE_1P23V
@ VS1053B_REFERENCE_VOLTAGE_1P65V
@ VS1053B_BIT_ORDER_MSB_LAST
@ VS1053B_BIT_ORDER_MSB_FIRST
@ VS1053B_FORMAT_AAC_ADTS
@ VS1053B_FORMAT_AAC_ADIF
@ VS1053B_ALLOWED_MULTIPLIER_ADDITION_NONE
@ VS1053B_ALLOWED_MULTIPLIER_ADDITION_1P0_XTALI
@ VS1053B_ALLOWED_MULTIPLIER_ADDITION_2P0_XTALI
@ VS1053B_ALLOWED_MULTIPLIER_ADDITION_1P5_XTALI
@ VS1053B_DIFF_LEFT_INVERTED
@ VS1053B_PATCH_OGG_VENC16K1Q07
@ VS1053B_PATCH_OGG_VENC16K2Q09
@ VS1053B_PATCH_OGG_VENC44K1Q03
@ VS1053B_PATCH_OGG_VENC16K1Q04
@ VS1053B_PATCH_OGG_VENC44K1Q05
@ VS1053B_PATCH_OGG_VENC16K2Q05
@ VS1053B_PATCH_OGG_VENC16K2Q07
@ VS1053B_PATCH_OGG_VENC16K1Q09
@ VS1053B_PATCH_OGG_VENC44K2Q04
@ VS1053B_PATCH_OGG_VENC16K1Q06
@ VS1053B_PATCH_OGG_VENC08K1Q10
@ VS1053B_PATCH_OGG_VENC08K1Q03
@ VS1053B_PATCH_OGG_VENC44K2Q01
@ VS1053B_PATCH_OGG_VENC16K1Q02
@ VS1053B_PATCH_OGG_VENC16K1Q05
@ VS1053B_PATCH_OGG_VENC44K2Q03
@ VS1053B_PATCH_OGG_VENC08K1Q05
@ VS1053B_PATCH_OGG_VENC16K2Q02
@ VS1053B_PATCH_OGG_VENC08K1Q01
@ VS1053B_PATCH_OGG_VENC16K1Q08
@ VS1053B_PATCH_OGG_VENC44K2Q02
@ VS1053B_PATCH_OGG_VENC16K2Q10
@ VS1053B_PATCH_OGG_VENC44K2Q05
@ VS1053B_PATCH_OGG_VENC08K1Q09
@ VS1053B_PATCH_OGG_VENC44K1Q04
@ VS1053B_PATCH_OGG_VENC16K2Q04
@ VS1053B_PATCH_OGG_VENC44K1Q02
@ VS1053B_PATCH_OGG_VENC44K1Q01
@ VS1053B_PATCH_OGG_VENC16K2Q08
@ VS1053B_PATCH_OGG_VENC08K1Q07
@ VS1053B_PATCH_OGG_VENC16K1Q00
@ VS1053B_PATCH_OGG_VENC16K2Q00
@ VS1053B_PATCH_OGG_VENC08K1Q08
@ VS1053B_PATCH_OGG_VENC44K2Q00
@ VS1053B_PATCH_OGG_VENC16K1Q10
@ VS1053B_PATCH_OGG_VENC16K2Q01
@ VS1053B_PATCH_OGG_VENC08K1Q00
@ VS1053B_PATCH_OGG_VENC16K1Q01
@ VS1053B_PATCH_OGG_VENC44K1Q00
@ VS1053B_PATCH_OGG_VENC08K1Q02
@ VS1053B_PATCH_OGG_VENC08K1Q06
@ VS1053B_PATCH_OGG_VENC08K1Q04
@ VS1053B_PATCH_OGG_VENC16K1Q03
@ VS1053B_PATCH_OGG_VENC16K2Q06
@ VS1053B_PATCH_OGG_VENC16K2Q03
@ VS1053B_DCLK_EDGE_RISING
@ VS1053B_DCLK_EDGE_FALLING
@ VS1053B_CLOCK_RANGE_12MHZ_13MHZ
@ VS1053B_CLOCK_RANGE_24MHZ_26MHZ
@ VS1053B_RECORD_FORMAT_OGG
@ VS1053B_RECORD_FORMAT_WAV
@ VS1053B_PLAY_SPEED_2P0_X
@ VS1053B_PLAY_SPEED_1P0_X
@ VS1053B_PLAY_SPEED_3P0_X
@ VS1053B_IIS_RATE_192KHZ
@ VS1053B_CLOCK_MULTIPLIER_1P0_XTALI
@ VS1053B_CLOCK_MULTIPLIER_2P5_XTALI
@ VS1053B_CLOCK_MULTIPLIER_3P0_XTALI
@ VS1053B_CLOCK_MULTIPLIER_2P0_XTALI
@ VS1053B_CLOCK_MULTIPLIER_3P5_XTALI
@ VS1053B_CLOCK_MULTIPLIER_4P5_XTALI
@ VS1053B_CLOCK_MULTIPLIER_5P0_XTALI
@ VS1053B_CLOCK_MULTIPLIER_4P0_XTALI
uint8_t vs1053b_set_data(vs1053b_handle_t *handle, uint8_t *buf, uint16_t len)
set chip data
uint8_t vs1053b_get_reg(vs1053b_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
get the chip register
uint8_t vs1053b_set_reg(vs1053b_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
set the chip register
vs1053b audio info structure definition
vs1053b handle structure definition
uint8_t(* spi_dat_deinit)(void)
void(* timestamp_read)(uint32_t *sec, uint32_t *us)
uint8_t(* spi_cmd_write_address16)(uint16_t addr, uint8_t *buf, uint16_t len)
uint8_t(* dreq_gpio_init)(void)
uint8_t(* spi_dat_write_cmd)(uint8_t *buf, uint16_t len)
uint8_t(* spi_cmd_deinit)(void)
uint8_t buf[VS1053B_BUFFER_SIZE]
uint8_t(* spi_cmd_init)(void)
void(* delay_ms)(uint32_t ms)
uint8_t(* spi_cmd_read_address16)(uint16_t addr, uint8_t *buf, uint16_t len)
void(* receive_callback)(uint8_t type, uint32_t cur_pos)
uint8_t(* reset_gpio_deinit)(void)
void(* debug_print)(const char *const fmt,...)
uint8_t(* audio_init)(uint8_t type, char *name, uint32_t *size)
uint8_t(* audio_read)(uint32_t addr, uint16_t size, uint8_t *buffer)
uint8_t(* reset_gpio_init)(void)
uint8_t(* spi_dat_init)(void)
uint8_t(* dreq_gpio_deinit)(void)
uint8_t(* dreq_gpio_read)(uint8_t *data)
uint8_t(* reset_gpio_write)(uint8_t data)
uint8_t(* audio_deinit)(void)
uint8_t plugin_patch_type
uint8_t(* audio_write)(uint32_t addr, uint16_t size, uint8_t *buffer)
vs1053b information structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v
vs1053b wav structure definition