/**

\page HISTORY Version tracking

\par Version 1.3.132 from 11-04-25

Bug fixes:
- Fixed wrong eeprom address for I2C when doing a reset to factory setting.
- SPI modes were completly broken due a stupid copy and paste error in the ISR.


\par Version 1.3.129 from 11-04-13

Important bug fix: Fixed interpreting bug at GPIO server module when accessing via the 'x' placeholder.


\par Version 1.3.128 from 11-03-15

Added 4800 Baud as UART Baudrate.

Important bug fixes:
<ul>

<li>Sending all DHCP messages as UDP-broadcast fixes possible problems with some DHCP servers.</li>

<li>All serial modes ran with the wrong baudrate due the wrong MCU frequency. 
The MCU runs with 41.6667 MHz now as intended.</li>

</ul>


\par Version 1.3.122 from 11-02-22
<ul>

<li>Upgraded to latest MCC18 compiler 3.37.01</li>

<li>Show a message on web interface if no valid bootloader is installed.</li>

<li>
Added the authentication module to the web interface. 
The web sites can only be accessed with a valid username and password. 
HTTP simple authentication is used for this.
Netzer supports three different user: administrator, user and guest. 
Each user has different rights (standard username, standard password):
<ol>
<li>The administrator has root rights (admin, admin).</li>
<li>The user can only do a few commands and has GPIO access (user, user).</li>
<li>The guest has readonly rights (guest, guest).</li>
</ol>
</li>

<li>
With the authentication module a great security leak is hopefully gone: 
Firmware updates can only be started from the administrator. 
The TFTP reboot module is only started if activated via the webinterface.
</li>

<li>
A early init routine is added where a project can do some initialization directly after main is called.
For the NtzerIO project some IO port registers are configured (unused ports as outputs to prevent floating).
</li>

<li>
Reseting Netzer to factory settings can be started directly at the board (in case the password is lost...).
Simply put a resistor (about 10K) between GND and PGD (one of the ICD2 pins) on startup.
If the Netzer seems to "hang" remove the resistor.
After removing the LEDs should blinking some time and afterwards the Netzer restarts.


<li>Fixed a Gratuitous ARP bug in the bootup module.
This bug leads to lot of gratuitous ARPs on startup in a short time (not in DHCP). 
It is changed to only three ARP packets with an interval of 500 ms.
</li>

<li>Added a Netzer mode, called "Webinterface only" - no GPIO and serial server are started in this mode.</li>

<li>Fixed a bug in serial and GPIO server: After unplugging network cable both servers did not start anymore.</li>
</ul>


\par Version 1.2.103 from 11-01-08
- I2C Master module implemented with friendly support of Hygrosens Instruments Ltd.
Possible transactions: Write, Read, Write/Read.
- Versioning of bootloader. IO module displays the bootloader version on the index website.
- Fixed a IP address filter problem in UDP module


\par Version 1.1.83 from 10-11-02 (Elektor release for Netzer project website)
- Cleaned up the source files and completed documentation for this version.
- Fixed a bug in bootloader module: faulty upload of debug images completly blocked some devices.
- Added the project identifier in the boot EEPROM. Migration between different Netzer project is possible now.


\par Version 1.1.5 from 10-09-14 (Official release for Elektor)

Added the SPI modules for master and slave operation to Netzer IO.
Added some useful buttons on the web page like shut down and LED blinking.


\par Version 1.0.1 from 10-09-02 (First release candidate running on hardware)

Added the first parts of the Netzer IO project including the GPIO and UART module.


\par Version 1.0.X (Inofficial development)

Initial release of the Netzer project.
Porting the core modules from eWicht to Netzer project.

*/