This set of patches introduces the IIO driver for jack1. Whilst the codeBlocks ide directory is added in the first patch, it is removed in the fourth last patch. Currently the iio_driver_read function is set to a test mode where it writes i/nframes to the input ports ... this is to enable testing. Once tested successfully, this test state can easily be removed. More work is coming on this driver for further testing. Matt Flax (16): Added the beginnings of the iio driver to the codebase. The IIO driver compiles using the C++ preprocessor. The driver requires more code, but in this version the it compiles and the beginnings of Added the beginnings of the functions driver_initialize, iio_driver_bufsize are in place. Also the autotools system is setup to compile IIO if the pre-requisites are present. Added prerequisite checking for the IIO driver and the generation of drivers/iio/Makefile to configure.ac. Also added the iio subdirectory directive to drivers/Makefile.am Added the drivers/iio subdirectory and required code. For the IIO driver : * Implemented the following functions - untested will contain bugs : iio_driver_attach, iio_driver_detach, iio_driver_start, iio_driver_stop, iio_driver_wait, iio_driver_run_cycle, iio_driver_delete, driver_get_descriptor * The function iio_driver_bufsize now checks that the requested buffer size is safe w.r.t. the iio subsystem. It also checks that the iio required read buffer is resized successfully. * driver_initialize : The driver now allows the period size option to be specified on the command line. Checks for acceptable period size and creates the required iio read buffer. Removed UUID from the configure.ac Added JackIIODriverTest.C to test the IIO driver. Reduced the period size to 1024 samples. Added port handling to the iio_driver_attach function. Implemented iio_driver_read. Addeed various run time comments to help understanding whats being processed when. removed a commented out guard from configure.ac iio_driver.c Improved speed, added xrun indications. Removed references to POST_PACKED_STRUCTURE to enable execution on ARM without "Bus error" problems. Addempted to use the IIOThreaded driver to remove latency issues. It turns out that the IIO kernel subsystem is introducing very large latencies at the end of the buffer. A different approach will be sought. Switched to using the mmap to interact with the IIO hardware. Can now specify the number of periods to use. Modified jack to compile without warnings using g++. iio_driver.C, local debugging enabled. driver_null_cycle now empties the MMap queue as per normal operation. If the iio_driver finds no chips by the desired name, then it indicates as jack expects. Added unified_jack_time.h a header file to unify the treatment of both timespce and jack_time_t. Created iio_driver_dummy.c to test the jack framework using a dummy driver and the unified time header to implement the iio_driver_wait function. struct _iio_driver now uses timeType to specify the next time. The macro NEXT_TIME is used to specify the next expected time. Switched to the unified time handling in iio_driver.C Started compiling iio_driver_dummy.C in G++ to ensure nothing strange is happening there to cause xruns when executing the client experienced on the ARM when using iio_driver.C. now compiling the iio_driver_dummy.C using G++ and a high sample rate. The clients now report large xruns, whilst the server doesn't. Removed the codeBlocks ide directory. Removed re-enabled the exit command in the not_overwriting configure.ac section. Fixed copyrights. Added acknowledgements to AUTHORS
Prev | Next Index |
1392326340.13728_0.ltw:2,Sa <1392326321-3699-1-git-send-email-flatmax at flatmax dot org>