v2.40: (L236) (imu v0.36)(motor v0.39)(logger v0.38)(oled v0.10)(NTLoggerTool v0.41)
 - nt motor: TLE5012B_SPI encoder->qangle = encoder->angle << 8; like for others
 - nt motor: LPF2N added to Setup
 - nt motor: simple lpf2, isn't really a breakthrough though, not sure it helps at all => v0.39
 - uavcan of 20180716 copied over, transfer_id's corrected
 - uavcan tunnel.Broadcast support, com.h and com-hal.h extended by a comU ringbuffer, uavcan.h extended
   ignores 255 baudrate message
 - uavcan: this appears to work well, but really takes a huge toll on resources! it was 'bad' with CAN before, but was it that bad?
 - rebalanced the time stoppers for CAN and serial a bit, they work well and keep time below 1400us
 - uavcan: the standard gimbal data types don't make any sense:
           float16, and orientation is usually mixed type, p&r in fixed frame, yaw in body frame
 - uavcan: new Control, Status, Command, CommandAck added
           old NodeSpecific, NodeSpecifcAck, Statistics removed
           gimbalrate, statistics rate moved to o323bgc-uavcan.h
 - __state, __state_task renamed to main_state, main_task
 - _com_transmit(doall), com_transmit_one(), com_transmit_all() removed, doall wasn't used anymore
VERSION Released as version v2.40 on 7.Aug.2018

v2.39: (L236) (imu v0.36)(motor v0.38)(logger v0.38)(oled v0.10)(NTLoggerTool v0.41)
 - rccmd connect/disconnect for passthrough to ardupilot
 - gui: rccmd support, start of restructuring
 - gui: support of rccmd, seems to work
   doesn't work for Flashing, ScanNTBus, NTModuleCliTool, EPS8266ConfigureTool:
   these open tunnels and require the USB/UART1 port
 - gui: rccmd for connect to account for late-coming Mavlink stuff, e.. for SiK Telem channels
 - gui: gui baudarte tool to change it's baudrate, needed for e.g. SiK Telem channels
 - uavcan lib updated to latest from uc4hobby
 - uavcan parameter handling changed to default, using uc4h-common.h
 - added uavcan parameter Debug to replace UAVCAN_SEND_STORM32STATISTICS
   required change of Setup, but to avoid increase of LAYOUT Debug simply set to zero if >1 in sanitize
 - filter mask,id handling in canardSTM32ConfigureAcceptanceFilters() rechanged to original
   tested to work either way for uavcan messages
   required changes in djican_set_filters(), should do the correct thing, could not be tested !!!
 - makeStorm32Statistics() changed to use canardEncodeScalar_p() functions
 - use ProtocolDebugLogMessage instead of Storm32Statistics
VERSION Released as version v2.39e on 30.June.2018

v2.38: (L236) (imu v0.36)(motor v0.38)(logger v0.38)(oled v0.10)(NTLoggerTool v0.40)
 - bug: fbuf size was temporarily changed, re-set
 - qmode: changes to FLASH00, faster blink
 - gui: NT CLI tool improved, more robust, adds ';' when needed
 - gui: Scan NT bus checks for firmware versions
 - gui bug: wget-1.19.4-win32.zip resolves check for updates
 - gui: check for updates checks also beta versions, github firmware folder cleaned up
 - gui: support of 42 poles (by racermark)
 - gui bug: UsedSimplifiedPID not correctly handled at startup, just unchecked
 - esp: updated => v0.30
 - webapp: updated => v0.06
 - uart1rx,uart1tx configuration changed to only uart1configuration
   rx,tx are handled simultaneously, used for oled to have also rx available
   Setup.Uart1TxConfiguration renamed to Uart1Configuration, Uart1RxConfiguration deprecated
   Rx wasn't used, and Uart1Configuration is mapped onto Uart1TxConfiguration, so no change in SETUPLAYOUIT done
 - all stdstm32-uartX extended by setprotocol() function
 - display qmode flash option, UARTB_TXBUFSIZE increased to 128
 - gui: display upgrade via STorM32 USB added
 - OLED: flash command added, prepared for 213 => v0.10
 - LIVEDATA_STATUS_V1 deprecated
 - bug: Performance.MaxLoopdone reset only when LIVEDATA_STATUS_V2 is requested
 - oled_fill_buf_with_data() uses fill_buf_with_livedata(), made local by restructuring stuff a bit
 - SERIALRCCMD_GETDATADISPLAY renumbered from 7 to 213
 - qmode blink frequencies consistent
 - gui: FLASH00 added, required connecting NT module later to work
VERSION Released as version v2.38e on 2.June.2018

v2.37: (L236) (imu v0.36)(motor v0.38)(logger v0.38)(oled v0.09)(NTLoggerTool v0.40)
 - bug: setup_handle_parameters_change(), do a STARTUP_RELEVEL only if not in startup, else go back to STARTUP_MOTORS
 - bug: a 'xW' serial command was made ineffective when scripts use e.g. a RESTOREALL in the #DEFAULT case
        since also other parameters might have been set, the "only" way is to disable scripts
 - bug gui: system bootloader for v3.x should not use flash COM port
 - bug gui: DataDisplay IMU2 status shown in T-STorM32 mode
 - bug gui: Gimbal Config Tool didn't reconfigure when mode changed from encoder to conventional
 - nt motor: many changes in Q mode, support of move and r2 commands added =>  NT Motor v0.38
 - nt logger: qmode to read rtc =>  NT Logger v0.38
 - gui: startup time massively reduced by loading packages on demand via eval
 - gui: version in title
 - SERIALRESPONSE cases changed to use SETTASK()
 - MAININIT_Init case is not needed since init() is always called, hence removed
 - gui: first attempt of a NT Module CLI tool
VERSION Released as version v2.37e on 27.Mai.2018

v2.36: (L236)
 - bug: wasn't upgrade to L235, now L236 handling added
 - nt motor: motordrive_set_phases() called twice in FOC mode => NT Motor v0.37
 - nt motor: don't use Motor.ofs in non-FOC mode
 - nt logger: RTC support for DS3231 added
 - nt logger: NTBUS_CMD_SETLOGGERDATETIME added, to allow setting date&time => NT Logger v0.37
 - serial cmd Cl added, TASK_NT_SETLOGGERDATETIME added, ntbus_setdatetime_loggermodule() added
 - gui: RTC tool window added
VERSION Distributed as version v2.36a on 25.Jan.2018
 - bug: SUMPPM_TOTALMAX_US extended to 27000, to handle frsky 27ms ppm (by ziele)
 - nt logger: extension .ntlog, requires use of fno.lfnanme, and thus of an additional static working buffer
 - nt logger: allow NTBUS_CMD_SETLOGGERDATETIME only if rtc_ok is true, initialize rtc_ok=0
VERSION Distributed as version v2.36b-4ziele on 31.Jan.2018
 - logger: some changes to ds3231.h lib => snap shot v0.37x
 - changed STorM32Link Configuration to 'off', 'basic', 'yaw drift comp.', 'v1'
 - bug: = instead of == in storm32link check
 - storm32link: basic and yawdriftcomp are identical, so remove basic, the other stuff works as soon as link is OK
 - storm32link: ArduPilot quaternion tested, is also 1 1 -1 -1, as expected for NED
                also angles tested, and tested that yawoffset startup correction works
 - storm32link: flag STATUS_STORM32LINK_INUSE added, mirrors storm32link_isyawoffsetvalid(), but allows GUI to see this
 - storm32link: organize such that storm32link works in its default behavior also for non-encoder
 - bug: remote_set_anglesallfromqNED() modified according to findings for DJI&ArduPilot, not tested
=> betacopter v006-004, fligh-tested frequently, keep this as a shnapshot synchronized to betacopter
 - storm32link: NTBUS_STORM32LINK_STATUSFLAG_INUSE renamed to NTBUS_STORM32LINK_STATUSFLAG_HDCINUSE
 - storm32link: made setyawoffset also dependent on storm32link_isqfix()
 - storm32link: first attempt of choice and handling of storm32link flags for arduPilot
 - removed all remains of WAITFORSTORM32LINK
 - in enc-mode: Imu1 YawAngleTarget was not set to something meaningful in NORMAL, gave ugly plots
 - slow YawT to 50
 - in enc-mode: Imu1 YawAngleTarget startup setting also when STATE == STATE_STANDBY, with fast YawT
flight test with flamewheel and solo, storm32link horizon drift compensation worked great
=> betacopter v006-005, flight-tested frequently, keep this as a snapshot synchronized to betacopter
tested that STorM32Link also works on non encoder, as much as it is supposed to work
 - p!=SETUP_PARAMETER_SIZE guards removed in setup_X_parametersandscripts_X_buf()
 - bug: in uc4h_lib compose filter functions, and in canard isr set filters
 - tested: CANARD_STM32_RXFRAMEBUFSIZE 64, UAVCAN_MEMORYPOOL_SIZE 1024 leads to 12=37% pool, and 6=9% rxbuf, even with full escRaw
 - tx bufs for uart,uart2 increased to 512
=> betacopter v006, flight test 2018-02-24, flamewheel with uavcan gimbal, passed (needs extra power on CAN 5V!!)
VERSION Released as version v2.36e on 25.Feb.2018

