76

Re: Извлечение данных наддува из OBDII VAG

Думаю, можно перейти Денис в предыдущую ветку.
"Буст контроллер на CANNY"
Вопрос с "Данные из Can" я с Вашей помощью наконец то решил.

77

Re: Извлечение данных наддува из OBDII VAG

oniava пишет:

Денис, не работает Ваша формула.

Р=7722*7,8125=7722*(8-1/8-1/16)= 7722*8 - 7722/8 - 7722/16 = (7722<<3) - (7722>>3) - (7722>>4) =
= 61776 - 965 - 482 = 60239 Па - формула работает ( >> - сдвиг вправо; << - сдвиг влево).

78

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:
oniava пишет:

Денис, не работает Ваша формула.

Р=7722*7,8125=7722*(8-1/8-1/16)= 7722*8 - 7722/8 - 7722/16 = (7722<<3) - (7722>>3) - (7722>>4) =
= 61776 - 965 - 482 = 60239 Па - формула работает ( >> - сдвиг вправо; << - сдвиг влево).

Вы не поняли Денис, если подставлять другие значения, на выходе БЕЛЕБЕРА...
Значения в файле во вложении)

79

Re: Извлечение данных наддува из OBDII VAG

Будьте внимательны!
Во вложении файл с Вашими данными и пересчетом по предложенной формуле: Лист 2 столбец Е, сразу в Па без потери точности - никакой БЕЛЕБЕРды. Плюс решается простыми средствами: сдвиг и вычитание, более экономичными с точки времени машинных ресурсов чем деление и умножение.

Вложений в сообщении

Иконка вложения Конечный.xls 140.5 кб, скачивался 101 раз, последний раз 2018-07-26 

80

Re: Извлечение данных наддува из OBDII VAG

Я сделал так, но где то видимо накосячил...

Вложений в сообщении

Иконка вложения 111.cfd 1.08 кб, скачивался 84 раз, последний раз 2018-07-26 

81

Re: Извлечение данных наддува из OBDII VAG

Переполнение. 35000*8 = 280000 > 65535.
Здесь как уже упоминалось раньше - либо работать с декапаскалями, либо переходить на 32бит арифметику.

82

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

Будьте внимательны!
Во вложении файл с Вашими данными и пересчетом по предложенной формуле: Лист 2 столбец Е, сразу в Па без потери точности - никакой БЕЛЕБЕРды. Плюс решается простыми средствами: сдвиг и вычитание, более экономичными с точки времени машинных ресурсов чем деление и умножение.

Всё равно у меня не получается.
По Экселю одни значения. по диаграмме  - другие sad

83

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

сразу в Па без потери точности

Денис, еще вопрос.
А зачем в Па?
Потом надо будет в гПа.
Затем формула (X - 1000)/1000, где X - значение в гПа, а результат получаем в нужных bar...

84

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

Переполнение. 35000*8 = 280000 > 65535.
Здесь как уже упоминалось раньше - либо работать с декапаскалями, либо переходить на 32бит арифметику.

Если честно, для меня пока не понятно...
Как это?

85

Re: Извлечение данных наддува из OBDII VAG

oniava пишет:

Денис, еще вопрос.
А зачем в Па?
Потом надо будет в гПа.
Затем формула (X - 1000)/1000, где X - значение в гПа, а результат получаем в нужных bar...

Денис,как я и не смог решить вопрос с переполнением.

oniava пишет:
Денис, CANNY пишет:

Переполнение. 35000*8 = 280000 > 65535.
Здесь как уже упоминалось раньше - либо работать с декапаскалями, либо переходить на 32бит арифметику.

Если честно, для меня пока не понятно...
Как это?

Снова я без Вас некуда...

86

Re: Извлечение данных наддува из OBDII VAG

Если для отображения требуются именно Бар с сотыми, то тогда изначальная установка, что никакие погрешности не допустимы, на которую я ориентировался, бессмысленна, т.к. сотые Бар это уже точность до 1000 Па (1Бар = 100000Па).
Если требуются Бар с сотыми, то рационально при обработке перевести данные в мБар (миллибарах = 0,001Бар = 1гПа), а привести к Бар с сотыми уже при передаче для отображения, например: в одном байте - целые Бар, в другом - сотые Бар.
При таком подходе нет смысла использовать сложную математику.
Можно успешно использовать Вашу формулу (Х/64)*5 = (Х>>6)*5, а для большей точности ((Х>>3)*5)>>3 (меньше потерь при цельночисленном делении и последующем умножении), в гПа, или 0,001Бар.
Для вычисления дополнительного давления можно просто вычесть из полученного значения 1000 мБар.

87

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

Если требуются Бар с сотыми, то рационально при обработке перевести данные в мБар (миллибарах = 0,001Бар = 1гПа), а привести к Бар с сотыми уже при передаче для отображения, например: в одном байте - целые Бар, в другом - сотые Бар.

Опять нюанс.
В сканере разработчики ошиблись и там должно быть не - hPa, а мБар.

88

Re: Извлечение данных наддува из OBDII VAG

oniava пишет:
Денис, CANNY пишет:

Если требуются Бар с сотыми, то рационально при обработке перевести данные в мБар (миллибарах = 0,001Бар = 1гПа), а привести к Бар с сотыми уже при передаче для отображения, например: в одном байте - целые Бар, в другом - сотые Бар.

Опять нюанс.
В сканере разработчики ошиблись и там должно быть не - hPa, а мБар.

И снова вопрос,
Как быть с переполнением?

89

Re: Извлечение данных наддува из OBDII VAG

При использовании формулы ((Х>>3)*5)>>3 переполнения не будет при любых Х (от 0 до 65535) - здесь ведь в общем выполняется деление на 12,8, а последовательность операций я подобрал так, чтобы избежать возможных проблем с переполнением, при этом сохранив максимальную точность.

90

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

При использовании формулы ((Х>>3)*5)>>3 переполнения не будет при любых Х (от 0 до 65535) - здесь ведь в общем выполняется деление на 12,8, а последовательность операций я подобрал так, чтобы избежать возможных проблем с переполнением, при этом сохранив максимальную точность.

Пробую что получится...

91

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

При использовании формулы ((Х>>3)*5)>>3 переполнения не будет при любых Х (от 0 до 65535) - здесь ведь в общем выполняется деление на 12,8, а последовательность операций я подобрал так, чтобы избежать возможных проблем с переполнением, при этом сохранив максимальную точность.

Пробую что получится...

92

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

При использовании формулы ((Х>>3)*5)>>3 переполнения не будет при любых Х (от 0 до 65535) - здесь ведь в общем выполняется деление на 12,8, а последовательность операций я подобрал так, чтобы избежать возможных проблем с переполнением, при этом сохранив максимальную точность.

Да Денис, формула ((Х>>3)*5)>>3 работает безупречно и без переполнения!
Спасибо.

Теперь осталось перевести в bar и нужно думать как  вывести на LCD дисплей!

93

Re: Извлечение данных наддува из OBDII VAG

Работа диаграммы:
1)
В DEC = 12981
Получаем по формуле ((Х>>3)*5)>>3 на выходе 1013.
(1013 - 1000)/1000 = 0,013
По диаграмме:
Частное - 0
Остаток - 13
"0" - теряется
-----------------
2)
В DEC = 24689
Получаем по формуле ((Х>>3)*5)>>3 на выходе 1929.
(1013 - 1000)/1000 = 0,928
По диаграмме:
Частное - 0
Остаток - 928
Всё верно!
-----------------
3)
В DEC = 30304
Получаем по формуле ((Х>>3)*5)>>3 на выходе 2667.
(1013 - 1000)/1000 = 0,368
По диаграмме:
Частное - 0
Остаток - 367
Всё верно!
-----------------
В первом примере Денис "0" потерялся.
Как можно исправить?

Вложений в сообщении

Иконка вложения 1.png 104.51 кб, скачивался 40 раз, последний раз 2018-07-27 

94

Re: Извлечение данных наддува из OBDII VAG

1)
В DEC = 12981
Получаем по формуле ((Х>>3)*5)>>3 на выходе 1013.
(1013 - 1000)/1000 = 0,013
По диаграмме:
Частное - 0
Остаток - 13
"0" - теряется
-----------------

Ничего не теряется. В остальных примерах по 3 символа а тут 2... подавляется (не отображается) лидирующий 0 - это ведь тысячные доли. 13 тысячных (0,013 Бар) и 928 тысячных (0,928 Бар) - все сходится.

95

Re: Извлечение данных наддува из OBDII VAG

Денис, CANNY пишет:

Ничего не теряется. В остальных примерах по 3 символа а тут 2... подавляется (не отображается) лидирующий 0 - это ведь тысячные доли. 13 тысячных (0,013 Бар) и 928 тысячных (0,928 Бар) - все сходится.

Отображаться будет то же 0.013?

96

Re: Извлечение данных наддува из OBDII VAG

Диаграмма пока такая получилась.

Вложений в сообщении

Иконка вложения Безымянный.cfd 1.92 кб, скачивался 93 раз, последний раз 2018-07-27 

97

Re: Извлечение данных наддува из OBDII VAG

Ошибку нашел, подправил.

Вложений в сообщении

Иконка вложения 000.cfd 1.92 кб, скачивался 85 раз, последний раз 2018-07-27 

98

Re: Извлечение данных наддува из OBDII VAG

Коммутаторы, что бы отфильтровать значения меньше 1000.
Или всё  равно не нужны?

99

Re: Извлечение данных наддува из OBDII VAG

Да, обратил внимание, но не успел написать.

100

Re: Извлечение данных наддува из OBDII VAG

Осталось как то вывести на LCD.
Не знаю даже, с чего начать...