Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2041 → Rev 2043

/C-OSD/trunk/CHANGE.LOG
18,6 → 18,11
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
****************************************************************************/
 
20140415-2130
*adapted structs to reflect FC/NC software V2.06a
*added version check for FC/NC software
(OSD will hang at init in case version do not match)
20140317-1730
*fixed battery-voltage >254 crash
 
/C-OSD/trunk/README.TXT
33,7 → 33,7
 
Instructions:
Connect the "To FC" port from EPi-OSD to the Debug port of the NaviCtrl.
You will need at least NaviCtrl 2.04a soft to fully enjoy the software.
You will need at least NaviCtrl 2.06a soft to fully enjoy the software.
 
S1 enters a menu where you can cycle through using S2 and toggle/accept choice with S1
 
/C-OSD/trunk/c-osd.aws
1,0 → 0,0
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA162"/><Files><File00000 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\main.c" Position="238 94 1702 543" LineCol="30 23" State="Maximized"/><File00001 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\mk-data-structs.h" Position="260 116 1738 557" LineCol="76 0" State="Maximized"/><File00002 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.h" Position="282 138 1760 579" LineCol="42 0" State="Maximized"/><File00003 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.c" Position="304 160 1782 601" LineCol="209 0" State="Maximized"/><File00004 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.c" Position="326 182 1804 623" LineCol="146 0" State="Maximized"/><File00005 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.h" Position="348 204 1826 645" LineCol="51 0" State="Maximized"/><File00006 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.c" Position="370 226 1848 667" LineCol="0 0" State="Maximized"/><File00007 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\main.h" Position="392 248 1870 689" LineCol="110 26" State="Maximized"/><File00008 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.c" Position="414 270 1892 711" LineCol="211 0" State="Maximized"/><File00009 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.h" Position="436 292 1914 733" LineCol="0 0" State="Maximized"/><File00010 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.c" Position="234 71 1922 741" LineCol="251 62" State="Maximized"/><File00011 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.c" Position="260 116 1738 557" LineCol="69 0" State="Maximized"/><File00012 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\config.c" Position="282 138 1760 579" LineCol="134 0" State="Maximized"/><File00013 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\config.h" Position="304 160 1782 601" LineCol="0 0" State="Maximized"/><File00014 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.c" Position="326 182 1804 623" LineCol="0 0" State="Maximized"/><File00015 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.h" Position="348 204 1826 645" LineCol="28 0" State="Maximized"/><File00016 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.c" Position="370 226 1848 667" LineCol="0 0" State="Maximized"/><File00017 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.h" Position="392 248 1870 689" LineCol="0 0" State="Maximized"/><File00018 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.c" Position="414 270 1892 711" LineCol="44 0" State="Maximized"/><File00019 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.h" Position="436 292 1914 733" LineCol="24 0" State="Maximized"/><File00020 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.c" Position="238 94 1716 535" LineCol="19 0" State="Maximized"/><File00021 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.h" Position="260 116 1738 557" LineCol="25 0" State="Maximized"/><File00022 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.h" Position="282 138 1760 579" LineCol="25 0" State="Maximized"/><File00023 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.h" Position="304 160 1782 601" LineCol="0 0" State="Maximized"/><File00024 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.h" Position="326 182 1804 623" LineCol="0 0" State="Maximized"/><File00025 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_jopl.c" Position="348 204 1826 645" LineCol="161 0" State="Maximized"/><File00026 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\default\Makefile" Position="370 226 1848 667" LineCol="0 0" State="Maximized"/><File00027 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.c" Position="392 248 1870 689" LineCol="85 0" State="Maximized"/><File00028 Name="I:\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="436 292 1914 733" LineCol="116 0" State="Maximized"/></Files></AVRWorkspace>
<AVRWorkspace><IOSettings><CurrentRegisters/></IOSettings><part name="ATMEGA162"/><Files><File00000 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\main.c" Position="361 208 1392 573" LineCol="30 0"/><File00001 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\mk-data-structs.h" Position="383 230 1428 587" LineCol="305 0"/><File00002 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.h" Position="405 252 1450 609" LineCol="42 0"/><File00003 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\max7456_software_spi.c" Position="427 274 1472 631" LineCol="209 0"/><File00004 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.c" Position="449 296 1494 653" LineCol="146 0"/><File00005 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart1.h" Position="471 318 1516 675" LineCol="51 0"/><File00006 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.c" Position="493 340 1538 697" LineCol="0 0"/><File00007 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\main.h" Position="515 362 1560 719" LineCol="110 0"/><File00008 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.c" Position="361 208 1406 565" LineCol="211 0"/><File00009 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_helpers.h" Position="383 230 1428 587" LineCol="0 0"/><File00010 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.c" Position="405 252 1450 609" LineCol="251 0"/><File00011 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.c" Position="427 274 1472 631" LineCol="69 0"/><File00012 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\config.c" Position="449 296 1494 653" LineCol="148 0"/><File00013 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\config.h" Position="471 318 1516 675" LineCol="0 0"/><File00014 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.c" Position="493 340 1538 697" LineCol="0 0"/><File00015 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\spi.h" Position="515 362 1560 719" LineCol="28 0"/><File00016 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.c" Position="361 208 1406 565" LineCol="0 0"/><File00017 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\buttons.h" Position="383 230 1428 587" LineCol="0 0"/><File00018 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.c" Position="405 252 1450 609" LineCol="44 0"/><File00019 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\ppm.h" Position="427 274 1472 631" LineCol="24 0"/><File00020 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.c" Position="449 296 1494 653" LineCol="19 0"/><File00021 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_default.h" Position="471 318 1516 675" LineCol="25 0"/><File00022 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_ncmode_minimal.h" Position="493 340 1538 697" LineCol="25 0"/><File00023 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_default.h" Position="515 362 1560 719" LineCol="0 0"/><File00024 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\characters.h" Position="361 208 1406 565" LineCol="0 0"/><File00025 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\osd_fcmode_jopl.c" Position="383 230 1428 587" LineCol="161 0"/><File00026 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\default\Makefile" Position="405 252 1450 609" LineCol="0 0"/><File00027 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.c" Position="427 274 1472 631" LineCol="85 0"/><File00028 Name="I:\Eigene Dateien\C-Projects\C-OSD\trunk\usart0.h" Position="449 296 1494 653" LineCol="3 0"/><File00029 Name="c:\WinAVR\avr\include\math.h" Position="471 318 1516 675" LineCol="116 0"/></Files></AVRWorkspace>
/C-OSD/trunk/config.c
135,6 → 135,26
#ifndef NOFCOMMUNICATION
usart1_request_blocking('Q', PSTR(REQUEST_CURRENT_SETTING));
memcpy((char*)(&setting), (char*)pRxData, sizeof(paramset_serial));
 
