Создание собственной системы стабилизации

oleg70
AlexSneg:

близки к результату.

Результат уже есть - всё работает…

AlexSneg:

швыряние пикселов в видеобуфер абы когда приведет к неприятному морганию картинки.

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

AlexSneg:

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

Чтоб избежать неприятностей, надо просто “дизаблить” SPI в конце вывода последнего байта строки, иначе последний единичный бит “затирает” синхру основного видео (он остается на ноге до следующего синхроимпульса)…

AlexSneg:

Если изучить ДШ, то можно найти способ получить тактирование SPI подвязанное под нужные фазы синхры и без внешней обвязки а только путем замыкания пары правильных ножек на микроконтроллере.

Для достижения цели пришлось не только изучить наконец ДШ (😃) но и купить за 20 тыр. нормальный осциллограф, но избавиться от внешней логики не удалось (мне, во всяком случае), STM конечно мощщь, но тут он сдулся…
если получится у Вас буду только рад…

AlexSneg
oleg70:

Чтоб избежать неприятностей, надо просто “дизаблить” SPI в конце вывода последнего байта строки

А как аппаратно задисэйблить SPI интерфейс в нужное время?

oleg70:

если получится у Вас буду только рад…

Так вроде уже давно, как все получилось 😉

oleg70
AlexSneg:

А как аппаратно задисэйблить SPI интерфейс в нужное время?

Нога <NSS> режим HARD… и всё , я у себя не стал задействовать, чтоб оставить DAC вывод для говорилки, и ограничил программно вывод крайних пикселей, что тоже не проблема…

AlexSneg:

уже давно, как все получилось

Тоже полностью аппаратный ??

AlexSneg
oleg70:

чтоб оставить DAC вывод для говорилки

вот это как раз то, о чем я говорил. 😃
Да, можно наверно NSS к VCC поднимать, можно попробовать.

oleg70:

Тоже полностью аппаратный ??

Да, полностью. Вы, наверно, не просматриваете самолетные ветки (собственно как и я коптерные) 😃 FlyBrain

oleg70
AlexSneg:

Вы, наверно, не просматриваете самолетные ветки

Во… переберусь к Вам…

Дмитрием_меня_зовут

Эх, подсказл бы я вам как развязать вибрации от ваших датчиков, да вы ведь китайцам всё разболтаете 😃

oleg70
Дмитрием_меня_зовут:

Эх, подсказл бы я вам как развязать вибрации от ваших датчиков, да вы ведь китайцам всё разболтаете

Видимо “бомба” очередная (?)…, тогда хоть как то результат эдакой развязки покажите (не вдаваясь в секрет), а то как то - “ни о чём”…

Дмитрием_меня_зовут
oleg70:

Видимо “бомба” очередная (?)…

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

oleg70
Дмитрием_меня_зовут:

Теория механических колебаний и борьба с акустическими шумами в одном лице

Ну допустим,… а разультат то как посмотреть ? (повторяюсь), к чему весь этот АНОНС ? (был тут посетитель который обещал, “нелиненую логику” применить для управления, но как то исчез…, видимо не получилось)

Дмитрием_меня_зовут

не-не, это не анонс, что вы, просто полистал вашу тему, увидел одну, очень близкую к правде, мысль у топикстартера, но рука не поднимается указать.
Я построил всего один квадр из комплектухи и двух алюминиевых стержней п-образного профиля и никаких проблем не испытал с вибрацией СРАЗУ, от слова совсем.
Хотя всё там на изоленте и скрутках 😃
Квадры потеряли просто фокус внимания мой - есть новая тема.

oleg70
Дмитрием_меня_зовут:

Я построил всего один квадр из комплектухи и двух алюминиевых стержней п-образного профиля и никаких проблем не испытал с вибрацией СРАЗУ

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

Дмитрием_меня_зовут

Такое бывает именно у тех, у кого “собралось” случайно в соответствие с теорией. В общем направление есть.

djdron

Пощупал новый кортекс, шустрая штука)))

double a, b, c;
for(int i = 0; i < 1000000; i++)
{
c = a * b;
}

выполняется за 60 мс.
Теперь можно все в даблах считать ))))

AlexSneg
djdron:

Пощупал новый кортекс

Что за новый кортекс?

djdron:

выполняется за 60 мс

Оптимизация при сборке была включена или выключена?

oleg70
djdron:

Теперь можно все в даблах считать

Это хорошо конечно, но мне например, пока не понятно где востребована такая повышенная точность, уж больно источники “сырых” данных неточные чтоб их в даблах обсчитывать… (приведите пример)

SergDoc
AlexSneg:

Что за новый кортекс?

M7 по всей видимости…

oleg70:

Это хорошо конечно, но мне например, пока не понятно где востребована такая повышенная точность, уж больно источники “сырых” данных неточные чтоб их в даблах обсчитывать… (приведите пример)

например барометр ms5611

oleg70
SergDoc:

например барометр ms5611

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

djdron
AlexSneg:

Что за новый кортекс?

Оптимизация при сборке была включена или выключена?

кортекс-М7

Оптимизация включена, без оптимизации что-то лишнее добавляется, а так с = а * b выполняется за 6 тактов, дальше зависит от скорости флеша, шин и всяких кэшей

oleg70:

Это хорошо конечно, но мне например, пока не понятно где востребована такая повышенная точность, уж больно источники “сырых” данных неточные чтоб их в даблах обсчитывать… (приведите пример)

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

SergDoc
oleg70:

повышать разрядность шумов не вижу смысла…

ну как бы так:

const double T1 = 15.0 + 273.15;    /* temperature at base height in Kelvin */
const double a  = -6.5 / 1000;    /* temperature gradient in degrees per metre */
const double g  = 9.80665;    /* gravity constant in m/s/s */
 const double R  = 287.05;    /* ideal gas constant in J/kg/K */

github.com/SergDoc/Firmware/blob/…/ms5611.cpp#L705

AlexSneg
djdron:

Оптимизация включена, без оптимизации что-то лишнее добавляется, а так с = а * b выполняется за 6 тактов

a,b внутри цикла не меняются, с - нигде не используется. Оптимизатор это вообще из цикла выкинуть может. Не очевидный какой-то тест.

djdron
AlexSneg:

a,b внутри цикла не меняются, с - нигде не используется. Оптимизатор это вообще из цикла выкинуть может. Не очевидный какой-то тест.

ну это я как пример привел, конечно я смотрел чтобы компилятор не выкинул код. Я смотрю асемблерный код в отладчике как выполняется. Если тест не очевидный то какой очевидный?

без оптимизации будет 90мс, компилятор какието лишние инструкции добавляет.