Самодельный передатчик (часть 1)

ubd

Но не могу ни как определиться по какой схеме собирать передатчик на 40 Мгц.

Ну там на этом сайте схема ВЧ-блока есть, вот и делай его.

msv

2АлександрСамара
Не торопитесь компилить (хотя освоить это в принципе, не помешает). В выкладываемой версии канал контроля батареи = 7 и соответстует схеме.
Калибровку батареи делать надо в последнюю очередь, после калибровки джойстиков (согласно моей инструкции во вложении). Но если просто надо проверить, то намекаю, посмотрите какое напряжение у Вас установлено на AREF? И сравните его с PF7.
//------------
“Наезд” Nick_Shl вполне понятен и уж точно не обиден. Считаю серьезной заслугой Фокуса, что будучи еще школьником, он потянул такой проект, и пожалуй первый перешел от с слов к делу, во всяком случае открыто.
Лично я взялся за этот проект по причинам (в порядке уменьшения приоритета):

  1. Соскучились руки по паяльнику.
  2. Захотелось вспомнить, что не так уж давно был программером.
  3. Поиметь аппу с неограниченным ничем, кроме моих фантазий, функционалом.
    То что это оказалось полезным еще кому-то, приятная добавка в виде морального удолетворения…
    И уж точно на скорую руку слепленная прога не претендует на образец для обучения и выложена не для этого.
    Контроль CRC EEPROM конечно был в планах, но сразу не до того было, а потом как-то забылось за ненадобностью (наверное пока в поле с кривой конфигурации не окажусь… 😃)
    А вот аналогии с Linux не вижу. Уровень сложности всего проекта - “конструкция выходного дня”. И быть привязанным к чужой архитектуре, стилю итп. нет смысла.
    Достаточно обмена идеями.
Denn

Спасибо, MSV!

У меня к Вам есть предложение: не сможете ли Вы изменить код программы следующим образом:
ввести переменную , отвечающую за сдвиг изображения на дисплее на определённое количество пикселей. Тогда для дисплея 3310 она = 0, а для 3410 - половине разности разрешений дисплеев по горизонтали. Тогда на 3410 будет выводится пусть немного уменьшенное изображение, но по центру.

Nick_Shl
Aleksey_Gorelikov:

Сейчас народ винду заново пишет. 😃 Не хотите присоединиться?

Одну и так уже написал. Вывод сообщений - вызываем MsgBox(). Редактирование имени - EditStrDlg(). Есть ещё EditNumDlg(), FromToBox(), SelectBox(). Работу всех функций видно на фото.

Denn:

У меня к Вам есть предложение: не сможете ли Вы изменить код программы следующим образом

Для таких вещей define’ами надо пользоваться. Пару раз всплывала тема про переворот экрана. Зная, что такое может повторится, нужно было сделать так:
в def.c добавить:

// Если задан - экран рисуется перевёрнутым  - для установки экрана вверх тормашками.
#define GFX_REVERSED

А в графической библиотеке написать так:

void gfx_PutPixel(unsigned char x, unsigned char y, unsigned char color)
{
    unsigned char i;
    unsigned char j;

    if(x >=  WidthS) return; // Если X выходит за экран - выходим
    if(y >= HeightS) return; // Если Y выходит за экран - выходим

    color &= 0x01;   // Color must have one last bit

#ifdef GFX_REVERSED
    x = WidthS  - 1 - x; // Reverse X
    y = HeightS - 1 - y; // Reverse Y
#endif

    i = y >> 3;          // y/8;
    j = y & 0b00000111;  // y%8;

    LCD_Buf[i][x] = (LCD_Buf[i][x] & (~(1 << j))) | (color << j);
}

WidthS и HeightS - тоже define’ы задающие размеры экрана. Если опиратся на них, то большую часть пользовательского интерфейса можно было написать с автоподгонкой.
У меня без автоподгонки только калибровка и редактирование кривой.

Aleksey_Gorelikov
Nick_Shl:

Одну и так уже написал.

