------------------------------------------------------------------------------

            Change Log for the Component Tester firmware (m-firmware)

                       (c) 2012-2020 by Markus Reschke

------------------------------------------------------------------------------

v1.42m 2020-12
- Updated 6x8 fonts (thanks to Bohu).
- New ISO8859-2 based 6x8 font (FONT_6X8_ISO8859_2_HF, thanks to Bohu).
- Added LC meter hardware option (HW_LC_METER). It's based on a simple LC
  oscillator circuit, similar to some inexensive LC meter kits.
- Changed Display_Value() to support also fempto (f).
- When CYCLE_MAX is set to 255 the automatic power-off is disabled and the
  tester keeps running until it's powered off manually.
- Fixed issue with display of strange frequencies in the extended frequency
  counter in a specific situation (reported by Szybkijanek@EEVblog).
  Also changed display output of a missing signal or a too low frequency from
  '0Hz' to '-'.
- The basic counter displays now a '-' instead of '0Hz' in case of a missing
  signal or a too low frequency.
- Added option to display I_C/I_E test current for hFE measurement (
  SW_HFE_CURRENT, suggested by Obelix2007@EEVblog). Also added corresponding
  remote control commands (I_C and I_E).
- Added Romanian texts (thanks to Dumidan@EEVblog).
- Added configuration switch for ESR tool (SW_ESR_TOOL, suggested by
  indman@EEVblog).
- Changed text output of E series norm values to also display unit (suggested
  by indman@EEVblog).
- Updated alternative Polish texts (thanks to Jacon@EEVblog).
- Last textline on display was simply overwritten when UI_KEY_HINTS is
  enabled (reported by Obelix2007@EEVblog). Added function to wait for user
  feedback before clearing last line.
- Updated Spanish texts (thanks to pepe10000@EEVblog).
- Corrected error in "#define" for E96 norm values (reported by
  Obelix2007@EEVblog).
- Added driver for ILI9488 based displays (8/16 bit parallel and 4-line SPI,
  thanks to Bohu for a sample display).

v1.41m 2020-09
- New remote command "MHINT" for hints about measurements (at the moment just
  the test circuit type for h_FE).
- Added auto mode (automatic update) to DS18B20 tool (suggested by
  Obelix2007@EEVblog).
- Added additional discharge function to resolve ESR issue on some tester
  clones (reported by indman@EEVblog). ESR value was way too high for cap
  >= 470µF connected to probes #1 and #2, in ESR tool, C monitor and RCL
  monitor. And for cap >= 4700µF in all modes. Affected testers are Hiland
  M644 and TC-1 variants.
- Updated degree character in font_16x26_hf.h and font_16x26_iso8859-2_hf.h (
  changes provided by Bohu).
- Driver for OLED controller SH1106 (3-wire SPI, 4-wire SPI and I2C; thanks
  to Old-Papa for providing a sample display).
- Fixed issue with missing setup of optional /RES line for I2C in SSD1306
  driver.
- Added output of test circuit type for hFE.
- Changed output of hexadecimal values to lowercase by default and added
  switch to enable uppercase (UI_HEX_UPPERCASE).
- Option for OneWire related tools to also read and display the ROM code (
  ONEWIRE_READ_ROM, suggested by indman@EEVblog).
- Swapped DQ and Vcc probes for OneWire bus to match sensor pinout (suggested
  by indman@EEVblog).
- Added detection for Schottky-clamped BJTs (SW_SCHOTTKY_BJT).
- Improved detection of depletion mode FETs by adding filter for Schottky-
  clamped BJTs. 
- Optimized text line management for clearing the display. 
- Added special display driver for identifying display controllers.
- Added R/C/L monitor (SW_MONITOR_RCL, suggested by indman@EEVblog).
- Fixed problem with jumping inductance values in L and R/L monitor (reported
  by indman@EEVblog).
- Added measurement of V_GS(off) for depletion-mode FETs (suggested by
  joshto@EEVblog). Also added "V_GS_off" command to remote command option.