if (setting.param.Revision != EEPARAM_REVISION) {
write_ascii_string_pgm(3, 11, PSTR("WRONG SETTINGS REVISION"));
write_ascii_string_pgm(3, 12, PSTR("OSD: FC:"));
write_ndigit_number_u(8, 12, EEPARAM_REVISION, 3, 1);
write_ndigit_number_u(15, 12, setting.param.Revision, 3, 1);
while (1) {};
}
 
#if FCONLY
#else
if (naviData.Version != NAVIDATA_VERSION) {
write_ascii_string_pgm(3, 11, PSTR("WRONG NAVIDATA VERSION"));
write_ascii_string_pgm(3, 12, PSTR("OSD: FC:"));
write_ndigit_number_u(8, 12, NAVIDATA_VERSION, 3, 1);
write_ndigit_number_u(15, 12, naviData.Version, 3, 1);
while (1) {};
}
#endif
 
//setting = *((paramset_serial*)pRxData);
#else
// manual stuff?
/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=20140317-1730
set OSDBUILDDATE=20140415-2130
echo "Building: %OSDBUILDDATE%"
 
:: date /T
/C-OSD/trunk/default/flash-usbasp.bat
20,7 → 20,7
:: ****************************************************************************/
 
:: set FIRMWAREFILE to current version
set FIRMWAREFILE=C-OSD-20140317-1730-pal.hex
set FIRMWAREFILE=C-OSD-20140415-2130-pal.hex
 
:: Read fuses as test
avrdude -c usbasp -p m162 -n -v
/C-OSD/trunk/mk-data-structs.h
81,12 → 81,13
/*
* NaviCtrl OSD Structs
* portions taken and adapted from
* http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V2.04a/uart1.h
* http://svn.mikrokopter.de/filedetails.php?repname=NaviCtrl&path=/tags/V2.06a/uart1.h
*/
typedef struct {
u16 Distance; // distance to target in dm
s16 Bearing; // course to target in deg
} __attribute__((packed)) GPS_PosDev_t;
 
#define NAVIDATA_VERSION 5
 
typedef struct {
167,129 → 168,138
/*
* MikroKopter config struct
* portions taken and adapted from
* http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V2.04a/eeprom.h
* http://svn.mikrokopter.de/filedetails.php?repname=FlightCtrl&path=/tags/V2.06a/eeprom.h
*/
 
#define EEPARAM_REVISION 98 // is count up, if paramater stucture has changed (compatibility)
#define EEPARAM_REVISION 102 // is count up, if paramater stucture has changed (compatibility)
 
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 HoeheChannel; // 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 NaviGpsModeChannel; // 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 NaviGpsA;
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 CareFreeChannel; // switch for CareFree
 
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 HoeheChannel; // 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 AutoPhotoDistance; // Auto Photo
unsigned char NaviGpsModeChannel; // 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 NaviGpsA;
unsigned char NaviGpsMinSat;
unsigned char NaviStickThreshold;
unsigned char NaviWindCorrection;
unsigned char NaviAccCompensation; // New since 0.86 -> was: SpeedCompensation
unsigned char NaviMaxFlyingRange; // in 10m
unsigned char NaviAngleLimitation;
unsigned char NaviPH_LoginTime;
unsigned char NaviDescendRange;
//---Ext.Ctrl---------------------------------------------
unsigned char ExternalControl; // for serial Control
//---CareFree---------------------------------------------
unsigned char OrientationAngle; // Where is the front-direction?
unsigned char CareFreeChannel; // 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 StartLandChannel;
unsigned char LandingSpeed;
unsigned char CompassOffset;
unsigned char AutoLandingVoltage; // in 0,1V 0 -> disabled
unsigned char ComingHomeVoltage; // in 0,1V 0 -> disabled
//------------------------------------------------
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; // 127 bytes
unsigned char FailsafeChannel; // if the value of this channel is > 100, the MK reports "RC-Lost"
unsigned char ServoFilterNick;
unsigned char ServoFilterRoll;
unsigned char Servo3OnValue;
unsigned char Servo3OffValue;
unsigned char Servo4OnValue;
unsigned char Servo4OffValue;
unsigned char StartLandChannel;
unsigned char LandingSpeed;
unsigned char CompassOffset;
unsigned char AutoLandingVoltage; // in 0,1V 0 -> disabled
unsigned char ComingHomeVoltage; // in 0,1V 0 -> disabled
unsigned char AutoPhotoAtitudes;
unsigned char SingleWpSpeed;
//------------------------------------------------
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; // 127 bytes
 
typedef struct {
u8 SettingsIndex;