Changes since 2.0.0
-------------------

device files:
 - Update of all device files for MPLABX_v6.25.
 - Added 18f04q20.jal, 18f05q20.jal, 18f14q20.jal, 18f15q20.jal.
 - Update of chipdef_jallib.jal.
 - Added 16f17524, 16f17525, 16f17526, 16f17544, 16f17545, 16f17546, 
         16f17554, 16f17555, 16f17556, 16f17574, 16f17575, 16f17576.  
 
externals:
 - Added library vl53l0x.jal Time-of-flight ranging sensor.
 - Added library ina3221.jal Tripple Channel Shunt and Bus Voltage Monitor
 - Added a crc library for SD card error checking.
 - Update the SD card library to use the new CRC error checking library
 - Update of glcd_ssd1306.jal library to support larger fonts. Also moved
   interface (I2C, SPI) from the library to the sample (main) programs to
   comply with the JAL style guide. Breaking change!
 
filesystem:
 -

compiler:
 -
 
jal:
 - 

networking:
 -

peripherals:
 - Added i2c_hardware2.jal.

projects:
 - 
 
protocols:
 -

samples:
 - Update of all blink samples for MPLABX_v6.25.
 - Added 18f04q20_blink_hs.jal, 18f04q20_blink_intosc.jal,
         18f05q20_blink_hs.jal, 18f05q20_blink_intosc.jal.
         18f14q20_blink_hs.jal, 18f14q20_blink_intosc.jal.
         18f15q20_blink_hs.jal, 18f15q20_blink_intosc.jal.
 - Added 16f17524_blink_hs.jal, 16f17524_blink_intosc,jal,
         16f17525_blink_hs.jal, 16f17525_blink_intosc,jal,
         16f17526_blink_hs.jal, 16f17526_blink_intosc,jal,
         16f17544_blink_hs.jal, 16f17544_blink_intosc,jal,
         16f17545_blink_hs.jal, 16f17545_blink_intosc,jal,
         16f17546_blink_hs.jal, 16f17546_blink_intosc,jal,
         16f17574_blink_hs.jal, 16f17574_blink_intosc,jal,
         16f17575_blink_hs.jal, 16f17575_blink_intosc,jal,
         16f17576_blink_hs.jal, 16f17576_blink_intosc,jal.
 - Added 16f18325_i2c_hw_l0.jal, 16f18325_i2c_hw2_l0.jal
         16f18425_i2c_hw_l0.jal, 16f18425_i2c_hw2_l0.jal
 - Added Sample programs for the vl53l0x time-of-flight ranging sensor.
         16f1825_vl53l0x_continuous.jal, 16f1825_vl53l0x_single.jal, 
         16f13115_vl53l0x_continuous.jal
 - Update of i2c_hardware to support newer PICs (e.g. 16f13115)
 - Update of serial_hardware to support newer PICs (e.g. 16f13115)
 - Added Sample program for the ina3221.jal Tripple Channel Shunt and 
   Bus Voltage Monitor. 16f1825_ina3221.jal
 - Added CRC samples 
 - Updated a sd_card sample to use sd card CRC error checking
 - Update of 16f1825_glcd_ssd1306_font.jal and 16f18857_glcd_ssd1306_font_graphics.jal
   demonstrating the use of a larger font and interface (I2C, SPI) where moved from 
   the glcd_ssd1306.jal library to the sample file.

documentation:
 -
 
tools:
 - Update of Python device file generation scripts for MPLABX_v6.25.
 - Update of pic2jal.py for generating sorted list of PICs in chipdef_jallib.jal.


jallib-2.0.0 - released March 4, 2025
-------------------------------------

device files:
 - Added 16f18156.jal, 16f18176.jal.
 - Added 18f06q20.jal, 18f16q20.jal.
 - Added 18f24q24.jal, 18f25q24.jal, 18f26q24.jal, 18f45q24.jal, 18f46q24.jal,
         18f55q24.jal, 18f56q24.jal.
 - Added 16f13113.jal, 16f13114.jal, 16f13115.jal,
         16f13123.jal, 16f13124.jal, 16f13125.jal,
         16f13143.jal, 16f13144.jal, 16f13145.jal.		
 - Added 18f24q71.jal, 18f25q71.jal.
 - Added 18f44q71.jal, 18f45q71.jal, 18f54q71.jal, 18f55q71.jal. 
 - Added 16f18013.jal, 16f18014.jal, 16f18023.jal, 16f18024.jal.

 
externals:
 - Added library mcp23s08.jal. 8-bit i/o expander with spi interface.
 - Added library mcp23008.jal. 8-bit i/o expander with i2c interface.
 - Added library bmp180.jal. Temperature and pressure sensor.
 - Added library as5600l.jal. 12-bit Programmable On-Axis Magnetic Rotary Position Sensor
 - Update of nrf905.jal. Moved SPI initialization to sample file and removed from library.
   Note: This results in a breaking change is you have used the previous version.
 - Update of nr24l01.jal. Moved SPI initialization to sample file and removed from library.
   Note: This results in a breaking change is you have used the previous version.

 
filesystem:
 -

compiler:
 - Added new compiler, version jalv25r9, fixing compiler issues #33 and #35.
 
jal:
 - 

networking:
 -

peripherals:
 - Update of pwm_pwm1.jal, pwm_pwm2.jal, pwm_pwm3.jal, pwm_pwm4.jal, pwm_pwm5.jal, pwm_pwm6.jal.
   Added 16-bit PWM functionality in addition to the existing 10-bit PWM functionality.
   Fixing jallib issue#208.
 - Added pwm_pwm7.jal, pwm_pwm8.jal, pwm_pwm9.jal, pwm_pwm10.jal, pwm_pwm11.jal, pwm_pwm12.jal
   Includes 10-bit PWM and 16-bit PWM. Fixing jallib issue#208.
 - Update of pwm_hardware.jal. Added PWM7..PWM12. Fixing jallib issue#208.
 - Update of pwm_common.jal. Added 16-bit PWM functionality and extended the prescaler ranges.
   2-bit prescaler was extended with prescale 64 and 3-bit prescaler supports prescale 1..128.
 - Update of adc.jal. Supporting PIC with channel/group registers (e.g. pic18f4431).
 - Update of i2c_hardware.jal. Added i2c timeout option and variable i2c bus speed option.
 - Update of serial_hardware.jal and serial_hw_int_cts.jalto support newer PIC
   (e.g the 18f06q20, 18f16q20).

projects:
 - 
 
protocols:
 -

samples:
 - Added 16f1455_pwm1_led.jal, 16f1455_pwm2_led.jal.
 - Added 16f1579_pwm1_16_bit_led.jal, 16f1579_pwm2_16_bit_led.jal, 16f1579_pwm3_16_bit_led.jal,
         16f1579_pwm4_16_bit_led.jal.
 - Added 16f1777_pwm10_led.jal.
 - Added 16f1778_pwm3_led.jal, 16f1778_pwm4_led.jal, 16f1778_pwm5_16_bit_led.jal, 
         16f1778_pwm6_16_bit_led.jal, 16f1778_pwm9_led.jal, 16f1778_pwm11_16_bit_led.jal. 
 - Added 16f1779_pwm12_16_bit_led.jal.
 - Added 18f26k42_pwm5_led.jal, 18f26k42_pwm7_led.jal,1 18f26k42_pwm7_led.jal
         18f26k42_pwm8_led.jal.
 - Added 16f1825_mcp23s08.jal. Sample program for mcp23s08 8-bit i/o expander with spi interface.
 - Added 16f1825_mcp23o08.jal. Sample program for mcp23p08 8-bit i/o expander with i2c interface.
 - Added 16f18156_blink_hs.jal, 16f18156_blink_intosc.jal, 
         16f18176_blink_hs.jal, 16f18176_blink_intosc.jal.
 - Added 18f06q20_blink_hs.jal, 18f06q20_blink_intosc.jal,
         18f16q20_blink_hs.jal, 18f16q20_blink_intosc.jal.
 - Added 18f24q24_blink_hs.jal, 18f24q24_blink_intosc.jal,
         18f25q24_blink_hs.jal, 18f25q24_blink_intosc.jal,
         18f26q24_blink_hs.jal, 18f26q24_blink_intosc.jal,
         18f45q24_blink_hs.jal, 18f45q24_blink_intosc.jal,
         18f46q24_blink_hs.jal, 18f46q24_blink_intosc.jal,
         18f55q24_blink_hs.jal, 18f55q24_blink_intosc.jal,
         18f56q24_blink_hs.jal, 18f46q24_blink_intosc.jal.
 - Added 16f13113_blink_hs.jal, 16f13113_blink_intosc.jal,
         16f13114_blink_hs.jal, 16f13114_blink_intosc.jal,
         16f13115_blink_hs.jal, 16f13115_blink_intosc.jal,
         16f13123_blink_hs.jal, 16f13123_blink_intosc.jal,
         16f13124_blink_hs.jal, 16f13124_blink_intosc.jal,
         16f13125_blink_hs.jal, 16f13125_blink_intosc.jal,
         16f13143_blink_hs.jal, 16f13143_blink_intosc.jal,
         16f13144_blink_hs.jal, 16f13144_blink_intosc.jal,
         16f13145_blink_hs.jal, 16f13145_blink_intosc.jal.
 - Added 16f1825_bmp180.jal. Sample program for bmp180 temperature and pressure sensor.
 - Added 16f1825_as5600l.jal. Sample program for 12-bit Programmable On-Axis Magnetic
         Rotary Position Sensor. Supports both AS5600 and AS5600L.
 - Added 18f24q71_blink_hs.jal, 18f24q71_blink_intosc.jal,
         18f25q71_blink_hs.jal, 18f25q71_blink_intosc.jal.
 - Added 18f44q71_blink_hs.jal, 18f44q71_blink_intosc.jal,
         18f45q71_blink_hs.jal, 18f45q71_blink_intosc.jal,
         18f54q71_blink_hs.jal, 18f54q71_blink_intosc.jal,
         18f55q71_blink_hs.jal, 18f55q71_blink_intosc.jal.
 - Added 16f18013_blink_intosc.jal, 16f18014_blink_intosc.jal,
         16f18023_blink_intosc.jal, 16f18024_blink_intosc.jal.
 - Update of 16f1823_nrf905. jal and 16f1825_nrf905.jal, added SPI initialization.
 - Added 18f16q20_serial_hardware.jal. New sample to support update of serial_hardware.jal
 - Update of 16f1823_nr24l01. jal and 16f1825_nrf24l01.jal, added SPI initialization.
 - Added 18f1829_nrf24l01.jal for use of nrf24l01.jal with SPI hardware 2. 
	 
