- 
	- Касаемо энкодера: Только не жадничайте на угловых величинах... при вращениях оного (выбор пунктов меню/параметров). На своём 3D-принтере [PRUSA-I3] (да и на других)китайских- больная тема. Частенько при нажатии на энкодер ускользает в +/- один SERHIO(55 знак., 27.04.2017 17:24)
- WiFi точка на базе ESP за $5, вебморда, смартфон. Дешево, надежно и практично. - LightElf(21.04.2017 17:37)
- Нет, энкодер нельзя заменить кнопками. Эргономически -- ничего общего. Кнопками выставлять трёхзначные числа нужно по разряду (и то секса много), а энкодер, на основании скорости вращения -- ставит за раз.  Николай Коровин(151 знак., 21.04.2017 14:40)
			- Энкодер как замена всех кнопок - это злейшее зло. Энкодер в кол-ве N штук хорош на осциллографе. И то, когда нужно накручивать глубину усреднения, гамно получается, ибо там удобнее были бы кнопки +/-. Или просто дело в том, что у этого энкодера  SciFi(13 знак., 21.04.2017 15:23)
					- Без щелчков — вообще не энкодер :) А, да, есть порог задержки между соседними щелчками, после которого мы начинаем прибавлять не 1, а 2, 5, 10 и т. д., т. е. резкий поворот считаем за грубую подстройку. Считается он не по одной паре, конечно, а на Николай Коровин(914 знак., 21.04.2017 20:43 - 20:59)
- А ещё бывает энкодер - кнопка. Вот набираем IP-адрес, сначала нули. 192.. тык! 168 тык! 12 тык! 147 тык! окно закрылось, в нём "192.167.12.146"  что такое?! а это когда "тык" он иногда на 1 зубчик перескакивает :) Ничего, по новой введём. - maik-vs(21.04.2017 17:17)
							- Неправильно сделан. Влево-вправо по полю ввода — перемещение курсора, тык — число стало контрастным, влево-вправо — изменили, тык — снова бегает курсор. Там, где энкодер, «последовательной логике» делать нечего. Он «идеологически многопозиционен». - Николай Коровин(21.04.2017 20:16)
									- Идеологически многопозиционен? Нет ли тут гей-пропаганды? - SciFi(21.04.2017 20:23)
											- :-D Это был пятничный ответ 80-го уровня :) - Николай Коровин(21.04.2017 20:30)
													- Могу и первого уровня. Пропаганда гетеро и вообще здорового образа жизни :-) - SciFi(21.04.2017 20:35, картинка)
															- Basic friday post :) - Николай Коровин(21.04.2017 20:57)
 
 
- Могу и первого уровня. Пропаганда гетеро и вообще здорового образа жизни :-) - SciFi(21.04.2017 20:35, картинка)
															
 
- :-D Это был пятничный ответ 80-го уровня :) - Николай Коровин(21.04.2017 20:30)
													
 
- Идеологически многопозиционен? Нет ли тут гей-пропаганды? - SciFi(21.04.2017 20:23)
											
- Можно просто сделать одну кнопку и заставить всех учить морзянку. - SciFi(21.04.2017 17:21)
									- видел приборы с одной кнопкой, она же и кнопка вкл/выкл )) без инструкции не понять ничего ) - 0men(21.04.2017 18:55)
 
 
- Неправильно сделан. Влево-вправо по полю ввода — перемещение курсора, тык — число стало контрастным, влево-вправо — изменили, тык — снова бегает курсор. Там, где энкодер, «последовательной логике» делать нечего. Он «идеологически многопозиционен». - Николай Коровин(21.04.2017 20:16)
									
 
- Фигня, автоповтор плюс регулируемое приращение творят чудеса. С энкодером точно те же проблемы. - vllv(21.04.2017 15:19)
- Так-то оно так, но определить скорость тоже не бит поменять; с кнопками проще опрос. - Dingo(21.04.2017 14:45)
 
- Энкодер как замена всех кнопок - это злейшее зло. Энкодер в кол-ве N штук хорош на осциллографе. И то, когда нужно накручивать глубину усреднения, гамно получается, ибо там удобнее были бы кнопки +/-. Или просто дело в том, что у этого энкодера  SciFi(13 знак., 21.04.2017 15:23)
					
- Дык эта... Массив указателей на функции, ходишь по массиву, вызываешь функции всякия... :) - Звероящер(21.04.2017 14:25)
			- Спрошу здесь, потому как связанно, хоть топик может и не совсем тот. Как попросить компилятор исполнить функцию по указателю?  Dingo(1264 знак., 27.04.2017 15:27 - 15:31)
					- Кстати, немного кунг фу (исправил ачепятку) :-)  SciFi(115 знак., 27.04.2017 16:12 - 16:40)
							- Не понял. Вижу только, что вызывается функция. Можно по буквам, как я чуть выше? - Dingo(27.04.2017 16:23)
									- Чуть выше фигня какая-то написана. SciFi(664 знак., 27.04.2017 16:28)
 
