Организация диспетчера задач посредством указателей на функции

Дисклеймер: Этот код я написал больше двух лет назад, когда решил написать новый вариант своей системы МенюОС, чтобы применить ее в одном проекте. Проект не был реализован, а старой менюОС вполне хватает до сих пор. За исключением одного НО: для проекта, имеющего помимо пары запускаемых из меню приложений еще некоторые фоновые функции, МенюОС становится эталоном быдлокодинга и частоколом из костылей.

Понадобилось мне организовать изменяемый список задач, которые необходимо запускать через определенные промежутки времени. И тут я вспомнил про тот самый старый проект. Открыл, и был слегка удивлен — для кода того времени функции оказались настолько абстрагированы друг от друга, что без изменения запустились и заработали на новом месте. Ну а поскольку менюОС я распространяю под LGPL, то публикую код здесь.

Читать дальше

Системы управления версиями

Лучшие практики
Я удивляюсь, сколько электронщиков не использует системы управления версиями в своих разработках. Я сам был таким, пока не попробовал. Теперь каждый проект я начинаю с создания репозитория.


Читать дальше

Предновогодний минипроект: зеркальный шар.

Блог им. N1X

Попались мне как-то в магазине зеркальные шарики, и сам не знаю почему, но захотел себе к НГ какую-нибудь новую светилку-крутилку. Шарик был куплен, и попутно начались попытки придумать ему интересное применение. К чему это привело попробую описать.

Читать дальше

Интеграция с putpic

Новости сообщества
Кто писал статьи, тот знает, что самое геморройное в этом всем — загрузка картинок. Поэтому, я решил прицепить сюда свой мега-полезный скриншутер putpic. Получилось очень круто – нашел картинку, выделил область, нажал энетер и картинка в статье. Инструкции в картинках — под катом.

логотип putpic


Читать дальше

Деплой с помощью Mercurial

Новости сообщества
Итак, я все мучаю бедный сервер. Дальше — очередная, никому кроме меня не нужная стена текста про развертывание сайта с помощью mercurial. Если кратко, это поможет очень быстро вносить изменения в сайтик, и сильно ускорит его допиливание.

Mercurial

Читать дальше

Форум

Новости сообщества
Перетащил форум с bsvi.ru сюда. Там он не очень то прижился, тут должно быть лучше. Дизайн форума пока не менял, но еще не вечер. Да, обратите внимание, что логины тоже не объединены. Придется регистрироваться и в сообществе и на форуме.

Форум :)

Зато теперь форум аж летает. Очень приятно. Осталось перетащить бложик, но его держит putpic, который нужно переписать. Putpic полностью работает на htacces, который у nginx отсутствует как класс.

Отладочная плата RLN Electro Ethernet

Блог проекта RLN Electro Ethernet
RLN Electro EthernetДисклеймлер: Не смотря на повсеместное использование контроллеров STM32, 8-разрядные контроллеры AVR все еще в строю и прочно держат свою нишу встраиваемых устройств малой и средней производительности.

Вступление: Разрабатывая тот или иной контроллер автоматики, мне постоянно требуются два инструмента для работы — меня любимая МенюОС, с помощью которой я создаю нужный мне пользовательский интерфейс настройки, и, собственно. контроллер с кнопками и дисплеем, на котором все это дело приходится отлаживать. Добавляем сюда пару интерфейсов вроде RS-232 и RS-485, подключаем датчик тока (позиционный электропривод — наше все) и прикручиваем Ethernet — толку от SCADA-систем без Ethernet мало… Не забываем о том, что пайка мало того, что дело вредное, паяльника под рукой может не оказаться… Смешав все в кучу, получаем вот такую вот интересную отладочную плату.
По образованию я инженер-электрик, отсюда и название — Отладочная плата электрика

Читать дальше

UTC: управляющая программа/режимы QCW

Блог проекта UTC

Общие сведения

QCW (Quasi Constant Wave) — режим работы трансформатора Тесла, в котором первичный колебательный контур накачивается настолько долго, что ток в нем перестает нарастать из-за резонанса. Отсюда и название — ток достигает такого-же значения, как и при постоянной накачке.

UTC Controller/QCW documentation

Читать дальше

Настройка почты

Новости сообщества
Да, я понимаю, что сейчас это выглядит, как бложик сисадмина, но раз я этим уже занимаюсь, нужно поделиться своим опытом — авось кому время сэкономлю.

Может вы заметили, что после переезда на свой сервер, по почте не приходило никаких уведомлений. Это потому, что почты еще не было. Нужно исправлять это недоразумение.

exim4

Читать дальше

Как программировали Curiocity

Лучшие практики
В видео, Джерард Хольцман рассказывает о том, как происходит разработка кода для Curiosity. Есть чему поучиться. К сожалению, многое из этого не получится применить в наших с вами проектах из-за ограничения по времени и стоимости, но посмотреть, как пишется самый надежный код на двух планетах очень даже интересно.


Читать дальше