Skip to content

Commit

Permalink
release firmware v0.46
Browse files Browse the repository at this point in the history
  • Loading branch information
olliw42 committed Oct 1, 2014
1 parent d59c978 commit 0f5319d
Show file tree
Hide file tree
Showing 117 changed files with 119,116 additions and 0 deletions.
34 changes: 34 additions & 0 deletions firmware binaries & gui/o323bgc-release-v046-v20141001/LICENCE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
LICENCE
5 November 2013 - 1 October 2014
(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.
108 changes: 108 additions & 0 deletions firmware binaries & gui/o323bgc-release-v046-v20141001/REVISION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
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


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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
;;******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
;;* File Name : STM32F0_16K.STmap
;;* Author : MCD Application Team
;;* Version : v2.6.0
*;; Date : 07-November-2012
;;* Description : memory mapping
;;********************************************************************************
;;* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
;;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
;;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
;;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
;;* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
;;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;;********************************************************************************
;;* FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE
;;* "MCD-ST Liberty SW License Agreement V2.pdf"
;;*******************************************************************************/

[Product]
Name=STM32F0_16K
PID=0440
BID=1FFFF7A6
FlashSize=0010 ;;ADDR_FLASH_SIZE= 0xFFFFFFFF;
RAMSize=0004
PacketSize=80
ACKVAL=79
MAPNAME=Pages
PagesPerSector = 4
family = 7;

[Page0]
Name=Page0
Index=00
Address=08000000
Size=00000400
Type=111
UFO=111
[Page1]
Name=Page1
Index=01
Address=08000400
Size=00000400
Type=111
UFO=111
[Page2]
Name=Page2
Index=02
Address=08000800
Size=00000400
Type=111
UFO=111
[Page3]
Name=Page3
Index=03
Address=08000C00
Size=00000400
Type=111
UFO=111
[Page4]
Name=Page4
Index=04
Address=08001000
Size=00000400
Type=111
UFO=111
[Page5]
Name=Page5
Index=05
Address=08001400
Size=00000400
Type=111
UFO=111
[Page6]
Name=Page6
Index=06
Address=08001800
Size=00000400
Type=111
UFO=111
[Page7]
Name=Page7
Index=07
Address=08001C00
Size=00000400
Type=111
UFO=111
[Page8]
Name=Page8
Index=08
Address=08002000
Size=00000400
Type=111
UFO=111
[Page9]
Name=Page9
Index=09
Address=08002400
Size=00000400
Type=111
UFO=111
[Page10]
Name=Page10
Index=0A
Address=08002800
Size=00000400
Type=111
UFO=111
[Page11]
Name=Page11
Index=0B
Address=08002C00
Size=00000400
Type=111
UFO=111
[Page12]
Name=Page12
Index=0C
Address=08003000
Size=00000400
Type=111
UFO=111
[Page13]
Name=Page13
Index=0D
Address=08003400
Size=00000400
Type=111
UFO=111
[Page14]
Name=Page14
Index=0E
Address=08003800
Size=00000400
Type=111
UFO=111
[Page15]
Name=Page15
Index=0F
Address=08003C00
Size=00000400
Type=111
UFO=111

;; OPTION bytes information
[OptBytes]
Name=OptBytes
Address=1FFFF800
Size=000000C
Type=101
UFO=111


Loading

0 comments on commit 0f5319d

Please sign in to comment.