You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Another field test and I've replicated a problem with the "max speed filter m/s" on SPRACINGF3 RC1-11.1.0. On previous test flights with the value set to 40m/s I completely lost the tracking function.
Steps to replicate 1) set the value to walking speed 4m/s. The tracker will track perfectly while you circle outside of the start tracking distance (m) at a steady walk. Then perform a fast sprint past the tracker to exceed the 4m/s threshold. The tracker will freeze and no longer track the target until powered off. I have zero the max speed filter m/s to 0 to avoid this bug.
File Main.c , function void updateTargetPosition(void)
Once the max speed threshold is exceeded
epsVectorLoad(&targetCurrent,targetPosition.lat,targetPosition.lon,currentDistance,targetLast.time,currentTimeMillis);//epsVectorSpeed(targetLast.time,currentTimeMillis,currentDistance);
Is never updated with current state values and the subsequent function call epsVectorCurrentToLast(&targetCurrent,&targetLast) copies the identical values from targetCurrent to targetLast every call.
I think the fix is to update the filter if {} statement to the following ; you have already calculated the currentSpeed.
The text was updated successfully, but these errors were encountered:
AlexC176
changed the title
max speed filter m/s setting, when exceeded causes tracking to stop
max speed filter m/s setting, when exceeded causes tracking to stop until reboot
Jun 1, 2022
Another field test and I've replicated a problem with the "max speed filter m/s" on SPRACINGF3 RC1-11.1.0. On previous test flights with the value set to 40m/s I completely lost the tracking function.
Steps to replicate 1) set the value to walking speed 4m/s. The tracker will track perfectly while you circle outside of the start tracking distance (m) at a steady walk. Then perform a fast sprint past the tracker to exceed the 4m/s threshold. The tracker will freeze and no longer track the target until powered off. I have zero the max speed filter m/s to 0 to avoid this bug.
File Main.c , function void updateTargetPosition(void)
if(masterConfig.max_speed_filter == 0 || targetCurrent.speed < masterConfig.max_speed_filter) {
epsVectorLoad(&targetCurrent,targetPosition.lat,targetPosition.lon,currentDistance,targetLast.time,currentTimeMillis);//epsVectorSpeed(targetLast.time,currentTimeMillis,currentDistance);
Once the max speed threshold is exceeded
epsVectorLoad(&targetCurrent,targetPosition.lat,targetPosition.lon,currentDistance,targetLast.time,currentTimeMillis);//epsVectorSpeed(targetLast.time,currentTimeMillis,currentDistance);
Is never updated with current state values and the subsequent function call epsVectorCurrentToLast(&targetCurrent,&targetLast) copies the identical values from targetCurrent to targetLast every call.
I think the fix is to update the filter if {} statement to the following ; you have already calculated the currentSpeed.
if(masterConfig.max_speed_filter == 0 || currentSpeed < masterConfig.max_speed_filter) {
epsVectorLoad(&targetCurrent,targetPosition.lat,targetPosition.lon,currentDistance,targetLast.time,currentTimeMillis);//epsVectorSpeed(targetLast.time,currentTimeMillis,currentDistance);
The text was updated successfully, but these errors were encountered: