LibDriver VS1053B
Loading...
Searching...
No Matches
driver_vs1053b.h File Reference

driver vs1053b header file More...

#include <stdio.h>
#include <stdint.h>
#include <string.h>
Include dependency graph for driver_vs1053b.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vs1053b_audio_info_s
 vs1053b audio info structure definition More...
struct  vs1053b_wav_s
 vs1053b wav structure definition More...
struct  vs1053b_handle_s
 vs1053b handle structure definition More...
struct  vs1053b_info_s
 vs1053b information structure definition More...

Macros

#define VS1053B_BUFFER_SIZE   512 /* 512 bytes */
 vs1053b buffer size definition
#define VS1053B_OGG_VENC08K1Q00   0
 check buffer size valid
#define VS1053B_OGG_VENC08K1Q01   0
 vs1053b venc08k1q01 definition
#define VS1053B_OGG_VENC08K1Q02   0
 vs1053b venc08k1q02 definition
#define VS1053B_OGG_VENC08K1Q03   0
 vs1053b venc08k1q03 definition
#define VS1053B_OGG_VENC08K1Q04   0
 vs1053b venc08k1q04 definition
#define VS1053B_OGG_VENC08K1Q05   0
 vs1053b venc08k1q05 definition
#define VS1053B_OGG_VENC08K1Q06   0
 vs1053b venc08k1q06 definition
#define VS1053B_OGG_VENC08K1Q07   0
 vs1053b venc08k1q07 definition
#define VS1053B_OGG_VENC08K1Q08   0
 vs1053b venc08k1q08 definition
#define VS1053B_OGG_VENC08K1Q09   0
 vs1053b venc08k1q09 definition
#define VS1053B_OGG_VENC08K1Q10   0
 vs1053b venc08k1q10 definition
#define VS1053B_OGG_VENC16K1Q00   0
 vs1053b venc16k1q00 definition
#define VS1053B_OGG_VENC16K1Q01   0
 vs1053b venc16k1q01 definition
#define VS1053B_OGG_VENC16K1Q02   0
 vs1053b venc16k1q02 definition
#define VS1053B_OGG_VENC16K1Q03   0
 vs1053b venc16k1q03 definition
#define VS1053B_OGG_VENC16K1Q04   0
 vs1053b venc16k1q04 definition
#define VS1053B_OGG_VENC16K1Q05   0
 vs1053b venc16k1q05 definition
#define VS1053B_OGG_VENC16K1Q06   0
 vs1053b venc16k1q06 definition
#define VS1053B_OGG_VENC16K1Q07   0
 vs1053b venc16k1q07 definition
#define VS1053B_OGG_VENC16K1Q08   0
 vs1053b venc16k1q08 definition
#define VS1053B_OGG_VENC16K1Q09   0
 vs1053b venc16k1q09 definition
#define VS1053B_OGG_VENC16K1Q10   0
 vs1053b venc16k1q10 definition
#define VS1053B_OGG_VENC16K2Q00   0
 vs1053b venc16k2q00 definition
#define VS1053B_OGG_VENC16K2Q01   0
 vs1053b venc16k2q01 definition
#define VS1053B_OGG_VENC16K2Q02   0
 vs1053b venc16k2q02 definition
#define VS1053B_OGG_VENC16K2Q03   0
 vs1053b venc16k2q03 definition
#define VS1053B_OGG_VENC16K2Q04   0
 vs1053b venc16k2q04 definition
#define VS1053B_OGG_VENC16K2Q05   0
 vs1053b venc16k2q05 definition
#define VS1053B_OGG_VENC16K2Q06   0
 vs1053b venc16k2q06 definition
#define VS1053B_OGG_VENC16K2Q07   0
 vs1053b venc16k2q07 definition
#define VS1053B_OGG_VENC16K2Q08   0
 vs1053b venc16k2q08 definition
#define VS1053B_OGG_VENC16K2Q09   0
 vs1053b venc16k2q09 definition
#define VS1053B_OGG_VENC16K2Q10   0
 vs1053b venc16k2q10 definition
#define VS1053B_OGG_VENC44K1Q00   0
 vs1053b venc44k1q00 definition
#define VS1053B_OGG_VENC44K1Q01   0
 vs1053b venc44k1q01 definition
