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

Евгений_Зайцев

Уважаемые, помогите пожалуйста разобраться. Я занялся разаработкой приложения для редактирования всех параметров пердатчика с компа. Возникла следующая странная проблема. судя по описанию структуры MODEL SET ее объем должен составлять 563 байта (ровно столько должен занимать набор на одну модель) После компиляции в файле .map видно, что на 7 моделей ушло 3927. Т.е. по 561 байт на модель. Где два байта пропали? Начал детально исследовать вопрос. Как оказалось пропадают они между именем модели и началом структуры DEF_MODE. Имя модели выглядит нормально, значения в структуре DEF_MODE тоже совпадают с тем что я вижу в меню передатчика, а вот между ними каша какая-то. Судя по тому что написано в коде

typedef struct {
char name[8]; // Без 0- терминатора!
unsigned char type:1; // heli, plane.
unsigned char modulation:2; // PPM, IPPM, PCM
unsigned char timer_mode:2;
unsigned int timer_set;
unsigned char num_ch: 4;
unsigned char num_freq;
DEF_MODE modes[MAX_MODES];
CHANNEL channels[MAX_CHANS];
} MODEL_SET;

сразу после имени модели должен идти байт типа модели - 0 или 1. а я вижу в памяти совершенно иную картину. следующий байт №10 - тип модуляции вообще исчез - вместо него меняется тот же байт №9 по следующей логике
Plane, iPPM - E2
Plane, PPM - E0
Heli, iPPM - E3
Heli, PPM - E1
Это что оптимизация такая? почему только на этом месте? дальше все по человечески. Объясните пожалуйста. Бьюсь уже несколько дней совершенно безуспешно

Евгений_Зайцев

А где именно смотреть, и почему битовые поля? Ведь в структуре MODEL_SET только байты. Как они в биты превратились?

EHOT
ВитГо:

А в чем тайный смысл скачков между прошивками?
не проще сидеть на одной?
возможности МСВ прошивки перекроют стандартную турниговскую с головой… - смысл на нее перескакивать?

есть мнение, что в некоторый прошивках лучше реализована самолетная/вертолетная/планерная компоненты. вот и может вознинуть необъяснимое желание вернуть старую “взад”

msv
Евгений_Зайцев:

А где именно смотреть,

Я подсказал ключевое слово для любого букваря по Си… 😃
А зачем это надо, детально разбираться в физическом распределении переменных? Передаваете структуру как последовательность байт, переопределив тип указателя. Размер узнать - sizeof. На хосте не забыть при определении структуры отключить оптимизацию выравнивания полей!

Евгений_Зайцев

Я сослепу воспринял это как комментарии. почему сам не знаю… A надо мне это для того, чтобы на большом брате разбирать полученный файл. Т.е. я принимаю с передатчика массив из 561 байта или 561*7 и дальше разбираю их тупо по номеру байта. хотя может быть проще будет такую же структуру на компе объявлять? Не знаю… не решил еще.

msv

У меня ощущение, что Вы не прочитали мое сообщение… 😃 Или мы говорим на разных языках… Уточню: я - на Си… 😃

RW9UAO

кста, я тут на досуге на плате с процом at91sam9260 от starterkit.ru наваял аппаратное формирование РРМ пакета таймером. дискретность 300 наносекунд. работает под QNX, но под линукс перетащить - 10 минут делов. графика на 7-ми дюймовом цветном ЖКИ с тачскрином. рисуйте интерфейс а-ля 14MZ и вперед.

11 days later
RL2000

Подскажите, чем можно заменить находящуюся после cc2500 в аппаратуре 2.4ГГц микросхему (около 3x3мм, 8 пинов, из маркировки только “26L”) ? Что обычно в таких случаях ставят после формирователя сигнала?

sashok17

Всем добрый день! Возник у меня такой вопрос. Имеется аппаратура спектрум DX5. Так вот, она меня не совсем устраивает тем, что у неё нет памяти моделей, экспонент, и прочее. Я подумываю сделать цифровой блок (или как он правильно называется) отдельно, и к нему подключить ВЧ от спектрума. Возможен такой вариант? Почитав две части этой темы, я запутался. Может кто нить может посоветовать рабочий и проверенный вариант блока? Аппаратура будет использоваться в основном для самолетов. Прошиванием микроконтроллеров владею, если есть прошивка. Заранее спасибо!

Enigm

Если бы вы прочитали все 2 ветки то таких вопросов не возникло бы, и не пропустили бы эту ссылку sites.google.com/site/samocoder/ с полными комплектами и вариантами реализации
Да обленилась молодежь )))

abalex
sashok17:

