view ffstools/tiaud/binstruct.h @ 942:fab04df64690

rvinterf/lowlevel: replace libg23 with libprint
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 24 May 2023 06:55:54 +0000
parents c458e33060bf
children
line wrap: on
line source

/*
 * The binary structure of /aud/*.cfg audio mode config files
 * written and read by TI's TCS211 firmware is defined here.
 */

struct audio_cfg_bin {
	uint8_t		voice_path;
	uint8_t		pad1[3];
	uint8_t		mic_mode;
	uint8_t		pad2[3];
	int8_t		mic_bytes[4];
	uint16_t	mic_fir[32];
	uint8_t		speaker_mode;
	uint8_t		pad3[3];
	int8_t		speaker_bytes[4];
	uint16_t	speaker_fir[32];
	int8_t		sidetone_gain;
	uint8_t		pad4[3];
	uint16_t	aec_words[12];
};

#define	MODE_FILE_SIZE_NEWAEC	(sizeof(struct audio_cfg_bin))
#define	MODE_FILE_SIZE_OLDAEC	(sizeof(struct audio_cfg_bin) - 12)

/* mic_mode byte */
#define AUDIO_MICROPHONE_HANDHELD   (0)
#define AUDIO_MICROPHONE_HANDFREE   (1)
#define AUDIO_MICROPHONE_HEADSET    (2)

/* speaker_mode byte */
#define AUDIO_SPEAKER_HANDHELD          (0)
#define AUDIO_SPEAKER_HANDFREE          (1)
#define AUDIO_SPEAKER_HEADSET           (2)
#define AUDIO_SPEAKER_BUZZER            (3)
#define AUDIO_SPEAKER_HANDHELD_HANDFREE (4)