Main Page Modules Alphabetical List Data Structures File List Data Fields Globals Related Pages Examples
History
Version 2.5.2
- Fixed: When registering and opening UART1, Nut/OS continues using UART0. Thanks to James Canterbury for tracking down this problem.
- Fixed: Prototype of NutTcpError is missing in socket.h.
- Fixed: NutTcpConnect() fails to return, if the destination is on the local network and is not reachable.
- Fixed: Already received and buffered TCP data may be discarded, when the peer closes the connection before the application reads this data. Thanks to James Canterbury for reporting this problem.
- Fixed: Nut/Net responds with RST to late SYNs. This breaks low speed connections. RSTs are send now only, if the sequence number of the SYN differs from the initially sent sequence. Thanks to Mike Cornelius for pointing this out.
- Fixed: ISO-8859-1 character set was hardcoded into the HTTP routines. This disables correct display of different character sets in the webbrowser. Thanks to JianJian, who detected this.
- Fixed: Bug in retransmit timer initialization may retransmit immediately after the original packet is ready to send. Thanks to Mike Cornelius.
Version 2.5.1
- Added: TCP segments received in advance are now buffered. This gives much better performance while receiving MP3 streams from Internet Radio Stations.
- Added: Additional notes about setting up the different compiler environments.
- Added: Ready-to-run projects for ImageCraft IDE. However basemon and httpd are slightly limited compared to their AVR-GCC counterparts.
- Added: Socket option for configurable TCP receive buffer size. Default is 3216 bytes.
- Fixed: Files created by crurom utility failed to compile under ICCAVR.
- Fixed: Bad documentation about the return value, when reading from sostream devices. They return 0 on broken connections, not -1. Thanks to Markus von Ehr.
Version 2.5.0
- Added: Support for ImageCraft ICCAVR Compiler. Major work has been done by Klaus Ummenhofer. RTOS and TCP stack are working, but most samples need to be partly rewritten, because of different ROM string handling. Documentation is still missing.
- Added: Device driver for VS1001K MP3 deoder. This is still experimental.
- Fixed: Reset problem with pre-1.3 boards.
- Fixed: System may crash when all timers elapsed. Thanks to Klaus Ummenhofer.
- Added: Crurom utility enhanced
- Fixed: Second UART was missing in the library. Thanks to Robert Hildebrand.
- Changed: Default TCP window size is now 4288.
Version 2.4.2
- Changed: GCC Version 3.2 required for ATmega 128 and ATmega 103.
- Changed: uisp is used for flashing.
- Changed: Bin directory divided for ATmega 103 and ATmega 128.
- Fixed: Baudrate detection didn't work on fast CPU and slow keyboard repeat.
- Fixed: Broken ATmega 128 watchdog routines in AVR-GCC.
- Changed: Enhanced Basemon detects shortcuts on data bus, address bus and port lines. Basemon can also send Ethernet broadcasts without initializing the TCP/IP stack.
- Changed: Optimizing for space. Previously used level 3 will fail with new compiler, because inline behaviour changed.
- Fixed: Bug in ifconfig doesn't store default gate in EEPROM.
- Changed: crurom utility skips CVS directories.
Version 2.4.2
- Changed: Most parts of the TCP stack have been redesigned. The new stack can transfer up to 256 kByte of data per second on a 14.7 MHz ATmega 128.
- Changed: Redesigned NIC driver with improved stability in heavy traffic networks.
- Added: Ability to set some socket options, like maximum segment size and read/write timeout.
- Fixed: Signaled event queue freezes thread.
- Fixed: Misconfigured Makefiles called uninstalled nutisp.exe.
Version 2.3.4
- Fixed: TCP stack miserably failed if more than one port was listening. Alejandro Lopez kindly reported this bug.
- Fixed: Serveral interrupts, mainly UART related, were not working with ATmega 128.
- Added: New device driver routines for digital I/O and two new sample programs for relay outputs and optocoupler inputs.
- Added: Routines to flash externally attached AVR controller.
Version 2.3.3
- Added: Enhanced API documentation.
- Added: Support for standard stream I/O device using a null pointer. This device uses the first on-chip UART and doesn't do any buffering. This replaces the NutKPrint functions.
- Fixed: Another timer bug has been fixed. If a timeout timer elapsed after the thread received the event it was waiting for but before this thread starts running, it removed the timer, although this timer may already had been re-used by another thread.
- Fixed: Empty filenames returned the wrong mime type. Some browsers displayed the source of index.html.
- Fixed: Code for using CPU crystal instead of the asynchronous 32 kHz clock for the system timer was broken.
- Changed: Unused NutDeviceSend removed.
- Added: Support for Imagecraft ICCAVR, but not completed.
- Changed: Makefile, Makedefs and Makerules restructured. The library directory has been divided into processor specific subdirs.
- Added: Batch file to setup different environments for ATmega 103 and ATmega 128.
- Changed: Using __SFR_OFFSET to register access set to 0x20 for ATmega 128 and 0x00 for ATmega 103.
- Fixed: TCP state machine didn't handle keepalive packets, some out-of-sequence packets and window probes correctly. Thanks to Michael Stegen, who reported this bug. Michael is working on Netuner, an Internet Radio based on Ethernut.
- Changed: Basemon SRAM test enhanced.
- Added: Simple RS232 server to access the serial port on the Ethernut via TCP/IP.
Version 2.3.2
- Fixed: Archive contained a very old API doc.
- Fixed: System crash if last timer stops. Thanks to Bernardo Innocenti.
- Fixed: Stream I/O failed on empty buffers, returning garbage. Thanks to Mike Cornelius.
- Added: Many requests were sent to us regarding correct linefeed / carriage return handling. GetLine should work now with all combinations.
- Added: Support for 1 millisecond system timer using the CPU crystal instead of the asynchronous 32 kHz clock. This had been suggested by Marc Wetzel some time ago. Code has been donated by Bernardo Innocenti.
- Changed: SPI UART names changed from uart1/8 to uarts0/7. Suggested by Marc Wetzel.
- Fixed: Interrupt registration doesn't support ATmega 128 interrupts. Code provided by Marc Wetzel.
- Added: Timeout support for UART I/O. This is in untested alpha stage.
- Added: Support for UART 1 on ATmega 128. This is in untested alpha stage. Marc told me, that he got more on this, like 9 bit support etc.
Version 2.3.1
- Added: Support for ATmega 128.
- Added: DNS protocol support.
- Added: Internet routing sample.
- Changed: API functions restore CPU interrupt status flag before returning to the caller. This may break your current application.
- Changed: Waiting for an event will yield the CPU, even if the event has been already signaled.
- Fixed: SOSTREAM failed on high traffic output.
- Fixed: Racing condition in TCP output eats heap.
- Fixed: Recovering from closed TCP window failed.
- Fixed: Resending lost TCP segments with too much delay.
- Changed: Redesigned TCP socket close.
- Fixed: DHCP failed with multiple DNS entries.
- Added: Compiling with NUTDEBUG will automatically initialize the UART and add 4 bytes to every allocated unit to detect heap corruption.
- Changed: KPrint routines can be used in interrupt context.
Version 2.2.2
- Fixed: Marc found a missing cli() in NutEventWait.
Version 2.2.1
- Changed: Events posted to an empty queue are remembered. Note, that this might break your current application. Thanks to Marc Wetzel for this suggestion.
- Changed: Completely redesigned timer handling. This may break your application, because timer callbacks are now running in interrupt context. Marc Wetzel send a complete new timer handling with great performance and made additional suggestions to further enhance it. I didn't taken over his complete code but tried to implement most of it.
- Changed: New HTTP server sample supporting multiple connections and throttling in low memory situations.
- Added: HTTP library automatically looks for index.html.
- Changed: Network debugging.
- Changed: NutThreadSuspend and NutThreadResume are gone. Use events.
- Added: New item td_queue added to NUTTHREADINFO. This is used to identify the root of the event waiting queue.
- Added: New module osdebug.c.
- Fixed: Due to bad overflow error recovery, the Ethernet controller died under heavy traffic.
- Fixed: TCP continuosly resends unacknowledged segments, even if the remote responds with a reset segment.
- Fixed: TCP sockets may get stuck in SYNRECEIVED state.
- Fixed: Multiple threads listening on the same TCP port may receive wrong segments while in listening state.
- Added: Read timeout value in TCPSOCKET structure, but no socket option routine yet. May be set manually.
- Added: Better API documentation.
Version 2.1.3
- Changed: Using AVR GCC 3.0.2.
- Fixed: Stopping oneshot timers corrupts timer list, which makes threads disappear.
- Fixed: ARP queues the last packet only, discards older ones.
- Fixed: If sending too fast after initialization, the NIC sender might hang.
Version 2.1.1
- Added: SPI UART support added, still undocumented.
- Added: Kernel print routines, still undocumented.
- Added: Stream I/O with character translation, undocumented.
- Changed: Interrupt are not disabled anymore within heap routines.
- Changed: Timeout handling in NutEventWait(), but still buggy.
- Fixed: Threads sample ran out of stack.
© 2000-2002 by egnite Software GmbH -
visit http://www.ethernut.de/