50,9 → 50,8 |
#define SYNC_CHAR2 0x62 |
|
#define CLASS_NAV 0x01 |
#define MSGID_POSECEF 0x01 |
#define MSGID_STATUS 0x03 |
#define MSGID_VELECEF 0x11 |
//#define MSGID_POSLLH 0x02 //(231107Kr) |
#define MSGID_POSUTM 0x08 |
#define MSGID_VELNED 0x12 |
|
69,6 → 68,18 |
uint8_t packetStatus; |
} NAV_STATUS_t; |
|
/* |
typedef struct { //(231107Kr) |
unsigned long ITOW; // time of week |
long LON; // longitude in 1e-07 deg |
long LAT; // lattitude |
long HEIGHT; // height in mm |
long HMSL; // height above mean sea level im mm |
unsigned long Hacc; // horizontal accuracy in mm |
unsigned long Vacc; // vertical accuracy in mm |
uint8_t packetStatus; |
} NAV_POSLLH_t; |
*/ |
|
typedef struct { |
unsigned long ITOW; // time of week |
95,28 → 106,9 |
} NAV_VELNED_t; |
|
|
typedef struct { |
unsigned long ITOW; // ms GPS Millisecond Time of Week |
long ECEF_X; // ecef x / cm |
long ECEF_Y; // ecef y / cm |
long ECEF_Z; // ecef z / cm |
unsigned long Pacc; // Abweichung |
uint8_t packetStatus; |
} NAV_POSECEF_t ; |
|
typedef struct { |
unsigned long ITOW; // ms GPS Millisecond Time of Week |
long ECEFVX; // ecef x velocity cm/s |
long ECEFVY; // ecef y velocity cm/s |
long ECEFVZ; // ecef z velocity cm/s |
unsigned long SAcc; // Abweichung |
uint8_t packetStatus; |
} NAV_VELECEF_t; |
|
|
NAV_STATUS_t navStatus; |
NAV_POSECEF_t navPosECEF; |
NAV_VELECEF_t navVelECEF; |
//NAV_POSLLH_t navPosLlh; //(231107Kr) |
NAV_POSUTM_t navPosUtm; |
NAV_VELNED_t navVelNed; |
|
159,13 → 151,6 |
{ |
|
|
if (navPosECEF.packetStatus == 1) // valid packet |
{ |
actualPos.x = navPosECEF.ECEF_X; //ECEF X in cm |
actualPos.y = navPosECEF.ECEF_Y; //ECEF Y in cm |
actualPos.z = navPosECEF.ECEF_Z; //ECEF Z in cm |
navPosECEF.packetStatus = 0; |
} |
|
|
if (navStatus.packetStatus == 1) // valid packet |
175,13 → 160,15 |
navStatus.packetStatus = 0; |
} |
|
if (navVelECEF.packetStatus == 1) // valid packet |
/* |
if (navPosLlh.packetStatus == 1) // valid packet |
{ |
actualPos.vx = navVelECEF.ECEFVX; //ECEF VEL X in cm/s |
actualPos.vy = navVelECEF.ECEFVY; //ECEF VEL Y in cm/s |
actualPos.vz = navVelECEF.ECEFVZ; //ECEF VEL Z in cm/s |
navVelECEF.packetStatus = 0; |
actualPos.longi = navPosLlh.LON; //(231107Kr) |
actualPos.lati = navPosLlh.LAT; //(231107Kr) |
actualPos.height = navPosLlh.HEIGHT; //(231107Kr) |
navPosLlh.packetStatus = 0; |
} |
*/ |
|
if (navPosUtm.packetStatus == 1) // valid packet |
{ |
190,21 → 177,19 |
actualPos.altitude = navPosUtm.ALT; |
navPosUtm.packetStatus = 0; |
newData_navPosUtm = 1; // (211007Kr) |
ROT_ON; // Rot blinkt in der Frequenz mit der neue UTM-Daten des GPS Empfänger ankommen und brauchbar sind //(211107Kr) |
} |
|
|
if (navVelNed.packetStatus == 1) |
|
if (navVelNed.packetStatus == 1) // valid packet |
{ |
actualPos.velNorth = navVelNed.VEL_N; |
actualPos.velEast = navVelNed.VEL_E; |
actualPos.velDown = navVelNed.VEL_D; |
actualPos.GSpeed = navVelNed.GSpeed; //Geschwindigkeit [cm/s] über Grund (151007Kr) |
navVelNed.packetStatus = 0; |
} |
|
|
|
if (actualPos.newData != 0){ROT_ON;} //-> Rot blinkt mit 4Hz wenn Daten vom GPS Empfänger ankommen und brauchbar sind |
|
} |
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
272,18 → 257,14 |
ubxSp = (char*)&navStatus.packetStatus; |
ignorePacket = navStatus.packetStatus; |
break; |
case MSGID_POSECEF: |
ubxP = (char*)&navPosECEF; |
ubxEp = (char*)(&navPosECEF + sizeof(NAV_POSECEF_t)); |
ubxSp = (char*)&navPosECEF.packetStatus; |
ignorePacket = navPosECEF.packetStatus; |
/* |
case MSGID_POSLLH: //(231107Kr) |
ubxP = (char*)&navPosLlh; |
ubxEp = (char*)(&navPosLlh + sizeof(NAV_POSLLH_t)); |
ubxSp = (char*)&navPosLlh.packetStatus; |
ignorePacket = navPosLlh.packetStatus; |
break; |
case MSGID_VELECEF: |
ubxP = (char*)&navVelECEF; |
ubxEp = (char*)(&navVelECEF + sizeof(NAV_VELECEF_t)); |
ubxSp = (char*)&navVelECEF.packetStatus; |
ignorePacket = navVelECEF.packetStatus; |
break; |
*/ |
case MSGID_POSUTM: |
ubxP = (char*)&navPosUtm; |
ubxEp = (char*)(&navPosUtm + sizeof(NAV_POSUTM_t)); |
344,7 → 325,6 |
else // discard any data if error occured |
{ |
gpsState = GPS_EMPTY; |
GPSscanData (); //Test kann ggf. wieder gelöscht werden! |
} |
GPSscanData (); |
|