documentation:
 - Update of Jallib_Tutorial_book.pdf.
 
tools:
 - Update of all-in-one.py, blink-a-led.py, mplabxtract.py, pic2jal.py, picjal_enviroment.py,
   pinmap_create.py, xmltree.py. Script cleanup and added multiprocessor functionality.
   Reading XML files now by xml.etree.ElementTree (was Document Object Model (DOM)).


jallib-1.9.0 - released April 12, 2024
--------------------------------------

device files:
 - Added 16f18026.jal, 16f18046.jal.
 - Added 16f18054.jal, 16f18055.jal, 16f18074.jal, 16f18075.jal.
 - Added 18f26q71.jal, 18f46q71.jal, 18f56q71.jal.
 - Added 16f17114.jal, 16f17115.jal, 16f17124.jal, 16f17125.jal, 16f17144.jal, 16f17145.jal
 - Added 16f18114.jal, 16f18115.jal, 16f18124.jal, 16f18125.jal, 16f18144.jal, 16f18145.jal
 - Added 16f17156.jal, 16f17176.jal
 - Added 16f17154.jal, 16f17155.jal, 16f17174.jal, 16f17175.jal
 - Added 16f18154.jal, 16f18155.jal, 16f18174.jal, 16f18175.jal
 - Added 16f18126.jal, 16f18146.jal.
 

externals:
 - Added library rda5807m.jal, single-chip broadcast FM radio tuner.
 - Update of rtc_3231.jal. Added functions for reading the set alarm times.
 - Added library nec_rc_decoder.jal, NEC Remote Control decoder.
 - Added library philips_rc_decoder.jal, Philips RC5/RC6 Remote Control decoder.
 - Update of gps_neo_6m.jal. Works on interrupt basis. GPS location added.
   Note: This results in a breaking change is you have used the previous version.
 - Added library dcf77_decoder.jal. Decoder for the DCF77 signal.
 - Added library hcsr04.jal, HC-SR04 ultrasonic distance sensor.
 
filesystem:
 -

compiler:
 - Update of jalv2 compiler documentation, fixing typo and adding operator
   precedence.
 - Added new compiler, version jalv25r8, fixing compiler issues #28, #30 and #31.
 
jal:
 - 

networking:
 -

peripherals:
 - Update of adc.jal to support newer PICs (alias added for ADCON0_GONDONE).
 - Update of stopwatch.jal and stopwatch2.jal to support newer PICs
 - Update of i2c_hardware.jal supporting a timeout to prevent hangup. Also
   added user defined i2c pins supporting re-assignment via PPS.

projects:
 - 
 
protocols:
 -

samples:
 - Added 16f18026_blink_intosc.jal, 16f18046_blink_intosc.jal.
 - Added 16f18054_blink_intosc.jal, 16f18055_blink_intosc.jal,
         16f18074_blink_intosc.jal, 16f18075_blink_intosc.jal.
 - Added 18f26q71_blink_hs.jal, 18f26q71_blink_intosc.jal,
         18f46q71_blink_hs.jal, 18f46q71_blink_intosc.jal,
         18f56q71_blink_hs.jal, 18f56q71_blink_intosc.jal.
 - Added 16f1825_rda5807m.jal library for single-chip broadcast FM radio tuner.
 - Update of 16f1825_rtc_ds3231.jal. Added reading the set alarm times.
 - Added 16f15325_adc.jal. Newer PIC to test the updated adc.jal library.
 - Added 16f15325_stopwatch.jal, 16f15325_stopwatch2.jal
 - Added 16f877a_nec_rc_decoder.jal, 16f1825_nec_rc_decoder.jal, 
         16f18857_nec_rc_decoder.jal for NEC Remote Control decoder library.
 - Added 16f877a_philips_rc_decoder.jal, 16f1825_philips_rc_decoder.jal, 
         16f18857_philips_rc_decoder.jal for Philips Remote Control decoder library.
 - Added 16f17114_blink_hs.jal, 16f17114_blink_intosc.jal
         16f17115_blink_hs.jal, 16f17115_blink_intosc.jal
		 16f17124_blink_hs.jal, 16f17124_blink_intosc.jal
         16f17125_blink_hs.jal, 16f17125_blink_intosc.jal
		 16f17144_blink_hs.jal, 16f17144_blink_intosc.jal
		 16f17145_blink_hs.jal, 16f17145_blink_intosc.jal
 - Added 16f18114_blink_hs.jal, 16f18114_blink_intosc.jal
         16f18115_blink_hs.jal, 16f18115_blink_intosc.jal
		 16f18124_blink_hs.jal, 16f18124_blink_intosc.jal
         16f18125_blink_hs.jal, 16f18125_blink_intosc.jal
		 16f18144_blink_hs.jal, 16f18144_blink_intosc.jal
		 16f18145_blink_hs.jal, 16f18145_blink_intosc.jal
 - Update of 16f1825_gps_neo_6m.jal (see remark on breaking change of library).
   Added 16f1825_gps_neo_6m_ssd1306_clock.jal
 - Added 16f1825_dcf77_decoder_serial.jal, 16f1825_dcf77_decoder_ssd1306.jal
 - Added 16f1825_hcsr04_led.jal, 16f1825_hcsr04_serial.jal
 - Added 16f17156_blink_hs.jal, 16f17156_blink_intosc.jal,
         16f17176_blink_hs.jal, 16f17176_blink_intosc.jal
 - Added 16f17154_blink_hs.jal, 16f17154_blink_intosc.jal,
         16f17155_blink_hs.jal, 16f17155_blink_intosc.jal,
		 16f17174_blink_hs.jal, 16f17174_blink_intosc.jal,
		 16f17175_blink_hs.jal, 16f17175_blink_intosc.jal
 - Added 16f18154_blink_hs.jal, 16f18154_blink_intosc.jal,
         16f18155_blink_hs.jal, 16f18155_blink_intosc.jal,
		 16f18174_blink_hs.jal, 16f18174_blink_intosc.jal,
		 16f18175_blink_hs.jal, 16f18175_blink_intosc.jal
 - Added 16f18126_blink_hs.jal, 16f18126_blink_intosc.jal
         16f18146_blink_hs.jal, 16f18146_blink_intosc.jal
 - Added 16f1823_i2c_hw_eeprom_serial.jal to demonstrate i2c timeout functionality
		 
documentation:
 - Added info for use of Visual Studio Code with Linux.
 
tools:
 - Update of Python device file generation scripts for MPLABX_v6.10 
 - Update of Python device file generation scripts for MPLABX_v6.15 
 - Update of Python device file generation scripts for MPLABX_v6.20 


jallib-1.8.0 - released March 8, 2023
-------------------------------------

Changes since 1.7.0

device files:
 - Added 16f15254.jal, 16f15255.jal
 - Added 16f15256.jal, 16f15274.jal, 16f15275.jal, 16f15276.jal
 - Added 16f18015.jal, 16f18025.jal, 16f18044.jal, 16f18045.jal
 - Added 16f17126.jal, 16f17146.jal
 - Added 16f18056.jal, 16f18076.jal 

externals:
 - Added library for pca9585 16 channel, 12 bit PWM IIC LED controller
   pca9685.jal
 - Added library ili9341.jal for graphics color display ili9341.
 - Added library glcd_touch_ads7841.jal for touch screen.
 - Added fonts glcd_4x6_font.jal, glcd_5x8_font.jal, glcd_5x12_font.jal, 
               glcd_6x8_u_font.jal, glcd_6x10_font.jal, glcd_7x12_font.jal
			   glcd_7x12_u_font.jal, glcd_8x8_font.jal, glcd_8x12_u_font.jal
			   glcd_8x14_font.jal, glcd_9x16_font.jal, glcd_12x16_font.jal, 
			   glcd_14x30_font.jal, glcd_16x32_font.jal
 
filesystem:
 -

compiler:
 - Added new compiler, version jalv25r7, fixing compiler issue #27
 
jal:
 - Added large_array_5.jal and large_array_6.jal

networking:
 -

peripherals:
 - Fix of timer0_isr_interval.jal library to support newer PICs
 - Added pwm_pwm5.jal, pwm_pwm6.jal
 - Fixed pwm_pwm3.jal, pwm_pwm4.jal to support newer PICs. Also
   removed deprecated functions. 
 - Fixed pwm_common.jal to support newer PICs
 - Fix for DS3231.jal library (code change needed if alarm is used)
 - Fix for pic_data_eeprom.jal to support 16f19176

