0307 /* * * * * * * * * * * * * * * * * * * * * * * * * * * Vers Date Who What 01.00 22.09.03 RS - first release for production annuncicom ic 01b01 02.10.03 RS - added parameter to set command for IO/1 on/off actions - added command to set/reset talk via command - added command for reset to defaults without network - correct commands for factory defaults - extend length of init sequence to 64 characters - added command r= to send udp commands to other devices - added configuration parameter for udp and tcp cmd rx port 03.10.03 RS - fixed blocking streams if a client is missed 06.10.03 RS - added telnet port (default 12303) for telnet <-> serial (default 9600,8,n,1 no flowctrl) with parameter for port, baudrate, data-, stopbits, parity, flowcontrol - send back always with own udp rx port as destination - store last ip of commands for send back - fixed remote commands without protocol 07.10.03 RS - active open serial gateway (telnet) with destination ip and port. if both set this function is active. - stream udp to addr 0.0.0.0 is broadcasting on the subnet - if udp send stream port is 0 use udp rx port. if the udp rx port is 0 aus default port 3030 - added parameter to set command for CTS on/off actions - added command to set/reset cts via command - added parameter preset to store the selected preset 08.10.03 RS - don't allow sending during streaming - added command for forced talk - added status for talk, in-/exstreaming active and streaming mode and added them in getstate - fixed setup for concatenated command sequences - fixed volume control if loop to output is activated and the volume is temporary changed by user control 09.10.03 RS - added internet radio support for annuncicom - on active serial gateway test every 30s for a connection. if no answer after 1s activate serial command interface in the mean time - the green led blinks slow if sending and fast if receiveing. it is on if not sending nor recieving the red led blinks together with the green if talk is forced. it blinks every second time if talk is suppressed and it blinks together with the green led if talk is forced 10.10.03 RS - fixed encoder quality setting - pre play parameter new in msec 13.10.03 RS - PIO1 used to shoutdown amplifier if 0 21.10.03 RS - fix for correct value for D OUT (difference web page -> D OUT) - fix for broken streams 30.10.03 RS - added answer page for dynamic marks - fix for configuration of empty strings - added port and type to command set target and fixed command concatenation after this command - added definitions for inmode configuration for spdif1/2 in - fix for don't stop sending in streaming mode send on receive 12.11.03 RS - fix commands for html configuration 28.11.03 RS - fix web app vers in discover 01.02 08.12.03 RS - don't accept toggle command durning toggle time (discard it) - fix configuration positions of cts commands etc. 09.12.03 RS - removed telnet setup (available still in the bootloader) 01.03 17.12.03 RS - fix for string2url if character changed to %hh 08.01.04 RS - wait until streaming buffer empty before rx timeout executed 09.01.04 RS - stop streaming on buffer underrun, restart after start threshold bytes are received - play buffer default value set to 1024 06.02.04 RS - added command for set encoding quality - set single channel mode for encoding if mono is set 09.02.04 RS - activate command RESETTALK for instreamer too - set factory default for instreamer cts close command to RESETTALK and cts open to FORCETALK - fix for set config strings that contain the character & 17.02.04 RS - fixed streaming breaks on internet radio streams - set default play buffer size to 4096 - if rx stream is detected during sending (not forced) stop own tx stream - added parameter name for the device - changed setup and dyn. marks to newest version - added name parameter - added ir out support for instreamer - don't set pio22 as output because it isn't needed 22.02.04 RS - fixed rts/cts for serial gateway - set param pre start to 0 per default 24.02.04 RS - added ir gateway 27.02.04 RS - added no-cache to http response (for all dyn files and commands) 01.03.04 RS - show lan mac address, add id 6 for active mac (for wireless) - included TFTP - store volume correct if mute - removed balance and stereo out command 01.04 10.03.04 RS - use always stereo/mono from inmode parameter after autodetection of the input - added workaround for codec error (s/pdif) - fixed selection of optic. or coax. s/pdif in - faster sonic ip 12.03.04 RS - added sync master functionality 01.05 22.03.04 RS - added SNMP private tree and traps 23.03.04 RS - SPDIFOPT_EN (pio23) fix to 1 for always connect SPDIR to AGND 30.03.04 RS - sync output ptr is directly the input of the encoder, this moves the sync nearer to the original source 16.04.04 RS - don't stop reader for encoded data on buffer overrun 13.05.04 RS - buffer underrun mode disconnect or skip (incl. param) 14.05.04 RS - improved speed for web pages (read quasi peak only every 0.5s) - fixed and optimized encoder reading - fix for dyn. marks where string params are after 2. par - busy wait before testing command password - support for escape sequences in dyn. marks (without \o) - new dyn. mark for web application versions - support for set config cmd C= via serial, tcp and udp - check max. length of a serial command - added recursive dyn. marks (dyn. marks in dyn. marks) - added dyn. mark for !=, >, < - added dyn. marks for build date - don't wait on udp commands but send nothing back if something else currently is executed - fixed cmd blocking on an error - fixed file handle leak in web server - fixed file handle leak in read file for factory defaults 17.05.04 RS - send encoded data as soon as possible (2ms after last packet received) 18.05.04 RS - if stream connection type is tcp raw a port is set but no ip selected (0.0.0.0) use this as tcp listener - open tcp connection only actively if ip and port is set - fixed streaming status for status page - added dyn. mark for syncstate 01.06.04 RS - don't blink red led during instreaming 02.06.04 RS - fix passiv serial gateway disconnection from other partner (ex. power loss, network down, etc) 03.06.04 RS - send always full length sync packets (minimized bandwith) 07.06.04 RS - fixed encoder interrupt timing 08.06.04 RS - added talk commands with timeouts for keypads 09.06.04 RS - fixed tcp sending mode (tcpopts = 1) for serial gateway (immediate sending) - added functionality serial keypad (qtronix qx-022) including command send to selectable target s= for sending to a target out of a file, to one of the 8 targets in the config and directly to a specific ip/port (udp based) 10.06.04 RS - fixed fragmentation of tcp command answers - command e=255 reinitializes the encoder without change cfg - new faster encoder reading isp routine (bytewise in ram) 11.06.04 RS - fixed tcp stream sending over the buffer wrap - fixed optimized package length 14.06.04 RS - added monitor (only for instreamer) - fix/add (micronas) workaround for s/pdif on coaxial input 15.06.04 RS - return nosupport tag if c= is unknown - monitor encoded stream on headphone (not the original one) 16.06.04 RS - added a/d amplifier gain with parameter (default 0) - fixed setting for encoder clock 18.06.04 RS - added workaround for gargling sound (restart codec if crc is wrong) -> permanent serial debug output and syslog on restart codec) - added mp3 crc disable/enable parameter 21.06.04 RS - reset crc error counter on restart encoder workaround - added parameter bitreservoir used (default)/kept empty - added parameter channel mode extension (default enabled), copyright protection (default protected), copy (default)/original stream and emphasis (default none) - changed snmp mib number from 7777 to real barix id 17491 - added parameter for web server port 22.06.04 RS - added 'stream type' 'internet radio' and use the port as radio port (removed parameter 'radio port'). max. 6 streams are supported. 23.06.04 RS - fixed send status picture on send always 24.06.04 RS - fixed answer for commands that execute command sequences - use get_ticks and get_time instead of ticks and time - use telnet port as source port for active serial gateway 28.06.04 RS - restart encoder after 1 sec if no more encoded data received - added command toggle rts including toggle timeout parameter 01.07.04 RS - improved workaround for micronas encoder error (gargling) mp3 crc must be enabled! 12.07.04 RS - improved workaround for less but faster encoder restarts 13.07.04 RS - added dyn. mark for last caller ip address 14.07.04 RS - restart encoder after 1 sec if no more mp3 frame crc received - added command g= for open serial gateway to specific ip:port, if command executed from serial cmd interface the connection will be closed 1 sec after the last transmitted byte 15.07.04 RS - restart encoder every hour (workaround) 01.06 21.07.04 RS - removed restart encoder every hour (workaround) - restart sync on restart encoder workaround 05.08.04 RS - added parameter for sync port (0 for fix algorithm) - removed crc workaround and use easier workaround from micronas (read out every second D1:$9d8, restart codec if (bit[15:14] == 0) && (bit[0] == bit[16]) is false) 12.08.04 RS - removed tcp rx stream port. use 'stream to' for listeners - restart encoder if no data for 4s from encoder (workaround) 13.08.04 RS - fixed codec handling, locked access 23.08.04 RS - fixed streaming rom song (m=) during encoding 28.08.04 RS - fixed concatenated command seqeunces in configuration - don't discard udp commands during execution of another cmd - scan io's every 50ms (before 20ms) 31.08.04 RS - fixed timeout waiting for end of execution (5 sec) 11.09.04 RS - s/pdif workaround also if mono input is selected 01.07 21.09.04 RS - added * to ir cmd j= - fixed command b=, j=, l=, L=, r=, t=, T=, v= not terminated with 0x00 - fixed bug udp answer not always sent 22.09.04 RS - added volume with inc/dec, balance with inc/dec, bass with inc/dec, treble with inc/dec, loudness with on/off and inc/dec, mute with force, volumelock, mono out and T= commands for the instreamer - if no udp command port is set use the default udp command port for the command r - fixed crash if ir sent during sonic ip 08.11.04 RS - fixed corrputed html/tcp output - calc bitrate for sync every 50ms instead of 100ms 09.11.04 RS - send sync response not as broadcast - fixed crash if udp stream received during startup - if no ip is given for r= cmd (annuncciom ic only) and not yet received an ip then send it as broadcast 11.11.04 RS - fixed neg. values for balance, bass, treble (add c for dyn. mark 'print string if equal') - send back busy.ack on a udp command if currently a command is executed, fix udp and tcp packet loss 18.11.04 RS - fixed blocked listening caused by a underrun if the streaming buffer isn't filled up again by the sender and the rx tout occurs during this time - fixed blocking first command after execution of a parametrized command 02.12.04 RS - no timeout on active gateway cmd g= if executed from tcp - send ack immediately after g= cmd if exectued from serial B1.08 09.12.04 RS - increased primary receiving buffer for tcp listener to 2k fixes stuttering of high bitrate streams - added dyn. mark for streamingmode as value 07.01.05 RS - fixed reentrant bug in dyn. mark for resource version - added ulaw/alaw/uncompressed en/decoding audio formats including parameter non mp3 packet size 10.01.05 RS - added udp and tcp priority port - added command queue to fix missing cmd after short press of I0 or I1 13.01.05 RS - added 8 destination tables including new command s=tab://n, where n is 1..8 (1 is default). on a changetable cmd all current connections will be closed. 14.01.05 RS - added new command loop rom song (M=) - cut rx buf if too many bytes are in because this causes a big delay. 20.01.05 RS - fixed web page garbage bug - last 2 entries in table also can be used as internet radio (still max. 6 stations) 21.01.05 RS - fixed not answering on web interface - correct content-type audio/mpeg for internet radio - all http header changed to version 1.1 25.01.05 RS - fixed cmd m= and M= if concatenated - M= stopps after file played, m= stops immediately, M=*.mp3 loops a file, M=*.mp3 during loop changes the file to the new one after the loop, m=*.mp3 will stop the loop at the end and plays the the file, m=*.mp3 during playing a file will play the new one after the current loop and stops the loop 28.01.05 RS - fixed speed and intersection of sonic ip 10.02.05 RS - fixed factory reset for instreamer 17.02.05 RS - fixed ulaw/alaw streaming (bug because of new M= cmd) B1.09 31.03.05 PK - special version for PowerCorp - commands not broadcasted if no origin source is known - origin source IP expires after 30 seconds B1.10 05.04.05 PK - command queue bug fixed B1.11 13.05.05 KS - Content-type changed to Content-Type for both audio and text Media streaming replies with HTTP/1.0 instead HTTP/1.1 & no Connection: close Bug 1. Security error on logout (D=) corrected 20.05.05 PK - SNMP MIB updated - using 17491 instead of 7777 - Temporarily fixed bug with broken sysDescr B1.12 23.05.05 PK - fixed infinite loop bug when TCP stream is interrupted in PAUSE mode 26.05.05 PK - fixed "audio interrupted every 30 seconds in TCP mode" bug - fixed "device doesn't play first TCP stream after reboot" bug B1.13 08.06.05 PK - c=94 (set defaults) does not mute any more 10.06.05 KK - song and XT version printout added into dynamic marks. 10.06.05 PK - removed 140ms delay on codec switch-over in G711/PCM mode - temporary fix on buffer start treshold B1.14 15.06.05 KS - fixed WEB Method authentication support for: http:///rc.cgi?L= and http:///setup.cgi?L= B1.16 28.06.05 PK - rewritten streaming - priority port, TCP, UDP, all encoding including PCM working correctly KS - If the control password is set you can now issue control commands from WEB Interface But to use this feature you need to update the WEB UI uistatus.html and skin.html with the control password &L(0,"*",7)(bits 1-3=3) PK - fixed possible command queue bug "source ip address overwritten" PK - removed legacy exstreamer commands: PAUSE, PLAY and FORCE_PAUSE (c=3, c=1, c=39) 29.06.05 PK - added compatibility mode for broadcasting "r=c=" commands 06.07.05 KK - Added Icecast and Shoutcast source support - Added Listening password 15.07.05 KS - E29 c=77 command with type=2 (RAW TCP) now disconnects session (which then restarts) SNMP System OID corrected and new Annuncicom OID added Private MIB now readable Community strings, now checked as password L1-6 18.07.05 KS - Added command to Setup method for: Default, Reboot and Update - Broadcast as default for backwards compatinility. 19.07.05 KS - Annuncicom: Set SET_BIT_CHMODEEXT for Mono as default stdgetEx: fixed default index.html which overwrote hdr so if password set, check always failed 20.07.05 PK - Fixed streaming bug - receive timeout didn't work when waiting to fill the buffer 20.07.05 KS - SET_WebMethWebSetup: Save password now also supported via HTTP hdr authentication stdgetEx: Added WWW-Authenticate "realm" reply for pop up password window 21.07.05 KS - WebMethWebSetup: Added SetupRangeCheck - RC_bRTS invertion corrected to use virtual bits 26.07.05 PK - unimportant expression optimization 05.08.05 KS - cosmetic change 09.08.05 KS - Support Syntax: r=[://][[][:]/] where := |{&} <==== 12.08.05 KS Version B1.16 Frozen and Released =======> B1.17 24.08.05 KS - 29. Error in c=77 raw tcp. vReOpenTCPConnections now allocs and initializes a TCP structure if none exists. 34. Radio listen password. Correct Unauthorized return strings for Basic realm 29.08.05 KS - 30. Built with tcp lib that uses max 1200 data bytes. 31.08.05 KS - 39. TFTP removed for security and consistency 31.08.05 PK - siospi moved to the song module 05.09.05 PK - reboot to update-mode fixed for EX 12.09.05 KK - Exstreamer and Instreamer hanged when the connection was lost for more than 120s when Instreamer was streaming raw TCP to Exstreamer listening streaming port. Fixed. <==== 13.09.05 PK Version B1.17 Ended and Version A2.00 Created =======> A2.00 13.09.05 PK - porting to EX platform finished, initial version for both hardwares created - G711 encoding @96MHz fixed on EX - IOs and RTS ported to EX - known issues: none <==== 13.09.05 PK Version B1.17 Released =======> A2.01 14.09.05 KK - Removed the fix from 12.09.05 from Instreamer. It can cause problems because the connection port is not being increased. The fix will be part of the TCP library. 27.09.05 PK - Temporary fix of "serial commands terminated by LF only are ignored" 12.10.05 PK - Codec rev. B2 workaround bug fixed ("instreamer suddenly stops sending data and buffer level is 0") 19.12.05 KK - Added RTP support 27.01.06 KK - Added missing fields into the Icecast header. A2.02 03.02.06 KS - Legacy changes added ===============> 01.09.05 KS - 37. Error streaming "receive mode" fixed 02.09.05 KS - 42. MUTE command (c=8) fixed 38. Modify packet size for 1200 byte tcp library 07.09.05 KS - 40. Security Header now supported in config.bin 19.09.05 KS - 44. Built with tcp16.lib which has working keep alive 19.09.05 KS - 45. Buffer underrun mode (TCP) - disconnect corrected Corrected vCodecEncode leaving Stream disabled. This bug had the side affect the work around for HW bug in CODEC B2 (EncoderCheck) which calls CodecEncode failed. 26.09.05 KS - 48. SNMP Input Audio Level added 27.09.05 KS Serial lf and param fixes. web, startup, printf taken from lib 25.10.05 KS - Serial:RTS Recompile with new bsw lib 27.10.05 KS - RTS initialized with Serial params which are setup only at start 31.01.06 KS - 010.10 vPostCProcessing added to re-register UDP receive ports 01.02.06 KS - 010.11 s=tab://0 added to stop sreaming <==== End of Legacy changes added 09.02.06 KS - 010.11 s=tab://0 corrections 20.02.06 KS 010.13 s=tab://n clear radio session bug fixed FIN,PSH,ACK sent, FIN ignored. This known bug thought to be correted is still not fixed in current tcp16. So sending data+FIN is avoided. 03.03.06 KK - Added IPAM support into the rescue kit. <==== 04.03.06 KS - Version B2.02 Released =======> B2.03 11.03.06 KS - Replace in line_code with HW_BootLoader() 21.03.06 PK - added support for the Annuncicom 100 01.04.06 KS - Call to HW_BootLoader() 1 sec delay addded to allow http to complete <==== 06.04.06 KS Version B2.03 Released =======> A2.04 01.06.06 KK - The bootloader version is now displayed correctly for both new and old bootloader. 22.06.06 KS - 10.21 Set Relay with Exstream 04.07.06 PK - Second serial port support, passive gateway <==== 05.07.06 PK Version A2.04 Released =======> <==== 20.07.06 KK Version 0205 Frozen and released =======> 21.07.06 KS - Updated to use bhw::hware.c::HW_BootLoader instead of local function <==== 24.07.06 KK Version 0206 Frozen and released =======> 22.08.06 KK - Fixed that the prestart bytes were sometimes chopped out. 23.08.06 KK - Added minimum priority message volume. 23.08.06 KK - Increased the default Receive Timeout from 100ms to 200ms. 28.08.06 KK - Hidden the second serial port on the old hardware. 28.08.06 KK - Removed the audio input autodetect feature. 30.08.06 KK - Added active TCP possibility for the second serial port. 30.08.06 KK - Added a configurable passive port for the second serial port. <==== 19.09.06 KK Version B207 Frozen and released ===> A208 19.10.06 KK - Added that if you add start.html it takes priority over the builtin index.html. 06.11.06 KK - Added config_raw.bin into the rescue kit which is a version of config.bin without the 13-byte header. 24.11.06 KK - When reset was pressed long to restore factory defaults, the SonicIP switch remained in the original position. Changed that it is being overwritten, too. 02.02.07 KS - media.c removed TcpGetBuf(void) declaration 26.03.07 KK - Fixed choking with Windows or OpenBSD every 5 seconds. 23.04.07 KS - Modified to use local song.bin (V4.07) from distfiles 08.05.07 KK - 28.07 Fixed bug - memory corruption that occured every time a command was received through the web interface. 11.05.07 KK - Fixed bug - memory corruption - that occured upon receipt of unterminated or zero-length UDP command. 23.05.07 KS - vDetectCommand added check for non zero cmd->w 18.06.07 KS - Builds now include: 019.05 BHW version 1.12 which corrects bug in Ethernet driver (NIC960) 19.06.07 KS - 28.08 Added MEDIA_MixerMute for fast mute 20.06.07 KS - 28.04 SonicIP: Don't save settings on factory defaults 26.06.07 KS - If SET_PRESTART >0 use minimum audio loss/longer delay strategy 12.07.07 KS - (See Exstr. 24.32) wWriteOutput for all accept WEB add 3 sec timeout on fifo 028.10 Corrected stdgetEx start.hml to start.html Added get.c::MBufGet_persistent 13.07.07 KS xt05_version.txt for v0.03 added to dist and used for build <==== 13.07.07 KS Version B208 Frozen and released ===> <==== 13.07.07 KS Version 0208 Frozen and released ===> 0209 06.08.07 KS DSTni "Rev C" ready. Modules changed: bhw, bsw. tcpip V5.13 fixes bug 019.07, root.obj update for barionet 2.08 07.08.07 KS major version number incremented to reflect chip change <==== 07.08.07 KS Version 0300 Frozen and released ===> A3.01 06.03.08 KS Split media into mstream, media_new, mediactl, channels 23.04.08 KK Changed from the old song to the new one. 23.04.08 KS main: Added (binary) Discovery initialization 24.04.08 KS mstream::init_codec used HW.eerd and removed codecType store setpar: put back debig, syslog and Watch (turn on with C=x=1) 25.04.08 KS main: remove dio_xx inits (new io interface needed) 28.04.08 KS mstream:: defined ee_hw_type; 29.04.08 KK rewritten the dio_ functions to the new bcl_io interface. 13.05.08 KK Fixed the non-working mic input, always took from line in, the song module still needs to be fixed. 04.06.08 KK Added support for the Aiphone mic and speaker switching. 29.08.08 PK Added support for PYKO IN: input multiplexer set to full-duplex 09.09.08 JP Err 028.23 media_new correctd L3 security check for TCP and serial connection <==== 29.09.08 KS Version 0301 Frozen and released ===> A3.02 01.10.08 JP Fixed CGI command execution bug fixed. 028.27 <==== 29.09.08 JP Version 0302 Frozen and released ===> A3.03 09.10.08 JP BUG Fix: On TCP connection control authentication was not validated. <==== 09.10.08 JP Version 0303 Frozen and released ===> A3.04 31.10.08 KS Setpar.h: Added SET_DELAY_TYPE and SET_RTP_DRIFT (place holder but not used) 24.11.08 KK Fixed an obvious bug in the code with priority minimum volume. 10.02.09 PK changed AIphone control 03.03.09 KS Err 028.33 mstream::vCodecEncode make sure Loop back is correctly turned off (MP3 enc) 12.03.09 PK changes to fit the simplified Aiphone interface in song 17.03.09 PK using global HW.ee_hw_type rather than reading it locally 14.04.09 KS Bug #039.01 mstream::vCodecEncode Do not turn on Aiphone. 28.04.09 KS Bug #010.33 setpar::VersionInit: added load DHCP name from setup 06.05.09 KS 028.33 mstream: Loop back processing corrected (it turned off MP3 decoding) <==== 06.05.09 KS Version 0304 Frozen and released ===> A3.05 12.05.09 KS Bug #055.02 mstream:vStreamTxProcess. Re-instate PreStartBytes calculation 25.05.09 KK Fixed a bug: when UDP stream partially filled the buffer below the start threshold and then ceased, the device was stuck in LISTENING mode. 23.06.09 KK Fixed a bug. Sometimes the receiving annuncicom stopped playing and stays in idle state. What happened is that it announces zero window and doesn't receive any data more. 25.06.09 KK Fixed bug 055.06: doesn't erturn to normal playback after priority message. 26.06.09 KK Added remembering values of the last c=77 command. <==== 26.06.09 KK Version B305 Frozen and released ===> A3.06 23.07.09 PK removed WEP and licensing from setpar.c 08.01.10 PK - #055.18: added supervision for Ann155 - added &LState parameters 47 - mic status, 48 and 49 - temperature (supervision) - &LState paremeters 10 and 11 now show 2-bit state of button inputs (supervision) 18.02.10 KK - Added option to use speaker as a microphone. Bugreport 55.14 18.02.10 KS - #028.36 mstream re-instate Aiphone interface - #028.36 setpar.h added INMODE_SUB(0x40) flag to SET_INMODE - #028.36 mstream::MEDIA_SetIN only apply L4 bits to input_source - #028.36 media_new::vIOHandler added aiphone_and_streaming() to suppress Input 0 19.02.10 KS - #055.17 Makefile.nrec updated for new build structure 22.02.10 KS - Makefile.nrec added make boot/blserial.bin, make boot/UNIFULL.SPB,make utils/crlf <==== 22.02.10 KS Version B306 Frozen and released ===> A3.07 08.03.10 KS - media_new::MEDIA_vInit removed syslog("SET_vInit complete"); <==== 29.03.10 KK Version B307 Frozen and released ===> */