Commit Graph

71 Commits

Author SHA1 Message Date
Ross Owen
248b73e285 Runtime fixes for DFU disable 2017-03-09 12:45:59 +00:00
Sam Chesney
6eed769d90 Quick fix to borderline I2S timing issue
The initial receive on c_pdm_pcm channel ensures the mic array
decimator timing requirements are met when running configurations that
use the up and down-samplers.

However it appears to make the I2S timing very marginal, as subsequent
reads from the c_pdm_pcm channel will block for longer.
2017-03-01 17:08:22 +00:00
Ross Owen
af5760f120 Revert "Added some extra timing margin for port setup/buffer (to avoid I2S data-shift)"
This reverts commit 30f0689434.
2017-03-01 14:00:43 +00:00
Ross Owen
30f0689434 Added some extra timing margin for port setup/buffer (to avoid I2S data-shift) 2017-03-01 12:22:46 +00:00
Sam Chesney
df59ac2e56 Fix non PDM mic builds
Guard initial PDM mic channel access.
2017-02-24 13:30:24 +00:00
Sam Chesney
4ed791bb04 Improve I2S to PDM mic ratio naming clarity 2017-02-24 11:37:57 +00:00
Sam Chesney
e0b1711f8f Improve I2S up & down-sampling ratio naming clarity 2017-02-24 11:23:06 +00:00
Sam Chesney
a96c65cb9f Replace magic numbers with defines from lib_src 2017-02-24 11:03:57 +00:00
Sam Chesney
b79cf43593 Fix PDM mic transfer rate - use MICS_TO_AUD_RATIO 2017-02-17 09:39:51 +00:00
louis
c85d8206e2 Re-add support for I2S_DOWNSAMPLE_MONO_IN. 2017-02-13 08:37:07 +00:00
louis
fcf28537bb Merge 2017-02-10 16:24:57 +00:00
louis
0f3db83b59 Change I2S_DOWNSAMPLE_FACTOR_IN and I2S_UPSAMPLE_FACTOR_OUT to
USB_TO_AUD_RATIO and MICS_TO_AUD_RATIO in audio_io.xc.
2017-02-10 16:18:17 +00:00
Sam Chesney
96ccac033a Fix I2S input down-sampling crosstalk
Simplified and corrected array indexing used in DS3 calls.
2017-02-10 15:31:50 +00:00
Sam Chesney
ba37e87dab Add UserBufferManagementInit()
Used to reset any state required in UserBufferManagement(). Weak default
implementation provided, which does nothing.