projects:
 - Added project/glcd_ili9341 image files and Python script to 
   convert image files to JAL array.
 
protocols:
 -

samples:
 - Added 16f15254_blink_intosc.jal, 16f15255_blink_intosc.jal
 - Added 16f1455_tutorial_usb_serial.jal
 - Added 12f617_tasks.jal
 - Added 16f15256_blink_intosc.jal, 16f15274_blink_intosc.jal, 
         16f15275_blink_intosc.jal, 16f15276_blink_intosc.jal
 - Added 16f1825_pca9685_led.jal, 16f1825_pca9685_servo.jal,
         16f1825_pca9685_servo_led.jal
 - Added Serial speed converter with 16f18015
 - Added 16f18323_adc.jal
 - Added 16f18323_pwm5_led.jal, 16f18323_pwm6_led.jal
 - Added 16f15324_pwm3_pwm4_led.jal
 - Added 16f18857_glcd_ili9341.jal, 16f18857_glcd_ili9341_fat32_sd_card.jal
 - Added 16f18857_touch_ads7843.jal, 16f18857_touch_interrupt_ads7843.jal
 - Added 18f46q10_glcd_ili9341_font.jal
 - Added 16f19176_data_eeprom.jal
 - Renamed 161823_tm1637.jal to 16f1823_tm1637_6_displays_keyboard.jal
 - Added 16f1823_tm1637_4_displays_no_keyboard.jal
 - Added 16f18015_blink_intosc.jal, 16f18025_blink_intosc.jal, 
         16f18044_blink_intosc.jal, 16f18045_blink_intosc.jal
 - Added 16f17126_blink_hs.jal, 16f17126_blink_intosc.jal, 
         16f17146_blink_hs.jal, 16f17146_blink_intosc.jal
 - Added 16f18056_blink_intosc.jal, 16f18076_blink_intosc.jal, 

documentation:
 - Update of Tutorial Book, removing broken links and updating existing links
 - Added section on DFPlayer to Tutorial Book
 - Added section on USB to Tutorial Book
 - Added section on Jallib style guide to Tutorial Book
 - Added section on Large Array to Tutorial Book
 
tools:
 - Update of Python device file generation scripts for MPLABX_v6.00 
 - Update of Python device file generation scripts for MPLABX_v6.05 



jallib-1.7.0 - released January 22, 2022
----------------------------------------

Changes since 1.6.0

device files:
 - Added 18f06q41.jal, 18f16q41.jal
 - Added 16f15225.jal, 16f15245.jal
 - Added 18f04q40.jal, 18f05q40.jal, 18f14q40.jal, 18f15q40.jal
 - Added 18f04q41.jal, 18f05q41.jal, 18f14q41.jal, 18f15q41.jal
 - Added 18f26q83.jal, 18f46q83.jal, 18f56q83.jal
 - Added 18f26q84.jal, 18f46q84.jal, 18f56q84.jal
 - Added 18f27q84.jal, 18f47q83.jal, 18f57q83.jal
 - Added 18f27q84.jal, 18f47q84.jal, 18f57q84.jal
 - Fixed missing input pins RC4 and RC5 for 18(l)f PICs with USB

externals:
 - Added library for Bluetooth Module HC-06: bluetooth_hc06.jal
 - Added library for Bluetooth Module HC-05: bluetooth_hc05.jal
 - Added library for Real Time Clock DS3231: rtc_ds3231.jal
 - Added library for NEO-6M GPS Receiver: gps_neo_6m.jal

filesystem:
 -

compiler:
 - Added new compiler, version jalv25r5, fixing compiler issues #19, #20, #23 and #24.
 - Added JAL compiler for MacOS (jalv25r6)

jal:
 -

networking:
 -

peripherals:
 - Update of pps.jal to support newer PICs
 - Cleanup of the USB driver files due to the previous compiler fix #2 and the update of the memory pointer
   libraries to support PICs without the POSTINC function. USB driver is restored to its original state.
 - Update of the USB driver to use interrupts (selectable instead of polling). Also some small modifications
   to prevent a driver hangup as described in issue #237. Issue #237 is fixed.
 - Update of adc.jal due to PICs with different ADC. The library has been simplified which means that some
   configuration needs to be done by the main program. All ADC sample files have been updated.
 - Added new library for USART 3: usart3_common.jal, serial_hardware3.jal, serial_hw3_int_cts.jal
 - Added a draw image feature to glcd_nokia_5110.jal
 - Added a draw image feature to glcd_ssd1306.jal

projects:
 -
 
protocols:
 -

samples:
 - Updated sample files for devices that have multi vectored interrupt and JTAG Support (both are disabled)
 - Added 18f06q41_blink_intosc.jal, 18f16q41_blink_intosc.jal
 - Added 18f27q84_blink_intosc.jal, 18f47q84_blink_intosc.jal, 18f57q84_blink_intosc.jal
 - Added sample file 16f1455_usb_hid_keyboard.jal
 - Update of various USB sample files to show how to the USB driver on interrupt basis
 - Added sample 18f57k50_usb_serial.jal and fixed 18f2550_usb_serial.jal
 - Added sample files for Bluetooth HC-06 library: 16f877a_bluetooht_hc06_slave.jal, 
   16f1823_bluetooth_hc06_slave.jal, 16f15325_bluetooth_hc06_slave.jal
 - Added 16f15225_blink_intosc.jal, 16f15245_blink_intosc.jal
 - Added sample file for Bluetooth HC-05 library: 16f15325_bluetooth_hc05_master.jal
 - Added extra sample files for ADC: 16f18857_adc.jal and 18f25k22_adc.jal
 - Added 18f04q41_blink_hs.jal, 18f04q41_blink_intosc.jal, 18f05q41_blink_hs.jal, 18f05q41_blink_intosc.jal
   18f14q41_blink_hs.jal, 18f14q41_blink_intosc.jal, 18f15q41_blink_hs.jal, 18f15q41_blink_intosc.jal
 - Added sample files for usart3: 18f16q40_serial_hardware3.jal, 18f16q40_serial_hw3_int_cts.jal,
   18f47q43_serial_hardware3.jal, 18f47q43_serial_hw3_int_cts.jal
 - Added sample file 16f1825_glcd_nokia_5110_image.jal and 18f4550_glcd_nokia_5110_image.jal 
   to draw an image on a Nokia 5110 display
 - Updated sample file 16f18857_glcd_ssd1306_font_graphics.jal to include the draw image feature.
 - Added sample file 16f1825_rtc_ds3231.jal for the DS3231 Real Time Clock library.
 - Added missing blink_intosc sample files for almost all PICs
 - Added 18f26q83_blink_intosc.jal, 18f26q83_blink_hs.jal, 18f46q83_blink_intosc.jal, 18f46q83_blink_hs.jal,
   18f56q83_blink_intosc.jal, 18f56q83_blink_hs.jal
 - Added 18f26q84_blink_intosc.jal, 18f26q84_blink_hs.jal, 18f46q84_blink_intosc.jal, 18f46q84_blink_hs.jal,
   18f56q84_blink_intosc.jal, 18f56q84_blink_hs.jal
 - Added 18f27q83_blink_intosc.jal, 18f27q83_blink_hs.jal, 18f47q83_blink_intosc.jal, 18f47q83_blink_hs.jal,
   18f57q83_blink_intosc.jal, 18f57q83_blink_hs.jal
 - Added 18f04q40_blink_hs.jal, 18f04q40_blink_intosc.jal, 18f05q40_blink_hs.jal, 18f05q40_blink_intosc.jal
   18f14q40_blink_hs.jal, 18f14q40_blink_intosc.jal, 18f15q40_blink_hs.jal, 18f15q40_blink_intosc.jal
 - Added sample file for NEO-6M GPS Library: 16f1825_gps_neo_6m.jal
   
tools:
 - Update of Python device file generation scripts for MPLABX_v5.50 
 - Update of Python blink sample file script to generate blink_intosc files for almost all PICs


jallib-1.6.0 - released February 7, 2021
----------------------------------------

Changes since 1.5.0

device files:
 - Added device files for 18f27q43, 18f47q43, 18f57q43
 - Added device filse for 18f26q43, 18f46q43, 18f56q43
 - Fixed issue #235. Multiple device files changed 
 - Added device files for 18f25q43, 18f45q43, 18f55q43
 - All device files where updated due to new compiler version fixing issue #14 requiring new compiler pragma
 - Added device files for 16f15213, 16f15214, 16f15223, 16f15224, 16f15243, 16f15244
 - Added device files for 18f06q40, 18f16q40

externals:
 - Added library for the nRF24L01+ transceiver
 - Added library for the digital potentiometers X9C102, X9C103, X9C104, X9C503 
 - Added library for TM1637
 - Added library for SSD1306 graphics display module
 - Added library for the nRF905 transceiver
 - Added library for Si5351a clock generator
 - Added library for DFPlayer Mini

filesystem:
 -

compiler:
 - Added new compiler, version jalv25r4, fixing compiler issue #10, #14 and #15.

jal:
 - Added print_float procedure to the print.jal libary, fixing jallib issue #197.
 - Update of large_array_1.jal .. large_array_4.jal generated via generate_large_array.py script

networking:
 - 