v2.35: (L234) (imu v0.36)(motor v0.35)(logger v0.36)(oled v0.09)(STorM32 App v0.04)(NTLoggerTool v0.40)(STorM32 WebApp v0.30)
 - bug nt: config&parameter logging still "bad", replaced sizeof by explicit number
 - mavlink: loop code moved to lib, mavlink_do()
 - logging of AccGyro2Data not needed with encoder enabled
 - quaternion typedefs in types.h
 - LOGSTORM32LINK
 - nt logger: handling for NTBUS_CMD_STORM32LINKDATA added => NT Logger v0.36, NTLoggerTool v0.40
 - storm32link logging status and numSat added
 - storm32link setter & updater functions redesigned
 - storm32link: fix status for dji can
 - ahrs modified to Anorm and Ain, to have both accessible
 - lipo loop code moved to lib, lipo_do()
 - post-main logging code moved to lib
 - bug: storm32link allow setting yawoffset only after gimbal yaw is set
 - storm32link yawoffset handling for Q and V tested, and confirmed
 - storm32link R2, V2, A2, A1 estimation tested, and confirmed, A1 matches nicely Acc1 in linear flights
v2.35b flight-tested
 - storm32link logging split into storm32link and debug => NT Logger v0.36, NTLoggerTool v0.40
 - nt logger: new storm32link, and debug added
 - storm32link_update_fromdjican() added
 - serial storm32link rccmd V2 added, 0xDA, tStorm32LinkPayloadV2, V1 still available
 - WAITFORSTORM32LINK deprecated, code fragments removed
 - STorM32LinkAHRSFactor available, but not yet used/supported, takes factor 1.0
 - startup_usingstorm32link_isallowed() removed
 - in nt logging NTBUS_STORM32LINK_STATUSFLAG_INUSE tracks _a1_valid
 - with IS_ENCODERS_ENABLED aImu2Angle reports the latest storm32link R2 angles
 - LIVEDATA_STORM32LINK reports Imu1AHRS._a1_valid and Imu1Params.aYawAngleTarget
 - yaw drift correction added
 - nt motor: #define MOTORFOC removed, STORM32NT_MOTOR_V10F103T8 removed from hal
 - nt motor: NTBUS_MOTOR_CONFIG_FOC cleaned up
 - cnvt Temp for mpu6000/9250, mpu_cnvtTemp() in stdstm32-mpu.h, also change in nt imu
 - nt imu: cnvt Temp for mpu6000/9250 => NT Imu v0.36, NTLoggerTool v0.40
VERSION Released as version v2.35e on 17.Jan.2018

v2.34: (L234)
 - bug: script, very nasty bug in determining the stateness of the input in script_init(), very difficult to debug
 - script code straightened a bit
 - uc4h_lib updated
 - setup prepared for byte params, code straightened a bit
 - ntbus_logdata_v3_dma() for Storm32LinkDataPtr
 - mavlink: comport selectable, needs reboot (by lvale)
 - com,com2,com3 baudrates selectable, needs reboot, removed support from GUI, is "dangerous" hence in expert and not interface tab
 - mavlink: for the time being ApCompatibility flag added
 - mavlink: MAV_CMD_DO_MOUNT_CONFIGURE isn't supported by ArduPilot anymore, hence handle p7 in MAV_CMD_DO_MOUNT_CONTROL
 - mavlink: re-added DIGICAM_CONTROL,MOUNT_CONFIGURE,MOUNT_CONTROL for v0.96 compatibility mode, not needed as AP translates into CMD_LONG
 - mavlink: some clean-ups
VERSION Released as version v2.34e on 16.Dec.2017

