Revision History ========================= Compiler Revision 4.99.71 Feb.06.2012 ------------------------- IDE/PED Project administration improved. XMega ----- Bug in XMega USBsmart driver fixed. Boot FlashDownloader with USB implemented. Standard Driver Manual page 229 Examples: XMega_BootAppU + XMega_MainAppU Compiler Revision 4.99.70 Jan.30.2012 ------------------------- XMega ----- USB driver for XMegas implemented. This driver was developed for extremly low code usage (<2kB). Further infos in the Standard Driver Manual (USBsmart) page 88. A complete and full featured USB driver with Interrupts and opto 16 Endpoints will follow. Compiler Revision 4.99.69 23.Jan.2012 ------------------------- XMega ----- Some small bugs in Compiler and Simulator fixed. All parts of the system improved and extended. Compiler Revision 4.99.68 Jan.16.2012 ------------------------- XMega ------ BootLoader (UART) implemented. Standard Driver Manual p. 222 Example programs in the Demos Directory in "XMega_Boot" Compiler Revision 4.99.67 Jan.09.2012 ------------------------- XMega ------ XMega support in the Simulator improved. FAT16 MMC SPI-SOFT extended. F16_MMCport = PortX.SS, PortY.SCK, PortZ.MOSI, PortW.MISO; Compiler Revision 4.99.66 Jan.02.2012 ------------------------- File path problem in Simulator fixed. Stepper driver prototype/preliminary ST L6470 implemented. XMega ------ IRDA Examples completed. Compiler Revision 4.99.65 Dec.26.2011 ------------------------- XMega ----- Bug in Simulator fixed.(XMega 64bit compare). Application codesize limit reduced. Boot area excluded. Compiler Revision 4.99.64 Dec.12.2011 ------------------------- XMega ----- The IRDA driver is extended now by two functions. Compiler Revision 4.99.63 Nov.28.2011 ------------------------- RFID125 driver for RFID reader implemented. Find more in the Standard Driver Manual page 188 Compiler Revision 4.99.62 Nov.21.2011 ------------------------- XMega ----- IRDA/IRcom driver for XMega UARTs implemented. Find more in the Standard Driver Manual page 76 Compiler Revision 4.99.61 Nov.14.2011 ------------------------- Small bug in Boot Application fixed. IDE PED32 ProjectInformations extended with BootApplication. XMega ----- Bug in generic bits e.g. SetBit(PortB, 3, true) fixed. Compiler Revision 4.99.60 Nov.07.2011 ------------------------- XMega ------ New funcion implemented: Procedure HardwareReset; executes a real Hardware Reset, the same as the Reset Pin. The RC5 driver now supports the XMegas. Compiler Revision 4.99.59 Oct.31.2011 ------------------------- The functions IntToStr and ByteToHex are extended now for use with the Int8 type. AVRco USB driver for 90USB182...Mega128USB -------------------------------------------- The recent endpoint addresses were unfortunate set in way so they were not compatible to the standard. But they are legal. In order to be more compatible to the common standard these parameters are now adjusted: old: EP1 TX = $01 EP1 RX = $82 EP2 TX = $03 EP2 RX = $84 new: EP1 TX = $01 EP1 RX = $81 EP2 TX = $02 EP2 RX = $82 The driver and the Test Tool are changed now to support this. Compiler Revision 4.99.58 Oct.24.2011 ------------------------- XMega ------- The new instructions LAS, LAC and LAT completely removed from the IO-area. Compiler Revision 4.99.57 Oct.17.2011 ------------------------- Type checks improved. XMega ------- Bit-Typ operations changed because rmw operations by LAS and LAC are not working with ports. In the datasheet area of the installation there are now two PDFs which show the differences between "U" and non-"U" XMegas types. The new "U"-types now provide two physical channels per DAC which need a different handling in the init phase. Because of this the desired channels can be better defined at import time. DAC_B = Chan0, REFEXTB; // chan0 only or DAC_B = Chan1, REFEXTB; // chan1 only or DAC_B = Chan01, REFEXTB; // both channels XMega UARTs ------------- The UARTs can be set to synchron mode at DEFINE time: SerPortC0 = 57600, SyncMaster; // XCK is output or SerPortC0 = 19200, SyncSlave; // XCK is input Sometimes it is necessary to disable and re-enable the UARTs. These functions support this: procedure UartEnableRxXX( Ena : boolean); // Rx hardware ena/disable procedure UartEnableTxXX( Ena : boolean); // Tx hardware ena/disable where XX stands for C0, C1, D0, D1 etc. Compiler Revision 4.99.56 Oct.11.2011 ------------------------- Additional small bugs fixed in the Bit-processing, caused by the XMega specific Bit-handling. Compiler Revision 4.99.55 Oct.10.2011 ------------------------- Two small bugs fixed in the Bit-processing, caused by the XMega specific Bit-handling. Compiler Revision 4.99.54 Oct.03.2011 ------------------------- FileOfText ---------- Bug in Write(Ln) FileOfText fixed if a string conversion was involved. Simulator ---------- Some bugs caused by the XMega extensions are fixed now. XMegas ------- Some tests showed that the clock limit of 32MHz can be easily extended, maybe upto 64MHz. But not really tested where the absolute limits are. May depend on each specific XMega. In order to support some more testings the OSCtype define is extended with the option overdrive. Example: OSCtype = int32MHz, PLLmul=5, prescB=1, prescC=1, overdrive; // 40MHz or OSCtype = int32MHz, PLLmul=6, prescB=1, prescC=1, overdrive; // 48MHz or OSCtype = int32MHz, PLLmul=7, prescB=1, prescC=1, overdrive; // 56MHz or OSCtype = int32MHz, PLLmul=8, prescB=1, prescC=1, overdrive; //64MHz The option "overdrive" supresses a possible error message above 32MHz. Not more. XMega atomic instructions for bit manipulation ----------------------------------------------- The Xmegas provide many extensions for port-accesses. An important one is that read-modify-write operations like bit-set and bit-clear in ports can be executed with non-interruptible "atomic" operations. This is very important with interrupts and MultiTasking if more than one program parts are manipulating the same port with bits. Here it is possible that immediately after the read-cycle an interrupt starts which changes the same port and after that these changes become invalid by the interrupted and now continuing read-modify-write cycle. The AVRco tries to solve these possible problems and uses the new atomic instructions OutSetX, DirSetX, OutClrX, DirClrX, OutTglX, DirTglX for IO-Port bit set, bit clear and bit toggle. The same is true for bit-manipulations in SRAM bytes. Here the new instructions LAS (setbit), LAT (clearbit) and LAT (toggle) are used. LAS = load-and-set, LAC = load-and-clear. Compiler Revision 4.99.53 Sep.26.2011 ------------------------- XMegas ------- With the Define ADCprescX the resolution of the ADC can be set: ADCprescA = 4, 8; // clk div 4, resolution 8bits Compiler Revision 4.99.52 Sep.19.2011 ------------------------- The simulator AVRsim now supports also the XMegas SerPorts/UARTs with some limitations. Timer and other peripherals and Interrupts are still not supported. Compiler Revision 4.99.51 Sep.12.2011 ------------------------- The simulator AVRsim now supports the XMegas in a beta-version. Except of the SysTick no interrupts are supported now. Also UARTs, Timers and other peripherals are not supported. In-circuit debugging with the ISP3-Debug will follow. Compiler Revision 4.99.50 Sep.05.2011 ------------------------- Bug in wzTINA (TCP) fixed. Small bug in BoolToStr fixed. The auto-completion (CTRL+space) is now extended by a record auto-completion (IDE PED32). Can be disabled. Compiler Revision 4.99.49 Aug.29.2011 ------------------------- Small bug in Merlin Optimiser fixed. The IDE PED32 now stores all active bookmarks when a project becomes closed. So they are again present when a project is openend again. New attributes for variable declarations. These attributes force the compiler to align addresses of variables to even or multiple even addresses: var st1 : string[16], Align2; bb : byte, Align4; Arr : tArr, Align8; Compiler Revision 4.99.48 Aug.26.2011 ------------------------- New programmer updates for XMega programmers. Exampel BootApp with BootMain completed. Find more in the actual Standard Driver Manual in paragraph "3.48 BootApplication und MainApplication" XMega ------- New functions defined by the Import of XMegaSupport Function ReadProductionRow(loc : word) : byte; Function ReadUserRow(loc : word) : byte; New XMega opcodes implemented, LAT, LAC, LAS, XCH LAC Z, R15; LAT Z, _ACCA; LAS Z, _ACCB; XCH Z, R15; Compiler Revision 4.99.47 Aug.15.2011 ------------------------- XMega ------- Some XMegas, such as 256A3B, don't provide a 16bit RTC timer. So it can't be used for the SysTick. In order to have a SysTick in the application, now any 16bit timer can be used for this job. Find more infos in the actual Compiler Manual page 166. Boot application for XMegas implemented. Sample program: XMega_BootApp Find more in the Standard Driver Manual page 209 Compiler Revision 4.99.46 Aug.08.2011 ------------------------- Smal bug in ProcWaitFlag fixed. Support for Tiny4413 implemented. Compiler Revision 4.99.45 Aug.01.2011 ------------------------- Volatile switch for the Optimiser ---------------------------------- With memory-mapped IO-areas (mostly $XData) there can be IO-registers which can/must be written or read sequentially with different data. The Optimiser recognises this as redundand and removes these "unnecessary" accesses. To avoid this there are the new "volatile" switchesr. They force the Optimiser to do not change anything. An example for this maybe hardware pipe. {$OPTI VOLATILE_ON} the following data is handled as volatile behandelt, no optimising {OPTI VOLATILE_OFF} the following data is handled as non-volatile, optimising on {$OPTI VOLATILE_DFT} the following data is handled as default WeFind more infos about this in the actual Compiler Manual page 195 Bug in IncToLim(int8) and DecToLim(int8) fixed. XMegas: ------- Smal bug in Start_Processes, SysTickDisable, SysTickEnable, SysTickStart and SysTickStop fixed. Compiler Revision 4.99.44 July.19.2011 ------------------------- Some other differences with SerPort and SerPort1 fixed. "Define_Fuses" instructions extended with: AutoRelease = true/false; ProgUsrRow = true/false; // XMegas Compiler Revision 4.99.43 July.18.2011 ------------------------- USB driver improved. Differences with SerPort and SerPort1 fixed. New button in the IDE: Syntax Check, doesn't use a dongle and doesn't create an ASM file. New menu item in the IDE: Tools/USB-Viewer DSC files created for new AVRs: Mega128RFA1, XMega64A3U, XMega128A3U, XMega192A3U, XMega256A3U, XMega16A4U, XMega32A4U, XMega64A4U, XMega128A4U. All new XMegas with internal USB. Compiler Revision 4.99.42 June.27.2011 ------------------------- Sample program XMega_SerPortFast with 2MBit/sec baudrates Mega16-32HVB support by new DSC files. Bug in TINA driver (MSPI_x) fixed. Compiler Revision 4.99.41 June.06.2011 ------------------------- Update/Download problem in PED32 fixed. Re-enabled english popup dialog boxes. Font in the PED Editor now nearly free selectable. Max. Unit files extended to 128. Bug in Meg48/88/168/328 DSC files fixed. Compiler Revision 4.99.40 May.30.2011 ------------------------- Pointer auto decrement implemented, using AVR pointer pre-decrement. Limited to 8bit types. bb:= p^--; p^--:= bb; p--; Small Bug in Optimiser fixed. MIRF86 implemented. Supports the Atmel AT86RF231 2.4GHz chip Sample programs in ..\Demos\MIRF86 Detailed info in the Profi-Driver-Manual Compiler Revision 4.99.39 May.23.2011 ------------------------- Small Bug in Optimiser fixed. Error handling in PED and Compiler improved. Compiler Revision 4.99.38 May.16.2011 ------------------------- The Soft-I2C driver is extended by NOPs0..NOPs10. The programmers ISP3, UPP1 and UPP2 support now the TINY 4 - 5 - 9 - 10 - 20 New AVRprog, PackProg and DSC files included. Programmer firmware updates included. Programmer devices older than 04/2010 must be send to E-LAB for a complete new firmware update in order to support them. Compiler Revision 4.99.37 May.09.2011 ------------------------- The Random function is extended now by RandomSeed Procedure RandomSeed(s : word); XMega ------ The Random function is improved with the help of a free running internal RC oscillator (RTC). Compiler Revision 4.99.36 May.02.2011 ------------------------- Programmer and XMega -------------------- All programmers (ISP3, UPP1, UPP2) now support the XMega programming. Info here: http://e-lab.de/pdf/XMegaProg.pdf New AVRprog.exe and PackProg.exe in update included. XMega ----- Compiler supports now the special Flash memory UserSignatureRow. Find more in the actual Compiler Manual. And also the programmers now support UserSignatureRow programming. Compiler Revision 4.99.35 Apr.18.2011 ------------------------- Bit Test with LongWord implemented. Bug in Inc/DecToLimit(p^.int8) fixed. Small Bug in Optimiser fixed. Compiler Revision 4.99.34 Apr.04.2011 ------------------------- Bug in Inc/DecToLimit(int8) fixed. Small Bug in Optimiser fixed. Bug in BootApp fixed. Compiler Revision 4.99.33 Mar.21.2011 ------------------------- New function: Function Assigned(p : anypointer) : boolean; Returns a true if the pointer is <> NIL. AVR USB -------- The USB driver for the Mega128USB is ready. Detailed infos can be found in the Profi Driver Manual. A demo program is there: ..\AVRco\Demos\EvaBoard128 Compiler Revision 4.99.32 Feb.28.2011 ------------------------- Bug in return(const_BitSet) fixed. Problem with paths in WIN7/64 fixed. Error display improved. New AVRs included: Mega8U2-16U2-32U2 Some small bugs fixed. Compiler Revision 4.99.31 Feb.07.2011 ------------------------- PED32 IDE --------- Warnings in Units improved. New Font "PED32 Regular" = "PED Cour" becomes installed. This Font corresponds to Courier, but has a crossed null/zero. This Font can be selected in the dialog "IDE/General Options/Font&Color" WIN7 ---- If "PED Cour" is not available then double click on the file "PED32 Regular" in the PED folder/Fonts and then click onto install. WIN-XP ------ If "PED Cour" is not available then open Systemcontrol - Fonts - Menu File - new Font install "PED Cour". XMega ------ Bug in TWIstatXX fixed. Compiler Revision 4.99.30 Jan.31.2011 ------------------------- Soft I2C Delay extended with NOPs: Define I2Cclk = PortBit, NOPsX; where"X" can cover 0..7. NOPs0, NOPs1... Compiler Revision 4.99.29 Jan.24.2011 ------------------------- Another Bug in Optimiser fixed. Compiler Revision 4.99.28 Jan.10.2011 ------------------------- Small Bug in Optimiser fixed. Compiler Revision 4.99.27 Dec.20.2010 ------------------------- Small bug in exported Unit-function with a string type as result fixed. XMega ----- Functions SetSerDataBits and SetSerStopBits implemented. Compiler Revision 4.99.26 Dec.13.2010 ------------------------- Bug in the Stepper Lib fixed, caused by the XMega support. Bug in WaitPipe(RxBuffer1) fixed. Bug in trunc(const) fixed. Small Bug in the Optimiser fixed. Compiler Revision 4.99.25 Nov.30.2010 ------------------------- New: LCDs with ST7036 3.3..5V parallel, I2C, SPI. Examples: AVR LCD7036i I2C mode AVR LCD7036p Port mode AVR LCD7036s SPI mode TINA + WizNet driver implemented. Examples: AVR wzTinaDNS AVR wzTinaSNTP wzTinaServer and wzTinaClient will follow. Discussions and reports please post in the forum "Ethernet + TINA + WizNet" (User Miparo). XMega ----- Implemented: LCDs with ST7036 3.3V parallel, I2C, SPI. Examples: XMega_LCD7036s SPI mode XMega_LCD7036p Port mode XMega_LCD7036i I2C mode Compiler Revision 4.99.24 Nov.08.2010 ------------------------- XMega ----- Single-Wire (Half-Duplex) SLIPport implemented. New example: XMega_SLIPsw Compiler Revision 4.99.23 Oct.18.2010 ------------------------- All recent examples are now in PED32 in the Project dialog in the TAB "AVRco samples". These projects are always read-only and become always rewritten with updates! XMega ----- SoftPWM driver implemented. New example: XMega_SoftPWM Compiler Revision 4.99.22 Oct.11.2010 ------------------------- Small Bug in Optimiser fixed. XMega ----- Small Bug in SPI driver fixed. Small Bug in FreqCount driver fixed. New example: XMega_LCDgraph Compiler Revision 4.99.21 Oct.04.2010 ------------------------- Small bug in Optimiser fixed. XMega ----- Bug in RTC driver fixed. The standard SPI-driver are extended with Define SPI_SSx = none; External RAM and Memory Mapped IO implemented with XData0..XData3 See Compiler Manual and demos in the directory "demos\XMega_XData". New sample program XMega_RTC Compiler Revision 4.99.20 Sep.20.2010 ------------------------- Bug in LANport with 16bit address fixed. Small bug in Optimiser fixed. Compiler Revision 4.99.19 Sep.06.2010 ------------------------- Some small bugs (caused by XMega support) fixed. XMega ----- The Speech driver is extended with the internal XMega DAC The DDS10 driver is extended with the internal XMega DAC The FAT16 driver is extended with SPI_C..SPI_F Example program in ..\Demos\XMega_FAT16 Compiler Revision 4.99.18 Aug.30.2010 ------------------------- Bug in TWI-Slave fixed. XMega ----- Support Functions implemented: Read/Write LockBits, Read Fuses, Read ID etc. Example in Demos\XMega_Support PulseCount Event Counter implemented. Example in Demos\XMega_PulseCount FreqCount Frequency Counter implemented. Example in Demos\XMega_FreqCount Compiler Revision 4.99.17 Aug.23.2010 ------------------------- XMega ----- System_Reset implemented. Generates a real Hardware Reset! TWI driver TWI_C .. TWI_F implemented. Example in Demos\XMega_TWI External Interrupts with PortIntA .. PortIntR implemented. Example in Demos\XMega_PortInt External Interrupts with PCintA .. PCintR implemented. Example in Demos\XMega_PCint Compiler Revision 4.99.16 Aug.16.2010 ------------------------- Bug in SizeOf(string) fixed. ExitLoop in CASE block implemented. SmallBug in Optimiser fixed. XMega ----- XMega ADC extended to 8/16 channels. Example in Demos\XMega_ADC XMega QDEC Quadrature Incremental Encoder implemented. Example in Demos\XMega_QDEC Compiler Revision 4.99.15 Aug.09.2010 ------------------------- XMega ----- The XMegas provide upto 24 PWM channels. All are supported now. Example in Demos\XMega_PWM For the XMega SysTick there is the new "adj" option. With adj the tick will have exactly 10msec resolution, for example. Define SysTick = 10, adj; Compiler Revision 4.99.14 Aug.02.2010 ------------------------- Some small bugs fixed, introduced by XMega and Fix64. Compiler Revision 4.99.13 July.26.2010 ------------------------- Bug in Function GetBankNum() fixed. Bug in ReadLn(SerInp, array of string) fixed. Compiler Revision 4.99.12 July.19.2010 ------------------------- Bug in TickTimer fixed. Bug in Integer and (const integer) fixed. The SerPort functions (1. SerPort) can all be consequently reached with the Suffix "1". RxBuffer1, TxBuffer1, SerInp1, SerOut1 etc. New and improved TINA-DHCP driver. XMega ----- MSPIM Modes of the UARTS implemented. XMega UART can work as a SPI Master. MSPI_C0..MSPIF1. Example in Demos\XMega_MSPI TINA-DHCP for XMegas ported. Example in Demos\XMega_DHCP Compiler Revision 4.99.11 July.12.2010 ------------------------- Fix64 ------ Decimal separator was ignored in StrToFix64. Fixed. XMega ------ Digital Synthesizer DDS10 ported to XMega. Project in Demos Directory in "Xmega_DDS10". Sprach Ausgabe SpeechPort ported to XMega. Project in Demos Directory in "Xmega_Speech". Schrittmotor Controller StepPort ported to XMega. Project in Demos Directory in "Xmega_Stepper". Compiler Revision 4.99.10 July.06.2010 ------------------------- Fix64 ------ The demo programs contain another Sqrt function "SqrtFix64" which returns the square root of the Fix64 argument with 9 fract digits precision. Attention: SqrtFix64 has a frame usage of 64 Bytes! Runtime 5msec@16Mhz. Sqrt() has a runtime of 0.6msec@16Mhz but the precision is only 5 frac Digits. The unit uFix64 contains a very precise (9digits) and fast (2.2msec) Sqrt function "Fix64Sqrt". A sample program for the Math functions is in the directory ..\E-Lab\AVRco\Demos\Fix64 A sample program for the Trigonometry functions is in the same directory. XMega ----- The TINA driver is now also supported by the XMegas. Compiler Revision 4.99.09 June.28.2010 ------------------------- Bug in Array[Int8] fixed. Fix64 ------ The Fix64 type is completely implemented now. All basic functions and operators are supported in all AVRco systems. Higher Math, Trigonometry and Logarithm functions are in the unit "uFix64" which is only included in the AVRco Profi Version. XMega ------ New compiler switch "REUTILIZE". It serves that Timer, SPI and TWI can be used many times with different drivers. For example if the driver A uses the SPI_C and the driver B should also use the SPI_C then there will be a compiler error message. To avoid this then before the second usage of the SPI_C in the DEFINE this switch must precede: Define DriverA = SPI_C; {$REUTILIZE SPI_C} DriverB = SPI_C; Valid arguments are TIMER_C0..TIMER_F1, SPI_C..SPI_F, TWI_C..TWI_F TickTimer and TickTimer2 for XMegas implemented: Define TickTimer = Timer_C0; TickTimer2 = Timer_C1; oder TickTimer = Timer_D0, PortE, 4; TickTimer2 = Timer_D1, PortE, 5; The TickTimer2 is present in the XMega only. New function: Procedure EnableIntsX; This enables the global XMega interrupt without changing the interrupt levels. Compiler Revision 4.99.09 xx.Juni.2010 ------------------------- Fix64 ------ XMega ------ New compiler switch "REUTILIZE". It serves to reuse Timer, SPI and TWI for different drivers. For example if the driver A uses the SPI_C and the driver B must also use the SPI_C then an error is raised. To avoid this and be able to use the SPI_C for both drivers then before the second define of the SPI_C this compiler switch must be used: Define DriverA = SPI_C; {$REUTILIZE SPI_C} DriverB = SPI_C; Valid arguments are TIMER_C0..TIMER_F1, SPI_C..SPI_F, TWI_C..TWI_F Compiler Revision 4.99.08 June.21.2010 ------------------------- TINA UDP Driver --------------- The TINA now supports also the new ENC424J600. Furthermore in addition to the standard SPI the MSPIs and und Soft_SPI are supported: TINAdriver = ENC424J600; // TINAdriver = ENC28J60; TINAport = SPI, PortB, 0; // SPItyp, SS_Port, SS_Pin XMega ------ Now implemented: Procedure Enable_JTAGport; Procedure Disable_JTAGport; Compiler Revision 4.99.07 June.14.2010 ------------------------- Bug in SysTick = 10.xx fixed. XMega ------ SysTick changed from RTC compare interrupt to RTC overflow interrupt. Fix64 Typen ------------ Multiply "*" Divide "/" and SQR() implemented. Trigonometry and Logarithms will follow in separate Unit "uFix64". Compiler Revision 4.99.06 June.07.2010 ------------------------- Bug in FlushBuffer(RxBuffer3) Fixed. New functions: Function StrToFix64(st : string) : fix64; Function StrToInt(st : string) : Int64|Word64; XMega ----- Bug in XMega SysTick timing fixed. EnableInts and Start_Processes extended with "Levels". Levels is determined for the control register PMIC Control. Procedure EnableInts(levels : byte); Procedure Start_Processes(levels : byte); Compiler Revision 4.99.05 May.31.2010 ------------------------- New functions: Function Sqrt(i : int64) : int64; Function Sqrt(f : fix64) : fix64; A few small bugs in Fix64 math fixed. With TWIslave mode without handshake now there are two status bytes: TWIslvTxCount and TWIslvRxCount. With each received or transmitted byte the corresponding count is then incremented by 1. Compiler Revision 4.99.04 May.25.2010 ------------------------- Fix64 Types ------------ Function Fix64ToStr(const f : Fix64) : string; // with format options Function Fix64ToHex(const f : Fix64) : string; implemented Compiler Revision 4.99.03 May.17.2010 ------------------------- Bug in LCDport driver with 2 enables fixed. Small bug with Fix64 in Compiler and SIM fixed. TWI_BRxxx extended with TWI_BR500, TWI_BR600 and TWI_BR800 Both ModBus drivers extended with SerPort3 and SerPort4. Compiler Revision 4.99.02 May.10.2010 ------------------------- Bug in Sgn(Int64 | Fix64) fixed. Compiler Revision 4.99.01 May.04.2010 ------------------------- Bug in the installation fixed. (AVRco) Compiler Revision 4.99.00 May.03.2010 ------------------------- New Installation ----------------- Problem with new USB driver, "Programmer not found" if AVRprog is open is fixed now. Error popup with installations under 64bit Windows is fixed. But with some 64bit systems the compiler run shows a Runtime Error 217... Fix64 Types ------------ Functions Frac(fix64), Int(Fix64), Round(Fix64), Trunc(Fix64) and IntToFix64(i : ordinal) implemented. Compiler Revision 4.98.00 Apr.20.2010 ------------------------- All parts of the AVRco system are converted to be 64bit compatible. So AVRco and its sub-systems now run under XP, Vista and Windows7, with 32bit also with 64bit systems. Compiler Revision 4.97.16 Apr.05.2010 ------------------------- Neuw functions: Procedure PushRegs; // push regs _ACCALO.._ACCFHI Procedure PopRegs; // pop regs _ACCALO.._ACCFHI IDE PED32 improved and extended. Compiler Revision 4.97.15 Mar.29.2010 ------------------------- All 64bit types (Word64, Int64, Fix64) are also supported now by these functions: UserData, BankPort, sign, sgn, min, max, negate, not, lower, higher, within, ValueInRange, ValueTrimLimit Not implemented yet for 64bit types are: ValueInTolerance, ValueInToleranceP XMega Support =============== The Read-Modify-Write operations like SetBit, Incl, Excl, Toggle etc. which using a port, now using the registers OUTSET, OUTCLR und OUTTGL as "atomic" accesses. This means they are not interruptible. Compiler Revision 4.97.14 Mar.22.2010 ------------------------- All "MOD" functions until now had always a positive result. From now on all "MOD" functions can have also a negative result with Int8, Integer, LongInt and Int64 if the general result was negative. So this behaviour matches with most programming languages. http://mathforum.org/library/drmath/view/52343.html If one still wants always positive results use the ABS() function with integer MODs. Some more math functions extended for Fix64. XMega Support =============== The Define of the DACs has changed: REFaVCC implemented. Compiler Revision 4.97.13 Mar.08.2010 ------------------------- The new type Fix64 is supported by the Simulator. Bug in DEC(Int64, const) fixed. XMega: Bug in WaitPipe(RxBuffer) fixed. XMega: Bug in SerPortSelect fixed. Compiler Revision 4.97.12 Mar.01.2010 ------------------------- Some minor improvements in the code generation. Compiler Revision 4.97.11 Feb.22.2010 ------------------------- Function SerBaud(bbbb) extended to 1MBaud. SerPort_Send1 implemented. Avra's 32bit Fixed Point Library in the Demos in Fix32Math. Compiler Revision 4.97.10 Feb.15.2010 ------------------------- XMega Support: ============== DA-Converter DAC_A and DAC_B implemented. Compiler Revision 4.97.09 Feb.08.2010 ------------------------- XMega Support: ============== DSC files for all XMegas created. Compiler Revision 4.97.08 Feb.01.2010 ------------------------- SizeOf(xArr[1]) is implemented now. FAT16 File Types in Records implemented. FEdit Unit included as source in the system. XMega Support: ============== ADC_A and ADC_B are implemented now. More infos in the Standard-Driver-Manual Compiler Revision 4.97.07 Jan.25.2010 ------------------------- Small bug in Optimiser fixed. Bug in CheckStackValid(Task) with Mega256 fixed. SerInp1, SerOut1 and SerStat1 implemented. Compiler Revision 4.97.06 Jan.18.2010 ------------------------- XMega Support: ============== Hardware SPI implemented: SPI_C, SPI_D, SPI_E, SPI_F Driver which use the SPI: LCDport, MIRF24port Compiler Revision 4.97.05 Jan.11.2010 ------------------------- Small bug in Optimiser fixed. Bug in file pTiny2313.dsc fixed (PWM). XMega Support: ============== SerPorts implemented. Example program "XMega_SerPort" in the Demos directory in "XMega_SerPort" More infos in the Standard-Driver-Manual SlipPorts implemented. Example program "XMega_SLIP" in the Demos directory in "XMega_SLIPport" More infos in the Profi-Driver-Manual Compiler Revision 4.97.04 Jan.04.2010 ------------------------- Small bug in ModBus fixed. (wrong display in ModBus-Simulator) ******************************************************************************** ******************************************************************************** INSTALLATION ============ This program is installed and registered for the requirements of Windows. Therefore there entries in the Win registry are generated. The included ISP-programmer and JTAG-ICE acts as a dongle. It must be plugged into an USB port of the PC. If it is not present, the compiler switches into Demo-Mode. System requirements ===================== Windows2000 or XP is obligatory. With WIN200 min 512MByte RAM With XP min 512MByte, preferable are 1MBytes VISTA is not supported yet! DE-INSTALLATION =============== In order to completely de-install the system, the directories and files must not be deleted manually. Instead use Win "Start|Settings| SystemControl|Software|DeInstall" and select "AVRco". The entire package will be deleted incl. all folders. Over-INSTALLATION ================= For updates downloads use only the download feature of the IDE PED32. A new version can be installed without deleting the old parameters. No setup or projects get lost. Compiler State =============== Known problems Compiler: The function IntegrateI still has a problem with negative values. Assembler: None Simulator: beta phase Editor: None Limitations: Overwriting of predefined Types, Variables, Constants, Functions and Procedures is not implemented yet. The order of the operators (* AND SHR etc.) is not completely implemented yet. So please use always parentheses in conjunction with expressions. Strings ======= The following string concat result is not what you expect: str:= str1 + str; This is correct: str:= str + str1; Not implemented: "With" constructs with Records in Records Double Precision Flot not implemented. If you find any problems or errors, we will be pleased about an information via e-mail. In this case we try to fix it in a short time. If you include any source, please attach a ZIP-file. TIP: ---- Check your program complete and thoroughly with the help of the Simulator. If the frame is too small, you get an error message. The real frame and stack usage can be found with a click to the button on top of the Stack/Frame Window. Then you can reduce the Frame or Stack size if desired. AVRco Simulator AVRsim ====================== A screen resolution of at least 1000x800 is recommended. Have fun with a tool that works!