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

avisenja

Объемы не наберёте! С радиолюбителями имел опыт и то-же самое, орут давай!!! а потом тишина!!!

tomm2001
Aleksey_Gorelikov:

У меня даже китайская фабрика на примете есть… И русский человек там в начальниках 9 лет… Дело только в объемах.

А они там сразу и платы изготавливают и детали на них припаивают ?

max-umc
Demon163:

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

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

Demon163
max-umc:

В кодере нет труднодоставаемых деталей.

У Вас в городе может быть, а у нас вот так вот, заказывать и ждать, да еще и цены блин ломят.

ВитГо

Господа прошу помощи…

Никогда с СИ не сталкивался, а сейчас разбираясь в программе кодера приходиться 😦
Нашел вот такой вот код:
v=-channel->epa[0];

Что делает операция “->”?
никак не могу найти ее описание %(((
расскажите кто знает ! (а перелопатил штук 5 самоучителей и руководств выложенных в сети… только в одном месте чтото мутное было и то без особого описания… чтото про “лево предрасположенный выбор” !!!

Kappitoshka

Посмотрел схемы которые Omegats выкладывал. Там на тренере/ученике конденсаторы c5 и c6 местами перепутаны и на ресете c15 паралельно c31 пошел. На плате это поправлено?

Aleksey_Gorelikov
ВитГо:

v=-channel->epa[0];

Что делает операция “->”?

чтото про “лево предрасположенный выбор” ??!!

Надо просто посмотреть к чему это относится и понятнее станет 😃

Вот к чему:

typedef struct {
signed char subtrimmer;
signed char epa[2];
signed char reverse;
}CHANNEL;

mega_john
ВитГо:

Что делает операция “->”?

это не операция, это оператор доступа по указателю, к члену структуры(класса)

ВитГо

Спасибо !!

Вы бы знали в какие я дебри залез !!! 😃))

Aleksey_Gorelikov:

Что-то я сомневаюсь, что MSV будет этим заниматься… Женя Fokus - аналогично. У него сейчас времени нет не то что на это, а в интернет выползти… Я его изредка в аське вылавливаю, и то с мобильника. Да и живут они гараздо дальше 50км от МКАДа.😁
Можете предложить MSV какой-либо процент и заниматься этим сами, или даже (возможно) использовать прошивку некомерчески, а деньги брать непосредственно за свою работу (плату и т.д), если Сергей даст вам на это (использование прошивки) свое разрешение. И даже если не даст - можете торговать одним “железом” никого не спрашивая. Беретесь?

Кстати а цены на изготовление плат (по ссылке на предыдущей странице) действительно небольшие…
брал 100 на 50 мм… 2 стороны 10 плат - 1250 рублей при первом заказе (125 руб. штука) и 850 рублей при повторном (85 рублей штука)…

Жаль что в ХК 6 кан. нет ЖК экрана штатно… а то можно было бы для него платы делать да продавать желающим…

p.s. хотя все таки ситуацию нужно обдумать 😃)

dollop
Kappitoshka:

Посмотрел схемы которые Omegats выкладывал…

Нет. Поправляем… Какой вы глазастый 😛. Я только С31 и С15 увидев насторожился…
Спасибо.

Andrej100
Lordik5:

Вот читаю ваши мнения по поводу новой v1.9, и облизываюсь- дисплей-то у меня “перевёрнутый”,и залить 1.9 я не могу.Может,кто уже скомпиллил её под перевёрнутый 3310 ?Поделитесь,пожалуйста…😦

Вот 😒

Coder.rar

dollop

Исправил плату для HK-T6A и ему подобных.
Там в архиве два варианта. Оличаются организацией питания кодера и ВЧ блока.

  1. на двух импульсных стабилизаторах LM2674-5.0
  2. на двух линейных стабилизаторах 7805 и одном P-Ch MOSFET.

Все замеченные (спасибо Kappitoshka) ошибки исправлены.
Возможно (как это часто бывает) добавлены новые 😛 - шутка, конечно, но до “массовых заказов для всех обладателей подобных пультов” желательно проверить живьем.

Coder_msv_HK-T6A.zip

omegats

Спасибо за замеченные ошибки. Не буду цитировать, т.к. с мобильного, но по возникшим вопросам… LM2674-5.0 брал в Имраде, резюки и кондеры 1206 (0805 влазят почти везде), кнопки и переключатель - разводил под те что были в наличии. Разъемы сначала пропаивал с одной стороны, потом приподнимал пластик и с другой стороны, где надо. Переключатель - сначала перемычку между слоями, а потом его впаял. Плату делал по ЛУТ. Еще не запускал - успел сделать програматор на FT232RL+МЕГА8 и сдох ноут 😦. Так что…

ВитГо

Еще один вопросик по синтаксису СИ (я понимаю что наверное не совсем то место… но других у меня пока нет)

Описал структуру
typedef struct {
unsigned char itemcol; // Количество пунктов меню
unsigned char *items[]; // пункты меню
unsigned char upitemnum; // указатель на вышестоящий пункт меню
}MENU_STRUCT;

Теперь мне нужно ее проинициализировать значениями

__flash const MENU_STRUCT menu_info[3]={
// Cтартовое меню - 0
{ 2, { “MODEL”, “SYSTEM” }, 255 },

// Меню MODEL - 1
{ 5, { “NEW”, “SELECT”, “EDIT”, “COPY”, “DELETE” }, 0 },

// Меню MODEL - EDIT - 2
{ 6, { “TYPE”, “NAME”, “TIMERS”, “CHANNELS”, “UCH”, “FLY_MODES” }, 0 }
};

вроде так ?
но на строчку
{ 5, { “NEW”, “SELECT”, “EDIT”, “COPY”, “DELETE” }, 0 },
codeVisionAVR ругается что мол пропущена }