Ну так вот идею коммунистического линукса продвигаете, а коммунистический ХР поддержать не хотите. А между прочим, альфы-версии уже сносно работают.

Nick_Shl
Aleksey_Gorelikov:

Ну так вот идею коммунистического линукса продвигаете, а коммунистический ХР поддержать не хотите. А между прочим, альфы-версии уже сносно работают.

Я двигаю идею работы вместе по образу и подобию. И с линуксом особо не знаком. Но рюшечки в Ubuntu произвели незгладимое впечатление… чего можно добится работая командой.
Кстати ссылочку на ваш “коммунистический ХР” стоило бы привести раз уж про него заговорили.

DmitryS

Доброго времени суток уважаемые.
У кого нибудь есть разводка печатки под E-Skyевский пульт?

Aleksey_Gorelikov
Nick_Shl:

Я двигаю идею работы вместе по образу и подобию. И с линуксом особо не знаком. Но рюшечки в Ubuntu произвели незгладимое впечатление… чего можно добится работая командой.
Кстати ссылочку на ваш “коммунистический ХР

www.reactos.org/ru/index.html

UserM
Nick_Shl:

Что касается исходников, то решил, что буду буду придерживаться такой точки зрения: _ Не вижу смысла ее публиковать, да и не хочу._

Nick_Shl:

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

Уж извините , но как то одно с другим не совпадает. Сделать понятный модульный код для чайником и ни кому его не показывать. 😵 Таки цель видимо другая. 😉

АлександрСамара

Разобрал свою санвуWG400, ужаснулся, в ней тримера сделанны механически докручивают потенциометры, так что кнопочки мне не поставить(((
Нельзя ли програмно обойти процедуру кнопок что бы запоминать нулевые положения стиков как отримированное положение?
Помогите люди добрые советом или переделаным HEXом))))
Собрать обратно уже не получится, кусок платы обрезал, думал завтра полетать((((

lomo

4 кнопки управления полюбому делать. А без триммерных кнопок жить можно. Месяц без них летал.

А вот так с триммерами стало. Жутковато конечно.

AlexN
АлександрСамара:

Разобрал свою санвуWG400, ужаснулся, в ней тримера сделанны механически докручивают потенциометры, так что кнопочки мне не поставить

Посмотрите внимательнее на механическую конструкцию триммеров, кто-то уже прилаживал к подобным аналоговым триммерам свои кнопки.

Aleksey_Gorelikov

надо снять резистор и вынуть одну пластину, которая вращает резистор. Вторую, с самой ручкой - оставить. Собрать все назад, и примастырить кнопки.

Nick_Shl
UserM:

Уж извините , но как то одно с другим не совпадает. Сделать понятный модульный код для чайником и ни кому его не показывать. 😵 Таки цель видимо другая. 😉

Почему не совпадает? В начале была. Потом поменялась. Почему поменялась - написано выше.

АлександрСамара

Ну все, собрал полностью передатчик, без нескольких мне пока не нужных тумблеров-каналов, все пошло, работает супер!!!
Спасибо всем кто помогал!!!
Остался вопрос, первоначальные установки калибровки каким нибудь образом сбрасываются или надо заново перешивать МК?

Sergey750iL
АлександрСамара:

Ну все, собрал полностью передатчик, без нескольких мне пока не нужных тумблеров-каналов, все пошло, работает супер!!!
Спасибо всем кто помогал!!!
Остался вопрос, первоначальные установки калибровки каким нибудь образом сбрасываются или надо заново перешивать МК?

А по какой схеме собирали ВЧ часть передатчика?

АлександрСамара

Передатчи…хм, правильнее было назвать “Кодер”, я кодер собрал, и поставил вместо отрезанной части кодера от передатчика Санва…
Вч часть делать не собираюсь, ни приемник не передатчик, то что есть в инете безделушка выходного дня, которая испортит выходной когда решился полетать…

Enigm

Остался вопрос, первоначальные установки калибровки каким нибудь образом сбрасываются или надо заново перешивать МК?

При включении кодера зажимая клавишу в Право происходит сброс и запуск калибровки

ubd

А по какой схеме собирали ВЧ часть передатчика?

Как я понимаю, он оставил штатный ВЧ блок, который был в передатчике.

Sergey750iL:
В этой ветке я выкладывал уже схему ВЧ-блока. Схема эта полностью скопированна с ВЧ части передатчика Hitec Lazer 4. Я пробовал собирать, вроде работает, только антенну мне хорошо согласовать не удалось, т.к. нет приборов и опыта в настройке ВЧ-схем. И сразу хочу предопредить если у тебя нет опыта в постройке ВЧ схем (передатчиков, приёмников), то ты врятли сможешь настроить эту ВЧ часть. Я тогда схему выложу заново, т.к. её уже нет в это ветке. Попробуй если хочешь.

А самый лучший способ, это купить любой простой и не дорогой передатчик, убрать из него штатный кодер, и на место его сделать самодельный, оставив штатную ВЧ сачть и применив её. А если всё самому делать, шарить нужно в радиотехнике очень хорошо. А то черевато дровами на поле все полетушки.

yura_v
Nick_Shl:

// *** Мусорная переменная - нулевая ячейка подвержена самопорче ***********
// *****************************************************************************
static eeprom unsigned char EEPROM_TRASH @(0x0000);

Действительно. я писал про это ещё наверно год назад и в своей версии сделал
Потому как реально врубались реверсы ( у Фокуса они в этой ячейке)

Экономить - действительно цель мнимая.

На тот момент была вполне реальная. И даже достигнутая. Переделаны пульты от вертолётов eskyFP чисто поглядеть что получится
esky belt CP пульт wfly - реально пользовался пока не продал
кстати у кого проблемы с местом - выносите экран вверх в коробочке - классно выглядит и удобно.
сейчас вертолёт pigeon на спектрумовском обрубке lp5dsm купленом на ебее за 20 баксов
код я выкладывал в 1545 (фотку в 1508) по просьбе человека перелывавшего код под пятый спектрум с обычным DSM.
кстати про кнопки триммеров если присмотреться то увидите их рядом с движками триммеров - я их тупо приклеил изнутри - вполне себе держатся и удобно
а аналоговые триммера я не убирал - удобны для оперативной подстройки

Экономия была вполне существенная и свою задачу дожить до подешевления брендов - выполняет до сих пор 😃

А ещё цель реализовать любую понадобившуюся фичу которой нет у брендов. Если бы Linux был бы только _ПРИМЕР_'ом? Linux очень хороший пример чего можно достич, если задатся целью.

Во-первых я ругал код, а не авторов.

Я писал не совсем для себя. Я писал для всех. У меня каждая строчка откомментирована, потому как писалось для “чайников”… Но ведь это никому не надо, верно? Кто что либо сделал для проекта? Можно пересчитать этих людей по пальцам одной руки… И это за 3 года!]
А ещё не хочу, что бы написанный код со временем в помойку превратился…

я несколько раз хотел засесть за переписывание. Но каждый раз понимал что моих умений не хватит для получения удобного кода и всё надеялся что кто-то соберёт фиксы и сделает всё красиво… Или хотя бы svn контроль версий
Но увы… пока я даже забыл как я пофиксил вешалку при входе в виртуальные каналы…
Сделал ограничения каналов - но проверить бы насколько корректно?

По поводу дефайнов - почему бы их не вынести в меню?
например тот же переворот экрана? Я когда курочил пульт всё никак не мог придумать как его туда получше упхнуть - пришлось шить лишний раз
Опять же загрузчик бы усбишный прошивок не помешал - а то понипрог шьёт весьма долго…

ЗЫ
1 Теоретически интересно было б попробовать побороть спектрумовский приемник более 6 каналов но пока такого нет
2 раскурочить Ассановский модуль для подключения по цифре а не ппмом

Denn
yura_v:

Опять же загрузчик бы усбишный прошивок не помешал - а то понипрог шьёт весьма долго…

У меня программатор на FT232 шьёт дольше понипрога.