Release Notes:
(* means bug fix, function improvement, etc.)
(+ means new feature is supported)
(- means feature is deleted)
(FPJC-x means it is a JIRA issue which is trackable at http://10.52.1.28:8080/)
==================================

2025/12/09, Version 6.3.9
----------------------------------
   * Fix bugs - The first burned Firmware can't pass FVT test in GPV(SMT Factory).
   * Fix bugs - setting (5-points calibration)missed when recovery from backup setting.
   * Fix bugs - Data storage, float values are not right rounded in user program; like 0.456 to 0.45 not 0.46
   * Update -   Update “Acti” to “Activé” or “Actif” in the French version.
   * Fix bugs - The number of User Identity update to 50.
   * Fix bugs - The auto-generated Sample Number starts from 0.
   * Fix bugs - TL23x & Pharma Customers: Measurement result print out with error calibration time based on user program 11mm adapter
   * Fix bugs - "User Program" cannot be saved in the instrument first used(6.3.8 issue)

2025/05/19, Version 6.3.8
----------------------------------
   * Update -   Language setting add to "setup" in Chinese version.
   * Update -   The "Favourites" of user programmer move to "Options" in home page.
   * Update -   Change log file structure: Put TL23xx_SNXXX on the filename and all files in the logger root folder.
   * Update -   Verification log adds difference/percent item in csv format.
   * Fix bugs - Verification result can't print to CSV and xml log file correctly. 

Note: Downgrade version maybe cause error on factory calibration, history datalog and history custom program.
      The version is compatible with v6.2.7,v6.2.8 and v6.3.6.

2024/11/28, Version 6.3.7
----------------------------------
   * Fix bugs - Custom program prints error creating time. 

Note: Downgrade version maybe cause error on factory calibration, history datalog and history custom program.
      The version is compatible with v6.2.7,v6.2.8 and v6.3.6.

2024/05/31, Version 6.3.6
----------------------------------
   * Revise clibration/verification/service reminder translation string of German/French.
   * Fix bug: Upgrade compatible with version 6.2.8
   * Fix bug: Missing some factory data after upgrading from version 6.2.7

Note: Downgrade version maybe cause error on factory calibration, history datalog and history custom program.
      The version is compatible with v6.2.7,v6.2.8 and v6.3.6.

2024/03/07, Version 6.3.5(discard)
----------------------------------
   * Adding a 1s/2s(quick print/detailed print) delay before active reading screen with printer back to enabled read screen.
   * Fix bug: Save default calibration data to EEP Memory before EEP initialization in some case

2024/01/11, Version 6.3.4(discard)
----------------------------------
   * When the data is full, the data at the beginning position will be automatically deleted.
   * The datalog/Callog...compatible with all the version before.
   * Improve Polish.
   * The length of user and sample IDs reaches 20.
   * The default service time is set to the factory calibration time.
   * The sample number matches in display, LOG, and printing.
   * The number of calibration function user programs is displayed as 9017, and a maximum of 18 user programs can be provided.
   * Corrected the format of the printed output.
   * Fix the bug of 10 digit security password.
   * When selecting a language, it can be protected with a secure password.
   * Note: Can't downgrade to version v6.2.7 and before version.

2023/03/10, Version 6.3.2/6.3.2c(Based on 6.2.8L)
----------------------------------
   * The datalog/Callog...compatible with v6.2.7, and incompatible with v6.2.8 and v6.2.8L.
   * Note: Can't downgrade to version v6.2.7 and before version.

2022/12/06, Version 6.2.8L(Based on 6.2.8, Only for Localization version)
----------------------------------
   * Add new factory passward for modifying SN, and prohibit modifying SN with the original factory password
   * Note: Can't downgrade to version v6.2.7 and before version.

2022/10/20, Version 6.3.1/6.3.1c (based on version 6.2.9)
----------------------------------
   * update password
   * spi flash back to AT25DF641A
Note: Can't downgrade to version v6.2.7 and before version.

2022/02/15, Version 6.2.9/6.2.9c
----------------------------------
   * Change the paths in 'filelist.txt' to the local PC;
   * Force 4B alignment in calibration.hpp/calibration.cpp;
   * 'time_t' is replaced by 'uint32_t';
   * Version is updated from v6.2.8 to v6.2.9;
Note: Can't downgrade to version v6.2.7 and before version.

2021/07/07, Version 6.2.8/6.2.8c
   * The structure of datalog/Callog... is changed because of the changing of compiler, and this version is incompatible with the version before v6.2.7.
   * Add support for new thermal printer
   * Redefined the zero-point calibration feature for Chinese version release 
   * Fix some UI issues
   * Add the time to enter the upgrade mode from 4 seconds to 10 seconds.
   * Note: Can't downgrade to version v6.2.7 and before version.

2019/05/09, Version 6.2.7
   * Fix verify log difference convert error for single point verify print log.
   * Exchange the user program calibration curve unit for printout.

2019/04/26, Version 6.2.6
   * Change verify log difference print accuracy.
   * exchange the asc calibration curve unit.

2017/06/08  Version 6.2.5
   * Remove speciality that error prompt window auto close after two seconds.
   * Remove ASC edit security setting items in the security list when not have ASC.
   * Fix busy control background display issue.
   * Disable add new line when ASC is reading new turbidity value. 
   * Add service verification script support

2017/05/19, Version 6.2.3
   + Add password mask edit box control when user input password
   * Multi-language translate update(chinese, turkish, japanese) 
   * Add the User Program feature on TL2350 and TL2360 into security list, to avoid arbitary change of the method by operators 
   * Reuse calibration setup security setting for quick curve selection in read screen 
   * Change the master pin code 

2016/12/12, Version 6.2.2
   * Fix some UI issues(FPJC-836, 837, 838, 839, 840)

2016/11/09, Version 6.2.1
----------------------------------
  + Add sample detail information window in read log screen when click sample information area(FPJC-816)
  + Add user-friendly security password input strategy (FPJC-815)
  + Add calibration curve switch and adapter select in read window when click title bar (FPJC-189)
  + Add language selection window popped up when instrument is first time powered on by user (FPJC-681)
  * Disable ASC for TL2300/TL2310 (FPJC-835)
  * Optimize ASC data store speed (FPJC-831)
  * Fix some UI issues (FPJC-805, 806, 808, 809, 797, 812, 813, 787, 784, 795, 817, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834)

2016/10/19, Version 6.2.0
----------------------------------
  + Add five points verification support (FPJC-597)
  * Fix some minor issues for ASC (FPJC-545)

2016/09/13, Version 6.1.0
----------------------------------
  + Add ASC print support (FPJC-801)
  * Redesign ASC data store to improve performance (FPJC-799)
  * Adust ASC operation logic and fix some issues( FPJC-800, 802, 803)
  

2016/08/24, Version 6.0.8
----------------------------------
  * Fix some display errors with double hardware surface (FPJC-805, 790)
  * Fix UI disorder because of async message can not response issue (FPJC-798)
  * Fix several minor UI issues(FPJC-804, 785, 792, 760, 783, 796, 789, 794, 772, 785)

2016/08/19, Version 6.0.7
----------------------------------
  * Fix crash issue because of memory leak (FPJC-768)
  * Fix factory final inspection log has duple title issue(FPJC-782)

2016/08/11, Version 6.0.6
----------------------------------
  + Add factory coeffcient to all curves after factory curve chagned (FPJC-772)
  + Add touch reset function (FPJC-622)
  + Add air dtr check in facotry calibration (FPJC-776)
  + Add touch calibration check and fix some bugs in touch calibration (FPJC-761, 419)
  + Add calibration and reading average check to avoid unstable (FPJC-769)
  * Fix a dead lock issue when update in UI (FPJC-775)
  * Fix several minor UI issues(FPJC-773, 763, 766, 760, 771, 762, 774, 764, 757, 770, 731)

2016/08/02, Version 6.0.5
----------------------------------
  + Add update Gain dynamically in turbidity page for debug gain error (FPJC-778)
  + Add coefficient display in turbidity page. (you can see all the curves exist and history curves both have coefficient information and detectors information) (FPJC-777)

2016/07/25, Version 6.0.3
----------------------------------
  + Add auto test interface (FPJC-765)
  + Add touch calibration check and fix some touch detect bugs(FPJC-766)
  * Add calibration check in calculate detect average and fix read average error not show issue(FPJC-769)
  * Fix several minor UI issues

2016/07/12, Version 6.0.0
----------------------------------
  + Add export readble system log from event log page (FPJC-748)
  + Add update firmware error popup form UI and fix update logic error and crash issue (FPJC-754)
  * Fix factory verification possible freeze issue when can not get valid NUT value (FPJC-637)
  * Fix T% and Abs wrong check issue (FPJC-735)
  * Fix crash issue when the language file or font file broken (FPJC-727, 729)
  * Fix busy control ui can not update completely issue (FPJC-743) 
  * Fix several minor UI issues (FPJC-370, 740, 647, 580, 592, 692, 751, 714, 760, 700, 750, 747, 759, 758, 688, 732, 744, 757, 753, 738)

2016/07/01, Version 5.6.5-Sp30
----------------------------------
  + Using new GNU ARM toolchain to compile the project (FPJC-749)
  + Enable ASC support  (FPJC-545)
  + Add file sync semphore to protect file operation (FPJC-737)
  * Fix calibration standards check error (FPJC-746)
  * Fix reading log parser crash issue when reading log broken (FPJC-752)
  * Fix log index error when delete the first log (FPJC-744)

2016/06/27, Version 5.6.4-Sp30
----------------------------------
  * Add dynamic memory malloc sise fo fix print bitmap crash issue
  * Fix calibration curve can not load successfully issue after set custom curve (FPJC-722)  
  * Fix continue reading crash issue because of multi-task file operation

2016/06/23, Version 5.6.3-Sp30
----------------------------------
  + Add bootloader version in about page (FPJC-733)
  * Fix same modal window can not display issue in DMA2D mode
  * Fix several minor UI issues (FPJC-651, 694, 682, 690, 728)

2016/06/22, Version 5.6.2-Sp30
----------------------------------
  + Change memory copy to DMA2D for display (FPJC-702, 724, 678) 
  + Add async task to support calibration factory reset and reset other curves(besides full range curve) to default(FPJC-725)
  + Add adapter information for printer and bitmap export (FPJC-712)
  + Add factory Dtr access in service page and fix Lamp off voltage get error after switch language (FPJC-726)
  * Improve robost for file operation in FatFS (FPJC-716, 718, 656, 562) 
  * Fix calibration page cancel button can not recovery issue when click cancel button or open the sliding door(FPJC-721)
  * Fix several minor UI issues (FPJC-720, 723, 696, 726, 719, 703)

2016/06/20, Version 5.6.1-Sp30
----------------------------------
  + Add data log reach capacity limit warning and USB disk full warning (FPJC-593)
  + Add calibration standars check with detect and usded in custom and service calibration (FPJC-478)
  + Add custom curve choose and eidt support and fix custom calibration curve icon not change issue when edit standards (FPJC-711)
  + Add ASC demo on Win32 simulator (FPJC-545)
  + Add keyboard detect support in peripheral window (FPJC-674)
  + Add copy inspection file to usb disk ok notify
  * Fix one multi-lange switch crash issue when startup (FPJC-699)
  * Add missed languages support (FPJC-697)
  * Fix bugs to update firmware from UI (FPJC-683)
  * Fix bugs about FAT file integrity and bootloader checksum compatibility issue
  * Fix several minor UI issues (FPJC-708, 710, 695, 672, 698, 701)

2016/06/12, Version 5.6.0-Sp30
----------------------------------
  + Add calibration alert dialog to let user ignore standards check failed error (FPJC-666)
  + Move background files operation to aysnc task for Fatfs sequence reading and writing (FPJC-556)
  + Add datalog bitmap format export support(FPJC-466)
  + Add calibration graphic log view (FPJC-407)
  + Support adapter in calibration curve(FPJC-101)
  + Support adapter information and user defined custom curve name (FPJC-447, 691)
  + Support 5 custom calibration curves (FPJC-391)
  * Fixed simulator crash issue caused by dumplicated RootWin instance.
  * Remove unused code, including I2C wrapper, old UI impl, FatFS JP doc (FPJC-623)
  * Fix data log export can not support export single log type issue (FPJC-687)  
  * Fix several minor UI issues(FPJC-673, 630, 676, 685)
  * Update source code to support application to update instrument firmware(FPJC-683).
  * Fix bugs of SPI flash (the data could only be stored in first 4M bytes) and add time out handlings for while loop.
  * Resolve the issues about data integrity(FPJC-22)
  * Add source code to manage the mapping of different print out channels (CDC, RTT, UART) for communication(FPJC-310). 

2016/05/18, Version 5.5.1-Sp29 (Pilot release) 
----------------------------------
  + Add SUI string to PEG WB project, and change wchar_t to 4B length (FPJC-450)
  + Add PEG chart common code and Calibration data log diagram demo (FPJC-553) 
  + Restore Win32 simulator to support upcoming ASC programming (FPJC-545)
  + Add macro ALTERNATIVE_TO_DNUT to aligh with DNUt
  * Remove Hach logo from User APP and place it in boot-loader (FPJC-199)
  * Fix several minor UI issues (FPJC-671)

2016/05/16, Version 5.5.0-Sp29 
----------------------------------
  + Add new async operation mechanism for data import and export(datalog/backup/restore/sample IDs) (FPJC-556)
  + Add backup and restore file check (FPJC-636, 679)
  + Add HACH log and update process bar in bootloader and update firmware and languages in a single package (FPJC-474, 675)
  + Add new bakup mechanism to store important data(SN/touch cliabration/calibration coefficients/detectors values in factory) in on-ship flash (FPJC-495)
  + Add front USB firmwate update ability (FPJC-600)
  * Fix several minor issues (FPJC-673, 679, 556, 523, 440, 471)

2016/05/03, Version 5.4.2-Sp28
----------------------------------
  + Add memory exhausted handler so user can shut down the instrument (FPJC-308)
  + Add User Factory calibration after lamp changed (FPJC-614)
  + Using different verification standards in factory and service and enable service to update factory curve(FPJC-665)
  + Change data log max limit to 2000 (FPJC-651)
  + Add lamp off power supply voltage in factory power check page (FPJC-668)
  * Remove not valid items in read log display and export(FPJC-662)
  * Fix memory conflict issue in event log service page (FPJC-443)
  * Improve file system disk usage statistic code (FPJC-667)
  * Fix wrong reading unit setting for NIS model (FPJC-648, 659)
  * FIx buffer underrun issue while using qwerty keypad (FPJC-658)
  * Fix several minor UI issues (FPJC-364, 394, 453, 520, 580, 590, 605, 630, 635, 647, 649, 650, 653, 657, 661, 663, 664, 580, 652,660)
 
2016/04/20, Version 5.4.1-Sp28 
----------------------------------
  + Add multi-language support (FPJC-30)
  + Add more info for calibration log and reading log (FPJC-558, 559, 630, 632)
  + Add icons for printing template (FPJC-608)
  * Improved USB HID enumeration process (FPJC-203)
  * Fix factory test related issues (FPJC-646, 645, 641)
  * Fix export data log to USB disk and printer related issue(FPJC-582, 555, 406)
  * Uniform turbidity limit with user manual (FPJC-374)
  * Fix several minor UI issues (FPJC-210, 453, 540, 595, 616, 618, 627, 631, 640, 642,639,634) 

2016/04/12, Version 5.4.0-Sp28 
----------------------------------
  + Add more info for calibration log and reading log (FPJC-558, 559, 630, 632)
  + Add Eclipse compilation configuration for release management
  * Update FatFS UINT to 32bit width.
  * Fix touch calibration related issue (FPJC-617, 419)
  * Fix several minor UI issues (FPJC-409, 439, 456, 516, 519, 524, 549, 591, 601, 608, 612, 615, 625, 626, 628) 

2016/04/01, Version 5.3.1-Sp27 
----------------------------------
  * Fix calibration page crash issue (FPJC-365)
  * Fix self check related issues (FPJC-49, 128)
  * Fix calibration check standards issue in TL2310 (FPJC-528)
  * Fix several service page issues (FPJC-609, 511, 585, 589, 588, 548)
  * Fix sipper manual purge issue (FPJC-586)
  * Fix securit list issue (FPJC-249)
  * Fix bugs about touch driver, GPIO(touch busy pins) and spi communication to ads7846

2016/03/25, Version 5.3.0-Sp27 (Beta re-factoring II)
----------------------------------
  - Remove heap_1 and PegHeap program, use heap_5 for heap management and heap_4 for RTOS TCB
  + Add memory leakage monitor program so we can finish FPJC-365 completely at future
  + Add font and string model program for multi-language (FPJC-219, 235, 239, 281)
  + Add language selection window (FPJC-215)
  + Support cancel a UI click event by moving finger out of button (FPJC-490)
  + Improve Service final test page (FPJC-512, 584)  
  * Fix scanner not working when comment keypad pops up (FPJC-449)
  * Fix timer digital disform issue (FPJC-537)
  * Fix data log UI related issues (FPJC-534)
  * Fix several minor UI issues (FPJC-383, 394, 458, 480, 496, 501, 502, 522, 525, 536, 538, 560, 561, 579, 581, 586, 587, 604, 594)
      
2016/03/04, Version 5.2.0-Sp26 (Beta re-factoring)
----------------------------------
  + Add Async mechanism for long time operation (FPJC-486, 541)
  + Add SPI Flash service page to wipe data and check disk status (FPJC-531)
  + Add folder size statistics in IoSteam library
  + Add folder check for backup and restore (FPJC-531)
  * Fix memory leakage which caused by wrong PEG API usage (FPJC-326)
  * Fix LCD flicking issue (FPJC-318)
  * Fix security related issues(FPJC-438, FPJC-395, FPJC-459)
  * Fix operator related issues(FPJC-232, FPJC-505)
  * Update ANIS compensation equation (FPJC-530)
  * Fix wrong check criteria for DI stand (FPJC-539)
  * Fix several minor UI issues (FPJC-309, 547, 445, 472, 495, 517, 514, 520, 526, 503, 509, 527, 528, 546)

2016/02/06, Version 5.1.3-Sp25
----------------------------------
  + Add UI so Service can wipe SPI-Flash data 

2016/02/05, Version 5.1.2-Sp25
----------------------------------
  + Enable power-off while system halted by memory error (FPJC-308)
  * Double Heap memory to avoid software crash (FPJC-365, it is a temp solution)
  * Fix ntu error flags issue in read log(FPJC-369)
  * Fix wrong touch state detection at startup (FPJC-336)
  * Fix test item result error in data log during factory test (FPJC-515)
  * Fix some minor UI issues (FPJC-378, 423, 452, 498, 506, 510)
  
2016/02/02, Version 5.1.1-Sp25
----------------------------------
  + Add icons for each specific USB devices (FPJC-500)
  * Fixed some minor UI issues (FPJC-423, 497, 499)

2016/02/01, Version 5.1.0-Sp25.2238 (Beta release)
----------------------------------
  + Add USB CDC class for bi-direction communication (FPJC-42)
  + Add sleep mode when pressed power button (FPJC-105)
  * Aligh Abs & Transmission measurement to UM (FPJC-178)
  * Synchronize Lamp status with UI (FPJC-226)
  + Add qwerty keyboard for all input (FPJC-246)  
  + Add calibration stand check program (FPJC-311)
  * Replace Degree algorithm with 2-points methods (FPJC-470)
  + Add Factory Coefficient file for backup and recover (FPJC-485)  
  * Improve sample ID edit performance (FPJC-390)
  * Change max operator numbers from 10 to 30
  * Fix several minor bugs (FPJC-244, 364, 369, 370, 376, 373, 455, 463, 481, etc.)
  
2015/12/21, Version 5.0.1-Sp24.2188
----------------------------------
  * Fix can not save configure data issue.

2015/12/18, Version 5.0.0-Sp24.2185
----------------------------------
  + Add beep in factory final inspection(FPJC-492).
  + Use calibration samples to verify in service hardware check(FPJC-430)
  + Add XML format support for send data log(FPJC-7).
  + Add RESKIN SDK library (lib-h2o.a) for better reuse
  + Add RESKIN CMSIS library (lib-cmsis.a) for better reuse 
  + Add SIP-10 UI controller and related driver (FPJC-179)
  + USB barcode scanner driver for UI (FPJC-402)
  + USB Host HID-Boot class driver (FPJC-11)
  + Add Absorbance and Transmission measurement function (FPJC-178)
  + Add automatically firmware upgrade function by UI operation (FPJC-68)
  + Add custom curve configuration page (FPJC-391) 
  + Add adapter configuration page (FPJC401).
  * Fix UI sound setup page to support beeper only (not audio) (FPJC-104)  
  * Support malloc and wchar_t for unicode programming (FPJC-30)
  * Avoid software crashes by adding mutex protection to SPI Flash driver (FPJC-200)
  * Optimize system settings read-write performance (FPJC-173)
  * Fix NIS un-stable reading issue (FPJC-426)
  * Fix several other bugs listed in issue Beta Refactoring (FPJC-177)
  
2015/12/03, Version 4.10.8-Sp23.2133
----------------------------------
  * Fix issues in delete and import sample IDs (FPJC-390, FPJC-177)
  * Fix several UI bugs (View List button error, Add sample Number after measurement).
  * Change UI about page items.

2015/11/25, Version 4.10.7-Sp23.2114 (pre-Beta release)
----------------------------------
  + Update Printer and USB disk status in peripherals page(FPJC-411)
  * Fix send data log crash issue(FPJC-417).
  * Fix wrong memory statistic method which could halt the UI (FPJC-308)
  * Add USB device volume management code (FPJC-340)

2015/11/20, Version 4.10.6-Sp23.2101
----------------------------------
  * Fix USB failed issue while data logging during continuous reading (FPJC-340)
  + Add SIP-10 USB class driver (FPJC-184)

2015/11/06, Version 4.10.5-Sp22.2069
----------------------------------
  + Add supper user password 1308
  * Fix Service page bugs (FPJC-348) for beta production
  
2015/11/01, Version 4.10.4-Sp22.2043 (beta unit fabrication) 
----------------------------------
  + Add USB thermal printer class driver (FPJC-41)
  + Add new touch IC driver (FPJC-354)
  * Fix one PEG bug when doing memory de-allocation
  * Fix several memory leakge issues. 
  * Fix Service page bugs (FPJC-348)

2015/10/23, Version 4.10.2-Sp22.2005
----------------------------------
  * Fix UI bugs listed on Sp22 backlog
  + Add test-mode function to support PCBA production

2015/10/12, Version 4.10.1-Sp22.1960 
----------------------------------
  + Add service Page (FPJC-168)
  + Add Self check at power on page (FPJC-49)
  + Add sample ID import and data log export (FPJC-7)
  + Add calibration & verification & service reminder ( FPJC-120, FPJC-108)
  + Add C++ file stream library based on FATfs.
  * Refine calibration "Cancel" feature, that only abort current step (FPJC-293)
  
2015/10/09, Version 4.10.0-Sp22.1933 
----------------------------------
  * Fix several UI bugs and release for Service page merge

2015/09/25, Version 4.9.6-Sp21.1919 
----------------------------------
  * Fix NIS reading while using Single Point Calibration curve (FPJC-343)
  * Fix simulator accumulated errors, now it recovers normal 
  * Refactoring Verification related UI (FPJC-341)
  * Fix read log not work issue (FPJC-224, 307)
  * Fix NIS UI for not displaying any Ratio related elements
  + Add abs/Trans UI (FPJC-178)
  
2015/09/22, Version 4.9.5-Sp21 
----------------------------------
  + Add European pharmacopeia method (FPJC-164)
  + Add compensation equation for ANIS model (FPJC-339)
  
2015/09/18, Version 4.9.4-Sp21.1900 
----------------------------------
  + Add bubble rejection function (FPJC-223)

2015/09/16, Version 4.9.3-Sp21 
----------------------------------
  + Add UI feedback icon for USB detection
  + Support arbitrary USB ports for storage purpose
  + Support Lid detection for IS model (FPJC-191)
  * Fix several UI bugs
    
2015/09/15, Version 4.9.2-Sp21 
----------------------------------
  + Support multiple calibration curve (FPJC-302)
  + Support Degree measurement (FPJC-165)
  + Support UI average period setting (FPJC-220) 

2015/09/08, Version 4.9.1-Sp21 
----------------------------------
  + Add new HACH logo at startup (FPJC-199) and release to PM (US).

2015/09/07, Version 4.9.0-Sp21 
----------------------------------
  * Use old SPI driver instead for issue FPJC-335
  
2015/08/27, Version 4.8.5-Sp20 
----------------------------------
  * Fix SPI Flash driver that making disk write invalid
  
2015/08/25, Version 4.8.4-Sp20.1841 
----------------------------------
  + Add OS heap dump when crash
  + Merge branch fpjc152 to trunk

2015/08/21, Version 4.8.3-Sp20
----------------------------------
  + Add new RTT debug port for printf
  + Add RST test cases

2015/08/17, Version 4.8.2-Sp20
----------------------------------
  + Enable heap_5 for memory allocation acrossing different RAM
  * Refactor JSON file disk-flush action to async style

2015/08/12, Version 4.8.0-Sp20
----------------------------------
  * Transfer USB library to ST's solution from Open-source solution (FPJC-257)
  + Add dual USB host port support (FPJC-152)
  * Upgrade ST's BSP driver to the latest v1.3.2 version.
  * Upgrade FreeRTOS to v8.1.2 from v7.4.2
  + Add ARM CMSIS RTOS wrapper
  * Downgrade CPU clock to 168MHz and LCD to 24MHz due to confliction with USB 

2015/08/03, Version 4.7.4-Sp20.1806 (Release for EMC check)
----------------------------------
  * Downgrade CPU clock to 168MHz and LCD clock to 24MHz 
  * Fix several UI bugs

2015/07/28, Version 4.7.3-Sp19
----------------------------------
  * Adjust RGB timing, removing HSYNC & VSYNC delay and use DE only
  * Adjust CPU clock to 180MHz (from 168MHz) and LCD clock to 26MHz (from 24MHz)
  * Optimize LCD on/off control timing according to AMPIRE's technical instruction

2015/07/23, Version 4.7.2-Sp19.1746
----------------------------------
  * Fix potential NIS model's turbidity calculation method when under 40NTU
  * Fix UI custom calibration that add DI for all range except single point
  * Optimize LCD power on timing by delay turning back light on
  + Add HACH logo at startup to wrok-around the LCD flicking issue (v4.7.2h)

2015/07/10, Version 4.7.1-Sp19.1713
----------------------------------
  + Add dual buffer driver for modal window display (FPJC-26)
  + Fix UI un-expected gray-out behavior in some modal window (FPJC-271)
  + Add DMA2D driver for LCD memory copy, but not enabled due to BUS conflict (FPJC-26)
  + Add UI limitation to custom calibration point value and range (FPJC-138)
  + Add UI instruction widget (FPJC-303)   
  + Add UI side bar up and down widget (FPJC-298)
  * Fix several UI bugs (See sub tasks of FPJC-54)
  
2015/07/01, Version 4.6.6-Sp18
----------------------------------
  + Add turbidity verification function (FPJC-278)
  + Add custom calibration function (FPJC-118)
  + Add turbidity RST function (FPJC-9)
  + Add sipper UI pages (FPJC-179)  
  * Refine UI font and fix several UI bugs (FPJC-54)
  * Fix JSON memory leakge issue

2015/06/24, Version 4.6.2-Sp18
----------------------------------
  * Fix several minor bugs in UI
  * Fix LCD snowing issue by removing hardware diether function
  - Disable verify function because it is not complete 

2015/06/18, Version 4.6.0-Sp18
----------------------------------
  + Support gray out the background window (FPJC-205)
  + Add multipe hardware surface support to LCD screen driver (FPJC-26) 
  + Add qwerty keyboard widget
  + Add PEG print support and external usb thermal printer template.
  + Add UI pages for sample import from external file.
  - Remove dma2d function which will lead screen blink in multiple surface mode
  * Fix wrong turbidity display format
  * Disable others buttons except cancel button when reading.
  * Other UI bug fix.  

2015/06/04, Version 4.5.6b-Sp18
----------------------------------
  + Support bootloader
  
2015/05/27, Version 4.5.6-Sp17
----------------------------------
  * Fix memory conflict issue by use safe string operation api
  * Fix UI bugs in Setup page (FPJC-177)
  * Fix wrong turbidity calculation on NIS model (FPJC-163)

2015/05/25, Version 4.5.4-Sp17
----------------------------------
  * Fix several UI bugs, primary in Login and Sample page (FPJC-177)
  * Optimize turbidity calculation flow for N model (FPJC-163)
  + Add custom calibration pages (FPJC-138)
   
2015/05/06, version 4.4.4-Sp16
----------------------------------
  + Log filter feature (FPJC-23)
  + Log detail page defined in FPJC-131
  + Support FNU, FAU and EBC algorithm (FPJC-163)
  
Instructions:
==================================

Q1. How to test different model on simulator?
----------------------------------
 a) Open logger/sys*.jso
 b) Change the value to "model" to an integer number as below:
    
     0, means AN
     1, means N
     2, means AN IS
     3, means N IS
    
Q2. How to program MCU?
----------------------------------
 a) For a totally new MCU, use JLink to burn the bootloader first. 
  i) Launch JFlash, open project file hex/STM32F429II.jflash
  ii) Open image file hex/reskin_bootloader.hex
  iii) Connect MCU, Erase chip, Program&Verify, Start Application
 b) If bootloader is available.
  i) Prepare a USB memory stick, copy hex/image.BIN to the root directory of stick.
  ii) Plug in the USB memory stick to rear USB port.
  ii) Press and hold power key for about 5 seconds until yellow LED is on.
  iii) When the LED is off, un-plug the USB memory stick and press power key.