- Added support for 8-bit parallel bus to ILI9341 driver. Also added a
  configuration switch for ILI9341 with diabled extended command set (
  LCD_EXT_CMD_OFF, thanks to Bohu for providing a sample display).
- Added 16x26 cyrillic font (FONT_16X26_WIN1251_HF, provided by
  Yuriy_K@VRTP.RU).
- Fixed missing µ (micro) in multiple ISO8859-2 fonts (reported by
  indman@EEVblog and Obelix2007@EEVblog).
- Fixed transposed digits for ATmega 2560 in Makefile (reported by Bohu).
- Colored battery status for color displays (suggested by indman@EEVblog).
- Replaced alternative 8x16 win1251 font with an updated version provided by
  indman@EEVblog.
- Fixed issue with validity check of low value resistors in CheckResistor() (
  reported by indman@EEVblog).
- Updated SmallResistor(), MeasureInductance() and GetGateThreshold() to
  support ADC_LARGE_BUFFER_CAP.
- Added missing update of ADC reference source to MeasureInductance() and
  GetGateThreshold().
- Added option to select the adjustment profile after powering on (
  UI_CHOOSE_PROFILE, suggested by Bohu).
- Added dedicated monitoring tools for resistors and inductors (SW_MONITOR_R,
  SW_MONITOR_L, suggested by indman@EEVblog).
- Updated Spanish texts (thanks to pepe10000@EEVblog).

v1.40m 2020-07
- Fixed error in SSD1306 driver which caused component symbols placed wrongly
  (reported by Andrei Paul).
- Changed avrdude configuration in Makefile to be more user friendly and to
  allow customized options.
- Added drivers for ILI9481 and ILI9486 based displays (8 and 16 bit parallel).
  Thanks to Bohu for providing an ILI9486 based display for testing.
- Fixed logic error for color displays when color feature is disabled.
- Added configuration switch for color displays to swap red and blue color
  channels (LCD_BGR).
- Improved R/L monitor to reduce spread of measurement values (reported by
  indman@EEVblog). Might not help in all cases.
- Fixed "#ifdef" issue for Display_HexByte() and Display_HexDigit() (reported
  by AlcidePiR2@EEVBlog).
- Support for ATmega 640/1280/2560. Thanks to Bohu for providing an Arduino
  Mega 2560 for testing.
- The detection of the rotation direction in ReadEncoder() was reversed.
  Changed to correct direction and updated settings in config_<MCU>.h and
  Clones.
- Fixed initialisation issue for hardware SPI. Also fixed some faults
  in SPI_WriteRead_Byte() and I2C_ReadByte() for bit-bang mode.
- Added alternative mode to Zener check in case the boost converter runs
  always or the circuit hasn't one (ZENER_UNSWITCHED, suggested by
  indman@EEVblog).
- Configuration switch for 100nF AREF buffer cap instead of 1nF to deal with
  some MCU boards (ADC_LARGE_BUFFER_CAP).
- Added alternative cyrillic fonts 8x16 (FONT_8X16ALT_WIN1251_HF) and 8x8 (
  FONT_8X8ALT_WIN1251_VF, thanks to indman@EEVblog).
- Updated Russian texts (thanks to indman@EEVblog).
- Option to use a manual power switch instead of the default soft-latching
  one (POWER_SWITCH_MANUAL).
- Added detection of two short presses of the center bar in ReadTouchScreen().
- Fixed fault in Touch_CharPos() regarding TOUCH_FLIP_X/TOUCH_FLIP_Y (reported
  by Bohu).  
- Replaced some ISO8859-2 fonts with updated versions provided by Bohu.
- Option for checking resistors for E series norm value (SW_R_E*). Also
  for capacitors (SW_C_E*) and inductors (SW_L_E*). Optional output of
  color code for resistors (requires color graphics display).

