5.080A problem with memcpy() throwing an error under Linux is fixed
5.080 A bug involving passing arrays to an inline function for some chips is fixed
5.080 A problem with some fields with a indirect type inside a const struct throwing an error is fixed
5.080 A linker error finding files when an output directory is used is fixed
5.080 Fixed issue with assigning output pins with #pin_select and pin_select() function on some PCD devices
5.080 A bug in make32 for PCD parts when assigned using an indirect address is fixed
5.079A problem with some interrupts on the K42 parts starting in the wrong bank is fixed
5.079 A problem with the IDE finding units when the output directory is specified is fixed
5.079 A wrong warning 227 on some chips and options is fixed
5.079 The ++ operator when used on multi-byte fields in a packed structure sometimes did not work
5.079 A PIC24 optimization issues was fixed related to integer to float conversion
5.079 A PCH problem with function pointers inside structures for some syntaxes is fixed
5.079 A fix was made for dual partition mode
5.079 Fixed restart_wdt() for devices with a WWDT and window is set to less then 100 percent
5.079 Fixed issue with port_x_pullup() function not clearing WPUEN bit for some chips
5.078Fixed an issue with the PLL for K42 devices when using an external clock source.
5.078 Some PCD functions called from an ISR were not being protected when also called from main().
5.077Added debugger support for the K42 parts.
5.077 Fixed an issue with the UART2 and I2C2 peripherals for the K42 device family.
5.077 Fixed an issue with #use rs232() transmit buffer sometimes sending an extra character in the PCM and PCH compilers.
5.077 Fixed an issue with #pin_select and RX1 not assigning UART receive pin correctly for PIC16F1579 family.
5.077 A problem with multiple compilation units using stdlib.h on some parts is fixed.
5.077 Object file size differences between compiles due to inconsistant optimization is fixed.
5.077 A PIC18 bug with the -- operator on complex indirect addresses is fixed.
5.076Added i2c_transfer(), ic2_transfer_in() and i2c_transfer_out() built in functions
5.076 Added HW I2C support for K42 devices, Master mode must use new transfer functions
5.076 Fixed a couple register address issues with port_x_pullup(), write_eeprom() and read_eeprom() for K42
5.076 Fixed an issue with #use rs232() when using even or odd parity and K40 devices
5.076 Fixed an issue with #use rs232() when using even or odd parity and transmit buffer
5.075The syntax "#define x x" is now treated as it is in a GNU compiler
5.075 An incorrect opcode showing up in the PIC16F188xx LST files is now fixed
5.075 The constant string limit has been increased for chips that can support it
5.075 Some _fixed(x) problems when mixing types have been fixed
5.075 PCD output_toggle() function now accepts a variable for the pin to toggle
5.075 Fixed issue with CCP peripherals for PIC16F176x family
5.075 Fixed issue with setup_pwm9() function for PIC16F1778
5.075 Fixed issue with set_adc_channel() function incorrectly clearing ADC reference bit for PIC16F1914 family
5.075 Fixed issue with assigning PIN_D0 to peripheral with #pin_select for PIC18FxxJ94 family
5.075 Fixed issue with enable_interrupts(INT_CN_PIN | PIN_xx) not working for some PCD devices
5.075 Fixed issue with clcx_setup_input() function not working for PIC16F18877 family
5.075 Fixed issue with assigning pins to T3CKI and T5CKI with #pin_select for PIC16F18345 family
5.075 Various Interface Designer fixes and updates
5.074Fixed an issue with the HW I2C not working for some PCD devices.
5.074 Fixed an issue with pin_select() function not working for some devices.
5.074 Added read_device_info() and read_config_info() for devices that have a Device Information Area (DIA/DCA).
5.074 Fixed an issue with Interrupt flags not being cleared correctly on PIC16F188xx devices in some cases.
5.074 Fixed an issue with #use delay() setting clock configuration fuses incorrectly for some dsPIC30F devices.
5.074 Fixed issues with "Verify Blank", "Verify Chip=File", "Read Chip", and "Erase Chip" when using LoadNGo and Prime8 in CCSLoad.
5.074 Fixed clock speed calculation for the 24FKL family debugger.
5.074 Fixed issues with cursor position in IDE when line numbers are hidden.
5.074 Fixed an issue where code completion in the IDE would replace too much text.
5.074 Added debuggers for the 16F183xx, 16F188xx, and 16F1703/7 families.
5.074 Debugger lines numbers being off when passing a source line on the command line is now fixed.
5.074 A problem with -= on 24 bit parts when used in an expresion with a -> is fixed.
5.074 An enhanced16 optimization bug in some interrupt handlers is fixed.
5.074 A problem with #id and multiple compilation units is fixed.
5.073 CHAR_BITS in limits.h is now 8
5.073 Warnings about memory already used with #rom are fixed
5.072 Support for the newest devices has been added
5.072 Fixed an issue with #use pwm() and the pwm_set_duty_percent() function when used to set the duty to 100% it would instead set it to 0% is some cases.
5.072 Fixed an issue with #pin_select for PIC18F24K40 and PIC18F25K40 devices.
5.072 Fixed an issue with setup_comparator() and dac_write() function for PIC18F14K22 family.
5.072 Fixed an issue with setup_oscillator() function for PIC24FJ1024GA606 family that was causing it to not perform the clock switching procedure correctly.
5.072 Fixed an issue with write_configuration_memory() function for PIC24F32KA304 family.
5.072 Added debuggers for 24FJxxxGx7xx and 16F153xx families.
5.072 Fixed some issues displaying the statistics file in the IDE.
5.071 Support for the newest devices has been added
5.071 Added support for time.h to tick.c driver
5.071 Fixed issue with set_tris_x() function for PIC16F527
5.071 Fixed an issue with read/write_program_memory() when using a structure element for the address in PCH
5.071 Fixed an issue with #pin_select for PIC18F24/5K40 devices because of an errata
5.071 Updated #use touchpad() for the PIC18FxxJ94 family when using a 64MHz system clock
5.070 An internal error when using USE TOUCHPAD is now gone
5.070 port_d_pullups() is now fixed for K40 parts
5.070 Updated the COF file format to be able to debug more than 65K lines
5.070 A PCH optimization bug (opt>5) has been fixed
5.070 PCD RAM memory allocation is now more efficient
5.069 RAM allocation has been optimized to reduce unused gaps.
5.069 Updated write_program_memory() function to fix a trap issue on 24 bit Gx6xx parts.
February 15, 2017
5.068 A problem with K40 interrupts is fixed
5.068 A bug with two dimensional arrays is fixed
5.067 A decompression database error for some parts is now fixed
5.067 Added the PIC18FxxK40 family debugger
5.067 Fixed an issue with PIC16F18877 and PIC16F18875 that was causing compiler to access a register incorrectly
5.067 Fixed a couple issues for PIC16F1619 family which was causing built-in PID and CCP functions to not work
5.067 Fixed an issue with #opt compress for Enhanced 16 devices
5.066 New graphical Interface Designer now included with the IDE compilers
5.066 IDE now supports Ctrl++ and Ctrl+- shortcuts to quickly zoom text.
5.066 Fixed an IDE issue with editor bookmarks when using "Save As".
5.066 IDE Debugger "Debug Configure" tab can now supply VDD to the target while debugging with the ICD-U80.
5.066 Fixed an issue with #use spi() and #use fixed_io() for PCD compiler.
5.066 Fixed an issue with #use delay() writing incorrect register for OSC TUNE bits on some dsPIC30F devices.
5.066 Added some missing PIC18LF chips to USB driver.
5.066 Fixed an issue with interrupt relocation for PIC18 USB Bootloader.
5.066 An Enhanced PIC16 problem with PCLATH being corrupted after some calls via function pointers is fixed
5.065 Added ability to open history files from the File History Viewer in the IDE
5.065 A bit_set/clear bug was fixed in PCD when using multi-byte indirection
5.065 An undeserved error message for some sprintf() uses is now fixed
5.065 Fixed issue in the IDE with "Open File at Cursor" when the file is not in the main project directory.
5.065 Fixed an issue with the adc_read() function for MCP1911x devices.
5.065 Fixed an issue with #use touchpad for PIC18F45K50 family.
5.065 Fixed an issue with spi_init() function that could cause a trap to occur for PIC24 GA/GB2xx, GA/GB4xx and GA/GB6xx families.
5.065 Fixed a setup_compare() issue when used with remappable peripheral pins not assigned
5.064 A PCD bug with some complex math operations when indirection is used is fixed
5.064 A device database issue affecting small chips with only one GPIO port is fixed
5.063 Added support for the PIC18F27K40 Family
5.063 Fixed an issue with get_timer_3() get_timer_5() and get_timer_7() for some PIC16 devices
5.063 A math error related to fixed point multiplication is fixed
5.063 Added 33EPxxGS50x programming support
5.062 Fixed an issue with erase_program_eeprom() function for PIC12F617
5.062 Fixed an issue with Software Slave SPI returning incorrect results in some modes
5.062 Fixed an issue with interrupts on some 24 bit devices
5.062 Fixed an issue in reading RAM in PCW debugger for some PIC16s
5.062 Fixed a problem with #build(bootload) for some PIC16 parts
5.061 delay_cycles(1) was fixed to generate a single NOP like it used to
5.061 Some undeserved warnings concerning enum and pointers are fixed
June 25, 2016
5.060 A bug in definedinc() when used in the preprocessor is fixed
5.060 A problem #reserve'ing registers in bank 15 of 16 bit parts is fixed
5.060 A bug concerning #module and preprocessor identifiers is fixed
5.060 An internal error when some pin combinations are used in #USE TOUCHPAD is fixed
5.060 A bug in #opt compress is fixed
5.060 Fixed a bug with #use i2c() when specifying hardware pins on devices that only have Slave I2C
5.060 Fixed a bug with setup_wdt() in PCD when using it to set the WDT timeout time to 1 ms or 2 ms
5.060 IDE debugger now has the correct RAM size for all chips
5.060 IDE debugger now correctly reads mouse-overs, watches, and SFRs/peripherals that are in high RAM addresses
5.060 IDE debugger no longer attempts to read unimplemented or invalid RAM addresses
5.059 Fixed bug with spi_xfer() function not returning correct value in certain cases
5.059 Fixed function used but not defined error on some devices for for setup_comparator_4()
5.059 Fixed an issue with assigning High-Speed PWM unit to Secondary Time Base
5.059 Updated MPLAB-X tool interface to work with the latest MPLAB-X version
5.059 Programming/debugging support added for the Microchip Curiosity board
5.059 Fixed an IDE issue with code folding source lines with multiple braces on the same line
5.059 Fixed an IDE problem where Read-Only files could still be edited by the user
5.059 Added to the IDE: open > Source File Read Only
5.059 A bug in the ?: when the argument type is pointers to ROM is fixed
5.059 Some undeserved string truncated and enum/pointer mis-match warnings are now removed
5.059 Several device database fixed have been made
5.058 A debugger problem with some 24 bit parts is fixed
5.058 Some device database problems with certain parts are fixed
5.058 Some warning problems are cleaned up
5.058 New RS232_BUFFER_ERRORS variable for use when using buffered RS232
5.058 Second ADC module now fully supported for the 16F18855
5.058 #use pwm and setup_vref() functions fixed for some chips
5.057 #use i2c now defaults to hardware mode when hardware pins are specified
5.057 A bug in #use timer when timer 0 is specified on some chips is fixed
5.057 A mouse-over issue when viewing structures is cleaned up
5.057 A debugger problem in PCM when stepping over in-lined functions is fixed
5.057 Some undeserved warnings "Pointer types do not match" have been removed
5.057 A optimization bug on PCD when using >> with mixed types and one type is an int32 is fixed
5.057 A problem with a multiple + operators on bytes with a non-byte assignment on PIC16/18 parts is fixed
5.056 Some undeserved warnings about mis-matched pointers is fixed
5.056 Added support for the PIC16F188xx parts
5.056 IDE now has a wrap around search feature
5.056 A typecasting problem with ROM pointers on 128K parts is now fixed
February 4, 2016
5.055 Fixed a problem with some PIC24 parts where the configuration words were in the wrong location
5.055 Corrected some PIC24 I2C glitches
5.055 Fixed a problem with the setup_hspwm_unit() function on parts with a PWMLOCK fuse
5.054 A problem with the SPI bit rate on some PIC16/18 parts is fixed
5.054 Fixed the dac_write() on the dsPIC33...GS parts
5.054 A bug preventing the CNI interrupt from enabling in some circumstances is fixed
5.054 A PWM issue with the PIC16F18345 part is fixed
5.054 See the readme.txt file for a few new features
5.053 A corrupted device database in the V5.052 release is fixed
5.052 Variable length argument functions now allow a single parameter
5.052 A bug with some 16 bit additions done in a call to spi_write() has been fixed
5.052 A problem with the bit order in lcd_symbol() when used with 16 bit segments is fixed
5.051 A linker bug affecting multiple compilation unit builds is fixed
5.051 A segmentation fault for some Linux compiles is fixed
5.051 An optimization error involving << with mixed byte and dword operands is fixed
5.051 Fixed a syntax error with spi_write4() and spi_read4() functions for 24 bit parts
5.051 Fixed a syntax error with #pin_select for some PIC18 devices
5.051 Fixed a bug when #opt compress is used on some programs
5.051 Fixed an issue with #use pwm and MCP1911x devices
5.051 The 24 bit Wizard now has a MODBUS configuration page
October 1, 2015
5.050 Support for the new 4x chips is in
5.050 An incorrect warning concerning enum assignments is removed
5.050 A linker bug that sometimes combined global variables with the same name is fixed
5.050 Added USB and TCP/IP wizards for 24 bit parts
5.050 Fixed a bug in #USE PWM for parts with more than 6 remappable OC pins
5.050 Added a PLL_WAIT option to #use delay to wait for the PLL to start up
5.050 Fixed a bug in tx_buffer_available() where the wrong count was returned
5.050 Fixed a bug when negative number were used with %W on 24 bit parts
5.050 Added a feature to use OSCTUNE on 24 bit parts to get the requested clock speed
5.049 Added support for the new and different 24 bit GS chips and the 16F183xx chips
5.049 A problem with PIC24 function pointers inside a structure in large memory spaces is fixed
5.049 Debugger issue with some floating point numbers is fixed
5.049 Fixed a bug involving signed ints in a switch statement
5.049 An inline assembly error when using an indirect goto is fixed
5.049 Debugger now shows a full 32 bit enum as it should
5.048 Compiler now does type checking on EXTERNs
5.048 A compiler IDE hang problem with some complex structures is fixed
5.047 A bug converting some floating point numbers just below zero to an integer is fixed
5.047 A bug with 32 bit enum's is fixed
5.047 A problem with the 1705 comparator is fixed
5.047 IDE mouse-over improved for structures and ROM variables
5.046 Fixed an problem with -> where the target was a bit field of another structure on PCM parts
5.046 An IDE issue with error files kept outside the project directory is fixed
5.046 A wrong checksum in "#ID checksum" when using #fill_rom is fixed
5.046 A PIC24 problem with oversized printf widths on %LU and %LD is fixed
5.046 Support for auto clock tuning is added for chips that have this feature
5.046 A #USE RS232 bug is fixed when buffers larger than 256 are specified
17 Apr 2015
5.045 #locate now issues a warning if you locate a variable on top of another
5.045 A PIC24 problem with the < and > operators on floats with interrupts is fixed
5.045 A problem with multiple compilation units and some static variables not being zeroed is fixed
5.045 A warning in string.h has now been eliminated
5.045 A bug allocating multiple odd sized rom structures in PIC24 is fixed
5.044 Fixed a bug in PCD in subtraction of 32 bit numbers in complex expressions involving the -> operator
5.044 A warning in string.h is now gone
5.044 Corrected a formatting issue in %W (%LU, %LD should not have been affected)
5.044 A file signing issue has been resolved
5.043 Forward referencing a 'rom' data item with & in an initializer is now accepted
5.043 The default fuse settings have changed back to the way they were in older compilers
5.043 Fixed a type conversion problem between float and int in some relational expressions on a dsPIC
5.043 The address used for & on large "rom" structures when passed to a built in function on PIC24 is fixed
5.043 setup_wdt() in newer 12 bit parts no longer glitches the pull-ups
5.043 A number of updates have been made for the new EV chips
5.042 An error 103 on Win7/8 computers with full access control enabled is fixed
5.041 An access violation for some users starting the PIC24 Wizard is fixed
5.041 A problem with %w where if the digit after the . was 0 it did not output on the PIC24 is fixed
5.041 Syntax errors that should have appeared for poorly formed bit_test() calls now appear
5.041 A bug is fixed that occurred with packed structures inside unpacked structures accessed with ->
5.041 Some issues with bit arrays inside non-RAM structures is fixed
5.041 An error for two RS232 ports without stream names is removed
5.040 An undeserved warning about a #define blocking a C ID is fixed
5.040 Memory allocation issues from 5.039 are fixed
5.040 A bug with bit arrays indexed with constants inside structures is fixed
5.038 A problem with clear_interrupts() on some PIC16-18 interrupts is fixed
5.037 The PIC24 printf() %w no longer forces the leading zeros
5.037 Extra trailing commas in initializers now generate a warning
5.037 Some issues with pre-processor continuation lines (\) are now fixed
5.037 Optimization bugs dealing with some ROM pointers and clear_interrupts(INT_RB) are fixed
5.037 The new dsPIC33EV parts have been added
5.036 A problem with the IDE finding hex files in alternate output directories is fixed
5.036 A problem with very large delays on chips with slow clocks is fixed
5.036 Various IDE tweaks
5.035 A delay_us() problem in 5.034 where it takes more ROM than needed is fixed
5.035 A RAM allocation problem with PIC16 parts that use interrupts and 32 bit math is fixed
5.034 Some problems with complex expressions involving -> have been fixed
5.034 Error message added for cases where the . operator was misused
5.033 Added new macro _unicode(), see readme.txt for details
5.033 New warning added for cases where a #define hides access to a variable ID
5.033 Some pointers to ROM bugs have been fixed on the 14 bit parts
5.032 Corrected a problem in 5.031 that did not initialize pins to digital for some chips
5.031 Fixed a PIC24 bug in bit_set() and bit_clear() when using some structure fields
5.031 Fixed a PIC24 bug in %w when used with signed numbers
5.031 Optimized RAM allocation for the PIC16 and PIC18 compiler
5.031 Optimization improvements for PIC18
5.030 A bug causing main() to hang on some PIC24 parts is fixed
5.030 An optimization bug in a 32 bit shift when used in complex expressions is fixed
5.030 A problem with the [*] in PIC18 parts with more than 64K ROM is fixed
5.029 setup_oscillator() has been updated to deal with glitches for some chips
5.029 memcpy() updated to improve optimization
5.029 A problem with %s in sprintf() when the string is empty on some parts is fixed
5.028 Include file search rules have been tightened up to only look in specified directories
5.028 An optimization error initializing some large arrays on a PIC18 is fixed
5.028 sprintf optimization has been improved
5.028 A undeserved debugger error reporting a bad device ID is fixed
5.027 A problem with very large constant structures in PCH is fixed
5.027 read/write_configuration_memory() now work on the ID area in Enhanced 16 chips
5.027 Fixed the export of register definitions to an include file for the chips that had a wrong word addresses
5.027 Added new chips and expanded built in functions for some of the newer chips
5.027 Improved the IDE "Replace All" function
5.027 Added new project history tool to IDE
5.027 Bug in #use SPI that sometimes set the baud rate to 0 is fixed
5.027 Bug in #use delay for some J11 chips when using the PLL is fixed
5.027 Added __BUILDCOUNT__ id when global defines are enabled
5.027 IDE now allows user defines file extensions to be associated as source code
5.027 Navigation bar in the IDE now allows sub-folders
5.027 IDE tweaks made for VISTA and Windows 8.1
5.027 Added "Split file tabs" option to IDE
5.026 The #use touchpad library has been updated for devices with two cap sense units
5.026 Built in functions for the 16F1713 family have been added and updated
5.026 Various updates to the IDE Wizard
April 18, 2014
5.025 A problem where the wrong type was used when adding a subscript to an array of pointers is fixed
5.025 A bug on PIC24 parts dealing with the -> operator and some bit fields is fixed
5.025 A problem with #opt 9 when initializing large RAM data structures is fixed
5.025 An interrupt context save issue for PIC18 parts when compiling in the ANSI mode is fixed
5.024 Fixed the project include file paths that were being corrupted on some versions of Windows
5.024 An internal error during a compile of some programs on some PC's is fixed
5.024 #rom directives with no type specified targeting the data EE now default to int8
5.023 addressmod ranges are now supported on non-RAM memory spaces
5.023 Extra characters at the end of a #IF are now being flagged as an error
5.023 For PIC18 dual priority mode, the compiler now only uses GIEH to disable all ints
5.021 A file access issue when linking some projects on Win7/8 systems is fixed
5.021 A problem with using the RTOS with multiple compilation units is fixed
February 21, 2014
5.020 #rom has been updated to properly deal with the EEPROM on all chips
5.020 Fixed a bug dealing with subscripted pointers to large (>256 bytes) data items on PIC18
5.020 Mouse-over bug in the debugger is now fixed
5.019 A problem with addressmod for some chips and data types is fixed
5.019 #fuses keyword PROTECT now also sets CPB on devices that have CPB, see readme.txt
5.018 IDE now allows a separate output file directory to be specified
5.018 Updates made for the latest MPLAB version
5.018 A problem with the encoding on an inline assembly MAC or MSC instruction is fixed
January 15, 2014
5.017 Various device database fixes have been made for specific chips
5.017 A problem with multiple assignments of a full structure in one expression is fixed
5.017 A bug involving pointers to functions on some chips is fixed
5.017 Some IDE issues running older versions on Win7/8 machines is fixed
5.016 A problem with the debugger recognizing all the files in a MCU build is fixed
5.016 An optimization bug on PIC18 parts with some switch statements is fixed
5.015 A device database issue causing some 24 bit parts to not verify right is fixed
5.015 A problem setting breakpoints in multiple compilation unit projects is fixed
5.014 An issue with #rom taking too much space and sometimes issuing a warning is fixed
5.014 Help file has been brought up to date
5.014 #profile has had some improvements and there is now an example program
5.013 A problem with printf disabling interrupts on some parts is fixed
5.013 A type cast problem when casting to single bit is fixed
5.013 The PIC24 compiler now allows all variations of the mov.b asm instruction
5.013 Some issues with finding the right include file path are resolved
5.013 A problem with some expressions with both a shift operator and pointer to an int32 is fixed
5.013 The compiler now allows overloaded two functions one with *ptr and the other rom*ptr
5.013 Various IDE and Wizard fixes are in
5.012 Missing register entries for some chip is now fixed
5.012 Fixed is a #zero_ram problem causing the processor to hang on reset for some chips
5.012 An IDE issue with the scrollbar when switching tabs is fixed
5.012 An access violation problem in the IDE is fixed
5.012 The background compile in the IDE is improved for large projects
5.011 An error related to setw() when writing to strings is fixed
5.011 The port_x_pullups() was not working on a few chips and is now fixed
5.011 #import now allows importing data to areas reserved with #org like V4
5.011 Fixed some IDE cut/paste issues
5.011 Fixed some IDE syntax highlighting issues
5.010 A profiler problem with some PIC24 parts is fixed
5.010 An file access error on Win7/8 builds for multiple compilation units is fixed
5.010 Various IDE fixes and updates
5.009 Some IDE tweaks have been made to improve usability
5.009 A bug in the #use profile directive for 24 bit parts is fixed
5.009 PIC16 interrupt latency caused by some printf's is fixed
5.008 Tree views in the IDE can now be saved as a bitmap
5.008 Compiler versions can now be associated with projects
5.008 A number of IDE updates have been made including Find/Replace
5.007 A problem with TAB's in the IDE is fixed
5.007 A error is no longer issued with some parameter list items with **
5.007 A PCD error with the #use profile is fixed
5.006 Corrected incorrect RAM registers for PIC10F/LF320
5.006 Added missing defines in some header files
5.006 Corrected Editor Options page in IDE to prevent crashes and incorrect saving
5.006 Fixed "Index out of bounds(xx)" error that was causing IDE to crash
5.006 Some changes made to declarator parsing to better match ANSI
May 28, 2013
5.005 First public release of Version 5
April 20, 2013
Version 5 Beta release