STM8 USB V-USB

2017-12-08~19_58_48 программируемая клавиатура
USB РID keyboard macros for games programming
Добавился отладчик (можно по USB считывать и записывать в регистры МК)
Скорее это больше для управления задумано, чем для отладки.
Добавилась возможность сохранения настроек кнопок в ini файл
github.com/BBS215
debugtool
debugtoolGUI
Чтобы работало прошивку в МК надо обновить.

2017-11-22~10_13_59
STM8S003F3P6 USB HID программируемая клавиатура с АПЧ (без кварца)
+ программа конфига кнопок с графикой и командной строкой.
forum.easyelectronics.ru/viewtopic.php?p=526561#p526561
(https://github.com/selevo/STM8S-VUSB-KEYBOARD/tree/patch-1)

github.com/wlianmin/stm8_usb
в комплекте пример hid мышки самодвигающейся :)
китайцы взяли в основу труды этого товарища:
ziblog.ru/2014/02/20/programmnyiy-usb-na-mikrokontrollerah-stm8.html
и в общем-то довели до рабочей железки

А нашлось сначала вот что:
STM8 USB
vk.com/doc-73481857_408253851

портированные на IAR
vk.com/doc-73481857_408254606
  • +4
  • 22 июля 2015, 07:15
  • selevo

Комментарии (55)

RSS свернуть / развернуть
пардоньте. а чуть более очевидный доступ к обсуждению обеспечить нельзя?
0
  • avatar
  • xar
  • 22 июля 2015, 11:37
вот за сутки стало ясно больше:
github.com/wlianmin/stm8_usb
0
Схоронил