#define VS1053B_OGG_VENC44K1Q02   0
 vs1053b venc44k1q02 definition
#define VS1053B_OGG_VENC44K1Q03   0
 vs1053b venc44k1q03 definition
#define VS1053B_OGG_VENC44K1Q04   0
 vs1053b venc44k1q04 definition
#define VS1053B_OGG_VENC44K1Q05   0
 vs1053b venc44k1q05 definition
#define VS1053B_OGG_VENC44K2Q00   0
 vs1053b venc44k2q00 definition
#define VS1053B_OGG_VENC44K2Q01   0
 vs1053b venc44k2q01 definition
#define VS1053B_OGG_VENC44K2Q02   0
 vs1053b venc44k2q02 definition
#define VS1053B_OGG_VENC44K2Q03   0
 vs1053b venc44k2q03 definition
#define VS1053B_OGG_VENC44K2Q04   0
 vs1053b venc44k2q04 definition
#define VS1053B_OGG_VENC44K2Q05   1
 vs1053b venc44k2q05 definition
#define VS1053B_AICTRL3_MODE_IMA   ADPCM (0 << 2)
 aictrl3 control definition
#define VS1053B_AICTRL3_MODE_LINEAR_PCM   (1 << 2)
#define VS1053B_AICTRL3_ADC_JOINT_STEREO   (0 << 0)
#define VS1053B_AICTRL3_ADC_DUAL_CHANNEL   (1 << 0)
#define VS1053B_AICTRL3_ADC_LEFT_CHANNEL   (2 << 0)
#define VS1053B_AICTRL3_ADC_RIGHT_CHANNEL   (3 << 0)
#define DRIVER_VS1053B_LINK_INIT(HANDLE, STRUCTURE)
 initialize vs1053b_handle_t structure
#define DRIVER_VS1053B_LINK_SPI_CMD_INIT(HANDLE, FUC)
 link spi_cmd_init function
#define DRIVER_VS1053B_LINK_SPI_CMD_DEINIT(HANDLE, FUC)
 link spi_cmd_deinit function
#define DRIVER_VS1053B_LINK_SPI_READ_ADDRESS16(HANDLE, FUC)
 link spi_cmd_read_address16 function
#define DRIVER_VS1053B_LINK_SPI_WRITE_ADDRESS16(HANDLE, FUC)
 link spi_cmd_write_address16 function
#define DRIVER_VS1053B_LINK_SPI_DAT_INIT(HANDLE, FUC)
 link spi_dat_init function
#define DRIVER_VS1053B_LINK_SPI_DAT_DEINIT(HANDLE, FUC)
 link spi_dat_deinit function
#define DRIVER_VS1053B_LINK_SPI_DAT_WRITE_CMD(HANDLE, FUC)
 link spi_dat_write_cmd function
#define DRIVER_VS1053B_LINK_RESET_GPIO_INIT(HANDLE, FUC)
 link reset_gpio_init function
#define DRIVER_VS1053B_LINK_RESET_GPIO_DEINIT(HANDLE, FUC)
 link reset_gpio_deinit function
#define DRIVER_VS1053B_LINK_RESET_GPIO_WRITE(HANDLE, FUC)
 link reset_gpio_write function
#define DRIVER_VS1053B_LINK_DREQ_GPIO_INIT(HANDLE, FUC)
 link dreq_gpio_init function
#define DRIVER_VS1053B_LINK_DREQ_GPIO_DEINIT(HANDLE, FUC)
 link dreq_gpio_deinit function
#define DRIVER_VS1053B_LINK_DREQ_GPIO_READ(HANDLE, FUC)
 link dreq_gpio_read function
#define DRIVER_VS1053B_LINK_DELAY_MS(HANDLE, FUC)
 link delay_ms function
#define DRIVER_VS1053B_LINK_DEBUG_PRINT(HANDLE, FUC)
 link debug_print function
#define DRIVER_VS1053B_LINK_RECEIVE_CALLBACK(HANDLE, FUC)
 link receive_callback function
#define DRIVER_VS1053B_LINK_AUDIO_INIT(HANDLE, FUC)
 link audio_init function
#define DRIVER_VS1053B_LINK_AUDIO_DEINIT(HANDLE, FUC)
 link audio_deinit function
#define DRIVER_VS1053B_LINK_AUDIO_READ(HANDLE, FUC)
 link audio_read function
