Previous Entry Share Next Entry
Отпуск :-(
and_cesbo
Сегодня понедельник и я на работе...

Отпуск кончился, результаты:
0.1) принято несколько очень важных решений, которые очень сильно поменяют ход событий.
0.2) востановленно душевное равновесие.
1.1) астра - начал, определился с некоторыми моментами в архитектуре приложения. До рабочего состояния ещё долековато, но разработка потихоньку продивгается.
1.2) getstream - хоть и не планировал, но работы выполнено много. За 14 дней добавленно 11 коммитов исправленна куча багов, ещё большая куча добавлена. Посещаемость страницы проекта выросла более чем в 4 раза.
2.0) термометр с эзернет интерфейсом - вообще нихрена не сделано (ну не считая бутлоадера, который сможет надёжно (с проверкой контрольной суммы и т.п.) обновить прошивку полученную по HTTP)

За время отпуска приготовлено огромное количество всяких вкусняшек, почти доточил мастерство выпечки хлеба (но что-то ещё не так, чего-то нехватает, может печки нормальной ( русской :) )

  • 1
А чем принципиально астра должна отличаться от getstream?

Главное отличие - это модульная архитектура.
Благодаря такому подходу можно решить несколько проблем:
1) Гибко настраивать обработку проходящего контента (можно просто два модуля input-output, а можно input-module1-module2-module3-output (или вообще неленейная иерархия))
2) Реализация закрытых модулей. Основое приложение одно, набор модулей разный.

Астра также будет основой для других проектов (например: анализатор потока (что-то типа StreamGuru MPEG Analyzer))
Рефакторинг - если посмотреть исходники гетстрима то становится страшно. Разделение кода на логические блоки упрощает тестирование, разработку и т.п.

Понял.

Я сейчас пробую: справится ли Erlang VM с пропусканием через себя целого транспондера.

Процентов 70-80 кода getstream — это кондовая инфраструктура по менеджменту ниток и навешиванию коллбеков. Гораздо лучше это сделано в эрланге.

Попробуйте, напишите как будет какой-нибудь результат. У меня очень давно были мысли весь низкоуровневый функционал (обработка TS пакетов, CSA и т.п.) вынести в библиотеку на Си, и её использовать в каком-нибудь высокоуровневом языке. Но так и осталось идеей.

Ага. Фишка вся в том, что на С надо писать только самые страшно-ресурсоёмкие штуки типа прокачки транспондера или его дескремблирования.

Newcamd протокол, конечно, несравненно проще делать на эрланге, потому что это гарантированное отсутствие segfault-ов и т.п.

Так что попробую и покажу.

Так, считывание данных из карточки работает.

Парсер PAT, PMT, SDT есть. попробую приделать дескрамблинг к этому.

450 строк (парсинга конфига нет и только DVB-S2)

Программа сама настраивает транспондер или szap ?

feparams.frequency = d->frequency - d->lo_frequency;
feparams.u.qpsk.symbol_rate = d->symbol_rate;
feparams.u.qpsk.fec_inner = d->code_rate;

fe_sec_voltage_t lnb_voltage = d->polarization == 'V' ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18;
if(ioctl(d->fe_fd, FE_SET_VOLTAGE, lnb_voltage) < 0) {



if(ioctl(d->fe_fd, FE_SET_TONE, (hi_lo ? SEC_TONE_ON : SEC_TONE_OFF)) < 0) {


Это всё делает. Оно?

Да, оно. Это всё на Erlang? (я просто с Erlang абсолютно не знаком)

этот кусок на C, а вся обвязка на эрланге. Выложу показать.

Слушай, а ты описание newcamd протокола брал из сырцов?

И ещё: чем этот протокол лучше радегаста?

Когда делал newcamd за основу брал oscam вроде, это давно было... очень давно :) Про радегаст - вообще ничего не знаю, oscam более популярен у коммерческого шаринга, поэтому его и взял. Ещё очень хочу добавить camd35 и CCCam, но пока не хватает времени.

ps: давай лучше в почте/аське/жабере (все свои контакты скинул тебе на почту)

  • 1
?

Log in

No account? Create an account