Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/27: Рейтинг темы: голосов - 27, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 07.04.2016
Сообщений: 268
1

Обработчик протокола обмена данными PowerUP

01.06.2017, 15:20. Показов 5100. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
338 итерация. Практически закончил и отладил Си-шную версию. Получил отличный результат. Перед дописыванием кодогенерации на языке JAVA, решил всё таки накидать документацию ибо уже забывать начал многое. Работа в процессе... потому возможны глюки и очепятки. Кому интересно поучаствовать в процессе отладки, да и просто нахаляву наладить обмен между микроконтроллером и мобильником на Android без боли, пишите в тему.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2017, 15:20
Ответы с готовыми решениями:

Реверс протокола обмена USB-ST-Link v2
В мире существует грандиозная несправедливость, а именно отсутствие средств отладки для...

Не могу найти ошибку в коде реализации протокола обмена
Помогите пожалуйста, не могу найти ошибку в коде. include <avr/io. h> // Подключение...

Изучение протокола TCP через организацию обмена данными между узлами сети
Клиент посылает серверу два числа и получает назад НОД (наибольший общий делитель) этих чисел...

Привести простой пример реализации своего собственного протокола обмена данными между сервером и клиентом
можете привести простой пример реализации своего собственного протокола обмена данными(между...

Программа-обработчик протокола
1) В браузере есть ссылка вида (код написан на php): $param=777; echo("<a href="NewPro:$param">...

8
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
shibtym, а что в итоге делают кодогенераторы - просто раскладывают по структурам, массивам?
Меня интересует тема, но не кодогенерация автоматов разбора, а сериализация объектов, в частности объектов gui
нет, он не раскладывает по.... это за границами данного проекта. он предлагает свой формат данных.

Банальная сериализация в файл - это слишком примитивно. Вам вероятно больше подойдет 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
Как на github появится - ссобщайте
в паблик будет выложен не меняющийся, базовый код. он очень компактный на Сях всего 2 файла по тыщи строк кода.
а вот сам кодогенератор выкладывать не планируется, (любой желающий может написать свой и даже получше, однако это занятие не из лёгких, даже на 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
и под все три компилятора (gcc/armcc/iar)
не совсем понимаю про что это, но.

моё днище - 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2017, 07:25
Помогаю со студенческими работами здесь

Реализация протокола обмена по COM порту
Здравствуйте, в общем нужно было мне реализовать протокол обмена с весами на основе программы...

Выбор протокола обмена по сети
Здравствуйте, уважаемые коллеги! Использую Qt, свежую версию. Есть задача: Сделать обмен...

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

Выбор протокола обмена в клиент-сервер
Всем привет! Какой протокол обмена сообщениями лучше использовать в простом клиент-серверном...

Анонимный чат [Реализация протокола обмена сообщениями]
Здравствуйте, появилось желание сделать анонимный чат. И уже в начале появились трудности. Как...

Использование функций протокола обмена сообщениями стандарта MPI для организации взаимодействия параллельных ветвей
Написать функцию, транспонирующую квадратную матрицу размерностью N*N. Используя эту функцию,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru