- 
	- Сериализация, самописный Protocol Buffers.  инженер(322 знак., 13.09.2017 11:54,  ) )
- чтение- param=[LF], запись- param=value[LF]. В большинстве случаев спец.софт не нужен, хватает терминала...  ferrum(110 знак., 10.09.2017 14:14 - 14:22)
			- чего, неплохо. но тогда нужно list/dir, да и формат значений непонятен -  VLLV(60 знак., 12.09.2017 16:21)
					- ну Вы ваще! И говна и ложку и побольше. Простая и тривиальная приблуда разрастается в что то тяжелое. - Nikolay801_(13.09.2017 08:12)
							- Думал, как упростить, пока до такого урезал: две команды вроде get и put, далее - имя переменной, которое транслируется в адрес(макросами?) сравнением со строкой. Ввод-вывод в шестнадцатиричных кодах(соответственно разрядности). Чуть продвинутей  Dingo(455 знак., 13.09.2017 09:42)
									- Берём ассемблер, задаем значения, с макросами и комментариями, компилируем в бинарник, загружаем. Я так делал. - Скрипач(13.09.2017 09:46)
 
 
- Думал, как упростить, пока до такого урезал: две команды вроде get и put, далее - имя переменной, которое транслируется в адрес(макросами?) сравнением со строкой. Ввод-вывод в шестнадцатиричных кодах(соответственно разрядности). Чуть продвинутей  Dingo(455 знак., 13.09.2017 09:42)
									
- Не в ту сторону, IMHO, поворот. Скрипач(164 знак., 12.09.2017 16:48)
 
- ну Вы ваще! И говна и ложку и побольше. Простая и тривиальная приблуда разрастается в что то тяжелое. - Nikolay801_(13.09.2017 08:12)
							
- чиста из эстетических соображений, лучше чтение - param?. Тогда можно игнорировать перенос строки, пробелы, табы и пр. с этим можно файлик как то примитивненько отформатировать. - Nikolay801_(12.09.2017 08:21)
- ...и так более ста параметров? Скрипач(50 знак., 10.09.2017 14:18 - 14:20)
 
- чего, неплохо. но тогда нужно list/dir, да и формат значений непонятен -  VLLV(60 знак., 12.09.2017 16:21)
					
- MODBUS ? - AVF(10.09.2017 08:53)
			- Есть такое. Но есть минус - когда счет выведенных через Modbus переменных начинает идти на сотни, все известное мне клиентское ПО становится крайне не удобным. Что-то изменилось в начале адресного пространства, адреса "поплыли" и начинается  AlexG(128 знак., 10.09.2017 11:01)
					- А зачем менять что-то в начале таблицы?   Скрипач(157 знак., 10.09.2017 11:23 - 11:28)
							- Я обычно группирую данные по логической связанности +из-за особенностей ПО устройства некоторые данные могут идти только в определенной последовательности (например, массивы структур из памяти МК отображаемые на регистры Modbus). Оставляю между  AlexG(86 знак., 10.09.2017 11:30)
									- А зачем? Скрипач(275 знак., 10.09.2017 13:01 - 13:08)
- делаю массив указателей на параметры, т.е. если спрашивают регистр Х, то в массиве по адресу Х лежит указатель на нужную переменную, получается дикий оверхед по флэши - 4 байта на каждый параметр, но сильно упрощает все остальное. Делаю в виде AVF(1070 знак., 10.09.2017 13:04)
- существуют команды файлового доступа с адресацией до 32+8 бит. - Vit(10.09.2017 12:02)
											- Это уже совсем дебри, под команды файлового доступа ни одной готовой программы не найти (одну знаю на самом деле) В этом случае свое клиентское ПО нужно уже без вариантов и теряется смысл использования стандартного протокола. - AlexG(10.09.2017 12:08)
													- ИМХО, смысл не в "готовых" программах, а в простоте реализации и разделении труда. когда-нибудь от Вас в конечном продукте как комплексе всё-равно попросят/потребуют рюшечки в ПО для ПК - Vit(10.09.2017 12:17 - 15:50)
- Нет, не теряет. Потому что суть в документированности, а не в возможности любому пионеру накосячить выкачав бесплатных приблуд из Гугльмаркета. - Скрипач(10.09.2017 12:19)
															- Насколько я помню, файловый доступ довольно плохо документирован. Смысл готовых программ не в обеспечении доступа для пионеров, а в совместимости. Когда собирается система с разработанным устройством в составе или собирается рабочее место для  AlexG(362 знак., 10.09.2017 12:35)
																	- Вы бы сначала разделили конфигурационные параметры и используемые в "боевых" условиях. очень часто для "боевых" существует конфигурируемый пользователем участок адресов, куда группируются алиасы с других, часто "разбросанных" адресов. пользователю Vit(940 знак., 10.09.2017 16:11)