0
Поздно я взялся за это дело ни кому оказалось не нужно :(
Китайцы меня доставали чтобы переделал на работу от встроенного RC-генератора,
но в связи с неактуальностью решил не тратить своё время.
Были ещё мысли перенести на stm32…
+1
  • avatar
  • ZiB
  • 22 июля 2015, 13:37
А на Cypress PSoC не хотите портануть? Cortex M0/M3, очень вкусные камни. Думаю можно замахнуться даже на CDC.
0
они тоже стоят 12 рублей?
0
Нет, такого желания точно нет :)
0
а к чему оно там? на м3 есть с аппаратной поддержкой. на м0 PSoC интересными не показались, а PRoC вроде вполне тоже c USB имеются.
0
stm32 тоже с USB есть. А есть и без.
0
ну как бы у стм32 есть копеечные контроллеры и возможно там кому то усб понадобится, у стм8 вообще усб нет. А у псоков на м3 усбовый модуль за недорого появляется аппаратный практически на всей линейке. По чесноку — я и на stm32 смысла в совтварном усб не вижу. Вообще нигде не вижу. Но если уж на стм32 портируют, то думаю что портировать на что либо имеющее то же ядро (будь то псок или лпц какой нибудь) портировать уже совсем не долго.
0
Там же веселуха с таймингами. Хотя, если удастся переложить формирование сигналов USB на железо — может получиться даже лучше, чем на AVR.
0
Думаешь на стм8 их нет :) Та же самая картина, тоже конвейер всю малину портит.
0
Я прекрасно это помню :) Я имею вы виду, что на ARM'е может потребоватся трахаться с таймингами отдельно для каждого семейства и вендора МК — а это чуть ли не основная часть.
0
почему то помнится что компилятору плевать на вендора, а вот на семейство арма не плевать. Так что при переходе от м3 на м3 проблем быть не должно. Вот только разве что на псоках м3+
0
Посмотри на эту прелесть. Компилятор тут вообще не при делах.
P.S. Был, кажется, более развернутый топик с осциллограммами, но я его еще ищу.
0
Нашел. Топик оказался в личных, и автора не попросишь перенести — он уже 3 года не заглядывал. DI, если прочтешь этот коммент — перенеси топик в STM8 :)
0
дак веселуха же из-за умного конвеера в ядре, или еще какие то затыки есть?
0
Веселуха, AFAIK, не столь из-за конвеера (тот же STM8 дает прелестные ровные тайминги при работе кода из RAM), сколь из-за особенностей выборки команд из памяти. А это уже вендорская прерогатива. Насколько я помню, даже у одного вендора, скажем STM, в разных сериях — разные акселераторы доступа к флешу.
0
дэ? Ну тогда хз даже… в опу это все. С прерываниями то что делать? ^_^
0
Оригинальная V-USB поступала просто — она делала не с прерываниями, а в прерывании! :)
0
Прошу отметить я не портировал V-USB, я написал свой код.
Слишком большие различия в архитектуре для простой портации.
0
Ну это логично — в конце концов, V-USB в основном написана на асме и ее в любом случае переписывать придется. Но, насколько я помню, на V-USB ты ориентировался и даже жаловался на малочитабельный код сабжа.
Да и я, на самом деле, отвечал на вопрос «что делать с прерываниями».
0
Поэтому и жаловался, что вначале думал о портировании, но потом понял что бесполезно :(
Они просто у себя в ссылках меня прописали www.obdev.at/products/vusb/links.html и я потом получал вопросы на счет V-USB :(
0
Народ то не вникает сильно в тему…
0
Там же веселуха с таймингами
А разве таймеры не помогут в этом случае?
0
На STM32 может и помогут при частоте под сотню, а на AVR нужно было дрыгать ножками с интервалами порядка 8 тактов.
0
тут начнет влиять время входа в прерывание )
0
Кстати, я думаю, этот топик можно перекинуть в STM8.
0
  • avatar
  • Vga
  • 22 июля 2015, 19:16
Последние вести 2017-11-22~10_13_59

STM8S003F3P6 USB HID клавиатура с АПЧ (без кварца)
forum.easyelectronics.ru/viewtopic.php?p=526561#p526561
(https://github.com/selevo/STM8S-VUSB-KEYBOARD/tree/patch-1)
+1
теперь есть прога конфигурации кнопок
и их теперь в два раза больше
есть разделение на правый и левый CAPS SHIFT ALT WIN
тоесть можно задать на кнопку вообще вот такое лев CAPS + прав SHIFT + лев ALT + F3
+1


К этому я могу добавить только одно: я б руки оторвал за копипасту 4х4.
0
Да ладно. Зато сразу видно где-что. И не надо лазить по всяким древовидным меню в поисках нужного пункта.
0
С точки зрения дизайна UI считается, что избыток контролов перегружает мозги и приводит к ошибкам юзера. Хотя здесь это должно несколько нивелироваться тем, что это по сути не две сотни контролов, а 16 идентичных плашек по десятку контролов.
Лично я бы оставил одну плашку и добавил список кнопок. И компактнее, и нагляднее видно, на какую кнопку что повешено.
0
Если уж про юзабилити, то видпиды необходимо спрятать, статус вырести в положенное место, действия в тулбар.
Списку всё равно надо брефку делать. Без неё юзабилити пострадает.

Но тут другой момент. На сколько оно актуально? Это простая утилитка, пруф оф концепт, не должна занимать слишком много времени на разработку. Так что подобный копипаст для неё — вполне верное решение.
0
И вот когда ты зароешься в ее сырки, чтобы причесать — тут-то ты копипаст и проклянешь!)
Алсо, это ж selevo. Он наверняка собирается сабжем торговать. И не вижу смысла в пруф-оф-концепте для утилиты конфигурирования, в ней нет ничего экспериментального.
0
Вот когда начнёт торговать (а чего в этом плохого?), тогда и будет влиять рынок. А пока это написанная для себя программа, и не к чему опережать события.
Пруф оф концепт устройства. Взлетит ли оно вообще. Под него состряпана утилита настройки, чтобы не отвлекать от основной цели — самого устройства.
0
Вот когда начнёт торговать (а чего в этом плохого?)
Ничего. Я всего лишь намекаю, что это чудо копипасты — это версия программы, предназначенная для продажи энд-юзерам, а вовсе не PoC.
0
Ну если не желаешь продавать это чудо — не продавай, тебя ни кто не заставляет.
Пока я вижу только PoC и твои нападки на то, что сделано не так как хочешь именно ты (иначе нечего отрывать).
0
Во-первых, продаю не я.
Во-вторых, я не понял, я что, не могу высказать про выложенное на всеобщее обозрение все что о нем думаю?
В-третьих, нападки на то, что сделано через жопу, а не «не так, как хочу я». Та часть всего проекта, что меня интересует вообще сделана ZiB'ом и китайцами.
0
Я доволен, мне нравится всё видно.
В конце концов это просто пример, исходник есть как хотите так и переделывайте, хоть с одной кнопкой )))
я люблю много-много кнопоченк, много-много галочек и всё на виду.

