FiiO M3K: audio recording

Recording works now, although I'm sure there will be a few
things that need fine-tuning. A major issue is that writing
to the SD card creates noticable interference, which happens
on the original firmware too but seems worse under Rockbox.

(Since Rockbox waits until RAM fills up before writing data,
the interference will only be heard on >50 MiB recordings.)

Change-Id: I5561dd9668c3bdd34e92f34ef50848aef8c0b7eb
This commit is contained in:
Aidan MacDonald 2022-01-11 13:58:41 +00:00
parent bc5a638594
commit c1f1d91404
5 changed files with 183 additions and 10 deletions

View file

@ -22,7 +22,9 @@
#ifndef __AK4376_H__
#define __AK4376_H__
#define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP|POWER_MODE_CAP)
/* The target config must define this; defining it here would prevent
the target from supporting audio recording via an alternate codec. */
/* #define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP|POWER_MODE_CAP) */
#define AUDIOHW_HAVE_SHORT2_ROLL_OFF
#define AK4376_MIN_VOLUME (-890)

View file

@ -55,11 +55,15 @@
/* Codec / audio hardware defines */
#define HW_SAMPR_CAPS SAMPR_CAP_ALL_192
#define REC_SAMPR_CAPS (SAMPR_CAP_ALL_96 & ~SAMPR_CAP_64)
#define INPUT_SRC_CAPS SRC_CAP_MIC
#define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP|POWER_MODE_CAP|MIC_GAIN_CAP)
#define HAVE_RECORDING
#define HAVE_AK4376
#define HAVE_X1000_ICODEC_REC
#define HAVE_SW_TONE_CONTROLS
#define HAVE_SW_VOLUME_CONTROL
/* TODO: Need to implement recording */
#define DEFAULT_REC_MIC_GAIN 12
/* Button defines */
#define CONFIG_KEYPAD FIIO_M3K_PAD