Форум сайта python.su
Есть чужая программа, но вместо функции заглушка https://github.com/dhowland/EasyAVR
В 194 строке выдаёт сообщение и только
https://github.com/dhowland/EasyAVR/blob/master/keymapper/easykeymap/programming.py
Фрагмент
class AvrdudePosix(ProgrammingTask): description = "Upload to USB AVR with AVRdude" windows = False posix = True teensy = False loader_tools = [ ] def run(self): self.logger("Not implemented.")
loader_tools = [ 'avrdude.exe', 'avrdude', 'avrdude.bat', ]
import osПробовал копировать из других частей, но тогда совсем не работает.
os.system('notepad.exe')
Отредактировано 74LS00 (Авг. 4, 2016 06:32:53)
Офлайн
74LS00Вам надо обращаться к автору кода а не на форум.
Как сделать чтоб при нажатии кнопки Run запускался внешний батник?
Офлайн
> Скорее всего не реализовали потомучто очень много параметров.
Скорее всего ещё не успели.
> Как сделать чтоб при нажати кнопки Run запускался внешний батник?
Посмотри как сделан метод run у класса выше.
Онлайн
doza_andВрятли автор меня поймёт https://geekhack.org/index.php?topic=51252.0
Вам надо обращаться к автору кода а не на форум.
class AvrdudePosix(ProgrammingTask): description = "Upload to USB AVR with AVRdude" windows = True posix = True teensy = False loader_tools = [ 'G:\\home\\Documents\\Projects\\EAGLE\\Keyboard\\EasyAVR\\avrdude\\avrdude.bat' ] # self.logger("Not implemented.") def run(self): if self.info.binformat: raise ProgrammingException("Avrdude requires a build in HEX format.") if self.tool_path is None: raise ProgrammingException("Can't find Avrdude executable.") self.bootmsg(self.logger) cmd = ('"%s" %s') % ( self.tool_path, self.info.device.lower(), self.info.filename) self.execute(cmd)
if self.tool_path is None: raise ProgrammingException("Can't find Avrdude executable.")
Отредактировано 74LS00 (Авг. 4, 2016 14:56:10)
Офлайн
74LS00Надо попробовать через subprocess.Popen().
Пробовал добавлять нечто нагугленое, но сначало открывается блокнот, а потом сама программа и больше это не работаетimport os
os.system('notepad.exe')
import subprocess def f(): subprocess.Popen('notepad.exe') print('x') subprocess.Popen('notepad.exe') print('y') f()
Отредактировано py.user.next (Авг. 5, 2016 02:02:10)
Офлайн
Пока видно что никто из форумчан этой прогой не пользовался. Что тут посоветуешь. Учите питон, делайте форк проекта, осваивайте отладчик (pyscripter или pycharm), учите английский и общайтесь с автором.
Задавайте вопросы на форуме, но моделируйте как мы будем отвечать.
74LS00Как мы ответим? Программу никто ставить не собирается. Что за кнопка мы и близко понятия не имеем.
Как сделать чтоб при нажати кнопки Run запускался внешний батник?
74LS00
но сначало открывается блокнот, а потом сама программа и больше это не работает
Офлайн
Мне бы хотябы понять как ошибки увидить, а то вылетает 3 раза жалуясь на сам python .
Прога запускается из батника командой python -m easykeymap.gui где easykeymap папка, а gui файл gui.py , что для меня совсем не очевидно, думал такой класицизм только в яве.
Программу никто ставить не собирается. Что за кнопка мы и близко понятия не имеем.Я думал возможно вам хватит исходников файла, хотя видимо это не тот язык чтоб соазу былдо понятно.
Интересно зачем вам блокнотвсётаки внешняя программу которую виднно, работу консольной я точно не увижу.
dfu-programmer.exe atmega32u4 erase –forceНо в проге отображается только первая строчка из 3 команд и уже через эти несколько секунд он повисает
Erasing flash… Success
Checking memory from 0x0 to 0x6FFF… Empty.
dfu-programmer.exe atmega32u4 flash EasyAVR\keymapper\tmp.hex
Checking memory from 0x0 to 0x687F… Empty.
0% 100% Programming 0x6880 bytes…
Success
0% 100% Reading 0x7000 bytes…
Success
Validating… Success
0x6880 bytes written into 0x7000 bytes memory (93.30%).
dfu-programmer.exe atmega32u4 reset
Отредактировано 74LS00 (Авг. 5, 2016 19:57:56)
Офлайн
74LS00
Мне бы хотябы понять как ошибки увидить, а то вылетает 3 раза жалуясь на сам python
74LS00Почему не увидите ошибки? Почему вывод консольной программы не увидите. Запускайте программу из консоли и будет все видно.
всётаки внешняя программу которую виднно, работу консольной я точно не увижу.
74LS00Ну так вы хоть раз сообщение об ошибке пришлите. откуда нам знать что у вас происходит.
вылетает 3 раза жалуясь на сам python .
74LS00При таких объяснениях ни в одном языке ни капли не будет понятно.
хотя видимо это не тот язык чтоб сазу былдо понятно.
74LS00Вам надо искать либо обработчик события кнопки по имени кнопки Run либо по команде которую она выполняет (если конечно вы знаете что там выполнялось).
Как я понимаю из этой функции
Офлайн
Это скорее оффтоп, но не найдя понятного решения решил сразу получить конечный результат.
Пошёл старым методом и удалил из таблицы всё чего у меня нет в железном виде и методом тыка удалось найти то что я 2 раза опровергал, хотя и с прошлой прошивкой было также, но там таблица была более очевидной.
Нащупал ноги, нарисовал таблицу, теперь получил полное NKRO как и хотел и о питоне пока можно забыть. Но то был простой нумпад с 24 кнопками , а нужно ещё 2 блока где кнопок более 40 и всё это в туже прошивку.
Не быстрое дело: редактирую .py , запускаю прогу через батник, экспортирую прошивку, и вот если бы тут прога запустила програматор и упало было бы даже хорошо, потому как после прошивки её всё равно перезапускать чтоб собрался новый .pyc. Ну а так запускаю батник прошивки, редактирую таблицу и уже закрываю прогу.
Фактически этот програматор и был бы удобнее для правки этой таблицы, а после не думаю что ктото будет подстраивать клавиши ищя идеальное расположение.
Изучать то в чём не понимаешь не очень то и хочется, для меня важнее железная часть.
С моим умом програмирование дальше редактированния таблиц обычно не доходит, да и не требуется, учил год назад autoit потому что надоело играть в пиратку мморпг унылым честным способом, заоднно и под другую написал костыль, а теперь всё забыл и свой код понять не могу хоть и коментирован.
Слишком много времени занимает весь этот кодинг.
Трудно делать то что не представляешь каким должно быть, сейчас ковыряя прошивку понял что кнопки / * должны быть горизонтально и именно так потому как по другому не удобно коментировать, и сишники писали это под готовое железо.
Офлайн
74LS00Лучший комментарий - тот, которого нет. Ниндзя-комментарии их ещё называют. Это набор навыков написания кода таким образом, что он легко понятен без комментариев.
а теперь всё забыл и свой код понять не могу хоть и коментирован.
74LS00Да, есть сисадминство и есть программирование. Обе области большие (по количеству материала) и совершенно не пересекаются. Иногда сисадминам кажется, что они уже и программировать могут автоматически, раз они сисадминят прилично. Но практика показывает, что их код так себе - то есть ломается при первом же ветре.
Слишком много времени занимает весь этот кодинг.
Отредактировано py.user.next (Авг. 6, 2016 03:14:26)
Офлайн