diff --git a/examples/meshtastic/cpp/qt.cpp b/examples/meshtastic/cpp/qt.cpp index 697b58f..be02749 100644 --- a/examples/meshtastic/cpp/qt.cpp +++ b/examples/meshtastic/cpp/qt.cpp @@ -101,7 +101,7 @@ QVariant QT::lastPosition() { #ifdef Q_OS_ANDROID pos << getDoubleField("_position_lat_") << getDoubleField("_position_lon_") - << QString::number(getLongField("_position_time_")); // 'QString': see QML 'lastPosition()' + << QString::number(getLongField("_position_time_") / 1000); // 'QString': see QML 'lastPosition()' #endif return pos; } diff --git a/examples/meshtastic/lisp/lora.lisp b/examples/meshtastic/lisp/lora.lisp index 9117c2d..28c996e 100644 --- a/examples/meshtastic/lisp/lora.lisp +++ b/examples/meshtastic/lisp/lora.lisp @@ -189,20 +189,24 @@ (text (qfrom-utf8 payload))) (setf msg:*message-id* (max mid msg:*message-id*)) (if (x:starts-with ":e" text) ; 'echo' - (qsingle-shot 1000 (lambda () (send-message (x:cc "echo:" (subseq text #.(length ":e")))))) + (progn + #+mobile + (qlater 'loc:update-my-position) + (qsingle-shot 2000 (lambda () (send-message (x:cc "echo:" (subseq text #.(length ":e"))))))) (progn (when (x:starts-with "echo:" text) ;; send convenient response containing signal info, position, distance (let ((pos (getf loc:*positions* (me:from packet))) - (my-pos (loc:last-gps-position))) - (setf text (format nil "~A~%~%snr: ~F rssi: ~D~%lat: ~F lon: ~F~%distance: ~:D m" + (my-pos #+mobile (loc:last-gps-position) + #-mobile nil)) + (setf text (format nil "~A~%~%snr: ~F rssi: ~D~%lat: ~,5F lon: ~,5F~%distance: ~:D m" text (me:rx-snr packet) (me:rx-rssi packet) - (if pos (getf pos :lat) "-") - (if pos (getf pos :lon) "-") + (if my-pos (first my-pos) "-") + (if my-pos (second my-pos) "-") (if (and pos my-pos) - (loc:distance (cons (first my-pos) (second my-pos)) + (loc:distance (cons (first my-pos) (second my-pos)) (cons (getf pos :lat) (getf pos :lon))) "-"))))) (msg:add-message diff --git a/examples/meshtastic/lisp/ui-vars.lisp b/examples/meshtastic/lisp/ui-vars.lisp index 1e16c37..7c7594f 100644 --- a/examples/meshtastic/lisp/ui-vars.lisp +++ b/examples/meshtastic/lisp/ui-vars.lisp @@ -7,6 +7,7 @@ #:*edit* #:*group* #:*group-icon* + #:*group-view* #:*find* #:*find-text* #:*loading* @@ -27,6 +28,7 @@ (defparameter *edit* "edit") (defparameter *group* "group") (defparameter *group-icon* "group_icon") +(defparameter *group-view* "group_view") (defparameter *find* "find") (defparameter *find-text* "find_text") (defparameter *loading* "loading") diff --git a/examples/meshtastic/qml/ext/Group.qml b/examples/meshtastic/qml/ext/Group.qml index caa528f..ea33d70 100644 --- a/examples/meshtastic/qml/ext/Group.qml +++ b/examples/meshtastic/qml/ext/Group.qml @@ -32,6 +32,7 @@ Rectangle { ListView { id: view + objectName: "group_view" anchors.topMargin: rowModem.height anchors.fill: parent anchors.margins: 9 @@ -65,7 +66,7 @@ Rectangle { } if (person.current) { - view.currentIndex = view.count - 1 + view.currentIndex = i view.positionViewAtIndex(view.currentIndex, ListView.Contain) } }