Size: a a a

Maxwell's Demons

2021 February 25

RS

Roman Storozhenko in Maxwell's Demons
Oosavu
по некоему событию со стороны малины надо послать это собтие на пека.
в любой момент времени надо уметь послать на малину какие-то данные. чем все это быстрее тем лучше. самих данных не много, но они в рандомное время и их много. скажем раз в несколько миллисекеунд пакет примерно 100 байт туда и 100 байт обратно.

»real time в USB это только Interrupt endpoint
Да, читал о этом. но как понял это на порядок сложнее реализовать. А например usb-midi который я беру как референс и который мне подходит по задержке реализован внезапно через bulk. Как-то же работает. Как я понимаю, булк будет тормозить только если шина забита.

»в общем, решений масса, нужно понимать задачу чтобы выбрать оптимальное решение

Ну на вскидку какие примерно?
Хочу сделать "пользовательское устройство", по типу той же миди-клавиатуры, но с своими плюшками, и для этого нужна дву-канальная передача данных.
USB CDC
Для RT оповещений добавить interrupt
источник

DP

Dmitry Ponyatov in Maxwell's Demons
у общей шины плюс — любое устройство видит события
источник

O

Oosavu in Maxwell's Demons
Dmitry Ponyatov
зачем USB ? чем ethernet не устраивает ?
ЗЫ: pi zero 8(
в случае когда ethernet over usb в принципе устраивает по скорости (пинг меньше одной миллисекунды), просто кажется костыльным тянуть ethernet-стек. в том и вопрос, как вообще такое делается если не пользоваться готовым решением в виде ethernet (или все не парятся, и поднимают ethernet)
источник

O

Oosavu in Maxwell's Demons
Roman Storozhenko
USB CDC
Для RT оповещений добавить interrupt
а какой именно CDC? я в этом не разбираюсь. там несколько классов устройств у которых часть названия CDC?

а вот "добавить interrupt" - это вообще в какую сторону гуглить? какой драйвер куда подклчать? совместно с CDC еще какой-то модуль из f_serial?
источник

O

Oosavu in Maxwell's Demons
» ЗЫ: pi zero 8(
?
источник

TK

Timur Khasanshin in Maxwell's Demons
кароч тебе предлагают кастомный драйвер запилить
источник

O

Oosavu in Maxwell's Demons
боль. видимо останусь на эзернете. как-то я не очень код модулей ядра понимаю, особенно по усб.
источник

VK

Valentin Kornienko in Maxwell's Demons
https://github.com/MotoMaxis/DS203-DSOQuad/blob/master/WildcatV6.5/Process.c
То, как делать не надо. Вот вообще никак и никогда.
источник

VK

Valentin Kornienko in Maxwell's Demons
Это кусок прошивки осциллографа. Как такое смогли заставить работать- не представляю.
источник

В

Василий in Maxwell's Demons
Valentin Kornienko
Это кусок прошивки осциллографа. Как такое смогли заставить работать- не представляю.
всего 6 goto !
источник

Е

Евгений in Maxwell's Demons
Василий
всего 6 goto !
А в чём реально проблема с goto?
источник

В

Василий in Maxwell's Demons
Евгений
А в чём реально проблема с goto?
можно дел натворить
источник

В

Василий in Maxwell's Demons
а можно и не натворить
источник

TK

Timur Khasanshin in Maxwell's Demons
Евгений
А в чём реально проблема с goto?
ну тип я изучил Си чтоб писать на Си а не на асм
источник

a

aum in Maxwell's Demons
чувствуешь боль, которую испытывают пользователи пытаясь понять, что делают утилиты с названиями ps, cp, и тому подобное?  и читая к ним доку? и описание их ключиков?
источник

kaktys Германский... in Maxwell's Demons
Нормальный код, чо ты, просто голимый с и все
источник

a

aum in Maxwell's Demons
даже форматирование доставляет :)
источник

В

Василий in Maxwell's Demons
kaktys Германский
Нормальный код, чо ты, просто голимый с и все
страшный код можно на любом языке написать)
источник

jp

jon pedro in Maxwell's Demons
Timur Khasanshin
ну тип я изучил Си чтоб писать на Си а не на асм
Хз, в код стайле ядра линукс есть пример когда го ту норм использовать
источник

V

VadimAnimeEmbedder in Maxwell's Demons
Не виду ничего плохого. Это низкоуровневый код. Он так и пишется. С магическими константами и перемножениями. Тут еще даже комменты есть. И слои абстракции разделены.
источник