
Cita: Originalmente Escrito por
Caravantes
... prefiero situarme como espectador y disfrutar de la lectura. Es muy instructivo, y algunas veces aprendo algo inesperado ...

Ves, todavía puedo sorprenderte. Así que no vuelvas a decir que lo nuestro está acabado.

Cita: Originalmente Escrito por
Caravantes
Aprovecho para explicitar mi agradecimiento a Willy, y también a Emiegna por provocar y especialmente por su perseverancia. Los dos hacéis posible estos entretenidos diálogos, que me recuerdan a un buen partido de tenis. Genial.

Por la parte que me toca nadie tiene nada que agradecer, y menos usted señor Caravantes.
Muy tentador ...
Bueno, ya tengo un boceto de tarea que
debería hacer ese efecto de subir-bajar la velocidad gradualmente...
Código:
GPS_OnOff v3
%novel = --
%gps = 10
IF %par1 ~ on
Obtener ubicación / GPS / cuenta atrás = %gps / continuar = si / seguimiento = si
IF %TIMES - %LOCTMS < %gps
%vel = round(%LOCSPD*3.6)
%Velocidad = %vel [IF %Velocidad ~ %novel]
%pas = 1
%pas = 5 [IF abs(%Velocidad - %vel) > 10]
%Velocidad = %Velocidad + %pas [IF %Velocidad < %vel]
%Velocidad = %Velocidad - %pas [IF %Velocidad > %vel]
ELSE
%Velocidad = %novel
ENDIF
Esperar 200 ms
Volver a "Obtener ubicación"
ELSE
Detener ubicación / GPS
%Velocidad = %novel
ENDIF
Manejo de incompatibilidades = Abortar Tarea Existente
Ojo que tiene varios cambios con respecto a la versión anterior.
Mi primera idea era muy simple y subía-bajaba en pasos de uno. Luego me he dado cuenta de que si el salto de velocidad llega a ser muy grande la subida-bajada se puede eternizar aunque se hagan unos cinco cambios por segundo (con esa espera de 200 ms es lo que sale). Lo he resuelto haciendo pasos de 5 si la diferencia de velocidad es mayor de 10.
Tal como está, un salto de 50 a 60 se ajusta en un par de segundos en pasos de uno y un salto de 60 a 20 se ajustaría en unos tres segundos, al principio en pasos de 5 y al final en pasos de uno.
Creo que así queda bien, pero ya me contarás.
Por cierto, los [IF...] son esas condiciones que se activan en cada acción al final de la ficha.