@@ -839,18 +839,22 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
839
839
840
840
switch (value->type ) {
841
841
case ambit_log_sample_periodic_type_latitude:
842
- output.insert (" Latitude" , (double )value->u .latitude /10000000 );
842
+ if (value->u .latitude <= 90 && value->u .latitude >= -90 ){
843
+ output.insert (" Latitude" , (double )value->u .latitude /10000000 );
844
+ }
843
845
break ;
844
846
case ambit_log_sample_periodic_type_longitude:
845
- output.insert (" Longitude" , (double )value->u .longitude /10000000 );
847
+ if (value->u .longitude <= 180 && value->u .longitude >= -180 ){
848
+ output.insert (" Longitude" , (double )value->u .longitude /10000000 );
849
+ }
846
850
break ;
847
851
case ambit_log_sample_periodic_type_distance:
848
- if (value->u .distance != 0xffffffff ) {
852
+ if (value->u .distance != 0xffffffff && value-> u . distance != 0xb400000 ) {
849
853
output.insert (" Distance" , value->u .distance );
850
854
}
851
855
break ;
852
856
case ambit_log_sample_periodic_type_speed:
853
- if (value->u .speed != 0xffff ) {
857
+ if (value->u .speed != 0xffff && (value-> u . speed / 100 ) <= 556 ) {
854
858
output.insert (" Speed" , (double )value->u .speed /100.0 );
855
859
}
856
860
break ;
@@ -884,15 +888,15 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
884
888
output.insert (" EVPE" , value->u .evpe );
885
889
break ;
886
890
case ambit_log_sample_periodic_type_altitude:
887
- if (value->u .altitude >= -1000 && value->u .altitude <= 10000 ) {
891
+ if (value->u .altitude >= -1000 && value->u .altitude <= 15000 ) {
888
892
output.insert (" Altitude" , (double )value->u .altitude );
889
893
}
890
894
break ;
891
895
case ambit_log_sample_periodic_type_abspressure:
892
896
output.insert (" AbsPressure" , (int )round ((double )value->u .abspressure /10.0 ));
893
897
break ;
894
898
case ambit_log_sample_periodic_type_energy:
895
- if (value->u .energy ) {
899
+ if (value->u .energy && value-> u . energy <= 1000 ) {
896
900
output.insert (" EnergyConsumption" , (double )value->u .energy /10.0 );
897
901
}
898
902
break ;
@@ -907,12 +911,12 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
907
911
}
908
912
break ;
909
913
case ambit_log_sample_periodic_type_gpsaltitude:
910
- if (value->u .gpsaltitude >= -1000 && value->u .gpsaltitude <= 10000 ) {
914
+ if (value->u .gpsaltitude >= -1000 && value->u .gpsaltitude <= 15000 ) {
911
915
output.insert (" GPSAltitude" , value->u .gpsaltitude );
912
916
}
913
917
break ;
914
918
case ambit_log_sample_periodic_type_gpsheading:
915
- if (value->u .gpsheading != 0xffff ) {
919
+ if (value->u .gpsheading != 0xffff && value-> u . gpsheading >= 0 && value-> u . gpsheading <= 360 ) {
916
920
output.insert (" GPSHeading" , (double )value->u .gpsheading /10000000 );
917
921
}
918
922
break ;
@@ -964,15 +968,17 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
964
968
}
965
969
break ;
966
970
case ambit_log_sample_periodic_type_verticalspeed:
967
- output.insert (" VerticalSpeed" , (double )value->u .verticalspeed /100.0 );
971
+ if ((value->u .verticalspeed /100.0 ) >= -59 && (value->u .verticalspeed /100.0 ) <= 59 ){
972
+ output.insert (" VerticalSpeed" , (double )value->u .verticalspeed /100.0 );
973
+ }
968
974
break ;
969
975
case ambit_log_sample_periodic_type_cadence:
970
976
if (value->u .cadence != 0xff ) {
971
977
output.insert (" Cadence" , value->u .cadence );
972
978
}
973
979
break ;
974
980
case ambit_log_sample_periodic_type_bikepower:
975
- if (value->u .bikepower != 0xffff ) {
981
+ if (value->u .bikepower <= 2000 ) {
976
982
output.insert (" BikePower" , value->u .bikepower );
977
983
}
978
984
break ;
0 commit comments