v2.33: (L233) (imu v0.35)(motor v0.35)(logger v0.33)(oled v0.09)(STorM32 App v0.03)(NTLoggerTool v0.39)(STorM32 WebApp v0.29)
 - bug gui: wlan startup issue solved (by fs008)
 - bug nt imu: some cc3d's had startup issues, resolved by deep work in rcgroups thread (by jihlein)
 - bug nt imu: checkregisters counter wasn't counting correctly
 - bug mavlink: MAV_CMD_DO_MOUNT_CONTROL did not do -+- conversion from STorM32 to Mavlink convention (by Pedals2Paddles)
 - bug mavlink: hang up, needs to set com port in com_start_transmit_mavlink()
 - bug: since v2.31e bug when spektrum used, has to do with change in uartb-hw.h, leads to infinite ORE errors, reversed rx isr part to old, which works
 - bug: spektrum range corrected by factor 1.17
 - bug: setup update for [L223,L229[ wasn't correct
 - bug: StartupDelayTime wasn't effective then IS_ENCODER_ENABLED
 - bug nt motor: for v3.x boards with its uart the qmode sends too fast, use longer delays, add more streams
 - LipoSaverLevel extended to down to 2.5 V (suggested by fs008)
 - sequence changed to usb,uart,uart2
 - tracking, gps removed, core of uart1_rx kept, uart1rxconfiguration forced to 0
 - spektrum: tested 125000 according to here https://www.spektrumrc.com/ProdInfo/Files/Remote%20Receiver%20Interfacing%20Rev%20A.pdf
             but this clearly gave incorrect readings, sticked with 115200
 - in mpu.h: icm20602 added, whoiam changed to full byte
 - ntbus: icm20602 = 0x03
 - v3.2: icm20602
 - v3.2: BOARD_W_15KVOLTAGEDIVIDER to account for 15/1.5 voltage divider, change in adc.h, change in hal to PC4
 - uavcan: use "new" lib
 - renamed UavcanConfiguration to CanConfiguration, changed CANCONFIGURATIONENUM to 1=UAVCAN
          UavcanUavcanNodeId to CanUavcanNodeId,
 - uavcan storm32 data types moved to uavcan.olliw.storm32 name space
          => requires adapting betacopter
 - DJI can bus naza v2 support: reads input channels, reads osd attitude, storm32 link
 - storm32link time stamp, velocity
 - new log_str(), log_param(), log_buf(), also bug removed in these logs()
 - systematic use of SYSTICK_DELAY_MS()
 - motorfoc_EncoderAngle() for better encapsulation
 - foc: motorfoc inverted handling, allows to startup inverted, allows also to flip in operation, but not "nicely"
        attempt at a "smooth" flip, but wans't really an improvement
 - oled: new logo, fault message on LEVEL_FAILED and EMERGENCY
 - add v3.3 support, remove v3.2
 - changes to uc4h_lib, only tiny changes needed to compile, needs checking if messages still work
 - DJI quaternion tested, converted by diag(1, 1, -1, -1), as expected for NED -> STorM32, R1' = R2RM doesn't track R1 very well
   calibration needed
 - all AccXXX parameters except of AccCompensationMethod removed, set to default values in imu_setparamsfromsetup()
   to my knowledge no one ever adjusted them, or tried to improve by testing, so obsolete
 - storm32link yaw offset startup correction, set then link becomes present&ok the first time
   yaw1 prediction values, tested and found to work for "any" startup arrangement
   in the dataplot pitch,roll offset visible, determinable by rotating around yaw
   setup&gui prepared for them
VERSION Released as version v2.33e on 19.Nov.2017

v2.32: (L231) (imu v0.33)(motor v0.34)(logger v0.33)(oled v0.08)(STorM32 App v0.03)(NTLoggerTool v0.39)(STorM32 WebApp v0.29)
 - bug gui: some params wrong in STorM32App and STorM32WebApp
 - gui: sequence of params in expert tab swapped, uart1 tx config moved to setup
 - gui: PySTorM32_createParamJsons.py to create py and js param lists for App and WebApp
 - gui: STorM32WebApp has external storm32web_paramjson.js to hold the parameter list
 - gui: PySTorM32_createParamJsons.py copy4dist.bat to pack things
 - UART1TUNNEL renamed to UART1RXTUNNEL
 - nt motor: support for AS5048A, v0.34
 - nt motor: setmodeltle5012b, setmodelas5048a, clrmodel, added to qmode
 - nt motor: setpp, setofs added to qmode
 - bug nt motor: prevent rrange to go on for indefinitely
 - oled: "LOW" added to battery indicator if VOLTAGE IS LOW, v0.08
VERSION Released as version v2.32e on 8.Oct.2017

v2.31: (L231)
 - bug nt: logging of mot config may get scrambled, tmo's extended
 - bug gui: config gimbal sometimes not adapted to FOC/nonFOC
 - bug gui: flashing v3.x boards per usb didn't work when connect wasn't possible, connection test changed
 - bug uavcan: at rate = 1, emitting nodeinfo and others was suppressed
 - bug: the rc channels were assigned to incorrect TIM8 channels in hal
 - gui: bring perl array in line with the py array, including 'foc'
 - gui: oled added to flash tab
 - storm32.Statistics
 - yaw pan hysteresis removed
 - v2.31a flight tested on 2017-08-17, advance to v2.31b
 - add support for oled display,
   sadly not possible via i2c, so do via uart, advantage: also works for v1.x boards
 - uartb required complete update, didn't had tx isr, caused major troubles
 - SERIALRCCMD_GETDISPLAYDATA (#7) added
 - param Uart1TxConfiguration
 - exclusive mechanism for enabling/disabling configuration/hardware on RC0, RC1
 - encapsulate uavcan_set_statusmode_operational()
 - v2.4 HAL removed
 - SERIALRCCMD_WIFICONNECTEDPING, to detect wifi connected,
   STorM32App modified to support this, also oled
 - new parameters LipoCells,LipoVoltagePerCell, changes in -adc.h, --lipo.h
 - F9 lock removed, wasn't compatible with wifi F9 ping, did it ever make sense? see comments in serial.h
 - all uartX.h equalized
VERSION Released as version v2.31e on 1.Oct.2017

v2.30.1:
 - bug: xx restart didn't work for boards with usb (by walmis)
 - bug: key latch triggered after standby, if key was pressed until normal was reached (by walmis)
 - bug gui: state incorrectly displayed when in standby (by walmis)
 - bug gui: wlan crashed when no wifi present or disabled (by walmis)
 - bug: after standby, go to normal if no bat connected
 - canardSTM32EnableRxIsr() release fifos
 - getTransportStats
VERSION Re-released as version v2.30 on 3.Aug.2017
v2.30: (L229) (imu v0.33)(motor v0.33)(logger v0.33)(NTLoggerTool v0.39)(STorM32 WebApp v0.27b)
 - bug: MAV_CMD_TARGET_SPECIFIC length handling
 - bug gui: datadisplay imu2 cleared every time datadisplay is opened
 - gui: links renamed to interfaces
 - esp: v3.x board, qmodes to flash firmware and upload data files
 - uavcan: consistent uavcan parameter handling
 - esp: uart2 support on v3.x boards, esp hal, qmode adapted
 - webapp: adapted to new esp config parameters, links renamed to interfaces
 - gui: erase eeprom, ask before to double check
 - gui: esp config tool
 - gui: flash v3.x boards support
 - uavcan: support of equipment.uavcan.camera_gimbal.status, later removed, doesn't make sense
 - uavcan: support of uavcan.storm32.status, uavcan.storm32.control, uavcan.storm32.nodespecific, uavcan.storm32.nodespecificack
 - uavcan: improved speed
 - uavcan: functions renamed, libs significantly restructured, memory savings, some optimizations
 - uavcan: acceptance filters
VERSION Released as version v2.30 on 30.July.2017

v2.29: (L229) (imu v0.33)(motor v0.33)(logger v0.33)(NTLoggerTool v0.39)(STorM32 WebApp v0.27)
 - support of v3.x boards, usb = uart1, uart = uart5
 - gui: upgrade via USB for v3.x board, upgrade via SysBootLoader removed for older boards
 - bug gui: flash STMFlashLoaderOlliW for bootloader version 22 it can happen that flashsize is 65535k
            "resolved" by copying _256K.STmap to _65535K.STmap
 - support of ESP8266, new parameter Esp Uart Configuration
   com2 release handling to detect key phrase at startup (com.h)
   RC2-0 == RC3 pin emits a reset pulse at a hardware reset (inputs.h)
   reset source detection
VERSION Released as version v2.29b on 2.July.2017
 - ESP: the reset pulse not needed, consistency can be accomplished with reset source
 - UAVCAN support for v3.x boards
 - webapp: esp ap bridge support
 - gui: esp ap bridge support
 - motor poles minimum set to 8
 - gui: esp config, betacopter rearranged/renamed
VERSION Released as version v2.29e on 16.July.2017

v2.28: (L223) (imu v0.33)(motor v0.33)(logger v0.33)(NTLoggerTool v0.39)
v2.28a:
 - com hal, com<->serial split (qmode, mavlink not tested)
 - improvements in serial transmission (always full block since TX ISR is used anyhow)
 - spektrum hal, timing uses micros_32(), uart1 handling is not fully consistent
 - rc hal, cleanups, some significant simplifications, hal is not fully consistent
 - imu split into ahrs, imus
 - txAngle to txAngles, AHRSANGLE(), some ahrs_ wrapper functions, Q24RAD()
v2.28b:
 - inputs.h uart1 timeout stuff removed as it's not used anywhere, uart1_enable() streamlined
 - rcchannels much improved, consistent enable/disable handling
 - rc hal consistent, except of ISRs
v2.28c:
 - conversion to tAhrsAngle(s), a first test worked nicely
   affected: ahrs,pid,remote,script,mavlink,stormlink,gps,serial
   comparison functions not yet
 - Q24RAD() removed by using Q24() with converted numbers
 - bug in pid, PAN must be float, not tAhrsAngle
 - int64_t for tAhrsAngle, 0..1 = 0..360 = 0..2^30, seems to work!
 - separate ahrs angle stuff into lib
v2.28d:
 - pid scales&timesteps converted to q30
 - pid pan converted to q24
 - pid_do() restructured
 - Kp,Kidt,Kpdt converted to q24, q16
 - motorfoc_setencoderdata() conversion of EncoderAngle to tAhrsAngle simplified
 - do_inputs() conversion of s32rc to tAhrsAngle a_inputs->a[axis] simplified
 - do_inputs() conversion of Remote.aAngle to s32 simplified
 - in spektrum, rcchannel, some voids in func() missing
 - optimization
   spektrum_update(), spektrum_handle_timeouts(),
   rc_update(), sumppm_update(), pwmout_update(), rc_handle_timeouts(), sumppm_handle_timeouts()
   input_readfunctionvalues(), input_debouncefunctionvalues(), input_getfunctionvalues()
   input_doaxis()
   helps a lot, cost ca. 4K
v2.28:
VERSION Released as version v2.28e on 6.June.2017

v2.27:
 - changes to qmode and uart1_XXX to allow for SPEKTRUM_NUMBEROFCHANNELS=0, needs check if working
 - option to use CC3D atom as main board
 - X-macros for Setup list
VERSION Released as version v2.27e on 13.Mai.2017

v2.26: (L223) (imu v0.33)(motor v0.33)(logger v0.33)(NTLoggerTool v0.39)
 - bug nt: NTLoggerTool handling of GUI data files
 - bug: setup functions, consistent differentiation between params, scripts, calibration, and other
 - bug: uartb,uartc clear isr flags at init
 - bug: ntbus_tx_waitforandclosedma() instead of ntbus_hal_tx_dma_waittrasnmitted()
 - nt: ntbus_logencoderdata()
 - nt: NTLogger handling of cmdencoder and setmotall added => nt logger firmware v0.33
 - nt: NTLoggerTool adapted to encoders => v0.39
 - nt: NtLoggerTool dT handling
 - gui: firmware flash list adapted
 - gui: foc handling in DataDisplay&ConfigTool improved
 - gui: share settings expanded to 3 columns
 - foc: don't bother with trying to find IMU3, we're not using it
 - Imu2 enabled, but only raw data is transmitted, not AHRS2, it's of no use but would take a toll of nearly 100us !
 - fyaw_relative() introduced, return encoder angle in encoder mode
 - nt: dma handling somewhat restructured, geterrorcnt() not inline
 - nt: ntbus_logparameterdata() and caller somewhat changed
 - foc: new default values for PID
VERSION Released as version v2.26a on 18.Mar.2017
 - bug: imu_setparamsfromsetup() changed all Imu2 fields, even though script_do() comes after (by fs008)
 - bug: TASKs were executed only if TASK_RESTART_IS_PENDING
 - better optimized setup_handle_parameters_change(), to make script set parameter less costly
VERSION Released as version v2.26b on 9.Mai.2017

v2.25:
 - adc hal (tested), inputs hal (keys tested, uart1 not tested), ir hal (not tested), leds, leds-hal (tested)
 - clocks implicit hal

v2.24:
 - BUG: new fwrap180(), the old could lead to serious time penalties
 - bug: avoid hang-up when EEPROM is old setup
 - bug: low voltage handling didn't zeroed values
 - gui bug: some options were OPTTYPE_SI but were u16
 - gui bug: show/hide of foc PID options was strangely overlayed with other fields
 - gui bug: Retrieve from EEprom & Default failed in read
 - bug nt: NTLoggerTool crashes when no wlan available (by fs008)
 - faster startup: calibrate time shortened by 1s, and fastlevel moves faster
 - remove full v1 2nd Imu support
 - startup initialization sequence rearranged, so that nt modules are checked later, to give them a bit more time to startup
 - log "foc enabled"
 - FocGyroLPF enabled, FocK enabled, Foc MotorDir & Foc ZeroPos enabled
 - SERIALRESPONSE_LEVELGIMBAL added
 - 'xp' serial command, in gui corresponding tool menu option added
 - acc_mag is taken now from AHRS Mahony
 - motors hal introduced, motors rearranged & cleaned-up significantly, tested on mobius test gimbal
 - motor foc safety protection mechanism added
 - imu1 error count safety protection mechanism added
 - nt: NT imu changed to better detect errors for MPU6000 (isr often doesn't startup correctly, no idea why)
 - nt: NT imu qmode added
 - nt-imu, ntbus, ntbus-hal, redone from v0.32 with extensive testing at each step to resolve a nasty nt-imu hang-up bug
 - have motorsaftey active only at startup, below NORMAL
 - nt: NT motor qmode extended to standard
 - nt: ntbus_hal_init(), _enable() moved to ntbus_init()
=> nt imu/nt motor fimrware v0.33

v2.23:  (L223)
 - bug: in fbuf_init()
 - gui: all i2c reminiscences removed
 - SYSTICK_DELAY_MS()
 - board_capability changed and used for foc flag
 - ntbus hal introduced
 - mag removed, some deprecated stuff removed
 - qmode extended and slightly rearranged
 - fast startup procedure improved, nearly twice as fast yet more precise smooth at the end
 - DLPF parameter removed
 - setup parameter handling changed substantially, merged with mavlink parameters
 - complete rearrangement of setup parameters, GUI adapted accordingly
 - setup parameters defaults adjusted
 - encoder flags added, handling to GUI added
 - gui: implicit size handling for options
 - gui: adapts to board configuration
 - set FocEnabled parameter by own GUI tool, like baudrate, not part of Setup anymore => require manual restart
 - NTBUS_MOTOR_CONFIG_TLE5012B added, NTBUS_MOTOR_CONFIG_FOC modified
 - gui: rename to encoder support tool
 - parameter FocElTimeConstant added
 - livedata new layout and flags, includes encoder data, gui adapted
 - Setup.FocGyroLPF added, and related many rearrangements done

v2.22: (L219) (imu v0.32)(motor v0.31)(logger v0.26)(NTLoggerTool v0.37)
 - tested some AVF filters, but they didn't do any good, in fact were worse
 - bug: virtual worked only if Virtual-1 used at startup, _input_syncfunctions() changed (by Rickyg32)
 - bug nt: ntbus_module_config_str() didn't handle NTBUS_IMU_CONFIG_GYROFILTER, NTBUS_IMU_CONFIG_ACCFILTER
 - nt: store calibration values in NT imu module => v0.32
       configuration field extended by NTBUS_IMU_CONFIG_CALIBRATIONCMDSUPPORTED
       new nt cmds NTBUS_CMD_STORECALIBRATION, NTBUS_CMD_READCALIBRATION
       ntbus_readcalibration_imumodule(), ntbus_storecalibration_imumodule()
 - lipo/adc stuff slightly restructured
VERSION Released as version v2.22e on 29.Jan.2017

v2.21:
 - support for STorM32 NT v2.4 board
 - D gain roll-yaw mixing (by McTage)
 - additional P gain roll-yaw mixing

v2.20: (L219) (imu v0.31)(motor v0.31)(logger v0.26)(NTLoggerTool v0.37)
 - bug: scriptnr could be larger than 3 in remote_set_scriptcase()
 - bug nt: NTLoggerTool y-AR-off did affect FFT window incorrectly => NTLoggerTool v0.37
 - nt: NTLoggerTool cRingBuffer, much improved live recording
 - nt: NTLoggerTool QNetworkConfigurationManager removed, replaced by subprocess netsh (by walmis) => NTLoggerTool v0.36
 - nt: NTLoggerTool finalize support for latest ENSYS Logger firmware version => NTLoggerTool v0.37
 - deactivate YawT when no battery is connected
 - nt: support for NT Imu v2.1 modules => v0.30
 - nt: support for NT Motor v2.3E modules => v0.30
 - gui: support for NT Imu v2.1 modules, firmware flash and config status flags
 - nt: NT imu and NT motor led blinks according to configuration as Imu1/2/3 or R/P/Y => v0.30
 - nt: NT imu now isr-driven=oversampled by default, for both mpu9250 and mpu6000 => v0.30
       log_ntmoduleconfigurationinfo() adapted
 - nt: NT imu acc +-16g plus filter for mpu9250 & mpu6000 => v0.31
 - nt: NT camera call camera_initpins() early to enforce defined pin states

v2.19: (L219) (imu v0.29)(motor v0.22)(logger v0.26)(NTLoggerTool v0.35)
 - bug: clocks not initialized
 - nt bug: _ntcameradata pwm output triggered two times at startup
 - nt bug: NTLoggerTool multiple log handling was broken
 - nt bug: NTLoggerTool Imu2rx instead of Imu2done
 - nt bug: NTLoggerTool converts GUI DataDisplay logs correctly
 - nt: NTLoggerTool support of ENSYS NT Logger ESP8266
 - nt: NTLoggerTool screen shot, tool tips, FFT improved, cleanup => NTLoggerTool v0.35
 - STORM32NT finally removed
 - nt: 3rd NT Imu support, involved interlacing of getimu2 and logging of accgyroraw
 - nt: full Imu3Configuration support, required changes also in ntbus lib
   => ntimu firmware v0.29, NTLoggerTool v0.31
 - qmode flash id 12
 - support for STorM32 NT v2.1 board (not yet fully tested, AUX, POT, SUMPPM, PWMOUT, SPEKTRUM, uart1)
 - gui: support for STorM32 NT v2.1 board uart1 flash

v2.18:
 - gui bug: remove 0xFE checkbox from RC Command Tool (by lvale)
 - gui bug: in Gimbal Configuration Tool set startup mode to normal in step II
 - nt bug: in log_ntmoduleconfigurationinfo() first one parameter str was killed because of flush()
 - bug: voltage low shall wait for beep for all steps of shutdown
 - nt: NTBUS_IMU_CONFIG_MPU6050 un-deprecated
 - nt: IMU_CONFIG_MODEL can go from 1...7 (not a bit field anymore), ntbus_module_config_str(), log_ntmoduleconfigurationinfo()
 - waking up from standby goes to fastlevel if allowed (by zyawooo) (was tested extensively and concluded to be preferred)
 - uartb_rx_enableisr()
 - BOARD_CAPABILITY set to 0, was never used
 - DEBUG_LED removed
 - bypass to fastlevel in STATE_STARTUP_RELEVEL

v2.17: (L214) (imu v0.28)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - faststart didn't consider rc offset, leading to strange behavior (by RocketMouse)
 - emit alert beeps upon level error and voltagelow (by lvale)
 - nt: NTSCANID removed, NTTUNNEL added
 - SERIALSTATE_DIGEST_RECEIVED_MSG to always digest serial one cycle later,
   solves also write overtime, time safeguard works very nicely
 - Q mode UART1TUNNEL to open a tunnel to uart1, allows to quit
 - Q mode BT, allows to quit
 - remote wrappers changed, affects also script module
 - STARTUP_MOTORS_BLINK changed to blink
 - startup calibrate cleaned up a bit
 - using small mavlink SetupParam field saves 7kb
 - uart1/gps in serial handler removed
 - gps @ uart1 is 57600bps per default
 - gps valid requires hdop<1.5 and sat>=8
VERSION Released as version v2.17e on 24.Sep.2016

v2.16:
 - bug betacopter: taskmanager did too many steps, corrected, but NEEDS TEST of STORM32LINK PIDS!!!
 - channel/configuration change handling totally revised (looks very good so far, but NEEDS EXTENSIVE TESTS!!!)
 - RXBUF for UARTB and SPEKTRUM_BUFSIZE increased to 128, to accommodate uart1-gps
 - uart1 gps target stuff
 - tracking module
 - SERIALRCCMD_SETHOMELOCATION, SERIALRCCMD_SETTARGETLOCATION

v2.15: (L214) (imu v0.28)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - bug: override inputs in startup wrong (by zyawooo)
 - StartupDelayTime
 - startup motors & startup settled changed slightly
VERSION Released as version v2.15e on 15.Sep.2016

v2.14: (L214) (imu v0.28)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - bug: fastlevel didn't caught some failure conditions in startup
 - bug: IRCAMERA active from startup, like PASSTHROUGH  (by noradtux) (could need more extensive testing)
 - some checks moved from LEVEL to end of CALIBRATE
 - new state wait for link

v2.13:
 - gui: bluetooth configure adapted to handle hc08 (by zyawooo)
 - link test version with comparison of methods, settled for "cheap" method

v2.12:
 - gui bug: BT configure may not stop upon error (by RocketMouse)
 - bug: MAVLINK_MSG_ID_MESSAGE_INTERVAL extracrc not handled (by lvale)
 - bug: imus need be reset after calibrate
 - gui: bluetooth configure adapted to handle "new" hc06 (by RocketMouse)
 - gui: vibes removed from DataDisplay save
 - gui: clear status fields upon disconnect
 - nt: NTSCANID removed, NTTUNNEL added
 - nt: nt imu CAMremote support changed => ntimu firmware v0.28 (by noradtux)
 - MAVLINK_MSG_ID_MESSAGE_INTERVAL arbitrary interval rates enabled
 - MAV_CMD_SET_MESSAGE_INTERVAL added
 - MAV_CMD_DO_SET_PARAMETER, param7 special handling removed
 - further clean-ups in mavlink library
 - startup_fastlevel_isallowed(), calibration cleaned, some useless state flags removed
 - clean-ups in imu library, fYawAngleTargetPrediction not needed and removed
 - ahrs acc compensation restructured, and prepared for quaternion guiding
 - improved YawT handling for Imu1, reduces drift in deadband zone (does it lead to other issues? needs extensive tests!)
 - yaw pan lpf set to 1.5 as default, as I like it :)

v2.11: (L208) (imu v0.27)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - gui: Mavlink Configuration extended to h.b.+ mountstatus
 - extend FA storm32link with yawratecmd
 - mavlink "rejection" opened to components, all broadcasting, as well as all sorts of nonsense
 - MAVLINK_MSG_ID_DIGICAM_CONTROL, MAVLINK_MSG_ID_MOUNT_CONFIGURE, MAVLINK_MSG_ID_MOUNT_CONTROL removed, since deprecated by APM
 - MAVLINK_MSG_ID_COMMAND_TARGET_SPECIFIC, MAVLINK_MSG_ID_PARAM_...2 removed
 - MAV_CMD_DO_MOUNT_CONTROL, MAV_CMD_DO_MOUNT_CONTROL_QUAT support restricted to only unlimited angle (was used only anyhow)
 - MAV_CMD_DO_DIGICAM_CONTROL restricted to 0/1 for shot
 - MAV_CMD_DO_DIGICAM_CONFIGURE added, to return MAV_RESULT_ACCEPTED, but doesn't do anything
 - MAV_CMD_DO_MOUNT_CONFIGURE support of MAV_MOUNT_MODE_RETRACT added, recenters camera
 - MAVLINK_MSG_ID_MOUNT_STATUS added, Mavlink Configuration = 3 emits it with 2 Hz
 - MAVLINK_MSG_ID_MESSAGE_INTERVAL added, allows to stream attitude and mountstatus in time multiples of 0.1sec
VERSION Released as version v2.11e on 8.Aug.2016

v2.10: (L208) (imu v0.27)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - bug: mavlink_systemlist_add() is needed for TASK_MAV_SENDATTITUDE etc to be send out
 - bug: mavlink heartbeat state didn't consider fast level
 - gui: few parameter fields rearranged, betacopter tab introduced
VERSION Released as version v2.10e on 6.Aug. 2016

v2.09:
 - bug: response to SERIALRCCMD_GETVERSIONSTR had wrong cmd byte
 - rccmd startsign 0xF9, which suppresses ack responses, and other commands
 - SERIALRCCMD_SETINPUTS added
 - STorM32-Link reception and detection handler
 - LIVEDATA_MAVLINKATTITUDE & generate_attitude_storm32() consider STATUS_BAT_ISCONNECTED
 - changed livedata LIVEDATA_MAVLINKATTITUDE to LIVEDATA_ATTITUDE_RELATIVE, complying to STorM32 standards
 - tentatively allow for "all" supposed-to-be valid Mavlink messages (just to make the point)
VERSION Released as version v2.09e on 1.Aug. 2016

v2.08: (L208) (imu v0.27)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - gui bug: UpdateShow() uninitialized for July
 - gui: screenshot of share settings can be saved to file
 - gui: some rccmdread clean ups
 - nt: pwm pulse of 500ms for Git2RC  => ntimu firmware v0.27
 - several cleanup work:
   some codes restructured
   standby code restructured (NEEDS TESTING!!)
   startup_level_do() changed
   imu_getimuXdata(), imu_set_params_from_setup(), AccCompensationActive
 - FASTLEVEL startup mode, new parameter Startup Mode
 - startup_motors_do() 33% over voltage
VERSION Released as version v2.08e on 19.July.2016

v2.07:
 - gui: UIntToHexstrSwapped()
 - gui: target specific embeeding changed to new command long
 - gui: DataDisplay can be shifted
 - gui: flash reworked to support new upgrade
 - mavlink COMMAND_LONG command MAV_CMD_TARGET_SPECIFIC=1235 added
 - CMD_GETDATAFIELDS flag LIVEDATA_MAVLINKATTITUDE added (needs testing!)
VERSION Released as version v2.07e on 14.July.2016

v2.06:
 - bug gui: NT flash firmware threw no usb error if port list was not called before
 - bug?: NT camera CAMremote only did 1.0, 1.5, 2.0 ms and not continuous pwm
 - bug: RcAccLimit changes produced hickups (by digaus)
 - gui: DataDisplay can be resized, Save stores all data in the buffer
 - gcc arm 5.3 2016q1, comment static in static inline to avoid warning
 - fp stuff separated into library
 - don't accumulate pansetpoints for yaw when in absolute mode (by Noircogi)
 - qmode, command processor prepared for flashing storm32, not yet supported by gui

v2.05: (L095) (imu v0.26)(motor v0.22)(logger v0.26)(NTLoggerTool v0.30)
 - bug: changing IrCameraModel back didn't switch on IR led
 - nt: NT camera module supports CAMremote, as well as PWM out => ntimu,ntlogger firmware v0.26

v2.04: (L095) (imu v0.25)(motor v0.22)(logger v0.25)(NTLoggerTool v0.30)
 - nt: NT camera module added  => ntimu,ntlogger firmware v0.25, NTLoggerTool v0.30

v2.03: (L095) (imu v0.23)(motor v0.22)(logger v0.24)(NTLoggerTool v0.29)
 - logging time scheduling only for accgyro1&2
 - ntbus_module_config_info(), kill any dma transfer
 - logging Imu2received removed, Loggingdone added

v2.02: (L095) (imu v0.23)(motor v0.22)(logger v0.23)(NTLoggerTool v0.28)
 - bug: mavlink param name PAN_PITCH_EXPO
 - gui: 0.5 resolution added to DataDisplay (by buckker)
 - nt logger: header line added to log to identify log file
 - nt: setloggerdata v3, resolution of angles increased to 0.001 => ntlogger firmware v0.23, NTLoggerTool v0.28
 - nt: imu status reporting improved, adds clipped status, always >0

v2.01:
 - bug: crc left-over
 - bug: x? commands could fail (by Noircogi, Eagle1980)
VERSION Released as version v2.01 on 30.Mar.2016

v2.00:
 - serial command Ns, xQT completed
 - nt modules all support std cmd bytes (firmware -> v0.22)
   in-situ flashing seems to work
 - gui: warning for com port>99 added (by gekoch) 
VERSION Released as version v2.00 on 28.Mar.2016

v0.96:
 - bug nt: CC3D didn't work with spi_setclockspeed(SPI_281p25KHZ) (->nt firmware v0.21)
 - bug nt: command flash module didn't work for id != 0 (->nt firmware v0.21)
 - bug: speedlimit in relative can be too fast
 - setup conversions acc-calib-values correction improved
 - nt logger logs calibration values
 - nt qmode, nt command processor prepared, flashing of nt modules, not yet supported by gui
VERSION RELEASED as version v0.96 on 19.Mar.2016

v0.95: (L095)
 - bug: setup update further improved
 - bug: imu3 detection & handling changed
 - bug: plane pan limited to 15 (by maciek252)
 - bug: roll pan mechanism improved, "cheats" a bit and is still not perfect, but should work "mostly"
 - mpu lib restructured a bit to better accommodate 9250
 - nt logging of imu module configuration info added
 - PanExpo method changed a bit, gui Pan Limiter renamed to Pan Expo, others too
 - Remote inhibit on-board script command added (by JanJoh)
VERSION distributed as version v0.95e on 5.Mar.2016

v0.94: (L094)
 - bug: setup update fails for erased eeprom
 - bug: serial transmit could stays too long in loop, do_serial() could hang in receive_payload, serial reworked a bit
 - gui: acc calibration reading display improved
 - gui: px4 .bin data saving removed, data can be read with NTLoggerTool
 - default setup NtLogging off for non-nt firmware
 - acc range changed to +-4g, associated changes also in NT imu firmware and gui
 - mavlink COMMAND_LONG command MAV_CMD_GET_ATTITUDE=1234 added (by digaus)

v0.93: (L093)
 - bug nt: tNTBusGetImuData Temp must be int16_t
 - bug: pan works now for "all" angles
 - nt: NtLogger sd card writing much improved (->nt firmware v0.18)
 - nt: NtLogger __ntbus_retrievedata() (->nt firmware v0.18)
 - heart beat led frequency changed to 1 Hz
 - nt logging uses scheduled time for "big" logging options
 - nt logging change recording of accgyro data to Q24_TO_S16MUL2E14, Q24_TO_S16MUL2E11
 - live data change of acc&gyro data to Q24_TO_S16MUL2E14, Q24_TO_S16MUL2E11
 - roll&yaw mixer with q30
 - FeedForwardLPF corrected, set to 0 as default
 - Imu3 Orientation parameter
 - pitch&roll pan deadband behavior: <=15.0 old behavior, >15.0 new soft-limits like behavior
VERSION distributed as version v0.93e on 20.Feb.2016

v092:
 - some few cleanups with enums
 - nt imu data checks for a=0
 - nt dma putc handling slightly changed
 - nt: NTBUS_CMD_ACCGYRO?RAWDATA_V1, NTBUS_CMD_ACCGYRODATA_V1 deprecated
 - nt: NTBUS_CMD_ACCGYRO?RAWDATA_V2, NTBUS_CMD_ACCGYRO?DATA_V2 added instead
 - nt: new commands added to NtLogger (->nt firmware v0.17)
 - Imu3 options improved
 - nt one new logging options added
 - pan deadband behavior for pitch,roll fundamentally changed, works now like soft limits
 - pan deadband hysteresis relevant only for yaw
 - new pan mode hold-pan-pan added

v0.91:
 - gui bug: Board, Name fields shall not be editable (by pawelsky)
 - bug: nt bus & imu mapping corrected
 - bug: bug in mavlink parameter removed
 - mavlink parameter type accounted for ("new" apm method)
   __mavlink_setparambyindex() - MSG_ID_PARAM_SET, MAV_CMD_DO_SET_PARAMETER, MSG_ID_PARAM_SET2
   generate_paramvalue() - MSG_ID_PARAM_REQUEST_READ, MSG_ID_PARAM_REQUEST_LIST, MSG_ID_PARAM_SET
   generate_paramvalue2()
 - nt: NTBUS_CMD_AHRS1DATA, NTBUS_CMD_AHRS2DATA, NTBUS_CMD_ACCGYRO3RAWDATA added to NtLogger (->v0.16)
 - nt: NtLoggerTool new frame error detection mechanism
 - nt: NtLoggerTool extended to export to Cleanflight's Blackbox Explorer, Blackbox Explorer extended to support STorM32
 - nt: NtLoggerTool extended to load STorM32 GUI log files
 - gui: NTLoggerTool no longer integrated
 - SET LOG moved to before other CMD LOG logs
 - Imu3 option added, available for nt
 - script panorama, SETPANOWAITS, SETPANORANGE, DOPANO commands
 - script set angle with speed and wait, SETANGLEPITCH_W, SETANGLEROLL_W, SETANGLEYAW_W

v0.90:  (L089)
 - nt bug: NtLoggerTool handled Voltage incorrectly (by GekoCH)
 - nt bug: NtLoggerTool cancel of load didn't cancel
 - bug: several bugs in mavlink parameters removed
 - bug: LOGGING_ACCGYRORAW didn't work
 - bug: hold-pan switching didn't work for pitch&roll (by schnupperm)
 - nt: NtLoggerTool significantly enhanced&improved
 - __ntbus_senddata() improved a tiny bit
 - nt logger logs versions and parameter values
 - nt logger with 7.5s sync periods, minimizes gaps
VERSION RELEASED as version v0.90 on 10.Jan.2016


-----------------------------
old releases in normal order

v0.33:
 - suggestion: GUI: rc pitch range extended to +-120 (hexakopter/Dario)
 - input_getfunctionvalues(), input_changevirtualconfiguration() simplified
 - Setup parameters deleted: RcMidMode, RcRate, RcExpo, Setup parameters rearranged, mavlink cmds rearranged
 - extend calibration time to 2secs to allow AHRS to settle, shortened AHRS T to 0.1f and 10.0f
 - do overall acc normalization at calibration, this doesn't do much however
 - AUX2 handling for v1.3 boards added, AUX01_PUSH, AUX012_PUSH added
VERSION RELEASED as version v0.33 on 19.June.2014
v0.34:
 - amplitude in auto motor direction detection increased
 - level detection improved, uses filtered angle
 - suggestion: GUI: write+store in IMU and motor configuration tabs (yang/wdaehn/Werner)
v0.35:
 - suggestion: GUI: disable/enable handling for some functions (yang/wdaehn/Werner)
 - suggestion: renamed and "press","push" to "switch","latched" (LoneStriker/irun4fundotca)
 - meaning of IMU2 Configuration changed
 - gyro filter added, Setup.GyroLPF
 - Setup.GimbalConfiguration changed to Setup.SafteyConfiguration
 - handling of some Setup settings via IS_ macros
v0.36:
 - bug: error in orientation_from_angles() for yaw<>0 corrected, didn't affect previous firmware versions
 - bug: angle overturn calculation was incorrect
 - GUI: yaw offset range changed to +-30, offset step 0.5, angle plot +-200, debug info in read/write removed
 - input debounce range for +250 state changed to +223...+277
 - use of ALLAXES macro in live data, safes a lot
 - do angle overturn calculation for pitch&yaw
 - 2nd IMU support
v0.37:
 - bugs: 2:yaw pan by 180 yields pan steps, 4:yaw1,2 run crazy after long while (hexakopter/Dario) -> handle +-180 thing in imu_Mahony for YawAngleTarget and _YawAngle
 - bug: motorusage != normal -> set also pid Cntrl to zero
 - bug: i2c_enforcerecover() also for 2nd IMU
 - SETUP_OffsetXXX not needed
 - reset imu then orientation is changed (not very important, with USB only LEVEL is reached and then time constant is fast)
 - rename MAVLINK_CMD_SETAUXKEYS to MAVLINK_CMD_ACTIVEPANMODESETTING
 - motor usage = disabled as default
v0.38:
 - removed using _StartupOscillationDetectionThreshold
 - YawT for yaw2 set to 400, YaT for yaw1 re-enabled
 - level pitch&roll max set to 120,75
VERSION RELEASED as version v0.38e on 10.Aug.2014
v0.39:
 - bug: in _imu_do_lpf4imusensor()
 - bug: CntrlI rollover by 360 (or maybe 180), not fpoleangle
 - bug: MotorPos limit to +-30000 removed
 - GUI: pitch and roll offset limited to +-5, 0.05 steps (yaw offset range should remain large)
 - motor poles = 14 as default
 - feedforward: smooth handling of changes in feedforward gain and/or imu2 configuration
 - Imu2Params handling modified
 - signs in PID control loop changed
 - calibration commands and functions implemented
 - serial cmd stores calib data in Setup&EEPROM, but gzero is not activated (keep startup values)
 - startup calibration data in separate structure, acc startup calib not used
 - GUI: Calibrate Acc tab
VERSION RELEASED as version v0.39e on 18.Aug.2014
v0.40:
 - bug: in feedforward (hexakopter/Dario)
 - oscillation detection
VERSION RELEASED as version v0.40e on 24.Aug.2014
v0.41:
 - bug: end of relevel detection corrected
 - PanExpo for soft limiting pan
 - RcHysteresis
 - RcOffset, replaces Offset and in fact does it better, Offset now only for level adjustment, works with relevel
VERSION RELEASED as version v0.41e on 26.Aug.2014
v0.42:
 - fixed point q (see also http://www.olliw.eu/2014/fast-functions/)(110us instead of 250 us)
 - fixed point AHRs params
 - fixed point A,R,G (70us)
 - YawT scale changed, fixed point YawT, renaming to f
 - fixed point tIMUSensor,
 - fixed point _imu_confidence, further little improvements in imu code
 - setup_handle_calibration_change() without intermediate float
 - better code for (s16)(10000.0f*q24_to_float(f))
v0.43:
 - pid control structure: new axis mixing algorithm, pan mechanism, motor predictor, yaw2 predictor; solves also these bugs:
 - bug: 90yaw then phh and pitch, yields pitch pan errors (hexakopter/Dario)
 - bug: yaw pan, and the "pitch" along stick yields roll error (careyer/Thomas)
 - oscillation detection moved to later
 - acc method advanced as default
 - UART3 remapped changed to UART4
 - green led debug mode
VERSION RELEASED as version v0.43e on 20.Sep.2014
v0.44:
 - bug: standby, s32
 - bug: RcOffset were not set
 - bug: Imu2 offset correction at startup was only for pitch,
 - bug: do Imu2 startup offset correction only for pitch&roll, yaw doesn't work
 - bug gui: COM range extended to 999 (GekoCH/Andy)
 - R2 lpf filter (doesn't seem to do much, though), set to 1 as default
 - fwrap180() for YawT
 - serial moved
 - Imu2 offset startup correction handling improved
 - GyroLPF = 1 as default
 - handling cases then a motor is off, fall back to default
 - handling of IMU2 NOT present in the PID aftermath
v0.45:
 - bug gui: allow up to com999  (GekoCH/Andy)
 - ppm with 12 channels added (GekoCH/Andy)
 - dead-band in pan mode for yaw
 - bug: Gyro2Zero was set to g1zero in serial (as it wasn't used so far, didn't had any impact)
 - bug gui: in 6 point calibration zeros were too large by a factor of 2
 - pid parameters handling faster
 - deadband in panmode for all three axes
v0.46:
 - gui: align yaw axis tool
VERSION RELEASED as version v0.46 on 1.Oct.2014
v0.47:
 - bug: mavlink_crc_accumulate_buffer() used uint_8 length
 - tMotorDirDetect
 - PRODUKTIONRELEASE in setup restructured
 - script programming introduced
v0.48:
 - bug: ReCenter cleared for all axes if one was in absolute (ransalp/Klaus)
 - bug: input_getfunctionvalues() rcmid (didn't had any consequences)
 - bug claim: "There will also no connection to the GUI if the IMU is not connected or the IMU connection is broken." NO, is OK for both USB & UART
 - irled: Panasonic, gives one 50ms pulse (nicodh)
 - script processor redesigned
v0.49:
 - bug: neither on-board nor extra IMU2 is present, removed hardstop, removed motor off (Ernst)
 - bug gui: allow up to com999 also for flashing (GekoCH/Andy)
 - gui: edit board name tool added (GekoCH/Andy)
 - virtual extended up to 12 (GekoCH/Andy)
v0.50:
 - acc 8000 tweak (GekoCH/Andy,KingDaKa/Andre)
 - 'xz' command only does pitch&roll
v0.51:
 - 'xy' command added, Align Yaw Tool adapted
VERSION RELEASED as version v0.51 on 10.Oct.2014

v0.512e:
 - bug gui: Load and Save settings were broken(Greg Covey)
 - bug gui: RESTORE wasn't handled
 - bug: restore script cmd should change all parameters, except 'Script Control'
 - gui: Update Tool, Configure Gimbal Tool added, and tabs restructured
v0.52:
 - gui: Motor Configuration parameter deprecated, i.e. moved to hidden expert tab
 - mavlink MAVLINK_CMD_SETSCRIPTCONTROL added
v0.53:
 - bug: _imu_do_lpf4imusensor(), not really important
 - bug: pan deadband was linked to Setup.PanDeadBand.Yaw
 - beeps: beeps with motors, at Normal, Store, SetCalibration (suggested by GekoCH/Andi)
 - lander below yaw motor: correct startup now with PID=0 (suggested by nicodh)
 - TASK_CALIBRATE_RCTRIM instead of STATE_CALIBRATE_RCTRIM
 - RcAdcLPF: lpf for POT
 - PanDeadbandHysteresis: hysteresis for pan deadband edge, use with care!
 - script: restore changed to restoreall, restore param added
 - script: active from the beginning
 - script: WAIT command
 - setup_init(): carries over values from v0.51 layout
 - beeps: no Vmax scaling, on/off better
v0.54:
 - script: extension to 4 scripts in parallel
 - script: script control for scripts 2,3,4 can be changed from script1
v0.55:
 - baudrate adjustable, 'xu' command added, stores in EEPROM (suggested by flyingbison)
 - beeps: several modes, beep on pan change & all (suggested by GekoCH/Andi)
 - beeps: rctrim @ basic, recenter @ all
 - behavior of 'xn' command changed, stores now in EEPROM
 - uart_transmit(), usb only once
v0.56:
 - gui: bt auto configure adapted to uart baudrate changes
 - PanDeadbandHysteresis put to the front, got tested and found to be good by GekoCH, is identical for all three axes
VERSION RELEASED as version v0.56 on 28.Nov.2014

v0.57
 - bug: pid_init() corrected
 - bug gui: yaw alignment allows +-45 (wdaehn/Werner)
 - #define SECONDIMU removed, oscillation detection removed
 - Set_System() renamed to USB_Set_System(), moved USB_Interrupts_Config() in init
 - usb_init() first, uart_do_serial() with return, 'xx' changed to 'xX' for hard reset,
 - MAININIT scheduler, 'xx' to restart, 'xW'
 - gui: Calibration Tool significantly extended
VERSION distributed as version v0.57e on 13.Dez.2014
v0.58:
 - bug gui: com write params corrected, solves hang up when wrong com port is selected
 - gui: $ExecuteCmdBTAddedTimeOut added to ini
 - RcHysteresis set to 5 as default
 - rcchannels-lib: rc_status: failsafe flag reset on disable/enable; in rc_init & rc_disable: PPM_DEFAULT; no _disable()
 - spektrum support
VERSION distributed as version v0.58e on 25.Jan.2015
 - bug gui: com write params corrected, solves hang up when wrong com port is selected
 - gui: $ExecuteCmdBTAddedTimeOut added to ini
 - RcHysteresis set to 5 as default
 - rcchannels-lib: rc_status: failsafe flag reset on disable/enable; in rc_init & rc_disable: PPM_DEFAULT; no _disable()
 - spektrum support
VERSION distributed as version v0.58e on 25.Jan.2015
v0.59:
 - bug: spektrum two-frame case wasn't handled correctly??
 - ir: use IR_RCC_APBxPeriphClockCmd()
 - uart2_init_off()
 - sbus support, tested by nicodh, seems to work
 - gui: 'gimbal support' renamed to 'full'
 - 16 virtual channels (confirmed by nicodh to work)
 - spektrum sbus struct simplified
v0.60:
 - gui: simplified pid tuning
 - eeprom version adaption
VERSION distributed as version v0.60e on 29.Jan.2015
v0.61:
 - bug gui: Configure Gimbal Tool broke after reset with UART, but not with USB, solved
 - gui: simplified PID tuning, handling improved
 - gui: init tool windows at first call
 - gui: Share Settings redone
 - gui: help
 - Setup.MotorConfigfuration renamed to MotorMapping, and similarly in o323bgc-motor.h
 - ImuMapping
 - eeprom carried over from L056, L060
 - Offsets shift zero of imu1 acc sensor data
VERSION distributed as version v0.61e on 3.Feb.2015
v0.62:
 - bug: usb OUT_DATA_SIZE  (VIRTUAL_COM_PORT_DATA_SIZE-4)
 - DEBUG_STARTUPSENSORMESSAGES
 - old mavlink: is called now mavlinkrc, startbyte changed to 0xFD
 - real mavlink:
   *tested:   heartbeat, param_value, param_request_list, param_set,
   *prepared: command_ack, param_request_read, command_long
   *setup parameters: MavSystemId, MavComponentId, MavConfiguration,
 - first attempt towards Remote.Angle
v0.63:
 - bug gui: Acc16PCalibrationCalc1PointCalibration() limits to narrow (kurtrdoc)
 - bug gui: ShareSettings could get outside of desktop window (irun4fundotca)
 - real mavlink: all parameters, some are NU
 - real mavlink: set of parameters with change flag //untested //could be improved
 - Remote.Angle should work exactly as Remote.Input //not thoroughly
 - eeprom carried over from L056, L060, L061
VERSION distributed as version v0.63e on 11.Feb.2015
 - bug gui: mavlink rc GetData() failed, too short length (lvale)
 - bug gui: Configuer Gimbal Tool store to eeprom failed
 - gui: acc calibration and configure gimbal tool streamlined with connect stuff
VERSION distributed as version v0.63ec on 13.Feb.2015
v0.64:
 - bug gui: fixed status bar font & font size (lvale)
 - bug gui: Execute_IsRunning used for main buttons
 - bug: BT configure tool 'a'...'h' in names, changed to use '@' (lvale)
 - bug: RcSpeedLimit=0 didn't work in relative mode
 - bug: RcOffset, now limited separately to avoid strange looking situations
 - speed limiter and min-max limiter swapped, works equally fine
 - Remote.Angle outside of min-max limiter, infinite Remote.Angle control, use is controlled by Remote.AngleFlags
 - recenter clears also Remote.Angle in both rel and abs mode
VERSION distributed as version v0.64e on 25.Feb.2015
v0.65:
 - bug: Remote.AngleFlags worked only for pitch, not roll, yaw
 - gui: simple motion control support
VERSION distributed as version v0.65e on 27.Feb.2015
v0.66:  (L066)
 - bug gui: packed values were displayed wrongly
 - bug gui: $MaxConnectionLost was zero
 - bug: #define SETUP_ScriptControlx were wrong
 - bug: input_reset(0xFFFF), and not 0xFF;
 - gui: Execute_IsRunning systematically for all buttons and clicks, Execute_IsRunning in main timer, FlushPort in timer
 - gui: Motion Control SetParameter() command
 - some optimizations in rcchannels.h, spektrum.h
 - mavlink buf usage changed
 - doserial 4 times per loop
 - pwmout, speed, minmax, active from start on
   Setup adapted, Remote adapted, gui adapted, MavlinkSetup adapted, Mavlink RC cmds adapted, Mavlink RC Tool adapted
   Motion Control adapted
 - MAVLINKRC_CMD_SETPITCHROLLYAW
 - 180 MAV_CMD_DO_SET_PARAMETER, (nu) 220 MAV_CMD_DO_MOUNT_CONTROL_QUAT in NED
 - STorM32 specific Mavlink commands, see mavlink_storm32.xml
   236 MAVLINK_MSG_ID_PARAM_READ2, 237 MAVLINK_MSG_ID_PARAM_SET2, 238 MAVLINK_MSG_ID_PARAM_VALUE2
   234 MAVLINK_MSG_ID_COMMAND_TARGET_SPECIFIC, 235 MAVLINK_MSG_ID_COMMAND_TARGET_SPECIFIC_ACK
 - eeprom update things changed a bit
 - eeprom update from L056, L062 (=v0.65e)
VERSION distributed as version v0.66e on 6.Mar.2015
v0.67:  (L066)
 - bug: eeprom update, INPUTFUNCTIONUNDEFINED_L056, INPUTFUNCTIONUNDEFINED_L062
 - bug: msg_id, target sys/comp wrong in COMMAND_TARGET_SPECIFIC_ACK_CRC
 - mavlink_message_t is never allocated, so use payload64[64]
 - eeprom update from L056, L062, L066: v0.56,v0.65e,v0.66e
VERSION distributed as version v0.67e on 10.Mar.2015
v0.68:
 - bug: MAV_CMD_DO_MOUNT_CONTROL memcpy instead of type cast for param6
 - bug gui: displayed bytes when getcommand
 - gui: Configure Gimbal Tool checks for presence of imu(s)
 - mavlink-wrapper crc simplified
 - maximum serial chars per cycle, but only one command
VERSION RELEASED as version v0.68 on 28.Mar.2015
v0.69:
 - bug gui: negative values in scripts (chsw)
 - bug gui: simple PID clicks, now only one step
 - bug gui: Clear GUI -> sets always defaults
 - bug: maximum serial chars per cycle, but only one command, done hopefully correctly now
v0.70:
 - bug: ff quaternion filter wasn't active
VERSION RELEASED as version v0.70 on 5.Apr.2015

v0.71:
 - first attempt to implement HoTT SUMD, no crc check yet, limited to 16 channels => doesn't work (by joebarteam/Menno)
VERSION distributed as version v0.71e on 6.Apr.2015
v0.72:
 - bug: filled empty channels at wrong place in spektrum_update()
 - gui: ExecuteCmdTimeOutFirst=8 instead of 3 as default to work with 3DR radio (by RYBAT)
VERSION distributed as version v0.72a to joebarteam/Menno
v0.73x:
 for STorM32-Link: continuation of v0.69-bc, heartbeat is off, UART is solely for STorM32-Link
 - gui: LINK fields added
 - fYawAngleTargetPrediction to remove a dirty trick
 - STorM32 Link: seems to work :D:D:D
VERSION distributed as version v0.73x on 22.Apr.2015
v0.74:
 - bug: MAV_CMD_DO_MOUNT_CONTROL_QUAT quat converted along the lines found for the STorM32 link, untested
 - bug: HoTT, 2*len+5, works, tested&confirmed (by fpvberlin/Jrg)
 - gui: Configure Gimbal Tool detects i2c errors and $STATUS_LEVEL_FAILED in StepII
 - MAV_CMD_DO_SET_SERVO added, untested
VERSION distributed as version v0.74a on 25.Apr.2015 to fpvberlin/Jrg
VERSION distributed as version v0.74e on 26.Apr.2015
v0.75:
 - bug: current_time - loop_time_micros doesn't work
 - gui: mavlink embedding for Motion Control
 - TASK_MAV_SENDHEARTBEAT instead of doHeartBeat
 - added mavLink message STATUSTEXT #234
 - added mavLink command MAV_CMD_DO_DIGICAM_CONTROL #76#203
 - MAV_CMD_DO_MOUNT_CONTROL:
     type 0x01 added to choose pwm input
     flags changed such that unlimited is default (0x00)
     pwm input made to mimic RCMavlink
 - MAVLINKRC_CMD_SETPITCHROLLYAW: changed such that 700>=in<=2300 is required, 0 = recenter, otherwise it is ignored
VERSION distributed as version v0.75a on 9.Mai.2015
v0.76:
 - bug: script stateness wrong for no>0
 - gui: script compiler adapted (SETPITCH, SETROLL, SETYAW, SETPITCHROLLYAW, not supported)
 - consistent treatment of PWMPASSTHROUGH in script, mavlinkrc, mavlink
 - online scripts: added motion control commands
     SETANGLEPITCH, SETANGLEROLL, SETANGLEYAW, SETANGLE,
     SETPITCH, SETROLL, SETYAW, SETPITCHROLLYAW,
     SETSTANDBY, DOCAMERA, DORECENTER, SETPWM
VERSION distributed as version v0.76a on 12.Mai.2015
v0.77:
 - gui: script editor window sizeable, quick buttons
 - gui: motion control script editor window sizeable, quick buttons
 - added mavlink messages MAVLINK_MSG_ID_DIGICAM_CONTROL, MAVLINK_MSG_ID_MOUNT_CONFIGURE, MAVLINK_MSG_ID_MOUNT_CONTROL
 - added mavlink command COMMAND_LONG - MAV_CMD_DO_MOUNT_CONFIGURE
 - Multiplex SRXL support added (untested so far)
VERSION distributed as version v0.77e on 16.Mai.2015
v0.78: (L078)
 - bug: do time check in serial only after at least one char was processed, prevents disconnect on I2C blocking (by Noircogi)
 - bug gui: Read Calibration failed sometimes, bug in ExecuteCommandFull, len not correctly considered (by lakeroe/Bernhard)
 - bug gui: Share Settings window adaptive
 - gui: do a Read after a Motion Control Run
 - gui: added motion control commands RestoreParameter(), RestoreAllParameter()
 - gui: changed to RcCmd
 - L078 is identical to L066, but commands have changed, hence the layout change
 - serial_transmit, remove numberofcharspercall
 - live data handling changed to use flags
 - remote stuff moved to h
 - serial handler massively revised (!)
 - MAVLINKRC commands dropped and implemented as RCCMD commands instead
 - simple serial commands also embedded in MAVLINK_MSG_ID_COMMAND_TARGET_SPECIFIC
 - rc command CMD_GETDATAFIELDS changed to use live data flags
 - MAVLINK_MSG_ID_COMMAND_LONG-MAV_CMD_DO_SET_PARAMETER with param7==83 it does a restore parameter
 - MAVLINK_MSG_ID_COMMAND_LONG-MAV_CMD_DO_MOUNT_CONTROL param6 handling changed to typeflags = param6 (not memcpy)
   => this needs also change in betacopter!
 - added mavlink message MAVLINK_MSG_ID_PARAM_SET, write+stores parameter change (ATTENTION: only because of APM!)
 - added mavlink command MAVLINK_MSG_ID_COMMAND_LONG-MAV_CMD_PREFLIGHT_STORAGE
 - added mavlink message MAVLINK_MSG_ID_ATTITUDE
 - Setup MavConfiguration, new option 2, emits heartbeat at 1Hz and attitude at 2Hz
 - mavlink crc check enabled
 - when mavlink enabled, accept only mavlink messages from UARTA (mavlink from USB allowed, but there is no heartbeat on USB)
 - emit mavlink attitude only when other system was detected
 - mavlink heartbeat sets also base_mode for armed/disarmed
 - RCCMD commands RESTOREPARAMETER, RESTOREALLPARAMETER added
VERSION distributed as version v0.78e on 26.Mai.2015
v0.79:
 - gui: links in .ini
 - gui: wiki link when StepII error
 - clocks moved to h
 - use millis in livedata timestamp
 - mavlink message MAVLINK_MSG_ID_PARAM_SET, remove store, in MissionPlanner use Ctrl-Y to store
VERSION RELEASED as version v0.79 on 6.June.2015

v0.80:
 - bug: parameters are not properly updated from L066 when flashing (by irun4fundotca)
 - gui bug: errors in stepII wrong (by twang)
 - gui bug: starting Configure Gimbal Tool or Acc Calibration with invalid com port failed fatally
 - gui: better message when firmware version mismatch
 - 5S and 6S lipo handling added (by djberna)
 - ntbus: ntbus mpu support
 - ntbus: i2c is not possible, when run simultaneously on imu2
 - ntbus: priority of ntbus uart set to 1, higher than usb
 - ntbus: changes in motor.h to record states to support ntbus motor drivers
 - motor.h further modified
 - s16tempraw after raw a,g
VERSION RELEASED as version v0.80 on 13.June.2015


v0.81:
 - uart,uartc faster rx isr method
 - ntbus: noise errors removed, xor crc
v0.82:
 - bug: i2c_reseterrorcnt() in find and init
 - bug gui: OK in Configure Gimbal Tool sometimes not enabled
 - motor mapping all six combinations
 - uart tx isr, faster rx isr
 - ntbus protocol changed in some parts
 - ntbus find module faster, uses shorter timeout
v0.83:
 - bug: avoid too short first loop
 - bug ntbus: ntbus_module_config_str() broken get configuration
 - gui: better GUI message for firmware flashing
 - default yaw pan deadband, hysteresis changed
 - clocks.h largely replaced by looptime
 - ntbus tx isr, interlaced (gains 100us), setmotorall() no rx flush
 - ntbus NT Logger data added
 - ntbus make compatible with I2C1 for on-board 2nd IMU
 - i2c.h,mpu6050.h changed to not rely on CPAL_USE_I2Cx
v0.84:
 - bug: voltage correction produced buzz every ca 49s (by bikemikem)
 - direction detection in startup_level_do() only if MOTORDIRAUTO (by wdaehn)
 - gui: allow larger Rc Hysteresis (by wdaehn)
 - ntbus tx per dma
 - log imu raw data
v0.85: (L085)
 - ntbus log, add pid data (adds 80us!)
 - ntbus log, selectable data
 - ntbus modules support setting into bootloader mode
 - gui: flash firmware adapted, sets nt module into bootloader mode
 - TASK_MAV checks time
v0.86:
 - gui: hidden checkbox in acc calibration to override value checks (by GekoCH)
 - ntbus modules, set ports to zero on flash
v0.87: (L087)
 - bug: ts16Imu6Vector s32filtered needs s32
 - bug gui: Silabs adapters didn't work (by hexakopter)
 - bug gui: sanity check of Dialog&DataDisplay init positions
 - update to gcc-arm-none-eabi-4_9-2015q3-20150921
 - gui: add option to remove flash protections to flash tab
 - gui: gimbal config tool i2c check in stepI
 - gui: live recording of DataDisplay data into file
 - gui: data in DataDisplay and NT Tool can be saved in CSV format
 - gui: data in DataDisplay and NT Tool can be saved in PX4 .bin format, for reading with MissianPlanner
 - gui: VIBE along the lines of APM added to stored data files
 - gui&ntbus: new NTDataLoggerTool written in PyQT
 - new rc input absolute modes: old 'absolute' becomes 'absolute centered', 'absolute' is now simple fashioned
 - mavlink message MAVLINK_MSG_ID_ATTITUDE, yaw angle with respect to copter direction (by ljalves)
 - defaults for yaw pan changed
v0.88a:
 - gui bug: halt acc calibration upon disconnect
 - gui nt logger bug: some bugs with loading
 - ee_getpagebaseaddress() instead of EE_PAGE0_BASE_ADDRESS
 - q30_asin_normalized() changed a bit
 - enum IMU2CONFIGURATIONTYPE changed a bit
 - multi-click keys: 4step for but, aux0, aux1, aux2 (by andreas.brett), _input_keyispressed(),_input_keypress() modularized
 - futaba sbus2 support (by gmamo)
 - nikon IR led protocol (by gmamo)
 - fullv2 2nd IMU support
 - bug: pitch for fullv2 corrected for effective setpoint
 - bug; sbus2 end byte wrong order
 - gui bug: PanModeControl, IRCameraControl grayed out for step option (by pawelsky)
 - bug: sbus2 doesn't work => canceled
 - bug: uart had a left-in uncomment, made BT to fail (by Stevie69)
 - bug: change to SCRIPTSIZE_L088, tSetup_L088
 - bug: also track VERSIONSTR and BOARDSTR changes
 - only one pan-hold transition time variable
 - fdT removed
 - yaw pan new mechanism with Yaw Pan LPF
v0.89:  (L089)
 - bug: mavlink parameters out of order
 - gui: dashboard added, some parameters moved
 - gui: simplified pids as default
 - gui: show notes dialog at startup
 - gui&ntbus: NTDataLoggerTool v005 with Graph
 - for hold->pan make transition time a bit faster
 - motor active status added to status2
 - recenter also resets an accumulated yaw pan set point, a bit rough but works
 - space for one more parameter in setup_ptr
 - mavlink SetupParam adapted
 - no EEPROM setup correction, reset all
 - IMU2CONFIGURATIONTYPE renamed and rearranged !
 - gui bug: Configure Tool aborted due to missing GetState() (by MatixYo)
 - gui: auto write upon PID changes (by wdaehn)
 - gui: info center slightly changed