А копипастинг это нормально, чё мне например каждый раз новый текст выдумывать для кого-то ради чего-то?
тупняк-моя задача донести информацию.
0
Я доволен, мне нравится всё видно.
Скорее в глазах рябит. И, чтобы посмотреть, что куда назначено — надо выискивать нужные поля, вместо того, чтобы просто просмотреть список.
В конце концов это просто пример, исходник есть как хотите так и переделывайте, хоть с одной кнопкой )))
Не вижу ссылки на исходник. А то бы проверил, копипаст только графический или в коде все то же самое.
А копипастинг это нормально, чё мне например каждый раз новый текст выдумывать для кого-то ради чего-то?
Копипастинг — это самая известная из порочных практик программирования, и тому есть веские причины. Основные — высокая вероятность возникновения ошибок (практически в каждой статье, где авторы PVS Studio обкатывают его на каком-нибудь опенсорсном проекте — обнаруживаются ошибки копипастинга, демонстрируя одновременно популярность этой практики и то, что она практически гарантирует ошибки) и дублирование кода (что само по себе имеет с десяток причин «почему надо отрывать руки»).
0
Не вижу ссылки на исходник. А то бы проверил, копипаст только графический или в коде все то же самое.
На гитхабе не смотрел?
Странно, я эмбаркадеру и ожидал, но ожидал с применением фреймов, а не реальное копирование всех компонентов.

где авторы PVS Studio обкатывают его на каком-нибудь опенсорсном проекте — обнаруживаются ошибки копипастинга, демонстрируя одновременно популярность этой практики и то, что она практически гарантирует ошибки
Ошибки с равной вероятностью возникают в любом коде, как скопированном, так и написанном. В копипасте их много, потому что копипастят много. Если бы много писали, то было бы много ошибок в новом коде. Так что это показывает лишь популярность копипастинга.
0
На гитхабе не смотрел?
Смотрел, на момент комментария исходников не было. Ща проверю еще раз.
Так что это показывает лишь популярность копипастинга.
Речь именно об ошибках копипастинга.
Vec[0] = 0;
Vec[1] = 1;
Vec[2] = 2;
Vec[3] = 0;
Vec[4] = 4;
0
193bcaa 8 days ago
@BBS215 BBS215 Add files via upload
Где-то 25 число и выходит (комментарий о программе), и уж точно до 26-го (твой про отсутствие исходников).
0
Значит не нашел нужного репозитория. Сейчас посмотрел — да, в коде все весело, хотя и есть некоторые светлые моменты. Типа сборки контролов в массив и функций типа KB_Settings_Changed или как там ее.
0
Ну и да, вот сделаешь ты 32 кнопки и добавишь в требования проги «монитор 4К, иначе конфигуратор не лезет в экран».
0
Когда/если будет 32 кнопки, тогда вопрос рефакторинга можно рассмотреть. Вполне возможет вариант отдельных программ для старших и младших адресов. Трудозатраты тоже надо иметь ввиду.
0
Я имею трудозатраты в виду и потому сразу же пишу такие вещи без копипаста. Это банально короче и быстрее.
Вполне возможет вариант отдельных программ для старших и младших адресов.
Очень эффективно по трудозатратам, да. Особенно когда понадобится фиксить одни и те же ошибки в обоих версиях.
0
какой удивительный бред…
0
Подождем баг-репортов в стиле «я конфигурирую 11-ю кнопку, а вместо этого настраивается 1-я!».
+1
Какой нафиг трекер багов ))

Я заплатил деньги за реализацию, автор сделал, выложил, на этом всё.
Никаких гарантий и поддержки никто не обговаривал.

Проект почти готов не хватает сохранения профилей настроек.

Все файлы тут:
github.com/BBS215/
0
Какой нафиг трекер багов ))
Рад за будущих юзеров этого.
+1
А если кому хочется переделать под себя, пожалуйста, я только за.
+1
добавился отладчик (можно по USB считывать и записывать в регистры МК)
Добавилась возможность сохранения настроек в ini файл
0
github.com/BBS215
debugtool
debugtoolGUI
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.