/trunk/CamCtrl.c |
---|
215,6 → 215,14 |
if(EE_Parameter.ServoCompInvert & SERVO_ROLL_INV) ToGimbalCtrl.Roll = tmp; else ToGimbalCtrl.Roll = -tmp; |
// ToGimbalCtrl.Yaw = (s32) SerialChannel.Ch[0] * 3; |
ToGimbalCtrl.Yaw = (s32) (PPM_In[EE_Parameter.GimbalYawChannel]) * -2; |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
// digital switching outputs |
if(PPM_In[EE_Parameter.GimbalOut1Channel] > 10) ToGimbalCtrl.BitCmd |= GIMBAL_CMD_OUT1; |
if(PPM_In[EE_Parameter.GimbalOut2Channel] > 10) ToGimbalCtrl.BitCmd |= GIMBAL_CMD_OUT2; |
// flags will be reset after transmitting |
// ++++++++++++++++++++++++++++++++++++++++++++++ |
if(FromMenuGimbalYaw) ToGimbalCtrl.Yaw = FromMenuGimbalYaw; |
ToGimbalCtrl.NRY_Speed = 100; |
ToGimbalCtrl.Filter = 5; |
/trunk/CamCtrl.h |
---|
28,6 → 28,9 |
#define GIMBAL_CMD_YW_REL_FRAME 0x02 |
#define GIMBAL_CMD_SPEED 0x04 |
#define GIMBAL_CMD_YW_ZERO 0x08 |
#define GIMBAL_CMD_OUT1 0x10 |
#define GIMBAL_CMD_OUT2 0x20 |
#define GIMBAL_CMD_OUT_TRIGGER 0x40 // will set the Hardware Triggeroutput on the GimbalCtrl |
// ToCamCtrl.CamCommand |
#define CAM_CMD_SWITCH_ON 0x80 |
/trunk/main.c |
---|
534,6 → 534,10 |
if(CountMilliseconds != old_ms) // 1 ms |
{ |
if(!t20ms--) { CalcNickServoValue(); t20ms = 20; }; |
// Trigger internal Portpin or Flag -> will set the Hardware Triggeroutput on the GimbalCtrl |
if(((UART_VersionInfo.HWMajor >= 30) && TRIGGER_PP_INTERN) || ((UART_VersionInfo.HWMajor < 30) && (FC.StatusFlags2 & FC_STATUS2_OUT1_ACTIVE))) ToGimbalCtrl.BitCmd |= GIMBAL_CMD_OUT_TRIGGER; |
if(UART1_BaudrateFallbackTimeout) |
{ |
if(--UART1_BaudrateFallbackTimeout == 0) UART1_Configure(Uart1Baudrate); |
/trunk/main.h |
---|
14,7 → 14,7 |
#define VERSION_MAJOR 2 |
#define VERSION_MINOR 20 |
#define VERSION_PATCH 2 |
#define VERSION_PATCH 3 |
// 0 = A |
// 1 = B |
// 2 = C |
37,7 → 37,7 |
#define CAN_SLAVE_COMPATIBLE 2 |
#ifndef FOLLOW_ME |
#define FC_SPI_COMPATIBLE 91 // <------------------ |
#define FC_SPI_COMPATIBLE 92 // <------------------ |
#else |
#define FC_SPI_COMPATIBLE 0xFF |
#endif |
/trunk/menu.c |
---|
762,6 → 762,9 |
LCD_printfxy(0,2,"Nick:%3i Roll:%3i",FromGimbalCtrl.Nick,FromGimbalCtrl.Roll); |
LCD_printfxy(0,3,"Yaw: %3i [0,1 Deg]",FromGimbalCtrl.Yaw); |
if(Keys & KEY4) { ToGimbalCtrl.BitCmd |= (GIMBAL_CMD_YW_ZERO); MenuNickGimbalOffset = 0;} |
//if(PPM_In[EE_Parameter.GimbalOut1Channel] > 10) LCD_printfxy(18,1,"1") else LCD_printfxy(18,1,"0") |
//if(PPM_In[EE_Parameter.GimbalOut2Channel] > 10) LCD_printfxy(19,1,"1") else LCD_printfxy(19,1,"0") |
//if(ToGimbalCtrl.BitCmd & GIMBAL_CMD_OUT_TRIGGER) LCD_printfxy(16,1,"1") else LCD_printfxy(16,1,"0") |
} |
break; |
case 34: // Temperaturecompensation of the Barosensor |
/trunk/spi_slave.h |
---|
373,7 → 373,9 |
unsigned char CamCtrlZoomChannel; |
unsigned char FailSafeAltitude; |
unsigned char GimbalYawChannel; |
unsigned char reserved[30]; // for later use |
unsigned char GimbalOut1Channel; |
unsigned char GimbalOut2Channel; |
unsigned char reserved[28]; // for later use |
//------------------------------------------------ |
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 |