CFSound III Downloads
Sample CFSOUND.INI File
Sample CFSound.ini file[CFSound.ini]
Sample
Test Sound Files
Set of files to Test/demonstrate the playing of sounds from contact inputs[CFSound3TestSounds.zip]
Pre-Wired Kit Sound Files
Set of files from Pre-Wired Kits M1, M2, & M3 to demonstrate the playing of sounds from motion sensors[KITM123_Sound_Files.zip]
Set of files from Pre-Wired Kits S1, S2, & S3 to demonstrate the playing of sounds from Push Button Switches[KITS123_Sound_Files.zip]
R2D2 Sound Files
CFSound3 R2D2 44kHz Wav Files.zip
Latest Firmware Revisions
CFSound3 Revisions 1 & 2
CFSound3_Firmware_3_15.zip
(revision history here)
CFSound3 Revisions 3 and later
CFSound3_Rev3_Firmware_v4_2.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_3.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_4.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_5.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_6.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_7.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_9.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_9_SDRAM.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_10.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_10_SDRAM.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_11.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_11_SDRAM.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_12.zip
(revision history
here)
CFSound3_Rev3_Firmware_v4_12_SDRAM.zip
(revision history
here)
Windows Firmware Programming Utility
CFSound III Windows Programming Software[CFSound3_SpiBoot_Windows_Utility.zip]
Firmware Programming Instructions
Programming Instructions
pdf[CFSound_III_Firmware_Programming.pdf]
Operational Utilities
Download Windows Sound Queuing Software[QueueCFSound.zip]
| Version | Date | Comments |
|---|---|---|
| 3.0 | Version 3.0 first translated from CFSound-II v2.19 firmware. | |
| 3.0a | Fixed intermittent sample rate distortion problem by changing which Sport interrupt updated the Codec. | |
| 3.0b | Changed clock multiplier to improve reliability with slower CF cards. | |
| 3.1 | Added timeout on Codec initial frame detection with Red LED error flash. Slowed down flash rate. | |
|
3.2 | Changes for revision 1 prototypes – new codec, new amplifier, extra contact input. | |
| 3.4 | Extended conditionals in sound end if/else chain to skip checking for background sound restart/start when autoplay sequence is running. Also restart any BackgroundDelayTimer when an autoplay sequence ends. | |
| 3.5 | First version with FAT32 support. Also moved partition detection into RDCF with new call. Increased ATA_Reset() software reset command delay to allow Sandisk 4GB CF card to work. Added volume up/down autokey. Corrected cardID display of cylinders/heads/sectors by eliminating the byte swapping for 'endianess'. | |
| 3.6 | Changed LoadSoundBuffer() to always return the number of bytes read from the file, whether mono/stereo. Changed calls to process the returned result based upon mono/stereo. Fixes the problem of mono files stopping halfway through playout. | |
| 3.7 | Integration of ACS Basic interpreter. Changed contact debounce processing to force on-board contacts 25 & 26 at the end of the contact array so they can be treated identically everyplace instead of as special cases. Corrected bug in UDA1345 interrupt handler that caused premature end of contact triggered sounds. | |
| 3.8 | Cleared the PlaySound queue in PlaySound_Stop() for ACS Basic. Changed UART escape detection logic to require two successive escapes so that LCD key commands with escapes can be processed. Corrected problem with PlaySound() not clearing the CurrentPlaySound before calling IsValidWaveFile() that led to Basic incorrectly playing mono sounds as stereo. Upgraded ACS Basic to v1.4. | |
| 3.9 | Changed partition table logic to handle CF cards formatted without a partition table. | |
| 3.10 | Rewrote partition table logic to improve compatability with various CF card formats. Upgrade ACS Basic to v1.5. Added extra Red LED flashing error codes, and allow up to four codes to be flashed in sequence. Slowed Green LED flashing when running ACS Basic. Corrected bug introduced in VDSP v4.5 sscanf() used in parsing received RS-232 command messages. | |
| 3.11 | Upgraded ACS Basic to v1.6. Corrected PlaySound_SetVolume() to correctly set the volume from Basic. Modified UART_Init() to choose closer integer baud rate divisor. | |
| 3.12 | Added ability to set, increase or decrease the volume from the RS-232 serial port. | |
| 3.13 | Added ability to mute or un-mute the speaker amplifier from the RS-232 serial port. Added Red LED error code to indicate when the speaker is muted. Upgrade ACS Basic to v1.7. | |
| 3.14 | Added ability to fade the the volume from the RS-232 port. | |
| 3.15 | Added detection of amplifier over-current and recovery due to output shorts. | |
| 4.0 | Added support for second contact I/O card for new Revision 3 CFSound-3. Upgrade ACS Basic to v1.8. | |
| 4.1 | Shortened startup delay. Added BackgroundRestart CFSOUND.INI option. | |
| 4.2 | Added detection of amplifier over-current and recovery due to output shorts. Added support for LineIn to Speakers/LineOut when no sound is playing. Added CFSOUND.INI [LineIn] section with LineInputEnabled=TRUE/FALSE (default=FALSE) configuration item. Upgrade ACS Basic to v1.9. | |
| 4.3 | Renamed CFSOUND.INI option LineInputEnabled to LineInputAlwaysEnabled. Added [Contacts]LineInputEnableContactNumber option. Added code to stop any playing sound and enable LineIn when the specified contact is active (Closed). Added Red LED flashing error code if SequenceContactNumber and LineInputEnableContactNumber are set to the same value. | |
| 4.4 | Upgrade ACS Basic to v1.10. Added [Contacts]PttOutputWithLineInputContact option. If enabled, PTT relay follows non-zero LineInputEnabledContactNumber state, otherwise PTT relay activation controlled by sounds with the Relay attribute in their filename. | |
| 4.5 | Upgrade ACS Basic to v1.11. Corrected PTT relay operation for sounds broken by changes in v4.4. | |
| 4.6 | Upgrade ACS Basic to v1.12. | |
| 4.7 | Upgrade ACS Basic to v1.13. Increase buffer size to speed-up file I/O. Corrected Real-Time Clock calculation for year and month rollover at midnight. | |
| 4.8 | Internal development version. Upgrade ACS Basic to v1.14. | |
| 4.9 | Added support for new DMX I/O module. Upgraded ACS Basic to v1.15. Fixed bug in filesystem where file creation date had incorrect year. Added compilation option to build version that will execute out of Flash or faster SDRAM. | |
| 4.10 | Upgrade ACS Basic to v1.16. Corrected a race condition in PlaySound_Process() that caused intermittent failures of sound queue empty signaling. | |
| 4.11 | Upgrade ACS Basic to v1.17. Corrected DMX flickering between sounds if no background sound present. Introduced faster SDRAM versions. | |
| 4.12 | Removed debugging delay that was causing inadvertent contact activation during power-up detection of optional DMX module. |
ACS Basic Revision History
| Version | Date | Comments |
|---|---|---|
| 1.0 | First started development. | |
| 1.1 | Changes to run on CFSound-III prototype. | |
| 1.2 | Additions to allow sound playing. | |
| 1.3 | Changed DisplayProgramListing() to add a preceding space to a secondary keyword if it's preceded by an unsubscripted specialvar. | |
|
1.4 | Upgrade VDSP toolset from 3.5 to 4.5. Changed MEMORY specialvar to call new heap_space_unused(0) to show program memory left. Added @BAUD special var. Added MULDIV() function. Added support forstringlexicographicalrelationcheckingwith<,<= ,>,>= operators. Added divide by zero checking on /, % and MULDIV function. Increased size of available program memory from 4095 bytes to 131068 bytes by moving the heap from L1 to L2 memory. Added FIND() function. Corrected @MSG$ variable events. Corrected MID$() index to be zero based. Added LCDx statements to support ACS-LCD-128x64 on serial port. | |
| 1.5 | Added @PTT special var. Clear CFSound Red LED indicator flashes if RUN command issued. | |
| 1.6 | Added LCDBITMAP command. | |
| 1.7 | 2-08-07 | Added @MUTE special var. Un-mute amplifier if RUN command issued. |
| 1.8 | Added @PORT2 special var and support functions for new CFSound-3 revision 3. | |
| 1.9 | Added @LINEIN special var. Disable line input if RUN command issued. Added @NSVOL special var that changes the current volume but doesn’t save it to NVRAM. Corrected syntax error on attempts to access @PORT2 special var. | |
| 1.10 | Corrected LCDBITMAP command memory free() calls to be in reverse matching order to calloc() calls to minimize memory fragmentation. Increased size of the available program memory from 131068 to 524284 bytes. Cleared any pending TIMER events upon TIMER assignment. Clear pending escapes when RUN command issued. Fix SYNTAX_ERROR on empty command line. Fixed problem with WAIT statement hanging up due to ONEVENT handling clearing events between statements - now only clear events between statements if there is an event handler defined and executed. Added EDIT line command. Corrected @YEAR to return two digit year. Corrected the ability to GOTO self AND still process events. | |
| 1.11 | Corrected @CONTACT()= assignments to be active true
(non-zero assignment turns output contact on). Corrected ABS() function to
return correct value. Rewrote string handling to be to be similar to
numeric expression handling allowing true nesting. Change @DOW to be
read-only, 0=Sunday -> 6=Saturday computed from the epoch Thursday
January 1, 1970. Added VAL() to return the numeric value of a string
argument. Added STR$() to return the string representation of a numeric
argument. Added optional ELSE clause to IF/THEN statement. Added FOPEN #N,
FREAD #N and FWRITE #N commands. Added @FEOF(#N) specialvar. Removed
useless EXIT command. Added EXITFOR command to allow exiting to a line
from within a for/next loop without receiving a nesting error. Added AND /
OR logical operators. Corrected operator priority so that statements like
A=0 OR A=2 and A*2+3 evaluate correctly. Changed bitwise ! to ~. Added NOT
operator. Added ERR$() function to return string representation of last
error number. Added FINSERT #N and FDELETE #N commands. Corrected |
|
| 1.12 | Conditionalized contact closure and opening processing in BasicTimer_Process() to only set the event and remove the closure if there is an event handler defined to allow the use of @CLOSURE and @OPENING in a program without an event handler. | |
| 1.13 | Increased stream I/O buffer size from 512 to 32256 bytes to speed-up program loading and file I/O statements. Added escape detection to terminate TYPE command output. Added MULMOD() function. | |
| 1.14 | Corrected @PORT() and @PORT2() special variables to update the OutputContacts[] as well if the port number is <=2. | |
| 1.15 | Added call to flush uart tx queue in Basic_Process if escape sequence is detected to interrupt long program & type command output. Added @DMXxxxx specialvars. Fixed bug in ORDER statement not finding the referenced DATA statement. | |
| 1.16 | Added @DMXANALOG specialvars. Corrected a race condition that caused @SOUND$ events to be missed. | |
| 1.17 | Corrected lockup bug with FIND() function. Corrected Syntax Error in INPUT #N statements when end of file #N is reached. Added FINPUT #N statement. Corrected FREAD and FINPUT statements to give Out of Data error if they run out of data in the file #N before all of the variables are assigned values. Added three new error codes. Added @LCDADDRESS specialvar. Added additional error descriptions following the line number for some Syntax errors. Added @LCDTYPE specialvar to affect operation of LCDx statements and provide support for ACS-LCD320x240 on serial port. |
Copyright© 1992 - 2008 ACS, Sarasota, FL. All rights reserved. Windows TM is a trademark of the Microsoft Corporation. All other brand names or product names are or may be the trademarks or registered trademarks of their respective companies.