I have two hardware devices from which I need to obtain data and perform operations (integration, multiplication type stuff). The interaction with the two devices is invariant, but depending on user settings, the calculations differ slightly. One device (D1) is connected to a PC via a serial port (RS232). It transmits two values (in one string that must then be "converted" to two numbers). The other device (D2) is connected via USB. It comes with a DLL which can be used to obtain an array of values needed for further calculations. 1. The software should give the user two choices for the type of file they wish to create (output file) : standard or sample. 2. There are also three choices of filter type (1,2,or 3) which will be used to open correction files (1,2,or 3). 3. After the user selects these parameters, the software should prompt the user to enter a blank sample. The two readings from D1 are obtained, as well as the array from D2. Each should be stored for further calculations. 4. The two readings from D1 are then "zeroed" and a prompt is issued to add a sample. The user then adjusts the sample such that it falls within a desired range (dynamic range window of software keeps user informed of current measurement). After the user decides the sample is at the appropriate value, Datum1 is calculated (simple ratio of two readings from D1 for the blank and sample). 5. After the sample is at the appropriate value (Datum1), the reading of the array from D2 is obtained (for the sample). 6. A correction to the arrays from D2 is applied (data from external file read). The correction is a function of the filter used. 7. The arrays from D2 are then combined - the blank array is subtracted from the sample array and the resulting array values integrated (the resulting array corresponds to "y" values and separate array either read in or in the source data corresponds to the "x" values.) - Datum2. 8. If the type of file selected was a standard, a fixed Q value is set. If the file was a sample, steps 3 to 7 are repeated and a ratio of the resulting data - Datum1 for standard and sample, and Datum2 for standard and sample is taken and used as the Q value. 9. This data is written to a file (Q, Datum1, Datum2, filter, file type, corrected arrays from D2). 10. This data is also written to the screen (Q, Datum1, graph of the corrected array from D2 (vs. x)for the sample).
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.