Это даже близко не программирование! Программирование - скучная унылая задача написания говнокода. Тут же за каждой примитивной строчкой стоит серьезное архитектурное решение...
В один прекрасный момент у меня возникло странное чувство - если опрос идет в интервале 1мс - сколько минимально выборок должно оказаться в фильтре, чтоб их было достаточно. Ответ крутился вокруг цифры 8. Цифра 8 - это магическое число. В двоичной системе оно кодируется одним единственным битом - ибо это число суть есть степень двойки. А что если меньше 8? очевидно нужно оставить значения в фильтре для следующего цикла...
Я дописал всего 3 строки кода и забыл про них:
MOV A,RAM_32 ;1ms
ADD A,#100H-8
JNC $NOTH ;недостаточно данных
Прошло какое то время и у меня появился FR от маповой ME17.9.7 - читая его у меня медленно выпадала челюсть...
Посмотреть вложение 82783
Т-е. метод абсолютно тот же самый...
Но еще больше она выпала когда я увидел начальное рекомендуемое значение ANZDSSMN.
Посмотреть вложение 82784
8 - сука! те же самые 8!
какова вероятность такого совпадения!? Разница год в пользу боша - но я не читал это и в более ранних документах нет этого!
2-й раз такая фигня была когда я смотрел как именно фильтруется давление в цилиндре в системе с датчиками давления для определения индикаторного давления. И метод и алгоритм полностью идентичны методу и алгоритму фильтрации ускорения КВ в "Матрице" для определения момента. Только вот в этот раз я это сделал в 2007 а бош выкатил через 5 лет в 2012м!
А вы говорите программирование... тьфу на вас. втроем с печкиным они говнокода понаписали...