peripherals:
 - Update of memory_pointer0.jal, memory_pointer1.jal and memory_pointer2.jal to support PICs without POSTINC function.
 - Added library pic_data_hef.jal for programming High Endurance Flash.
 - Update of libraries serial_software.jal, serial_hardware.jal, serial_hardware2.jal, serial_hw_int_cts.jal, serial_hw2_int_cts.jal
   to support PICs with newer USARTs.
   
 projects:
 - 
 
protocols:
 -

samples:
 - Added 16f1823_nrf24l01.jal, 16f1825_nrf24l01.jal - Sample files for the nRF24L01+ library
 - Changed the default of all blink samples to LVP ENABLED instead of DISABLED
 - Added samples 18f27q43_blink_hs.jal, 18f47q43_blink_hs.jal, 18f57q43_blink_hs.jal
 - Added sample file 16f1825_large_array.jal
 - Added sample files for digital potentiometer: 16f877_digital_potentiometer_x9c10x.jal, 16f1823_digital_potentiometer_x9c10x.jal
   and 18f4550_digital_potentiometer_x9c10x.jal 
 - Added samples 18f26q43_blink_hs.jal, 18f46q43_blink_hs.jal, 18f56q43_blink_hs.jal
 - Added samples for programming High Endurance Flash: 16f1455_data_hef.jal, 16f1503_data_hef.jal, 16f1507_data_hef.jal, 
   16f1508_data_hef.jal and 16f1765_data_hef.jal 
 - Added 16f1823_tm1637.jal - Sample file for TM1637 library
 - Added 16f1825_glcd_ssd1306_font.jal and 16f18857_glcd_ssd1306_font_graphics.jal - Sample for SSD1306 graphics display module
 - Added 16f1823_nrf905.jal, 16f1825_nrf905.jal - Sample files for the nRF905 library
 - Added samples 18f25q43_blink_hs.jal, 18f45q43_blink_hs.jal, 18f55q43_blink_hs.jal
 - Added 16f1825_si5351a.jal, 16f18857_si5351a.jal - Sample files for Si5351a library.
 - Added 12f617_dfplayer.jal, 16f1823_dfplayer.jal, 16f19176_dfplayer.jal - Sample files for dfplayer library.
 - Added samples 16f15213_blink_intosc.jal, 16f15214_blink_intosc.jal, 16f15223_blink_intosc.jal, 16f15224_blink_intosc.jal, 
                 16f15243_blink_intosc.jal, 16f15244_blink_intosc.jal
 - Added samples 18f06q40_blink_hs.jal, 18f16q40_blink_hs.jal
 - Added samples 18f47q43_serial_hardware.jal, 18f47q43_serial_hardware2.jal, 18f47q43_serial_hw_int_cts.jal,
                 18f47q43_serial_hw2_int_cts.jal, 18f47q43_serial_software.jal with newer USART.

tools:
 - Update of Python device file generation scripts for MPLABX_v5.35 including fixes of some device files
 - Update of blink-a-led.py script to set the default of LVP to ENABLED instead of DISABLED
 - Update of Python device file generation scripts for MPLABX_v5.40 including fixes of some device files
 - Fixed issue #235 in pic2jal.py.
 - Update of Python device file generation scripts for MPLABX_v5.45 
 - Added fix for compiler issue #14 in pic2jal.py
 - Added generate_large_array.py



jallib-1.5.0 - released December 23, 2019
-----------------------------------------

Changes since 1.4.0

device files:
 - Added device file for 16f18455, 16f18456, 16lf18455, 16lf18456 
 - Added device file for 18f65k40, 18f66k40, 18lf65k40, 18lf66k40
 - Added device file for 18f26q10, 18f45q10, 18f46q10
 - Added device file for 18f27q10, 18f47q10
 - Added device file for 18f67k40, 18lf67k40
 - Added device file for 16f19195, 16f19196, 16f19197
 - Various device files corrections due to updates of MPLABX
 - JANSEL Alias has been removed from all device files
 - Fixed issue #231 PIC18F series with 64 bank problem in device file
 - Update of all device files due to extra register declarations

externals:
 - Update of virtual wire library to make it PIC independent.
 - Fixed issue #150. Included Nokia 5110 lcd library (glcd_nokia_5110.jal)
 - Added library and sample for ls7366r, which counts the position of a optical rotary encoder or linear slide

filesystem:
 -

compiler:
 - New compiler version jalv25r3

jal:
 - Changed large_array_1 to support PIC14 cores

networking:
 - Added esp8266 library

peripherals:
 - Added alias to serial_hardware.jal to support other PICs
 - Added alias to serial_hw_int_cts.jal to support other PICs
 - Fixed issue #226 in usb_drv.jal
 - Removed adc_channel.jal due to removal of JANSEL alias
 - Modified adc.jal due to removal of adc_channel.jal 
 - Added alias to i2c_hardware.jal to support other PICs
 - Added alias to i2c_hw_slave.jal to support other PICs
 - Added alias to i2c_hw_slave_isr.jal to support other PICs
 - Fixed pwm_ccp1.jal library for inverted pwm output
 - Fixed issue #230 serial library working for PICs with new UART Type
 - Fixed issue #233 update of pic_data_eeprom.jal library to support other PICs
 - Added timer_frequency.jal containing a function to set a timers frequency.

 projects:
 - Added the jalpic_one project
 
protocols:
 -

samples:
 - Added esp8266 tcp server led sample for 16f1825
 - Added esp8266 web server led sample for 16f1825
 - Added esp8266 connect sample for 16f19176
 - Added esp8266 tcp server sample for 16f19176
 - Added esp8266 tcp server led sample for 16f19176
 - Added esp8266 web client sample for 16f19176
 - Added esp8266 web server sample for 16f19176
 - Added esp8266 web server led sample for 16f19176
 - Added sample 16f18455_blink_hs, 16f18456_blink_hs, 16lf18455_blink_hs, 16lf18456_blink_hs 
 - Added sample 18f65k40_blink_hs, 18f66k40_blink_hs, 18lf65k40_blink_hs ,18lf66k40_blink_hs 
 - Added sample 18f26q10_blink_hs, 18f45q10_blink_hs, 18f46q10_blink_hs  
 - Added sample 18f27q10_blink_hs, 18f47q10_blink_hs 
 - Modified 12f683_pwm_adc.jal due to deletion of adc_channel.jal library
 - Modified 16f88_adc_highres.jal due to deletion of adc_channel.jal library
 - Modified 16f88_adc_independent.jal due to deletion of adc_channel.jal library
 - Modified 16f88_adc_lowres.jal due to deletion of adc_channel.jal library
 - Modified 16f723_adc_independent.jal due to deletion of adc_channel.jal library
 - Modified 16f886_adc_independent.jal due to deletion of adc_channel.jal library
 - Modified 16f886_pwm_adc_res.jal due to deletion of adc_channel.jal library
 - Modified 16f1827_adc.jal due to deletion of adc_channel.jal library
 - Modified 18f14k50_adc_independent.jal due to deletion of adc_channel.jal library
 - Added virtual wire transmitter sample for 12f617 using updated virtual wire library
 - Added virtual wire receiver sample for 12f617 using updated virtual wire library
 - Update of virtual wire transmitter sample for 16f1825 using updated virtual wire library
 - Update of virtual wire receiver sample for 16f1825 using updated virtual wire library
 - Added 16f882_pwm_led.jal sample to test fixed pwm_ccp1.jal library
 - For demo and testing issue #230 added sample 16f1823_serial_hardware.jal
 - For demo and testing issue #230 added sample 16f19176_serial_hardware.jal
 - For demo and testing issue #230 added sample 16f19176_serial_hardware2.jal
 - For demo and testing issue #230 added sample 16f19176_serial_hw_int_cts.jal
 - For demo and testing issue #230 added sample 16f19176_serial_hw2_int_cts.jal
 - For demo and testing issue #230 added sample 18f26k42_serial_hardware.jal
 - For demo and testing issue #230 added sample 18f26k42_serial_hardware2.jal
 - For demo and testing issue #230 added sample 18f26k42_serial_hw_int_cts.jal
 - For demo and testing issue #230 added sample 18f26k42_serial_hw2_int_cts.jal
 - Added samples 18f67k40_blink_hs.jal, 18lf67k40_blink_hs.jal
 - Added samples 18f4550_nokia_5110_font.jal, 18f4550_nokia_5110_gfx.jal, 18f4550_nokia_5110_pixel.jal, 18f4550_nokia_5110_sprite.jal
 - Added samples 16(l)f19195_blink_intosc.jal, 16(l)f19196_blink_intosc.jal, 16(l)f19197_blink_intosc.jal
 - Addes samples 16f1823_data_eeprom.jal, 16f18323_data_eeprom.jal, 16f18346_data_eeprom.jal, 18f46q10_data_eeprom.jal, 18f27k40_data_eeprom.jal
 
tools:
 - Update of pic2jal.py removing the creation of the JANSEL alias and datasheet numbers
 - Update of blink-a-led.py removing datasheet numbers
 - Update of devicespecific.json removing datasheet numbers
 - Added jallib3.py, jallib script version running on Python 3.5
 - Update of pic2jal.py, fixing issue #231 PIC18F series with 64 banks.
 - Update of pic2jal.py, fixing issue with incorrect PPS values for MPLABX_v5.25.
 - Update of Python device file generation scripts for MPLABX_v5.30 including update of some device files.


jallib-1.4.0 - released March 3, 2019
-------------------------------------

