Телеметрия (часть 1)

smalltim

Йэх… Полетал я тут еще со своей телеметрией, и понял, что линейная аппроксимация логарифма не катит. Но это еще ерунда, там погрешность <2% на высотах до 500м и 3.6 процента на 1000м.
Хуже другое. В исходной формуле Δh = 18400*(1 + а*t)*lg(p1 / p2) есть температура воздуха t в градусах цельсия. Вот ее я сейчас беру нулевой (в Цельсиях). А число “а” - это коэффициент теплового расширения воздуха, на который я в свое время почему-то положил болт. А коэффициент этот равен, как нетрудно догадаться, 1/273 градуса в минус первой степени. То есть, при полете в +27 градусов моя телеметрия недопокажет 10% высоты, что я и наблюдал вчера, сравнивая высоту по барометрическому датчику с высотой по GPS.

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

Dikoy
smalltim:

буду искать нужную панельку для Атмеги.

Ох и стОить же она будет… 😃

Satelite:

Всем привет.
если моя мысль(работа) интересна сообщству, докладываю.(если интересно, может другую тему создать? уже ОФ получается?)

обдумал концепцию ультразвукогого высотомера-радара-эхолота…

Я в пятницу EZ0 купил, опробую доложу. Тоже полезно будет, ИМХО.
Вообще, эхолот на стадии посадки по приборам, штука нужная и полезная.

smalltim:

Вот со второй платой, где автопилот и т.д, наверное, помощь не помешала бы.

Что хочется сделать:

  1. Слив данных с датчиков на первой плате в память и отдача через USB на компук.
  2. Настройки телеметрии через компук с сохранением параметров в EEPROM первой и второй платы.
  3. Автопилот: обработка данных с датчиков первой платы, с GPS, с датчиков горизонта и формирование управляющих сигналов на сервомашинки - с этим мне будет проще всего
  4. Управляющая программа и драйвер USB девайса на компуке - с этим тоже будет не очень трудно.

Где лучше советовать, тут или где-то ещё? 😃

  1. Определитесь, что хотите - чистый USB или виртуальный СОМ порт. Я за второе, т.к. это позволит пользовать широкий круг терминалок для отладок/проверок, да и писать софт проще. Коды для AT90USB1287 у меня есть, могу поделиться.
  2. На Си проще репы: __eeprom char buf[100]; И всё… Но проще структуру, конечно. Удобней.
  3. Вдруг полезно 😃 Код управления таймерами для руления машинок:
//TIMER1 initialize - prescale:8
// WGM: 10) PWM phz correct, TOP= ICRn
// desired value: 50Hz
// actual value: 50,000Hz (0,0%)

 TCCR1B = 0x00; //stop

 TCNT1H = 0xF6; //setup
 TCNT1L = 0x3C;

 /* в OCR1х вписывать нужную величину ШИМ.

	Причём вписываемая величина соответствует длине импульса в мкС!


 */

  //  ICR1 = 20000  это ШИМ  100%  равный периоду в 20000 мкС
 ICR1H  = 0x4E;
 ICR1L  = 0x20;


 OCR1AH = 0x05;   //старшие 8 бит
 OCR1AL = 0x78;

 OCR1BH = 0x05;   //старшие 8 бит
 OCR1BL = 0x78;

 OCR1CH = 0x05;   //старшие 8 бит
 OCR1CL = 0x78;


 TCCR1A = 0xAA;
 TCCR1B = 0x12;   //start Timer

Это для ATmega128, легко переводится на USB1287. Кварц 16 мег. Т.к. будет пользоваться USB, то квар по-любому должен быть либо 8, либо 16 😉

BigDaddy

Видел я такую панельку-переходник для программатора вчера на радиорынке, когда комплектуху закупал. За 1470руб. Но рука не поднялась…
Проще (а главное дешевле) слепить шнурок для программирования через СОМ-порт и шить процессор прямо на плате. Благо разъемы там для подключения такого шнурка есть.

Dikoy
BigDaddy:

Проще (а главное дешевле) слепить шнурок для программирования через СОМ-порт и шить процессор прямо на плате. Благо разъемы там для подключения такого шнурка есть.

+1

SGordon
smalltim:

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

Хотел спросить, со старой платой это мало поможет, ведь плата не всегда на открытом воздухе а там термодатчик впаян?

smalltim

>Проще (а главное дешевле) слепить шнурок для программирования через СОМ-порт и шить процессор прямо на плате. Благо разъемы там для подключения такого шнурка есть.

