Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 1991 → Rev 1992

/C-OSD/trunk/CHANGE.LOG
18,6 → 18,9
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
20130622-2030
*adapted settings struct to FC software 0.90j
 
20130401-1216
*fixed display of mAh from C-Strom
*fixed ppm crash due do underflow
/C-OSD/trunk/c-osd.aws
1,0 → 0,0
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA162"/><Files><File00000 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\main.c" Position="238 94 1636 688" LineCol="337 0" State="Maximized"/><File00001 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\mk-data-structs.h" Position="260 116 1672 702" LineCol="307 0" State="Maximized"/><File00002 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.h" Position="282 138 1694 724" LineCol="42 0" State="Maximized"/><File00003 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.c" Position="304 160 1716 746" LineCol="247 0" State="Maximized"/><File00004 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.c" Position="326 182 1738 768" LineCol="245 0" State="Maximized"/><File00005 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.h" Position="348 204 1760 790" LineCol="32 0" State="Maximized"/><File00006 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.c" Position="370 226 1782 812" LineCol="0 0" State="Maximized"/><File00007 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\main.h" Position="392 248 1804 834" LineCol="150 0" State="Maximized"/><File00008 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.c" Position="414 270 1826 856" LineCol="211 0" State="Maximized"/><File00009 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.h" Position="436 292 1848 878" LineCol="0 0" State="Maximized"/><File00010 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.c" Position="458 314 1870 900" LineCol="235 0" State="Maximized"/><File00011 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.c" Position="480 336 1892 922" LineCol="69 0" State="Maximized"/><File00012 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\config.c" Position="502 358 1914 944" LineCol="133 0" State="Maximized"/><File00013 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\config.h" Position="238 94 1650 680" LineCol="0 0" State="Maximized"/><File00014 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.c" Position="260 116 1672 702" LineCol="0 0" State="Maximized"/><File00015 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.h" Position="282 138 1694 724" LineCol="28 0" State="Maximized"/><File00016 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.c" Position="304 160 1716 746" LineCol="0 0" State="Maximized"/><File00017 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.h" Position="326 182 1738 768" LineCol="0 0" State="Maximized"/><File00018 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.c" Position="234 71 1922 952" LineCol="44 0" State="Maximized"/><File00019 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.h" Position="370 226 1782 812" LineCol="24 0" State="Maximized"/><File00020 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.c" Position="392 248 1804 834" LineCol="139 0" State="Maximized"/><File00021 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.h" Position="414 270 1826 856" LineCol="25 0" State="Maximized"/><File00022 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.h" Position="436 292 1848 878" LineCol="25 0" State="Maximized"/><File00023 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.h" Position="458 314 1870 900" LineCol="0 0" State="Maximized"/><File00024 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.h" Position="480 336 1892 922" LineCol="0 0" State="Maximized"/><File00025 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_jopl.c" Position="502 358 1914 944" LineCol="161 0" State="Maximized"/><File00026 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\default\Makefile" Position="238 94 1650 680" LineCol="0 0" State="Maximized"/><File00027 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.c" Position="260 116 1672 702" LineCol="85 0" State="Maximized"/><File00028 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.h" Position="282 138 1694 724" LineCol="3 0" State="Maximized"/><File00029 Name="c:\WinAVR\avr\include\math.h" Position="304 160 1716 746" LineCol="80 0" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA162"/><Files><File00000 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\main.c" Position="238 94 1702 543" LineCol="337 0" State="Maximized"/><File00001 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\mk-data-structs.h" Position="260 116 1738 557" LineCol="307 0" State="Maximized"/><File00002 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.h" Position="282 138 1760 579" LineCol="42 0" State="Maximized"/><File00003 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.c" Position="304 160 1782 601" LineCol="247 0" State="Maximized"/><File00004 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.c" Position="326 182 1804 623" LineCol="245 0" State="Maximized"/><File00005 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.h" Position="348 204 1826 645" LineCol="32 0" State="Maximized"/><File00006 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.c" Position="370 226 1848 667" LineCol="0 0" State="Maximized"/><File00007 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\main.h" Position="392 248 1870 689" LineCol="150 0" State="Maximized"/><File00008 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.c" Position="414 270 1892 711" LineCol="211 0" State="Maximized"/><File00009 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.h" Position="436 292 1914 733" LineCol="0 0" State="Maximized"/><File00010 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.c" Position="238 94 1716 535" LineCol="235 0" State="Maximized"/><File00011 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.c" Position="260 116 1738 557" LineCol="69 0" State="Maximized"/><File00012 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\config.c" Position="282 138 1760 579" LineCol="133 0" State="Maximized"/><File00013 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\config.h" Position="304 160 1782 601" LineCol="0 0" State="Maximized"/><File00014 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.c" Position="326 182 1804 623" LineCol="0 0" State="Maximized"/><File00015 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.h" Position="348 204 1826 645" LineCol="28 0" State="Maximized"/><File00016 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.c" Position="370 226 1848 667" LineCol="0 0" State="Maximized"/><File00017 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.h" Position="392 248 1870 689" LineCol="0 0" State="Maximized"/><File00018 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.c" Position="414 270 1892 711" LineCol="44 0" State="Maximized"/><File00019 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.h" Position="436 292 1914 733" LineCol="24 0" State="Maximized"/><File00020 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.c" Position="238 94 1716 535" LineCol="139 0" State="Maximized"/><File00021 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.h" Position="260 116 1738 557" LineCol="25 0" State="Maximized"/><File00022 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.h" Position="282 138 1760 579" LineCol="25 0" State="Maximized"/><File00023 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.h" Position="304 160 1782 601" LineCol="0 0" State="Maximized"/><File00024 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.h" Position="326 182 1804 623" LineCol="0 0" State="Maximized"/><File00025 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_jopl.c" Position="348 204 1826 645" LineCol="161 0" State="Maximized"/><File00026 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\default\Makefile" Position="370 226 1848 667" LineCol="0 0" State="Maximized"/><File00027 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.c" Position="392 248 1870 689" LineCol="85 0" State="Maximized"/><File00028 Name="H:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.h" Position="414 270 1892 711" LineCol="3 0" State="Maximized"/><File00029 Name="c:\WinAVR\avr\include\math.h" Position="234 71 1922 741" LineCol="115 22" State="Maximized"/></Files></AVRWorkspace>
/C-OSD/trunk/default/dist.bat
20,7 → 20,7
:: ****************************************************************************/
 
