example 'meshtastic': some fixes

This commit is contained in:
pls.153 2023-08-01 16:34:04 +02:00
parent 4c39d57633
commit 05bec3c58b
4 changed files with 15 additions and 8 deletions

View file

@ -101,7 +101,7 @@ QVariant QT::lastPosition() {
#ifdef Q_OS_ANDROID #ifdef Q_OS_ANDROID
pos << getDoubleField("_position_lat_") pos << getDoubleField("_position_lat_")
<< getDoubleField("_position_lon_") << getDoubleField("_position_lon_")
<< QString::number(getLongField("_position_time_")); // 'QString': see QML 'lastPosition()' << QString::number(getLongField("_position_time_") / 1000); // 'QString': see QML 'lastPosition()'
#endif #endif
return pos; return pos;
} }

View file

@ -189,20 +189,24 @@
(text (qfrom-utf8 payload))) (text (qfrom-utf8 payload)))
(setf msg:*message-id* (max mid msg:*message-id*)) (setf msg:*message-id* (max mid msg:*message-id*))
(if (x:starts-with ":e" text) ; 'echo' (if (x:starts-with ":e" text) ; 'echo'
(qsingle-shot 1000 (lambda () (send-message (x:cc "<b>echo:</b>" (subseq text #.(length ":e")))))) (progn
#+mobile
(qlater 'loc:update-my-position)
(qsingle-shot 2000 (lambda () (send-message (x:cc "<b>echo:</b>" (subseq text #.(length ":e")))))))
(progn (progn
(when (x:starts-with "<b>echo:</b>" text) (when (x:starts-with "<b>echo:</b>" text)
;; send convenient response containing signal info, position, distance ;; send convenient response containing signal info, position, distance
(let ((pos (getf loc:*positions* (me:from packet))) (let ((pos (getf loc:*positions* (me:from packet)))
(my-pos (loc:last-gps-position))) (my-pos #+mobile (loc:last-gps-position)
(setf text (format nil "~A~%~%snr: <b>~F</b> rssi: <b>~D</b>~%lat: ~F lon: ~F~%distance: <b>~:D m</b>" #-mobile nil))
(setf text (format nil "~A~%~%snr: <b>~F</b> rssi: <b>~D</b>~%lat: ~,5F lon: ~,5F~%distance: <b>~:D m</b>"
text text
(me:rx-snr packet) (me:rx-snr packet)
(me:rx-rssi packet) (me:rx-rssi packet)
(if pos (getf pos :lat) "-") (if my-pos (first my-pos) "-")
(if pos (getf pos :lon) "-") (if my-pos (second my-pos) "-")
(if (and pos 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))) (cons (getf pos :lat) (getf pos :lon)))
"-"))))) "-")))))
(msg:add-message (msg:add-message

View file

@ -7,6 +7,7 @@
#:*edit* #:*edit*
#:*group* #:*group*
#:*group-icon* #:*group-icon*
#:*group-view*
#:*find* #:*find*
#:*find-text* #:*find-text*
#:*loading* #:*loading*
@ -27,6 +28,7 @@
(defparameter *edit* "edit") (defparameter *edit* "edit")
(defparameter *group* "group") (defparameter *group* "group")
(defparameter *group-icon* "group_icon") (defparameter *group-icon* "group_icon")
(defparameter *group-view* "group_view")
(defparameter *find* "find") (defparameter *find* "find")
(defparameter *find-text* "find_text") (defparameter *find-text* "find_text")
(defparameter *loading* "loading") (defparameter *loading* "loading")

View file

@ -32,6 +32,7 @@ Rectangle {
ListView { ListView {
id: view id: view
objectName: "group_view"
anchors.topMargin: rowModem.height anchors.topMargin: rowModem.height
anchors.fill: parent anchors.fill: parent
anchors.margins: 9 anchors.margins: 9
@ -65,7 +66,7 @@ Rectangle {
} }
if (person.current) { if (person.current) {
view.currentIndex = view.count - 1 view.currentIndex = i
view.positionViewAtIndex(view.currentIndex, ListView.Contain) view.positionViewAtIndex(view.currentIndex, ListView.Contain)
} }
} }