Показать сообщение отдельно

  #14  
Старый 19.02.2009, 23:11
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
С нами: 10067064

Репутация: 455


По умолчанию

Сейчас появилось пару свободных минут на работе и я решил написать что-то наподобе драйверов устройств робота.
Писал на питоне, но и написал комеинтарии чтоб было понятно большенству. (прогу не проверил на работе питона нету)
Код:
import threading
from Queue import Queue
l_x=Queue() #глобальные переменные потоков
r_x=Queue()
ygol=Queue()
maps{}=Queue()
rastojanie=Queue()
zaxod=Queue()
class motor_l(threading.Thread): #поток управления левого мотора
	def napr_l(l_x):
		if l_x == 1: #если от логики придет 1 или 2 или 3 выпоняем определенное действие
			print 'krytim v pered'
		elif l_x == 2:
			print 'stoim na meste'
		elif l_x == 3:
			print 'edem nazad'
class motor_r(threading.Thread): #поток управления правого мотора
	def napr_l(r_x):
		if r_x == 1: #если от логики придет 1 или 2 или 3 выпоняем определенное действие
			print 'krytim v pered'
		elif r_x == 2:
			print 'stoim na meste'
		elif r_x == 3:
			print 'edem nazad'
class serva(threading.Thread): # поток управления серво приводом
	max_l = -45 #макс углы поворота сервы. указывать как углы сервы (если счет от нуля то и ставим ноль)
	max_r = 45
	while 1:
		if zaxod % 2 == 0: #Проверяем в какую сторону двигать серву по количеству ее движения (по четности)
			ygol = max_l + 1
			if ygol = max_r:
				zaxod = zaxod + 1
		if zaxod % 2 > 0:
			ygol = Max_r - 1
			if ygol = max_l:
				zaxod = zaxod + 1
class dalnomer(threading.Thread): #поток управления дальномером
	while 1:
		coordinata = coordinata + 1 #Считаем координату от начала движения сервы
		if distanchija < 81: #Если мы видем препядсвие записываем 1
			rastojanie[coordinata] = 1
		elif distanchija > 81: #Если не видем препядствие записываем 0
			rastojanie[coordinata] = 0
class logika(threading.Thread): #Сдесь будет логика
Пока нет логики но я ее допишу скоро =)
И тагже принимаются советы по прошивке