Also tidied up weak default implementation of UserBufferManagement(),
and added a header file to define both function protypes.
2017-01-31 18:42:19 +00:00
Sam Chesney
342bf64c21 Fix various typos 2017-01-31 18:39:06 +00:00
Sam Chesney
9b4fa7b352 Format I2S US3 calls in same style as rest of file 2017-01-27 18:18:56 +00:00
Sam Chesney
f0ed79e6b5 Move I2S US3 and DS3 counters from global space to deliver() 2017-01-27 15:57:39 +00:00
Sam Chesney
bafad597ef Rename DS3 and US3 to be I2S specific
Ahead of adding DS3 and US3 support for USB in/out.
2017-01-27 15:15:13 +00:00
Sam Chesney
517c02c4bd Update comment 2017-01-27 12:10:10 +00:00
louis
2a28119513 Moved I2S_UPSAMPLE_FACTOR_OUT default to devicedefines.h from the
top of audio_io.xc.
2017-01-27 10:29:43 +00:00
louis
195f1a3611 Un-balls the merge. 2017-01-25 13:42:18 +00:00
louis
9a9227edb8 Merge 2017-01-25 12:52:26 +00:00
louis
4263b9c9d4 Add ability to upsample I2S out (I2S_SAMPLE_FACTOR_OUT). Also fixed new
lib_src coeff naming.
2017-01-25 12:50:38 +00:00
Sam Chesney
d7743edda0 Move DS3 data into deliver() rather than being global 2017-01-20 17:32:33 +00:00
Sam Chesney
82f351cdae Add comments to #endifs 2017-01-20 15:54:01 +00:00
Sam Chesney
ced1ccd072 Merge remove_i2s_out_ds3 into master 2017-01-19 17:47:35 +00:00
Sam Chesney
04a6a7a370 Revert "Merge add_i2s_out_ds3 into master"
a58b8c3bb9
2017-01-19 17:46:40 +00:00
louis
300a68f5e7 Merge branch 'master' of git://git/apps/sc_usb_audio 2017-01-19 15:57:13 +00:00
louis
4c79429251 Remove USB with define NO_USB in main & audio_io. 2017-01-19 15:57:08 +00:00
Sam Chesney
491ec6697e Add DS3 support to I2S output path (USB->DS3->I2S) 2017-01-11 17:02:08 +00:00
Sam Chesney
066905f661 Rename ds3Sum to inputDs3Sum 2017-01-11 16:54:20 +00:00
Sam Chesney
e87ad03237 Rename delayLine to inputDelayLine 2017-01-11 16:54:20 +00:00
Sam Chesney
6ed6497a6b Rename downsamplingCounter to inDownsamplingCounter 2017-01-11 16:54:20 +00:00
Sam Chesney
80e9feb546 Rename I2S_DOWNSAMPLE_CHANS to I2S_DOWNSAMPLE_CHANS_IN 2017-01-11 16:54:20 +00:00
Sam Chesney
46a11d869f Rename I2S_DOWNSAMPLE_FACTOR to I2S_DOWNSAMPLE_FACTOR_IN 2017-01-11 16:54:20 +00:00
Sam Chesney
a997f39237 Rename I2S_DOWNSAMPLE_MONO to I2S_DOWNSAMPLE_MONO_IN 2017-01-09 15:39:03 +00:00
Sam Chesney
1bd7dcf168 Add I2S resync to LRCLK logic when CODEC_MASTER=1
In CODEC master mode, the I/O loop assumes L/RCLK = 32bit clocks.
Check this every iteration and resync if we get a bclk glitch.
2016-12-21 16:26:07 +00:00
Sam Chesney
c422ca5181 Turn on port buffers for p_lrclk and p_bclk when CODEC_MASTER=1 2016-12-21 16:26:07 +00:00
Sam Chesney
5c46cc476d Update DS3 library calls to use new API 2016-12-08 13:01:47 +00:00
Ross Owen
f1b7ee13ba Fixed non-streaming issue on some builds after merge 2016-12-07 17:25:38 +00:00
Ross Owen
66cb768975 Merge branch 'DEV/OPTS_BECLEAR' into smart_mic_plus 2016-12-07 14:30:14 +00:00
Sam Chesney
4b9e323593 Move defines and checks to expected places 2016-12-07 11:41:05 +00:00
Sam Chesney
5e09197c15 Remove unused include 2016-12-07 10:14:51 +00:00
Sam Chesney
3fe1a6e8cc Allow mono downsampling mode
Allows for reduced resource usage when I2S is used as an input to a mono
AEC.
2016-12-07 10:11:47 +00:00
Sam Chesney
bcc9c23a71 Memory optimisation of I2S DS3 integration 2016-12-06 17:29:11 +00:00
Sam Chesney
c5eb740637 Call DS3 functions on incoming I2S samples
Downsampling is enabled only when I2S_DOWNSAMPLE_FACTOR is defined as>
1 (must be 3).
2016-12-06 15:09:06 +00:00
Sam Chesney
6ab9bef80c Remove I2S_RATE_SCALING define
Just use the I2S_DOWNSAMPLE_FACTOR define now.
2016-12-06 15:09:06 +00:00
Ross Owen
ca1925db7a Opts for fitting beclear 2016-12-05 19:26:14 +00:00
Sam Chesney
fe6f795e5a Fix brace placement
Broken in commit 020cf2dad7.
Fix to ensure that samples are not output to USB layer on receipt of a
command.
2016-11-30 10:18:57 +00:00
Sam Chesney
dde838c940 Update I2S input buffering to support downsampling scheme
Also:

- Replace defines added for I2S downsampling with existing defines.

- Remove downsampledI2S[] buffer until DS3 API is finalised.
  Samples from samplesIn[] are output instead for now.
2016-11-30 10:12:26 +00:00