Простенький китайский DAC

Как-то вот само на пост написалось.

С целью поиграться с современным цифровым звуком был взят чистокровный китаец. Простенький DAC (с какими-то ядреными характеристиками) на PCM5102a без аппаратной регулировки звука, I2S конвертор – XMOS U8, с усилителем для наушников TDA1308. Гальваническая развязка для коаксиального выхода в наличии, питание собственно DSP раздельное, на одтельно стоящем линейном стабике. Под Linux началось легкое шоу с танцами, плясками и обкуриванием модуля snd-usb-audio, суть неудачно изначально – работало строго в одном порту (с щелчками и непонятными провалами), на RPi2 не заводилось или заводилось через раз, на macbook – неверно выбирало частоту дискретизации, но стабильно работало на ондроеде. В итого – проблема к кетайском кабеле, хех (ну, казалось бы – кабель-то не аудиофильский). Замена провода USB Type A – и все взлетело, искомый же был препарирован – китайцы, в частности, забросили внутрь довольно толстого шнура тонюююсенькие жилки и не подключенный с одной стороны экран. Мусор, короче. В сухом остатке, работает около норм, даже хорошо, пришлось, правда, отучить pulseaudio от использования девайса, а alsa – научить не заниматься ресеймплингом. Короче, живет, и на попробовать вполне годная штука.

Плеер – audacious, исходники – старая помойка из самодельных и не только flac’ов, которые никак не доходили руки посидеть и душевно послушать. Дошли, доволен 😉 #xmos #dac #pcm5102a #tdm1308

В ближайшее время попытаюсь прикрутить это к Solaris 11.3 (usba драйвер), с ходу не вышло, надо подумать малость 😉 Будет закручен правильный бэкэнд на mpd, думается, что получится осилить.

Фото здесь.

UPD: “отучалка” pulseaudio от использования данного девайса (оригинал здесь):

 

RC NB Heli-X Joystick Calibration for Linux

Problem statement: HUGE deadzone with Heli-X Sim on NG ACE-RC (possible on any other input device).

Solution is here, carefuly read all about calibration process, jstest-gtk-git works fine for me, as described.

Write your own udev rules (in my case, /dev/input/js* changes time to time):

Script (make your own, this is VERY important, do not forget #!/bin/sh ;), also this is not good idea to run udev script from user writeable file):

That’s all, folks, now your heli is very aggressive and impressive as expected 😉

DRAFT MCU nuttx

ArduinoTM LogoDRAFT v0.1: nuttx+stm32f103 – Быстрый старт с nuttx и дешевым контроллером stm32f103.

Чтобы не забыть процесс развертывания/инсталляции, записываю, глядишь, кому еще пригодится.

Ставим Arch Linux (я развернул в VirtualBox). Пользователь создан, sudo установлен и настроен – я не затрагиваю настройки ни виртуальной машины, ни собственно ОС, предполагаю, что эти настройки уже сделаны.

Можно не отшивать на виртуалке (соотв. можно не ставить пакеты openocd/gdb – но тут есть нюансы в отладке), я забираю файл на локальную машину (машина с виртуалкой находится ну совсем не под боком 😉 ) – использую scp (с настроенным natpf). Исходники правлю на локальной машине (macOS, откровенно влом возиться с кросс-компиляторами), иногда на другой машине, иногда вообще на виртуальной же Windows. Среда разработки Geany, иногда vim (syntastic снес, достало каждый раз править), обязательно развернуты локальные репозитории + OpenGrok (пока ничего удобнее и проще под домашний серверок найти не удалось).

Ставим дополнительные пакеты. Continue reading DRAFT MCU nuttx

ZFS on Linux

В принципе, оно работает:

Continue reading ZFS on Linux

Hyperion EOS 720 SDUO3 over Wi-Fi (ser2net)

Вносим кое-какие очевидные поправки в этот замечательный док:

Hyperion EOS 720 SDUO3 over Wi-Fi

Для начала – выкидываем (помогаем себе развидеть это!) все упоминания про socat, кстати, есть хорошо работающий вариант с тем же socat и соотв. патчами для поддержки RFC 2217, но сейчас не об этом 😉

Далее, ставим ser2net:

Далее, прописываем файл к-ции /etc/ser2net.conf, удаляя несколько строк (если же в силу своей ну по сути неподьемной лени нам влом удалять даже четыре строки из файла к-ции – спешу заверить – ничего фатального даже при таковом действе – не случится 😉 ) и добавляя по сути одну:

2000:telnet:600:/dev/ttyS0:9600 8DATABITS NONE 1STOPBIT banner
2001:telnet:600:/dev/ttyS1:9600 8DATABITS NONE 1STOPBIT banner
3000:telnet:600:/dev/ttyS0:19200 8DATABITS NONE 1STOPBIT banner
3001:telnet:600:/dev/ttyS1:19200 8DATABITS NONE 1STOPBIT banner

Перезагружаем RPi (sudo reboot), ser2net по умолчанию уже поднимается (через /etc/rc3.d/S01ser2net )

Далее с Virtual Serial Port по уже накатанному сценарию отсюда.

Hyperion EOS 720 SDUO3 over Wi-Fi Remote Monitoring

Версия (если таковая имеется) документа/статьи – 0.02, работает мониторинг через HCDS, управление – не работает или работает не так, как ожидается работает после правильной развяки по питанию RPi. Цель – разобраться с протоколом и накатать нечто для веб-морды на RPi, подключенному к заряднику напрямую, без дополнительных БП и прочего. Начало истории здесь.

Пока только один канал (CH1), отображение вольтажа пака, побаночного вольтажа, тока заряда. Фактически доступен канал 2, сопротивление пака и побаночное сопротивление.

Через релюшки – управление включением-выключением зарядника (в процессе), аналогично сделаю “вывешивание” аварии по набору условий.
Continue reading Hyperion EOS 720 SDUO3 over Wi-Fi Remote Monitoring

Hyperion EOS 720 SDUO3 over Wi-Fi

Версия (если таковая имеется) документа/статьи – 0.01, работает мониторинг через HCDS, управление – не работает или работает не так, как ожидается. Цель – разобраться с протоколом и накатать нечто для веб-морды на RPi, подключенному к заряднику напрямую, без дополнительных БП и прочего.

Итак, вводная – хочется снимать графики и управлять зарядной станцией Hyperion EOS 720i Super DUO3 по “воздуху”. Изначально прочитал правильную статейку о правильной конвертации для работы с bt. Ну я-то кнопконажиматель, а не паятель – обычно куда бы я не применил пОяльник заканчивает свою жизнь примерно одинаково – в р-не помойки 😉 (ну почти).

Далее сколько-то текста, картинки и комментарии Continue reading Hyperion EOS 720 SDUO3 over Wi-Fi