мозг уже плавиться… как правильно ?

p.s. эх, как же тяжко переходить на СИ с Паскаля и Дельфей 😦

EagleB3

Я не могу себя назвать продвинутым программером, но, КМК, причина в том, что есть в CVAVR (или вообще в ANSI C?) какое-то ограничение на штуку, которая, вроде как, называется динамическим массивом. Если ее в CVAVR и можно задать, то, видимо, не так, как делаешь ты. И как ее можно задать я не знаю.

Для экспериментов я обычно преобразовываю участки к более “растянутому” виду, тогда становится понятно на что именно ругается компилятор. Например:

// Cтартовое меню - 0
    {   2,
        { "MODEL", "SYSTEM" },
        255
    }
    ,
    {   1,
        "AB",
        "CD",
        "EF",
        5}
    ,
    {   6,
        { "TYPE", "NAME", "TIMERS", "CHANNELS", "UCH", "FLY_MODES" },
        0
    }
};

Теперь изменяй количество “пунктов” для второго раздела меню (удаляя сначала строку “EF”, а потом строки “CD” и “EF”) - и все будет очень наглядно.
Ощущение такое, что компилятор определяет количество элементов массива по первой строке, и обижается, если в последующих строках это количество изменяется.

И в самом деле, если в описании типа сказать либо unsigned char *items[6];, либо unsigned char *items[0];, то проканает вот такая инициализация:

__flash const MENU_STRUCT menu_info[3]={
// Cтартовое меню - 0
    {2, { "MODEL", "SYSTEM", "", "", "", ""}, 255 },
    {1, { "AB", "CD", "EF", "", "", ""},        5 },
    {6, { "TYPE", "NAME", "TIMERS", "CHANNELS", "UCH", "FLY_MODES" }, 0 }
};
ВитГо

фиксированную длинну массива знаю… но хотелось по короче… а то у меня есть менюха в которой 28 пунктов… 😃))))

EagleB3

Почитай встроенный хелп - там довольно много и довольно толково.
Еще могу прислать мануал на CVAVR v.2.03.5. Или выложить его и еще несколько толковых мануалов по CVAVR, по Си вообще и по микроконтроллерному Си в частности. Или в сети поищи, например, “CodeVisionAVR пособие для начинающих, Лебедев М.Б.” - практически перевод мануала; причем из 250 страниц автор умудрился сделать 600…

ВитГо

переделал на фиксированное количество элементов… все компилится…

остальное в личку

EagleB3
ВитГо:

у меня есть менюха в которой 28 пунктов… 😃))))

Это жесть! Это обязательно надо разбивать на подпункты, КМК.

ВитГо

Я просто боюсь что разбив сделаю путанным меню…
28 пунктов это конечные точки каждого из органов управления. их 13 плюс еще одна пара нужна…
сейчас поделил на Stick (4 элемента) , Vario (3), Switch(5), Buttons(1)…