@@ -839,18 +839,22 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
839839
840840 switch (value->type ) {
841841 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+ }
843845 break ;
844846 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+ }
846850 break ;
847851 case ambit_log_sample_periodic_type_distance:
848- if (value->u .distance != 0xffffffff ) {
852+ if (value->u .distance != 0xffffffff && value-> u . distance != 0xb400000 ) {
849853 output.insert (" Distance" , value->u .distance );
850854 }
851855 break ;
852856 case ambit_log_sample_periodic_type_speed:
853- if (value->u .speed != 0xffff ) {
857+ if (value->u .speed != 0xffff && (value-> u . speed / 100 ) <= 556 ) {
854858 output.insert (" Speed" , (double )value->u .speed /100.0 );
855859 }
856860 break ;
@@ -884,15 +888,15 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
884888 output.insert (" EVPE" , value->u .evpe );
885889 break ;
886890 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 ) {
888892 output.insert (" Altitude" , (double )value->u .altitude );
889893 }
890894 break ;
891895 case ambit_log_sample_periodic_type_abspressure:
892896 output.insert (" AbsPressure" , (int )round ((double )value->u .abspressure /10.0 ));
893897 break ;
894898 case ambit_log_sample_periodic_type_energy:
895- if (value->u .energy ) {
899+ if (value->u .energy && value-> u . energy <= 1000 ) {
896900 output.insert (" EnergyConsumption" , (double )value->u .energy /10.0 );
897901 }
898902 break ;
@@ -907,12 +911,12 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
907911 }
908912 break ;
909913 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 ) {
911915 output.insert (" GPSAltitude" , value->u .gpsaltitude );
912916 }
913917 break ;
914918 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 ) {
916920 output.insert (" GPSHeading" , (double )value->u .gpsheading /10000000 );
917921 }
918922 break ;
@@ -964,15 +968,17 @@ bool MovesCountJSON::writePeriodicSample(ambit_log_sample_t *sample, QVariantMap
964968 }
965969 break ;
966970 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+ }
968974 break ;
969975 case ambit_log_sample_periodic_type_cadence:
970976 if (value->u .cadence != 0xff ) {
971977 output.insert (" Cadence" , value->u .cadence );
972978 }
973979 break ;
974980 case ambit_log_sample_periodic_type_bikepower:
975- if (value->u .bikepower != 0xffff ) {
981+ if (value->u .bikepower <= 2000 ) {
976982 output.insert (" BikePower" , value->u .bikepower );
977983 }
978984 break ;
0 commit comments