Имеется аппаратура спектрум DX5.
… Я подумываю сделать цифровой блок (или как он правильно называется) отдельно, и к нему подключить ВЧ от спектрума. Возможен такой вариант?

Тут копался в DX5E - собрана она вроде на ATmega8, ВЧ-блок есть ( только протокол к нему ( мне ) не известен, но, видимо, что-то простое, через последовательный порт ), на индикацию ( светодиоды ) идут просто 4 вывода порта ( для дисплея должно хватить, пусть и с небольшими извращениями ), и есть резерв еще под один тумблер ( и затычки на корпусе, куда его привинтить ).
Так что теоретически можно туда дисплей от Нокии ( окно в корпусе пропилить ), штатные переключатели ( реверса каналов ) заменить на кнопки управления, и портировать прошивку от MSV ( вроде должно влезть, если нет - что-нибудь выкинуть ). И т.к. плату под дисплей - все равно делать, то можно там еще что-то нагородить ( вплоть до еще одного ATtiny25 - 26 ), и тогда количество каналов увеличить хоть до 100, если только это съедят ВЧ-блок и приемник ( сателлит от того же SPEKTRUMа ).
Новые наклейки - на лазерном принтере на плёнке, потом сзади краской ( серебрянкой или другой для красоты ) из баллончика, и наклеить вместо родных ( только не знаю, чем клеить, чтобы вид не испортить ( сквозь краску просвечивает ) и краску бы в процессе не разъело ).

P.S. Если кто знает ссылки на протокол ( именно ВЧ-блока и именно DX5, а не DX7 и не сателлита ) - пришлите, please. И еще - а зачем там между ВЧ-блоком и антенной включена какая-то совсем маленькая платка на разъемах ( м.б. мощность давить, чтобы европейским стандартам соответствовало ? ). И не сгорают ли эти ВЧ-блоки ( именно от DX5, а не старые от DX7 ) от включения без антенны ?

sashok17

Воо!! Дело пошло уже конкретнее! Я так понял вы тоже хотите модернизировать пятерку? По поводу маленькой платки ничего не скажу, но уменьшение мощности включается хитро. Зажимается тренер, и пару раз перещелкиваем тумблер двойных расходов. И вуаля передатчик красиво мигает сигнализируя об уменьшении мощности.
Вотр тут это видно:

www.youtube.com/watch?v=lETVzuLWiO8

Да, вы правы, передатчик на атмеге 8
В принцепе мне его 6 каналов хватает с головой! Но не хватает памяти моделей, экспонент. Отдельной регулировки расходов.

29 days later
VRV

Столкнулся с проблемой заказа жк монитора тик149(154) для кодера. В инет магазинах Украины выгребли под чистую. Может у кого из форумчан завалялся экземпляр данного девайса и есть возможность пересылки на Украину? Могу оплатить палкой или вебмани.

VRV

В связи с наличием нескольких свободных дней вспомнил о своем долгострое.
(переделка санвы с энкодером).
Кидаю фотки, может кому будет интересно:)

колесо енкодера вписалось в панель кварца

вид изнутри + цифровые триммеры(качество фото г…, на словах микрики от мыши вклеены на корпус передатчика)

планируемый дисплей(ну не вписывается, хочется больше, а винстары зараза не влазят)
рс: в дополнение к предидушему сообщению, есть дисплей(в таре нокиа 7110)
готов обменять на все тотже тик149(154) ну и доплачу:).

EagleB3

То есть, навигация по меню четыремя кнопками + энкодер?
А 8-й канал (AddProp) оставлен как 8-й канал? Или что/как?

P.S. А “Санвовский” корпус - рулез! И смотрится отлично, и в руках лежит очень приятно. Футаба-6 гораздо менее горазда…
P.P.S. К сожалению, TIC’ов в запасе не имею - брал только один, его и поставил. Брал в “Тритоне”, Москва.
А как насчет Харькова? Все же пора Новогодних каникул наступает. Может, кто из Ваших Севастопольских знакомых в Харьков прокатится, или кто-то из Харькова - в Севастополь?

VRV

И харькове 0(туда звонил сказали поправят сайт так как у них они в резерве). Видно ктото в проект их заложил, а дисплеи несерийные. Обещали только к февралю и то не точно. А насчет енкодера- кнопок не предвидется. Еще в первой теме выкладывал проект в протеусе - вроде как функционально получается(ну не считая кнопки самого енкодера- колеса мыши).
Кстати у вас возврат тримеров в нейтраль выполняется, потому что у меня они достаточно жесткие. Но вроде как не критично - хорошо слышен щелчок нажатия.