#define DRIVER_VS1053B_LINK_AUDIO_WRITE(HANDLE, FUC)
 link audio_write function
#define DRIVER_VS1053B_LINK_TIMESTAMP_READ(HANDLE, FUC)
 link timestamp_read function

Typedefs

typedef struct vs1053b_audio_info_s vs1053b_audio_info_t
 vs1053b audio info structure definition
typedef struct vs1053b_wav_s vs1053b_wav_t
 vs1053b wav structure definition
typedef struct vs1053b_handle_s vs1053b_handle_t
 vs1053b handle structure definition
typedef struct vs1053b_info_s vs1053b_info_t
 vs1053b information structure definition

Enumerations

enum  vs1053b_bool_t { VS1053B_BOOL_FALSE = 0x00 , VS1053B_BOOL_TRUE = 0x01 }
 vs1053b bool enumeration definition More...
enum  vs1053b_clock_range_t { VS1053B_CLOCK_RANGE_12MHZ_13MHZ = 0x00 , VS1053B_CLOCK_RANGE_24MHZ_26MHZ = 0x01 }
 vs1053b clock range enumeration definition More...
enum  vs1053b_selector_t { VS1053B_SELECTOR_MICP = 0x00 , VS1053B_SELECTOR_LINE1 = 0x01 }
 vs1053b selector enumeration definition More...
enum  vs1053b_bit_order_t { VS1053B_BIT_ORDER_MSB_FIRST = 0x00 , VS1053B_BIT_ORDER_MSB_LAST = 0x01 }
 vs1053b bit order enumeration definition More...
enum  vs1053b_dclk_edge_t { VS1053B_DCLK_EDGE_RISING = 0x00 , VS1053B_DCLK_EDGE_FALLING = 0x01 }
 vs1053b dclk edge enumeration definition More...
enum  vs1053b_diff_t { VS1053B_DIFF_NORMAL = 0x00 , VS1053B_DIFF_LEFT_INVERTED = 0x01 }
 vs1053b diff enumeration definition More...
enum  vs1053b_ad_clock_t { VS1053B_AD_CLOCK_6MHZ = 0x00 , VS1053B_AD_CLCOK_3MHZ = 0x01 }
 vs1053b ad clock enumeration definition More...
enum  vs1053b_reference_voltage_t { VS1053B_REFERENCE_VOLTAGE_1P23V = 0x00 , VS1053B_REFERENCE_VOLTAGE_1P65V = 0x01 }
 vs1053b reference voltage enumeration definition More...
enum  vs1053b_clock_multiplier_t {
  VS1053B_CLOCK_MULTIPLIER_1P0_XTALI = 0x00 , VS1053B_CLOCK_MULTIPLIER_2P0_XTALI = 0x01 , VS1053B_CLOCK_MULTIPLIER_2P5_XTALI = 0x02 , VS1053B_CLOCK_MULTIPLIER_3P0_XTALI = 0x03 ,
  VS1053B_CLOCK_MULTIPLIER_3P5_XTALI = 0x04 , VS1053B_CLOCK_MULTIPLIER_4P0_XTALI = 0x05 , VS1053B_CLOCK_MULTIPLIER_4P5_XTALI = 0x06 , VS1053B_CLOCK_MULTIPLIER_5P0_XTALI = 0x07
}
 vs1053b clock multiplier enumeration definition More...
enum  vs1053b_allowed_multiplier_addition_t { VS1053B_ALLOWED_MULTIPLIER_ADDITION_NONE = 0x00 , VS1053B_ALLOWED_MULTIPLIER_ADDITION_1P0_XTALI = 0x01 , VS1053B_ALLOWED_MULTIPLIER_ADDITION_1P5_XTALI = 0x02 , VS1053B_ALLOWED_MULTIPLIER_ADDITION_2P0_XTALI = 0x03 }
 vs1053b allowed multiplier addition enumeration definition More...
enum  vs1053b_channel_t { VS1053B_CHANNEL_MONO = 0x00 , VS1053B_CHANNEL_STEREO = 0x01 }
 vs1053b channel enumeration definition More...
enum  vs1053b_application_t { VS1053B_APPLICATION_0 = 0x00 , VS1053B_APPLICATION_1 = 0x01 , VS1053B_APPLICATION_2 = 0x02 , VS1053B_APPLICATION_3 = 0x03 }
 vs1053b application enumeration definition More...