На новой плате распаян стандартный атмеловский разъем программирования, даже проводков не надо - я просто втыкаю программатор и всё.

>Где лучше советовать, тут или где-то ещё?
Тут, конечно.

>1. Определитесь, что хотите - чистый USB или виртуальный СОМ порт. Я за второе, т.к. это позволит пользовать широкий круг терминалок для отладок/проверок, да и писать софт проще. Коды для AT90USB1287 у меня есть, могу поделиться.
Чистый USB, наверное, предпочтительнее - для софтовой реализации надо поддерживать строгие тайминги для USB, и на остальное может не хватить времени.
Или это не так?

>3. Вдруг полезно Код управления таймерами для руления машинок:
Спасибо.

>Хотел спросить, со старой платой это мало поможет, ведь плата не всегда на открытом воздухе а там термодатчик впаян?
Термодатчик лучше выпаять и на проводке сделать, а то он от самой платы подогреваться будет.

smalltim

Написал коэффициенты для квадратичной аппроксимации логарифма, ввел поправки на температуру воздуха и атмосферное давление на земле.

Повертел таблички и так и сяк.
Аппроксимация логарифма в неких идеальных атмосферных условиях (0С, 101.3 кПа на земле) в диапазоне от 0 до 1000м дает максимальную погрешность в 0.11% на высоте 660м

Аппроксимация соотношения начального атмосферного давления и идеала (101.3 кПа) линейной функцией дает погрешность:

от -0.17% на высоте в 0м до 0.14% на высоте 1000м при давлении на земле в 105 кПа (788 мм рт ст)
от -0.17% на высоте в 0м до -0.28% на высоте 1000м при давлении на земле в 98 кПа (735 мм рт ст)

Изменение температуры воздуха дает погрешность только в математике. При использовании 16-битных вычислений этой погрешностью можно будет пренебречь.
Теперь дело за малым: вбить это в прошивку.

Для справки: текущий вариант вычислений дает максимальную погрешность в 5% на высоте 1000м, в идеальных условиях.
При полетах не при 0С, а при +27С, к этой погрешности прибавится 10% из-за отсутствия коррекции по температуре.

Dikoy
smalltim:

>1. Определитесь, что хотите - чистый USB или виртуальный СОМ порт. Я за второе, т.к. это позволит пользовать широкий круг терминалок для отладок/проверок, да и писать софт проще. Коды для AT90USB1287 у меня есть, могу поделиться.
Чистый USB, наверное, предпочтительнее - для софтовой реализации надо поддерживать строгие тайминги для USB, и на остальное может не хватить времени.
Или это не так?

Немного не так.
USB у атмела аппаратный, обмен с ним идёт через буфер, т.н. “эндпойнт”. Разница только в том, что USB говорит хосту при втыкивании. Если говорит “хочу быть виртуальным комом”, то бишь CDC, винда подсасывает соответствующий драйвер из своего набора. Драйвер тот глюкавый, но для НЕ реалтайм системы это не важно.
Чистый USB у нас тут пробовали завести… Процесс, конечно, творческий, но результата так и не дал. Слишком много ресурсов требует (человеческих), то есть нерентабелен. В итоге плюнули и сделали CDC.
Процесс энумерации USB отнимает ресурсы, но делать её необязательно. Можно поставить джампик, согласно которому энумерация будет делаться или не будет. Это поэкономит ресурсы.
Скорость при передаче по одному байту около 38400. Если сливать строками (до 64 байт за раз) доходит до мегабита.
Код и описание сброшу в мыло чуть позже, т.к. тут лазиют несколько нежелательных для меня читателей… 😊 Если кому интересно, пишите в личку запрос с емейлом. Тоже скину.

smalltim

Отправил заказ по датчикам в Терраэлектронику - удалось уйти в купный опт, цены получились очень хорошие. По стоимости кита (плата + мелочевка + датчики ) - см блог rcopen.com/blogs/15368?

pvp
smalltim:

На новой плате распаян стандартный атмеловский разъем программирования, даже проводков не надо - я просто втыкаю программатор и всё.

Может быть имеет смысл заливать bootloader (вполне рабочие примеры есть на сайте атмел’а, использую в своих проектах и крайне доволен), чтобы кадый, у кого нет программатора, мог без труда обновлять прошивку при помощи небольшой программки для PC и обычного кабеля (через USART или USB, либо через тот интерфейс, какой Вы, как разработчик ещё реализуете в своём устройстве)?

smalltim


Может быть имеет смысл заливать bootloader (вполне рабочие примеры есть на сайте атмел’а, использую в своих проектах и крайне доволен), чтобы кадый, у кого нет программатора, мог без труда обновлять прошивку при помощи небольшой программки для PC и обычного кабеля (через USART или USB, либо через тот интерфейс, какой Вы, как разработчик ещё реализуете в своём устройстве)?

Я за такой вариант двумя руками, поскольку проект постоянно развивается и появляются фиксы и новые фичи. Скачать новую прошивку и влить через USB - удобней некуда!
Только тему bootloader мне еще предстоит изучить. Когда придется, попрошу помощи, ничего?

Кстати, вчера вбил в код (прошивка v225, пока не выкладываю) следующие изменения:

  • вычисление тока с датчика тока. Очень красиво и компактно получилось, точность по АЦП с учетом оверсэмплинга - 3 мА, минимальная отображаемая величина тока - 10 мА, на экране будет показываться ХХ.ХХ А.

  • аккумулирование потраченных миллиамперчасов методом интегрирования: Каждые 0.16 секунды я умножаю полученную с датчика величину тока, умножаю на этот временной интервал, перевожу из ампер-секунд в миллиампер-часы и складываю в четырехбайтную переменную. Вывод на экран - ХХХХмАh.

  • включение с передатчика отображения текущей широты-долготы с GPS в верхней части экрана, между указателем качества приема и таймером. По дефолту отображение широты-долготы выключено.

  • при включении обнуление всех временных переменных в цикле вместо обнуления каждой в отдельности. Высвободилось дополднительно много места под код.

Что еще надо сделать:

  • перевод математики подсчета высоты с барометрического датчика на новую формулу с учетом температуры воздуха и текущего атмосферного давления на земле.

  • включение отображения широты-долготы на экране в аварийных условиях - при потере сигнала с передатчика или при падении бортового напряжения ниже какого-то уровня. Какого - пока непонятно, поскольку все летают на разных батарейках.

Кстати, во вчерашнем заказе в Терраэлектронику забыл указать термодатчик AD22100 - не пинайте сильно. Сообщение в блоге сейчас обновлю.
Заказал 10 штук в Чипе-Дипе, поскольку в Терраэлектронике и в Митраконе или нет или цены дикие 😃.

Dikoy
smalltim:

Я за такой вариант двумя руками, поскольку проект постоянно развивается и появляются фиксы и новые фичи. Скачать новую прошивку и влить через USB - удобней некуда!
Только тему bootloader мне еще предстоит изучить. Когда придется, попрошу помощи, ничего?

А чего там изучать? На сайте атмела лежат готовые хексы. Заливаете в МК и всё. В дальнейшем перепрошивку делает сам контроллер через какой-то порт.
Есть два НО:

  1. Для запуска бутлодера нужна кнопка на ресете и некая кнопка HWB, чтобы после ресета бутлодер понял, что его хотят, и не передавал управление основному коду.
  2. Бутлодер в чип таки надо вливать внешним программатором 😦 Кроме того, атмельские бутлодеры любят иногда “слетать”, что требует переодической полной перепрошивки чипа.

По этому я и ратую за кей. Там бутлодер с рождения и куча всего распаяно.

smalltim

Э… а что за кей-то? Это готовое устройство?

pvp
smalltim:

Когда придется, попрошу помощи, ничего?

Чем смогу - помогу.

smalltim:

Кстати, вчера вбил в код (прошивка v225, пока не выкладываю) следующие изменения…

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

Dikoy:
  1. Для запуска бутлодера нужна кнопка на ресете и некая кнопка HWB, чтобы после ресета бутлодер понял, что его хотят, и не передавал управление основному коду.

А если сделать так: предусмотреть в программе парсинг некоторой команды (ну сделан же уже парсинг NMEA предложений, как я понимаю). Так вот - добавить какую нибудь команду, по приёму которой будет происходить сброс мк (с переходом на bootloader) - и никаких тебе кнопочек!

Dikoy
smalltim:

Э… а что за кей-то? Это готовое устройство?

Блин. Я уже раза два ссылку давал: http://www.atmel.com/dyn/products/tools_ca…mp;tool_id=3879
В москве он 1000р стОит, в той же тере есть.
AT90USBKey Hardware User Guide - там всё расписано с картинками.

pvp:

А если сделать так: предусмотреть в программе парсинг некоторой команды (ну сделан же уже парсинг NMEA предложений, как я понимаю). Так вот - добавить какую нибудь команду, по приёму которой будет происходить сброс мк (с переходом на bootloader) - и никаких тебе кнопочек!

Теоретически возможно. Оперативка AVR после ресета не ресетится, а сохраняет данные. Вполне можно поместить в ячейку байт (флажок) опосля чего вызвать ресет (вачдог + долгий цикл). Не помню, есть ли исходники бутлодеров на атмеле… Хексы точно есть.

Не, исходников нет 😦

lodeworx

Прошу прощения,никого не хотел обидеть, это я на радостях! Я же готов поделиться инфой по теме, а не звездами на крыльях меряться!

www.microsyl.com <- там bootloader есть неплохой, удобный, барометр и еще кое-че интересного.
ADP1111 - импульсник, к нему из довесков только дроссель нужен. Надоели 7805- греются, жгут батарейки!

  1. Почему видео по человечески на SPI не вывел? Нелюдь!
    Изначально SPI не рассматривался по причине молодости и неопытности, а сейчас он будет занят связью со второй платой.

А если 32-ю… Там TWI есче есть его то и соединять с ARM7 скажем. Круто?
ARM - необоснованно круто. И по цене, и по возможностям

SPI- на видео, TWI- на вторую плату!!!

ARM - не так уж и круто- кристаллы лепят все кому не лень. Ядра одинаковые, периферия разная, особенно реализация. Может быть такая кривая! (Кривее, чем у Texas Instr. не видел!)

Я вижу по какому пути ты идешь и даже могу представить следующие шаги! (2 одинаковых по производительности кристалла, SPI между ними) НЕ ХОДИ ТУДА!!! Я там уже был- там ничего нет!
Megой всётаки лучше дату собирать, и первичную обработку делать. Если делать автопилот, то ARM! Навскидку даже не смогу периферию перичислить всю на борту- так там много всего. А если ты на меге клепаешь- то и с ARM проблем не будет! “лучше день потерять, потом за пять минут долететь”
Согласитесь, что лучше сразу иметь на кристалле весь запас по памяти и периферии-заниматься только математикой без ограничений, чем лепить на борту интернет!?
128-я на мой взгляд недалеко от 32-й уходит(вообще с трудом могу представить как заполнить 128к чистым кодом) как вариант 406- там аппаратура есть для Li-xx обслуживания.
А зачем вообще USB тут нужен?(бытовой интерфейс- нельзя ему доверять- ибо непонятно во сколько ты дату получишь- вечная проблема).
Мой ноутбук-не самый- самый- на солнце не видно, да и аккумулятора на час всего хватает.
В моем варианте LCD графический подкл к борту+ 4 кнопки(войти, выйти,+,-)<-- маленькое все и не жалко, а как на солнце видно хорошо!

Dikoy:

А чего там изучать? На сайте атмела лежат готовые хексы. Заливаете в МК и всё. В дальнейшем перепрошивку делает сам контроллер через какой-то порт.
Есть два НО:

  1. Для запуска бутлодера нужна кнопка на ресете и некая кнопка HWB, чтобы после ресета бутлодер понял, что его хотят, и не передавал управление основному коду.
  2. Бутлодер в чип таки надо вливать внешним программатором 😦 Кроме того, атмельские бутлодеры любят иногда “слетать”, что требует переодической полной перепрошивки чипа.

По этому я и ратую за кей. Там бутлодер с рождения и куча всего распаяно.

Чтоб не слетали- BLB10-BLB12=0

Dikoy:

Блин. Я уже раза два ссылку давал: http://www.atmel.com/dyn/products/tools_ca…mp;tool_id=3879
В москве он 1000р стОит, в той же тере есть.
AT90USBKey Hardware User Guide - там всё расписано с картинками.

Теоретически возможно. Оперативка AVR после ресета не ресетится, а сохраняет данные. Вполне можно поместить в ячейку байт (флажок) опосля чего вызвать ресет (вачдог + долгий цикл). Не помню, есть ли исходники бутлодеров на атмеле… Хексы точно есть.

Не, исходников нет 😦

См. www.microsyl.com

lodeworx
Satelite:

ну значит нас обманули, пишут безинерционные… и можно ставить на подвижные обьекты…

пока лазил читал про них нашел 4 вида констркции.
гироскоп
продвинутый акселометр
жидкость
магнитный вектор(не понял как работает)

эхх… интересно былобы в руках повертеть…

С гироскопом понятно наверное!
Акселерометрический считает исходя из земного ускорения свободного падения (измеряет по XY, или XYZ) вектор перпендикулярен поверхности. (ADXL серия AnalogDevices)
Магнитный- та же байда, “только в профиль” линии напряженности магнитного поля, в идеале, параллельны поверхности земли(HMC-xxxx HONEYWELL)
жидкость- пузырек с маслом, плавает зеркальце, на него светодиодики светят. Оптическая мышь утопилась!
По отдельности это все редко используется- только в комплексе.(HONEYWELL, DYNON EFIS-EICAS)
Вообщем на HONEYWELL зачитаться можно- рекомендую!

lodeworx

МОИ ВОПРОСЫ!!!

А есть тут кто на вертолетах летающий?
Исходя из моих познаний в самолетовождении, компас нужен полюбасу. Самолет не может не двигаться-можно GPS использовать, на вертолет надо ставить что-то. Я схемку накидал на HMC1021- чегой-то слишком все серьезно получилось- одних деталек на тыщу р. и паять лень такое хозяйство. Опять- же в комплекс надо ADXL завязывать (акселерометр XY).
Есть предложения?

Кто может сдизайнить приборы в поле 128х128?
Я анимировать и засунуть могу- только дизайнер из меня никакой 😦

На закуску выписка:
"В любом полете должны соблюдаться общие правила самолётовождения, их три:

  1. Постоянный контроль за курсом, скоростью, высотой и временем полёта, остатком топлива;
  2. сохранение ориентировки в любом полете, в том числе и при наведении с земли;
  3. своевременное исправление отклонений от линии заданного пути."

вражеский GPS- не нужен 😎

foxfly:

Покритиковать- это всегда пожалуйста: в широко известном (в узких кругах) Micropilot 2028, который продается уже лет 5, используется УЗ высотомер до 20 ft (6м).
Сделан он на одной “таблетке”, надо думать: и передатчики и приемник.
Но посадка с его применением- душераздирающее зрелище : видел живьем один раз- до сих пор трясет 😃
Порывчик ветра, камушек- любая помеха : самолет в починку.
Тупая электроника не может адекватно угрозе (то есть чуть- чуть) “сыграть” рулями.
И садиться в этом режиме можно только на поверхность класса F1, желательно- помытую шампунем 😃
Кроме того- показания УЗ высотомера очень будут зависеть не только от температуры, но и от характера поверхности (трава- один коэффициент отражения, асфальт- совсем другой )