- гад какой-то - vllv(27.04.2017 16:19)
 
- Не понял. Вижу только, что вызывается функция. Можно по буквам, как я чуть выше? - Dingo(27.04.2017 16:23)
									
- В букваре раздел 5.11 "Указатели на функции" --> - SciFi(27.04.2017 15:53, ссылка)
							- Прочитал. Не увидел ответа. Если v_char = *((char *)p_int); привести указатель на int к указателю на char, то вопрос в том, как void* трактовать как указатель на функцию?   Dingo(162 знак., 27.04.2017 15:59)
									- Хм, посмотрел у себя, тип указателя в массиве для функций с параметрами и без параметров одинаковый  vllv(299 знак., 27.04.2017 16:12)
											- Не указывать типы аргументов - это тоже фу. - SciFi(27.04.2017 16:13)
													- работает же :) - vllv(27.04.2017 16:14)
															- Щас придёт будённовец и будет жечь. - SciFi(27.04.2017 16:15)
 
 
- работает же :) - vllv(27.04.2017 16:14)
															
 
- Не указывать типы аргументов - это тоже фу. - SciFi(27.04.2017 16:13)
													
- А вот не надо переменной типа void* присваивать значение указателя на функции (т.е. адрес функции). Просто не надо. Это можно сделать с оговорками, но это фу. Если указатель на функцию может содержать адреса функций с разными типами аргументов  SciFi(321 знак., 27.04.2017 16:05 - 16:07)
											- У меня там соседнее поле хранит, что же именно в этот указатель записали. Так что не так уж всё запущено. А ещё это поле может принимать значение указателя на другую такую структуру. Фсё, кидайте тапками в меня. - Dingo(27.04.2017 16:21)
- вырыть себе несколько могил и сделать из них объединение, а потом объединения запихнуть в массив :) Интересно, у компилятора есть шанс разобраться? - vllv(27.04.2017 16:07)
 
 
- Хм, посмотрел у себя, тип указателя в массиве для функций с параметрами и без параметров одинаковый  vllv(299 знак., 27.04.2017 16:12)
											
 
- Прочитал. Не увидел ответа. Если v_char = *((char *)p_int); привести указатель на int к указателю на char, то вопрос в том, как void* трактовать как указатель на функцию?   Dingo(162 знак., 27.04.2017 15:59)
									
 
- Кстати, немного кунг фу (исправил ачепятку) :-)  SciFi(115 знак., 27.04.2017 16:12 - 16:40)
							
- "Дьявол кроется в мелочах"(с) - пример тому разница моего и SkiFi подходов. - Dingo(21.04.2017 14:43)
 
- Спрошу здесь, потому как связанно, хоть топик может и не совсем тот. Как попросить компилятор исполнить функцию по указателю?  Dingo(1264 знак., 27.04.2017 15:27 - 15:31)
					
- Не надо валить в кучу концепцию и реализацию. У меня есть дисплейчик 2.2'', слева и справа по 3 кнопки. Напротив них рисую пиктограммы "назад, редактировать, ввести, отменить, курсор влево-вправо, плюс-минус, курсор вверх-вних" в зависимости от  SciFi(316 знак., 21.04.2017 13:03)
			- А слабо прозрачные рельефные кнопки над дисплеем сделать? :) Тачскрин с кликом :) - Николай Коровин(21.04.2017 21:03)
- Поясню ещё немного. Сейчас меню для текстового дисплея масштаба 1602/2004 или PCD8544( "Nokia 5110", 84*48 точек) в связке с дохленьким контроллером масштаба stm8 или AVR. С другой стороны, если будет необходимость работать с STM32, то не хотелось Dingo(118 знак., 21.04.2017 15:05)
- Редактировать - в каком диапазоне и с каким шагом? Откуда в вашем случае меню знает какой параметро менять и в каком диапазоне(с каким шагом)? А вот одной кнопке разные действия - умно, не подумал. Хоть и в сотовом каждый день  Dingo(95 знак., 21.04.2017 13:09)
					- Если редактировать IP адрес - то как бы понятно. У числового параметра шаг определяется положением курсора, ну и насыщение есть, конечно. Ситуации, когда шаг не равен единице в соответствующем разряде, у меня не было, но и её можно обыграть. - SciFi(21.04.2017 13:12)
							- Не совсем понятно, как можно при моей версии редактирование строчных параметров завернуть. Не часто нужны, но случается: идентификатор какой-нить для железки в сети, например. И всё равно это можно передать через enum события, вот только где их  Dingo(91 знак., 21.04.2017 14:42)
									- иногда делаю как SciFi, иногда (когда экран позволяет), алфавит на дисплее, бегаем по буквам и спец символам - 0men(21.04.2017 14:55)
- Чего там придумывать? Делаем текстовый редактор из того, что есть. Кнопки курсор туда-сюда, буква плюс-минус, backspace или delete, insert, cancel, enter. Получилось 8 штук. Можно убрать 2 штуки: курсор туда, буква минус, но тогда редактор будет SciFi(75 знак., 21.04.2017 14:46 - 14:53)
 