enum  vs1053b_play_speed_t { VS1053B_PLAY_SPEED_1_X = 0x00 , VS1053B_PLAY_SPEED_1P0_X = 0x01 , VS1053B_PLAY_SPEED_2P0_X = 0x02 , VS1053B_PLAY_SPEED_3P0_X = 0x03 }
 vs1053b play speed enumeration definition More...
enum  vs1053b_type_t {
  VS1053B_TYPE_PLAY_READ = 0x00 , VS1053B_TYPE_PLAY_WRITE = 0x01 , VS1053B_TYPE_PLAY_END = 0x02 , VS1053B_TYPE_RECORD_READ = 0x03 ,
  VS1053B_TYPE_RECORD_WRITE = 0x04 , VS1053B_TYPE_RECORD_END = 0x05 , VS1053B_TYPE_RECORD_OVER = 0x06 , VS1053B_TYPE_PERIOD = 0x07
}
 vs1053b type enumeration definition More...
enum  vs1053b_format_t {
  VS1053B_FORMAT_WAV = 0x7665 , VS1053B_FORMAT_MIDI = 0X4D54 , VS1053B_FORMAT_AAC_ADTS = 0X4154 , VS1053B_FORMAT_AAC_ADIF = 0X4144 ,
  VS1053B_FORMAT_AAC_MP4 = 0X4D34 , VS1053B_FORMAT_OGG = 0X4F67 , VS1053B_FORMAT_WMA = 0X574D , VS1053B_FORMAT_FLAC = 0X664C ,
  VS1053B_FORMAT_MP3 = 0xFFE0
}
 vs1053b format enumeration definition More...
enum  vs1053b_patch_t {
  VS1053B_PATCH_FLAC = 0x00 , VS1053B_PATCH_WAV = 0x01 , VS1053B_PATCH_OGG_VENC08K1Q00 = 0x02 , VS1053B_PATCH_OGG_VENC08K1Q01 = 0x03 ,
  VS1053B_PATCH_OGG_VENC08K1Q02 = 0x04 , VS1053B_PATCH_OGG_VENC08K1Q03 = 0x05 , VS1053B_PATCH_OGG_VENC08K1Q04 = 0x06 , VS1053B_PATCH_OGG_VENC08K1Q05 = 0x07 ,
  VS1053B_PATCH_OGG_VENC08K1Q06 = 0x08 , VS1053B_PATCH_OGG_VENC08K1Q07 = 0x09 , VS1053B_PATCH_OGG_VENC08K1Q08 = 0x0A , VS1053B_PATCH_OGG_VENC08K1Q09 = 0x0B ,
  VS1053B_PATCH_OGG_VENC08K1Q10 = 0x0C , VS1053B_PATCH_OGG_VENC16K1Q00 = 0x0D , VS1053B_PATCH_OGG_VENC16K1Q01 = 0x0E , VS1053B_PATCH_OGG_VENC16K1Q02 = 0x0F ,
  VS1053B_PATCH_OGG_VENC16K1Q03 = 0x10 , VS1053B_PATCH_OGG_VENC16K1Q04 = 0x11 , VS1053B_PATCH_OGG_VENC16K1Q05 = 0x12 , VS1053B_PATCH_OGG_VENC16K1Q06 = 0x13 ,
  VS1053B_PATCH_OGG_VENC16K1Q07 = 0x14 , VS1053B_PATCH_OGG_VENC16K1Q08 = 0x15 , VS1053B_PATCH_OGG_VENC16K1Q09 = 0x16 , VS1053B_PATCH_OGG_VENC16K1Q10 = 0x17 ,
  VS1053B_PATCH_OGG_VENC16K2Q00 = 0x18 , VS1053B_PATCH_OGG_VENC16K2Q01 = 0x19 , VS1053B_PATCH_OGG_VENC16K2Q02 = 0x1A , VS1053B_PATCH_OGG_VENC16K2Q03 = 0x1B ,
  VS1053B_PATCH_OGG_VENC16K2Q04 = 0x1C , VS1053B_PATCH_OGG_VENC16K2Q05 = 0x1D , VS1053B_PATCH_OGG_VENC16K2Q06 = 0x1E , VS1053B_PATCH_OGG_VENC16K2Q07 = 0x1F ,
  VS1053B_PATCH_OGG_VENC16K2Q08 = 0x20 , VS1053B_PATCH_OGG_VENC16K2Q09 = 0x21 , VS1053B_PATCH_OGG_VENC16K2Q10 = 0x22 , VS1053B_PATCH_OGG_VENC44K1Q00 = 0x23 ,
  VS1053B_PATCH_OGG_VENC44K1Q01 = 0x24 , VS1053B_PATCH_OGG_VENC44K1Q02 = 0x25 , VS1053B_PATCH_OGG_VENC44K1Q03 = 0x26 , VS1053B_PATCH_OGG_VENC44K1Q04 = 0x27 ,
  VS1053B_PATCH_OGG_VENC44K1Q05 = 0x28 , VS1053B_PATCH_OGG_VENC44K2Q00 = 0x29 , VS1053B_PATCH_OGG_VENC44K2Q01 = 0x2A , VS1053B_PATCH_OGG_VENC44K2Q02 = 0x2B ,
  VS1053B_PATCH_OGG_VENC44K2Q03 = 0x2C , VS1053B_PATCH_OGG_VENC44K2Q04 = 0x2D , VS1053B_PATCH_OGG_VENC44K2Q05 = 0x2E
}
 vs1053b patch enumeration definition More...
