/trunk/GPS.h |
---|
48,6 → 48,7 |
extern int PointPolyCheck( Vec2D_t P, Vec2D_t* V, int n ); |
extern u8 UpdateFlyzoneTimer; |
extern u16 WP_Yaw_WithoutCF; |
extern u8 GPSPos_Copy_to_Home(GPS_Pos_t* pGPSPosSrc); |
void GPS_Init(void); |
void GPS_Navigation(gps_data_t *pGPS_Data, GPS_Stick_t* pGPS_Stick); |
/trunk/main.h |
---|
13,8 → 13,8 |
//----------------------- |
#define VERSION_MAJOR 2 |
#define VERSION_MINOR 20 |
#define VERSION_PATCH 7 |
#define VERSION_MINOR 21 |
#define VERSION_PATCH 0 |
// 0 = A |
// 1 = B |
// 2 = C |
/trunk/spi_slave.c |
---|
552,8 → 552,8 |
ToFlightCtrl.Param.Byte[3] = GPSData.Speed_Ground / 100; // m/s |
ToFlightCtrl.Param.Int[2] = NaviData.HomePositionDeviation.Distance_dm; // dm //4&5 |
ToFlightCtrl.Param.sInt[3] = NaviData.HomePositionDeviation.Bearing; // deg //6&7 |
if(FC_WP_EventChannel > 254) FC_WP_EventChannel = 254; // Muss in SPI_NCCMD_GPSINFO bleiben! (siehe oben) |
if(FC_WP_EventChannel) |
// if(FC_WP_EventChannel > 254) FC_WP_EventChannel = 254; // 255 ist seit 2.21 Dauersignal |
if(FC_WP_EventChannel) // Muss in SPI_NCCMD_GPSINFO bleiben! (siehe oben) |
{ |
LogFC_WP_EventChannel = FC_WP_EventChannel; // to make sure that it will be logged |
NaviData_WP.WP_Eventchannel = FC_WP_EventChannel; // to make sure that it will be logged |
597,10 → 597,8 |
{ |
ToFlightCtrl.Param.sInt[5] = (s16)ToFC_AltitudeSetpoint_dm; |
} |
//DebugOut.Analog[] = ToFlightCtrl.Param.Byte[8]; |
if(BlitzSchuhConnected) ToFlightCtrl.Param.sInt[6] = TrigLogging.CountExternal + 1; |
else ToFlightCtrl.Param.sInt[6] = 0; |
break; |
case SPI_NCCMD_HOTT_INFO: |
if(NewWPL_Name) hott_index = 100; |
/trunk/uart1.c |
---|
590,19 → 590,25 |
pPoint = (Point_t*)SerialMsg.pData; |
if(pPoint->Position.Status == NEWDATA) |
{ |
u32 start = 0; |
//if(!(FC.StatusFlags & FC_STATUS_FLY)) PointList_Clear(); // flush the list |
//pPoint->Index = 1; // must be one after empty list |
u32 start = 0; |
if(pPoint->Type == POINT_TYPE_HOME) // Set new Home-Pos. |
{ |
GPSPos_Copy_to_Home(&(pPoint->Position)); // update home position |
BeepTime = 50; |
} |
else |
{ // fly to -> FollowMe |
PointList_SetAt(pPoint); |
if(FC.StatusFlags & FC_STATUS_FLY) PointList_WPActive(TRUE); |
// GPS_pWaypoint = PointList_WPBegin(); // updates POI index |
if(pPoint->Index) start = pPoint->Index-1; |
if(CurrentlyFlyingWaypoints) |
{ |
GPS_pWaypoint = PointList_WPBegin(start); |
NewWaypointsReceived = 0; // Only an update |
} |
if(pPoint->Index) start = pPoint->Index-1; |
if(CurrentlyFlyingWaypoints) |
{ |
GPS_pWaypoint = PointList_WPBegin(start); |
NewWaypointsReceived = 0; // Only an update |
} |
BeepTime = 50; |
} |
} |
else |
if((pPoint->Position.Status == SIMULATION) && !(FC.RealStatusFlags & FC_STATUS_MOTOR_RUN)) |
1731,6 → 1737,7 |
FollowMe.Event_Flag = 1; |
FollowMe.Index = 1; // 0 = Delete List, 1 place at first entry in the list |
FollowMe.Type = POINT_TYPE_WP; |
FollowMe.Type = POINT_TYPE_HOME; |
FollowMe.WP_EventChannelValue = 100; // set servo value |
FollowMe.AltitudeRate = 0; // do not change height |
FollowMe.Speed = 0; // rate to change the Position (0 = max) |
/trunk/waypoints.h |
---|
9,6 → 9,7 |
#define POINT_TYPE_FS 2 |
#define POINT_TYPE_LAND 3 |
#define POINT_TYPE_FLYZONE 4 |
#define POINT_TYPE_HOME 5 |
// the waypoints list |
#define MAX_LIST_LEN 101 |