LSS Firmware Changes since 160322 // 160502 - Fixed calf.html to return to calf.html instead of cal.html on calibration. hh // 160531 - Changed cp850 test to require user to specify speaker to enable. hh // 160601 - Modified cp850 test to make speaker number first, IP address second and optional. hh // 160608 - Replaced strncpy with strnncpy that adds null termination to string if truncated. hh // 160610 - Added timed redirect to new IP address if IP address changed on config page. Improved translations. hh // 160615 - New cp850 test code works. hh // 160620 - Fixed issue in strnncpy that was corrupting other memory. hh // 160722 - Added indication of running script to home page. hh // 160812 - Changed photoscript detect ratios back to 2. hh // 160922 - Added ScriptStartWhite . Set to 142 or so for white flash script start. Set to 0 for red/green start. For white flash, this is sum of RGB sensor values for about 2fL. // If sensor is above this, it's considered mark. If less than half this value (about 1fL), it's a space. hh // 170609 - Revised command interpreter to accept lss or lss100 command prefix. Not modifying commands sent by web pages (they will remain lss100.sys...). // Removed license keys. All features work on all units. Added screen to let user set admin username and password. Added audio/video sync check. // 170626 - Updated favicon.ico. hh // 170704 - Updated html for cal.html and calf.html. hh // 170707 - Added another HTTP socket. Changed CP850 strings to const to free up RAM. hh // 170709 - Added svg content type header. Got xy graph working. hh // 170711 - Added code for lss.sys.capture_thd, but it does not work yet. Added support for board rev K (same firmware as J). hh // 170713 - Changed example scripts to use lss instead of lss100. hh // 170724 - Added newlines to ConfigFlash.html to make config data clear logo. hh // 170808 - Increased MTCS sensor gain from 512 to 2048. hh // 170809 - Removed 170807 version of LssSpl.h and 170730 version of DspCommunications.c and returned to previous since it broke SPL measurements. Updated checkextflash in CommandInterpreter() to allow // use of new WinBond flash. hh // 170816 - Back to old DSP code. Revised bReadExtFlashID() to read 3 bytes instead of 4. Revised FlashIDCheck in CheckForRestore() to allow either M25P16 or Winbond. hh // 170818 - Added a few lines in bootload.c to get bCopyExtFlashToPic back to correct address. hh // 170828 - Increased AvSyncSampleSeconds from 3.0 to 10.0. Added Light and Sound tick reset in state 2 of AvsPoll(). hh // 170917 - Replaced LssSpl.h with new version from Craig build with UI version 1.8.4. This LssSpl.h version directs light and sound samples to DAC2 output. hh // 170918 - Add AvsInit() to set up analog comparators and timers. hh // 170920 - New akms7757regs.h from Craig. Initializes DAC2 and sends mic and flash to DAC2. hh // 170921 - Back to previous version of akms7757regs.h. New one broke SPL and did not send mic and flash to DAC2, though it did move DAC2 outputs to 1.65VDC. hh // 170922 - Applied Craig's new akms7757regs.h. hh // 170923 - Replaced DSP code with that supplied by Craig on 170923. hh // 170925 - Replaced DSP code with Craig's zip file of 9/22/17. Repladed LssSpl.h with LssSpl.h.180 of 9/24/17. hh // 170925 = Changed ColorTask() to use Y value from sensor*ColorCorreltationMatrix for all versions (RGB or XYZ sensor) unless there is a separate photopic sensor (versions E through I). hh // Replace DSP code with Craig's version 170925 which adds 32 dB gain befor AOUT2L. // 170926 - Revised and simplified sync check code. hh // 170928 - Turn on photo script start debug. hh // 170930 - Fixed CP850. Turn off photo script debug. In chart, changed stroke color to black. hh // 171001 - Work on translate which broke. hh // 171002 - Worked on LoggingInit so FirstLogRecord would be correct. This was causing issue with CSV download. hh // 171003 - Added block to LogWrite() to fix bad FirstLogRecord. hh // 171011 - Added leading # to LSS generated log entries to LSSDB can filter those out if desired. Added debug command. hh // 171013 - Changed CP850 code to use TickDouble. Added 1 second delay between POST commands and before TCP disconnect. hh // 171031 - Renamed project from LSS100 to LSS reflecting use on various LSS models. Changed source directory from lss100 to src. Added to GIT. hh // 171107 - Increased size of SystemData.SerialNumber string from 10 bytes to 50 bytes, including null terminator. Changed calculation of two low bytes of MAC address from // reading integer value of serial number to using two low bytes of a hash of the serial number string. Allows use of QSC alphanumeric serial numbers. // 171113 - Added logging of Ethernet errors in ENCX24J600.c. Added XYZ sensor IR compensation. hh // 171014 - Added lss.cal.set_ir_offset command. hh // 180102 - Remove XYZ sensor IR compensation. New DSP code from Craig that reduces visible light sensor gain from +20 dB to -5 dB. Change THD command to only have max, no min. hh // 180103 - Increased delay after frequency set in THD capture to 1 second. Added commands TPL and TPR. hh // 180104 - Add initialization and runtime support for board rev L. Remove IR from config page for rev above K. hh // 180105 - Added address check of bBootLoadVer in main(). hh // 180109 - Modified BootProcDefs.ld and BootLinker.ld to fix location of bCopyExtFlashToPic addr = 0x9fc005ec and bBootLoadVer addr = 0x9fc005e0. Note that these are // called from the jump table in the application section. hh // 180110 - Revert several files to remove IR compensation. hh // 180122 - Added lss.cal.avsync_tick|x|y\r. x is light flash tick timer, y is sound pop tick timer. Set or read. hh // 180125 - Changed lss.cal.avsync_tick to use PolledFlashTicks and PolledPopTicks. Updated text about white threshold on scripts page to take BoardRev into account // since XYZ sensor is more sensitive than RGB sensor. Both set threshold at about 2 fL. hh // 180126 - Corrected config page to not show IR sensor on board rev J and above. hh // 180129 - Made IR sensor invisible on cal pages if board rev indicates this is LSS-200. hh // 180205 - Added case 'L' in a couple switch statements where board rev L was missing. hh // 180206 - Added debug code to AvsPoll() so pin 51 follows light sensor comparator, and pin 1 follows sound sensor comparator. hh // 180208 - Fixed command lss.cal.save_pic_to_restore_flash. hh // 180209 - Added 3D luminance and chromaticty to DefaultScript. hh // 180210 - Added lss.sys.capture_audio_sync_delay_at_smpte command to command interpreter and default script. Added setting of XYZ dark count to // lss.cal.photopic_dark_count_capture command and to pdc in HttpPostConfig.c. . hh // 180211 - Changed LogRecordNum++ in HTTPPrint_LogCsv to LogRecordNum=GetNextLogRecordNumber(LogRecordNum) so record number wraps properly. // Revised ColorTask() to prohibit negative XYZ values and deal with a couple divide by zero possibilities. hh // 180212 - Corrected reference to LSS-100 on config page and in translation file. hh // 180217 - Revised handling of serial numbers. If s/n is 9 characters long, it is assumed to be QSC format (RD-000118-00).If not, it assumed to be a number. // Numeric serial numbers are used as is. QSC serial numbers are converted to a 32 bit unsigned int as shown below. YY and WW fields are larger than required, but make // it easier to read result coded in hex // D15..D0 Last 3 characters of 4 character base29 sequence number converted to decimal // D23..D16 Week of year encoded in 8 bits // D31..D24 Last two digits of year encoded in 8 bits // Example: Serial number in QSC form is C46160BCF // Sequence number is (29*29*10) + (29*11) + 12 = 8,741. = 0x2225 // Week of year = 46 = 0x2e. // Last 2 digits of year =16 = 0x10. // Combining, serial number reported to LSS-DB = 0x102e2225 = 271458853 // This is what goes in XML to LSS-DB: 271458853 // In addition, the serial number is prepended to user defined comment posted to LSS-DB: SN:C46160BCF. Test comment. The quick brown fox jumped over the lazy dog's back. 12345678901234567890 // Example: Serial number is numeric 12345 // Serial number is sent unchanged. // 12345 // SN:12345. Test comment. The quick brown fox jumped over the lazy dog's back. 12345678901234567890 // NOTE: The generation of the number to put in the SerialNumber element is done during system boot. Changes to serial number will not cause a change to the SerialNumber // element until the system is rebooted. Also, the active script is overwritten with the default script when serial number is set and when CopyPicToFlash is run.