Changes since 1.3.0

device files:
 - Replaced existing device files and added more about new device files
   derived from MPLABX v4.10 and MPLABX v.15
 - Replaced existing device files and added more about new device files
   derived from MPLABX v4.20
 - Uploaded corrected device files based on MPLABX v5.0.
 - Added new 14-bit extended mid range device files with more than 32 banks
 - General update of all device files indicating new JAL compiler version
 - Uploaded corrected device files based on MPLABX v5.05.

externals:
 - Added a virtual_wire library including a stripped version for transmission only
   and reception only

filesystem:
 -

compiler:
 - New JAL compiler version jalv25 supporting more than 32 banks 
   for 14-bit extended mid-range PICs
 - Update of JAL compiler version jalv25r1, fixing issues #1 and #2
 - Update of JAL compiler version jalv25r2, fixing issue #6

jal:
 -

networking:
 -

peripherals:
 - Modified usb drivers as to let them also work without POSTINC1
   for use by e.g. PIC16F1454/55/59

protocols:
 -

samples:
 - Added usb_serial sample for 16f1455
 - Added usb_hid_generic sample for 16f1455
 - Added usb_hid_keyboard sample for 16f1455
 - Added usb_hid_mouse sample for 16f1455
 - Added new blink-a-led sample files for new devices from MPLABX v4.15
 - Added virtual_wire_transmitter sample for 16f1825
 - Added virtual_wire_receiver sample for 16f1825
 - Added new blink-a-led sample files for new devices from MPLABX v4.20
 - General update of all blink samples indicating new JAL compiler version
 - Added new blink samples for new devices from MPLABX 5.10
 
tools:
 - Updated Python script for use with MPLABX v4.15
 - Updated Python script for use with MPLABX v4.20
 - Updated Python script for use with MPLABX v5.0
 - Updated Python script for use with MPLABX v5.05
 - Updated Python script for use with MPLABX v5.10
 

jallib-1.3.0
------------

Changes since 1.2.0

device files:
   - Replaced existing device files and added more about new device files
     derived from MPLABX v4.05

externals:
 - Added accelerometer_gyroscope_bmi160.jal - accelerometer & gyroscope library.
 - Added seven_segment_multiplexer.jal - multiplexing for 7 segment displays. 
- Added transceiver CC1101 library

filesystem:
 -

jal:
 -

networking:
 -

peripherals:
 - Added Added memory_pointer0 lib
 - Added spi_slave_hw library
 - Added stopwatch2 library
 - Added timer libraries for more general usage of timers.
 - Added timer_frequency to calculate timer frequencies.

protocols:
 -

samples:
 - Added about 100 new blink-a-led samples for new device files
 - sd_card sample for 18f26j50
 - fat32 sd_card sample for 18f26j50
 - sd_card sample for 18f67j60
 - fat32 sd_card sample for 18f67j60
 - 18f4550_timer3 - a simple example for timer3
 - accelerometer & gyroscope bmi160 sample for 18f4620
 - 18f4620_freq_counter_osc_in - a frequency counter using OSC_IN as input.
   Can measure up to 40mhz.
 - 18f4620_freq_counter_timer_in - a frequency counter using timer_in.
 - 18f4620_motor_hbridge - hbridge motor sample.
 - seven_segment_multiplexer sample for 18f4620 to save pins when using more then one
   seven segment display.
 - spi_slave_hw sample - sample to receive spi data.
 - spi_to_serial sample - uses spi_slave_hw library to receive data then sends
   data back out via serial.
 - 18f67j50_spi.jal - send data via spi
 - 18f67j50_spi2.jal  - send data via spi port 2
 - Added transceiver CC1101 sample for 18f4620


tools:
 -


jallib-1.2.0
------------

Changes since 1.1.0

device files:
 - Changed leading to trailing underscore for 'internal' identifiers.
 - Commented out pragma XINST ENABLED: JalV2 does not support ENABLED.

externals:
 - Added lcd_one_dot_matrix (one big dot matrix) library.
 - Added support for reverse datapins wiring to glcd_ks0108 library.
 - Added an rtc_common library and adapted the ds1302 library to use it.
 - Replaced and released steppermotor library.

filesystem:
 -

jal:
 -

networking:
 -

peripherals:
 - Adapted rtcc_hw library to use 'external' rtc_common library.
 - Added support for PPS of Enhanced Midrange to the PPS library.

protocols:
 -

samples:
 - Added a blink-a-led sample for the 16f1455 with INTOSC and full speed USB.
 - Added lcd_one_dot_matrix (one big dot matrix) for 18f25k22.
 - Added sample for (modified) rtc_ds1302 library: 18f2580_rtc_ds1302_glcd.
 - Added 2 serial speed converters using 2 USARTs (115200 <--> 31250 bps).
 - Added sample for use of enhanced PPS library with 16f1708.
 - Added USB mass storage samples.
 - Added USB mass storage samples, with FAT32 when usb is unplugged.
 - Added interrupt on change sample for pin B0 on 18f4620.
 - Addes sample for max6675 K-Thermocouple temperature analog to digital reader.
 - Added samples for revised steppermotor library.


tools:
 -


jallib-1.1.0
------------

Released 2015-02-22

Changes since 1.0.0

device files:
 - Generated with Python script 'pic2jal.py'
   (replacement of Rexx script  'edc2jal.cmd')
 - Based on MPLAB-X version 2.15 for use with JalV2 version 2.4q3.
 - New device files based on MPLAB-X 2.26 and tested with JalV2 version 2.4q3
   (16[l]f161x, 16[l]f176x)
 - Fixed missing var bit*4 SSPxCONy_SSPM (16[l]f19xx)
 - Normalized fuse_def PRICLKEN to PCLKEN for 18[l]f2xk22, 18[l]f4xk22
 - Changed fuse_def CCP2MUX from ENABLED/DISABLED to pin_Xy format

externals:
 - Added libraries for 8x8 LED matrices with MAX7219 chips
 - Added libraries for LED strips with WS2812B chips
 - Added library for an 8-digit 7-segment display with MAX7219 chip
 - Added 2 libraries for stepper motors
 - Added library for PLL with MC145156 chip
 - Added library for charlieplexed led matrices and font tables for LoLshield
 - Added USB MSD (mass storage device) library.
 - Addes library for max6675 K-Thermocouple temperature analog to digital reader.

filesystem:
 -

jal:
 -

networking:
 -

peripherals:
 - Refactored pintools library

protocols:
 -

samples:
 - Added samples for 8x8 LED matrices with MAX7219 chips
 - Added samples for LED strips with WS2812B chips
 - Added sample for 8-digit 7-segment display with MAX7219 chip
 - Added samples for stepper motor libraries
 - Added sample for PLL_MC145156 library
 - Added samples for charlie library
 - Added blink-a-led samples for new device files (16f161x, 16f176x)


tools:
 -


jallib-1.0.0
------------

Released 2014-05-29

Changes since 0.9.0

device files:
 - Based on MPLAB-X version 2.05 for use with JalV2 version 2.4q2.
 - Several fuse_def pragma's had to be changed because of
   misinterpretations of the MPLAB descriptions, among which
   pragma fuse_def OSC, FOSC2 and WDT, .
   Changed fuse_def CLKOEN to CLKOUTEN (18fxxj94/99).
 - All 'shared' keywords removed from variable declarations:
   + 'pragma shared' defines all shared memory regions (both SFR and GPR).
   + 'pragma data' defines all data memory (GPR).
 - Many more or less trivial changes, like sequence of bit-fields
   of SFRs and more alias names of bit-fields.
   Pin aliases now directly obtained from MPLAB-X .pic files.
 - Removed 'inline' from most pseudo variables: less code memory.
 - Shadow bytes declared volatile to prevent pin glitches,
   and now pre-allocated in shared memory (as far as available).
 - Changed PIC ID in chipdef_jallib to PROCID in MPLAB-X .pic files.
   Added this hex word as const CHIP_ID to device files.
 - Fixed default config bit settings of baseline and midrange PICs:
   Unused bits read as '1' of baseline and midrange PICs and
   as '0' for 18F series, with some exceptions!
 - Fixed accidentally suppressed ADCON2_CHSNx bitfields (14H core).
 - Fixed error with (mixup of) RC1/RC2 of 18f??39
 - Fixed missing pin_A3 (pin_MCLR) declarations.
 - Fixed missing pin_E3 (pin_MCLR) declarations.
 - Fixed missing ANCONx/ADCONx registers in enable_digital_io().
 - Added comment with range of remaining shared memory, if any.
 - Added constant ADC_MAX_RESOLUTION specifying the maximum ADC
   resolution (0,8,10,12).
 - Added PICs 16f753/hv753,
   16[l]f1571/2, 12[l]f1612, 16[l]f1613,
   16[l]f1705/09/13/16, 16f[l]f1717/18/19,
   16f1829lin, several 18f6xxx and 18f8xxx.
 - Added PPS group 3 for 18fxx94/99 family.
 - Added aliases without '0' for ADRES0{H|L} registers.
 - Rename SLRCONx_SLRCONxy bits to SLRCONx_SLRxy (14H core).
 - Rename ODCONx_ODCONxy bits to ODCONx_ODxy (14H core).

externals:
 - Added library for AD9850 chip
 - Added library for LTC2942 chip
 - Added library for TM1638 chip (8 7-segment digits, 8 LEDs, 8 buttons)
 - Added library for TM1640 chip (16 7-segment digits)
 - Added library for MAX7219 chip (8x8 led matrix)
 - Added library for shift register 74595
 - Sd card library now supports high capacity SDHC cards

