Specification (MUST BE WRITTEN IN C):
- Shall install and run on Windows both 32- and 64-bit Vista, 7, 8
- Program is portable executable (EXE)
- Program icon is small version of logo
- Has installer with option to place icon on Desktop
- Will be distributed on included CD and by Internet download
- Program will open in a window (Not console app)
- Code shall conform to Coding Quality Standards section, below.
- Window title shall be ”Audiogram Transfer Utility”
- Window will have static text “Smart Diagnostic Devices Audiogram Transfer Utility v. 1.00” as well as company logo.
- Program will have one menu named File. This menu will have two items: Transfer, and Exit.
- Choosing Transfer from the file menu will do the following:
o Open serial port for transfer
• Call function BUSerPortEnum(LPSTR PortStr) to get serial port. PortStr is a point to the port string suitable for passing into CreateFile(). (This function is external. For now, just stub function out and always return COM4.)
• If no SMART TONE exists, function returns a zero-length string
• Program shall report that the SMART TONE is not detected and return gracefully to main menu.
• Stub function can return null string to check error handling.
o All tagged audiograms are transferred from the SMART TONE using batch mode (See Record Transfer Protocol section, below.)
• The maximum number of audiograms shall be defined as a constant. Suggest MAX_AUDIOGRAMS 300, but design as if the maximum number might increase to 10,000.
• See section below for transfer protocol and record definition.
o Display a dialog box with the text “Transferring Audiograms” and “Number transferred: xx” where xx is the number transferred successfully up to that point.
• Dialog box shall maintain parent-child relationship.
• The dialog box shall have the following controls:
• Include Header check box
• Open File After Save check box
• Text: “Save Audiograms to: (disabled until transfer completes)
• Save button (disabled until transfer completes)
• Cancel button
o Error conditions during transfer
• If no characters received, display error message box (error text not yet defined)
• If illegal characters or record received, display error message box (error text not yet defined)
o At the conclusion of the transfer, the dialog box will display
• File name and path in the form My Documents\Audiograms\<filename>.csv
• File name shall be “SmartTonennnnn_ccyy-mm-dd-hhmmss
o nnnnn is the 5-digit serial number obtained during the transfer (see input record definition)
o ccyy-mm-dd is the date taken from Windows (e.g. 2013-10-08)
o hhmmss is the time taken from Windows (e.g. 142513 for 2:25:13 PM)
• File will be set as read only at conclusion of writing.
• The Cancel button changes to a Close button
• If the user clicks Save and the file exists:
• The user will be prompted with the information that the file exists and that the transfer has been cancelled.
• If the user clicks Save and the file does not exist:
• The file is created with a header line, if selected
o Header definition is below.
• All records are written to the file in CSV format
o Each record is followed by CR/LF (<0dh 0Ah>)
• A message box stating success or failure of the save will be displayed at the conclusion of writing the file.
• If Open File After Save is selected, the program shall launch the file using the default program set up in the registry
• If the user clicks Close or Cancel, a message box appears with the text, “Transfer cancelled. No records were written to file. You will need to tag the audiograms in the SMART TONE in order to transfer them again.”
- The resulting file format will open in a friendly format in Excel 2010 and 2013 or in a less friendly format with Notepad
- May need license notice in program as well, not sure.