Hi,
I have a problem with my oXs module.
I've made a module with GY86 module and Neo N8M (but same probleme with NEO N6M) GPS module.
After a flight, when I check my logs, they seems to be coherent, except for the GPS speed...
The GPS is placed on a SpeedWing from Jivaro-model, it's a racer, I fly during all the flight at full power ( ) so i know that the ground speed is never going under 150km/h (and not 30km/h as calculated in the log).
It seems that the Gspd is only calculated with the distance between GPS points, but I've activated the GPS_SPEED_3D, A_GPS_IS_CONNECTED is YES, AIRSPEED_SENSOR_USE is NO_AIRSPEED, VSPEED_SOURCE is FIRST_BARO and FIRST_VARO_SENSOR_USE is GY86...
Is there something else to configure?
Gspd: 3D speed with GPS and altimeter
Moderator: rainer
-
- Posts: 2
- Joined: Fri May 24, 2019 1:10 pm
- Country: -
Re: Gspd: 3D speed with GPS and altimeter
GPS speed can be very unreliable on things that constantly change direction with high acceleration.
At least if you want to have a chance of it working well you need to make sure to configure the module to use the "airborne <4G" navigation model instead of the default one meant for slow and mostly 2D movements and will likely consider a lot of your model's moves as sensing errors and filter them out.
At least if you want to have a chance of it working well you need to make sure to configure the module to use the "airborne <4G" navigation model instead of the default one meant for slow and mostly 2D movements and will likely consider a lot of your model's moves as sensing errors and filter them out.
Re: Gspd: 3D speed with GPS and altimeter
Your log looks strange. Eventually there is an issue with antenna placement/bad reception. You can verify GPS signal quality with some changes in the code, to be able to see and log number of sats and PDOP.
Code: Select all
File openXsensor.ino: Change these lines
// ********************************* Calculate all fields that could be sent
void calculateAllFields () {
test1.value = GPS_numSat ;
test1.available = true ;
test2.value = GPS_hdop;
test2.available = true ;
File oXs_gps.cpp: uncomment third line:
uint8_t GPS_numSat;
uint8_t GPS_fix_type;
//uint16_t GPS_hdop = 9999; // Compute GPS quality signal
uint16_t GPS_packetCount = 0;
also oXs_gps.cpp uncomment last line:
case MSG_SOL: // !!!! here we could also use vertical speed which is I4 in cm/sec)
next_fix = (_buffer.solution.fix_status & NAV_STATUS_FIX_VALID) && (_buffer.solution.fix_type == FIX_3D);
GPS_fix_type = _buffer.solution.fix_type;
if (!next_fix)
GPS_fix = false;
GPS_numSat = _buffer.solution.satellites;
// GPS_hdop = _buffer.solution.position_DOP;
File oXs_out frsky.h change
//uint8_t GPS_numSat;
//uint16_t GPS_hdop = 9999; // Compute GPS quality signal
into
extern uint8_t GPS_numSat;
extern uint16_t GPS_hdop; // Compute GPS quality signal
Finally transmit test1 and test2 in a sensor-field like Temp for example (oXs.config_basic.h)
#define T1_SOURCE TEST_1
#define T2_SOURCE TEST_2
-
- Posts: 2
- Joined: Fri May 24, 2019 1:10 pm
- Country: -
Re: Gspd: 3D speed with GPS and altimeter
Great, I will try all your propositions quickly !
For my GPS reception, I can see how to place it better than actually: I've made a hole of the size of the antenna and integrated it directly at the top of the aircraft, but thanks for your suggestion, I was searching how to log the DOP and nb of satelitte, that's perfect !
Thanks !
For my GPS reception, I can see how to place it better than actually: I've made a hole of the size of the antenna and integrated it directly at the top of the aircraft, but thanks for your suggestion, I was searching how to log the DOP and nb of satelitte, that's perfect !
Thanks !