Ага, согласен полностью! Видел тут кино про X47 Boeing`а, который они учат на авианосец садиться. Там один из создателей дико ругался по поводу “бесстрашности” компьютеров- не боятся они ничего!

smalltim

>Я вижу по какому пути ты идешь и даже могу представить следующие шаги! (2 одинаковых по производительности кристалла, SPI между ними) НЕ ХОДИ ТУДА!!! Я там уже был- там ничего нет!

Да прям уж 😃 Чего там страшного? Пропускной способности не хватит? Трудности в реализации?

>Megой всётаки лучше дату собирать, и первичную обработку делать.

Ну, так и делается.

>Если делать автопилот, то ARM! Навскидку даже не смогу периферию перичислить всю на борту- так там много всего. А если ты на меге клепаешь- то и с ARM проблем не будет! “лучше день потерять, потом за пять минут долететь”

Ну правда, не дорос я еще до ARM. Зачем таскать на борту полноценный 32-битный компук?

>Согласитесь, что лучше сразу иметь на кристалле весь запас по памяти и периферии-заниматься только математикой без ограничений, чем лепить на борту интернет!?
128-я на мой взгляд недалеко от 32-й уходит(вообще с трудом могу представить как заполнить 128к чистым кодом) как вариант 406- там аппаратура есть для Li-xx обслуживания.

128й (ее аналога с аппаратным USB-) с запасом хватит для написания нормальной математики с плавающей точкой на Сях, неужели не так? 😃

>А зачем вообще USB тут нужен?(бытовой интерфейс- нельзя ему доверять- ибо непонятно во сколько ты дату получишь- вечная проблема).
Мой ноутбук-не самый- самый- на солнце не видно, да и аккумулятора на час всего хватает.

USB нужен для связи с компуком. Компук (НЕ ОБЯЗАТЕЛЬНО В ПОЛЕ!) удобен по многим причинам:

  1. Удобное обновление прошивки
  2. Конфигурирование телеметрии
  3. Расстановка контрольных точек по карте для автопилота (а вдруг и до этого доживем? 😃 )
  4. Слив всех логов со всех датчиков после полетного дня.
lodeworx
smalltim:

>Я вижу по какому пути ты идешь и даже могу представить следующие шаги! (2 одинаковых по производительности кристалла, SPI между ними) НЕ ХОДИ ТУДА!!! Я там уже был- там ничего нет!

Да прям уж 😃 Чего там страшного? Пропускной способности не хватит? Трудности в реализации?

>Megой всётаки лучше дату собирать, и первичную обработку делать.

Ну, так и делается.

>Если делать автопилот, то ARM! Навскидку даже не смогу периферию перичислить всю на борту- так там много всего. А если ты на меге клепаешь- то и с ARM проблем не будет! “лучше день потерять, потом за пять минут долететь”

Ну правда, не дорос я еще до ARM. Зачем таскать на борту полноценный 32-битный компук?

>Согласитесь, что лучше сразу иметь на кристалле весь запас по памяти и периферии-заниматься только математикой без ограничений, чем лепить на борту интернет!?
128-я на мой взгляд недалеко от 32-й уходит(вообще с трудом могу представить как заполнить 128к чистым кодом) как вариант 406- там аппаратура есть для Li-xx обслуживания.

128й (ее аналога с аппаратным USB-) с запасом хватит для написания нормальной математики с плавающей точкой на Сях, неужели не так? 😃

USB нужен для связи с компуком. Компук (НЕ ОБЯЗАТЕЛЬНО В ПОЛЕ!) удобен по многим причинам:

  1. Удобное обновление прошивки
  2. Конфигурирование телеметрии
  3. Расстановка контрольных точек по карте для автопилота (а вдруг и до этого доживем? 😃 )
  4. Слив всех логов со всех датчиков после полетного дня.

А ты логи хочешь в дополнительной оперативке хранить, а с каким разрешением, дельту? Может C-FLASH?
Зря ты про “не дорос”! Я так тоже думал(вопрос недели, посидеть, репу почесать). Аппетит приходит во время еды! Мне вот снится в “слюнявых” снах висение над… белой буквой “H” (не пинайте) т.е. видео надо будет построчно(поблочно) обрабатывать. У меня вот такие коробочки получаются:
Первая:
2хMPX4115- барометрия
GYROSTAR MURATA- гироскоп(на Z-YAW)
ADXL2010-10g по XY(как индикатор скольжения+калибровка магнитометра)
HMC1021-магнитометр на XY (компас, расчет ветра)
HMC1001- на Z(в планах для SWEEPDEV- отдельная тема)
DS18xx-градусники
RS-485 (на USB даже с метровым кабелем проблемы будут) Megaload с ним работает вроде.
Проявляется благодаря этому форуму:
OSD
4 сервовхода от приемника(2 точных 2 неточных)
4 сервовыхода (2 точных 2 неточных)
(главное, чтоб мега не задымилась)
Вторая:
железяка на ARM!(GPS+ всякая хрень, требующая другой ветки для обсуждения)
есть два варианта даже…
казалось бы-ARM(lpc2148)- жирный, все есть, а сам себя не может перешивать-тоскливо 😦
Про floatingpoint calcz ещё поговорим! Меня чего- то к lookuptables тянет последнее время, к самонастраиваемым! Оказывается формулы только в учебниках красиво выглядят. А в наших приложениях все сводится к умножению “попугаев” на чего-нить еще, так? Прикинь как все красиво получается, если тот-же синус не FP считать встроенным в 32bit, а массивчик одномерный 180byte допустим (unsigned int x 0-90 градусов) + смотрелка на ассемблере. Короче, математика нужна математикам, но не компьютерам! во какая глубокая мысля.
А до автопилота точно доживем

smalltim

>А ты логи хочешь в дополнительной оперативке хранить, а с каким разрешением, дельту? Может C-FLASH?

Маленькая serial flash, разрешение - как отображается на экране, дельта - секунда,

>2хMPX4115- барометрия

Почему два?

>Прикинь как все красиво получается, если тот-же синус не FP считать встроенным в 32bit, а массивчик одномерный 180byte допустим (unsigned int x 0-90 градусов) + смотрелка на ассемблере.

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

>Короче, математика нужна математикам, но не компьютерам! во какая глубокая мысля.

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