Creation of an Embedded Application Using QuX and the SI-DDK
February 11, 2008

1) VQ Add Test
Based on one of the QuVIEW demos, illustrates the method for extracting addresses. A resultant "QuList" file will be created, a DSP binary file which essentially is a self contained DSP COFF file along with the QuX core.

Summary of binaries used for this step:
	a) VI: \vq_addtest.llb\QuX_VQ Add Test (Create File): QuVIEW VI to create the DSP QuList file, as well as run application.
	b) resultant DSP QuList fie: qulist_vq_basicmathtest.out

--------------------------------

2) NoQuX - VQ Add Test
This demo emulates the aforementioned QuVIEW demo, but instead will use our generic SISAMPLIB DLL to perform the host-DSP application using our the generic 'c33plx_lv5.llb' library.  Note that this LabVIEW library is located inside of the '\sidev\binaries\sihw_apps\C33\' folder, and is nothing more than a graphical shell to our generic SISAMPLIB.DLL

This demo should be sufficient to use our foundation SI DDK source code, and will *not* use QuVIEW functions. All of the source code is available to complete this step.

Summary of binaries used for this step:
	a) VI: \vq_addtest.llb\NoQuX_VQ Add Test.
Non QuVIEW VI that runs the add test application, using generic functions inside of 'c33plx_lv5.llb'.
	b) resultant DSP QuList file: qulist_vq_basicmathtest.out.
	c) Generic VI library: c33plx_lv5.llb
VI library that acts as a wrapper around generic SISAMPLIB.DLL.
	d) DLL: sisamplib.dll
Generic DLL supplied with SIDEV.ZIP

--------------------------------

3) DLL - VQ Add Test
This demo essentially is a separate DLL that emulates the functionality of the 'NoQuX - VQ Add Test' VI of the previous step, whose functions make use of those already resident inside of the generic SISAMPLIB.DLL. In this step, theLabVIEW VI acts as nothing more than a shell.

Summary of binaries used for this step:
	a) VI: \vq_addtest.llb\DLL_VQ Add Test
Wrapper VI that runs the add test application, implemented via the 'vq_addtest.dll'.
	b) resultant DSP QuList fie: qulist_vq_basicmathtest.out
	c) DLL: sisamplib.dll
Generic DLL supplied with SIDEV.ZIP, whos functions are called by ADDTEST.DLL.

--------------------------------

Notes:
1) The supplied project and related source code to create the 'vq_addtest.dll' is for Windows exclusively (VC 6). However, the generic SISAMPLIB project contains all source code for creating either Windows DLLs or Linux shared object files, and can be used as a guide if it is necessary to port the 'vq_addtest.dll' to operate with Linux.

2) Under Windows, it is necessary to explicitly hardwire the complete file path for the secondary SISAMPLIB.DLL. Please refer to 'VQ_AddTest.cpp' in order to alter this path as required.

3) In order to link and call dlls properly (vq_addtest.dll and sisamplib.dll), all DLLs as well as the main calling application (i.e. Labview.exe) must reside in the same folder.

4) The reason for creating a separate 'VQ Add Test' DLL project to perform the application as opposed to integrating all functions into a single project is to:
	a) preserve basic functionality of the SIDEV generic functions as manifest with the SISAMPLIB.DLL.
	b) isolate the application specific Add Test DLL for ease of debugging.

5) For VQ functions, 'Generation' variables are used to synchronize data exchange between the host and DSP. A boolean labeled as 'Sync to Gen?' is set to 'YES: Enable Gen Synch' so the host-DSP combo are synchronized.  On the other hand, if set for 'NO: Disable Gen Synch', the host-DSP combo will exchange data freely, with the slight risk of buffers being overwritten by the faster processor.

6) The variable labeled as 'Expected Output Size' is only used as an indicator for the DLL to allocate resources for the output vector.