- Нормально он документирован. И реализован, обычно, "без изюминок". Скрипач(102 знак., 10.09.2017 13:05)
 
 
- Насколько я помню, файловый доступ довольно плохо документирован. Смысл готовых программ не в обеспечении доступа для пионеров, а в совместимости. Когда собирается система с разработанным устройством в составе или собирается рабочее место для  AlexG(362 знак., 10.09.2017 12:35)
																	
 
 
- Это уже совсем дебри, под команды файлового доступа ни одной готовой программы не найти (одну знаю на самом деле) В этом случае свое клиентское ПО нужно уже без вариантов и теряется смысл использования стандартного протокола. - AlexG(10.09.2017 12:08)
													
 
 
- Я обычно группирую данные по логической связанности +из-за особенностей ПО устройства некоторые данные могут идти только в определенной последовательности (например, массивы структур из памяти МК отображаемые на регистры Modbus). Оставляю между  AlexG(86 знак., 10.09.2017 11:30)
									
- Так модбас не противоречит своему ПО, собственно тоже так делаю - AVF(10.09.2017 11:18)
 
- А зачем менять что-то в начале таблицы?   Скрипач(157 знак., 10.09.2017 11:23 - 11:28)
							
 
- Есть такое. Но есть минус - когда счет выведенных через Modbus переменных начинает идти на сотни, все известное мне клиентское ПО становится крайне не удобным. Что-то изменилось в начале адресного пространства, адреса "поплыли" и начинается  AlexG(128 знак., 10.09.2017 11:01)
					
- я делаю через сишные структуры, зачем нужны какие то интерпретаторы мне непонятно Nikolay801_(872 знак., 05.09.2017 11:14)
- консоль в микроконтроллере с micro readline: habrahabr.ru_post_127890 - microrl(04.09.2017 21:29,  ) )- консоль это хорошо, но это для инженеров/разрабочиков, ну может наладчиков. Но не для юзеров, простой народ не поймет. - Nikolay801_(05.09.2017 11:16)
					- консоль. народ поймет, а если нет - заплатит за красивую морду, использующую как транспорт ту же консоль:) - например, а-ля "проводник" в стиле wake. Vit(894 знак., 10.09.2017 10:45)
- Есть такая проблема, но этап разработки редко бывает, как пуля. Зато отработав функыиональность с инженерной программой,потом проще ставить задачу программисту. - VLLV(05.09.2017 14:18)
- Более того, суровые ымбеддеры перетопчутся и без истории ввода, автодополнения и цветов. Берёшь scanf - и вперёд, не нужны эти блюмблюатеки. Тоже мне, взяли моду - изображать из дохлого МК линуксовую машину. Это шизофрения, вот что это. - SciFi(05.09.2017 11:20)
 
- Спасибо, неплохой вариант! Посмотрю. (вынес ссылку) - Dingo(05.09.2017 04:49, ссылка)
 
- консоль это хорошо, но это для инженеров/разрабочиков, ну может наладчиков. Но не для юзеров, простой народ не поймет. - Nikolay801_(05.09.2017 11:16)
					
- Для настройки параметров прикручивать чудо-юдо интерпретатор? Мсье знает толк в извращениях. Для того, чтобы распарсить "param=123", никакая луа не нужна. - SciFi(04.09.2017 17:02)
			- Дополню, что успел наковырять. #интерпретаторы #скрипты Dingo(1044 знак., 05.09.2017 07:47 - 15.09.2017 12:39)
- Хм. А если прикрутить скрипт, который будет генерить необходимый исходник, с входными параметрами типа - название, тип(разрядность), диапазон корректных значений. Нет готового? Хочется повторяющуюся задачу автоматизировать. Но сделать это так,  Dingo(137 знак., 04.09.2017 17:26)
					- Не скрипт, а "X Macro". У меня такое сделано для конфига в веб-интерфейсе. VLLV наверняка двачует. - SciFi(04.09.2017 17:28)
 
 
- Самописное. Ибо, прогу внутри МК "универсальную" ты не накастрячишь. И в чем тогда смысл искать что-то внешнее универсальное ? - _basile(04.09.2017 16:53,  ) )- Once upon a time, на телесиськах, кто-то говорил, что реализовал в AVR'ке(?) мастер терминала VT100 (с менюшками и пр.). И тупо на любом ПК запускает клиента VT100 на UART'е. - Toчкa oпopы(04.09.2017 18:19)
					- Вот ищу такое. Никто не видел реализаций для мелкоконтроллеров, библиотек готовых или еще чего, что бы на Cortex-M3/4 можно было запустить? - GDI(11.09.2017 13:30)