samples:
 - Added sample for use of DDS_AD9850 library
 - Added blink-a-led samples for all new PICs.
 - Added running-light sample (knight rider style) with 18f242.
 - Refreshed all blink samples and adapted many other samples
   to revision of pragma fuse_def OSC and WDT.
   Added oscillator type (hs or intosc) to the name of blink samples
 - Added several blink samples using INTOSC, HS_USB and INTOSC_USB
 - Added samples for LM1638 chip (8 7-segment displays + 8 leds + 8 buttons)
 - Added samples for LM1640 chip (16 7-segment displays)
 - Added samples for MAX7219 chip (8x8 matrix monochrome display)
 - Added samples for shift_register_74595



jallib-0.9.0
------------

Released 2013-02-17

Changes since 0.8.0

device files:
 - Revised allocation of _pic_accum and _pic_isr_w:
   * Most baseline and midrange need both.
   * Extended midrange and 18Fs need only _pic_accum.
   * _pic_accum for 18Fs moved to begin of access bank (0x00),
   * Rest of shared memory specified as unshared memory,
     and added to the (last) largest unshared memory block
     to allow the largest possible array or buffer.
 - Modified naming convention for USART and MSSP modules:
   First or only module uses unqualified names, second module
   uses '2' (suffix for USART, embedded for SSP registers).
   Needed some changes in I2C and SPI libraries.
 - Fixed missing aliases for extended midrange PICs for
   USART and SSP modules.
 - JANSEL_ANSxx bits now defined as alias of original bitfield
   in stead of replacing original MPLAB bitfields.
 - Added ADC_GROUPS 14 and 14_1
 - Corrected ADC_GROUP specification of some midrange PICs.
 - Fixed enable_digital_io() functions (distinction ANSEL <-> PCFG).
 - Fixed missing pin_CCPx aliases
 - Added pseudo variables for registers sharing the address with another
   register, like SSPMSK of several midrange PICs.
 - Improved default configuration bits settings.
 - Added 12lf1840t48a, 12f529t39a/t48a, 12F1802t39a, 16f527
         12lf1552
         16f1512/13, 16F1454/5/9, 16F1784/5/9 and LF variants
         16lf1824t39a
         16f54/57/59 (back!)
         16f570
         16f1788/89 and LF variants
         18f24k50/24k50/45k50 and LF variants
         18f97j94 family (12 PICs in 18fxxj94/99 group).
 - PICs with more than 4 RAM banks: data memory limited to first 4 banks.
 - Enhanced device file documentation (devicefiles.html):
      esp. memory allocation, section about NMMRs,
      calibration of Internal Oscillator,
      revised naming convention for USART and MSSP modules,
      device file generation process.
 - Added automatic Internal Oscillator calibration for baseline and
   midrange PICs which have a 'MOVLW' instruction in high memory
   (not for PICs with a RETLW instruction in high memory!).
 - With OSCCAL value in high memory: one word less code memory!


externals:
 - fixed bug in format library
 - removed 'pragma inline' from hd44780 lcd libraries to save memory

peripherals:
 - Relised ADC libraries:
   + removed user option ADC_HIGH_RESOLUTION, is now automatic.
   + supports now also 12-bits resolution
 - Direction settings of pins of peripheral modules, like USART etc.,
   controlled by corresponding libraries (was user responsibility).
 - Added serial_hw2_int_cts library for interrupt driven buffered serial
   communications for second serial port of a PIC.
 - Added flash_data library to use flash (code) memory save and
   restore data (supports currently only 18FxxJyy).
 - Fixed bug in serial_hw[2]_int_cts libraries.
 - Added PWM libraries for PICs with PWM module but no CCP module.
 - Improved usability and documentation of PWM libraries.

networking:
 - XBee API mode library (multipoint networks, broadcast)
 - Networking libs arp, ethernet_mac, http, icmp, ip_header, tcp, udb. Beta release.

filesystem:
 - Minix library and samples: can create/read files, read directory

jal:
 - Added debounce, a simple switch debounce library
 - Added reboot, a library to reset a PIC if possible
 - Added big_calendar, a library to maintain a clock and do calendar calculations,
   like adding days to a given date or find the date of easter sunday of a given
   year.
 - Added an improved version of string_to_dword and a new string_to_sdword
   function to strings

samples:
 - Some (MP3) samples changed because of modified naming convention
   of MSSP modules.
 - Added blink samples for new device files.
 - Added several samples for serial communications with 1st and 2nd USART
   (16f1947 and 18f6722).
 - Added sample for flash_data library with 18F26j11.
 - Added beta networking samples on 18f4620 for webserver, ping, slip ping,
   tcp server, tcp client, udp server, udp client.


jallib-0.8.0
------------

Released 2012-01-15

Changes since 0.7.0

device files:
 - based on MPLAB version 8.83
 - added several PIC of 16f150x and 16lf150x groups
 - added 10f32x and LF variants
 - added 12f752 and 12HV752
 - added alias pin_TX1 for pin_TX and pin_RX1 for pin_RX
 - fixed missing alias SSPCON for SSPCON1, mostly for extended midrange
 - in MPLAB several PICS: Brownout voltage level renamed to
   'minimum' and 'maximum' in stead of a voltage value.
 - enhanced documentation (devicefiles.html)

externals:
 - DHT11 temperature and humidity sensor library
 - Added [optional] clipping of ellipses in glcd_common
 - Added in glcd_ks0108 library the possibility to write chars at any pixel location
 - Added digital potentiometer mcp4131 lib.
 - added rc servo slave library
 - added ps2 keyboard library
 - added storage drivers for mass storage devices

peripherals:
 - Interrupt on change pin library

jal:
 - Reworked rsin8(), rcos8() and polar_to_carthesian() in math library
 - Replaced print library with support for very large numbers.
   Note: + Some procedures renamed, e.g. print_xxxx_binary() -> print_xxxx_bin()
           and some others
         + Old print library available as print_deprecated.jal (not in release)

samples:
 - Added blink-a-led samples for all new device files
 - Fixed wrong CPUDIV settings, mainly in samples with USB PICs
 - Added blink-a-led samples for PICs with USB module, using PLL for CPU freq. 48 MHz
 - Added some samples using glcd_ks0108 library
 - Added digital potentiometer mcp4131 samples
 - added rc servo slave samples
 - added many SLIP samples for slip_isr, slip_poll, slip_pool_usb
 - Interrupt on change pin samples
 - ps2 keyboard samples


jallib-0.7.0:
------------

Released 2011-07-11

Changes since 0.6.0

