Например TDA7294

 Форум РадиоКот • Просмотр темы - BlackBox: генератор исходников обработки бинарного протокола
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Чт июн 21, 2018 21:07:13



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: BlackBox: генератор исходников обработки бинарного протокола
СообщениеДобавлено: Вт фев 13, 2018 17:57:56 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
Недавно закончил проект: BlackBox
После чего, в подтверждение зрелости и в качестве демонстрации возможностей BlackBox, в сравнении с MAVLink. успешно реализовал проект конвертации информации о пакетах обмена из формата MAVLink в формат BlackBox.

Все прекрасно работает, все тесты пройдены.
Какие преимущества?


    Использование в BlackBox в качестве формата описания протокола языка java, предоставляет широкий выбор средств редактирования со всеми возможностями рефакторинга. Описания пакетов обмена и топологии сети представляется в более компактном и привычном для программиста виде, по сравнению с XML форматом используемым в MavLink.


    Наследование полей пакетов.

    Дополнительные форматы данных:
    поля со встроенной структурой многомерных массивов,
    поля разреженных многомерных массивов
    битовые поля,
    поля со встроенной структурой многомерных массивов бит.
    Base 128 Varint сжатие данных.

Подробнее можно прочитать тут.

предлагаю оценить объем сгенерированного по этой спецификации кода на С

В одном только MicroAirVehicle.h под 16 000 строчек кода.
Кодогенератор генерирует это практически мнгновенно... и без ошибочно.
Самое большое время тратится на генерирование туевой хучи исходников тестов сгенерированного кода, компиляция их, и прогон.

С одним из вариантов использования BlackBox можно ознакомиться тут


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 14, 2018 15:53:16 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
Сразу вопрос: возможно ли с помощью вашего инструмента сгенерировать USB-драйвер с учетом интерфейса конкретной SIE в применяемом МК? Это было бы самым хитовым приложением предлагаемой системы, как по мне.

USB-код в принципе прост идейно (сводится к обработке запросов по правилам), но очень громоздок (запросов огромнейшее количество, а дескрипторы достаточно запутанны). Если бы такие драйвера можно было генерировать автоматически для реализации любого класса USB на любом контроллере с аппаратной поддержкой USB - это был бы прорыв.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
JLCPCB, 10 прототипов ПП всего за $2 и 2 дня доставка!

Крупнейший производитель печатных плат в Китае, 300,000+ заказчиков, 10,000+ он-лайн заказов в день.

Рассчитайте цену онлайн:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 14, 2018 16:51:53 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
Сразу вопрос: возможно ли с помощью вашего инструмента генерировать USB-драйвер с учетом интерфейса конкретной SIE в применяемом МК? Это было бы самым хитовым приложением предлагаемой системы, как по мне.


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

USB-код в принципе прост идейно (сводится к обработке запросов по правилам), но очень громоздок (запросов огромнейшее количество, а дескрипторы достаточно запутанны). Если бы такие драйвера можно было генерировать автоматически для реализации любого класса USB на любом контроллере с аппаратной поддержкой USB - это был бы прорыв.


если есть готовые примеры и и отжатая документация по протоколу USB, был бы благодарен.

//================================

уже нашел, посмотрел. и знаешь, если не будет сильно больших отличий, похоже что я сейчас это сделаю. не переключайтесь

===========
хотя с другой стороны ведь есть же FT232R USB <-> UART


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 14, 2018 18:08:41 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
Цитата:
отжатая документация по протоколу USB


USB made simple

USB in a nutshell

Цитата:
готовые примеры


Посмотрите как, например, сделана LUFA.

Цитата:
уже нашел, посмотрел.


Э-э-э, это не то. В STM8 нет аппаратной поддержки USB. Я знаю про такие проекты (в духе V-USB), но они представляют мало интереса для серьезного применения. Это скорее "смотрите, и так можно! И даже работает! Офигеть!"

Вот например в STM32 (в некоторых чипах) есть аппаратная поддержка USB - в кремнии выполнена SIE, Serial Interface Engine, которая берет на себя всю работу с битовыми потоками. Задача состоит в том, чтобы, во-первых, взаимодействовать с SIE через память, а, во-вторых, обрабатывать запросы USB с вызовом соответствующих callback-функций. Это достаточно просто по сути, но крайне утомительно для ручной реализации.

Цитата:
похоже что я сейчас это сделаю


Вряд ли. В таких реализациях (софтовый USB на битовом уровне) каждый такт на счету, и критичные блоки написаны на ассемблере, причем с достаточно неочевидными оптимизациями. На Си это просто не будет работать.

Цитата:
хотя с другой стороны ведь есть же FT232R USB <-> UART


Есть. Но иногда хочется, чтобы, например, устройство прикидывалось флешкой (Mass Storage), или звуковой картой, и так далее.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 

Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 14, 2018 19:01:23 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
спасибо. ценно. подумаю что тут можно сделать


Вернуться наверх
 Профиль WWW  
 

Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 14, 2018 20:56:09 
Встал на лапы

Карма: 1
Зарегистрирован: Пн фев 05, 2018 19:03:00
Сообщений: 145
Рейтинг сообщения: 0
Если бы такие драйвера можно было генерировать автоматически для реализации любого класса USB на любом контроллере с аппаратной поддержкой USB - это был бы прорыв.

У линуксоидов все-равно веселее: modprobe g_ether - бабах, обнаружена usb-сетевка. Ах, флешку хотели? Тогда g_mass_storage! Можно и еще что-нибудь а через configfs можно изобразить наверное что угодно. А программирование - может и черт с ним, если хотелось чтобы за вас все сделали доугие? :) И даже работает на любой железке с usb-otg для которой драйвер есть как раз. Драйверов конечно же легион. В общем доведенный до абсолюта подход, когда никакие генераторы кода вообще не нужны - код модуля написан, а может даже и скомпилен за вас! :)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 14, 2018 21:45:45 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
linuxdude, что-то мне кажется, мы с вами говорим о разных вещах. :)

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 05:36:44 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
Посмотрел, подумал. Нет. Не прокатит. Это придется делать отдельный продукт.

Когда Вы описываете какие данные будут переданы в пакете, BlackBox гарантирует передачу описанных данных, но их место в пакете кодогенератор выбирает, в зависимости от их типа, самостоятельно. Это позволяет уменьшить объем метаданных хранящихся на клиенте. Например

у вас есть такой пакет
поле1 - long
поле2 - long
поле3 - byte
поле4 - String
поле5 - long

вместо того чтобы по отдельности описывать, для хранения на клиенте, тип каждого поля,

long
long
byte
String
long

кодогенератор делает так
1 поле - byte
3 поля - long
1 поле - String

под USB придется делать отдельный кодогенератор.. просто так не прокатит


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 12:17:42 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
Цитата:
их место в пакете кодогенератор выбирает, в зависимости от их типа, самостоятельно


:shock:

Может я чего-то не понимаю, но, по-моему, это убивает весь смысл идеи. Во многих случаях (в принципе, почти во всех, если говорить о существующих протоколах) положение полей фиксировано и имеет глубокий смысл. Хотя бы в том же TCP/IP - там куча вложенных пакетов, и во всех есть поля одинаковых типов, но располагаться они должны строго на своих местах.

А если как в файлах TDMS (формат выгрузки данных PXI-платформ/LabVIEW)? Там вообще все поля одного размера. Получается, кодогенератор перемешает их, как захочет? И как поддерживать существующие форматы?

Я, наверное, неверно понял, для чего нужен ваш инструмент.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 14:36:30 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
кодогенератор BlackBox согласно спецификации в которой описано КАКИЕ данные передавать, генерирует исходный код который гарантирует выполнение этой задачи.

еще раз, кодогенератор BlackBox гарантирует передачу перечисленных данных, а не позицию (положение) этих данных в пакете.

теперь почему сделано так.

среди типов данных BlackBox есть битовые поля и даже многомерные массивы битовых полей.
описываются такие БИТОВЫЕ поля с помощью аннотации @B
предположим что у нас есть маленький пакет

Код:
class DemoPack {
   @B(2) byte filed_2bits; //двухБИТОВОЕ поле
   byte  one_byte_field; // одноБАЙТОВОЕ поле
   short two_byte_field; // двуБАЙТОВОЕ поле
   @B(4) byte filed_4bits; //четырехБИТОВОЕ поле
   @B(2) byte filed2_2bits; //двухБИТОВОЕ поле
}


очевидно, что минимальная порция информация которой оперирует проц и которую можно переслать, является байт.
если не менять порядок полей в данном пакете, то

возможны 2 варианта. упаковки

отводим первые два бита первого байта пакета на первое поле filed_2bits.
остальные 6 бит пропускаем, чтобы последующие цельнобайтные поля, доставать быстрее, вычитывая побайтно..

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

второй вариант, с плотной упаковкой

отводим первые два бита первого байта пакета на первое поле filed_2bits.
следующее поле one_byte_field займет оставшиеся 6 бит первого байта, и 2 бита следующего байта,.. и так далее

в этом случае нет потери пространства пакета. но нет и быстрого доступа к цельнобайтным полям.


BlackBox пошел по другому пути.

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

таким образом сохраняется плотная упаковка данных
цельнобайтные поля доступаются максимально быстро


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

потому проект и называется BlackBox.
Вас совершенно не должно интересовать, что там происходит там внутри этого BlackBox.

BlackBox каждый раз генерирует разный код обработки. Полученные байты он конвертирует в пакеты а пакеты в байты.

он может работать как поверх TCP/IP так и поверх UART.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 17:19:47 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
А-а-а. Эх. Я-то думал, что этот инструмент позволяет по описанию известного протокола/формата сгенерировать код его разбора... А он генерирует какой-то свой велосипед. :(

Чем тогда это принципиально отличается от того, чтобы руками сложить все данные в структуру и передавать-принимать ее как массив (с приведением типа)?

Код:
#pragma pack (1)
typedef struct {
    uint8_t field1;
    uint16_t field2;
    ...
} test_t;

test_t packet;

...

uint16_t k;

for (k=0; k<sizeof(test_t); k++)
{
    SendByte(((uint8_t *)(&packet))[k]);
}


И все, никакие кодогенераторы не нужны...

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 19:26:36 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
А-а-а. Эх. Я-то думал, что этот инструмент позволяет по описанию известного протокола/формата сгенерировать код его разбора... А он генерирует какой-то свой велосипед. :(

Чем тогда это принципиально отличается от того, чтобы руками сложить все данные в структуру и передавать-принимать ее как массив (с приведением типа)?
.

здравствуй big-endian ... а ты что ещё за little-endian....
===================================

проблематика весьма обширна, коротко её не изложить.
но намекнуть, на некоторые неочевидные моменты попробую.

сделайте поиск по фразе MAVLink, в гугле, а потом на GITHub - попрежнему уверены все эти безумцы чего не понимают в отличии от Вас?
а MAVLink сделан существенно более примитивно чем BlackBox.

теперь вернемся к примеру Вашего простого решения на структурах,
подумайте, а что если в ваш пакет нужно добавить

необязательные поля,
а ещё массивы,
необязательные массивы..
а ещё многомерные массивы,
а ещё многомерные массивы часть измерений которых динамические
а теперь битовые поля + многомерные массивы бит?

ну и в конце всё это нужно на разных языках.

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

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

а потом вы передумали.....

и так далее.... Вы б не поленились сходили бы почитать документацию, по моим ссылкам.

Уверяю Вас там все совсем не очевидно и просто.

+ посмотрите это и это видео.

людям свойственно конечно изобретать колесо. но это совсем не тот случай.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 21:22:19 
Прорезались зубы
Аватар пользователя

Карма: -1
Зарегистрирован: Ср янв 17, 2018 14:09:14
Сообщений: 234
Рейтинг сообщения: 4
У меня сложилось впечатление, что людям свойственно изобретать какие-то абстрактные проблемы и потом с ними бороться.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Чт фев 15, 2018 22:45:06 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 1
Цитата:
здравствуй big-endian ... а ты что ещё за little-endian....


В случае описания протоколов порядок байт всегда специфицирован. Развернуть слово труда не составляет.

И, справедливости ради, 99% машин, с которыми я работал, используют little-endian.

Цитата:
сделайте поиск по фразе MAVLink


Сделал. Протокол как протокол.

Цитата:
Уверяю Вас там все совсем не очевидно и просто.


Вы рассказываете это человеку, который плотно разбирался с USB и Ethernet, а также писал парсер TDMS для преобразования этой жути во что-то более удобоваримое (с целью последующей обработки данных). :) Вот в последнем есть и необязательные поля, и массивы, и массивы свойств... :)

