Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2017 22:43:36

74LS00
Зарегистрирован: 2016-08-04
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

нужнно запустить внешнюю программу

Поковырялся с прогой под линуксом, и там эта часть кода заработала хотя и с ошибками.
Под дочерним окном которое на картинке, появляется окно с ошибкой. При этом можно передвинуть это дочернее окно, закрыть ошибку и продолжить работу. Под виндой этого окна не видно, только звук ошибки.
Даже не знаю в чём не совместисть, с 64 версией или с самим питоном.
Пробовал запустить в 3 версии, не работает.
Хотя автор пишет странное чтото, видимо у него в системе такая каша что работает всё и он не знает как.

Optional: Python 2.7 or 3.3+
Скорее всего написано на 2 версии и старым способом корый ещё в xp работал, но потом баг висты о котором автор не знал и попал в его программу, так и в 7 венде не работает.

Офлайн

#2 Янв. 19, 2017 09:32:18

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2607
Репутация: +  62  -
Профиль   Отправить e-mail  

нужнно запустить внешнюю программу

поколупал код и сразу задася рядом вопросов:
А за ким оно нужно вобще? Старая недопиленная баговая страшилка!
Чем плохо лить код прямо со студии?
Чем плохо воспользоваться козой к примеру
https://habrahabr.ru/post/128939/

И в догонку - в даной программе пробелма не с самим питоном а в том что она банально недописана по причине того что писалась кусками и в итоге ее всю надо переписывать



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Янв. 19, 2017 18:02:08

74LS00
Зарегистрирован: 2016-08-04
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

нужнно запустить внешнюю программу

Студии давно нет. Бинарники собраны и прога им сама както колупает.
Эта подпрограмма нужна только чтоб запускать програматор который зашивает то что она наколупала.

Что недопилено так есть такое. Она както запускает один из вариантов софта, вот только нет ни конфигов ни других настроек как этим програматорам задать параметры.
Хорошего в ней только то что есть вывод этих самых програматоров, мне не понятно как его реализовывать.

По самим програматорам тоже не понятно есть ли в них прок, заставить их работать я не смог, думал может если заставлю работать прогу чтото получится.
Teensy проприетарный загрузчик, модуль дорогой и древний, покупать не буду точно, разве что у когото остались.

Flip и его кроссплатформенный dfu работают через спец драйвер который надо устанавливать для прошивки и после наверно удалить или ещё какието пляски с кнопкой.
Для всего этого в контролер надо шить загрузчик и вот тут непонятен момент как скрестить с ним прошивку сделаную этой прогой чтоб она работала.
Програматор контролер видит только после прошивки загрузчика, но если записать прошивку контролер не работает.
Так что эти 2 варианта тоже не рабочие.

Остаётся avrdude которая всеядна, но я так и не понял работает она или нет, на форуме у них всякое написано.

Просто хотелось оставить совместимость, но чтото у них давно не обновлялось, наверно проще сделать форк.

Похоже эту функцию проще отключить и добавить чтото своё через кнопку в сам файл gui.py
Вместо вывода будет просто окно консоли.

Баг наверно можно залатать есть использовать вместо окна сообщения messagebox, новое окно simpledialog.Dialog как это сделано в файле gui .
Но почемуто messagebox в главном окне как root выдаёт нормальное вендовое окошко ошибки, а в этом файле как parent только звук.
Мне кажется или автор чтото новое выучил или и вовсе этот файл писали разные люди.

Пока пытаюсь разобратся с накаляканой схемой своей версией железа где прошивка будет раз в 5 быстрее, и тут только avrdude подойдёт, который вроде тоже и под маком быть должен. Но плата сложная, не в пользу повторяемости
—-
Нашёл обновлёную версию проги, точнее форк с улучшеной работой с файлами.
gui.py был переписан и теперь вообще не понятно как работает програмирование.
В 1045 строке programming.popup виден, но окно програматора даже не появляется

Отредактировано 74LS00 (Янв. 20, 2017 02:32:06)

Офлайн

#4 Янв. 23, 2017 16:38:54

74LS00
Зарегистрирован: 2016-08-04
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

нужнно запустить внешнюю программу

Автор форка исправил не появляющееся окно и оно также виснет в 2.7 под виндой, но в 3.6 появляется нормально. Как оказалось там пара команд не в тех строках.
Этож надо как попал, мало того что по языку вообще инфы нет да и я не програмист, так ещё и на новую версию сразу перелазить.
Ну раз прога под 3 завелась, жить можно. Портативную тоже с кусков собрал.

Придётся это окно допиливать. Автору форка понравился тулбар, но такой загаженый код с костылём отправлять не хочется.

Офлайн

#5 Янв. 23, 2017 16:56:01

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2607
Репутация: +  62  -
Профиль   Отправить e-mail  

нужнно запустить внешнюю программу

Так и не увидел причин использовать ЭТО
Все прекрасно шьется дудкой и козой
программаторов миллион так же работают!
Я не говорю что данная софтина бесполезна - я понять не могу зачем она если вокруг куча готовых решений

Это похоже на прицельный мазохизм!



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Янв. 23, 2017 19:37:13

74LS00
Зарегистрирован: 2016-08-04
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

нужнно запустить внешнюю программу

Конкретно этот файл это гуй для другой программы которая делает много чего.
Фактически от неё требуется нажать одну кнопку и вывести в окно лог работы.
Вот это упрощение в одну кнопку она и делает. Без неё я делал костыль, но он такойже бесполезный, всё равно нужно делать графический конфигуратор.
Запустить скрипт в окне терминала, причём терминал надо ещё знать

 subprocess.Popen(shlex.split('/usr/bin/mate-terminal --title avrdude -e '+get_pkg_path('..//..//programmer//linux//avrdude.sh')))
 port=/dev/ttyUSB0
fw=../../keymapper/korbord_v0.3.hex
pdir=$( dirname "$0" )
avrdude -P $port -c stk500v2 -p m32u4 -U flash:w:$pdir/$fw:a
но перед этим надо тоже чтото делать, а то и вовсе систему перестраивать и как это я ещё не добрался, кароче второй костыль
 dmesg | grep tty
user=$(whoami)
port=/dev/ttyUSB0
sudopsw="1234"
echo $sudopsw | sudo -S usermod -a -G dialout $user
echo $sudopsw | sudo -S chmod a+rw $port
Вместо нормальной работы, одно сидение в консоли, а если мне второй файл создать, мне тогда скрипты переписывать.
Под виндой чуть проще, но фигня таже.

Поюзал это окошко и как и все не идеал, но уже кое что, видимо питон могучий.
В процессе дудка выдаёт статус в виде движущейся полоски
Writing | ###################### | 43% 2.11s
окошко както это выдаёт через self.logger(cmd) и статус обновляется после того как полоска доходит 100%, таких полоски за прошивку 3. Если программа повисает, то ничего и не выдаётся. Хорошо бы чтоб оно работало в реальном времени, но или автор неосил или и в самом деле это невозможно. Так что хорошего гуя под дудку никогда и небыло.
Я видел их много, все фуфло и часто не имеют нужных параметров. Тут всё намного лучше, этот кусок просто не написан.

Всё что может окошко в таком виде это запускать usb загрузчик который не имеет порта, потомучто врятли кто додумается в режиме прошивки подключать больше чем одно устройство. Но у меня это как раз и не работает. Может потомучто загрузчик потёр, может под виндой пытаюсь, а там с драйверами криво. Так что просто остановился на дудке.

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

Отредактировано 74LS00 (Янв. 23, 2017 19:40:58)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version