v1.39m 2020-03
- Added Polish texts based on ISO 8859-2 (Thanks to Jacon).
- Fixed issue with preprocessor macro in SPI.c and syntax error in ADS7843.c
  (reported by Bohu).
- Added option to store firmware data to Flash instead of EEPROM (DATA_FLASH,
  suggested by Vitaliy).
- Renamed cyrillic fonts to "win1251" and replaced Czech fonts with
  ISO8859-2 fonts provided by Bohu.
- Display of font for test purposes (SW_FONT_TEST).
- OneWire scan tool for listing ROM codes of connected devices
  (SW_ONEWIRE_SCAN).
- Option for probe-pair specific resistance offset (R_MULTIOFFSET,
  suggested by Vitaliy).

v1.38m 2019-12
- Optional rounding of temperature value for DS18B20 (UI_ROUND_DS18B20,
  suggested by Obelix2007@EEVblog).
- Support for DHT11, DHT22 and compatible sensors (SW_DHTXX, thanks to
  indman@EEVblog and Obelix2007@EEVblog for testing).
- Added two thin cyrillic fonts (Thanks to Andrey@EEVblog).
- Changed output of BJTs to show V_BE and hFE also in case of a B-E resistor.
  Adapted remote commands accordingly as well.
- Added alternative Czech texts and several fonts with Czech characters (thanks
  to Bohu).
- Added tools for monitoring R/C/L on probes #1 and #3 (SW_MONITOR_RL and
  SW_MONITOR_C, suggested by indman@EEVblog).
- Added option for trigger output for event counter (suggested by Bohu).
- Updated Czech texts (thanks to Bohu).
- Added option to disable hFE measurement with common collector circuit and
  Rl as base resistor (NO_HFE_C_RL) to cope with some testers (issue
  reported by Obelix2007@EEVblog).
- Added option to output Zener voltage in high resolution (ZENER_HIGH_RES,
  suggested by Andbro@EEVblog).
- Improved OneWire_Probes() to minimize misdetection.
- Updated Russian texts (thanks to indman@EEVblog).
- Updated Spanish texts (thanks to pepe10000@EEVblog).

v1.37m 2019-09
- Fixed error in DS18B20_Tool() when ONEWIRE_IO_PIN is enabled (reported by
  Bohu).
- Fixed issue with display of error message on color displays when the 
  watchdog is triggered.
- Added new tool: event counter (HW_EVENT_COUNTER, suggested by Bohu).
- Changed the basic frequency counter to use TestKey() for user feedback.
  Exit counter by two short key presses (was single press).
- Added option to show reverse hFE for BJTs (SW_REVERSE_HFE, suggested by
  towe96@EEVblog). Also added "h_FE_r" command to remote command option.
- Added bitclock setting (BITCLOCK) for avrdude in Makefile (suggested by
  Bohu).
- Resolved issues with TRIAC detection in case of too high I_GT in Q3 or too
  high I_H (I_GT issue reported by petroid).
- Moved texts Tester_str, PWM_str, Hertz_str and CTR_str to language specific
  header files (suggested by indman@EEVblog).
- Changed output of frequency values to use common unit string instead of
  of split "H" and "z".
- Added option to display key hints (UI_KEY_HINTS), currently just
  "Menu/Test" (suggegsted by carrascoso@EEVblog).
- Updated Polish texts (thanks to szpila@EEVblog). 
- Updated Russian texts (thanks to indman@EEVblog).
- Updated Spanish texts (thanks to pepe10000@EEVblog).

v1.36m 2019-05
- Added optional 6x8 font to ST7565R driver.
- Added optional mainmenu item to power off tester (SW_POWER_OFF).
- Integrated battery monitoring into TestKey() and Zener_Tool().
- Added detection of two short presses of the test key to TestKey() and removed
  redundant functionality in multiple functions to reduce firmware size.
- Driver for ST7036 based displays (4-bit parallel & 4-wire SPI, untested).
- Moved power control and battery monitoring to dedicated functions for
  better integration with other functions.
- Driver for PCF8814 based displays (3-line SPI, thanks to Mahmoud Laouar
  for testing).
- Driver for STE2007/HX1230 based displays (3-line SPI).
- Fixed bug in LCD_Clear() of PCD8544 driver.
- Added missing cyrillic font to ST7565R driver (reported by Andrey@EEVblog).
- Updated font_8x16_cyrillic_vfp.h (thanks to Andrey@EEVblog).
- Fixed issue with bad character in font_HD44780_cyr.h.

v1.35m 2019-02
- Added option to use probe pair specific capacitance offsets instead of
  an average offset for all probes (CAP_MULTIOFFSET).
- Corrected pin definition for ST7920 4-bit parallel mode in config_644.h
  (reported by jakeisprobably@EEVblog).
- Added support for 3-wire SPI to SSD1306 driver.
- Extended SPI driver to support sending 9 bit frames (bitbang only).
- Fixed issue with increasing deviation of resistors between 7k5 and 19k5 Ohms
  in CheckResistor() (reported by Vitaliy).
- Added alternative delay loop in IR_Send_Pulse() which is enabled by
  SW_IR_TX_ALTDELAY (thanks to Vitaliy).
- The configuration switch for additional IR protocols SW_IR_EXTRA was
  replaced by SW_IR_RX_EXTRA for the receiver/decoder and SW_IR_TX_EXTRA
  for the sender.
- Fixed issue with missing newline in Display_NextLine() for remote commands.
- Changed output for SIRC in IR_Decode() to reflect native protocol
  (suggested by Vitaliy).
- Fixed bug in IR_Send_Code() for SIRC-20 (reported by Vitaliy).
- Updated var_russian.h (thanks to indman@EEVblog).
- Added automatic power-off for auto-hold mode (POWER_OFF_TIMEOUT).
- Separated pin configuration for test push button and power control
  (CONTROL_PORT -> POWER_PORT and BUTTON_PORT).
- Several minor improvements.

v1.34m 2018-10
- Added leakage check for capacitors.
- Changed default value for RH_OFFSET to 350 Ohms. 
- Fixed missing menu entry for fixed IR receiver module.
- Polish texts (thanks to Szpila).
- Display driver for output via VT100 serial terminal.
- Support for temperature sensor DS18B20.
- Driver for OneWire bus.

v1.33m 2018-05
- Fixed orientation of TRIAC symbol in symbols_32x32_hf.h.
- Added remote commands for automation (via TTL serial).
- The x & y offsets for the ST7735 driver can be changed now.
- Entering the menu by a short circuit of the probes is an option now 
  (UI_SHORT_CIRCUIT_MENU).
- Fixed problem with discharge relay when using rotary encoder.
- Added configuration switch to disable MCU sleep modes.
- Added RX support to TTL serial driver (bit-bang & hardware USART).
- Fixed error in serial text output and added serial output for results of
  the optocoupler check.
- Danish texts (provided by glenndk@mikrocontroller.net) 
- Settings for capacitor correction factors.

v1.32m 2018-02
- Additional output of components found to TTL serial interface.
- Driver for TTL serial interface (hardware and bit-bang).
- Updated var_russian.h (thanks to indman@EEVblog).
- Added support for X&Y offsets to ST7735 driver.
- Changed configuration of battery monitoring. Added switches to disable
  battery monitoring and to support an unmonitored external power supply.
- Added configuration switch to reverse operation mode selection at startup
  (UI_AUTOHOLD).
- Improved filter for Germanium BJTs with high leakage current in detection 
  function for depletion mode FETs.
- Added fancy pinout to PCD8544 driver. Also fixed error in the PCD8544
  driver's function LCD_CharPos() for rotated output.
- Improved functions for fancy pinout of 3-pin semiconductors and moved some
  functions to display.c. Output of pinout on separate screen if required.
- Added indicator for usage of external voltage reference (Show Values).
- Improved IR decoder and added optional protocols.
- Added more protocols to IR RC transmitter.