Про мелочи вроде DMX-512 и всяких WAV я не говорю. Хотя WAV, если копнуть, тоже очень заморочен. Просто в наши дни используется в основном лишь одна его разновидность, позволяющая хранить PCM. Хотя WAV и PCM - это не синонимы.

Цитата:
ну и в конце всё это нужно на разных языках.


В эмбеде применяется Си. Для ПК можно написать DLL/статическую библиотеку на Си и подключать ее к чему угодно.

Цитата:
подумайте, а что если в ваш пакет нужно добавить


Необходимость изобретать неочевидные решения чаще всего свидетельствует о том, что с системой что-то не так на идейном уровне. В этом случае надо не подкладывать костыли, а пересмотреть парадигму. Но это так, к слову.

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

Изображение

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Пт фев 16, 2018 05:38:55 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
Цитата:
99% машин, с которыми я работал, используют little-endian.

В java DataInputStream BigEndian сказать почему?
Traditionally, internet protocols use big endian, because the machines doing most of the communication were big endian

а большой мир Android устройств == java

В случае описания протоколов порядок байт всегда специфицирован. Развернуть слово труда не составляет.


верно развернуть порядок байт КАЖДОГО ПОЛЯ труда не составит. только "победного марша" в виде кастинга структуры в байтовый массив и выливание в сеть уже не получится.

+ почитайте ещё про Bit and Byte Stuffing про framing почитайте.

не, конечно, когда ниже TCP/IP не опускаешься, про это можно не читать...
Но мы ж про 8 битные микроконтроллеры тоже не забываем. BlackBox такое может.

теперь следующая проблема.
имея знания о данных полей можно эффективно и незатратно сжимать данные ОТДЕЛЬНЫХ полей. например Base 128 Varint активно используется в google protobuf


MAVLink
Сделал. Протокол как протокол.


Вот и ладушки. Идеологически MAVLink - тоже самое что и BlackBox только у него проблема он родился и сразу перестал расти.

вот эти планы там с 2009 года

Future Work / Ideas
Variable length arrays
Support for bitfields (e.g. packing 8 boolean values into one uint8_t, but providing C-function calls to all eight booleans. So users would not have to fiddle with shifting / masking themselves.)
Variable header, allowing to set target system and target component (no change to protocol, only convenience functions to access it)


BlackBox это может здесь и сейчас + ещё многое.

Цитата:
Для ПК можно написать DLL/статическую библиотеку на Си и подключать ее к чему угодно.

можно, но только мир BlackBox НЕ ограничивается компьютерами и может быть применен и для решения таких проблем


Цитата:
Вы рассказываете это человеку, который плотно разбирался с USB и Ethernet, а также писал парсер TDMS для преобразования этой жути во что-то более удобоваримое

перечисленное вами - это один ИЗ подходов к созданию системы обмена данными. там вшит, порядок полей и четко очерчен круг решаемых проблем.

TCP/IP выполняет для вас только функцию надежного транспорта. какие байты при этом в payload передаются (какой протокол) это на усмотрения Вашего приложения.
в чистом виде, без разбора принятых байт TCP для вас бесполезен.

а разбор байт не так уж и примитивен, как было показано выше.

по поводу USB - вынужденная сложность. там протокол и физическое электрическое соединение-разъем и есть стандарт вокруг которого все пляшут. без этого всё рассыпается.

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

Добавлено after 51 minute 17 seconds:
У меня сложилось впечатление, что людям свойственно изобретать какие-то абстрактные проблемы и потом с ними бороться.


точно! понапридумывают всякие
MQTT
MQTT-SN
CoAP
SMCP
STOMP
XMPP
XMPP-IoT
Mihini/M3DA
AMQP
DDS
LLAP
LWM2M
SSI

сиди тут разгребай...ведь жили как то диды без этого всего..


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Пт фев 16, 2018 09:52:45 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
А, вот теперь до меня доходит. Ваш продукт, видимо, не предназначен для разбора существующих протоколов, как я по первости подумал. Жалко. Он, как я теперь понимаю, представляет собой генератор кода для своего протокола.

Ну что же, удачи в прозелитизме. :) Но учитите, что создать решение для всего и сразу невозможно. Многие уже пытались, результат всегда одинаков. :)

Цитата:
не, конечно, когда ниже TCP/IP не опускаешься, про это можно не читать...


