v2.68a:  (L267) (imu v0.54b)(motor v0.53e)(triple-motor v0.53e)(logger v0.53e)(NTLoggerTool v0.50)
 - gui: do not ntscan Imu3
 - st-drivers, update
 - silence SPI clock warning
 - IDE update 1.13.2, gcc 11.3.rel1
 - increase uart buf sizes to 512/256, makes STM32CubeProgrammer to work
 - gui: use STM32CubeProgrammer for nt module flashing, add option to require minimal version
 - gui: g4 warning in cmd box for system boot loader flashing
 - gui: nt cli logger, readrtc instead of getsetup
 - imu icm, disable AFSR for ICM42688P/V, ICM42605, disable sensors before config for ICM42605
 - g4: disable UCPD pull downs per default (affect PB4,PB6)
 - nt imu, support ICM42688P/V, add v4.2 g4 imu board
 - nt imu: acc filter redesigned, LPF2 biquad, fg ca 160/140 Hz
 - nt imu: enable setup ApplyAccFilter
 - nt logger: migrate fatfs to v015
 - pid supervisor first attempt, only foc
 - gui: gimbal mechanics tab
 - remove stdperiph legacy, glue motors, hal ntbus
 - gui: check updates was broken
v2.67e:  (L267) (imu v0.53b)(motor v0.53e)(triple-motor v0.53e)(logger v0.53e)(NTLoggerTool v0.49)
 - change crsf, sbus to what now "everyone" uses (by dgohstand, S.V.V)
 - update mavlink xmls
 - sync stdstm32-ll with git repo, update uart,spi from
 - replace {0} by {}
 - speedlimit adjustable to 360.0 deg/s (= max)
 - gui: quasi log input for Rc Speed Limit (0..2.5: 0.1 deg/s, 3.0..100.0: 5 deg/s, 110.0..360.0: 10 deg/s
 - ststm32-spi.h, -uart.h updated (aligned to ll lib)
v2.67c:  (L267) (imu v0.53a)(motor v0.53a)(triple-motor v0.53a)(logger v0.53a)(NTLoggerTool v0.49)
 - std lib for adc
 - bug: recenter didn't work when min,max range didn't include 0 (by S.V.V)
 - qmode: add ability to flash id's 8-10,13-15
 - nonfoc, allow flip of gimbal by reading aux/but at init
v2.67b:  (L267) (imu v0.53a)(motor v0.53a)(triple-motor v0.53a)(logger v0.53a)(NTLoggerTool v0.49)
 - glue motor.h modified/improved
 - nt motor: support MA732
 - nt modules: all migrated to ll
v2.67a:  (L267) (imu v0.52c)(motor v0.52g)(triple-motor v0.52c)(logger v0.52c)(NTLoggerTool v0.49)
 - rcchannels libs redesigned
 - bug: sumppm, pwmout overruled some rc channel, affected v1 boards only
 - rc,pwmout,summppm: return to mode Z if disabled
 - spektrum: polarity instead of xor (nfc)
 - more alignment to ll
 - improved inputs tool, shows now all RC and Virtual (input_enablereadallchannels() modified)
 - coocox: CPAL stripped to the essentials
 - ll: uart libs, isr changed

v2.66:  (L262) (imu v0.52c)(motor v0.52g)(triple-motor v0.52c)(logger v0.52c)(NTLoggerTool v0.49)
 - bug motor: model not set for AS5048A if correct reading (by jpou)
 - motor: don't do encoders when encoder model is configured to none
 - motor: change default encoder model from TLE5012B to none
 - bug motor: reconfigure when enc model is changed (by jpou)
   => nt motor v0.52g
 - rc input, speed limit = 0 raised to 360 deg/sec
 - many servo improvements, can be combined now with gimbal, only for FOC though (by S.V.V)
 - bug crsf: gap time was too short
 - inputs, increase timeout from 100 to 167 cycles

v2.65:  (L262) (imu v0.52c)(motor v0.52c)(triple-motor v0.52c)(logger v0.52c)(NTLoggerTool v0.49)
 - mavlink mavftp: ensure that payload in ack/nack is zero filled
 - bug: mavlink mavftp: read burst wrong if filesize smaller than 239
 - mavlink mavftp: works now with MissionPlanner 1.3.79, MP changed size from 0 to 239
 - bug: mavlink yaw pan/lock didn't work correctly
 - c-ify some libs
 - pid foc: Setup.DSource for all cases
 - pid nonfoc: Setup.DSource before pid_apply (bug?)
 - rename WDT to DWT
 - mavlink: handle case of getting both RC_CHANNELS and RADIO_RC_CHANNELS
VERSION Released as version v2.65e on 21.Jan.2023

v2.64:  (L262) (imu v0.52c)(motor v0.52c)(triple-motor v0.52c)(logger v0.52c)(NTLoggerTool v0.49)
 - mavlink: handle RADIO_RC_CHANNELS
 - pan: adapt defaults
 - bug: serial LIVEDATA_ATTITUDE_RELATIVE: correct order to roll, pitch, yaw, correct sign to conform to NED
 - encoders: read encoders also for non-foc, doesn't incur disadvantages for non-foc without encoders
 - bug: ICM42688P on board had wrong settings
 - main boards: support for ICM42688V added
 - v4 boards: hal corrected, fully tested
 - gui: support 2 axis, pitch yaw in GimbalConfigTool
 - gui: check Vmax values, to correct for user stupidity
 - setup: remove IMU2_FULLXY, replace with Setup Imu2Rotation IMU2_ROTATION_XY
 - yaw rel(vehicle) abs(earth) sorted out, gui DataDisplay adapted
 - rename v40 to v41
 - AUTOPILOT_STATE_FOR_GIMBAL_DEVICE_EXT template
 - ensure debug7 = aR2YawStartupOffset
 - gui: adapt mavlink inspector
 - mavlink: support MAV_STORM32_GIMBAL_MANAGER_PROFILE_COOPERATIVE
 - lots of formatting
VERSION Released as version v2.64e on 9.Jan.2023

v2.63:  (L262) (imu v0.52c)(motor v0.52c)(triple-motor v0.52c)(logger v0.52c)(NTLoggerTool v0.49)
 - mavlink: deprecate storm32 gimbal device messages
 - mavlink: updated fastmavlink, rename v2.0 to out
   remove leftover mavlink_digestrcchannelsraw()
   don't handle MOUNT if gimbal device
   make retract/neutral for gimbal device work
 - rc inputs: trajectory filter for rc inputs
 - pan: removed separate pan to hold transition times (were introduced in v2.62k/l for testing)
 - pan: bug or not? PanSetPointAccumulateFlag was set for pitch too, was asked for by dgohstand, but is feature break
 - pan: speed trajectory filter for PanSetPoint
        new parameters PanAccLimit, PanSpeedlimit, PanTFilterSlowdown
        only for pitch, roll currently
        change HoldPanTime default to 400ms
 - setup regularize parameters at startup
 - mavlink: deprecate COMPONENT_PREARM_STATUS, replaced by events micro service
 - mavlink: use revised COMPONENT_INFORMATION_BASICS
 - mavlink: more mstrcpy,mmemcpy things
 - correct recenter in relative mode
 - rc inputs: the tfilter isn't as easy, revert to 4th order lpf
 - bug pan: plane mode was for yaw, not pitch/roll
 - pan: add selector to choose normal,plane method for pitch, roll
 - pan: scale limits according to panstep, pitch,roll
 - setup: initialize unused fields with 0xFFFF, not 0
 - mavlink: handle GIMBAL_DEVICE_FLAGS_RC_EXCLUSIVE
 - pan: remove TFFilterSlowDown, simply enable TFilter for transition time, else disable
 - pan: add 100 ms, no slowdown, but mixing of panstep
        determine defaults, move pan hold transition time to a new field
 - pan: handle yaw axis correctly, handle limits=0 correctly
 - mavlink: possible bug with RETRACT/NEUTRAL in MAV_CMD_DO_MOUNT_CONFIGURE, MAV_CMD_DO_MOUNT_CONTROL
 - mavlink: gimbaldeviceattitudestatus send rate with sign conversion
 - storm32link: behavior of "new" estimator_flags betapilot v4.3.1 investigated, see there
 - pitch-roll gimbal non-foc: add disturbance correction, use improved method, not old

v2.62:
 - param conversion
 - separate out loops for nonfoc and foc
 - make fastlevel consider gimbal axis is used
 - make motor startup, autodir, etc consider gimbal axis is used
   => we can add support to gui
 - serial command 'xV' added
 - gui: 2axis & 1axis support to Gimbal Configure Tool added
 - bug: sbus not working (by dghostand)
 - gui bug: rc commands tool, limited check box removed as not supported anymore
 - bug: in input_changeuartXconfiguration(), right? RC0 & RC1 handling needed
        input_changepwmoutconfiguration(), check that pwmout shall be enabled before skip out check
 - hal ntbus: all nt modules use UART/uart
 - gui: gimbal config, fast startup mode option
VERSION Released as version v2.62g on 1.Nov.2022
 - bug: Setup.RcOffset not correctly considered in fast startup (by patrick99)
 - bug: fast startup for nonfoc spoiled
 - gui: use STM32CubeOProgrammer for all flashing
VERSION Released as version v2.62i on 2.Nov.2022
 - gui: revert to use FlashLoder for flashing of NT modules
 - mavlink: remove MAVLINK_USEMAV2, mavlink_set_outversion_forcev2(), mavlink_set_outversion()
 - mavlink: add MAV_PROTOCOL_CAPABILITY_PARAM_ENCODE_BYTEWISE
 - mavlink: remove MAV_MSG_DIGICAM_CONTROL, MAV_MSG_MOUNT_CONFIGURE, MAV_MSG_MOUNT_CONTROL
 - mavftp: remove xxx_xml_paramstr() functions, obsolete with xz compression
 - mavftp: support burst read, both MP and QGC are happy
 - mav camera: switch to xml download via mftp, instead of http
 - mavftp: switch to xz for camdef files
 - mavlink: COMPONENT_METADATA added, but isn't yet supported by QGC, so rudimentary only
 - mavlink: COMPONENT_INFORMATION_BASIC added, definition not yet finalized, so may change
 - gui: add script control to RC Commands Tool
 - script: allow SETMINMAX to have min larger than max (by S.V.V.)
 - mavlink: GIMBAL_DEVICE_INFORMATION reports rc ranges as limits
 - pan to hold transition times separated, range increased to 3secs
   gui: pan2hold & hold2pan adapted
   more pan to hold times

v2.61:
 - bug: bad bug in storm32link yaw offset determination (by patrick99)
 - delay with DWT
 - removed STORM32BGCV110F103RC, STORM32BGCV120F103RC, STORM32NTBGCV31F103RC, STORM32NTBGCV33F103RE, STORM32BGC_CC3D
 - STATIC_ASSERT() instead of BUILD_BUG_ON()
 - glue.h, lib folder
 - MOTORUSAGE, MOTORMAPPING renamed
 - lots and lots of reformatting in main, and all libs
 - esp, wifi, oled removed
 - mavlink repo updated, mavlink_get_uuid()
 - gui: filter moved to experts menu
 - crsf added (tested myself and confirmed also by dgohstand)
 - FOC: allow disabling/configuring startup checks
 - more storm32link stuff done
 - runcam OSD config & mavlink params
 - rc protocols sum ppm 6,7,8,10,12 removed
 - bug: correct some of the peripherals abstractions
 - crsf: allow also CRSF_ADDRESS_FLIGHT_CONTROLLER
 - serial control: cmd SETANGLEUNRESTRICTED added
 - gui: RC Command Tool adapted to support it
 - gui: simplified PID tuning, special algorithm removed
 - bug: v1.3x, requires delay_init() to come before i2c (by S.V.V)
 - increase case3/4 ranges from 223..277 to 216..284
 - serial livedata simplified
 - serial control: limited angles removed
 - remove IR on v1.x boards
 - mavlink: stream attitude removed
 - rc protocols hott sumd removed
 - gimbal model 3 removed
 - eeprom.h lib update
 - uartc-hw.h lib for some reason did use NVic of misc.h
 - all nt modules upgraded, lots of stuff, v0.59b, among them:
   imu: use NTBUS_CAMERAMODEL, NTBUS_ CAMERACMD, NTBUS_CAMERACMD2 enums
   logger: add NTBUS_LOGGER_STATUS handling
   bug: ee_init() didn't copy 1 to 0 if 0 false (how the f did this come)
   ntlogger: sdcard & rtc flags handling
   motor: tle5012b register init, helps with getting more consistent ofs !!
   motor qmode: some improvements, r2ppofs wo or w param
 - bug motor: rofs could run indefinitely
   bug imu: ext pins not initialized properly at reset
   bug imu: ext out pwm pins set at first SET1 message
VERSION Distributed as version v2.61j on 31.Jul.2022

v2.60:
 - static inline
 - get rid of nvic, set priority group only in main
 - works with both
   gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346, same as STM32CubeIde 1.7.0
   C:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q2-update\bin
   C:\ST\STM32CubeIDE_1.7.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_2.0.0.202105311346\tools\bin
 - lots and lots of abstraction & tidy (SPEKTRUM_xxx, EE_xxx, peripherals, rcchannels, mcu, ...)
is used to convert to HAL/LL

v2.59:  (L256) (imu v0.49)(motor v0.40f)(triple-motor v0.46)(logger v0.49)(oled v0.10)(NTLoggerTool v0.48)
 - mavlink: cleanup systemlist
 - mavlink: Gm, mavlink inspector
 - gui: script compiler bug, now allows commands before first case statement
 - bug: script, SC_RESTART also does panoramaallowexit = 0
 - bug: script, script_cmdparamlen was wrong for SC_REPEAT, was 0 needs to be 1
 - mavcamera: xz compression
 - bug: mavlink, unknown parameter could crash
 - bug: uuid for mavlink did copy 12 not 8 bytes, didn't had consequences though
 - mavlink: somewhat updated params handling
 - mavlink gimbal&camera: support DO_SEND_BANNER
 - mavlink: clean up ftp, remove home-brewed-compressed xml
 - storm32link: landed_state handling, flags ISFLYING added, flag ARDUPILOT deprecated, status2 removed
 - bug, nt imu: sometimes wrong acc scale on reset, don't do icm4288 reset for mpu (by shuricus)
 - nt imu: first do whoiam then reset => Nt Imu
 - logging: PidID added, STorM32Link made option => Nt Logger, NtLoggerTool
VERSION Released as version v2.59e on 8. Sep. 2021

v2.58:
 - mavlink: update to 29.12.2020, with external dialect thing
 - mavlink: remove param ext trimmed stuff
 - mavlink: msg storage information adapted
 - mavcamera: handle storage type, name
 - mavlink: update to 4.02.2021, with external dialect, 600xx
 - mavlink: switch from pymavlink-light to fastMavlink, mimicry
   saves 2.2k flash, even though light was already optimized!
   only limitation is that it can't send v1
 - mavlink: complete change to fastMavlink
 - mavlink: tx seq bug corrected
 - MavlinkVersion setup param removed
 - mavlink: added v2 gimbal device support, is limited, no yaw lock
 - camera: mode CAMERAMODEL_FIREFLY_SPLIT4K_RC added, magic needs to be added to nt imu
 - gui: Firefly Split 4K added
 - hal: restructured
 - ir: ir hal cleaned up, non hal stuff moved to ir (needs testing!)
 - mavlink: fastMavlink v003
 - finally remove CAN completely
 - nt imu: CAMERAMODEL_FIREFLY_SPLIT4K_RC added
 - bug, nt imu: pulse did not work => v0.48d
 - camera: CAMERAMODEL_FIREFLY_SPLIT4K_RC video rec delay added
 - bug: mavlink camera DO_DIGICAM was not using remote_setunshifted_cameracmd()
 - bug: mavlink_digestrcchannels() did set to 0 if out of bounds, now limit it (by shuricus)
 - bug: mavlink_digestrcchannels() handle UINT16_MAX for unused
 - mavlink: add message RC_CHANNELS_RAW, no: removed since AP sends both, no confusion pl

v2.57:  (L256) (imu v0.48a)(motor v0.40f)(triple-motor v0.46)(logger v0.47)(oled v0.10)(NTLoggerTool v0.44)
 - mavlink: update to 2020-08-20 (improved EXT_TRIMMED)
 - mavlink: support param ext trimmed, NEEDS TESTING (tested for untrimmed ext)
 - gui: bug in bitmask, can do only 3, preset button were not reset
 - gui: bitmask field names to lower case
 - bug: do not open uartNt if camera comport is default (by nyquist441)
 - mavlink: update to 2020-08-31 (nesting fixed)
 - mavlink: add vid,pid,uid to autopilotversion for both gimbal and camera
 - bug, mavlink: set some arrays to zero
 - mavlink: files restructured, gimbal separated out
 - mavlink gimbal: storm32.xml
 - mavlink camera: add request MAVLINK_MSG_ID_STATUSTEXT, add custom mode to heartbeat with prearmcheck
 - mavlink: update to 2020-10-11 (gimbal device info)
 - bug NTLoggerTool: bug in tunnel tx handling (by hvermeer) => NTLoggerTool v0.44
 - mavlink gimbal: corrected storm32.xml
 - prepared for PIDPID logging
 - PID restructured to ddiff, dtheta1, CntrlDFromDiff, CntrlDFromDTheta1, CntrlD
 - gui: add correct crc to rc commands, to display it correctly
 - bug serial: crc calculus for rc command wrong, corrected, but still ignored
 - bug: could twitch when a rc signal was present before NORMAL
 - bug: rc input had effect even if CHANNELNOTUSED, especially noticeable for absolute
        change has side effect that remote input also has no effect when CHANNELNOTUSED
        remote angle limited and remote angle unlimited work as before
 - bug: in stdstm32_mpu number for MPU6500 and ICM42688P overlapped (by Gapey)
 - add MPU9255 to mpu lib, add as on-board imu, report it as MPU9250 however! (by impartial32)
 - remote 0xFF handling streamlined, REMOTE_OFF = 0xFFFF, REMOTE_OFF_S16 = INT16_MAX
 - add Remote CameraInput, CameraInput2
 - add serial cmds SERIALRCCMD_SETINPUTCHANNEL, SERIALRCCMD_SETCAMERA (by Sitas)
 - delay at end of fastlevel (not really important, but keep it)
 - mavlink: rc inhibit
 - clear inputs if beeps BeepNormal is running, prevents hickup for doodgy gimbals producing bus errors upon beeps
 - bug: check_motors_is_working() as it was was for prearmchecks only, so check_motors_is_working_4prearmchecks() added
 - add STATUS_ERROR flag
 - mavlink: gimbal heartbeat set to MAV_STATE_EMERGENCY if STATUS_ERROR, not STATUS_EMERGENCY
 - mavlink: latest storm32 xml v 25.Nov.2020
 - add serial cmd SERIALRCCMD_SERIALRCCMD_SENDCAMERACOMMAND (by Sitas)
 - bug: ntbus_changecameraconfiguration() always kept uartNT closed, add VISCA,SERIAL_API (by Sitas)
   corrects change for bug by nyquist441, should have been !default_port
 - SERIALRCCMD_SENDCAMERACOMMAND increased to 24 bytes = 2 ntbus Tx frames
 - ntimu: SERIAL_API added -> v0.48b
 - bug: _update_gimbal_manager_rc() removed, handled already, and this gave unwanted side-effects
 - ntbus_changecameraconfiguration() open only uartNT tx for VISCA
   add also CAMERAMODEL_CAMREMOTE_UART
 - bug: serial Cw, did send _msgackwcrc if wrong task
 - some cleanups concerning inputs
 - serial Gi, enables reading all channels with timeout mechanism
 - gui: inputs tool added
VERSION Released as version v2.57e on 2.Dez.2020

v2.56: (L256) (imu v0.46)(motor v0.40f)(triple-motor v0.46)(logger v0.47)(oled v0.10)(NTLoggerTool v0.42)
 - remove STORM32NTBGCV4XF103RC
 - replace CameraSetting1/CameraSetting2 by CameraControlMode
 - mavlink update 2020-08-01
 - scripts: clean inhibit_scripts into _scripts api
 - mavlink update 2020-08-09
 - add IS_CALIBRATIONRUNNING macro
 - mavlink: add GIMBAL_DEVICE_ERROR_FLAGS_CALIBRATION_RUNNING handling
 - mavlink camera: remove index>0 in MAV_CMD_REQUEST_CAMERA_INFORMATION
 - mavlink camera: add mavlink2 tests in MAV_CMD_REQUEST_MESSAGE, else deny
 - mavlink camera: some precursor to handle param ext trimmed, tested for ISEXT
 - mavlink: remove mount manager
 - get some global macros right
 - remove some uavcan legacies
 - logging: change NTLogging parameter to bit mask
 - logging: PidIn added (error and set point, effective and pan setpoints can be calculated from these)
 - logging: FunctionsInputValues added, option LOGGING_FUNCTIONINPUTVALUES added
 - nt logger: add missing commands => v0.47
 - nt logger & tool: autopilot system time is logged and displayed (by maciek252)
=> NtLoggerTool v042
 - mavlink: bug, STP_IMU2_ORIENT renamed to CNF_IMU2_ORIENT,
                 EXP_STRTUP_DELAY renamed to STP_STRTUP_DELAY
                 EXP_UART1_CNF renamed to STP_UART1_CNF
 - mavlink camera: goprohero5_writeparam_start() also use goprohero_cmdandchecksettings() like gopro7
 - mavlink camera: hero5,hero7 functions unified/simplified
VERSION Released as version v2.56e on 18.Aug.2020

v2.55: (L254) (imu v0.46)(motor v0.40f)(triple-motor v0.46)(logger v0.46)(oled v0.10)(NTLoggerTool v0.41)
 - PanHoldTransitionTime changed from 50 ms to 250 ms, which had been the default and is also the default in the GUI
 - script: SENDMAVTEXT command added
 - script: two lengths, 18/24, 12/16
 - mavlink gimbal: request message ID STATUSTEXT emits banner
 - mavlink gimbal manager: replaced
 - mavlink gimbal: remove component information
 - mavlink ftp: disable gimbal xml for now, keep to maybe replace by own-brewed def files later
 - mavlink: update to 2020-06-24
 - 1st attempt at icm42688p, onboard and nt imu module, onboard seems to be ok
 - mavlink: task flags expanded
 - mavlink: mountstatus and gimbaldeviceattitudestatus can be streamed both broadcast and targeted
 - mavlink: limit stream rate to 6 at minimum
 - mavlink camera: give heartbeat high priority to not starve
 - camera model serial api
 - mavlink: update to 2020-07-01
 - input: reorder 1 and 2, became a bit long, reordering reduces first time slot back to ca 140us
 - input: digest all input channels and store in channel_invalue[], not debounced, costs ca 30 us
     => can open possibility of input display
 - script: SENDMAVTEXT more fine grained lengths, 18,15,12,9,6
 - script: SENDCAMTEXT command added
 - mavlink systemlist extended
 - mavlink: gimbal manger template, mount manager template
 - mavlink gimbal: deny DO_MOUNT_CONTROL,DO_MOUNT_CONFIGURE in gimbal manager mode
 - mavlink camera: digest rcchannels and send status text if no gimbal
 - bug mavlink: MAV_CMD_DO_MOUNT_CONTROL did ignore MAV_MOUNT_MODE_GPS_POINT
 - mavlink: MAVVERSION_MAVLINK1V096 has no effect anymore, changed GUI accordingly
 - script: tScriptParamBuf
 - bug input_handle_recenter(), pid_resetpansetpointoffsetforaxis(axis) instead of pid_resetpansetpointoffset()
 - ReCenterCameraAxes added (by dgohstand)
 - script: DORECENTERPITCH/ROLL/YAW commands added
 - inhibit_scripts (by shuricus)

v2.54: (L254) (imu v0.46)(motor v0.40f)(triple-motor v0.46)(logger v0.46)(oled v0.10)(NTLoggerTool v0.41)
 - remove Imu3
 - remove UAVCAN
 - setup: values changed of CAN, MAVSTREAM
 - mavlink: removed mount_orientation
 - mavlink: new gimbal v2 protocol, for gimbal device, first tests indicate it's good
 - remove '-' sign in ahrs_atan2() and move to there it belongs
 - improve: set MAV_MODE_FLAG_SAFETY_ARMED only if motors engaged (disarmed upon low voltage etc)
 - ICM42688 flags pro-actively added
 - 1st attempt at VISCA support, only NT IMU, seems to work, needs more detail on how it should work (by sitas)
 - visca added to mavlink camera
 - visca added to uart,uart2,uartX, TODO: baudrates!!!
 - mavlink: add rate data to GIMBAL_DEVCIE_ATTITUDE_STATUS
 - mavlink: add error_flags to GIMBAL_DEVCIE_ATTITUDE_STATUS, introduced checks.h and separated out checks-prearm.h
 - gui: remove imu3
 - bug mavlink: 4 Hz wasn't exact, slots 2&1 were swapped
 - mavlink: basic gimbal manager, 1st attempt
 - serial: completely deprecate SERIALRCCMD_CONNNECT, SERIALRCCMD_STORM32LINK_V1
 - storm32link via serial: make it more robust, set AHRSFIX only if not all vx,vy,vz are zero
 - mavlink gimbal: protocol v2, protection against other gimbal manager
 - bug: rc autotrim worked only for positive offsets (by RocketMouse)
 - nt motor: motor triple added, required some changes to motor-hal.h
 - gui: motor triple support
 - bug: in FOC mode when IMUS is set to full but not present, led did warn blinking
 - motor triple: first version
 - nt logger bug: removes a bug with reading the date time in gui
 - nt logger: go back to 400 Hz, don't do DEINITS, seems to be more robust
 - nt logger: handle case of low battery yielding 1.1.2000 and thus overwrite of file, falls back to normal file name
 - nt: add ntbus_putcmd_woflushrx()
 - nt: add NTBUS_CMD_AUTOPILOTSYSTEMTIME, and send function
 - nt: ntbus slot0, does camera, autopilot systemtime, set logger datetime, also removes a possible bug
 - mavlink: add handling of SYSTEM_TIME
 - mavlink gimbal: manager, timeouts, _sanitize_gimbal_device_flags()
 - new setup conversion mechanism, for v240(L236) and v253(L250)
 - mavlink gimbal: no rc should disable
VERSION Released as version v2.54e on 6.June.2020

v2.53: (L250) (imu v0.45)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - bug: serial 'xn', 'xf'
 - bug: Remote.Pan handling, didn't consider -1 shift
VERSION Released as version v2.53 on 17.Mai.2020

v2.52: (L250) (imu v0.45)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - bug: initialize script if control input changes
 - add FIVESTATE to inputs, and CASE#4 to scripts (by shuricus)
 - bug: case4 not correctly displayed in DataDisply for script (by shuricus)
 - mavlink: new pymavlink_light, reshuffled to better fit master
 - mavlink: updated to latest master
 - mavlink: camera uart tunnel ch3
 - remove fbuf.h, not used
 - com: extra buf, separate from fbuf
 - bug mavlink: clear mav tasks when mavlink disabled
 - move serial_dec_timeout() out of while()
 - modify serial to reject mavlinks on non-uart ports when mavlink is enabled
 - bug mavlink: resolve a race condition with tunnel channels
 - properly reinitialize stuff upon camera model change
 - pseudo bug: changing fake camera model could hang up
VERSION Released as version v2.52 on 20.Apr.2020

v2.51: (L250) (imu v0.45)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - bug: in script twostate wasn't constrained to only allowed values (by maciek252)
 - make prearm checks changes become effective immediately
 - mavlink camera: call mavcamera_paramset_start() for various cameras for MAV_CMD_SET_CAMERA_MODE
 - mavlink camera: gopro5,gopro7 to v251, use default mavlink param names like CAM_VIDRES
 - renamed some MAVDBG defines to make searching easier
 - mpu6500 added (by Gapey)
 - script add DOPANAOALLOWEXIT
 - inputs add PWMOUT_ONOFF
VERSION Released as version v2.51e on 25.Mar.2020

v2.50: (L250) (imu v0.44)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - bug gui: importer LAYOUT issue
 - gui: support of bit masks
 - deprecate STATUS_NTBUS_INUSE
 - prearm checks, send as 0x8000000 in gimbal heartbeat custom_mode
 - make prearm flag 0x80000000 to mean prearm fail, that way it's backwards compatible
 - disable/enable irq wrapper around all ee_writedata() (this appears to be indeed important!)
 - inputs rc_ispresent, virtual_ispresent handling
 - change checks AUXx_high to AUXx_low
 - STATUS4_IRCAMERA, STATUS2_MAVLINK_V2 removed, weren't used
 - move STATUS3_IMUx_STORECALIBRATIONINNTMODULE to STATUS3_IMUx_STORECALIBRATIONINNTMODULE
 - STATUS_STORM32LINK_INUSE renamed to STATUS_STORM32LINK_AVAILABLE
 - bug: pack_functioninputvalues() did pack incorrectly for more than 8 functions
 - unroll pack_functioninputvalues to sequence PANMODE, STANDBY, RECENTERCAMERA, CAMERA, CAMERA2, SCRIPT0, SCRIPT1
 - LIVEDATA_ENCODERANGLES log cPID[axis].MotorCntrl for non-foc (for Heclo)
 - uncomment MAVLINK_HELPER in protocol.h, made a7 to work
 - combine com_prepare_transmit() & com_set_transmission_len()
 - mavlink branch and qmode split in serial_do() slightly rearranged
 - mavlink ftp: for camera we only offer xml.gz definition files, for gimbal currently still the plain xml
                for Dummy1 we specify the xml.gz in the uri for testing
 - bug gui: temperature in calibration incorrect
 - bug: Cw for imu1 gyrozero had wrong offset
 - gui: gyro calibration
 - handle skipping gyro calibration
 - prearm checks debounce aux0,aux1
 - faststartup approach somewhat improved, faster now
 - mavlink: remove MAVLINK_USE_RCCHANNELS, handle always, have a MAVLINK_REQUEST_RCCHANNELS
 - proper upgrade from L247 to L250
 - there is problem with storing, no, was hunting a ghost, new cables completely resolved this
 - gui: bitmask improvements
 - bug gui: packed values incorrect
 - prearm as function value
 - rename pwmpassthrough to pwmout, UARTX, VIRTUAL with _
VERSION Released as version v2.50e on 18.Jan.2020

v2.49: (L247) (imu v0.44)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - adc.h, lipo.h reworked, behavior change of usb connected detection
 - 1S/single cell/5V power source capability
 - bug mavlink: add MAV_PROTOCOL_CAPABILITY_COMMAND_INT
 - mavlink camera: hero7 changes settings in mode change!! => cmdchk!
                   also py scripts modified
 - uartX stuff
 - bug gui: importer got layout wrong
 - gui: importer reports params not set
 - changed build system to GNU Tools ARM Embedded\6 2017-q2-update, did not made a difference
 - pid pan handling in extra function
 - storm32link for non.foc, 1st attempt
 - logging debug, always log storm32link if enabled
VERSION Released as version v2.49e on 1.Jan.2020

v2.48:  (L247) (imu v0.44)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - mavlink: disable requesting MAVLINK_USE_RCCHANNELS, but allow digesting
 - bug mavlink: generate_mountorientation() had wrong angles
 - mavlink camera: add gopro hero7
      => parse3all new compdef xml's
      => needs new NT Imu firmware
      => needs new mavftp xml's for gopro cameras //TODO
 - mavlink camera: some rudimentary zoom stuff, QGC doesn't seem to notice yet
VERSION Distributed as version v2.48b on 15.Dez.2019
 - new mavftp xml's for gopro cameras
 - some #define re-shuffling
 - bug gopro hero7 video ISO Min was wrong
 - mavlink ftp: gopro xml as gzip files added, py script extended accordingly
 - mavlink cam def: conditions added for gopro hero7
 - mavlink camera: zoom for gopro hero7
VERSION Released as version v2.48e on 22.Dez.2019

v2.46: (L243) (imu v0.42)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - mavlink: component information, new URI, version macro
 - xml a bit rearranged for camera, new token names
 - mavftp for gimbal a bit advanced, parser updated, compiler needs update, needs testing
 - F103RE
 - bug: do IMU calibration also when not required but present
 - mavftp for gimbal further advanced, needs to handle long strings
 - mavlink: add set mode to MAV_CMD_DO_DIGICAM_CONFIGURE, make shoot in MAV_CMD_DO_DIGICAM_CONTROL dependent on camera mode
 - gopro generic camera model added => NT imu v0.42
 - bug: check connection of camera needs be done also if mavlink camera not enabled or not yet active!
 - startup_fastlevel_isallowed(() changed to be always true for FOC, simplifies calls
 - onboard icm42605, _imu_onboard_model variable
 - imu temperature model specific
 - mavlink: mavftp for gimbal for F103RE per default
VERSION Released as version v2.46e on 24.Nov.2019

v2.45: (L243) (imu v0.40g)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - setup: straightened
 - mavlink: don't let RCChannles go to camera, cut it out early
 - mavlink: gopro battery percentage
 - mavlink: MAV_CMD_SET_MESSAGE_INTERVAL, MAV_CMD_REQUEST_MESSAGE param7 option
 - mavlink: MAV_CMD_DO_SET_SERVO return proper ACK_RESULT, servo number must be = 0
 - mavlink: MAV_CMD_DO_SET_CAM_TRIGG_DIST distance must be = 0
 - mavlink camera: MAV_CMD_DO_DIGICAM_CONFIGURE added
 - mavlink camera: MAV_CMD_RESET_CAMERA_SETTINGS proper result
 - mavlink gimbal,camera: MAVLINK_MSG_ID_COMMAND_INT added
 - new goprohero5 xml, with bool, xml version 244
 - mavlink-xml: bool, float types
 - mavlink camera: heartbeat handling upon connect, move higher up
 - do not copy over script when updating from v2.40/L236
VERSION Released as version v2.45e on 3.Nov.2019

v2.44: (L243) (imu v0.40g)(motor v0.40f)(logger v0.41)(oled v0.10)(NTLoggerTool v0.41)
 - mavlink camera: updated gopro-wifi
 - mavlink camera: lock, extension tmo, relevant for gopro at high rates
 - mavlink camera: response error handling, general and gopro
 - mavlink camera: connected, not connected handling
 - mavlink camera: battery every 5 secs
 - mavlink camera: clean ups, renamings
 - mavlink camera: connect detection for runcam split mini2
 - mavlink: MAV_CMD_SET_MESSAGE_INTERVAL, MAV_CMD_REQUEST_MESSAGE support param4 option, only affects MOUNT_STATUS
 - mavlink tunnel: no 10ms pooling also for CH2, pooling doesn't make sense
 - serial 'Cw' options 7,8 added
 - serial 'Nc' added
 - logging: potadc5 added
 - gui: Import, Export from File, also for LoadScript, LoadCalibration
 - gui: firmware programmer selection for v3.3 corrected/improved
 - gui scripts: concise parameter value handling, SET,SETMINMAX are replaced by SETP, SETPMINMAX
 - nt logger: read datetime added => v0.41 nt modules
 - mavlink: cmd long ack responses corrected to latest standard clarification
 - mavlink camera: add cmd ack denied depending on camera model capabilities
VERSION Released as version v2.44e on 27.Oct.2019

v2.43: (L243) (imu v0.40g)(motor v0.40f)(logger v0.40f)(oled v0.10)(NTLoggerTool v0.41)
 - mavlink camera: xml version-ing
 - mavlink camera: connection test
     goprohero5 heartbeat delayed until connected
     dirty but seems to do the trick
 - rearrange parameters
 - increase room for new parameters to 64, should last a long while, required fbuf size is 810
 - proper update from v2.40,v2.42l, else make setup to default all params, scripts, calibration constants
 - mavlink camera: battery status
 - IBUS protocol added (not tested), some renaming
 - mavlink: much simplified and cleaned mavlink_transmit()
 - com stuff further simplified,streamlined,cleanedup, two bugs found
 - mavlink camera: STATUS3_CAMERA_SHOWCONNECTED, STATUS3_CAMERA_ISCONNECTED
 - terrible bug (stack?) in new PID stuff! restarted from v242h, all copied in except of new pid
   main pid stuff moved to functions
 - mavlink: mountstatus handle differently for stream and for request
 - make DSource = 1 the default
VERSION Released as version v2.43e on 12.Oct.2019

v2.42l: (L242) (imu v0.40g)(motor v0.40f)(logger v0.40f)(oled v0.10)(NTLoggerTool v0.41)
 - uc4h-lib: SETUP_PARAMETER_ZAHL replaced by CamelCase to avoid bug
 - make SETUP_PARAMETER_SIZE obsolete, use SETUP_PARAMETER_EEPROMSIZE for CHECK_SIZE, is way too large but better so
   adjust TYPE handling such that Setup variable is always 16_t, only size in g&p streams are 8_t or 16_t
 - byte length parameters for LIST and some others, saves 79 bytes! seems to work, uses createstuff.py to create values&fields
   needs more extensive testing, of also side effects such as RC commands and so on
 - mavlink: Setup MavVersion, replaces __ApCompatibility
 - setup_parametersandscripts_len() changed
 - mavlink: MAVLink 2 support, mavlink lib massively redone, support of plenty new MAVLink messages
 - new filter section, three notch filters, int, not yet sure though if float or int is better
 - gui: comment option field
 - mavlink: remove MAV_CMD_DO_MOUNT_CONTROL_QUAT
 - mavlink: simplify com_start_transmit_mavlink()
 - mavlink: camera micro-service prototypes added
 - mavlink: paramlist handling much improved, doesn't block reception anymore, COMSTATE_MAVLINK_IDLE removed
            resolves issue when MNT_TYPE 4 is used due to bog down by CMD_LONG stream
            rename to COMSTATE_TRANSMIT_MSG
 - mavlink: remove unused do_crc_wextracrc()
 - mavlink: param_set changed to not use index 0 when out of range
 - mavlink: param ext stuff, not supported by ArduPilot, so can't test LOL
 - capability extended by UAVCAN, MAVLINKCAMERA
 - mavlink: param ext stuff made working, uri works too, framework seems to be all good
 - mavlink: command long, ensure that each returns an ack message
 - mavlink: digicam control, mount control according to spec
 - mavlink: add support of MAV_CMD_PREFLIGHT_REBOOT_SHUTDOWN, to comply with gimbal micro-service
 - mavlink: gimbal,camera command long in extra function, saves quite some bytes, also cleaner
 - mavlink: add MAV_CMD_DO_SET_CAM_TRIGG_DIST support
 - mavlink: AP's deprecated digicam,mount messages only for v0.96
 - mavlink: repo updated to 2019-05-17
 - ir: ir renamed to camera, cameramodel, cameracmd
 - ir: RUNCAMSPLITMINI2, model added, GUI adapted
 - ir: changes in nt-imu, no function yet though
 - ir: IRCAMERA2 option stuff added, no function yet => LAYOUT CHANGE !!!!
 - bug: TASK_RESTART_IS_PENDING mask was wrong, didn't match tasks
 - mavlink: multiple model parameters and paramlist handling
 - remote_setdirect_cameracmd() in remote.h, use in script.h
 - mavlink: remote videoon/off,shutter
 - mavlink: interval for image capture, with index counting
     STorM32 Generic Camera seems to be fully working!
 - camera model enum extended
 - camera support for CAMREMOTE_UART, RUNCAM_GENERIC/SPLIT added, uses sw_uart for TX, seems to be fine
 - camera support for PWM_RC
 - mavlink: camera manager camera model handling streamlined
 - ntbus: SET2 for nt camera
 - camera: Cmd2 support
 - camera: OSD menu for runcam => new NT imu firmware
 - mavlink: request_data_stream for ArduPilot added, rc_channels handling, active for virtualconfiguration = serial
 - runcam stop bug protection, start also requires a delay, but much shorter than for stop
distributed as v2.42a on 25.05.2019
 - nt bus: swuart tunnel added, works, required massive work on swuart to get ISR behavior right
 - camera uart_tunnel added, undocumented
 - mavlink: camera storage information handling for runcam
 - mavlink: camera read parameter handling for runcam
 - mavlink: camera, remove TASK_MAVCAMERA_SENDNEXTPARAM
presented as v2.42b on 2.6.2019
 - STATUS2_MAVLINK_PRESENT/V2 added
 - gui: support for STATUS2_MAVLINK_PRESENT/V2
 - mavlink: add MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES, both for gimbal and camera
 - mavlink: new mavlink common.xml with tentative MAV_CMD_REQUEST_COMPONENT_INFORMATION and message component_information
 - tasks: tasks for mavlink only
 - mavlink: MAV_CMD_REQUEST_COMPONENT_INFORMATION and generate_component_information() handling added
 - bug, mavlink: allow generate_camera_paramvalue() also for v1
 - mavlink: protocol version handling added
 - mavlink: add MAV_CMD_REQUEST_MESSAGE PROTOCOL_VERSION, AUTOPILOT_VERSION, added to both gimbal and camera,
            also return DENIED if not supported message id
 - add preliminary BOARD_WO_ONBOARDIMU
 - uavcan: disable all storm32 specific messages
 - add input_do2()
 - spektrum sbus inverted added
 - PWMOUT added to v3.3 board, tested
 - SUMPPM added to v3.3 board, tested
 - sumppm auto, variable packet length
 - SUMPPM_NUMBEROFCHANNELS increased to 16 for v1.x, v3.3
 - rcchannels_hal_micros() to sumppm_hal_micros() to avoid bug
 - bug spektrum: sbus used no parity, should be even parity, multiply sbus also by 1.17, like for dsm,
                 this gives consistent readings among spektrum, sbus, rc0 for the OR800 receiver
 - filter: much prepared for mot filter, but not yet active
 - motor handling slightly rearranged, non-foc only done when foc not enabled
 - gui: add emergency shutdown flag handling to dashboard, statusline
 - ntbus: camera tx/rx open/close handling added, tx,rx only for runcamsplit, uart
 - bug: some sbus receivers have short blank times, reduce to 2ms in spektrum.h, and call also in do2() (by ManuC)
 - serial: remove _serialmsg.response, doesn't appear to be needed, replace by SETTASK()
 - mavlink camera: camremote uart with its proper name
 - mavlink camera: mode needs to be reset with model change
 - ntbus tunnel: timeouts resolved by moving rx forward, nevertheless set to 150
distributed as v2.42c on 16.06.2019
 - bug: Setup.MotorUsage used in main, replaced by motors_get_usageflag()
 - bug: in setup_handle_parameters_change(), can jump into STATE_STARTUP_RELEVEL in ENCODER mode
 - IS_MOTORS_ALLNORMAL, some IS defines moved from setup to main
 - motor usage, remove level, replace by servo
 - allow motor control when all three motors are servo, works also without any IMU
 - gui: add level failed flag handling to dashboard, statusline
 - rcinputs do: change signs for pitch and yaw axis, helps to avoid unusual settings
                ATTENTION: breaks backwards setup compatibility!
distributed as v2.42d on 20.06.2019
 - bug: bug in MAVLINK_MSG_ID_DIGICAM_CONTROL, right?
 - setup servo PIDs added
   gui adapted accordingly
 - script: beep
   gui adapted accordingly
 - MavSystemId default to 1, not 'G'
 - mavcamera: uint16 parameters
 - mavcamera: gopro hero5 autogenerated .h, .xml added, works
 - nt imu: goprohero5 added
 - mavcamera: gopro hero5 default params added
 - mavcamera: changed to consistently MAV_PARAM_TYPE, added UINT32, works
 - bug: in mavlink request rc channels only if mavgimbal is in use
 - mavcamera: gopro hero5, capacity, handler, seems all to work, QGC is extremely harsh in timing
 - mavcamera: totally new handler, ring-based for paramreads, model specific timeouts
 - mavcamera: gopro handle multiple changes
 - mavcamera: gopro do voluntary send of params twice, send it from ram, don't refetch
 - mavcamera: getparam retry, getcameracapturestatus retry
 - mavcamera: give SENDPARAMEXTACK priority over SENDPARAMEXT, SENDPARAM
 - mavlink: MavComponentId -> MavGimbalId, mavgimbal_id()
 - mavcamera: model dependent retries
retested for runcamsplit2, no issues observed
 - renaming __beeps to _beeps, __motor to _motor, __motorfoc to _motorfoc
   nt libs adapted accordingly
 - renaming __inputs to _inputs, __virtualserial to _virtualserial, __uart1 to _uart1
 - renaming camera models to CAMERAMODEL_xxx
 - renaming IRXxxx to CameraXxxx
 - runcam lib moved to cameras subfolder
 - CameraUArtConfiguration, uartCamera and related stuff added
 - mavlink camera: added to cmd request_message:
   MAVLINK_MSG_ID_CAMERA_INFORMATION, MAVLINK_MSG_ID_CAMERA_SETTINGS,
   MAVLINK_MSG_ID_STORAGE_INFORMATION, MAVLINK_MSG_ID_CAMERA_CAPTURE_STATUS
 - mavlink: added to cmd request_message: MAVLINK_MSG_ID_COMPONENT_INFORMATION
 - mavlink: MAVVERSION_MAVLINK2 and MAVVERSION_MAVLINK1V096 swapped, gui adapted
 - mavlink: correct MESSAGE_INTERVAL interface
 - mavlink: improve MAV_RESULT_FAILED over MAV_RESULT_DENIED
 - mavlink: autodetect sytem id for SystemId = 0 (by julianoes)
 - mavlink: updated to master 2019-08-09, 16173466
 - gopro-wifi v20190809
distributed as v2.42f on 09.08.2019
 - setup SHUTTERDELAYED removed, also removed ir pulses, CAMERACMD_SHUTTERDELAYED_DEPRECATED, ir_hal_startpulse() adapted
   nt imu: adapted accordingly
 - gui: Camera Settings#1,#2 changed, Camera Models 'Ir' added
 - gui: (check for Write+Store) added
 - mavlink: TUNNEL added, but only reflects data so far for testing
 - mavlink: camera: MAVLinkFTP completed, seems to work all great with MissionPlanner
   there is an issue with the crc32, since MissioPlanner uses AP's one which isn't compliant with crc32
 - mavlink: MAVLinkFTP generalized
 - gui: save screenshot better
 - 3-axis,2-axis,1-axis handling, also for FOC, totally new encoder present,ok handling
   seems to work generally OK
   gui adapted accordingly
   limitation: can't mix normal and servo
distributed as v2.42g on 20.08.2019
 - mavlink: tunnel via virtual port
   TODO: keep track of where it came from and should go to, we need several channels !?!?!?!
 - gui: nicer COM port names, use WMI, is slower but nicer
 - gui mavlink: tunnel
 - gui mavlink: GUI component ID from .ini file
 - mavlink: allow TYPE_GCS but not MISSIONPLANNER to set sysid
 - gui mavlink: emit HB also after timeout, permits using gimbal sys id autodetection
 - mavlink: tunnel, prepare for two channels
 - mavlink: master of 2/9/2019 merged
 - mavlink: handle tunnel.paylpoad_length,
            end of payload marker NOT removed, but not counted in payload_length, as this simplifies GUI coding
 - mavlink: replace MavConfiguration, MavGimbalId by MavGimbal, MavGimbalStream
   gui adapted accordingly, Mavlink Gimbal, off,Gimbal1...Gimbal6
 - mavlink: change SystemId default from 1 to 0 (= autodetection)
   gui adapted accordingly
 - nt imu, logger, motor: rs485 active high/active low pins added on PA0, PA15, NOT TESTED! (by Gapey)
 - mavlink: Setup MavVersion, new sequence 0:Mavlink2, 1:Mavlink1, 2:v096, makes Mavlink2 also default
   gui adapted accordingly
 - mavlink: solving the 'xx' restart fail, needed two things:
            postponing restart by some cycles to give comM a chance
            not reseting system id autodetection
 - gui: mavlink info center
distributed as v2.42h on 03.09.2019
 - gui: improve foc handling, remove lists, add foc directly to param -> needs change in param py's
 - some enum names changed: MOTORDIRECTIONENUM, STARTUPMODEENUM, INPUTCNTRLMODEENUM, BEEPSENUM,
                            STORM32LINKENUM, LOGGINGENUM, IMU2CONFIGENUM, IMU3CONFENUM
 - mavlink ftp: use MAVFTP_ERROR_FileNotFound
 - Setup PID T params added
 - control roll mixing: seems to work, roll mixing seems to improve stabilization
 - control model based: seems to work, T1 also seems to improve stabilization, T2,T3 not so clear
 - gui: share settings respect foc
 - split pid_do() into pid_do_prepare() and pid_do_apply(), to have EffectiveSetpoint
 - mavlink: accept type_gcs with MAV_COMP_ID_USER40 <= compid <= MAV_COMP_ID_USER60
 - gui: mavlink tunnel, enable/disable firmware, ESP, BT
 - gui: mavlink info center: improved to better ensure autopilot is detected when present
 - mavlink: mavlink_helper.h, patch in pymavlink PR #343
 - bug: if no IMU present, NTtunnel produces errors, added !IS_IMU_PRESENT to ntbus_changecameraconfiguration()
 - servo pid for foc, first basic attempt, appears to work
 - gui: autowritepid for servo pid fields
 - bug gui: port did not do mavtunnelupdate()
 - bug pwmout: set pulse to PwmOutMid at startup (by colella)
 - rcchannels: - renaming __pwmout to _pwmout, __sumppm to _sumppm
 - camera model CAMERAMODEL_MAPIRSURVEY_RC added
 - nt imu: set pulse to 0 at startup, to ensure clean first signal
           added CAMERAMODEL_MAPIRSURVEY_RC
           bug in resetting camera pwm, added function camera_reset_pwm(), needs also be called at camera change
           => v0.40g
 - bug gui: CameraModel param should always be enabled
distributed as v2.42i on 12.09.2019
 - bug: clear also aImuXAngle
 - bug: don't do imu1_AHRS_do() when IMU1 is not present
 - #define BOARD_WO_ONBOARDIMU seems to work
 - dtheta1 from omega1, testing seems to indicate it works great
   but it doesn't seem to improve anything, is it worth it ????
 - added IMU2 a,g reading for foc when imu2 is present, is calibrated if imu required
 - calculate feedforward, may not be really useful
 - mavlink: attitude, replace MAV_GRADTORAD_F*ahrs_to_f() by ahrs_to_f_rad()
 - mavlink: update to master of 2019/09/20
 - mavlink: change MAV_TUNNEL_PAYLOAD_TYPE_STORM32_CHANNELX to MAV_TUNNEL_PAYLOAD_TYPE_STORM32_RESERVEDX
 - mavlink: change msg compid for GUI to MAV_COMP_ID_TUNNEL_NODE, [MAV_COMP_ID_USER40, MAV_COMP_ID_USER50[
 - gui: respective changes made in GUI
 - gui: NTCLiTool with buttons for some standard commands
 - mavlink: tunnel channel2
 - mavlink gimbal: more accurate heartbeat mode&status
 - mavlink: stream tsys,tcomp handling corrected/improved
 - mavlink: default stream from 10Hz to 8Hz, emit angles at 4Hz instead of 2Hz
distributed as v2.42j on 26.09.2019
 - DSource renamed
 - dtheta1 from omega1, controller stuff put into functions for cleanup
 - dtheta1 from omega1, controller model1 also for non-foc
 - gopro esp32: rx pullup mod
 - bug: serial not mavinuse() and com_ismavlinktunnelcom() should flush both M1 and M2
 - mavlink camera: add MAV_CMD_DO_DIGICAM_CONTROL, don't execute if broadcast and gimbal enabled
 - mavlink: bug in routing, didn't catch possibility of mavgimbal_id() = 0
 - mavlink: renaming, restructuring
 - bug mavlink tunneling: handling of source & sink, changed source handling corrected
 - mavlink: tunneling, disallow target component = 0
 - mavlink camera: add tunnel channel1
distributed as v2.42l on 7.10.2019

v2.41:
 - bug pid.h, proper startup if PID is deactivated also for FOC
 - lipo.h, slightly restructured
 - qmode_do_loop() MOTORS_USE protections
 - motor.h, use MOTORS_USE to remove sin array for v33, reduces code and especially RAM a lot

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
