2014-10-03 20 views
0

我剛開始使用重新思考機器人技術baxter。讓巴克斯特做一次動作

在他們用於響應按鈕控件的示例中,他們使用事件處理程序(我認爲)。 示例(從gripper_cuff_control.py):

self._open_io.state_changed.connect(self._open_action) 

我希望能夠按下一個按鈕和移動手腕一組量,我目前能做到這一點,但它state_changed發生兩次(一次 - >推和一次爲state_changed - >發佈)

什麼是最優雅的方式,使動作只發生在一次按鈕被推動和釋放?

+2

你可以檢測到不同或者你能夠將狀態傳遞給你的函數嗎? – EdChum 2014-10-03 12:48:37

回答

0

我找不到關於API的文檔,但是從this example看起來函數的第一個參數會告訴您按鈕是否被按下或釋放。

def _open_action(self, value): 
    if value: #button was pressed 
     #do stuff here in response to button press 
    else: #button was released 
     #do stuff here in response to button release