Как выглядят полиморфные объекты в памяти

Когда-то, я интересовался тем, как объекты С++ располагаются в памяти но быстрый гуглеж ничего не нашел. Недавно, я набрел на статью по теме и, думаю, она может помочь таким как я. Это — ее свободный перевод.

Полиморфизм

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

Оповещатель о появлении сетевого напряжения

Blog by bsvi
У нас довольно часто пропадает электричество, и, для борьбы с этим явлением, у нас есть генератор. Генератор включается и выключается в ручную. Но как узнать, что электричество появилось и стоит отключить генератор? Для этого я сочинил простой оповещатель.

Оповещатель

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

Форсирование энкодера

С одной стороны, определение направления вращения энкодера является достаточно простой задачей. Многие ссылки в интернете говорят нам о том, что «Каждый раз, когда сигнал А переходит от положительного уровня к нулю, мы считываем значение выхода В. Если В в этот момент находится в положительном состоянии, значит энкодер вращается по часовой стрелке, если В нуль, то энкодер вращается против часовой стрелки.»
Да, это верно для энкодеров а ля «потенциометр», используемых на приборной панели, однако при применении энкодера в качестве датчика вращения так небрежно относиться к данным с него — непозволительная роскошь.

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

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

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

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

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