device files:
 - Based on MPLAB 8.66.
 - USB buffer memory now available for general purpose when USB not used.
 - Added suffix 'a' to otherwise duplicate chip identifiers in chipdef_jallib.jal.
 - Released 16 more PICs of 18f47j13 and 18f47j53 family.
 - Released 6 more PICs of 18f87k22 family.
 - Released 4 more PICs of 12f1822/16f1823 family.
 - Released 4 more PICs of 16f1824/28 family.
 - Released 4 more PICs of 16f1825/29 family.
 - Released 4 more PICs of 18f1946/47 family.
 - Released 6 more PICs of 18f87j11 family.
 - Released PICs 16f707, 16lf707 and 16f872.
 - Released 8 more PICs of 16f151x family.
 - Released 4 more PICs of 16f720/1 family.
 - Released 12 more PICs of 18f66K80 family.
 - Added device files for 16lf1902 and 16lf1903.
 - Added device files for 16f1847 and 16lf1847.
 - Added device files for 12[l]f1840.
 - Added device files for 16lf1904/06/07
 - Added aliases for first of multiple SPI and I2C modules to be able to use
   current SPI and I2C libraries with the first SPI and I2C module.
 - Replaced enumerated ADCS fields in ADCONx register of extended midrange
   by a multibit (bit*2 or bit*3) field.
 - Added a pseudo-variable ADCON0_ADCS for PICs which have their ADCS bits
   scattered over ADCON0 and ADCON1 registers.
 - Added alias BAUDCON for PICs with BAUDCTL register
   (this is related to a fix of library usart_common.jal).
 - Moved all extended midrange PICs (12/16F18/19xx, etc.) to ADC group ADC_V0.
 - Fixed ADC voltage reference using PVCFG and NVCFG bits (K22 and K50 PICs).
 - Fixed wrong keyword for 'pragma target CPUDIV' (for about 10 18F PICs).
 - Moved non device specific constants in chipdef_jallib.jal to a new file
   'constants_jallib.jal'. This file is meant for all library-related
   constants and included by chipdef_jallib.jal.
 - Added constant USB_BDT_ADDRESS for PICs with USB module (issue #154).
 - Added support for pinmapping feature (for PPS library).
 - Improved shadowing of baseline and midrange PICs (issue #159).
 - Added declaration of pin_E3 for about 50 PICs of the 18F series (issue #162)
 - Fixed error in shadowing of 18Fs and extended midrange PICs (issue #163)
 - Enhanced documentation (devicefiles.html).

externals:
 - added library for the Analog Devices AD9833 Direct Digital Synthesis Chip (external/dds)
 - sd card library changed to read/write with byte procedures instead of double byte procedures,
   made more generic to be used with MSSP1, MSSP2 and SPI master software libraries
 - pata_hard_disk added single byte read/write
 - pata_hard_disk,and sd_card lib now has write_to_sector_address procedures
 - pata_hard_disk,sd card speed increase for fast reads, also added extra_speed constant
 - added support for custom characters on HD44780-based LCDs
 - added GLCD stm032qvt-003 lib
 - added touch controller ad7843 lib for stm032qvt-003 GLCD.
 - added font library + additional fonts for GLCD's
 - added custom character support for HD44780 LCDs

peripherals:
 - ADC: * support for 18F2420/2520/4420/4520 (datasheet 39631)
        * support for 18F242/252/442/452 (datasheet 39564)
        * external vref configuration support for 18F4620 (independent/PCFG + VCFG bits)
        * external vref configuration support for 16F1827 and other PICs using ADPREF/ADNREF bits
        * improved configuration for external vref, using named constants
          (ADC_NO_EXT_VREF, ADC_VREF_POS, ADC_VREF_POS_NEG and ADC_VREF_NEG)
        * adc_clock.jal replaced (rewritten) improving ADC acquisition delays
          and using less memory.
 - Stopwatch libary for timing events such as time passed and instruction cycles.
 - Fixed usart_common.jal for PICs with Enhanced USART
 - serial_hardware2.jal library to handle PIC with 2 USART modules
 - spi_master_hw2.jal library to handle MSSP2 module
 - USB: support for 18F27J53 and 18F47J53 chips
 - Refactored rtcc_hardware library: renamed to rtcc_hw.jal, many API changes and extensions.
 - Peripheral Pin Select (PPS) library, to remap pin functions arbitrarily (available on some PICs)
 - SPI hardware now has seperate set mode & set speed procedures.

jal extension:
 - added characters library
 - added checksum library
 - added debug library

filesystem:
 - FAT32 promoted to non-beta with some API changes
 - FAT32 read_sector_address() procedure for faster read/write
 - FAT32 can now read or write to any sector even if the file is fragmented

protocol:
 - added slip library for creating serial packets

samples:
 - Added blink samples for all new device files (see above).
 - Fixed bug in blink samples with pragma target CPUDIV keyword (P2 -> P1)
 - Added I2C master hardware and software samples for 18f25k22
 - New fat32 samples showing usage changes/additons.
 - New pata_hard_disk showing usage changes/additons. See tutorials.
 - New sd card samples showing usage changes/additons. See tutorials.
 - New sample of temperature controlled PC case fan with 12HV615 (12V DC).
 - New sample of 'walking led' with 16f1827 and variable speed (ADC).
 - New sample of using custom characters on HD44780-based LCD
 - Added 24lc256 eeprom sample on 18f4550.
 - Sample for glcd stm032qvt-003 on 18f4620
 - Large array samples on 18f4525, 18f4550, 18f67j50, 18f4620
 - Bit array samples on 18f4525, 18f4550, 18f67j50, 18f4620
 - Stopwatch samples 18f452, 18f4550, 18f4620, 18f67j50, 18f4525, 16f877, 16f877a
 - Debug library sample on 18f4550
 - 24lc256 eeprom samples on 16f877, 16f877a, 18f4525, 18f4550, 18f4620
 - ADC sample for 10f222 (not using ADC library)
 - EUSART2 sample usage for 18f25k22
 - PPS sample usage (remapping RX2/TX2) for 18f27j53
 - sd card samples now require "alias sd_force_spi_mode is spi_master_hw_set_mode_11"
   if more then one devices is used on same SPI bus where each device
   requires differnet SPI modes.

compiler:
 -


jallib-0.6.0:
------------

Released 2010-09-06

Changes since 0.5.0

device files:
 - Based on MPLAB 8.53.
 - Added many device files, of which more than 100 tested and released.
 - Added aliases for the first of two USARTs to be able to use the current
   hardware serial libs for the first of these USARTs.
 - Revised memory specifications for _pic_accum and _pic_isr_w for some PICs.
 - Added T0CON_T0xx aliases for timer 0 related fields in OPTION_REG of midrange PICs
   to be able to use the timer libraries for both midrange and 18F series.
 - Added some extra bitfields to RTC register declarations for convenience.
 - Pseudo variables for port nibbles changed to 'inline' functions/procedures.
 - Revised and added new ADC_group assignments based on MPLAB C18 V3.35 Lite.
 - Fixed errors in declarations of JANSEL aliases for ADC channels.
 - Fixed errors and missing 'pragma fuse_def OSC' declarations of several newer PICs.
 - Added missing comparator disable procedure with several of the newer PICs.
 - Added a section to devicefiles.html with a list of corrections of MPLAB .dev
   files after install of a new release of MPLAB.

externals:
 - Added temperature sensor libraries: mcp3424.jal mcp9800.jal
 - Added library for CANbus mcp2515.jal
 - Added library for Eur/Javi's STERM: lcd_sterm_master.jal
 - Added zero-crossing library: period_skip.jal
 - Added library for 'mac address chip' ee_25aa02e48.jal
 - Added library for small eeprom (also supports i2c mac address chip): eeprom_24lc02.jal
 - Added library for SHT humidity sensor
 - Added mp3 decoder sta015 lib mp3_decoder_sta015.jal
 - Added mp3 decoder vs1053b lib mp3_decoder_vs1053b.jal
 - 23k256 moved "const byte SRAM_23K256_ALWAYS_SET_SPI_MODE = TRUE" from lib to sample files
 - Added lcd_dsm0822a library for this i2c star-burst display.
 - Added 1 microsecond delay in keyboard library to support higher OSC frequencies.
 - Added RC servo library to control up to 24 servos that are the type used in
   the radio control (RC) hobby.
 - Added i2c RC servo slave library. A slave PIC can control RC servos.
 - Added RTC ISR for TMR3

jal extension:
 - pintools.jal: used to map pins with arbitrary numbering scheme, allowing
   to access pins by numbers in sequence
 - bit_array_1: Allows creation of bit arrays.

peripherals:
 - Added CANbus library for 18F devices have 'ECAN': can_legacy.jal
 - Serial_hw libraries support 16 bit baudrate register of eusart.
 - ADC libraries now supports PIC with 28 analog pins. Some Vref setups have been fixed,
   callstack usage optimized, Vref- only can now be selected
 - ADC configuration can now be dynamic and eval'ed at runtime when using
   "const bit ADC_DYNAMIC = true", allowing to change number of channels, resolution, ...
 - timer0_isr_interval uses T0CON_T0xx to support 16F and 18F chips
 - timer0_poll_interval.jal is a polled version of timer0_isr_interval
 - fix of error recovery bug in i2c_hardware (master)
 - fix of error in data_eeprom_write_dword() (pic_data_eeprom.jal)
 - Added rtcc_hardware library supporting the RTCC module of several 18Fxxjxx.

protocols:
 - libraries to support CANbus: can_adapter.jal, can_ascii.jal, can_bicolor_leds.jal, canopen.jal

samples:
 - Added blink-a-led samples for all new device files (more than 100).
 - Added sample for using the polled variation of the timer0 interval library:
   18f4585_tmr0_poll_interval.jal
 - Added CANbus samples: 16f819_canopen_mcp2515_txhb.jal 16f819_mcp2515_can_monitor.jal
   - 16f819_mcp2515_canid4_monitor.jal 18f2585_can_monitor.jal
   - 18f2585_can_serial_adapter.jal 18f2585_can_serial_hw.jal 18f2585_canid4_monitor.jal
   - 18f2585_canid4_serial_adapter.jal 18f4585_canid4_monitor.jal
 - Added sample for 'ethernet mac' chip 16f819_ee25aa02e48_lcd.jal
 - Added sample for writing and verifying 1024 bytes of eeprom with 18f6722
 - Added 2 samples of serial comms with 16F1937 (different libraries and oscillators)
 - Added samples for mp3_decoder_sta015 with SD Card on 18f4620 & 18f452.
 - Added samples for mp3_decoder_sta015 with Hard Disk on 18f4620 & 18f452.
 - Added samples for mp3_decoder_vs1053b with SD Card on 18f4620.
 - Added samples for mp3_decoder_vs1053b with Hard Disk on 18f4620.
 - Added 18f4550 sample using pintools.jal
 - Added samples for new i2c star-burst display library lcd_dsm0822a.
 - Added samples with code from the Jallib Startersguide.
 - Added sample for usage of timer3 module on 18f452, 18f4620 (outputs 1khz square wave)
 - Added static and dynamic ADC setup samples for 18f4550
 - Added sd card sample for 18f4620
 - Added hard disk sample for 18f4620
 - Added fat32 sd card sample for 18f4620
 - Added fat32 hard disk sample for 18f4620
 - Added RC servo samples to control up to 24 RC servos. 16f877a, 18f452, 18f4620
 - Added RC servo I2C master samples. Will control RC slave PIC(s).
 - Added RC servo I2C slave samples. RC slave PIC can be controlled by RC master PIC
 - Added sample for use of new rtcc library with a 18f26j11
 - Added sample for RTC ISR on TMR3 for 18f2620

compiler:
 - JalV2 2.4n


jallib-0.5.0:
------------

Released 2009-12-30

Changes since 0.4.0

device files:
 - device files created with MPLAB 8.43
 - over 50 new device files released
 - alias declarations added for access of Enhanced CCP modules as 'legacy' CCP modules
 - alias declarations added for access of SSP modules of 18Fs with midrange register names.
 - added declarations of pseudo variables for shared memory SFRs and their subfields for
   several high-end 18Fs.
 - changes in fuse_def declarations
   - reduced synomyms of keys and renamed some others to obtain consistency
   - most long tags shortened to a single keyword
   - added descriptive comments from MPLAB files
 - devicefiles.html files extended and updated for these changes
 - added support for ID memory with (added 'pragma ID <offset>,<size>')

externals:
 - sd_card - library to drive a SD Card storage media
 - seven_segment - library to drive a seven-segment LED display
 - 23k256 - library for microchip's fast serial sram
 - 24lc256 - library for microchip's 256kbit i2c eeprom

peripherals:
 - PWM libraries largely rewritten, enhanced documentation.
 - PWM hardware library: removed alias declarations for enhanced CCP
   modules (now in device files)
 - SPI library: removed alias declarations for midrange PICs
 - I2C hardware library: removed alias declarations for midrange PICs
 - ADC: now supports 18F2553, 18F4553, 18F2458, 18F4458, 18F4450, 18F2450
   18F2550, 18F4550, 18F4455, 18F2455 (except 12-bits resolution channels)


jal extension:
 - added delay_1s to delay library
 - fix to make rtc_int_tmr0 library independent of ocsillator frequency
 - profiler library to measure execution time of a procedure
 - math library (currently only square root functions)
 - 4 large array libraries (supporting 18F PICs)

filesystem:
 - FAT32 (beta)

samples:
 - added seven_segment samples
 - over 50 blink-a-LED samples released
 - added 3 samples for 2-channel dimmers (combined use of PWM and ADC)
 - added eeprom samples for 18Fs
 - added sample files for PIC16f723
 - added auto start USB bootloader
 - added 3 samples of use of RTC library with 16F886 (resonator and internal oscillator)
 - added sample of use of math function (square root) with 16F886
 - added sample for large array library on 18f452
 - added sample for 23k256 sram on 16f877 & 18f452
 - added sample for sd card
 - added sample for eeprom 24lc256
 - added sample for fat32 on 18f452 for sd card & hard disk (fat32 is beta version)
 - added sample for 12F675 with internal oscillator and calibration of OSCCAL

compiler:
 - JalV2 version 2.4m



jallib-0.4.0:
------------

Released 2009-08-16

Changes since 0.3

device files:
 - based on MPLAB version 8.33, new device files for
   12F520, 18F66J93, 18F67J93, 18F86J93, 18F87J93, 18F87K22, 18F87K90.
 - added:
   + pin-aliases with help of /tools/pinmap_pinsuffix.json.
   + enumeration of bitfield VCFG of ADCON0 and ADCON1 registers
   + const byte ADC_NTOTAL_CHANNEL = <#>  (number of of ADC channels),
   + const byte[] PICTYPE, DATASHEET and PGMSPEC (without letter suffixes)
   + const word DEVICE_ID
   + pseudo variable ADCON0_CHS for 16F7x7 with 'splitted' CHS bits.
   + declaration for pin_A3,1,0 to 18F13/14K50 and their LF variants.
 - removed:
   - fuse_def statements for ENICPORT and for some unsupported bits
     of the 18Fs (protection bits of not present code/data/write memory).
 - fixed:
   * declaration of SFRs of 18Fs: only SFRs above
     0xF00+AccessBankSplitOffset are declared 'shared'.
   * 12F519: registers renamed: PORTB -> GPIO/PORTA, TRISB -> TRISIO;
     T0CS bit setting added to enable_digital_io(), flash-data -> EEPROM.
   * 12F526: fixed missing bit fields of EECON.
   * ANSEL of 12F609, 12HV609, 16F610, and 16HV610 rehabilitated
     (these chips have no ADC, but do have an analog comparator).
   * pragma code for 16-bits core specified in bytes (was words)
   * 'bit*4 PS' of T0CON (16F72x) splitted into 'bit PSA' and 'bit*3 PS'
 - other changes:
   * replaced '<type> var ... is  ...'  by  'alias ... is ...' (JalV2.4l)
   * normalized ANSx subfields of ANSELx and ADCONx to JANSEL_ANSx naming.
   * bit TxSYNC in TxCON register normalized to NTxSYNC for:
     T1CON of baseline and midrange and T1CON,T3CON and T5CON of 18F series.
   * Normalized TxCON_TOUTPS to TxCON_TxOUTPS for 18Fs
   * ADCONx_[P]VCFG now both declared as multi-bit field and as enumerated bits.
   * fuse_def OSC now handled by table (/tools/fusedefmap.cmd)
   * minor changes in output formatting (for html doc generation).


externals:
 - Hard disk library to communicate with parallel ATA hard drives,
   using a 40 pin IDE connector.
 - Added: Backlight API for LCD backlight on/off or pwm
 - Keyboard updated: new one-shot function getkey_once() and configuration of
   used pins without modification of the library

peripherals:
 - adc: new ADC libraries available, handles more PICs than previous.
        set_digital_pin() and set_analog_pin() available for PICs where
        analog pins are independent (see documentation for more).
        adc_hardware.jal is being deprecated
 - i2c : Added I2C support for PIC18f devices + samples.
 - i2c slave: bugfix: library recovers from overflow.

jal extension:
 - extended queue interface and 4 queue's (01 to 04)
 - delay.jal accuracy increased significantly for clock <> 20 MHz.

samples:
 - Added USB bootloader
 - Added I2C hardware samples for PIC18F13K50/PIC18F14K50/PIC18F2450/PIC18F4550
 - some more samples using new ADC libraries (16f77, 16f88, 16f876a, 16f877)

compiler:
 - JalV2 version 2.4l (required for 'alias' keywords in device files)

project:
 - Added PIC18F14k50 USB IO board board blog and example JAL files
 - Added PIC18F14k50 USB IO board board bootloader
 - Added PIC18F14k50 USB IO schematic & PCB layout



jallib-0.3.0:
------------

Released 2009-05-23

Changes since 0.2

device files:
 - added tested device file 16f84a
 - changed name OSCCON_IOSCF to OSCCON_IRCF for 16F690 and
   10 others, and name OSCCON_IRFC to OSCCON_IRCF for 16F88x group
 - fixed NMMRs of 12-bits core: multi-bit bit fields now declared
   as bit*<number>  (was byte)
 - extended and improved documentation file 'devicefiles.html'
 - bug fix PORTx'get and pin_xy'get of 18Fs (read PORTx, was LATx).

externals:
 - lcd_hd44780_4/8 refactored (API changes, see deprecation warnings)
 - write-timing now CPU speed independent
 - infra-red GP2D02 distance ranger library

peripherals:
 - serial_hw_int_cts: add deprecation warnings
 - pwm libraries: shadow registers initialized to 0
   (so libs are compatible with Enhanced-PWM). Fixed pwm_off() turning
   pwm on when called twice.
 - added USB libraries

jal extension:
 - jascii: added 'tolower' procedure

samples:
 - corrected existing samples for refactored lcd_hd44780 libraries
 - removed some obsolete samples and added new samples for refactored
   lcd_hd44780 libraries
 - added 16f84a_blink sample
 - added pic18f4550 / pic18f2450 samples
 - added new USB samples (HID mouse, HID Generic, USB Serial)
 - added new GP2D02 distance ranger sample

compiler:
 - replaced by version 2.4k, see file README.txt of compiler for details

project:
 - Added lcd_interface application (hardware design, software). Provides access
  to an hd44780 lcd trough lcd_hd44780_serial_sw.jal and a single IO pin.


jallib-0.2:
-----------

Released 2009-02-01

Changes since 0.1

device files:
 - corrected program memory specifications for 18Fs
 - normalized MSSP register names
 - generated with MPLAB 8.20
 - corrected several fuse_def definitions

peripherals:
 - pwm_hardware.jal: new uniform PWM API. Whatever the number
   of PWM channels for a given PIC, include appropriate underlying libs.
 - adc_hardware.jal: now handles 8-bits only resolution ADC
 - i2c: i2c hardware slave library, ISR and message interface
 - serial_hardware with interrupt now also has same API as serial_hardware
   without interrupt.

jal extension:
 - random.jal - high-quality random with classic API

samples:
 - several i2c hardware master/slave samples


jallib-0.1:
----------

Released 2009-01-02

Changes since 0.1beta:

general:
 - libraries are licensed under the ZLIB license
 - jallib-pack: jallib released with JalV2 compiler binaries for several
   platforms, and with its documentation
 - samples are now prefixed by PIC's name
 - script to reindent jal code
 - documentation: links to samples now point to local files

device files:
 - some new device files
 - all updated with the latest MPlab version (8.15) info
 - fixed shared/unshared memory of midrange PICs
 - enhanced default fuse settings of 18F series

peripherals:
 - pic_data_eeprom.jal: now handles larger EEPROMs with 18Fs (more than 256
   bytes), pragma inline optimizations
 - i2c_software.jal: to write i2c software master
 - i2c_hardware.jal: to write i2c hardware master
 - i2c_level1.jal: high-level i2c library, for both soft & hardware libs

jal extension:
 - format.jal: added format_time_hms()
 - calendar.jal library
 - rtc_isr_tmr0.jal: real-time clock ISR library

externals:
 - humidity_sht.jal: humidity sensor library (SHTxx sensors)
 - temperature_tc77.jal: temperature sensor library (TC77 sensor)
 - co2_t6603.jal: co2 sensor library (T6603 CO2 sensor)
 - keyboard.jal: keyboard library
 - lcd_hd44780_8.jal: added 8-bits LCD library

samples
 - added samples for all new or fixed libraries
 - 16f88: fixed internal clock configuration


