trolCommander v0.9.7

trolCommander 0.9.7

Недавно вышла новая версия файлового менеджера trolCommander - 0.9.7.
Несколько слов об основных улучшениях в ней...

В поисках альтернативы Atmel Studio

Atmel Studio and avr builder

Недавно вышла новая Atmel Studio версии 7.0. Как и все предыдущие IDE от Atmel, она не лишена ряда существенных недостатков, основной из которых - отсутствие кроссплатформенности.

Для сборки проекта студия использует утилиту make и генерит makefile. В принципе, makefile можно писать руками, но это не совсем удобно и очень громоздко. Попытки использования разных известные аналогов make (cmake, scons и прочее) желаемого результата также не дали. Хотелось своего велосипеда - чего-то предельно простого, гибкого и удобного. В качестве основы был выбран Python, т.к. его легко использовать не только в качестве языка для написания системы сборки, но и в качестве удобного языка для написания сценариев компиляции.

Магнитофон для компьютеров ZX Spectrum

Магнитофон для zx spectrum на atmega

ZX Spectrum - компьютер, созданный более 30 лет назад с 3.5 МГц процессором и всего лишь 48 Кб ОЗУ, под который написано огромное количество игр (да и прикладного софта тоже), в которые интересно играть даже сегодня. При том, что эти игры часто представляют собой мегашедевры с точки зрения программирования и оптимизации кода, их разработчики умудрялись вмещать огромные игровые миры в эти скромные 48 Кб.

Программы в те времена загружались с магнитофонной ленты. Причем, в отличии от самого Spectrum-а, магнитофоны и процесс загрузки с них вызывают гораздо меньше теплых воспоминаний - загрузка не всегда заканчивалась успешно, иногда игрушку приходилось грузить по несколько раз получая ошибку "R Tape loading error" регулируя положение головки магнитофона, прочищая ее поверхность одеколоном, либо, если совсем не повезло, вытаскивать из магнитофона "зажеванную" им кассету при этом с трудом сдерживая желание сильно стукнуть виновника апстену :)

Светодиодная УФ-лампа для изготовления печатных плат

Светодиодная ультрафиолетовая лампа с таймером

Решил соорудить себе светодиодныю лампу для экспонирования фоторезиста и паяльной маски. Для чего на алиэкспрессе были закуплены в количестве 500 штук 5мм-светодиоды на 2000 милликандел с длиной волны около 400нм. Питать их решил от блока питания с напряжением 12В. Т.к. на одном светодиоде падает напряжение около 3.5В, то соединять их надо в цепочки по 3 штуки и для тока через светодиод около 20мА сопротивление токоограничивающего резистора будет 68 Ом.

Светодиодную матрицу решил делать размерами 18 х 26 светодиодов с шагом между ними в 1 см. Матрица собрана на двух одиноковых печатных платах (18 х 13 светодиодов в каждой).

Корпус для лампы фабричный, алюминиевый. Был куплен в "Ашане" занедорого, там он более известен под кодовым названием "противень для выпекания пирогов" :).

Адаптер для программирования ATMega128

ISP адаптер для atmega128

При написании и отладке прошивки устройств на микроконтроллерах приходится часто выполнять перепрограммирование МК и периодически подключаться к нему через UART-интерфейс чтобы смотреть логи (по крайней мере, лично я предпочитаю отладку через UART-терминал). Особенностями МК ATMega128 является то, что 1) для внутрисхемного программирования он использует выводы, отличные от выводов SPI-интерфейса и
2) данный МК имеет на борту два UART-а, причем, выводы одного из них совпадают с выводами ISP-интерфейса.

Таким образом, при написании прошивки все манипуляции с устройством можно делать через один разъем для программатора.

Тестер микросхем на ATMega32

Тестер микросхем на atmega

Потребность в данном устройстве возникла у меня при сборке ретрокомпьютера Pentagon-128, когда компьютер, выполненный целиком на микросхемах мелкой логики (коих на плате пентагона порядка сотни корпусов) отказался работать после включения. После увлекательного поиска неисправности было обнаружено пять убитых микросхем. Что и побудило сделать тестер. Аппаратная часть разрабатывалась со следующими акцентами:

Совместное использование ассемблера и Си для AVR

AVR

При программировании вещей, критичных к быстродействию и размеру кода хорошо использовать ассемблер. При этом обычно не обязательно писать на нем весь код, достаточно реализовать наиболее “чувствительные” подпрограммы. Компилятор GCC и среда Atmel Studio позволяют использовать в проекте ассемблер и С одновременно. При этом возникает вопрос организации взаимодействия между подпрограммами на разных языках: вызова методов с передачей им параметров и доступа к переменным.

trolCommander 0.9.6

trolCommander file manager

Вышла новая версия файлового менеджера trolCommander, 0.9.6.

Теперь trolCommander требует Java Runtime версии не ниже 8.

Основные фичи:

  • Реализованы компактный и сокращенный режимы просмотра (см. View->Mode в главном меню)
  • Реализовано получение информации о владельце файла и его группе для unix-систем, теперь эта информация отображается в окне свойст файла
  • Иконки файлов высокого разрешения для Mac OS X
  • Поиск по хоткею в окне настроек горячих клавиш
  • Диалог группового переименования файлов - добавлена поддержка регэкспов
  • Подсветка исполняемых файлов
  • Поиск файлов - результаты поиска теперь отображаются с иконками и цветами
  • Поиск файлов - добавлены новые команды для выбранных файлов - F5 (копировать), F6 (перенести), F8 (удалить)
  • Оптимизация производительности и уменьшение потребления памяти

Генератор наклеек для клавиатуры ZX Spectrum

Генератор рисунка клавиатуры ZX Spectrum

Решил восстановить свой старый компьютер ZX Spectrum 48 и первой проблемой стала клавиатура - компьютер наглухо висел, как оказалось, из-за того, что часть клавиш оказалось замкнутой. После чего была спаяна новая кнопочная клавиатура и возник вопрос ее оформления. Было решено распечатать рисунки клавиш на листе бумаги, заламинировать его с одной стороны и приклеить к листу пластика от блистерной упаковки с другой для прочности. Однако, все попытки найти готовый рисунок клавиатуры в хорошем качестве, в цвете и подходящих размеров результата не дали. Пришлось озадачиться рисованием клавиатуры в векторном формате. Заодно был написан генератор, позволяющий настраивать размеры, отступы и цвета.

Лампа настроения: продолжение

лампа настроения avr attiny13

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

После обкатки на разных устройствах прошивка была обновлена:

  • Изменен алгоритм генерации цветов - теперь цвета более насыщенные
  • Исправлена проблема с резким переключением между цветами. Баг связан с тем, что раньше значение следующего цвета вычислялось непосредственно в процедуре прерывания и эта операция занимала слишком много времени. Теперь вычисление вынесено в главный цикл
  • Добавлена возможность использовать свой генератор псевдо-случайных чисел вместо stdlib-овского. Этим можно немного уменьшить размер прошивки в ущерб качеству случайности генеримых цветов (что, вообщем-то, не особо сказывается на работе лампы).
  • Прошивка теперь компилируется под AVR Studio 6

Страницы

Подписка на TrolSoft RSS