B230
/* * * * * * * * * * * * * * * * * * * * * * * * * * *
Vers  Date     Who  What
A104  16.01.06 PK - sonic IP
A105  18.01.06 PK - added SNMP
A106  24.01.06 PK - memory organization changed
A107  25.01.06 PK - L=, c=99, c=100 commands implemented
                  - multiple command execution
		  - streaming sources are checked only if playing backup stream
		  - automatic remote update disabled because of bug
A108  26.01.06 PK - fixed reconnecting bug
      27.01.06 PK - device sends its DHCP name
      30.01.06 PK - VLSI crash workaround
                  - LED blinking
		  - soft errors
      31.01.06 PK - netmask bug fixed
                  - proxy authorization bug fixed
		  - fixed rescue kit bug - config.bin was not loaded
A109  31.01.06 PK - rescue kit for LX chip (Exstreamer red box, Exstreamer Gold/Digital)
A110  01.02.06 PK - UDP MTELL reporting
                  - fixed DNS resolving bug
A111  02.02.06 PK - fixed memory bug while playing local files
                  - removed xt05
                  - MTELL period, remote update period and stream check period configurable
A112  07.02.06 PK - fixed audio-start bug in RTP (and possible other protocols)
		  - playlist prev/next commands
		  - implemented IR
      09.02.06 PK - variable substitution in URLs
A113  14.02.06 PK - remote update fixed and enabled
                  - bitrate displaying implemented
      16.02.06 PK - password protection
                  - codec bug detection and workaround
B114  16.02.06 PK - tested and created first beta release
B115  21.02.06 PK - fixed MAC bug (MAC was always 00:00:00:00:00:00)
                  - fixed "&something" bug in URL
		  - content-type detection
		  - filetype detection based on file extension fixed ("?something" bug)
A116  01.03.06 PK - USB autoplay function (automatic playlist generation and shuffle.txt)
                  - playlist shuffle and commands c=6, c=7, c=30 (shuffle on, shuffle off, toggle shuffle)
		  - long filenames and directories on USB
		  - playlists rewritten - size is now limited only by number of entries
A117  02.03.06 PK - winamp playlists support
                  - fixed autoplay bug
A118  03.03.06 PK - playlist position memory feature
A119  03.03.06 PK - fixed remote update bug where old pages were not cleared
      04.03.06 PK - fixed memory freeing bug - error 99 after error 15
      06.03.06 PK - added "Ix" (ip address as a string) and "Nx" (netmask as a string) into setup
                  - factory defaults after 10 seconds
		  - both reset and factory defaults can be disabled
A120  07.03.06 PK - added support for the 3digit 7-segment display
      08.03.06 PK - fixed playlist position storing bug
A121  15.03.06 PK - fixed password storing bug when the old password was never checked
                  - fixed potential security bug - when two browsers are trying to change configuration and one is authorized and the other not
A122  24.03.06 PK - fixed plist.id creation bug
                  - fixed bug: shuffle not enabled when shuffle.txt is created
      30.03.06 PK - fixed bug when empty URLs were treated as a successfuly played file
                  - fixed occasional audio click after stream reconnect
A123  04.05.06 PK - MMS protocol handshake improved
A124  08.05.06 PK - MMST protocol added, first testing version
A125  08.05.06 PK - fixed directory search buffer overrun bug
A126  19.05.06 PK - DHCP device name in www authentication dialog
<========== 19.05.06 version A1.26 frozen and released ===========>
A127  01.06.06 PK - relative paths in playlists
      02.06.06 PK - configureable UserAgent identification
<========== 02.06.06 version A1.27 frozen and released ===========>
A128  31.07.06 PK - simple status page with filesystem information added
      01.08.06 PK - more informations in the status page
                  - processing/buffering signalized with green LED blinking and red LED on
      02.08.06 PK - fixed url parsing bug where ":number" in path was interpreted as port number
      03.08.06 PK - LED indication changed
                  - priority port added
                  - start threshold changed to number of milliseconds
<========== 04.08.06 version A1.28 frozen and released ===========>
A129  04.09.06 PK - added device capacity information
                  - WARNING! requires song 1.07 or higher
      18.09.06 PK - fixed buffer overflow bug in string storing in web setup 
                  - SNMP trap on stream change
		  - local file playback switches to higher priority stream first after song is finished
      22.09.06 PK - dynamically check period adjustment according to network conditions
                  - display driver disabled for space reasons
      25.09.06 PK - playlists with missing EOL at EOF are accepted
                  - autoplay playlist is generated once at startup, existing auto-playlist is overwritten
<========== 13.10.06 version A1.29 frozen and released ===========>
A130  13.10.06 PK - encrypted filesystem support (special version only)
      16.10.06 PK - RTP bugs fixed (LED blinking, long delay when buffering is set to max)
                  - stream switching bug fixed when backup was a local file
      23.10.06 PK - GET searches first for start.html and then for index.html
      26.10.06 PK - fixed stream switching problem when playing from local file
      27.10.06 PK - fixed memory overwrite error
                  - 7-segment display enabled again
		  - fixed webserver stack overrun (unit sometimes reset when accessing web)
      06.11.06 PK - LED blinking for factory defaults 
<========== 08.11.06 PK version 01.30 frozen and released - never released to public ===========>
A131  09.11.06 PK - priority bug fixed when buffering set to max, no audio 
                    and priority was constantly switching on and off
		  - if stream comes back and then drops out again while backup file is being played
		    unit continues playing until the higher priority stream is really available
		    before the unit interrupted backup for a short while
<========== 09.11.06 PK version 01.31 frozen and released ===========>
B132  17.11.06 PK - mute function (c=8) added
      21.11.06 PK - power on/off function (c=101 power off,c=102 power on, c=103 toggle power) added
                  - channel +/- commands (c=15/c=16)
      22.11.06 PK - factory defaults if no remote.ini - bug fixed when no configuration could be stored (wrong setup version)
<========== 22.11.06 PK version B1.32 frozen and released - never released to public ===========>
B133  22.11.06 PK - fixed channel +/- bug
<========== 22.11.06 PK version B1.33 frozen and released ===========>
B134  24.11.06 PK - fixed remote update bug when unit didn't recover when remote update has been interrupted
                  - display init moved before net init
		  - "res", "dfl" and "upd" messages on 3-digit display
      29.11.06 PK - metafile (remote update) version is stored into EEPROM only after FW update has successfuly finished
      02.12.06 PK - added error 18- Bad MMS Response
                  - update-period 0 means update only once at startup
<========== 02.12.06 PK version B1.34 frozen and released ===========>
B135  03.12.06 PK - fixed remote update bug (update period 0 didn't work properly)
<========== 03.12.06 PK version B1.35 frozen and released ===========>
B136  08.12.06 PK - password checking in rc.cgi (a= or in HTTP header)
                  - setup.cgi accepts password also from HTTP header
      12.12.06 PK - key encryption in EEPROM (CFS version only)
<========== 13.12.06 PK version B1.36 frozen and released ===========>
B137  15.12.06 KS - song date no longer usable as offset but no space to add function
      20.12.06 KS - Makefile.nrec cosmetic changes
<========== 20.12.06 KS version B1.37 frozen and released to radiogaga ===========>
A138  03.01.07 PK - password bug fixed - password dialog appeared when clicking on update and no password set
      04.01.07 KS - song version offset adjustment re-instated (removed by mistake)     
      13.01.07 PK - code optimizations to gain more space
      17.01.07 KS - Make file split separate gaga_enc added, encryption removed from gaga_nd
<========== 17.01.07 KS version 01.38 frozen and released to radiogaga ===========>     
B139  22.01.07 PK - fixed bug when L= command in rc.cgi command sequence generated additional HTTP 200 OK after the document
      25.01.07 PK - content detection if extension not recognized
<========== 12.02.07 PK version B1.39 frozen but never released ===========>     
B140  22.02.07 PK - fixed RTP bug, if instreamer has been reset the streaming client didn't reconnect and was not playing
                  - RTP timeout decreased to 3s
      26.02.07 PK - filesystem and song date removed from the file /status
<========== 26.02.07 PK version B1.40 frozen and released ===========>     
A141  19.03.07 PK - rebuffering removed because it did not properly work when the stream was interrupted (preteinding to play but not playing anything)
B142  17.04.07 PK - counter of the bytes played (status page)
      18.06.07 PK - content detection removed for lack of space
<========== 18.06.07 PK version B1.42 frozen and released ===========>     
A143  16.07.07 PK - bug 026.22 fixed - TCP RST from an MMS server caused the SC to hang
      20.07.07 PK - play button restarts the player from the first URL
B150  08.08.07 KS       DSTni "Rev C" ready from VB1.50. Modules changed: bhw, bsw.
                        tcpip V5.13 fixes bug 019.07, root.obj update for barionet 2.08                  
<==== 08.08.07 KS Version B1.50 Frozen and released ===>  
<==== 08.08.07 KS Version 01.50 Frozen and released ===>      
A151  13.08.07 PK - bug 026.23 fixed, potential memory overwrite of TCP buffers with MTELL, requester and update TCP rcv fifo
A200  13.09.07 PK - passive and active serial gateway function added
      04.11.07 PK - bass and treble control
                  - encoding of reserved characters in HTTP
		  - null:// url added
		  - content detection added again
		  - ICY metadata parser
      20.11.07 PK - reset button functionality configurable
                  - remote control: multiple commands can be chained using  &
      21.11.07 PK - playlist position is stored in EEPROM for every URL
                  - configurable option to advance playlist position with every reconnect
		  - displaying bitrate, status, station name, song name on EX110
      22.11.07 PK - IR remote control reaction time reduced from 300 to 100ms
                  - EXTINF data in playlist supported on EX110
		  - shuffle on/off message on EX110
                  - remote update does not interrupt priority message
<==== 23.11.07 PK Version B2.00 Frozen and released ===>      
A201  26.11.07 PK - fixed bug when "stopped" was printed over "rebooting"
      27.11.07 PK - "Periodic Refresh" feature added
      10.12.07 PK - fixed bug #26.44: ICY station name/song name is not cleared when playing backup URL
                  - fixed bug #26.45: Player doesn't switch back to higher priority stream when it is available
      22.01.08 PK - HTTP content detection bug fixed
      29.01.08 PK - update variable lookup rewritten, fixed incorrect line length calculation
                  - bug #026.36 fixed (mtell_url is not updated with remote management)
A202  07.02.08 PK - setup.cgi handler rewritten to use POST method (bug #026.48 fix)
                  - a= password no longer supported by setup.cgi
      24.02.08 PK - bug #026.25 fixed: $NUM$ in mtell report
                  - bug #026.24 fixed: current channel number displayed in status
      27.02.08 PK - bug #026.28 fixed: RTP port checking in the receive function
                  - bug #026.09 fixed: garbage in "current URL" after startup
      28.02.08 PK - bug #026.61 fixed: audio glitches when playing shoutcast over HTTP proxy
                  - bug #026.50 fixed: cannot read playlists and update.txt over HTTP Proxy
      03.03.08 PK - checksum calculation rewritten, now calculated per session rather than per request
                  - bug #026.49 fixed
                  - bug #026.05 fixed: if autoplay is on, shuffle.txt is always created
      04.03.08 PK - bug #026.63 fixed, display output rewritten to avoid mixing multiple messages
                  - bug #026.64 fixed: stack overwrite in print_bitrate function
		  - bug #026.65 fixed: channel number starts from zero when typing digits short after reset
		  - bug #026.46 fixed: memory corruption if playlist disappears from the server
      05.03.08 PK - bug #026.53, "playlist fails" option added
                  - bug #026.66 fixed: red LED blinking during playback of HTTP stream
      12.03.08 PK - bug #026.69 fixed: ICY Station name is not cleared between entries in the playlist
                  - bug #026.70 fixed: The unit is trying to resolve URL after an error even if "stop after 1st error" is configured
      17.03.08 PK - volume fade in/out added to Shoutcast and fade in added to RTP
                  - HTTP playback timeout (no data received) reduced from 15s to 3s
      18.03.08 PK - bug #026.27 fixed: space in the configuration stored as '+'
      20.03.08 PK - reconnect history for shoutcast streams, more than 3 reconnects within 15mins=error (bugfix #026.76)
      25.03.08 PK - local playback uses always 64kB buffer
                  - more tolerant HTTP playback timeout: 5 seconds
		  - audio fading on external events (reset, update, user intervention, ...) rather than sudden stop 
		  - fine tuned fading periods 
      31.03.08 PK - forgotten audio_close bug in udp.c fixed
      01.04.08 PK - bug #026.75 fixed: "Priority message" indicated on the display, but no audio 
                  - icyx and icy protocols are recognised as aliases to http
		  - OGG Vorbis and AAC+ mime types addded 
      04.04.08 PK - HTTP streaming uses 64kB buffer rather than configured value
      07.04.08 PK - bug #026.81 fixed: bytes played is always 0
                  - DNS, netmask and gateway Status variables added into /status
		  - bug fix: if DHCP selected, no second DNS server configured and address can not be resolved, two requests are generated
      08.04.08 PK - fixed bug: extra processing in HTTP/ICY playback when no metadata sent by the server
                  - improved shoutcast reconnect, fixed bug which was blocking the processing
      10.04.08 PK - bug #26.82 fixed: negative values in Bass/Treble can not be set
      11.04.08 PK - fixed incorrect signedness of bass/treble
<==== 14.04.08 PK Version B2.02 Frozen and released ===>      
A203  17.04.08 PK - SNMP: fixed non-working bufferlevel and lost frame counter
                  - bugfix #026.83: Lost frames is permanently 0
		  - fixed rubbish in MTELL's URL reports
		  - fixed missing http:// in ICY streams in MTELL
                  - bugfix #026.84: Corrupted audio when receiving RTP during USB playback
		  - priority process stack increased from 250 to 280
      21.04.08 PK - bug #026.86 fixed: Player hangs up when Apply is pressed
                  - bug #026.89 fixed: add song version into the status page
		  - bug #026.90 fixed: add hardware type to status
      22.04.08 PK - stdgetEx removed, stdget replaces it
                  - bug #026.87 fixed: User is not asked for the password when directly accessing rc.cgi on password protected unit
		  - bug #026.91 fixed: Binary rubbish in HTTP answer if "Another user logged in" message is returned  by the webserver
      28.04.08 PK - bug #026.93 fixed: incorrect HTTP protocol version
<==== 07.05.08 PK Version B2.03 Frozen and released ===>      
A204  01.06.08 PK - relay control added
      06.06.08 PK - double buffered Shoutcast metadata
                  - added relay control by metadata
      03.07.08 KK - fixed bug #029.96: wrong checksum calculation
      29.08.08 PK - added support for Digigram PYKO IN
<==== 01.09.08 PK Version B2.04 Frozen and released ===>      
A205  06.09.08 PK - added REPEAT function to repeat the current song in a loop
                  - added SLEEP function to go into standby mode after 30 minutes
      30.09.08 PK - audio format checking in HTTP
                  - added "Audio Format Not Supported" error code (19)
      13.10.08 PK - fixed bug #035.02: Authorised stream does not work through proxy
      14.10.08 PK - added missing errno 19
                  - long audio fading if playlist content changes on the server
      15.10.08 PK - USB autoplay finds all relevant files depending on the hardware capabilities (also .ogg, .mp4, etc.)
      22.10.08 PK - improved shoutcast rebuffering: don't wait until the old buffer empties
                    if a connection is available after fading
      31.10.08 KS - setpar.h: Added SET_DELAY_TYPE and SET_RTP_DRIFT               
      12.11.08 PK - TCP RX FIFOs reallocated in different part of memory
                  - memory allocation check at startup
      03.12.08 PK - AAC+v2 enabled in song
<==== 03.12.08 PK Version B2.05 Frozen and released ===>      
A206  05.12.08 PK - HTTP streaming timeout increased from 5s to 8s
      19.12.08 PK - added support for more relays controlled via shoutcast metadata
                    the format is now barixr0010101000 (for 1/0 each relay)
      05.01.09 PK - programmable display via .ddf files in the flash
      06.01.09 PK - fixed bug #26.54: unit keeps cycling in play and immediate stop loop for no obvious reason
                  - fixed potential command overwrite/loss in player process
		  - VSC support
      09.01.09 PK - added decoding speed correction
      21.01.09 PK - removed the Waiting for USB message
      26.01.09 PK - VSC: fixed crash when a channel was selected during sonic IP
      29.01.09 PK - channel selection via VSC limited to 2-digits
<==== 30.01.09 PK Version A2.06 Frozen and released ===>      
<==== 18.02.09 PK Version B2.07 Frozen and released ===>      
A208  03.03.09 PK - display initialised before network (welcome message printed while waiting for DHCP)
      07.03.09 PK - feature #026.16: output peak levels
                  - implemented all std and Barix RTP payload types on the priority port (autodetection)
		  - feature #026.60: implemented all std and Barix RTP payload types with autodetection
      09.03.09 PK - feature #052.04: backwards compatibility with legacy hardware
      17.03.09 PK - using global HW.ee_hw_type rather than reading it locally
      18.03.09 PK - using IR from bcl_io rather than from song
      30.03.09 PK - new feature #052.09: MAC address sent in BRTP requests 
      31.03.09 PK - added support for 4 relays
                  - setup change: relay 1 moved from B274 to B252
      01.04.09 PK - feature #052.10: decode GPIOs sent in the RTP extension
                  - temporarily removed relay control via Shoutcast
		  - added &Lstate dynamic mark variable 31 - number of relays
		  - &LState rewritten to get more space
		  - added &Lstate dynamic mark variables 51..66 - relay states
      10.04.09 PK - new feature #052.07: Add volume control for Priority Message
      17.04.09 PK - dynamic marks: IO returns value 9 if the output is not available
                  - added dynamic mark for player status, stand-by mode and stream title
		  - dynamic mark volume reflects the priority volume
      18.04.09 PK - added dynamic mark &LSetup(23
                  - bugfix #026.78: Stream number / error corruptions in SC status page
		  - FS date correctly picked up
      23.04.09 KK - Only 1-character URLs are recognized.
      04.05.09 PK - bugfix 052.17: FW hangs when HTTP Proxy is a URL and not an IP
      22.05.09 PK - metadata and IO control in encrypted version
                  - encrypted version uses only 12kB TCP RX FIFO (space reasons)
      19.06.09 PK - reset via button causing noise on Ex1000 when playing PCM - fixed
      24.06.09 PK - sanity check: disable serial GW if serial port used for VSC
A209  13.07.09 PK - get.c rewritten to use generic output functions
                  - added serial command interface
      20.07.09 PK - fixed non-working VSC
      30.07.09 PK - LEDs on Exstreamer 1000/Annuncicom 1000 show the state of the relays
                  - optimization in snmp function to print bitrate, lost frames, buffer level
		  - relay control optimized to gain space
		  - using MBuf128 instead of MBuf in http_checksum and http_play
		  - using MBuf128 instead of MBuf in setup.cgi
		  - maximum serial command length (line length) reduced from 1023 to 255
		  - added factory defaults c=94 (feature #052.23)
		  - Worker process stack reduced from 1000 bytes to 600 bytes
		  - implemented minimum and maximum volume (feature #052.29)
      31.07.09 PK - saved space by implementing a common lock function
                  - setup.cgi allows only one client at a time to access the Setup 
		  - removed extra sanity check from memory.c to save space (enabled only in debug mode)
		  - code optimisations
      03.08.09 PK - IR process dramatically simplified by moving the command searching in remote.ini to bcl_io
                    saved about 0.5kB
		  - added binary discovery (feature #052.26)
      04.08.09 PK - WEB server (get.c) changes to save FLASH space: 
                    disabled Content-Length calculation to save code space
                    disabled IBM437 charset support to save code space
		    changed MIME type detection to save FLASH - MIME types are now stored in mimetype.ini in the FLASH
		    the WEB server fetches the type on the fly
		    abandoned storing the HTTP header directly in FLASH files
		    WARNING! this is incompatible with COB files generated with non-empty mimetype.ini
		    USE APPLICATION >=03.02
		  - webfile.c: optimisations to save space
      05.08.09 PK - timestamp of the last error (#052.30)
<==== 05.08.09 PK Version B2.09 Frozen and released ===>      
A210  13.08.09 PK - fixed bug #052.35 (setting a password resets the unit)
<==== 13.08.09 PK Version B2.10 Frozen and released ===>      
A211  21.08.09 PK - implemented Barimon alarms in case of a stream loss (feature #052.19)
      24.08.09 PK - FWFile searches only in the active FLASH partition
      25.08.09 PK - remote update: if compound.bin is out of memory, update failes instead of a partial update (#052.37)
      04.09.09 PK - Encrypted SC: key not recognised after firmware update (bugfix #052.41)
                  - display enabled in encrypted version (feature #052.42)
<==== 04.09.09 PK Version B2.11 Frozen and released ===>      
A212  14.09.09 PK - bugfix in Setup: B...bX-Y did not work (bug #052.45)
                  - fixed bug in Setup: compare and printf did not work if bitend was 31
      16.09.09 PK - bugfix #052.46: no SNMP traps at all
      17.09.09 PK - "max volume" issue workarounded (see bug #052.44)
                  - Setup version changed from 1.1 to 1.2
		  - fixed bug "wrong info on the display" (#052.38)
<==== 22.09.09 PK Version B2.12 Frozen and released ===>      
A213  07.12.09 PK - bugfix #052.62: shoutcast re-uses TCP connection to avoid problems with non-standard media servers
                    which have problems with 2 consecutive connections per stream
      29.12.09 PK - uses FAT32 filesystem 
                  - bugfix #052.55: "yesno" in "Filesystem present" on the status page
      30.12.09 PK - #052.64: Use second ethernet on Annuncicom 155
                  - now supports B96 in Setup as ethernet port selector
A214  24.03.10 PK - implemented frame based buffering
                  - added dynamic mark variables 35, 36 and 37
      14.04.10 PK - added dynamic mark variable 38 (avg buf in ms)
                  - bugfix #052.67: port number overflow in proxy request
      22.04.10 PK - new frame buffer parameters in Barimon report: Latency, FrameDup, FrameDrop
                  - priority process' stack increased by 40B
                  - detect soft errors from song's zero_count - more reliable detection of dropouts in audio
                  - #52.69: fixed possible temporary deadlock when primary stream immediately stops and backup is a file
                  - requester's stack increased by 50B
      29.04.10 PK - rescuekit changed to the new format
<==== 29.04.10 PK Version B2.14 Frozen and released ===>      
A215  05.05.10 PK - "updatekit" renamed to "kit"
<==== 05.05.10 PK Version B215 Frozen and released ===>
<==== 20.05.10 PK Version B216 Frozen and released ===>
<==== 31.05.10 PK Version B217 Frozen and released ===>
<==== 02.08.10 PK Version B218 Frozen and released ===>
A219  05.08.10 PK - fixed bug in RTS initialisation: force RTS to 0 only if serial dongle is configured
                    this was interfering with VSC on RS485
      24.08.10 PK - encrypted version: fixed extension memory overwrite by TCP RX FIFO; FIFO size reduced to 8kB
      26.08.10 PK - fixed possible crash if disk error happens during USB playback
      06.09.10 PK - #052.81: HTTP client always sends "Pragma: no-cache" to avoid problems with updated update.txt or playlists on caching proxies
      30.09.10 PK - #052.86: WEB password levels other than 2 don't work
      11.10.10 PK - #052.87: HTTP file playback hangup
<==== 11.10.10 PK Version B219 Frozen and released ===>
A220  15.10.10 PK - #052.89 - show channel names when switching channels with reset button
                  - reset button channel switching changed: listing through channels while playing the original stream; channel selection (PLAY) after a timeout
                  - fix #052.57 - changing channels over reset button unstable
                  - optimised and simplified password checking
      16.10.10 PK - password checking logic rewritten
                  - fix #026.88 - user is asked for a password 3x when someone logged in
                  - optimisation in setpar.c
                  - dynamic marks now strictly require no spaces before or after comma
                  - disabled unused DHTML functions to save space
                  - #052.71: Relay while audio flickering when checking backup URL
      20.10.10 PK - disabled SNMP write access to save space
                  - #52.05: TCP and UDP command interface
      01.11.10 PK - #052.75: configurable behaviour on USB backup switchover
                  - URL reload now triggers 1s fader
                  - #052.88: balance settings as static settings B245 and run time control b=-10..+10
      09.11.10 PK - #053.14: volume interface changed from 5% steps to 1% steps
                  - Setup version changed from 1.2 to 1.3
                  - #052.83: 2kB of RAM saved by not using TCP xmit fifos
<==== 09.11.10 PK Version B220 Frozen and released ===>
A211  17.11.10 PK - bugfix: L= UDP command terminated with CR or LF was not working
<==== 18.11.10 PK Version B221 Frozen and released ===>
A222  08.12.10 PK - #052.59: click in the priority message during HTTP streaming
                  - priority message handling rewritten, uses TCP buffers as a cache
<==== 10.12.10 PK Version B222 Frozen and released ===>
A223  14.12.10 PK - #052.90: Metadata not updating properly
                  - more robust Shoutcast metadata parser to cope with non standard servers
      06.01.11 PK - missing TCP close if audio format in HTTP/Shoutcast not recognised
      12.05.11 PK - #052.95: fixed non-appearing DNS in status page if static DNS configured
                  - #052.97: removed function "automatically create shuffle.txt and set shuffle on if autoplay is on"
                    which was triggering shuffle even without any USB
      16.05.11 PK - #051.02 support for multi-package load: removed mload - uses standard version from BHW
                  - #051.02 support for multi-package load: removed my_fwfile - uses FWFile
                  - #051.02 support for multi-package load: target renamed 8K -> 2K
                  - removed unused variables from update.c
      18.05.11 PK - all playlist positions reset if filesystem ID changes, removed complicated and non-working code to detect whether the URL is file based or not
      19.05.11 PK - #052.82 command triggered file playback: added playlist path S570 (100 bytes)
                  - #052.82 command triggered file playback: playlist playback triggered via shoutcast metadata
                  - global flag priority_message moved into session: audio_blocked and replaced in the player routines
                  - global playlist variables player_shuffle, playlist_buf, playlist_entry_name_buf, current_playlist_entry, n_playlist_entries moved into session->plist
                  - store_playlist_pos, player_push_digit and load_playlist optimized to gain space
                  - specific player process hooks moved from playback routines (play_file, etc.) to the player process
                  - added session flag SES_FLG_LOCAL_ONLY
                  - #052.82 command triggered file playback: triggered playback processing in the priority state machine, priority stack increased by 100B
                  - session flags initialization in request_file changed 
                  - #100.01: IC Graph discovery c=65535 command to retrieve discover.txt file
      20.05.11 PK - #100.04: Barimon notification on stream recovery - now alarm is sent on any stream change, not only on failure
                  - get_ip_addr optimized
                  - #100.03 line input on Exstreamer 205: new URL "line://"
                  - #100.03 line input on Exstreamer 205: AD gain parameter B249
      23.05.11 PK - #100.05: volume offset
      24.05.11 PK - #052.94: new parameter nr. 42 in &LState: decoded audio format
      25.05.11 PK - fixed bug in get_ip_addr and further optimized
                  - #100.07: not reliably working with STL on priority port: added short packet check
<==== 30.05.11 PK Version B223 Frozen and released ===>
A224  06.06.11 PK - reduced CPU load when playing line:// or null://
<==== 06.06.11 PK Version B224 Frozen and released ===>
<==== 20.07.11 PK Version B225 Frozen and released ===>
A226  06.09.11 PK - #100.11: runtime volume control on priority port
<==== 25.10.11 PK Version B226 Frozen and released ===>
A227  14.11.11 PK - #100.20: v2.24 patched to preserve network settings in factory defaults in VersionInit() if Setup version doesn't match
                    network settings now include DHCP name as well
<==== 15.11.11 PK Version B227 Frozen and released ===>
A228  22.11.11 PK - #100.23: factory defaults from WEB UI clear UART settings with zeroes rather than with config.bin
<==== 24.11.11 PK Version B228 Frozen and released ===>
A229  17.01.12 PK - #100.26: Add a possibility to remotely read digital inputs
                    dynamic mark &LState with index 1000+ allows access to I/O registers
      18.01.12 PK - #100.28: DNS server required for proper IP address resolution - fixed error in address resolution function
                  - #100.29: relay control on priority port: new option "priority" in relay control, current "audio" option renamed to "stream" and is triggered only on non
-priority stream
      26.01.12 PK - #100.31: fixed errorneous DNS request if line:// is configured (20s delay to switch to line without network)
<==== 30.01.12 PK Version B229 Frozen and released ===>
B230  21.09.12 PK - #100.44: remote firmware update disabled on 1MB flash devices
<==== 21.09.12 PK Version B230 Frozen and released ===>
*/