set OSDBUILDDATE=%DATE:~-4,4%%DATE:~-7,2%%DATE:~0,2%-%TIME:~0,2%%TIME:~3,2%
::set OSDBUILDDATE=20130401-1216
::set OSDBUILDDATE=20130622-2030
echo "Building: %OSDBUILDDATE%"
 
:: date /T
/C-OSD/trunk/mk-data-structs.h
43,24 → 43,23
#define MKOSD_ADDRESS 4
#define BL_ADDRESS 5
 
 
/*
* FC Debug Struct
* portions taken and adapted from
* http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V0.88e/uart.h
*/
typedef struct {
unsigned char Status[2];
signed int Analog[32]; // Debugwerte
typedef struct {
unsigned char Status[2];
signed int Analog[32]; // Debugwerte
} __attribute__((packed)) str_DebugOut;
 
typedef struct {
unsigned char SWMajor;
unsigned char SWMinor;
unsigned char ProtoMajor;
unsigned char ProtoMinor;
unsigned char SWPatch;
unsigned char HardwareError[5];
unsigned char SWMajor;
unsigned char SWMinor;
unsigned char ProtoMajor;
unsigned char ProtoMinor;
unsigned char SWPatch;
unsigned char HardwareError[5];
} __attribute__((packed)) str_VersionInfo;
 
/*
69,17 → 68,16
* http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V0.20c/ubx.h
*/
typedef struct {
s32 Longitude; // in 1E-7 deg
s32 Latitude; // in 1E-7 deg
s32 Altitude; // in mm
u8 Status;// validity of data
s32 Longitude; // in 1E-7 deg
s32 Latitude; // in 1E-7 deg
s32 Altitude; // in mm
u8 Status; // validity of data
} __attribute__((packed)) GPS_Pos_t;
 
#define INVALID 0x00
#define NEWDATA 0x01
#define PROCESSED 0x02
 
 
/*
* NaviCtrl OSD Structs
* portions taken and adapted from
86,41 → 84,41
* http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V0.24b/uart1.h
*/
typedef struct {
u16 Distance; // distance to target in dm
s16 Bearing; // course to target in deg
u16 Distance; // distance to target in dm
s16 Bearing; // course to target in deg
} __attribute__((packed)) GPS_PosDev_t;
 
typedef struct {
u8 Version; // version of the data structure
GPS_Pos_t CurrentPosition; // see ubx.h for details
GPS_Pos_t TargetPosition;
GPS_PosDev_t TargetPositionDeviation;
GPS_Pos_t HomePosition;
GPS_PosDev_t HomePositionDeviation;
u8 WaypointIndex; // index of current waypoints running from 0 to WaypointNumber-1
u8 WaypointNumber; // number of stored waypoints
u8 SatsInUse; // number of satellites used for position solution
s16 Altimeter; // hight according to air pressure
s16 Variometer; // climb(+) and sink(-) rate
u16 FlyingTime; // in seconds
u8 UBat; // Battery Voltage in 0.1 Volts
u16 GroundSpeed; // speed over ground in cm/s (2D)
s16 Heading; // current flight direction in ° as angle to north
s16 CompassHeading; // current compass value in °
s8 AngleNick; // current Nick angle in 1°
s8 AngleRoll; // current Rick angle in 1°
u8 RC_Quality; // RC_Quality
u8 FCFlags; // Flags from FC
u8 NCFlags; // Flags from NC
u8 Errorcode; // 0 --> okay
u8 OperatingRadius; // current operation radius around the Home Position in m
s16 TopSpeed; // velocity in vertical direction in cm/s
u8 TargetHoldTime; // time in s to stay at the given target, counts down to 0 if target has been reached
u8 FCStatusFlags2; // StatusFlags2 (since version 5 added)
s16 SetpointAltitude; // setpoint for altitude
u8 Gas; // for future use
u16 Current; // actual current in 0.1A steps
u16 UsedCapacity; // used capacity in mAh
u8 Version; // version of the data structure
GPS_Pos_t CurrentPosition; // see ubx.h for details
GPS_Pos_t TargetPosition;
GPS_PosDev_t TargetPositionDeviation;
GPS_Pos_t HomePosition;
GPS_PosDev_t HomePositionDeviation;
u8 WaypointIndex; // index of current waypoints running from 0 to WaypointNumber-1
u8 WaypointNumber; // number of stored waypoints
u8 SatsInUse; // number of satellites used for position solution
s16 Altimeter; // hight according to air pressure
s16 Variometer; // climb(+) and sink(-) rate
u16 FlyingTime; // in seconds
u8 UBat; // Battery Voltage in 0.1 Volts
u16 GroundSpeed; // speed over ground in cm/s (2D)
s16 Heading; // current flight direction in ° as angle to north
s16 CompassHeading; // current compass value in °
s8 AngleNick; // current Nick angle in 1°
s8 AngleRoll; // current Rick angle in 1°
u8 RC_Quality; // RC_Quality
u8 FCFlags; // Flags from FC
u8 NCFlags; // Flags from NC
u8 Errorcode; // 0 --> okay
u8 OperatingRadius; // current operation radius around the Home Position in m
s16 TopSpeed; // velocity in vertical direction in cm/s
u8 TargetHoldTime; // time in s to stay at the given target, counts down to 0 if target has been reached
u8 FCStatusFlags2; // StatusFlags2 (since version 5 added)
s16 SetpointAltitude; // setpoint for altitude
u8 Gas; // for future use
u16 Current; // actual current in 0.1A steps
u16 UsedCapacity; // used capacity in mAh
} __attribute__((packed)) NaviData_t;
 
#define NC_FLAG_FREE 0x01
165,132 → 163,130
#define DEFEKT_PPM_ERR 0x08
#define DEFEKT_MIXER_ERR 0x10
 
 
/*
* MikroKopter config struct
* portions taken and adapted from
* http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V0.88e/eeprom.h
* http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V0.90j/eeprom.h
*/
typedef struct {
unsigned char Revision;
unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv
unsigned char Hoehe_MinGas; // Wert : 0-100
unsigned char Luftdruck_D; // Wert : 0-250
unsigned char MaxHoehe; // Wert : 0-32
unsigned char Hoehe_P; // Wert : 0-32
unsigned char Hoehe_Verstaerkung; // Wert : 0-50
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250
unsigned char Hoehe_HoverBand; // Wert : 0-250
unsigned char Hoehe_GPS_Z; // Wert : 0-250
unsigned char Hoehe_StickNeutralPoint;// Wert : 0-250
unsigned char Stick_P; // Wert : 1-6
unsigned char Stick_D; // Wert : 0-64
unsigned char StickGier_P; // Wert : 1-20
unsigned char Gas_Min; // Wert : 0-32
unsigned char Gas_Max; // Wert : 33-250
unsigned char GyroAccFaktor; // Wert : 1-64
unsigned char KompassWirkung; // Wert : 0-32
unsigned char Gyro_P; // Wert : 10-250
unsigned char Gyro_I; // Wert : 0-250
unsigned char Gyro_D; // Wert : 0-250
unsigned char Gyro_Gier_P; // Wert : 10-250
unsigned char Gyro_Gier_I; // Wert : 0-250
unsigned char Gyro_Stability; // Wert : 0-16
unsigned char UnterspannungsWarnung; // Wert : 0-250
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen
unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D
unsigned char I_Faktor; // Wert : 0-250
unsigned char UserParam1; // Wert : 0-250
unsigned char UserParam2; // Wert : 0-250
unsigned char UserParam3; // Wert : 0-250
unsigned char UserParam4; // Wert : 0-250
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag
//--- Seit V0.75
unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos
unsigned char ServoRollComp; // Wert : 0-250
unsigned char ServoRollMin; // Wert : 0-250
unsigned char ServoRollMax; // Wert : 0-250
//---
unsigned char ServoNickRefresh; // Speed of the Servo
unsigned char ServoManualControlSpeed;//
unsigned char CamOrientation; //
unsigned char Servo3; // Value or mapping of the Servo Output
unsigned char Servo4; // Value or mapping of the Servo Output
unsigned char Servo5; // Value or mapping of the Servo Output
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung)
unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden
unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung)
unsigned char Driftkomp;
unsigned char DynamicStability;
unsigned char UserParam5; // Wert : 0-250
unsigned char UserParam6; // Wert : 0-250
unsigned char UserParam7; // Wert : 0-250
unsigned char UserParam8; // Wert : 0-250
//---Output ---------------------------------------------
unsigned char J16Bitmask; // for the J16 Output
unsigned char J16Timing; // for the J16 Output
unsigned char J17Bitmask; // for the J17 Output
unsigned char J17Timing; // for the J17 Output
// seit version V0.75c
unsigned char WARN_J16_Bitmask; // for the J16 Output
unsigned char WARN_J17_Bitmask; // for the J17 Output
//---NaviCtrl---------------------------------------------
unsigned char NaviGpsModeControl; // Parameters for the Naviboard
unsigned char NaviGpsGain;
unsigned char NaviGpsP;
unsigned char NaviGpsI;
unsigned char NaviGpsD;
unsigned char NaviGpsPLimit;
unsigned char NaviGpsILimit;
unsigned char NaviGpsDLimit;
unsigned char NaviGpsACC;
unsigned char NaviGpsMinSat;
unsigned char NaviStickThreshold;
unsigned char NaviWindCorrection;
unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation
unsigned char NaviOperatingRadius;
unsigned char NaviAngleLimitation;
unsigned char NaviPH_LoginTime;
//---Ext.Ctrl---------------------------------------------
unsigned char ExternalControl; // for serial Control
//---CareFree---------------------------------------------
unsigned char OrientationAngle; // Where is the front-direction?
unsigned char CareFreeModeControl; // switch for CareFree
unsigned char MotorSafetySwitch;
unsigned char MotorSmooth;
unsigned char ComingHomeAltitude;
unsigned char FailSafeTime;
unsigned char MaxAltitude;
unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost"
unsigned char ServoFilterNick;
unsigned char ServoFilterRoll;
//------------------------------------------------
unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
unsigned char ServoCompInvert; // // 0x01 = Nick, 0x02 = Roll 0 oder 1 // WICHTIG!!! am Ende lassen
unsigned char ExtraConfig; // bitcodiert
unsigned char GlobalConfig3; // bitcodiert
char Name[12];
unsigned char crc; // must be the last byte!
} __attribute__((packed)) paramset_t;
unsigned char Revision;
unsigned char Kanalbelegung[12]; // GAS[0], GIER[1],NICK[2], ROLL[3], POTI1, POTI2, POTI3
unsigned char GlobalConfig; // 0x01=Höhenregler aktiv,0x02=Kompass aktiv, 0x04=GPS aktiv, 0x08=Heading Hold aktiv
unsigned char Hoehe_MinGas; // Wert : 0-100
unsigned char Luftdruck_D; // Wert : 0-250
unsigned char MaxHoehe; // Wert : 0-32
unsigned char Hoehe_P; // Wert : 0-32
unsigned char Hoehe_Verstaerkung; // Wert : 0-50
unsigned char Hoehe_ACC_Wirkung; // Wert : 0-250
unsigned char Hoehe_HoverBand; // Wert : 0-250
unsigned char Hoehe_GPS_Z; // Wert : 0-250
unsigned char Hoehe_StickNeutralPoint; // Wert : 0-250
unsigned char Stick_P; // Wert : 1-6
unsigned char Stick_D; // Wert : 0-64
unsigned char StickGier_P; // Wert : 1-20
unsigned char Gas_Min; // Wert : 0-32
unsigned char Gas_Max; // Wert : 33-250
unsigned char GyroAccFaktor; // Wert : 1-64
unsigned char KompassWirkung; // Wert : 0-32
unsigned char Gyro_P; // Wert : 10-250
unsigned char Gyro_I; // Wert : 0-250
unsigned char Gyro_D; // Wert : 0-250
unsigned char Gyro_Gier_P; // Wert : 10-250
unsigned char Gyro_Gier_I; // Wert : 0-250
unsigned char Gyro_Stability; // Wert : 0-16
unsigned char UnterspannungsWarnung; // Wert : 0-250
unsigned char NotGas; // Wert : 0-250 //Gaswert bei Empängsverlust
unsigned char NotGasZeit; // Wert : 0-250 // Zeitbis auf NotGas geschaltet wird, wg. Rx-Problemen
unsigned char Receiver; // 0= Summensignal, 1= Spektrum, 2 =Jeti, 3=ACT DSL, 4=ACT S3D
unsigned char I_Faktor; // Wert : 0-250
unsigned char UserParam1; // Wert : 0-250
unsigned char UserParam2; // Wert : 0-250
unsigned char UserParam3; // Wert : 0-250
unsigned char UserParam4; // Wert : 0-250
unsigned char ServoNickControl; // Wert : 0-250 // Stellung des Servos
unsigned char ServoNickComp; // Wert : 0-250 // Einfluss Gyro/Servo
unsigned char ServoNickMin; // Wert : 0-250 // Anschlag
unsigned char ServoNickMax; // Wert : 0-250 // Anschlag
//--- Seit V0.75
unsigned char ServoRollControl; // Wert : 0-250 // Stellung des Servos
unsigned char ServoRollComp; // Wert : 0-250
unsigned char ServoRollMin; // Wert : 0-250
unsigned char ServoRollMax; // Wert : 0-250
//---
unsigned char ServoNickRefresh; // Speed of the Servo
unsigned char ServoManualControlSpeed; //
unsigned char CamOrientation; //
unsigned char Servo3; // Value or mapping of the Servo Output
unsigned char Servo4; // Value or mapping of the Servo Output
unsigned char Servo5; // Value or mapping of the Servo Output
unsigned char LoopGasLimit; // Wert: 0-250 max. Gas während Looping
unsigned char LoopThreshold; // Wert: 0-250 Schwelle für Stickausschlag
unsigned char LoopHysterese; // Wert: 0-250 Hysterese für Stickausschlag
unsigned char AchsKopplung1; // Wert: 0-250 Faktor, mit dem Gier die Achsen Roll und Nick koppelt (NickRollMitkopplung)
unsigned char AchsKopplung2; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden
unsigned char CouplingYawCorrection; // Wert: 0-250 Faktor, mit dem Nick und Roll verkoppelt werden
unsigned char WinkelUmschlagNick; // Wert: 0-250 180°-Punkt
unsigned char WinkelUmschlagRoll; // Wert: 0-250 180°-Punkt
unsigned char GyroAccAbgleich; // 1/k (Koppel_ACC_Wirkung)
unsigned char Driftkomp;
unsigned char DynamicStability;
unsigned char UserParam5; // Wert : 0-250
unsigned char UserParam6; // Wert : 0-250
unsigned char UserParam7; // Wert : 0-250
unsigned char UserParam8; // Wert : 0-250
//---Output ---------------------------------------------
unsigned char J16Bitmask; // for the J16 Output
unsigned char J16Timing; // for the J16 Output
unsigned char J17Bitmask; // for the J17 Output
unsigned char J17Timing; // for the J17 Output
// seit version V0.75c
unsigned char WARN_J16_Bitmask; // for the J16 Output
unsigned char WARN_J17_Bitmask; // for the J17 Output
//---NaviCtrl---------------------------------------------
unsigned char NaviOut1Parameter; // for the J16 Output
unsigned char NaviGpsModeControl; // Parameters for the Naviboard
unsigned char NaviGpsGain;
unsigned char NaviGpsP;
unsigned char NaviGpsI;
unsigned char NaviGpsD;
unsigned char NaviGpsPLimit;
unsigned char NaviGpsILimit;
unsigned char NaviGpsDLimit;
unsigned char NaviGpsACC;
unsigned char NaviGpsMinSat;
unsigned char NaviStickThreshold;
unsigned char NaviWindCorrection;
unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation
unsigned char NaviOperatingRadius;
unsigned char NaviAngleLimitation;
unsigned char NaviPH_LoginTime;
//---Ext.Ctrl---------------------------------------------
unsigned char ExternalControl; // for serial Control
//---CareFree---------------------------------------------
unsigned char OrientationAngle; // Where is the front-direction?
unsigned char CareFreeModeControl; // switch for CareFree
unsigned char MotorSafetySwitch;
unsigned char MotorSmooth;
unsigned char ComingHomeAltitude;
unsigned char FailSafeTime;
unsigned char MaxAltitude;
unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost"
unsigned char ServoFilterNick;
unsigned char ServoFilterRoll;
//------------------------------------------------
unsigned char BitConfig; // (war Loop-Cfg) Bitcodiert: 0x01=oben, 0x02=unten, 0x04=links, 0x08=rechts / wird getrennt behandelt
unsigned char ServoCompInvert; // // 0x01 = Nick, 0x02 = Roll, 0x04 = relative moving // WICHTIG!!! am Ende lassen
unsigned char ExtraConfig; // bitcodiert
unsigned char GlobalConfig3; // bitcodiert
char Name[12];
unsigned char crc; // must be the last byte!
} paramset_t;
 
typedef struct {
u8 SettingsIndex;
paramset_t param;
u8 SettingsIndex;
paramset_t param;
} __attribute__((packed)) paramset_serial;
 
 
 
/*
* MikroKopter 3D-Data struct
* portions taken and adapted from
297,9 → 293,9
* http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=%2Ftags%2FV0.28o%2Fuart1.h
*/
typedef struct {
s16 AngleNick; // in 0.1 deg
s16 AngleRoll; // in 0.1 deg
s16 Heading; // in 0.1 deg
s16 AngleNick; // in 0.1 deg
s16 AngleRoll; // in 0.1 deg
s16 Heading; // in 0.1 deg
u8 StickNick;
u8 StickRoll;
u8 StickYaw;
309,4 → 305,4
 
extern Data3D_t Data3D;
 
#endif
#endif