Changelog for AVRprog related software
======================================
(2006-02-15)

Versions with 'i' are intermediate test versions and were never released.
Versions with 'p' at the end are under development and not released yet.


VRprog HOWTO
-------------
V0.0   Initial version

V0.1   Text updated
       Errors fixed

V0.2   Info for DOS backend updated
       Spelling mistakes corrected

V0.3   Info how to configure network for DOS netlayer server included
       Info for 'ping' on DOS machines added
       UNIX netlayer client: Added info that IP-address or hostname can be used

V0.4   UNIX frontend: Added info where to place netlayer client libraries

V0.5   UNIX netlayer client test program can now be configured via command line
       Section how to compile the parameters into the test program removed
       UNIX netlayer client: Directory for logfile and logfile name changed

V0.6   Updated section for required UNIX tools
       Added meaning of sense codes 15 and 16
       UNIX netlayer client: Updated messages
       UNIX netlayer client: Updated logfile behaviour
       UNIX frontend: Intel HEX file format is now supported by frontend if the
        file format converters 'HEXtoGEN' and 'GENtoHEX' are installed
       Some other minor corrections


AVRprog documentation
---------------------
V0.7   First released version

V0.8   Split the documentation
       Serial1 protocol docu is now a separate document

V0.9i  First proposal for API V0.4

V0.10i Because the new API was incompatible to V0.3 it is renamed to V1.0

V0.11i First proposal for backward compatible API V0.4

V0.12  Final API V0.4 added
       Platform support section updated


AVRprog UNIX backend
--------------------
V0.6   First released version
       Supports only 'Serial1' programmer
       Backend interface used: V0.3

V0.7   Support for 'SerialSTK' programmer

V0.8   New 'SerialSTK' driver V0.1
       'Serial1' driver library renamed

V0.9   New 'SerialSTK' driver V0.2
       New 'Serial1' driver V0.8
       
V0.10  New 'SerialSTK' driver V0.3
       Support for 'AVR910' programmer

V0.11  New 'SerialSTK' driver V0.4 supports new devices
       Bugfix: SerialSTK driver: Define '_BSD_SOURCE' to get a 'usleep()'
        declaration on GNU systems
       Support for 'Akizuki' programmer contributed by Jouko Holopainen
       Dynamic driver loading support (at runtime) contributed by Jouko
        Holopainen
       Basic support for 'STK500' evaluation board (not functional yet)
       Dedicated SunOS Makefile added
       Support for SunOS/Solaris

V0.12  Bugfix: 'AVR910' driver EEPROM routines fail if memory segment does
        not start at address 0x0000 - Fixed in new driver V0.1
       Function 'programmer_enable()' now check if programmer is already enabled
        and do disable-reenable in this case
       Programmer device file is now locked using POSIX 'fcntl()' mechanism
       New 'Serial1' driver V0.9
       Bugfix: Uninitialized variable in 'Akizuki' driver - Fixed in new driver
        V0.2
       New 'SerialSTK' driver V0.5 now supports AT90CAN128, ATmega165, ATmega325
        ATmega3250, ATmega329, ATmega3290, ATmega645, ATmega6450, ATmega649 and
        ATmega6490, AT90PWM2, AT90PWM3, ATtiny25, ATtiny45, ATtiny85
       Bugfix: Wrong pages size for ATtiny13 and ATtiny2313 in 'SerialSTK'
        driver - Fixed in new driver V0.5
       Bugfix: Lockbit programming fixed in 'SerialSTK' and 'AVR910' drivers
       'AVR910' driver V0.1 now supports firmware V3.x from Klaus Leidinger
       'AVR910' driver V0.1 now also supports 115200Bit/s on RS-232
       'AVR910' driver V0.1 now additionally supports ATtiny2313, ATtiny26,
        ATmega8515, ATmega8535, ATmega16, ATmega162, ATmega169, ATmega64 and
        ATmega128
       'STK500' driver V0.1 works now (tested with hardware V2 / firmware V1.15)
       New driver skeleton makes it easier to create own drivers
       Support for 'AVR109' bootloaders added
       Using HEXtoGEN V0.3 file format converter is strongly recommended!
       Too many items on the ToDo list ... time to release this version now.

V0.13  Backend API used: V0.4 (backward compatible)
       Support for NetBSD operating system
       New 'SerialSTK' driver V0.6 now supports IEEE-1284 on NetBSD (using
        experimental ppbus/ppui drivers - patches for NetBSD 2.0 are included)
       Fusebit read/write support added
       New 'STK500' driver V0.2 supports fuse bit writing
       Lockbit read support added
       On devices with paged Flash-EPROM problems can occur when the frontend do
        not align the data blocks on page boundaries (there is no spec that
        forces the frontend to do so) - Fixed with internal page buffer that is
        always completely initialized. As the result the drivers never get
        partial pages to handle
       Central device database added (in the future all drivers can use the same
        device database)
       Programming method (LVS, HVP, HVS, JTAG) is now selectable by the
        frontend
       RC oscillator calibration spport added
       Formerly the drivers are bound to a specific backend version and are not
        interchangeable because their API was not specified. Now the official
        driver API V0.1 is supported by all drivers
       All library names now follow the UNIX conventions (have a major number
        indicating compatible API version). Now it is possible to install
        multiple versions of backend and driver libraries with incompatible
        APIs into the same directory
       Support for 32Bit HP-UX operating system
       On HP-UX all shared libraries are named '.sl'. The version numbering is
        done like on the other systems (HPs "internal versioning" is not used)
       Support for AIX operating system
       Bugfix: Library search path was not correct on some platforms - Fixed
       Tested to work on 64Bit GNU/Linux


