view ffstools/tiaud/binstruct.h @ 964:a96cb97b66a2

ringtools/imy: fix duplicate definition of tdma_durations[] The bug was reported by Vadim Yanitskiy <fixeria@osmocom.org>, although the present fix is slightly different from the contributed patch: because main.c doesn't need this tdma_durations[] array at all, let's simply remove the reference to this array from main.c rather than turn it into an extern. I no longer remember my original thought flow that resulted (by mistake) in tdma_durations[] being multiply defined in main.c and durations.c. My intent might have been to define all globals in main.c and have the reference in durations.c be an extern - and I missed that extern - but without clear memory, I have no certainty. In any case, having this data array defined in the same module that fills it (durations.c) is sensible, so let's make it the new way.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 31 Aug 2023 19:38:18 +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)