/trunk/CamCtrl.c |
---|
185,7 → 185,7 |
void GimbalCtrl_GetData(u8 timeout) |
{ |
static u32 timing = 500; |
static u32 timing = 500, start_idle = 4000; |
static s16 old_nick; |
s16 tmp, NickGimbal; |
#define GIMBAL_DATARATE 66 // 66ms = 15Hz bzw. 30Hz |
194,13 → 194,12 |
if(EE_Parameter.ServoCompInvert & SERVO_NICK_INV) NickGimbal = -tmp; else NickGimbal = tmp; |
NickGimbal += CAM_Orientation.Elevation; // Add Poi Nick |
NickGimbal += MenuNickGimbalOffset / 50; |
if((old_nick != NickGimbal) && (timing < GIMBAL_DATARATE/2)) timing = 0; // Schneller, wenn sich die Daten ändern |
if(timing) |
{ |
timing--; |
if(start_idle) start_idle--;// nach dem Start einige Sekunden warten |
} |
else |
{ |
225,9 → 224,10 |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
if(FC.RC_Quality < 50) // Failsafe-Positions |
{ |
if(EE_Parameter.ServoFS_Pos[0]) ToGimbalCtrl.Nick = (s32)((u32)EE_Parameter.ServoFS_Pos[0] * 10) - 1280; |
if(EE_Parameter.ServoFS_Pos[1]) ToGimbalCtrl.Roll = (s32)((u32)EE_Parameter.ServoFS_Pos[1] * 10) - 1280; |
if(EE_Parameter.ServoFS_Pos[0]) (s32)((u32)EE_Parameter.ServoFS_Pos[0] * 10) - 1280; //else ToGimbalCtrl.Nick = 0; |
if(EE_Parameter.ServoFS_Pos[1]) (s32)((u32)EE_Parameter.ServoFS_Pos[1] * 10) - 1280; //else ToGimbalCtrl.Roll = 0; |
} |
min_n = (s32)((u32)EE_Parameter.ServoNickMin * 10) - 1280; |
max_n = (s32)((u32)EE_Parameter.ServoNickMax * 10) - 1280; |
if(ToGimbalCtrl.Nick > max_n) ToGimbalCtrl.Nick = max_n; |
237,6 → 237,13 |
if(ToGimbalCtrl.Roll > max_r) ToGimbalCtrl.Roll = max_r; |
if(ToGimbalCtrl.Roll < min_r) ToGimbalCtrl.Roll = min_r; |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
if(start_idle) // nach dem Start einige Sekunden warten |
{ |
ToGimbalCtrl.Nick = 0; |
ToGimbalCtrl.Roll = 0; |
ToGimbalCtrl.Yaw = 0; |
} |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
// + Crc |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
ToGimbalCtrl.Crc = 0x55; // initialize |
/trunk/analog.c |
---|
99,7 → 99,7 |
{ |
ADC_InitTypeDef ADC_InitStructure; |
UART1_PutString("\r\n ADC init..."); |
// UART1_PutString("\r\n ADC init..."); |
SCU_APBPeriphClockConfig(__GPIO4, ENABLE); // Enable the GPIO4 Clock |
139,7 → 139,7 |
VIC_ITCmd(ADC_ITLine, ENABLE); |
UART1_PutString("ok"); |
// UART1_PutString("ok"); |
} |
void Analog_Deinit(void) |
/trunk/canbus.c |
---|
153,7 → 153,7 |
void CanbusInit(void) |
{ |
UART1_PutString("\r\n Canbus init..."); |
UART1_PutString(" Canbus init..."); |
CAN_IO_Init(); |
SCU_APBPeriphClockConfig(__CAN, ENABLE); |
SCU_APBPeriphReset(__CAN, DISABLE); |
203,7 → 203,7 |
CanTxMessage[CAN_ID_VERSION].D.Byte[6] = VERSION_MINOR; |
CanTxMessage[CAN_ID_VERSION].D.Byte[7] = VERSION_MAJOR; |
UART1_PutString("ok"); |
UART1_PutString("ok\n\r"); |
} |
void ProcessCanBus(void) |
/trunk/eeprom.c |
---|
350,7 → 350,7 |
NCParams[NCPARAMS_BARO_KOMPENSATION] = LuftdruckTemperaturKompensation; |
NCParamState[NCPARAMS_BARO_KOMPENSATION] = NCRARAM_STATE_VALID; |
if(LuftdruckTemperaturKompensation) UART1_PutString("\r\n Baro Temperature Calibration active\r\n"); |
if(LuftdruckTemperaturKompensation) UART1_PutString(" Baro Temperature Calibration active\r\n"); |
} |
void WriteBaudrateIndexToEEprom(void) |
/trunk/fat16.c |
---|
754,7 → 754,7 |
result = 0; |
end: |
if(result != 0) Fat16_Deinit(); |
else UART1_PutString("ok"); |
// else UART1_PutString(" SD card ok"); |
return(result); |
} |
/trunk/ftphelper.c |
---|
79,7 → 79,7 |
char FTP_data[DATA_TRANSFER_SIZE+10]; // rx & tx buffer to avoid 2 buffers |
#define KEYWORD_COUNT 54 |
#define KEYWORD_COUNT 55 |
// most used gpx tags can be compressed |
const char keyword[KEYWORD_COUNT][16]= |
{"Altimeter>\0 \0", |
129,6 → 129,7 |
"GPSInfo>\0 \0", |
"Gimbal>\0 \0", |
"Laser>\0 \0", |
"ExCtl>\0 \0", |
"<WP>----,0,0,0<\0", |
"MagnetInclinati\0", |
"BL_Temperature>\0", |
135,7 → 136,7 |
"AvaiableMotorPo\0", |
"FC_I2C_ErrorCou\0", |
"FC_SPI_ErrorCou\0", |
"TargetDistance>\0", |
"TargetDistance>\0" |
}; |
//ACHTUNG: ggf. DATA_TRANSFER_SIZE vergrössern |
/trunk/gpx.c |
---|
218,7 → 218,7 |
sprintf(string, "<BaroKompens.>%i</BaroKompens.>\r\n",LuftdruckTemperaturKompensation);CheckSumAndWrite(&Check16File,string, doc->file); |
sprintf(string, "<FcTemperat.>%i.%1i</FcTemperat.>\r\n",FC_Temperatur/10,abs(FC_Temperatur)%10);CheckSumAndWrite(&Check16File,string, doc->file); |
if(FromGimbalCtrl.GimbalStatus) {sprintf(string, "<GimbalCtrV>%i.%02i</GimbalCtrV>\r\n",1 + FromGimbalCtrl.Version / 100, FromGimbalCtrl.Version % 100);CheckSumAndWrite(&Check16File,string, doc->file);} |
if(EE_Parameter.ExternalControl) {sprintf(string, "<ExternalControl>%i,%02x,%02x</ExternalControl>\r\n",EE_Parameter.ExternalControl,FromFC_ExternalCtrlCfg,FromFC_ExternalCtrlSwitch);CheckSumAndWrite(&Check16File,string, doc->file);} |
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
// Magnetometer |
if(Compass_I2CPort == NCMAG_PORT_EXTERN) sprintf(string, "<MagSensor>external2,(%i),",NCMAG_Orientation); |
694,6 → 694,11 |
// GPS Sticks as Nick/Roll/Yaw |
sprintf(string, "<GPSSticks>%d,%d,%d,'%c'</GPSSticks>\r\n", ToFlightCtrl.GPSStick.Nick, ToFlightCtrl.GPSStick.Roll, 0 ,NC_GPS_ModeCharacter); |
CheckSumAndWrite(&Check16Block,string, doc->file); |
if(EE_Parameter.ExternalControl) |
{ |
sprintf(string, "<ExCtl>%02x,%02x,%i,%i,%i,%i</ExCtl>\r\n",FromFC_ExternalCtrlCfg,FromFC_ExternalCtrlSwitch,ExternControl.Nick, ExternControl.Roll,ExternControl.Gier,ExternControl.Gas); |
CheckSumAndWrite(&Check16File,string, doc->file); |
} |
// RC Quality |
sprintf(string, "<RCQuality>%d</RCQuality>\r\n", FC.RC_Quality); |
CheckSumAndWrite(&Check16Block,string, doc->file); |
730,7 → 735,6 |
sprintf(string, "<Gimbal>%d.%01d,%d.%01d</Gimbal>\r\n",FromGimbalCtrl.Nick/10,abs(FromGimbalCtrl.Nick%10),FromGimbalCtrl.Roll/10,abs(FromGimbalCtrl.Roll%10)); |
CheckSumAndWrite(&Check16Block,string, doc->file); |
} |
// sprintf(string, "<FCTemperat>%d</FCTemperat>\r\n",FC_Temperatur); |
// CheckSumAndWrite(&Check16Block,string, doc->file); |
/trunk/main.c |
---|
948,8 → 948,9 |
else UART1_PutString("okay\r\n"); |
} |
else if(Compass_I2CPort == NCMAG_PORT_INTERN) UART1_PutString(" No GimbalCtrl connected \r\n"); |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
UART1_PutString(" Initialization finished ... Start\r\n"); |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
for (;;) // the endless main loop |
{ |
PollingTimeout = 5; |
/trunk/menu.c |
---|
376,7 → 376,7 |
LCD_printfxy(0,3,"RC-Level: %3i", FC.RC_Quality); // Remote Control Level from FC |
break; |
case 12: // RC stick controls from FC |
LCD_printfxy(0,0,"Ext.-Ctrl" ); |
LCD_printfxy(0,0,"External-Ctrl" ); |
if(!EE_Parameter.ExternalControl) |
{ |
383,7 → 383,7 |
LCD_printfxy(0,2,"not used" ); |
} |
else |
if(FC.Poti[255 - EE_Parameter.ExternalControl] < 128) |
if((EE_Parameter.ExternalControl >= 248) && (FC.Poti[255 - EE_Parameter.ExternalControl] < 128)) |
{ |
LCD_printfxy(0,2,"Switch is off"); |
} |
391,9 → 391,9 |
{ |
if(FromFC_ExternalCtrlCfg) |
{ |
LCD_printfxy(0,1,"Ni:%4i Ro:%4i ",ExternControl.Nick, ExternControl.Roll); |
LCD_printfxy(0,2,"Gs:%4i Ya:%4i ",ExternControl.Gas, ExternControl.Gier); |
LCD_printfxy(0,3,"C:%02x SW:%02x,",ExternControl.Config,ExternControl.Switches); |
LCD_printfxy(0,1,"Nick:%4i Roll:%4i ",ExternControl.Nick, ExternControl.Roll); |
LCD_printfxy(0,2,"Gas: %4i Yaw: %4i ",ExternControl.Gas, ExternControl.Gier); |
LCD_printfxy(0,3,"Cfg:0x%02x SW:0x%02x",FromFC_ExternalCtrlCfg,FromFC_ExternalCtrlSwitch); |
} |
else |
LCD_printfxy(0,2,"No Data"); |
/trunk/sdc.c |
---|
337,7 → 337,7 |
UART1_PutString("\r\n"); |
temp1 = pCID[14] & 0x0F; // month |
temp2 = ((pCID[14]>>4)|(pCID[13]<<4)) + 2000; // year |
sprintf(text, " Manufac. Date: %i/%i\r\n\r\n",temp1, temp2); |
sprintf(text, " Manufac. Date: %i/%i\r\n",temp1, temp2); |
UART1_PutString(text); |
} |
/trunk/spi_slave.c |
---|
154,7 → 154,7 |
str_HugeBlockToFC HugeBlockToFC; |
u8 CamCtrlCharacter =' '; |
s16 NickServoValue; |
s16 NickServoValue = 128 * 64;; |
s16 FromFC_ServoRollControl = 128; |
s16 FromFC_ServoNickControl = 128; |
309,7 → 309,7 |
GPIO_InitTypeDef GPIO_InitStructure; |
SSP_InitTypeDef SSP_InitStructure; |
UART1_PutString("\r\n SPI init..."); |
// UART1_PutString("\r\n SPI init..."); |
SCU_APBPeriphClockConfig(__GPIO2 ,ENABLE); |
SCU_APBPeriphClockConfig(__SSP0 ,ENABLE); |
362,7 → 362,7 |
SPI0_Timeout = SetDelay(4*SPI0_TIMEOUT); |
EE_Parameter.Revision = 0; |
sprintf(EE_Parameter.Name,"???%c",0); |
UART1_PutString("ok"); |
// UART1_PutString("ok"); |
} |
441,8 → 441,8 |
if(DebugUART == UART2) ToFlightCtrl.Param.Byte[4] = KM_BIT_UART; // informs the FC to listen to the UART |
if(IO1_Function == IO1FUNC_PARACHUTE) |
{ |
if(ToFC_Parachute_Off > 5) ToFlightCtrl.Param.Byte[4] |= KM_BIT_SLOW; // informs the FC to listen to the UART |
if(ToFC_Parachute_Off > 300) ToFlightCtrl.Param.Byte[4] |= KM_BIT_OFF; // informs the FC to listen to the UART |
if(ToFC_Parachute_Off > 5) ToFlightCtrl.Param.Byte[4] |= KM_BIT_SLOW; |
if(ToFC_Parachute_Off > 300) ToFlightCtrl.Param.Byte[4] |= KM_BIT_OFF; |
} |
ToFlightCtrl.Param.Byte[5] = (s8) ToFC_Rotate_C; |
ToFlightCtrl.Param.Byte[6] = (s8) ToFC_Rotate_S; |
1031,11 → 1031,7 |
LowVoltageLandingActive = FromFlightCtrl.Param.Byte[8]; |
Parameter.FailSafeTime = FromFlightCtrl.Param.Byte[9]; |
FromFC_ExternalCtrlCfg = FromFlightCtrl.Param.Byte[10]; |
// DebugOut.Analog[] = NaviData_Volatile.ShutterCounter; |
// 8 |
// 9 |
// 10 |
// 11 |
FromFC_ExternalCtrlSwitch = FromFlightCtrl.Param.Byte[11]; |
break; |
default: |
/trunk/uart1.c |
---|
149,7 → 149,7 |
u8 NewExternalControlFrame = 0; // flag that sends the Frame to FC |
u16 UART1_BaudrateFallbackTimeout = 0; |
u32 Uart1Baudrate = UART1_BAUD_RATE; |
u8 FromFC_ExternalCtrlCfg = 0; // answer from FC |
u8 FromFC_ExternalCtrlCfg = 0,FromFC_ExternalCtrlSwitch = 0; // answer from FC |
SerialChannel_t SerialChannel; |
u8 NewSerialChannelFrame = 0; // flag that sends the Frame to FC |
/trunk/uart1.h |
---|
118,7 → 118,7 |
} __attribute__((packed)) ExternControl_t; |
extern ExternControl_t ExternControl; |
extern u8 NewExternalControlFrame; // flag that sends the Frame to FC |
extern u8 FromFC_ExternalCtrlCfg; // answer from FC |
extern u8 FromFC_ExternalCtrlCfg,FromFC_ExternalCtrlSwitch; // answer from FC |
#define SERIAL_POTI_START 17 |
#define WP_EVENT_PPM_IN 29 |