roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 май 2025, 04:27

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Python + Serial Port
СообщениеДобавлено: 01 июл 2007, 04:49 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
начал статью в вике :)

http://www.roboforum.ru/mediawiki/index.php/Python_%D0%B8_Com_Port

обсуждаем здесь :)


Последний раз редактировалось Vooon 08 июл 2007, 01:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 июл 2007, 15:38 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
[off]Зачет)[/off]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2007, 15:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
в общем пока у меня не получилось написать гуй...
но сейчас разбираюсь на примере gajim'a...

вот старый код (если кому интересно):
sersetup.ry
Код:
#!/usr/bin/env python    
# -*- coding: utf-8    -*-
# -*- autor: vooon     -*-
# -*- date: 2007/06/30 -*-

import pygtk
pygtk.require('2.0')
import gtk, guidef, serdef

class serialSetup:
   """реализует графическую оболочку"""
   
   def portCallback(self, widget, data=None):
       print "1# self.port = %d" % self.port
       self.port = data
       print "2# self.port = %d" % self.port
   
   def baudCallback(self, widget, data=None):
       print "1# self.baud = %d" % self.baud
       self.baud = data
       print "2# self.baud = %d" % self.baud

   def okButton(self, widget, data=None):
       self.ok = False
   
   def __init__(self):
       """init"""
       self.ok = True

       self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
       self.window.connect("destroy", lambda w: gtk.main_quit())

       self.window.set_title("Terminal::Port_Option")
       self.window.set_border_width(0)

       box1 = gtk.VBox(False, 3)
       box2 = gtk.HBox(True, 3)

       #>>>--- Ok/Cancel --->>>
       button1 = gtk.Button("Ok")
       button1.connect('clicked', lambda w, d=None: self.window.destroy())
       button2 = gtk.Button("Cancel")
       button2.connect('clicked', lambda w, d=None: gtk.main_quit())

       box2.pack_start(button1, True, True, 0) # Ok
       box2.pack_start(button2, True, True, 0) # Cancel
       button1.show()
       button2.show()
       box2.show()
       box1.pack_end(box2, False, False, 0)
       #<<<--- Ok/Cancel ---<<<

       frame1 = gtk.Frame("Basics")
       box1.pack_start(frame1, False, False, 0)        

       table1 = gtk.Table(2, 2, homogeneous = True)

       #>>>--- Port list --->>>
       label1 = gtk.Label("Port")
       table1.attach(label1, 0, 1, 0, 1)
       label1.show()
       
       opt1 = gtk.OptionMenu()
       menu1 = gtk.Menu()
       for (d,s) in serdef.availPorts():
           item1 = guidef.make_menu_item(s, self.portCallback, d)
           menu1.append(item1)
       opt1.set_menu(menu1)
       menu1.activate_item
       table1.attach(opt1, 1, 2, 0, 1)
       opt1.show()
       self.port = serdef.availPorts()[0][0]
       #<<<--- Port list ---<<<

       #>>>--- Baud rate list --->>>
       label1 = gtk.Label("Baud")
       table1.attach(label1, 0, 1, 1, 2)
       label1.show()

       opt1 = gtk.OptionMenu()
       menu1 = gtk.Menu()
       for b in serdef.availBauds():
           item1 = guidef.make_menu_item("%d" % b, self.baudCallback, b)
           menu1.append(item1)
       opt1.set_menu(menu1)
       table1.attach(opt1, 1, 2, 1, 2)
       opt1.show()
       self.baud = serdef.availBauds()[0]
       #<<<--- Baud rate list ---<<<

       frame1.add(table1)
       frame1.show()

       self.window.add(box1)
       self.window.show_all()
               
   def main(self):
       gtk.main()

if __name__ == "__main__":
   setup = serialSetup()
   setup.main()


Вложения:
Комментарий к файлу: весь этот код превращается в такое окошко...
Terminal-Port_Option.png
Terminal-Port_Option.png [ 9.27 КиБ | Просмотров: 5806 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2007, 16:39 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Скукота...
С++ + Qt =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2007, 20:48 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Виталий писал(а):
С++ + Qt =)

я тоже подумываю о Qt
(прост че было в дефолте то и стал пробовать :))
а вот на приплюснутого не пойду - мне и скорости питона хватает
(да и думаю попробовать руби, в питоне уже наткнулся на "подарочек" переводилка из GLADE формата в 3,14 побилась
и у меня вылетает с кучей ошибок :(

пс библу комовскую уже и под рубин нашел, но она на си
и не совсем полностью одинаково работает на разных платформах
(питоновская чистая, и rts'ом можно рулить и в винде)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 июл 2007, 23:32 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Цитата:
а вот на приплюснутого не пойду - мне и скорости питона хватает


Это уж как говориться дело вкуса...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2007, 03:39 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Виталий писал(а):
С++ + Qt

кстати на сколько помню Qt идет как надстройка над  приплюснутым
что используете для разработки?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2007, 10:23 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Visual Studio =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2007, 19:16 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Виталий писал(а):
Visual Studio =)

мдя, мне он нафиг неупал :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2007, 20:33 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Да вам линукс нафиг не упал на самом деле =)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2007, 22:03 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
ага мне и компутер нафиг ненужен  :lol:  :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO