STM32F3 discovery board (the regular one) has 4 ADCs. I need these ADCs to sample simultanousely at 4kHz, 12 bit into internal 2000-sample per channel buffer in round-robin (continiously) fashion. There is 48kB of RAM on the device so should be enough for the buffer. The ADCs are fed by the on-board Op-Amps that are in the programmable gain mode.
Then I need device and PC sides of USB interface to upload the buffer to the PC/windows 7. Any communications have to have 'real time feel' but MUST NOT disrupt the analogue sampling. Some of the functions of the ADC and OP-AMPs must be controllable from the PC (see below). The code must be commented in such way that i will be able to add more functions to it later on. English comments only with links to relevant documentation where feasible.
I have desktop C and C-Sharp programming experience and can also use C or C++ based drivers/.dll libraries on the PC. I can also do embedded C but have very little experience with STM32 processors.
I will have to add my own custom DSP to the on-device buffer later on so the software You write must allow this (provide dummy/stub function with pointer to the buffer).
In short, this project is to turn the STM32F into a 4-channel 'USB oscilloscope' but with option to process the signal on board.
Deal is as follows. You write the software for STM32F3 Discovery, and provide PC-side library for me to talk to the device. The PC-side library has to be well documented and allow at least following 'calls'
* get the stored samples from the buffer (all samples at once in single call) - return 'array of int'
* set parameter on device ( can be 'int' )
* get parameter from device (can be 'int' )
Disclosure of all source codes and libraries neccesary. This is a commercial project so no licence-infringing libraries can be used.