Jan. 22nd, 2011

metaclass: (Default)
2011-01-21 21:46:47,874 [49] ERROR <StartupCode$SerialPort>.$Serial 
onErrorReceived System.IO.Ports.SerialErrorReceivedEventArgs
2011-01-21 21:46:48,635 [60] WARN  <StartupCode$SerialPort>.$MeteoDB 
New sensor 28C2CF020000D2 10

Вот так вот. У меня нет никаких CRC в пакетах связи с девайсом, помеха от чего-то (паяльную станцию рядом включил) - ошибка на порту и пришли битые данные, в базе появился новый неизвестный датчик с левым номером. И это в почти тепличных условиях, на столе.

А в продакшене такое было бы каждый день, при включении сварочных аппаратов, переключениях на подстанции рядом и включениях компрессоров.

PS: посетила на эту тему кошмарная мысль. Сидим на безголовом линуксе в сериал консоли. Набираем rm -rf ./
Червь крадет помехой точку с провода. Получаем выполнение rm -rf /
metaclass: (Default)
Каждые выходные меня посещает мозговой червь и заставляет заниматься всякой трэшевой оперденью.
Сегодня ночью меня напряг шуршащий винчестер и я решил переселить базу данных метеостанции с винды(которая стоит на компе в комнате) на линукс(который стоит на компе в пресловутом шкафу в прихожей).
Доработал по мелочам кодогенератор (я добавил ручками несколько отчетов типа "усредненная за последние десять минут температура" в программу, а в кодогенераторе не была доделана поддержка произвольных SQL запросов), частично портировал UDF от Firebird с винды и дельфей на линукс и С, экспортировал рабочую базу с FB2.5 в файл и импортировал ее в FB2.1 (который только и есть в той убунте), перенастроил параметры коннекта к серверу в нескольких местах, переселил графики температуры и давления с виртуальной машины с линуксом внутри виндов на тот же линукс в коридоре.

Потом, когда я все закончил, в конце концов, до меня дошло, что у меня на FB2.5 под виндой настроен подробный аудит и там уже 2.5 гига логов. И, скорее всего, в основном шуршали винчестером они, а не база данных и закачка свежих графиков в виртуальную машину.
metaclass: (Default)
Полдня вкуривал V4L2 specification и писал прогу, которая управляет FM тюнером, вернее USB TV тюнером в режиме FM. Благо, драйвер тюнера под линуксятину хоть и бинарный, но предоставляется производителем.
TV как-то завелось под mplayer и без плясок с бубном, за исключением командных строк типа:
mplayer tv:// -tv driver=v4l2:device=/dev/video0:alsa:adevice=hw.1,0:amode=1:audiorate=48000:forceaudio:volume=100:immediatemode=0:normid=0:freq=147250:outfmt=YUY2
и торможения видео(комп 4-летней давности примерно), а вот FM как-то не включалось.
Посмотрел fmtools, они не заработали - валятся с ошибкой, посмотрел исходники - вижу, что используют старую версию(V4L1), взял переписал нужный мне кусок на V4L2. Забавное занятие, заметно проще, чем в винде.
С знаю плохо, не понимаю, почему нужно писать типа "struct v4l2_capability cap;" и как передать такую структуру в функцию по ссылке - на "struct v4l2_capability& cap" в параметрах ругается. Надо все таки K&R читать, а то я их и не открывал ни разу.
Звук слушал подручными средствами: arecord -Dhw:A827:0 -f dat | aplay

Драйвер и железо тюнера, кстате, не ругается, если ему передать установку частоты за пределами вещательного FM диапазона. Но чувствительности не хватает и декодер, падла, WFM, а там либо AM на авиадиапазоне, либо NFM дальше. Всунуть бы туда вместо декодера прямое преобразование в baseband и АЦП потолще - был бы натурально упрощенный карманный SDR.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 9th, 2025 07:04 pm
Powered by Dreamwidth Studios