AVRprog DOS backend
-------------------
V0.0   Ported from UNIX backend V0.8
       Supports only 'Serial1' programmer
       Backend interface used: V0.3

V0.1   New 'Serial1' driver V0.1
       Support for 'AVR910' programmer


AVRprog UNIX netlayer server
----------------------------
V0.0   Initial version
       Supports protocol version V0.0
       Backend interface used: V0.3

V0.1   Daemon now detaches from parent

V0.2   Bugfixes

V0.3   Log messages changed

V0.4   Makefile modified
       Source style updated
       The daemon can now handle multiple simultaneous connections
       All messages are now logged with PID
       Every server process now exits using the '_exit()' call
       The daemon raises 'QUIT' signal for all created servers on exit
       Every server inherits the handler for the 'CHLD' signal and must
        therefore now install an ignore handler for this signal
       The exit status is now logged by the server processes directly

V0.5i  Preserve working directory on startup (This is needed by the dynamic
        driver loading feature of backend V0.11)
       Set umask on startup
       Redirect 'stdin' and 'stdout' to '/dev/null'
       Redirect 'stderr' to '/dev/console'
       Bugfix: Uninitialized variable fixed

V0.6   New Makefile
       Support for SunOS/Solaris operating system
       Redirect 'stderr' to '/dev/null'

V0.7   Debug system enhanced

V0.8   Support for HP-UX operating system
       Support for AIX operating system
       Bugfix: Signal handling is now POSIX.1-1990 compliant
       Works now on 64Bit GNU/Linux
       Man page for AVRprog daemon added


AVRprog DOS netlayer server
---------------------------
V0.0   Ported from UNIX netlayer server V0.1
       Supports protocol version V0.0
       Backend interface used: V0.3

V0.1   Bug in server fixed (Uninitialized variable)
       Socket is no longer closed by daemon on regular exit (Ctrl-C) to avoid
        connection close timeout
       Return value of 'accept()' is now checked to verify open connection
        (otherwise an unset pointer is used, this can crash the system)
       Source style updated


AVRprog UNIX netlayer client
----------------------------
V0.0   Initial version
       Supports protocol version V0.0
       Backend interface used: V0.3

V0.1   Minor changes

V0.2i  Delay added between connection close and open to prevent 'connection
       refused' errors with DOS netlayer

V0.3   The dumb delay from V0.2 is replaced by a sequence of 2 retries when
        opening a new connection and the error is 'connection refused' 
       Debug level is now written to log file

V0.4   New test program accepts parameters from command line
       TCP port can now be specified in address field as 'hostname:port'
       Logfile is now created in home directory

V0.5   Bugfix: '=/==' error in 'if' statement fixed
       Unused array removed
       Bugfix: Fixed some 'printf()' conversions
       New Makefile
       Support for SunOS/Solaris operating system
       Added '_BSD_SOURCE' to get a 'usleep()' declaration on GNU systems

V0.6   Support for HP-UX operating system
       Support for AIX operating system
       Tested to work on 64Bit GNU/Linux


AVRprog UNIX graphical frontend
-------------------------------
V0.5   First released version
       Backend interface used: V0.2
       Support for RS-232 device type only
       Needs TCL/TK 8.0

V0.6   More devices supported
       Netlayer support added
       Input field for network address added
       Backend interface used: V0.3
       Support for IEEE-1284 device type added
       Device file is now specified via input field not by radio buttons
       Lock bits are now specified as number
       EEPROM erase button added
       Cycle button added
       Bugfix for config file handling (Crashing with certain file contents)

V0.7   Support for new devices added

V0.8   Support for ATtiny13 and ATtiny2313 added
       Bugfix: Buffer overflow in EEPROM routines fixed (could cause
        segmentation fault while writing to EEPROM)
       Bugfix: EEPROM files are now written and expected in Atmel GENERIC 16/8
        format (The formerly used format was not GENERIC 24/16 compatible)
       New Makefile for SunOS/Solaris support
       Support for ATmega48, ATmega88 and ATmega168 added
       Bugfix: Fixed Lockfile 'Edit' radio buttons
       Lockbits LB1 and LB2 are now supported on 0.35um devices locations
       Lockbits are now displayed as hexadezimal byte
       All widget colors are now defined (no longer using TK defaults)

V0.9   Bugfix: 'Cycle' button must be bound to 'cycle()' function
       Support for Intel HEX file format
       Now there is one config file '~/.AVRprog_frontend.cfg' for every user
        (in home directory)
       Messages are now logged to '~/AVRprog_frontend.log' (in home directory)

V0.10i Support for AT90CAN128, ATmega165, ATmega325, ATmega3250, ATmega329,
        ATmega3290, ATmega645, ATmega6450, ATmega649 and ATmega6490 added
       Bugfix: EEPROM functions broken for Intel HEX files - Fixed
       Bugfix: Lockbit handling fixed - Now inverted at correct position

V0.11  Docu files updated
       Support for NetBSD operating system
       File type (Intel HEX, Atmel GENERIC) is no longer derived from file name
        extension but can now be selected via file type button
       File open/Save as dialogs now has an additional filter "*.*"

V0.12  Support for HP-UX operating system
       Support for AIX operating system
       Tested to work on 64Bit GNU/Linux
       Man page for AVRprog frontend added
              
      


Browser        IDFC        Home        Contact