- Хорошо, по вашему примеру: был параметр 99, мы увеличили на 1. теперь надо 3 символа, а не два. Или было 10, уменьшили - теперь один знак. В вашем подходе как сделано? И ещё спрошу: в какой момент  функционал получает значения из меню?  Dingo(304 знак., 21.04.2017 13:18 - 13:29)
									- Нулями слева не дополняю. Курсор можно выкатить влево под пробел, выглядит вполне нормально. Есть оба варианта: значение применяется при каждом изменении цифр или только при нажатии кнопки ввода, в зависимости от того, что удобнее в данном случае.  SciFi(659 знак., 21.04.2017 13:27)
											- Не-не-не, не то. Вот вы решили менятьпередавать параметр при каждом изменении. Изменили на 1. Как функционал, не относящийся к меню узнает о новом значении? Откуда меню знает, какой из set() дёргать? Если RTOS - ждёте, пока задача Dingo(144 знак., 21.04.2017 13:38)- Для редактирования каждого параметра создаётся своя функция, которая вызывается для отработки событий меню типа SHOW_VALUE, START_EDIT, MODIFY, ENTER, CANCEL. У меня нет RTOS, поэтому да, Main Loop.  SciFi(240 знак., 21.04.2017 13:47 - 13:59)
															- Хм, у меня тоже почти так. Массивы структур меню потихоньку вымерли. - vllv(21.04.2017 15:08)
																	- Связные списки дают больше гибкости. Пытаться подстраивать логику работы устройства под упрощённую реализацию (массив или любой иное упрощение) - это тупиковый путь, приводящий к рождению уродцев. - SciFi(21.04.2017 15:12)
																			- Да, сцуко заказчик всегда заставляет делать не так, как удобно программисту :) - vllv(21.04.2017 15:16)
																					- Бывает и так, что программисту яиса мешают, тогда совсем тяжко :-) - SciFi(21.04.2017 15:17)
 
 
- Да, сцуко заказчик всегда заставляет делать не так, как удобно программисту :) - vllv(21.04.2017 15:16)
																					
 
- Связные списки дают больше гибкости. Пытаться подстраивать логику работы устройства под упрощённую реализацию (массив или любой иное упрощение) - это тупиковый путь, приводящий к рождению уродцев. - SciFi(21.04.2017 15:12)
																			
- а что такое длительный процесс? пример? - 0men(21.04.2017 14:20)
																	- ПИД-регулятор. Сканирование спектра. Подъём груза лебёдкой. Да всё, что угодно. - SciFi(21.04.2017 14:23)
																			- под него какой то фрейм времени выделяется? или там находимся пока не завершится? У меня просто тоже много приборов с меню сделано по похожей схеме, интересно, как реализовано у других ) - 0men(21.04.2017 14:45)
																					- У других делается банальный автомат состояний, чтобы порвать длинное на короткое. - vllv(21.04.2017 15:17)
- Далаю так, чтобы на один вызов poll() слишком много времени не уходило. Тогда тормозов нет. До сих пор жёсткие ограничения по времени делать не приходилось, поэтому всё делается легко и непринуждённо. SciFi(130 знак., 21.04.2017 14:49)
 
 
- под него какой то фрейм времени выделяется? или там находимся пока не завершится? У меня просто тоже много приборов с меню сделано по похожей схеме, интересно, как реализовано у других ) - 0men(21.04.2017 14:45)
																					
 
- ПИД-регулятор. Сканирование спектра. Подъём груза лебёдкой. Да всё, что угодно. - SciFi(21.04.2017 14:23)
																			
 
- Хм, у меня тоже почти так. Массивы структур меню потихоньку вымерли. - vllv(21.04.2017 15:08)
																	
 
- Для редактирования каждого параметра создаётся своя функция, которая вызывается для отработки событий меню типа SHOW_VALUE, START_EDIT, MODIFY, ENTER, CANCEL. У меня нет RTOS, поэтому да, Main Loop.  SciFi(240 знак., 21.04.2017 13:47 - 13:59)
															
 
- Не-не-не, не то. Вот вы решили 
 
- Нулями слева не дополняю. Курсор можно выкатить влево под пробел, выглядит вполне нормально. Есть оба варианта: значение применяется при каждом изменении цифр или только при нажатии кнопки ввода, в зависимости от того, что удобнее в данном случае.  SciFi(659 знак., 21.04.2017 13:27)
											
 
- Не совсем понятно, как можно при моей версии редактирование строчных параметров завернуть. Не часто нужны, но случается: идентификатор какой-нить для железки в сети, например. И всё равно это можно передать через enum события, вот только где их  Dingo(91 знак., 21.04.2017 14:42)
									
 
- Если редактировать IP адрес - то как бы понятно. У числового параметра шаг определяется положением курсора, ну и насыщение есть, конечно. Ситуации, когда шаг не равен единице в соответствующем разряде, у меня не было, но и её можно обыграть. - SciFi(21.04.2017 13:12)