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

Aleksey_Gorelikov

Я могу что-то посоветовать, пальцем ткнуть в место в коде, если прозвучит конкретный вопрос как работает что-то, как поправить/добавить то-то. Но делать для кого-то что-то - это извините. Свой код не дам и чужих переделывать не буду, а то вдруг ошибусь… Потом совесть замучает за попадавшие чужие модели.
Так что давайте сами!!!

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

tu MSV
скачал вашу последнюю прошивку для 3310, схема с печаткой соответствует посту 1386 (на 54 ногу приходит регулировка напряжения), а проблема с 20,4 вольта на индикаторе имеется:
Может бросить перемычку на какую нить другу ногу, к которой вы привязали этот порт или есть прошивка на это?
С уважением)))

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

Может бросить перемычку на какую нить другу ногу, к которой вы привязали этот порт или есть прошивка на это?
С уважением)))

Открываем файл def.h

Находим строку:

#define Batt 6

Цифра 6 - номер канала АЦП. Открываем даташит на проц. 54 нога - АDC7, соответственно, меняем в деф.н циферку 6 на 7, компилируем проект, прошиваем, радуемся. 😃

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

Открываем файл def.h

Находим строку:

#define Batt 6

Цифра 6 - номер канала АЦП. Открываем даташит на проц. 54 нога - АDC7, соответственно, меняем в деф.н циферку 6 на 7, компилируем проект, прошиваем, радуемся. 😃

Я бы Вам сказал огромное спасибо, если скомпилили бы😁
Но что бы мне это сделать, надо с чего то еще начать, типа язык “С” поучить, освоить прогу, которая это делает (найти ее), ну с даташитом на проц разберусь…
Может с помощью даташита просто ногу перебросить, пока не освоил програмирование?)))
Думаю стоит начать это изучать, но летать на новом девайсе хочется уже завтра:(

Aleksey_Gorelikov

Ну перекиньте проводок на ноге… А просто откомпилировать - ничего сложного. Устанавливаете на компе кодевижен, нажимаете в нем файлс=>опен проджект, и в соседней менюшке проджект=> ,буилд алл. Затем тулс=> чип программарс=> программ чип. 😃 Ну это так, на будущее… 😃

З.Ы. перекидывая проводок - уточните в своем деф.н какая всетаки нога за батарейку отвечает. Вдруг я не в том архиве цифру 6 посмотрел… Если 6 - то это 55 нога будет…

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

Ну подкинули мне на завтра задачку, буду пробовать)))
К выходным хочу на новом полетать)))
Кодевижен брать я так понял с 123AVR?

Nick_Shl
Denn:

Как я понимаю, целью проекта является создание работающей схемы с возможностью её лёгкого повторения.

Вотцели у вех получается разные…

Denn:

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

Нужен будет совет - обращайтесь. Что касается процесса - я ещё год назад предлагал по коллективизации процесса с установкой сервера контроля версий…

Aleksey_Gorelikov:

Но делать для кого-то что-то - это извините. Свой код не дам и чужих переделывать не буду, а то вдруг ошибусь…
Так что давайте сами!!!

Вот и я говорю - тут человек человеку волк. Каждый сам по себе. Нет комьюнити и похоже никогда не будет…
Я уже говорил про Linux - очень хороший пример когда люди что-то захотели и сделали. Вместе.

Aleksey_Gorelikov
Nick_Shl:

пример когда люди что-то захотели и сделали. Вместе.

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

З.Ы. Сори за офтоп.

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, ужаснулся, в ней тримера сделанны механически докручивают потенциометры, так что кнопочки мне не поставить

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