- У нас тут есть один девайс и операторская панель к нему. Панель работает как терминал VT100. Очень удобно - никакой привязки версий прошивок с обоих сторон, девайс ничего не знает про панель, а панель про девайс. ПО можно дорабатывать с обоих AlexG(180 знак., 11.09.2017 08:31)
- у нас тоже такое было, на мега48/88, мега128. переехало сначала на ARM7, потом на разные Cortex-M. вполне удобно, кроме того, что клиентов немного и из понятного КИПовцам - HyperTerminal 6.3 какой-то там home edition, да и часто хотят видеть и Vit(314 знак., 11.09.2017 06:48)
 
- Как раз общие, универсальные моменты очень хорошо прослеживаются. Прочитать|записать байт|слово|двойное_слово, всё это со знаком, без знака и хорошо бы с проверкой допустимого диапазона; то же для строки. Реализацию записи и чтения можно 'вынести  Dingo_(80 знак., 04.09.2017 18:13,  ) )- Только сейчас проникся, о чем речь. Есть у меня протокол, по следам SNMP, и проги универсальные есть - браузер и тестер, скрипты гоняет. И да, внутри контроллера на X-макро.  vllv(1882 знак., 04.09.2017 18:21 - 18:40)
							- И как это работает? Можете показать подробней, что там под капотом, в макросе IMPL_VARIABLE? - Dingo(05.09.2017 04:47)
									- Что, больше интересует гвоздь, которым переменная к протоколу прибита? А универсальность/гибкость универсальных программ, идентификация переменных и объектов (групп переменных), скрипты - уже всё? ;) - vllv(05.09.2017 08:16)
											- По показанным фрагментам непонятна идея/как_это_работает. X-MACRO видел, читал, понимаю (хоть и не прозрачно). А с вашими фрагментами нет. - Dingo(05.09.2017 08:36)
													- Чего там понимать? Для набора параметров что нужно? Имена параметров, места хранения, типы и/или процедуры чтения/записи. Всё это может генерироваться в виде разных структур и/или массивов из ЕДИНОГО большого списка при помощи этих икс макросов,  SciFi(366 знак., 05.09.2017 09:32 - 09:39)
															- Проще говоря крестьянский полиморфизм раннего связывания - Petrovich(05.09.2017 10:50,  ) )
 
- Проще говоря крестьянский полиморфизм раннего связывания - Petrovich(05.09.2017 10:50, 
- Файл приложил, но имейте ввиду - X-MACRO бьет по мозгам, как табак в самогонке, я просто беспокоюсь, что по этой причине вы отметете что-то хорошее (мое или не мое, неважно). vllv(3152 знак., 05.09.2017 08:49)
 
- Чего там понимать? Для набора параметров что нужно? Имена параметров, места хранения, типы и/или процедуры чтения/записи. Всё это может генерироваться в виде разных структур и/или массивов из ЕДИНОГО большого списка при помощи этих икс макросов,  SciFi(366 знак., 05.09.2017 09:32 - 09:39)
															
 
- По показанным фрагментам непонятна идея/как_это_работает. X-MACRO видел, читал, понимаю (хоть и не прозрачно). А с вашими фрагментами нет. - Dingo(05.09.2017 08:36)
													
- учу гуглить. дорого. - SciFi(05.09.2017 08:14, ссылка)
											- Спасибо за ссылку, несмотря на иронию. Не пойму, как это колдунство работает. Отдельно - да, связку - не пойму. - Dingo(05.09.2017 08:37)
													- Начните с ответа на вопрос зачем это нужно? :  Нужно в ОДНОМ! месте в одну-две строки создать текстовое описание переменной (чтобы потом не думать, что такое X4), указать, как она адресуется в протоколе, что происходит при записи, что происходит  vllv(66 знак., 05.09.2017 08:58)
															- Наверное последую совету. Набросать код, потом смотреть повторяющиеся фрагменты, и уже для их написания использовать фишку X-Macro: генерация кода (макросов с помощью макросов).  Dingo(180 знак., 05.09.2017 09:10)
																	- Посмотрите в BoostPP, там много всяких механизированных кунштюков обезображено. Арифметика, списки и фсе такое силами препроцессора.  LightElf(86 знак., 05.09.2017 13:21 - 13:36, ссылка)
																			- Ничего хорошего в навороченном макроязыке нет. В сях и без макросов можно запутать так, что никогда не распутаешься. - SciFi(05.09.2017 13:39)
																					- Иногда, особенно по весне, очень не хватает в сишных макросах циклов. Но с каждым годом эта потребность ослабевает. - Nikolay801_(05.09.2017 13:52)
																							- Не зря волшебная MISRA запрещает эти все undef и ## , в первую очередь для безопасности мозга программиста. - vllv(05.09.2017 15:53)
																									- Мисра столько всего запрещает, что лучше бы и не пускала вовсе. - SciFi(05.09.2017 15:58)
 
- В бустеПП, естественно есть циклы. Как иначе обрабатывать массивы? - LightElf(05.09.2017 15:22)
- Для буйных придумали цэ с плюсами. Развлекайтесь. - SciFi(05.09.2017 13:55)
																									- И где в плюсах циклы препроцессора? - LightElf(05.09.2017 15:24)
																											- Зачем? Там много волшебного во всяких темплейтах и проч. - SciFi(05.09.2017 15:25)
																													- Угу, а темплейты обмазывают толстым слоем препроцессора - LightElf(05.09.2017 15:46)
 
 
- Зачем? Там много волшебного во всяких темплейтах и проч. - SciFi(05.09.2017 15:25)
																													
- ну можно сделать шаг назад, почти в любом ассемблере макросы намного функциональней чем в сях. - Nikolay801_(05.09.2017 14:01)
 
- И где в плюсах циклы препроцессора? - LightElf(05.09.2017 15:24)
																											
 
- Не зря волшебная MISRA запрещает эти все undef и ## , в первую очередь для безопасности мозга программиста. - vllv(05.09.2017 15:53)
																									
- Да, говорят что программирование вообше не для всех :) - LightElf(05.09.2017 13:45)
 
