Skip to content

Commit

Permalink
control volume by dynamic reconfigure
Browse files Browse the repository at this point in the history
  • Loading branch information
knorth55 committed Nov 11, 2022
1 parent 6501ad9 commit ab8388a
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 4 deletions.
15 changes: 14 additions & 1 deletion jsk_robot_common/jsk_robot_startup/lifelog/tweet_client_tablet.l
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,26 @@
(ros::roseus "twitter_client_tablet")
(ros::roseus-add-msgs "roseus")

(load "package://roseus/euslisp/dynamic-reconfigure-server.l")
(load "package://jsk_robot_startup/lifelog/tweet_client.l")

(setq *volume* (ros::get-param "~volume" 1.0))
(setq *reconfigure-server*
(def-dynamic-reconfigure-server
;;; ((name type level description (default) (min) (max) (edit_method)) ... )
(("volume" double_t 0 "tweet speak volume" 1.0 0.0 1.0))
;; use lamda-closure to avoid memory error
'(lambda-closure nil 0 0 (cfg level)
(setq *volume* (cdr (assoc "volume" cfg :test #'equal)))
(ros::ros-warn "Volume changed to: ~A" *volume*)
cfg)))

(defun twit-cb (msg)
(let ((twit-str (send msg :data)))
(tweet-string twit-str
:warning-time nil
:with-image "/tablet/marked/image_rect_color")))
:with-image "/tablet/marked/image_rect_color"
:volume *volume*)))
(ros::subscribe "/pr2twit_from_tablet" roseus::StringStamped #'twit-cb)

(ros::spin)
16 changes: 15 additions & 1 deletion jsk_robot_common/jsk_robot_startup/lifelog/tweet_client_uptime.l
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

(ros::roseus "twitter_client_uptime")

(load "package://roseus/euslisp/dynamic-reconfigure-server.l")
(load "package://jsk_robot_startup/lifelog/tweet_client.l")

(setq *src-lines* nil)
Expand All @@ -12,6 +13,17 @@
(setq *robot-name* (ros::get-param "/active_user/robot_name"))
)

(setq *volume* (ros::get-param "~volume" 1.0))
(setq *reconfigure-server*
(def-dynamic-reconfigure-server
;;; ((name type level description (default) (min) (max) (edit_method)) ... )
(("volume" double_t 0 "tweet speak volume" 1.0 0.0 1.0))
;; use lamda-closure to avoid memory error
'(lambda-closure nil 0 0 (cfg level)
(setq *volume* (cdr (assoc "volume" cfg :test #'equal)))
(ros::ros-warn "Volume changed to: ~A" *volume*)
cfg)))

(ros::rate 0.1)
(do-until-key
(setq *user-name* (ros::get-param "/active_user/launch_user_name")
Expand Down Expand Up @@ -55,8 +67,10 @@
(incf pos (length s))
(if (< pos (- ln 2)) (setf (elt dt pos) 10))
(incf pos))
(tweet-string dt :warning-time 1 :with-image t)
(tweet-string dt :warning-time 1 :with-image t
:volume *volume*)
))
))))
(ros::spin-once)
(ros::sleep)
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,21 @@

(ros::roseus "twitter_client_warning")

(load "package://roseus/euslisp/dynamic-reconfigure-server.l")
(load "package://jsk_robot_startup/lifelog/tweet_client.l")
(ros::load-ros-manifest "diagnostic_msgs")

(setq *volume* (ros::get-param "~volume" 1.0))
(setq *reconfigure-server*
(def-dynamic-reconfigure-server
;;; ((name type level description (default) (min) (max) (edit_method)) ... )
(("volume" double_t 0 "tweet speak volume" 1.0 0.0 1.0))
;; use lamda-closure to avoid memory error
'(lambda-closure nil 0 0 (cfg level)
(setq *volume* (cdr (assoc "volume" cfg :test #'equal)))
(ros::ros-warn "Volume changed to: ~A" *volume*)
cfg)))

(defun diagnostics-cb (msg)
(let ((diagnostics (make-hash-table :test #'equal))
(tm (ros::time-now))
Expand Down Expand Up @@ -34,7 +46,7 @@
(setq id (random (length status)))
(when (= (mod (round (send tm :sec)) 1000) 0)
(tweet-string (format nil "Warning!! ~A is ~A at ~0,3f" (car (elt status id)) (cdr (elt status id)) (send tm :to-sec))
:warning-time 1 :with-image t)
:warning-time 1 :with-image t :volume *volume*)
)) ;; when
)) ;; let

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,25 @@

(ros::roseus "twitter_client_worktime")

(load "package://roseus/euslisp/dynamic-reconfigure-server.l")
(load "package://jsk_robot_startup/lifelog/tweet_client.l")

(defvar *robot-name* "robot")
(when (ros::has-param "/active_user/robot_name")
(setq *robot-name* (ros::get-param "/active_user/robot_name"))
)

(setq *volume* (ros::get-param "~volume" 1.0))
(setq *reconfigure-server*
(def-dynamic-reconfigure-server
;;; ((name type level description (default) (min) (max) (edit_method)) ... )
(("volume" double_t 0 "tweet speak volume" 1.0 0.0 1.0))
;; use lamda-closure to avoid memory error
'(lambda-closure nil 0 0 (cfg level)
(setq *volume* (cdr (assoc "volume" cfg :test #'equal)))
(ros::ros-warn "Volume changed to: ~A" *volume*)
cfg)))

(ros::rate 0.1)
(do-until-key
(setq *user-name* (ros::get-param "/active_user/launch_user_name")
Expand Down Expand Up @@ -49,8 +61,10 @@
postsubstr ", Got some rest?")))

(tweet-string (format nil "~A~A~A" presubstr mainstr postsubstr)
:warning-time 1 :with-image t)
:warning-time 1 :with-image t
:volume *volume*)

))
(ros::spin-once)
(ros::sleep)
)

0 comments on commit ab8388a

Please sign in to comment.