Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 20, 2011 16:08:02

PsymoN
От:
Зарегистрирован: 2011-01-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Объеденить 2 функции

Привествую вас Python программеры!
интересует следующее:
пишу для телефона выстаскивалку данных от акселерометра, и нажатых кнопках, в дальнейшем будет этот код загружаться через блютуз консоль.

От акселерометра получаю данные вида x 10 y 10 z 20 e
обрабатываю это в программе и двигаю мышкой по всей среде Windows, но это не суть

код запроса данных от акселерометра следуюший:

import sensor
from keycapture import *
accelerometer = sensor.AccelerometerXYZAxisData(data_filter=sensor.LowPassFilter())
def my_callback():
print "x",accelerometer.x,"y",accelerometer.y,"z",accelerometer.z,"e"
accelerometer.set_callback(data_callback=my_callback)
accelerometer.start_listening();
вывожу на блютуз консоль.

код который будет обрабатывать кнопки:
import e32,appuifw
from keycapture import *
lock=e32.Ao_lock()
def exit():
capture.stop()
lock.signal()
appuifw.app.exit_key_handler=exit
def scancode(key_prees):print key_prees # вывод сканкода в консоль
capture=KeyCapturer(scancode)
capture.keys=all_keys
capture.farwarding=0
capture.start()
lock.wait()
. /Вот это и есть сканкод кнопки меню(пример)
/____
необоходимо сделать строку вида: x 10 y 20 z 30 k 65570 e
Возможно ли это все объеденить в одну фукцию?
Не поможете ли с этой проблемой?
Заранее Спасибо!



Отредактировано (Янв. 20, 2011 16:12:32)

Офлайн

#2 Янв. 20, 2011 16:13:34

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Объеденить 2 функции

Ну так сделайте третью функцию, которая будет вызываться тему двумя, с нужными параметра. Или оставьте одну:

def scancode(key_press=None):
if key_press: # значит событие пришло с клавиатуры
else: # значит событие пришло из акселерометра



Офлайн

#3 Янв. 20, 2011 16:22:48

PsymoN
От:
Зарегистрирован: 2011-01-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Объеденить 2 функции

я питон не знаю, знаю делфи, мне желательно если выходная строка будет такая x 10 y 20 z 30 k 65570 e , чтобы не отвлекатся на получение сканкода..
Заранее спасибо.



Офлайн

#4 Янв. 20, 2011 16:25:39

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Объеденить 2 функции

PsymoN
я питон не знаю, знаю делфи,
здесь дело не в языке а в логике. Если у вас эвенты от акселерометра и от клавиатуры одновременно не приходят, запоминайте последнее и выводите при наступлении нового события.



Офлайн

#5 Янв. 20, 2011 17:34:14

PsymoN
От:
Зарегистрирован: 2011-01-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Объеденить 2 функции

я тоже так хотел сделать.. но питон нифига не знаю, можно примерчик?



Офлайн

#6 Янв. 20, 2011 18:15:30

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Объеденить 2 функции

За вас здесь никто код писать не будет, а помочь с радостью. Возьмите любой учебник, разобраться можно за пару дней.



Офлайн

#7 Янв. 20, 2011 18:18:47

PsymoN
От:
Зарегистрирован: 2011-01-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Объеденить 2 функции

я имел ввиду пример с 2 простыми функциями, каркас тобишь.



Офлайн

#8 Янв. 20, 2011 18:23:17

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Объеденить 2 функции

Ну так я же дал вам направление, куда идти…

def a():
c()

def b():
c()

def c():
print 'hello world'
вызывайте из ваших двух функций третью. Или оставьте всего одну функцию. Пример я привел выше, только callback поправьте.



Офлайн

#9 Янв. 20, 2011 21:40:24

PsymoN
От:
Зарегистрирован: 2011-01-20
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Объеденить 2 функции

благодарю! как тут плюс влепить?



Офлайн

#10 Янв. 20, 2011 22:32:52

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Объеденить 2 функции

PsymoN, нет тут плюсов, и не нужно :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version