enum  vs1053b_iis_rate_t { VS1053B_IIS_RATE_48KHZ = 0x00 , VS1053B_IIS_RATE_96KHZ = 0x01 , VS1053B_IIS_RATE_192KHZ = 0x02 }
 vs1053b iis rate enumeration definition More...
enum  vs1053b_record_format_t { VS1053B_RECORD_FORMAT_WAV = 0x00 , VS1053B_RECORD_FORMAT_OGG = 0x01 }
 vs1053b record format enumeration definition More...

Functions

uint8_t vs1053b_info (vs1053b_info_t *info)
 get chip's information
uint8_t vs1053b_init (vs1053b_handle_t *handle)
 initialize the chip
uint8_t vs1053b_deinit (vs1053b_handle_t *handle)
 deinit the chip
uint8_t vs1053b_play (vs1053b_handle_t *handle, char *path)
 play audio
uint8_t vs1053b_record (vs1053b_handle_t *handle, char *path, uint32_t sample_rate)
 record audio
uint8_t vs1053b_set_record_format (vs1053b_handle_t *handle, vs1053b_record_format_t format)
 set record format
uint8_t vs1053b_get_record_format (vs1053b_handle_t *handle, vs1053b_record_format_t *format)
 get record format
uint8_t vs1053b_pause (vs1053b_handle_t *handle)
 pause audio
uint8_t vs1053b_stop (vs1053b_handle_t *handle)
 stop audio
uint8_t vs1053b_process (vs1053b_handle_t *handle)
 audio process
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_period_callback (vs1053b_handle_t *handle, uint32_t *second, uint32_t *microsecond, vs1053b_bool_t *enable)
 get period callback
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_hard_reset (vs1053b_handle_t *handle)
 hard reset
uint8_t vs1053b_set_diff (vs1053b_handle_t *handle, vs1053b_diff_t diff)
 set the audio differential