v1.31m 2017-12
- New tool: IR RC transmitter.
- Added support for dedicated signal output via OC1B, when OC1B isn't used
  for test pin #2's probe resistor.
- Changed battery monitoring settings to support also other power options.
- Driver for SSD1306 based graphic OLED modules.
- Color support for item selection (menues and tools).
- Driver for ILI9163 based graphic color LCD modules.
- Fixed tiny issue in squarewave signal generator.
- Added support for 180° rotated output to PCD8544 LCD driver.
- Fixed edit error in Servo_Check().

v1.30m 2017-10
- Option to use comma instead of dot to indicate a decimal fraction.
- Support for extended frequency counter (buffered frequency input, LF
  crystal, and HF crystal).
- Minor improvements for basic frequency counter.
- Fixed gate time issue in frequency counter for frequencies below 10kHz when
  the MCU runs at 20MHz. 
- Modified ESR measurement to support a shorter charging pulse, i.e. ESR can
  be measured for caps starting at 10nF. If you prefer the old method, you can
  enable that one alternatively.
- Fixed bug in the probes' short circuit detection.
- Added supported for 180° rotated output to ST7920 LCD driver.

v1.29m 2017-07
- Added touch screen support and driver for ADS7843 compatible touch
  controllers.
- Fixed bug in contrast setting for PCD8544.
- Fixed silly error in CheckSum().
- Driver for ST7920 based LCD modules with 64x128 pixels.
- Optimized SmallResistor() and changed detecton logic in CheckResistor()
  to cope better with low value resistances and possible probe contact
  issues.
- Changed control logic and treshold for Darlington BJTs in Get_hFE_C() to
  fix issue with some NPN types.
- Global driver for SPI bus. Modified display drivers and configuration
  accordingly.
- Italian text provided by Gino_09@EEVblog.
- Support for HD44780 with Cyrillic font by hapless@EEVblog.

v1.28m 2017-04
- Increase/Decrease push buttons as alternative for a rotary encoder (
  HW_INCDEC_KEYS).
- Added reset to default frequency to squarewave generator.
- Further improvements of the detection of the rotary encoder's turning
  velocity (ENCODER_STEPS). Also changes to functions making use of the
  turning velocity.
- Added reset to default values to alternative PWM generator.
- Russian text provided by indman@EEVblog (only 8x16 font, horizontally
  aligned)
- Added support for fixed cap for self adjustment of voltage offsets.
- Fixed potential bug in the V_ref offset handling in SmallCap().
- Added configuration switch for ST7735 based displays to start with a
  cleared display (no random pixels).

v1.27m 2017-02
- Added high current meassurement to GetLeakageCurrent() for CLDs.
  Thanks to texaspyro@EEVblog for sending a few sample diodes.
- Fixed bug in MilliSleep().
- Fixed issue with large inductance in diode detection.
- Compensation for inductance measurement in the mH range.
- Support for PCF8574 based LCD backpacks in HD44780 driver.
- Driver for bit-bang and hardware I2C.
- Fixed bug in the handling of the variable pin assignment for HD44780
  based displays.
- Color support for probe pinout of several tools. 
- Check function for RC servos.
- Alternative PWM generator with variable frequency and ratio. Requires
  rotary encoder and large display.
- Output of R_DS for MOSFETs and Vf for their body diode.
- Support for fixed IR receiver module in IR RC detector/decoder.
- Dropped edition in name, because the Classic edition is obsolete by now.

v1.26m 2016-12
- Added compensation for inductance measurement (more work required).
- Added Spanish texts. Translation provided by pepe10000@EEVblog.
- Changed FrequencyCounter() to support also ATmega 324/644/1284. 
- Fixed problem in inductance measurement logic. Reported by indman@EEVblog.
- Fixed error in voltage reference handling for ATmega 324/644/1284.
- Improved detection of turning velocity of rotary encoder to cope with
  different values of pulses per step or detent.
- Added hardware SPI to all drivers for SPI based displays.

