Skip to content

Commit

Permalink
release firmware v0.68
Browse files Browse the repository at this point in the history
  • Loading branch information
olliw42 committed Mar 28, 2015
1 parent b7c494e commit 3c13854
Show file tree
Hide file tree
Showing 130 changed files with 119,211 additions and 0 deletions.
Binary file not shown.
34 changes: 34 additions & 0 deletions firmware binaries & gui/o323bgc-release-v068-v20150328/LICENCE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
LICENCE
5 November 2013 - 28 March 2015
(c) www.olliw.eu

The project called simply as STorM32-BGC consists of several parts, such as the STorM32-BGC controller
hardware, the o323bgc firmware, and the graphical user interface o323BGCTool. This licence covers the
terms of usage for the o323bgc firmware and the o323BGCTool graphical user interface. For the terms of
usage of other parts please consult the respective locations, in particular the project web page.

project web page: http://www.olliw.eu/2013/storm32bgc/


LICENCE/TERMS OF USAGE for o323bgc firmware:
--------------------------------------------
The o323BGC firmware is free (but not open source). Besides unlimited private use you are also granted
the permission to use it for commercial purposes under the condition that (1) you don�t modify the
firmware, e.g. remove or change copyright statements, (2) provide it for free, i.e. don�t charge any
explicit or implicit fees to your customers, and (3) correctly and clearly cite the origin of the firmware
and the project web page in any product documentation or web page.


LICENCE/TERMS OF USAGE for o323BGCTool graphical user interface:
----------------------------------------------------------------
The o323BGCTool software is open source (but see below). Besides unlimited private use you are also
granted the permission to use it for commercial purposes under the condition that (1) you don�t modify
the software, e.g. remove or change copyright statements, (2) provide it for free, i.e. don�t charge any
explicit or implicit fees to your customers, and (3) correctly and clearly cite the origin of the software
and the project web page in any product documentation or web page.

Comment: The GUI software is based on libraries, which I am using since nearly 10 years and which I have
modified over time in several places I can�t remember anymore. Furthermore, it is written in Perl using
Win32::Gui, which is not maintained anymore. It would take me an enormous effort to build a working
distribution. I hence don�t publish the complete code but just the �master� perl source file, which
however contains all relevant code.
282 changes: 282 additions & 0 deletions firmware binaries & gui/o323bgc-release-v068-v20150328/REVISION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,282 @@
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: 90�yaw 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




Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 3c13854

Please sign in to comment.