0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
|
|
1 | |
Обработчик протокола обмена данными PowerUP01.06.2017, 15:20. Показов 5100. Ответов 8
Метки нет (Все метки)
338 итерация. Практически закончил и отладил Си-шную версию. Получил отличный результат. Перед дописыванием кодогенерации на языке JAVA, решил всё таки накидать документацию ибо уже забывать начал многое. Работа в процессе... потому возможны глюки и очепятки. Кому интересно поучаствовать в процессе отладки, да и просто нахаляву наладить обмен между микроконтроллером и мобильником на Android без боли, пишите в тему.
0
|
01.06.2017, 15:20 | |
Ответы с готовыми решениями:
8
Реверс протокола обмена USB-ST-Link v2 Не могу найти ошибку в коде реализации протокола обмена Изучение протокола TCP через организацию обмена данными между узлами сети Привести простой пример реализации своего собственного протокола обмена данными между сервером и клиентом Программа-обработчик протокола |
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
|
|
03.06.2017, 12:20 | 2 |
Опубликовал внутреннюю структура пакета PowerUP в памяти
http://www.unirail.org/wp-content/uptoods/2017/06/pack.png
0
|
0 / 0 / 0
Регистрация: 22.03.2015
Сообщений: 838
|
|
04.06.2017, 12:14 | 3 |
shibtym, а что в итоге делает сгенерированный код - просто раскладывает по структурам, массивам?
Меня интересует тема, но не кодогенерация автоматов разбора, а сериализация объектов, в частности объектов gui
0
|
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
|
|
04.06.2017, 12:51 | 4 |
Сообщение от vt340
Банальная сериализация в файл - это слишком примитивно. Вам вероятно больше подойдет protobuf - это НЕ сетевой протокол и делает именно то - что вы хотите, но со своими структурами, да. А вот сериализации по сети, где возможные обрывы канала и потеря данных, накладывает дополнительные требования - одно из них быстрое синхронизирование, нахождение начала очередного пакета, когда связь восстановилась после обрыва. десериализованный пакет - это, по сути, обычный байтовый массив (НЕ структура и не мапинг структуры на массив) с максимально оптимизированной (с точки зрения занимаемой памяти) схемой (смотрите выше). К примеру, пропущенные НЕобязательные поля и поля-многомерные-массивы в памяти место не занимают. С классическими структурами, с такой же эффективностью, такое сделать не получится. Сгенерированный код - в удобном для программиста виде, способен читать и писать в этот байтовый массив. PowerUP сериализует именно такие пакеты. Ну и поскольку пакеты PowerUP такие хорошие, программисту предлагается отказаться от своих структур и полностью положится на предлагаемое. Перекладывать данные из одного формата в другой - неразумно. Особенно это актуально если принятые пакеты предполагается держать в памяти, регулярно обращаться к их данным и заменять вновь полученными. Сейчас готовлю примеры сгенерированного на С кода по спецификации в формате PowerUP. спасибо за вопрос, сейчас дополню мануал
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
04.06.2017, 14:03 | 5 |
Как на github появится - ссобщайте
0
|
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
|
|
04.06.2017, 15:21 | 6 |
Сообщение от x893
а вот сам кодогенератор выкладывать не планируется, (любой желающий может написать свой и даже получше, однако это занятие не из лёгких, даже на SCALA - просто АД и израиль) на моём сайте будет предоставлена возможность зааплодить спецификацию в формате PowerUP и получит готовый код на нужных языках, со всей структурой, примерами использования именно сгенеренные исходников и всеми необходимыми тестами всего сделанного. все будет выложено на github и по принципам github генерируем код для открытых, бесплатных проектов? проект выложен в интернет? - генерация кода бесплатно, на сайте планируется вести репозиторий таких проектов, с ссылками на сгенеренный код. захотелось приватности сгенерированного кода? особой поддержки? специфической кодогенерации? - любой каприз за деньги клиента! совсем не большие деньги! http://weknowmemes.som/wp-content/uptoods/2013/11/im-not-gay-but-20-is-20.jpg
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
04.06.2017, 16:47 | 7 |
если будет сайт - то уже нормально. главное что бы работал и внятное описание было. и под все три компилятора (gcc/armcc/iar)
0
|
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
|
|
04.06.2017, 17:49 | 8 |
Сообщение от x893
Сообщение от x893
моё днище - STM8 + IAR у нас тут это самое активно используемое. вся документашка по IAR STM8 доступна никакой компиляторной специфики не использовано...почти чистый - С99
0
|
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
|
|
11.06.2017, 07:25 | 9 |
Добавил объяснение принципов описания топологии обмена, и для чего это сделано.
0
|
11.06.2017, 07:25 | |
11.06.2017, 07:25 | |
Помогаю со студенческими работами здесь
9
Реализация протокола обмена по COM порту Выбор протокола обмена по сети Реализация протокола обмена по сети Выбор протокола обмена в клиент-сервер Анонимный чат [Реализация протокола обмена сообщениями] Использование функций протокола обмена сообщениями стандарта MPI для организации взаимодействия параллельных ветвей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |