-
- Ребята, спасибо - протопотоки божественная штука. Начал накидывать - по мне приятно работать. Решил все равно автомат зарядить на три состояния - сброс, инициализацию, работу. В каждом состоянии крутится протопоток, который реализует соответствующую функцию. Вот, к примеру, как выглядит сброс vesago(1190 знак., 03.06.2024 11:26)
- можно переделать те же автоматы со switch-case-if на таблицы
переходов, геморно но компактно. однако плевать на код если с
бумажных диаграмм состояний или таблиц код однозначно переносится в
исходник NAUT(124 знак., 02.06.2024 11:35, youtube)
- Это какая-то секта? Вроде бы fk0 тоже постоянно упоминал Шалыто. - SciFi(02.06.2024 11:44)
- секта да. а где fk0 сам-то? - NAUT(02.06.2024 21:16)
- здесь атмосфера не всяким выдерживается. :-) - Лaгyнoв(03.06.2024 08:14)
- Причём всем известно, что эта атмосфера в основном сосредоточена в
помещении за дверью с надписью "0xFF". Но обладатели нежного
обоняния всё равно упорно туда идут :-) - SciFi(03.06.2024 08:23)
- Вовочка у директора: где логика? вот сами подумайте, я пукнул, меня за это выгнали из класса а сами - остались! - NAUT(03.06.2024 11:35)
- Не совсем так. Подробностей уже не вспомню, но у будёновца и в "О
методах" были очень эмоциональные перепалки. Причем он явно
демонстрировал более глубокий уровень понимания проблемы чем
оппоненты. И сильно злился в ответ на тупорылые, не-в-темные
комментарии. Cкpипaч(97 знак., 03.06.2024 09:18)
- А где это перепалки по Декарту были? - Kpoк(03.06.2024 09:55)
- Что есть, то есть. Не устану напоминать о казусе Дмитрия "Недимона" Анатольевича. Когда он понял, что рунет не победить, он решил его возглавить! - SciFi(03.06.2024 09:20)
- Причем некоторые только в этом помещении находятся, страдают, но
нюхают. - Andreas(03.06.2024 08:53)
- Жизнь - боль! SciFi(1 знак., 03.06.2024 08:54, картинка)
- Причём всем известно, что эта атмосфера в основном сосредоточена в
помещении за дверью с надписью "0xFF". Но обладатели нежного
обоняния всё равно упорно туда идут :-) - SciFi(03.06.2024 08:23)
- Изредка комментирует на Хабарке. - Toчкa oпopы(02.06.2024 22:33)
- здесь атмосфера не всяким выдерживается. :-) - Лaгyнoв(03.06.2024 08:14)
- Секта адептов процентовок. Смысл примерно такой, что то, что может
быть задокументировано как программный функциональный узел,
подлежит оплате как отдельный объект с выполненным объемом работ (в
трудоднях, количестве строк, количестве состояний автомата и т.п.).
Собственно к машинам состояний имеет отношение как
эксплуатант-пропагандист избитой идеи, но не как носитель
инноваций. Сам использую машины состояний в туче вариантов, но
предпочитаю не продавать софт отдельно от Vit(117 знак., 02.06.2024 20:35)
- спасибо за Семака, не знал, насчет процентовок непонятно кто
продаёт документацию отдельно или я что-то упустил - NAUT(02.06.2024 21:20)
- Программу, которая имеет документированную спецификацию перед началом работ по написанию, тестированию, сопровождению и т.д., состоящую не из одной строчки, можно сдавать заказчику по частям. Ну вот, например, ты нашел какой-нибудь заказ на написание всего ПО для атомной электростанции. Строиться она будет 10 лет. А кушать программисту хочется уже сегодня. Берешь бумажку и карандашик и описываешь в деталях построчно спецификацию узлов и работ. И первое - продаешь эту бумажку, Vit(306 знак., 04.06.2024 13:14)
- Миро Семак? А что у него можно почитать? Шалыто говорит о том, как
проектировать на листочке бумаги. Все по честному, без "купите наш
уникальный IDE и волосы станут шелковистыми". - Cкpипaч(02.06.2024 21:04)
- Миро Самек. Книга (две редакции, причем рекомендую читать обе) прям на сайте Vit(1414 знак., 04.06.2024 13:00 - 14:14, ссылка, ссылка)
- спасибо за Семака, не знал, насчет процентовок непонятно кто
продаёт документацию отдельно или я что-то упустил - NAUT(02.06.2024 21:20)
- Лол. Если и секта, то имеющая очень эффективную методологию систем
управления. Целостную. - Cкpипaч(02.06.2024 15:42)
- Одно другому не мешает. Вон сайентологи с виду один другого богаче.
Методология, не иначе! - SciFi(02.06.2024 15:46)
- сайентологи в технике плохо шарят, их подводит магическое мышление, я сталкивался и убедился в пользе сект, не всякий дурак себя сам обозначает, а секта ему в этом помогает. пусть будет побольше разных сект - NAUT(02.06.2024 21:24)
- А вы не признаёте у них наличие методологии, стало быть? У Шалыто
все нормально с методологией, по моему опыту - вполне
жизнеспособно. Не так драйвово как в объетном программировании, но
зато работает. И читабельно. - Cкpипaч(02.06.2024 15:57)
- Я их просто не знаю. Видимо, это потому, что эта прогрессивна
методология ещё не захватила мир, так как упоминание этой фамилии
на моей памяти было только от двух бедуинов. Считай, что это не оч.
удачная попытка пошутить, раз тебе не зашло... - SciFi(02.06.2024 16:01)
- Русские не умеют в пиар. И, я уже сказал, очень скушная методика.
Не драйвовая.
Без элемента геймификации.- Cкpипaч(02.06.2024 16:04)- Сложно добавить новое поведение/состояние не переделывая всё. - Boвa(02.06.2024 21:22)
- Для автоматного проектирования нужна визуальная среда встроенная в IDE. В матлабе есть неплохая рабочая, хотя она там пошаговая, а не событийная. - =AlexD=(03.06.2024 14:12)
- Сложное - сложно.
А жизнь - боль.Зато без неуместной эйфории. - Cкpипaч(02.06.2024 21:38)- Пишите сразу в машинных кодах, так вы быстрее устанете. - Boвa(03.06.2024 13:52)
- Какая искрометная шутка. Конечно я не ищу сложностей ради
сложностей. Но и обмануть себя, введением "все упрощающих"
слоев-пустышек - не позволю. - Cкpипaч(03.06.2024 16:02)
- Я вовсе не про то. Чувствуется что эти состояния-переходы можно
упаковать в набор связанных объектов. Может видели что-то похожее? - Boвa(03.06.2024 16:07)
- Свой оптимум я нашел. Переход между состояниями - банальный goto,
внутри состояния установка новых значений выходов, после чего
while(1){ yield(); if(условия переходов в другие состояния){
goto...}}; Описание достаточно компактное и читабельное. Минимум
дополнительных абстракций. - Cкpипaч(03.06.2024 16:45)
- Ок. Т.е. состояния отображаются счетчиком команд. - Boвa(03.06.2024 18:51)
- Хороший вопрос. Cкpипaч(1171 знак., 03.06.2024 20:44)
- Ок. Т.е. состояния отображаются счетчиком команд. - Boвa(03.06.2024 18:51)
- Свой оптимум я нашел. Переход между состояниями - банальный goto,
внутри состояния установка новых значений выходов, после чего
while(1){ yield(); if(условия переходов в другие состояния){
goto...}}; Описание достаточно компактное и читабельное. Минимум
дополнительных абстракций. - Cкpипaч(03.06.2024 16:45)
- Я вовсе не про то. Чувствуется что эти состояния-переходы можно
упаковать в набор связанных объектов. Может видели что-то похожее? - Boвa(03.06.2024 16:07)
- Какая искрометная шутка. Конечно я не ищу сложностей ради
сложностей. Но и обмануть себя, введением "все упрощающих"
слоев-пустышек - не позволю. - Cкpипaч(03.06.2024 16:02)
- Пишите сразу в машинных кодах, так вы быстрее устанете. - Boвa(03.06.2024 13:52)
- Сложно добавить новое поведение/состояние не переделывая всё. - Boвa(02.06.2024 21:22)
- Русские не умеют в пиар. И, я уже сказал, очень скушная методика.
Не драйвовая.
- Я их просто не знаю. Видимо, это потому, что эта прогрессивна
методология ещё не захватила мир, так как упоминание этой фамилии
на моей памяти было только от двух бедуинов. Считай, что это не оч.
удачная попытка пошутить, раз тебе не зашло... - SciFi(02.06.2024 16:01)
- Одно другому не мешает. Вон сайентологи с виду один другого богаче.
Методология, не иначе! - SciFi(02.06.2024 15:46)
- секта да. а где fk0 сам-то? - NAUT(02.06.2024 21:16)
- Это какая-то секта? Вроде бы fk0 тоже постоянно упоминал Шалыто. - SciFi(02.06.2024 11:44)
- Данунахер... 4 года 24/7 на даче работает проектик на MSP430.
Беспроводные датчики 868 Мгц, пара реле, GPRS модем. Отсылает
статус каждые 2 минуты, принимает команды управления. Следит за
коннектом и переподключается в случае необходимости. Без всяческих
РТОС. Вот объем кода: Гyдвин(116 знак., 01.06.2024 22:43)
- При всём уважении, но если программа работает и работает, то там и обсуждать нечего. Не изнашивается же она. А вот если приходится постоянно допиливать, переделывать, оптимизировать, улучшать, добавлять и дебажить, то совсем другое дело. - mr-x(03.06.2024 11:39)
- Да вот, собственно, и весь код... Гyдвин(12556 знак., 01.06.2024 22:48)
- Надо мной смеются что я не могу (да и не пытаюсь) отучить себя от "корпоративная мультизадачность" вместо "кооперативная". Но тут, смотри - "имперская"! :) (вместо императивная) Cкpипaч(183 знак., 02.06.2024 08:33)
- Спасибо, мне нравится такая реализация. Меньше бы было процессов, пожалуй, позаимствовал бы подход. - vesago(02.06.2024 07:36)
- Ставь freertos и не сомневайся. Линукс хорошо, но Windows доминирует на рынке. - BlackMorda(01.06.2024 19:18)
- А про корпоративную мультизадачность не думали? Все же вытесняющая
мультизадачность действительно потянет "обвес", а корпоративная -
нет. Cкpипaч(232 знак., 01.06.2024 17:30 - 17:34, ссылка)
- Спасибо, внимательно поразбираюсь. - vesago(01.06.2024 18:01)
- для фриртоса книга Мединцева, в ртос можно и автоматы засунуть - NAUT(02.06.2024 11:33)
- Спасибо, неплохая мысль. В свое время я полюбил конечные автоматы.
И преимущественно на них все строю. Задержек не допускаю. Но так
хочется жизнь упростить :) Вот помню была ртос оса. Вот такое бы.
Мне всего то надо. Шедулер и чтоб когда задержка, другой процесс
работал. Надо почитать. У фриртоса вроде есть не вытесняющий режим.
Протопотоки знаю ещё по макоси, пардон, по микроайпи. Но каюсь - не
въехал как они работают. Мудрено написано. - vesago(01.06.2024 17:39)
- Ну да, неблокирующие задержки это именно то, что в protothreads делается почти без обвеса. Но требует дисциплины программирования, поскольку не будут работать локальные переменные, их придется заменять статическими. Или взять вариант на С++ и там можно заменять локальные переменные переменными экземпляра объекта. Cкpипaч(597 знак., 01.06.2024 18:04)
- Точно, надо будет попробовать фриртос в кооперативном режиме. Надо передать другому процессу - yeld и т.д. - vesago(01.06.2024 17:43)
- Протопотоки - это такие макросы-обёртки, которые прячут конечный
автомат за псевдолинейным кодом. То, что доктор прописал. - SciFi(01.06.2024 17:42)
- Спасибо. Посмотрю, вроде даже создатель микроайпи статью на эту тему писал. Попробую вникнуть. - vesago(01.06.2024 17:44)
- Кооперативная? Ну и давайте называть вещи своими именами:
protothreads. - SciFi(01.06.2024 17:31)
- Ты - знал! :-D - Cкpипaч(01.06.2024 17:34)
- Спасибо, внимательно поразбираюсь. - vesago(01.06.2024 18:01)