В ходе использования HBR/CW был выявлен дефект. Оказалось, что трансивер имеет достаточно высокий уровень собственного шума. Это стало особенно заметно, когда вместо наушников 80 Ом я попробовал наушники 32 Ом. Шум низкочастотный, поэтому не оказывает влияния на разборчивость слабых сигналов. Однако он создает ощутимую и совершенно ненужную нагрузку на уши.

Хотелось бы продолжить рассказ о расширениях PostgreSQL и поговорить о логировании и исключениях. Рассматривать их нужно вместе, поскольку в PostgreSQL это связанные механизмы. Хотя ранее мы уже и использовали макрос elog(), тема была затронута лишь поверхностно.

Важная штука, которой не хватает в HBR/CW — это индикатор КСВ. Если антенну оборвет ветром, или переключатель антенного коммутатора окажется в неверном положении, трансивер никак не сообщит об этом. Было решено исправить данную ситуацию.

Есть такие LED-дисплеи из восьми семисегментных индикаторов. Индикаторами управляет MAX7219 (даташит [PDF]) или его клон, а общение между чипом и МК осуществляется по SPI. Питается модуль напряжением 5 В. Вот стало интересно, можно ли подружить такой дисплей с STM32, а также что полезного удастся на него вывести.

В рамках статьи Учимся писать расширения на языке C для PostgreSQL мы познакомились со структурой расширений для постгреса, узнали, как писать для них тесты, и даже затронули вопрос обновления расширений и использования интерфейса SPI. Но заметка вышла из серии «с места в карьер», без глубокого погружения в детали. А между тем, погружаться есть во что. Хотелось бы заполнить кое-какие пробелы, и начать, пожалуй, следует с Datum и вызова сторонних функций.

Опыт использования трансивера HBR показал, что работать в SSB с мощностью 5 Вт мне не особо интересно. Поэтому было решено сделать модификацию HBR, оптимизированную под работу в телеграфе. Трансивер получил имя HBR/CW.

Из предыдущей заметки о модулях ядра Linux мы узнали, что такое контекст прерывания, и что в нем нельзя делать блокирующие вызовы. Но что, если я хочу повесить прерывание на нажатие кнопки, а в обработчике делать что-то блокирующее? Давайте разберемся.

Пришло время для рецензий на очередные десять книг. Я решил немного отдохнуть от электроники и радио. Поэтому книги в этот раз будут об операционных системах, СУБД, алгоритмах, и всяком таком. Как обычно, предыдущие мои рецензии вы найдете по тэгу «Литература».

Ранее мы научились делать двунаправленные усилители и усилители управляемые напряжением. Возникает закономерный вопрос — а можно ли объединить эти идеи, чтобы получить двунаправленный усилитель управляемый напряжением? Оказывается, что можно, и сделать это не так уж сложно.

В СУБД для работы с временными рядами (time series DBMS) есть такое понятие, как ASOF JOIN. Хотя PostgreSQL и не поддерживает данный синтаксис, он позволяет выполнять те же запросы при помощи LATERAL JOIN’ов. Давайте разберемся, что это за JOIN’ы такие, и какую проблему они решают.