Gregory Nutt
349b513978
Very trivial changes from review of last PR
2017-11-08 06:34:23 -06:00
Masayuki Ishikawa
51b19d5f38
Merged in masayuki2009/nuttx.nuttx/lc823450 (pull request #531 )
...
lc823450-xgevk audio support
* arch/arm/src/lc823450: Add IPL2 support
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* configs/lc823450-xgevk: Add IPL2 support
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* libc/audio: Fix compilation error in lib_buffer.c
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* drivers/audio: Add WM8774 support
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* arch/arm/src/lc823450: Add I2S support
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
* configs/lc823450-xgevk: Add WM8774 support
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
Approved-by: Gregory Nutt <gnutt@nuttx.org>
2017-11-08 12:25:13 +00:00
Gregory Nutt
e11e3b2607
Squashed commit of the following:
...
Change all calls to mq_receive() and mq_timedreceive() in the OS to calls to nxmq_receive() and nxmq_timedreceive(), making appropriate changes for differences in return values.
sched/mqueue: Add nxmq_receive() and mxmq_timedreceive() which are functionally equivalent to the standard mq_receive and mq_timedreceive() except that (1) they do not create cancellation points, and (2) the do not modify the application's errno variable.
2017-10-10 09:57:40 -06:00
Gregory Nutt
fca07be1df
Squashed commit of the following:
...
Change all calls to mq_send() and mq_timedsend() in the OS to calls to nxmq_send() and nxmq_timedsend(), making appropriate changes for differences in return values.
sched/mqueue: Add internal function nxmq_send() and nxmq_timedsend() that are equivalent to mq_send() and mq_timedsend() except that they do not create cancellation points and do to not modify the errno variable.
2017-10-10 08:44:12 -06:00
Gregory Nutt
936df1bcb5
Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These differ from the standard sleep() and usleep() in that (1) they don't cause cancellation points, and (2) don't set the errno variable (if applicable). All calls to sleep() and usleep() changed to calls to nxsig_sleep() and nxsig_usleep().
...
Squashed commit of the following:
Change all calls to usleep() in the OS proper to calls to nxsig_usleep()
sched/signal: Add a new OS internal function nxsig_usleep() that is functionally equivalent to usleep() but does not cause a cancellaption point and does not modify the errno variable.
sched/signal: Add a new OS internal function nxsig_sleep() that is functionally equivalent to sleep() but does not cause a cancellaption point.
2017-10-06 10:15:01 -06:00
Gregory Nutt
9568600ab1
Squashed commit of the following:
...
This commit backs out most of commit b4747286b1
. That change was added because sem_wait() would sometimes cause cancellation points inappropriated. But with these recent changes, nxsem_wait() is used instead and it is not a cancellation point.
In the OS, all calls to sem_wait() changed to nxsem_wait(). nxsem_wait() does not return errors via errno so each place where nxsem_wait() is now called must not examine the errno variable.
In all OS functions (not libraries), change sem_wait() to nxsem_wait(). This will prevent the OS from creating bogus cancellation points and from modifying the per-task errno variable.
sched/semaphore: Add the function nxsem_wait(). This is a new internal OS interface. It is functionally equivalent to sem_wait() except that (1) it is not a cancellation point, and (2) it does not set the per-thread errno value on return.
2017-10-04 15:22:27 -06:00
Gregory Nutt
42a0796615
Squashed commit of the following:
...
sched/semaphore: Add nxsem_post() which is identical to sem_post() except that it never modifies the errno variable. Changed all references to sem_post in the OS to nxsem_post().
sched/semaphore: Add nxsem_destroy() which is identical to sem_destroy() except that it never modifies the errno variable. Changed all references to sem_destroy() in the OS to nxsem_destroy().
libc/semaphore and sched/semaphore: Add nxsem_getprotocol() and nxsem_setprotocola which are identical to sem_getprotocol() and set_setprotocol() except that they never modifies the errno variable. Changed all references to sem_setprotocol in the OS to nxsem_setprotocol(). sem_getprotocol() was not used in the OS
2017-10-03 15:35:24 -06:00
Gregory Nutt
83cdb0c552
Squashed commit of the following:
...
libc/semaphore: Add nxsem_getvalue() which is identical to sem_getvalue() except that it never modifies the errno variable. Changed all references to sem_getvalue in the OS to nxsem_getvalue().
sched/semaphore: Rename all internal private functions from sem_xyz to nxsem_xyz. The sem_ prefix is (will be) reserved only for the application semaphore interfaces.
libc/semaphore: Add nxsem_init() which is identical to sem_init() except that it never modifies the errno variable. Changed all references to sem_init in the OS to nxsem_init().
sched/semaphore: Rename sem_tickwait() to nxsem_tickwait() so that it is clear this is an internal OS function.
sched/semaphoate: Rename sem_reset() to nxsem_reset() so that it is clear this is an internal OS function.
2017-10-03 12:52:31 -06:00
Gregory Nutt
9b2a8e8c0e
Rename CONFIG_AUDIO_DEVICES to CONFIG_DRIVERS_AUDIO to conform better to the evolving configuration naming standard.
2017-09-12 14:10:15 -06:00
Gregory Nutt
e341c74f06
drivers/audio: Fix naming of configurations to be compliant for vs1053 audio driver. One file was not saved before last commit.
2017-08-24 11:12:10 -06:00
Gregory Nutt
53ef64aae6
drivers/audio: Fix naming of configurations to be compliant for vs1053 audio driver.
2017-08-24 11:11:06 -06:00
Taras Drozdovsky
4ab2a3661e
STM32F4: add cs43l22 audio driver and i2s driver
2017-05-21 14:14:09 -06:00
Juha Niskanen
b9a769d65d
drivers: fix some bad NULL checks
2017-05-15 07:20:32 -06:00
Gregory Nutt
e9a5477506
Add an instance argument to the SPIDEV definitions.
2017-04-29 12:26:52 -06:00
Gregory Nutt
3872055daa
drivers/audio/wm8904: WM8904 has same problem as that fixed by Juha Niskanen in the MaxTouch driver.
2017-03-21 07:20:45 -06:00
Gregory Nutt
b4ff7391f8
Convert more drivers to use use irq_attach with argument.
2017-02-27 10:44:13 -06:00
Gregory Nutt
5e09de3703
drivers/tone.c: 50% duty needs to be expressed a a fixed precision number
2017-02-22 06:35:20 -06:00
Gregory Nutt
ae86d7a8c8
Fix mismatched function prototype.
2017-02-21 07:48:00 -06:00
Gregory Nutt
c776407f64
This should resolve issue #30 : Audio Tone Generator and PWM Multiple Output Channel options. I don't actually have a setup to verify it, however.
2017-02-20 17:26:56 -06:00
Gregory Nutt
a92a865be6
TABs instead of spaces in Kconfig
2017-02-20 14:29:56 -06:00
Gregory Nutt
cbebd9c99b
Lower case hex
2016-08-17 17:32:53 -06:00
Alan Carvalho de Assis
d3a5bd4ba0
drivers/audio/tonic.: Remove dependency on LIBM for creating a static table with frequencies notes.
2016-08-17 16:41:00 -06:00
Alan Carvalho de Assis
229a200734
Add NULL termination to tune string and fix missing break
2016-08-17 16:34:49 -06:00
Alan Carvalho de Assis
8b99dd4cdb
drivers/audio: Add Audio Tone Generator for NuttX
2016-08-16 13:20:05 -06:00
Gregory Nutt
23a876ab9c
Move include/nuttx/math.h to include/nuttx/lib/math.h
2016-07-21 13:58:09 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
8ce929a915
Centralize definitions associated with CONFIG_DEBUG_I2S
2016-06-15 16:54:01 -06:00
Gregory Nutt
0665c7e06c
drivers/: Change some nerr() ERRORS to ninfo() and nwarn() WARNINGS.
2016-06-12 09:26:12 -06:00
Gregory Nutt
a1469a3e95
Add CONFIG_DEBUG_ERROR. Change names of *dbg() * *err()
2016-06-11 15:50:49 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
3a74a438d9
Rename CONFIG_DEBUG_VERBOSE to CONFIG_DEBUG_INFO
2016-06-11 11:50:18 -06:00
Gregory Nutt
2244ed46bc
nuttx/drivers: Replace irqsave() with enter_critical_section(); replace irqrestore() with leave_critical_section()
2016-02-14 07:32:58 -06:00
Gregory Nutt
9ce58ad5b7
I2C: up_i2creset should not be a global function; Now it is an I2C interface method
2016-02-02 11:21:48 -06:00
Gregory Nutt
69ce24c70c
I2C: Remove the setfrequency method from the interface
2016-02-01 16:31:13 -06:00
Gregory Nutt
6ad641888b
Add I2C frequency to the i2c_msg_s structure
2016-02-01 14:17:20 -06:00
Gregory Nutt
f9053182d3
I2C: Remove setaddress method
2016-02-01 12:14:31 -06:00
Gregory Nutt
8c9bddf998
I2C: Eliminate the I2C_WRITE and I2C_READ macros
2016-02-01 08:57:22 -06:00
Gregory Nutt
3a781a2d3f
Remove I2C slave methods from I2C master interface; rename i2c_dev_s to i2c_master_s.
2016-01-30 08:36:47 -06:00
Gregory Nutt
ceb415204e
Move include/nuttx/i2c.h to include/nuttx/i2c/i2c_master.h
2016-01-30 08:00:16 -06:00
Gregory Nutt
f6e49caba8
All SPI-based device drivers needs to call SPI_HWFEATURES() with zero in order to co-exist with drivers that use H/W features
2016-01-23 16:18:13 -06:00
Gregory Nutt
cf14f8d1b5
drivers/: Fixes to spacing and alignement
2015-10-10 10:41:00 -06:00
Gregory Nutt
342f5fe33d
Fix references to the no-longer-existent misc/ directory in comments, README files, and documentation
2015-06-28 08:08:57 -06:00
Gregory Nutt
e4d2822af8
Make some file section headers more consistent with standard
2015-04-08 07:15:32 -06:00
Gregory Nutt
b285162e79
Fix some warnings in audio code causing by fixing the prototypes of mq_send() and mq_receive()
2015-02-09 12:50:04 -06:00
Gregory Nutt
2994448d85
More fixes to problems noted by cppcheck. Some are kind of risky; some are real bugs.
2014-11-25 13:15:09 -06:00
Gregory Nutt
d7d759f7a7
Update everything under nuttx/drivers to use the corrected syslog interfaces
2014-10-08 10:18:58 -06:00
Gregory Nutt
205260d5e2
Reanem kzalloc to kmm_zalloc for consistency
2014-08-31 17:34:44 -06:00
Gregory Nutt
1780810d3d
Rename kmalloc to kmm_malloc for consistency
2014-08-31 17:26:36 -06:00
Gregory Nutt
54fa3b0b59
Rename kfree to kmm_free for consistency with other naming conventions
2014-08-31 17:04:02 -06:00
Gregory Nutt
a3e28c2c16
audio NULL driver: Fix an error in a variable name
2014-08-09 10:33:31 -06:00
Gregory Nutt
6e0acd7cd4
WM8904: Don't use MSEC2TICK in timeout calculation
2014-08-08 11:02:45 -06:00
Gregory Nutt
c9661ad5a7
Change all time conversions. Yech. New timer units in microseconds breaks all existing logic that used milliseconds in the conversions. Something likely got broken doing this, probably because I confused a MSEC2TICK conversion with a TICK2MSEC conversion. Also, the tickless OS no appears fully functional and passes the OS test on the simulator with no errors
2014-08-07 18:00:38 -06:00
Gregory Nutt
bb29ba0a00
Costmetic changes
2014-08-05 10:03:29 -06:00
Gregory Nutt
8065ab73a4
WM8904: Add reset logic to put the part back in its initial state after playing each WAV file. Base samles per second on frame length, not bits-per-sample. Use a different frame length for 8-bit and 16-bit data
2014-08-04 19:26:43 -06:00
Gregory Nutt
dc8b040573
WM8904: Correct calculation of bitrate (I am not sure why this is correct). LR clock divisor is now a constant 32-bits per frame. Conditioned out interrupt logic; it is not being used. Also added some FLL lock interrupt/poll logic (which was subsequently disabled).
2014-08-04 15:08:20 -06:00
Gregory Nutt
c68e42c437
WM8904: Restore mystery bit in setup that was accidentally tossed before
2014-08-03 19:29:02 -06:00
Gregory Nutt
678c0aac8d
WM8904: Tried disabling the SYSCLK while updating the FLL. Didn't help but is still probably a correct change
2014-08-03 18:44:51 -06:00
Gregory Nutt
72b739fbcb
WM8904: Add logic to analyze BCLK setup
2014-08-03 17:11:38 -06:00
Gregory Nutt
b9384ced60
WM8904: Various updates to get BCLK/LRCLK correct. Acutally worse the parent, but I think is on the right track
2014-08-03 13:28:20 -06:00
Gregory Nutt
b0d0ac72a7
WM8904 driver: Disable the FFL at the end of playing.
2014-08-02 14:28:10 -06:00
Gregory Nutt
a2d6c0c2b4
WM8904: Add logic to program the FLL to achieve the bitrate
2014-08-02 12:40:57 -06:00
Gregory Nutt
f4bc0ad99a
WM8904: Add an option to control WM8904 register dumping
2014-08-02 06:52:42 -06:00
Gregory Nutt
7e576e308a
WM8904 I2C: Fix an error in writing. I am not sure why this fixes the problem
2014-08-01 18:22:33 -06:00
Gregory Nutt
e59bb45b33
Add debug logic to dump WM8904 registers
2014-08-01 18:07:20 -06:00
Gregory Nutt
3e1e15b04a
WM8904: Can't reset the WM8904 unless we also reinitiailize all registers. Try to get a saner timeout based on sample rate, bits-per-sample, and buffer size.
2014-07-31 19:14:41 -06:00
Gregory Nutt
e214382264
Audio: Change how the end of the audio stream is detected by the leaf audio component. This used by be done by looking for the first partial buffer. That does not work with the in-place sub-sampling performed by the PCM decoder: That always reduces the size of the buffer so that all buffers only partially filled by the time they get to the leaf. Now, a flag is set in the audio buffer flags set to indicate the final buffer in the stream.
2014-07-31 16:36:09 -06:00
Gregory Nutt
487a672d76
WM8904: Was not saving i2s interface instance
2014-07-31 15:00:45 -06:00
Gregory Nutt
75daeb75a3
Fix some compile problems with the WM8904 driver due to recent audio subsystem changes
2014-07-28 16:33:25 -06:00
Gregory Nutt
c9f15ffd3d
PCM: First cut at fast forward by subsampling
2014-07-27 18:33:17 -06:00
Gregory Nutt
0cc9b06eca
Add definitions to support fast forward and rewind configuration
2014-07-27 12:25:40 -06:00
Gregory Nutt
014dd77237
Audio: Fix some compilation issues introduced with some of the recent changes
2014-07-25 11:27:29 -06:00
Gregory Nutt
08fa9a9d54
Costmetic change
2014-07-25 10:04:20 -06:00
Gregory Nutt
0399be55d3
Fix some compile errors when audio DEBUG is enabled
2014-07-24 15:05:13 -06:00
Gregory Nutt
22f8503d0a
Convert ac_format and ac_controls to unions to make access a little cleaner
2014-07-24 10:21:04 -06:00
Gregory Nutt
dba43a9c75
Audio: Get rid of the decoder->driver IOCTLs that I added a couple of commits back; Use existing configure method
2014-07-24 09:56:39 -06:00
Gregory Nutt
e100726a41
Fix a type in the audio Kconfig file, UDIO->AUDIO
2014-07-23 14:48:21 -06:00
Gregory Nutt
72133f5d95
Add ioctls so that PCM decoder can configure the driver bitrate, num channels, and sample width
2014-07-23 12:21:04 -06:00
Gregory Nutt
516b343666
Flesh out missing PCM decoder methods
2014-07-23 11:58:43 -06:00
Gregory Nutt
ca7d7c34ce
Audio: Add a NULL audio device that can be used to simply unit-level testing of audio decoders
2014-07-23 10:12:32 -06:00
Gregory Nutt
cfa76b5278
Flesh out a few more PCM methods, still incomplete. Re-vision PCM structure definition
2014-07-22 19:23:05 -06:00
Gregory Nutt
d7a9633dcd
Rename pcm_decode.h to pcm.h since it will hold more than just decoding definitions. Fix some porting errors like idbg should auddbg, etc. Add wav file header and a few low-level wav utilities.
2014-07-22 15:54:56 -06:00
Gregory Nutt
8548c64915
Remove WM8904 driver unused paramters, clean-up comments, remove some kruft in capability reporting
2014-07-22 11:47:27 -06:00
Gregory Nutt
78d7925ce0
Kconfig: MW8904 driver no longer depends on EXPERIMENTAL (it probably still should)
2014-07-20 10:27:25 -06:00
Gregory Nutt
f4bcb730d2
WM8904 w/NxPlayer: Fix some compile errors and warnings with debug enabled
2014-07-20 09:17:36 -06:00
Gregory Nutt
4f6625380b
The WM8904 audio driver is mostly code complete and ready to begin initial testing
2014-07-19 18:52:58 -06:00
Gregory Nutt
6d9f9e37bf
SAMA5D4-EK: Add WM8904 initialization logic
2014-07-19 11:58:53 -06:00
Gregory Nutt
89ed7ab558
WM8904: Add initialization logic
2014-07-19 10:20:19 -06:00
Gregory Nutt
3b8c4a399d
Framework for a WM8904 audio driver. The initial driver check-in is simply Ken Pettit's VS1053 driver forced to compile with only WM8904 definitions
2014-07-18 15:35:12 -06:00
Gregory Nutt
1ff0536c7f
WM8904: Add header file support for this forcoming driver
2014-07-18 13:28:51 -06:00
Gregory Nutt
3a1324741a
More trailing whilespace removal
2014-04-13 14:32:20 -06:00
Gregory Nutt
6b4796fa5a
Fix typo cloned to many files: SAM32 vs SAM34
2014-02-12 13:00:24 -06:00
Gregory Nutt
91b002a043
Many changes to reduce complaints from CppCheck. Several latent bugs fixes, but probably some new typos introduced
2014-02-10 18:08:49 -06:00
Gregory Nutt
c33fe29c6b
I2S character driver now supports configurable timeouts
2013-11-12 10:18:49 -06:00
Gregory Nutt
2dec8fbf58
Various fixes from initial attempts to integrate the SAMA5 SSC/I2C driver with the I2C character driver loopback test
2013-11-11 15:18:57 -06:00
Gregory Nutt
64a7e96f1f
I2S simplifed audio buffer queuing
2013-11-10 14:51:33 -06:00
Gregory Nutt
9f10539750
Add apps/examples/i2schar that will eventually use the I2C character drvier to verify I2S
2013-11-10 14:08:45 -06:00
Gregory Nutt
926e91555d
VS1053 worker thread stack size is now configurable; Worker thread is named via pthread_setname_np(). From Ken Pettit
2013-11-10 11:03:19 -06:00
Gregory Nutt
f5c82c0df9
Add an I2S character driver. This driver is only intended to support I2S testing and is inappropriate for use with real I2S devices
2013-11-10 10:24:09 -06:00