v1.25m 2016-09
- A lot of changes to support the ATmega 324/644/1284.
- Modified test resistor management to support variable port pins.
- Added software option for probe color coding. 
- Centralized color management.
- Added file listing settings for various tester versions/clones.
- Fixed small issue with 24x24 VP symbol bitmap in config.h. Reported by
  lordstein@EEVblog and hapless@EEVblog.

v1.24m 2016-08
- Measurement of self-discharge leakage current for caps > 4.7µF.
- Added type detection logic for BJTs with diode on the same substrate.
- Improved leakage current measurement to support currents in the nA range.
  The leakage will be shown for diodes and BJTs, when it's larger than 50nA.
- Improved the display of instrinsic/flyback diodes for transistors to check
  for the proper diode (pins and polarity). 
- Fixed an error in the display of a BJT's flyback diode.
- Added a function for searching a specific diode and adapted several
  functions to use the new diode search instead of the old local search.
- Improved detection of diodes to support also Germanium types with very low
  Vf at low currents.
- Fixed problem with LCD_ClearLine(0) for ILI9341 and ST7735.
- Improved detection of depletion mode FETs to exclude Germanium BJTs with
  high leakage current. Added detection of FETs with low I_DSS. Added
  measurement of I_DSS. 

v1.23m 2016-07
- Added support for PCD8544 and ST7735 based LCD modules. Thanks to
  hansibull@EEVblog for sponsering a PCD8544 display.
- Extended wait.S for 20MHz MCU clock.
- Changed MeasureESR() to support also non 125KHz ADC clocks.
- Added detection of PUTs (Programmable Unijunction Transistor) and
  UJTs (Unijunction Transistor). Thanks to edavid@EEVblog for sending
  some UJTs for testing.
- Minor code optimization for ILI9341 and ST7565R.
- Fixed multi-page font problem for ST7565R, again.
- /RES port pin assigned for ILI9341 was ignored. Fixed that and also
  wrong delays for hardware reset. 
- Support of individual data lines for HD44780 based LCD displays. 
- Support user-defined resistor divider for battery voltage.
- Added output of If for opto couplers.
- Changed probe pins of ESR tool to 1-3 to be compatible with k-firmware.
- Moved MCU specific global settings to dedicated header files. Several minor
  changes to add support for ATmega664/1284.
- Updated Czech texts, thanks to Kapa.

v1.22m 2016-03
- Added opto coupler check with display of the LED's V_f, the CTR and t_on/
  t_off delays (BJT types). Thanks to all_repair@EEVblog for some samples.

v1.21m 2016-01
- Licensed under the EUPL V.1.1
- Improved storage managment of adjustment values and added support for
  two adjustment profiles.
- Added detection and decoding of RC-6 to IR detector. Solved issue with
  test button when the IR receiver module is removed too early. Added
  configuration switch to disable current limiting resistor for Vs in case
  of a 5V only IR receiver module.

v1.20m 2015-12
- Added IR RC detector and decoder function (requires TSOP IR receiver
  module).
- Changed MainMenu() to reduce RAM usage.

v1.19m 2015-11
- Implemented a fancy pinout displaying symbols and probe numbers for 3 pin
  semiconductors. 
- Added color support.
- Changed ShowDiode() to output the number of diodes directy (not via 
  Show_Fail() anymore) when more than 3 diodes are found (hint by
  hapless@EEVblog).
- Extended LCD_ClearLine() in all display drivers to clear the remaining
  space of the current line to speed up things, especially for graphic
  displays The idea is to display the text first and then to clear the
  remaining space, instead of clearing the complete line and then printing the
  text.
- Added display driver for ILI9341/ILI9342 based modules. Thanks to
  Overtuner@EEVblog forum for providing two LCD modules.
- Fixed problem with µ/micro character in font files.
- Fixed character issue (when larger than 8x8) in LCD_Char() for ST7565R.
- Updated Czech texts, thanks to Kapa.
- Fixed a minor issue in MenuTool(), when rolling over from last to first
  item.