uint8_t vs1053b_get_diff (vs1053b_handle_t *handle, vs1053b_diff_t *diff)
 get the audio differential
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_mpeg_layer_i_and_ii (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get mpeg layer i and ii status
uint8_t vs1053b_set_soft_reset (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable soft reset
uint8_t vs1053b_get_soft_reset (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get soft reset status
uint8_t vs1053b_set_cancel_decoding_current_file (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable cancel decoding current file
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_set_ear_speaker_low_setting (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable ear speaker low setting
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_set_allow_sdi_test (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable allow sdi test
uint8_t vs1053b_get_allow_sdi_test (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get allow sdi test status
uint8_t vs1053b_set_stream_mode (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable stream mode
uint8_t vs1053b_get_stream_mode (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get stream mode status
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_get_ear_speaker_high_setting (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get ear speaker high setting status
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_sdi_bit_order (vs1053b_handle_t *handle, vs1053b_bit_order_t order)
 set sdi bit order
uint8_t vs1053b_get_sdi_bit_order (vs1053b_handle_t *handle, vs1053b_bit_order_t *order)
 get sdi bit order
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_get_share_spi_chip_select (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get share spi chip select 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_native_spi_modes (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get native spi modes status
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_get_pcm_adpcm_recording_active (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get pcm adpcm recording active status
uint8_t vs1053b_set_selector (vs1053b_handle_t *handle, vs1053b_selector_t selector)
 set selector
uint8_t vs1053b_get_selector (vs1053b_handle_t *handle, vs1053b_selector_t *selector)
 get selector
uint8_t vs1053b_set_clock_range (vs1053b_handle_t *handle, vs1053b_clock_range_t range)
 set clock range
uint8_t vs1053b_get_clock_range (vs1053b_handle_t *handle, vs1053b_clock_range_t *range)
 get clock range
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_do_not_jump (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get do not jump status
uint8_t vs1053b_set_swing (vs1053b_handle_t *handle, uint8_t swing)
 set swing
uint8_t vs1053b_get_swing (vs1053b_handle_t *handle, uint8_t *swing)
 get swing
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_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_overload_indicator (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable overload indicator
uint8_t vs1053b_get_overload_indicator (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get overload indicator status
uint8_t vs1053b_set_overload_detection (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable overload detection
uint8_t vs1053b_get_overload_detection (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get overload detection status
uint8_t vs1053b_get_version (vs1053b_handle_t *handle, uint8_t *version)
 get version
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_get_analog_driver_power_down (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get analog driver power down 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_get_analog_internal_power_down (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get analog internal power down status
uint8_t vs1053b_set_ad_clock (vs1053b_handle_t *handle, vs1053b_ad_clock_t ad_clock)
 set ad clock
uint8_t vs1053b_get_ad_clock (vs1053b_handle_t *handle, vs1053b_ad_clock_t *ad_clock)
 get ad clock
uint8_t vs1053b_set_reference_voltage (vs1053b_handle_t *handle, vs1053b_reference_voltage_t voltage)
 set reference voltage
uint8_t vs1053b_get_reference_voltage (vs1053b_handle_t *handle, vs1053b_reference_voltage_t *voltage)
 get reference voltage
uint8_t vs1053b_set_treble_control (vs1053b_handle_t *handle, uint8_t db)
 set treble control
uint8_t vs1053b_get_treble_control (vs1053b_handle_t *handle, uint8_t *db)
 get treble control
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
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_lower_limit_frequency_in_1000_hz (vs1053b_handle_t *handle, uint8_t step)
 set lower limit frequency in 1000 hz
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_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_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_set_bass_enhancement (vs1053b_handle_t *handle, uint8_t db)
 set bass enhancement
uint8_t vs1053b_get_bass_enhancement (vs1053b_handle_t *handle, uint8_t *db)
 get bass enhancement
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_get_lower_limit_frequency_in_10_hz (vs1053b_handle_t *handle, uint8_t *step)
 get lower limit frequency in 10 hz
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
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_set_clock_multiplier (vs1053b_handle_t *handle, vs1053b_clock_multiplier_t multiplier)
 set clock multiplier
uint8_t vs1053b_get_clock_multiplier (vs1053b_handle_t *handle, vs1053b_clock_multiplier_t *multiplier)
 get clock multiplier
uint8_t vs1053b_set_allowed_multiplier_addition (vs1053b_handle_t *handle, vs1053b_allowed_multiplier_addition_t addition)
 set allowed multiplier addition
uint8_t vs1053b_get_allowed_multiplier_addition (vs1053b_handle_t *handle, vs1053b_allowed_multiplier_addition_t *addition)
 get allowed multiplier addition
uint8_t vs1053b_set_clock_frequency (vs1053b_handle_t *handle, uint16_t clk)
 set clock frequency
uint8_t vs1053b_get_clock_frequency (vs1053b_handle_t *handle, uint16_t *clk)
 get clock frequency
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_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_decode_time (vs1053b_handle_t *handle, uint16_t decode_time)
 set decode time
uint8_t vs1053b_get_decode_time (vs1053b_handle_t *handle, uint16_t *decode_time)
 get decode time
uint8_t vs1053b_set_sample_rate (vs1053b_handle_t *handle, uint16_t rate, vs1053b_channel_t channel)
 set sample rate
uint8_t vs1053b_get_sample_rate (vs1053b_handle_t *handle, uint16_t *rate, vs1053b_channel_t *channel)
 get sample rate
uint8_t vs1053b_write_ram (vs1053b_handle_t *handle, uint8_t *buf, uint16_t len)
 write ram
uint8_t vs1053b_read_ram (vs1053b_handle_t *handle, uint8_t *buf, uint16_t len)
 read ram
uint8_t vs1053b_set_ram_address (vs1053b_handle_t *handle, uint16_t addr)
 set ram address
uint8_t vs1053b_get_hdata (vs1053b_handle_t *handle, uint16_t *dat0, uint16_t *dat1)
 get hdata
uint8_t vs1053b_get_hdata0 (vs1053b_handle_t *handle, uint16_t *dat0)
 get hdata0
uint8_t vs1053b_get_hdata1 (vs1053b_handle_t *handle, uint16_t *dat1)
 get hdata1
uint8_t vs1053b_set_start_address (vs1053b_handle_t *handle, uint16_t addr)
 set start address
uint8_t vs1053b_get_start_address (vs1053b_handle_t *handle, uint16_t *addr)
 get start address
uint8_t vs1053b_set_vol (vs1053b_handle_t *handle, uint8_t left, uint8_t right)
 set vol
uint8_t vs1053b_get_vol (vs1053b_handle_t *handle, uint8_t *left, uint8_t *right)
 get vol
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_vol_convert_to_data (vs1053b_handle_t *handle, uint8_t reg, float *db)
 convert the register raw data to vol
uint8_t vs1053b_write_application (vs1053b_handle_t *handle, vs1053b_application_t num, uint8_t *buf, uint16_t len)
 write application
uint8_t vs1053b_read_application (vs1053b_handle_t *handle, vs1053b_application_t num, uint8_t *buf, uint16_t len)
 read application
uint8_t vs1053b_set_play_speed (vs1053b_handle_t *handle, vs1053b_play_speed_t speed)
 set play speed
uint8_t vs1053b_get_play_speed (vs1053b_handle_t *handle, vs1053b_play_speed_t *speed)
 get play speed
uint8_t vs1053b_get_byte_rate (vs1053b_handle_t *handle, uint16_t *rate)
 get byte rate
uint8_t vs1053b_get_end_fill_byte (vs1053b_handle_t *handle, uint16_t *byte)
 get end fill byte
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_load_patch (vs1053b_handle_t *handle, const uint16_t *patch, uint16_t len)
 load patch
uint8_t vs1053b_set_iis_mclk (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable iis mclk
uint8_t vs1053b_get_iis_mclk (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get iis mclk status
uint8_t vs1053b_set_iis (vs1053b_handle_t *handle, vs1053b_bool_t enable)
 enable or disable iis
uint8_t vs1053b_get_iis (vs1053b_handle_t *handle, vs1053b_bool_t *enable)
 get iis status
uint8_t vs1053b_set_iis_rate (vs1053b_handle_t *handle, vs1053b_iis_rate_t iis_rate)
 set iis rate
uint8_t vs1053b_get_iis_rate (vs1053b_handle_t *handle, vs1053b_iis_rate_t *iis_rate)
 get iis rate
uint8_t vs1053b_set_gpio_direction (vs1053b_handle_t *handle, uint16_t mask)
 set gpio direction
uint8_t vs1053b_get_gpio_direction (vs1053b_handle_t *handle, uint16_t *mask)
 get gpio direction
uint8_t vs1053b_get_gpio_input (vs1053b_handle_t *handle, uint16_t *data)
 get gpio input
uint8_t vs1053b_set_gpio_output (vs1053b_handle_t *handle, uint16_t data)
 set gpio output
uint8_t vs1053b_get_gpio_output (vs1053b_handle_t *handle, uint16_t *data)
 get gpio output
uint8_t vs1053b_set_reg (vs1053b_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
 set the chip register
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_data (vs1053b_handle_t *handle, uint8_t *buf, uint16_t len)
 set chip data

Detailed Description

driver vs1053b header file

Copyright (c) 2015 - present LibDriver All rights reserved

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Version
1.0.0
Author
Shifeng Li
Date
2023-06-30

history

Date Version Author Description
2023/06/30 1.0 Shifeng Li first upload

Definition in file driver_vs1053b.h.