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

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

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

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

Работа с RLN Electro в AVR Studio без программатора

Дисклеймер: Не факт что я открою что-то новое в этой статье, но этот метод в русскоязычных интернетах мне не попадался, хотя я в них я особо и не ищу :)

Все-таки, полезная штука этот AVR Studio 5. И код написать позволит, и подсветку сделает, и дополнительные тулзы подключит. Собственно о том, как я обычно работаю с отладочной платой RLN Electro (да и не только с ней) речь и пойдет.

Задача такая — есть устройство с USB-подключением к компьютеру и надо наладить загрузку прошивки через последовательный порт.

«В чем проблема?»,- Спросите вы? Берем бутлоадер, зашиваем его в камень, берем avrdude, пишем команду в консоли, или используем некую графическую оболочку, да и дело с концом. Ну да, только AVR studio предлагает все это слегка автоматизировать.

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

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

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


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

Спойлер

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



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

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

Блог им. N1X

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

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

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

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

логотип putpic


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

Превью картинок

Новости сообщества
В качестве теста для деплоя с меркуриалом, написал плагин предпросмотра картинок (да-да, этой функциональности в livestreet по умолчанию нет). Демонстрация и подробное описание — под катом.

Превью

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

Деплой с помощью 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 мало… Не забываем о том, что пайка мало того, что дело вредное, паяльника под рукой может не оказаться… Смешав все в кучу, получаем вот такую вот интересную отладочную плату.
По образованию я инженер-электрик, отсюда и название — Отладочная плата электрика

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