v1.18m 2015-07
- Improved MenuTool() to update items only when the list has changed.
  Otherwise just the selection indicator is updated.
- Fixed variable management bug in config.h.
- Added feature to reset to firmware defaults when powering on. 
- Optimized functions for NVRAM management (values stored in EEPROM).
- Added driver functions for ST7565R grafic modules.
- Designed a simple framework which allows to add different display modules or
  controllers. Moved high level display functions to display.c. Each controller
  got a dedicated source and header file including controller specific
  functions. Adapted old HD44780 to new framework.
- Changed UI to handle multiline displays in a flexible way.
- Removed everything specific to ATmega168 (too small ;).
- Optimized feedback processing in MenuTool().
- Forked a new firmware edition, which also supports graphic displays, named
  "Trendy Edition". The old firmware is called "Classic Edition" now.

v1.17m 2015-02
- Improved CheckDiode() to support measured Vcc in resistor check and fixed
  detection issue for resistors around 2k if the optional DC/DC boost
  converter is installed (HW_ZENER).
- Fixed some incorrect comments.
- Cleaned up integer data types.

v1.16m 2014-09
- Added test for rotary encoders.
- Fixed some minor issues in MeasureInductance() to increase accuracy.
- Changed ShowAdjust() to display absolute value of Vcc and the internal
  bandgap reference (suggestion from Vlastimil Valouch).
- Some minor improvements.

v1.15m 2014-09
- Improved TestKey() to detect the dynamic turning velocity of a optional
  rotary encoder.
- Added a squarewave signal generator with variable frequency.
- Changed MeasureInductance() to return time in ns and adapted processing
  in MeasureInductor() (thanks to Vlastimil Valouch).

v1.14m 2014-08
- Changed user interface for rotary encoder.
- Fixed compiler warning about R_Pin2 in ShowDiode() (thanks to Milan Petko).
- Resistors between 1.5k and 3k Ohms were detected as double diodes. Changed
  tolerance of resistor test in CheckDiode() (thanks to nessatse).
- Modified ShortCircuit() to allow user to abort creating a short circuit in
  case of any problem.
- Added frequency counter (hardware option).

v1.13m 2014-07
- Added Czech texts, thanks to Kapa.
- ESR and PWM tools display the probes pins used.
- Improved handling of pre-compiler directives for extra features.
- Added support for rotary encoders for the user interface.

v1.12m 2014-03
- Fixed umlaut problem for German UI (thanks to Andreas Hoebel).
- Added ESR measurement for capacitors >0.18µF.
- Optimized display output handling to save some bytes Flash. 

v1.11m 2014-03
- Improved pinout detection for Triacs (G and MT1) and changed display
  to report MT1 and MT2.
- Added pinout display function for semiconductors and changed output to
  "123=" style for better readabilty.
- Optimized several component output functions.
- Improved the BJT check to detect transistors with a built-in freewheeling
  diode on the same substrate (creating a parasitic BJT). The BJT output
  prints a '+' behind the BJT type for such transistors.
- Modified diode display to support possible BJTs with protection diode and
  low value B-E resistor. Those are detected as dual diodes. The B-E resistor
  will be shown to signal that special case.
- Modified BJT display to support base-emitter resistors. If a B-E resistor is
  found hFE and V_BE will be skipped since both values can't be measured in a
  reasonable way in that case. 
- Improved diode test to detect body diodes of dep-mode FETs.
- Fixed detection problem of drain and source for depletion-mode FETs.
- Added detection of symmetrical drain and source for depletion-mode FETs.
- Vth is negative for p-channel FETs now.  
- Added measurement of V_GT for SCRs and Triacs.
- Due to flash size constraints the PWM tool is now available for the 
  ATmega328 only.

v1.10m 2013-10
- Added support for external 2.5V voltage reference (hardware option).
- Added support for relay based cap discharging (hardware option).
- Changed good-bye message into welcome message to help to detect problems
  with the brown-out voltage of the MCU and to mitigate a voltage drop
  caused by an optional DC boost converter at startup.