- Иногда, особенно по весне, очень не хватает в сишных макросах циклов. Но с каждым годом эта потребность ослабевает. - Nikolay801_(05.09.2017 13:52)
																							
 
- Ничего хорошего в навороченном макроязыке нет. В сях и без макросов можно запутать так, что никогда не распутаешься. - SciFi(05.09.2017 13:39)
																					
- Макросы в Си нельзя генерировать с помощью макросов потому что #define нельзя определить внутри #define. И #include не поможет. - Petrovich(05.09.2017 12:24,  ) )
- В принципе могу все подарить, разберетесь и переделаете под себя. Вы где обитаете? - vllv(05.09.2017 09:18)
 
- Посмотрите в BoostPP, там много всяких механизированных кунштюков обезображено. Арифметика, списки и фсе такое силами препроцессора.  LightElf(86 знак., 05.09.2017 13:21 - 13:36, ссылка)
																			
 
- Наверное последую совету. Набросать код, потом смотреть повторяющиеся фрагменты, и уже для их написания использовать фишку X-Macro: генерация кода (макросов с помощью макросов).  Dingo(180 знак., 05.09.2017 09:10)
																	
 
- Начните с ответа на вопрос зачем это нужно? :  Нужно в ОДНОМ! месте в одну-две строки создать текстовое описание переменной (чтобы потом не думать, что такое X4), указать, как она адресуется в протоколе, что происходит при записи, что происходит  vllv(66 знак., 05.09.2017 08:58)
															
 
- Спасибо за ссылку, несмотря на иронию. Не пойму, как это колдунство работает. Отдельно - да, связку - не пойму. - Dingo(05.09.2017 08:37)
													
 
- Что, больше интересует гвоздь, которым переменная к протоколу прибита? А универсальность/гибкость универсальных программ, идентификация переменных и объектов (групп переменных), скрипты - уже всё? ;) - vllv(05.09.2017 08:16)
											
 
- И как это работает? Можете показать подробней, что там под капотом, в макросе IMPL_VARIABLE? - Dingo(05.09.2017 04:47)
									
- При желании всё это делается на сях, интерпретаторы тут не помогают никак. Они только мешают - их же ещё прикручивать надо. - SciFi(04.09.2017 18:18)
 
- Только сейчас проникся, о чем речь. Есть у меня протокол, по следам SNMP, и проги универсальные есть - браузер и тестер, скрипты гоняет. И да, внутри контроллера на X-макро.  vllv(1882 знак., 04.09.2017 18:21 - 18:40)
							
 
- Once upon a time, на телесиськах, кто-то говорил, что реализовал в AVR'ке(?) мастер терминала VT100 (с менюшками и пр.). И тупо на любом ПК запускает клиента VT100 на UART'е. - Toчкa oпopы(04.09.2017 18:19)
					
 
- Сериализация, самописный Protocol Buffers.  инженер(322 знак., 13.09.2017 11:54,