• Миникомпьютер из роутера с OpenWRT: разрабатываем USB-видеокарту


      Добрый день, уважаемые хабровчане. В этом цикле статей мы с вами пройдем достаточно длинный, но весьма интересный путь по превращению обычного роутера в мини-компьютер с LCD-дисплеем. Для этого мы разработаем сначала USB-видеокарту на базе микроконтроллера STM32F103, потом тестовый драйвер, который позволит нам выводить на него графику, и, наконец – полноценный драйвер фреймбуффера, благодаря которому можно будет запустить настоящие графические приложения, такие как x-сервер. Заодно мы научимся включать наш код в дерево исходников OpenWRT, допиливать его ядро и делать прочие полезные вещи.
      Ну а в самом конце мы получим результат, который, я надеюсь, вызовет ностальгическую слезу у многих читателей. Я постараюсь излагать материал таким образом, чтобы в конце каждого этапа мы получали осязаемый результат, не дающий угаснуть энтузиазму. Итак, начнем.
      Читать дальше →
    • Создаём сетевую звуковую карту с преферансом и поэтессами

        Вдохновленный топиками раз и два, решил соорудить нечто похожее.

        В наличии:
        — Один усилитель с колонками
        — Один стационарный компьютер
        — Один ноутбук
        — Желание слушать интернет радио независимо от двух предыдущих пунктов и перетыканию проводов

        В результате родился план собрать «audio card over ethernet». Исследовав вопрос совместимости оборудования, я выбрал роутер TP-link MR3020 и USB аудио-карточку Creative SB Play.

        Что из этого получилось:


        О том, как это получить, добро пожаловать под кат.
        Читать дальше →
      • Программируем микроконтроллеры stm32 при помощи QtCreator


          Как-то так незаметно получилось, что программист, который разрабатывал нам прошивку для микроконтроллера, стал банально не успевать и в некоторые моменты я начинал перехватывать инициативу и самостоятельно браться за исправление ошибок.
          Разработка велась в среде IAR, и многие согласятся со мной, что по сравнению с разработкой в QtCreator'е это боль и страдание.
          В какой-то момент мы решили, что быстрее нанять нового программиста и вместе с ним заново переписать прошивку контроллера stm32, так, как я к этому моменту уже немного сам смыслил в их программировании и к тому же обнаружил, что QtCreator умеет отладку на голом железе (плагин BareMetal), я решил принять в этом активное участие.
          Здесь я хочу поделиться шаблоном проекта для stm32f407 от Terra Electronica и рассказать об особенностях его настройки.
          Читать дальше →
        • Создание аудиоплагинов, часть 1

          • Tutorial
          Все посты серии:
          Часть 1. Введение и настройка
          Часть 2. Изучение кода
          Часть 3. VST и AU
          Часть 4. Цифровой дисторшн
          Часть 5. Пресеты и GUI
          Часть 6. Синтез сигналов
          Часть 7. Получение MIDI сообщений
          Часть 8. Виртуальная клавиатура
          Часть 9. Огибающие
          Часть 10. Доработка GUI
          Часть 11. Фильтр
          Часть 12. Низкочастотный осциллятор
          Часть 13. Редизайн
          Часть 14. Полифония 1
          Часть 15. Полифония 2
          Часть 16. Антиалиасинг



          Этот пост — первый из серии переводов руководства Мартина Финке о написании собственных аудиоплагинов.
          Отличительной особенностью этого материала является отсутствие зависимости от формата плагина и платформы его использования. Внимание сфокусировано на общей структуре аудиоплагина. Затем алгоритмы оборачиваются в слой абстракции для сборки в форматы VST, VST3, AU, RTAS, AAX или в отдельное приложение.
          Сам Мартин больше работает на Маке, но руководство содержит и все необходимые шаги для разработки на Windows.
          Интересно? Тогда под кат!
          • +23
          • 46,9k
          • 5
        • Новая жизнь старого синтезатора. Часть 1

            Внешний вид синтезатора
            Несколько лет тому назад умер смертью храбрых мой старый синтезатор Yamaha PSR-GX76. Случилось это из-за того, что я по ошибке подключил к нему блок питания 24 В вместо положенных 12 В. В таком режиме синтезатор героически проработал несколько минут, после чего случился «пук», сопровождаемый аудиовизуальными спецэффектами и специфическим запахом и синтезатор больше не включался. С тех пор он пылился в коробке и ждал своего часа, который для него, наконец, настал. В нескольких статьях я расскажу как проходило движение от идеи вдохнуть в него новую жизнь до реализации и демонстрации полученных результатов.
            Перейти ко вскрытию пациента
          • STM32CubeMX — продвинутый генератор проектов для STM32

              Пару недель назад STMicroelectronics выкатили обновление своей программы MicroXplorer, которая позволяла графически настроить инициализацию портов в конкретном STM32 для своих нужд, в том числе и делать ремап портов и визуально видеть что занято\свободно на текущий момент.
              Выглядела эта программа следующим образом:
              image
              И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
              Что же решили изменить на этот раз?
              Читать дальше →
              • +33
              • 51,9k
              • 8
            • Начинаем изучать Cortex-M на примере STM32

              Данная статья является первой в планируемом цикле статей по изучению программирования микроконтроллеров. Изучая различные материалы я отметил, что практически все они начинаются с того, что новичку предлагается скачать (или использовать идущую со средой разработки) библиотеку для работы с периферийными устройствами и использовать ее для написания своей первой программы (обычно мигание светодиодом).

              Меня это сильно удивило. Если верить данным статьям, для программирования не обязательно даже читать документацию к программируемому контроллеру. Меня же учили премудростям «железного программирования» совершенно иначе.

              В этой статье, путь от фразы «Да, я хочу попробовать!» до радостного подмигивания светодиода, будет значительно длиннее чем у других авторов. Я постараюсь раскрыть аспекты программирования микроконтроллеров, которые прячутся за использованием библиотечных функций и готовых примеров.
              Если вы намерены серьезно изучать программирование микроконтроллеров данная статья для вас. Возможно, она может заинтересовать и тех, кто вдоволь наигрался с Arduino и хочет получить в свои руки все аппаратные возможности железа.
              Если вас не пугает написанное выше - прошу под кат
            • Использование DSP звуковой платы SB Live! на пользу радиолюбителей (KX Driver's) — Часть [1/2]


                Эксперименты по обработке звука аппаратными средствами SB Live и их возможное применение для работы в эфире. Заметка включает в себя инструкцию по применению альтернативных драйверов KX-Project, примеры применения и выводы по возможности реального применения. Период написания статьи 2006-2007 год, размещена была на страничке ныне уже не существующей коллективной радиостанции (RK3MXH). Авторство мое.

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

                Под катом очень много текста и рисунков.
                Читать дальше →
              • Как работают сигналы и слоты в Qt (часть 1)

                • Перевод


                Qt хорошо известен своим механизмом сигналов и слотов. Но как это работает? В этом посте мы исследуем внутренности QObject и QMetaObject и раскроем их работу за кадром. Я буду давать примеры Qt5 кода, иногда отредактированные для краткости и добавления форматирования.
                Читать дальше →
              • Наш контроллер для умного дома



                  UPD: мы сняли работу Wiren Board Smart Home на видео

                  Краткое содержание:


                  На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home (ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01+ и т.д.), к которому можно подключить кучу всяческих проводных и беспроводных исполнительных устройств и датчиков от разных систем и производителей. Устройство готово и протестировано. На устройства из первой большой партии мы открываем заказ с доставкой до майских праздников по специальной цене.
                  Читать дальше →