- Added Zener tool (hardware option).
- The main menu got an exit function in case the menu was entered by mistake.
- Support of 16MHz MCU clock.

v1.09m 2013-07
- Added IGBT detection.
- Added a sanity check for MOSFETs.
- The hFE measurement for BJTs considers the leakage current in common emitter
  configuration.
- For MOSFETs the direction of the intrinsic diode is shown.
- Fixed problem with swapped drain and source pins for enhancement mode
  MOSFETs.
- Added workaround for Makefile problems with some IDEs. Some important Values
  can be defined in config.h too.

v1.08m 2013-07
- Since the SmallResistor() measurement can't give correct DC resistance
  values for some inductors a problem detection was added to CheckResistor()
  to keep the original high resistance measurement result.
- Added inductance measurement (ATmega328/P only)
- Minor improvements for the display of diodes and BJTs.
- Added leakage current measurement.
- Fixed problem with germanium BJTs with a high leakage current. They were
  detected as p-channel JFETs.
- Renamed some functions, clarified and added some remarks.

v1.07m 2013-06
- Optimized diode display function and added display of low current Vf.
- Improved the diode detection. Caps and resistors are excluded much better.
  Also the cap probing is skipped for diodes to speed up probing.  
- Fixed an array overflow bug in CheckResistor().
- Improved cursor display logic to tell user if another information follows
  or the probing loop is reentered.
- Improved UI of PWM tool to prevent exit by mistake (double key press
  required now).
- Added a generic menu function and adapted all menus (changed layout!).
- TestKey() provides a nice blinking cursor now.

v1.06m 2013-03
- Several minor improvements and cleanups.
- Expanded TestKey() to inform the user about an expected key press.  
- Improved TestKey() function to be more responsive for short key presses.
- Added a PWM tool to generate a PWM signal with different frequencies and
  duty ratios.
- Implemented a sleep function to reduce power usage of the tester.
  On average the power usage is nearly halfed (excluding the LCD backlight).
- Improved discharge function. If the discharge of a component fails, the
  concerned probe pin and the remaining voltage are displayed. That will help
  to detect a too low value for CAP_DISCHARGED.
- Added the capability to set error types

v1.05m 2012-11
- Moved LargeCap_table[] and SmallCap_table[] from EEPROM to flash to reduce
  EEPROM usage. The size for a German firmware exceeded the 512 bytes of an
  ATmega168s EEPROM.

v1.04m 2012-11
- Added a simple logic to the output function for diodes to prevent the
  measurement of capacitance for antiparallel diodes. 

v1.03m 2012-11
- Fixed detection problem of power diodes with high leakage current (mistaken
  for resistors).
- Fixed compiler warnings about possible uninitialized variables. That
  increased the firmware size by about 44 bytes :-(

v1.02m 2012-11
- Added upper limit for resistance of probe leads in the self adjustment
  function (1.00 Ohms).
- Selftest and adjustment functions perform a short circuit test before
  running the main part and return feedback now.
- The mainmenu gives feedback about success/failure of the selected action.

v1.01m 2012-10
- Added a checksum for adjustment values stored in the EEPROM and wrote a
  function to validate the checksum.
- Added a measurement function for small resistors (resolution: 0.01 Ohms).
- Extended self adjustment to support an auto-zero for the resistance of the
  probe leads.
- CheckResistor() runs an extra measurement for small resistors (<10 Ohms).
- Added a function to compare two scaled values. 
- Adapted several functions to support variable scaling of values.

v1.00m 2012-09
- Added a simple menu for selection of self test, self adjustment, update of
  the adjustment values in the EEPROM and display of values.
- Changed hfe from 16 bit to 32 bit value (no 65k limit anymore).

v0.99m 2012-09
- Initial public release based on Karl-Heinz' version 0.99k.


------------------------------------ EOF -------------------------------------
