Обработка изображений. Часть 2.

Продолжаем обсуждать цифровую обработку изображений.


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

Цветовые палитры для пространства HSV

«Готовь сани летом» — именно этой пословице мы с другом решили последовать, начав разрабатывать новогоднюю гирлянду на широко известных RGB светодиодах со встроенным драйвером WS2812B.
После того, как было решено, что все программные манипуляции с цветом будем производить в цветовой модели HSV, встал вопрос о конвертере HSV->RGB. Ибо формата отличного от RGB светодиоды не понимают. Использовать готовые конвертеры или тупо переложить в код готовые формулы преобразований, чтобы просто оперировать стандартным пространством HSV — неинтересно. Душа требовала какой-нибудь изюминки. Ну и в общем-то что хотела, то и получила.



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

Конвертация в формат Eclipse STM32 проектов от ST и из CubeMX

Так получилось, что сейчас использую Eclipse. Да и с ARM и STM32 познакомился совсем недавно. В этот момент и выяснилось, что STMicroelectronics — бесплатный софт не любит. Поиск на сайте ST.com показал, что никаких примеров и проектов «от производителя» для бесплатных сред разработки, типа Eclipse, нет. Зато для Keil, IAR и TrueSTUDIO — примеров кода, проектов и всяких примочек — много. Самым близким к Eclipse является TrueSTUDIO, т.к. сделан на основе Eclipse. Решение напрашивалось само собой — использовать в Eclipse весь спектр проектов, разработанных STMicroelectronics под среду TrueSTUDIO. Но форматы проектов оказались разные, и конвертора TrueSTUDIO -> Eclipse тоже нет.

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


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

STM32CubeMX start code -> Eclipse быстрый старт -> отладка в Eclipse через ST-Link Discovery

Наверное в инете есть сотни статей с подобной темой. Но, так как тема относится к опенсорсу, — никто не гарантирует результат. Результат-то как правило бывает, но обычно, вначале, лишь частичный. Что-то, как правило, не работает нормально. Глючит. Пугает кучей ошибок и варнингов. Основная тема, лейтмотив опенсорса, — поиск ответа на вопрос «почему не так работает?». В этот момент начинаешь понимать, почему за готовую к работе, из коробки, IDE — просят денюшку, и немаленькую.
Когда начинал знакомится с микроконтроллерами, ограничение кода в 32 кБ казались такими недосягаемыми, а в современное время одно подключение какой-либо библиотеки может съесть значительную часть лимита кода, а ещё хочется и ВЭБ интерфейс к соей домашней поделке приделать, а недавно решил «пощупать» библиотеку libMAD, так код вообще сразу выскочил за 120 кБ…

Основная задача — допилить Eclipse до такого состояния, когда внутри будет весь цикл, от написания кода до отладки. Для генерации начального кода очень хотелось использовать STM32CubeMX, так как кроме свежих библиотек HAL имеется поддержка современной версии CMSIS, уже интегрированная FreeRTOS (в составе куба идет порт FreeRTOS, сделанный по правилам нового CMSIS v3.20), и много других «вкусняшек», а используемая среда Eclipse, не накладывает ограничения на размер кода, да и просто имхо удобней.
У меня получилось. Конечно есть в отладчике Keil'a фишки, которые больше нигде не повторяются. Да и в используемом отладчике OpenOCD реализованы не все функции, которыми может похвастаться Eclipse, но это плата за простоту установки и настройки. Полученным результатом оказался доволен. Во время поиска приемлемого варианта установки, подбора плагинов и других компонентов возникла необходимость сохранить результаты проделанной работы. В основном — что бы не забыть.

Условно всю работу можно разбить на 3 части:
  • Установка и настройка Eclipse.
  • Генерация начального кода проекта в STM32CubeMX и адаптация проекта для использования в Eclipse.
  • Настройка отладки и отладка созданного проекта в Eclipse.

Если Вам интересно — читаем дальше.


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

Очередной диспетчер. AVR. Си

Edit. Ну прямо азарт у меня появился. Очередная версия диспетчера. Возможности:
однократное выполнение,
отложенное однократное выполнение.

многократное выполнение без задержек и периодичности,
отложенное многократное выполнение, без задержек и периодичности.
отложенное многократное выполнение, с периодичностью.

Сразу же попробовал перенести на диспетчер свой один проект для проверки.

Примечание, у меня диспетчер работает только в основном цикле. Установка, удаление задач тоже в основном цикле. Обработчики прерываний должны быть максимально быстрыми. Нужно добавить\удалить задачу, ставьте флаги, в основном цикле по флагам делайте, что нужно.


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

Hello World для ядра Linux на Cubieboard2

Одноплатники упорно продолжают входить в нашу жизнь. Кто-то использует их как медиацентры, кто-то как умные роутеры, кто-то как компы.
Тематика ресурса обуславивает необходимость попытаться применить имеющийся одноплатник как очень жирный микроконтроллер, на котором можно реализовать кучу всего интересного. В сторону подобного применения движение тоже есть, тот же RaspberyPI в SO-DIMM.
Но у обычного RaspberryPI

Читать дальше
  • +15
  • 03 августа 2014, 11:17
  • kest

Подключаем 4 АЦП к Cubieboard по SPI

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

Читать дальше
  • +14
  • 03 августа 2014, 11:21
  • kest

Не так страшен makefile

Попробуем разобрать сегодня сабж, окутанный завесой мифов и легенд, навевающий ужас на начинающих (да и не только ) свой тернистый путь в дебрях эмбеда вообще и GNU-тых тулчейнов в частности.

Итак, makefile — сценарий сборки для процедуры GNU make, являющейся неотъемлемой частью любого GCC-тулчейна.

Я мог бы цитировать главы из документации по GNU make или пересказать своими словами замечательную статью Владимира Игнатова, однако не хочу да и не вижу особого смысла, ибо все это любой заинтересованный читатель может изучить самостоятельно. Вместо этого я по пунктам разберу мой рабочий makefile, который с небольшими вариациями служит мне верой и правдой около 5 лет во многих проектах.

Поехали.


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

"Wi-Fi" на модулях NRF24L01

Собственно, от вайфая здесь только частота рабочая. Продолжая вялотекущие изыскания по удобному объединению датчиков и исполнительных устройств в пределах дома, после проводов добрался и до беспроводки.
Городить очередной адаптер для домашнего сервера не хотелось и возник вопрос — а может скрестить nrf24 и сеть проводную/беспроводную вполне стандартную? Т.е. ethernet.


Читать дальше
  • 0
  • 24 декабря 2013, 19:48
  • artko
  • 2

Неочевидная схемотехника: часть первая. О кусках и эхе.

Для многих слово «СВЧ» означает не только микроволновую печку. Кто-то вспоминает спутниковую связь и вайфай. Но я постоянно вижу, что люди боятся работать с частотами выше нескольких сотен мегагерц. Слышу возгласы «да ты чтоо! Это ж свч, там все по-другому!» Не спорю, на некоторые моменты я до сих пор смотрю как на колдовство, по ходу обучения что-то меня очень сильно удивляло. Решил я наконец поделиться своими знаниями и примерами, мысли зрели с первого курса, то есть четыре года уже этим мыслям.


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