Я, как правило, в силу своих занятий, обычно не поднимаюсь выше TCP/IP и подобного.

Цитата:
BlackBox это может здесь и сейчас + ещё многое.


Прежде чем что-то делать, надо задать себе вопрос "зачем?". Потому главный вопрос - а не делать этого BlackBox может? :)

Цитата:
Но мы ж про 8 битные микроконтроллеры тоже не забываем. BlackBox такое может.


Тогда вам надо забыть про использование динамического выделения памяти, как минимум. Глубоко код не копал, но это уже режет глаз. По ссылке же код для контроллера? Тогда почему там встречается malloc/free?

Про goto я молчу, все же это автосгенерированный код.

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

Цитата:
у него проблема он родился и сразу перестал расти


И слава Богу! Может вы еще DMX-512 или CAN реформировать предложите? А что? Они же такие простые и немодные! Давайте добавим туда массивы переменной длины и еще чего-нибудь по вкусу! :)))

Цитата:
понапридумывают всякие


Да, я уже постил комикс на эту тему.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Пт фев 16, 2018 11:20:41 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
Цитата:
Тогда вам надо забыть про использование динамического выделения памяти, как минимум. Глубоко код не копал, но это уже режет глаз. По ссылке же код для контроллера? Тогда почему там встречается malloc/free?

Про goto я молчу, все же это авто сгенерированный код.


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

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

ни дня на ардуино не писал, а мою библиотеку для STM8 можно найти там же по ссылке

Цитата:
Может вы еще DMX-512 или CAN реформировать предложите? А что?


давайте придумаем какую нибудь глупость, которую оппонент мог бы совершить, и помечтаем как бы мы выигрышно выглядели бы на этом фоне.

для чего вам эти приемы?

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


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Пт фев 16, 2018 11:40:24 
Друг Кота
Аватар пользователя

Карма: 68
Зарегистрирован: Вс мар 29, 2009 23:09:05
Сообщений: 7332
Рейтинг сообщения: 0
Цитата:
у вас на удивление шаблонное мышление. вы просто сыпите штампами не понимая их смысла.


Если вам недостаточно моего мнения, то могу сказать, что использование динамической памяти во встроенных системах запрещено MISRA.

Ну и любому здравому человеку понятно, что устраивать динамическое выделение памяти в устройстве с килобайтом RAM - очень экстравагантно. Вы же с маленькими контроллерами хотите работать, да?

Цитата:
есть языковые инструменты, которыми нужно грамотно пользоваться. что и происходит в упомянутом коде.


Все-все-все, я согласен, ваша идея гениальна, а код - само совершенство, сам Фабрис Беллар не написал бы лучше. :)

Ладно. Дискуссия приобретает неконструктивный характер. Пойду-ка я из этой темы. Мне такие инструменты и правда не нужны, может кто другой соблазнится.

_________________
Разница между теорией и практикой на практике гораздо больше, чем в теории.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Пт фев 16, 2018 12:13:42 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
Все-все-все, я согласен, ваша идея гениальна, а код - само совершенство, сам Фабрис Беллар не написал бы лучше. :)

да что ж Вас так колбасит-то... соберитесь. :beer:


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: BlackBox: генератор исходников обработки бинарного прото
СообщениеДобавлено: Ср фев 21, 2018 10:41:27 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -7
Зарегистрирован: Вс янв 07, 2018 19:23:19
Сообщений: 32
Откуда: Пекин, Китай
Рейтинг сообщения: 0
обсуждение на geektimes

Добавлено after 3 hours 16 minutes 57 seconds:
Сразу вопрос: возможно ли с помощью вашего инструмента сгенерировать USB-драйвер с учетом интерфейса конкретной SIE в применяемом МК? Это было бы самым хитовым приложением предлагаемой системы, как по мне.

USB-код в принципе прост идейно (сводится к обработке запросов по правилам), но очень громоздок (запросов огромнейшее количество, а дескрипторы достаточно запутанны). Если бы такие драйвера можно было генерировать автоматически для реализации любого класса USB на любом контроллере с аппаратной поддержкой USB - это был бы прорыв.


кстати отвечая на этот вопрос.

со мной связался создатель того проекта
этот проект делает именно то, чего Вам хочется.

по формальному описанию полей и их размеров парсит структуры


Вернуться наверх
 Профиль WWW  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: zorro_441 и гости: 19


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y