Запись пробега для Nissan 1997/1999.

Нужный пробег в километрах делим на единицу отсчета - 0.838857 км.

-------------------------------------------------------------------------
Может быть, панель пишет новые значения в EEPROM через каждые полмили?

1 миля = 1609,344 метра, полмили = 804,672 метра.

Калькулятор, который имеет в названии ver2, считает пробег на основании мили
--------------------------------------------------------------------------

Получившееся число в 6 младших разрядах содержит пробег в единицах километров
(это значение записывается в адресах 0x28...0x34), старшие биты делятся 
по 5 бит, в каждой пятерке все биты утраиваются (получается 15 бит) и 
устанавливается старший бит слова. Слово, получившееся из младших 5 бит, 
записывается в 0x35, среднее - в 0x36, старшее - в 0x37,

Пример: пробег 100000 км.

100000 / 0.838857 = 119209,8 = 119210


       119210 = 00001 11010 00110 101010
                ||||| ||||| ||||| \\\\\\_6 младших бит кодируются в 0x28...0x34 
                ///// ||||| \\\\\
               /////  |||||  \\\\\
              /////   |||||   \\\\\
             /////    |||||    \\\\\
            /////     |||||     \\\\\
           /////      |||||      ----------------------\
          /////       \\\\\                            |
           /           \\\\\                           |
утраиваем каждый бит  утраиваем каждый бит     утраиваем каждый бит
          |                      |                     |        
0000 0000 0000 0111   0111 1110 0011 1000      0000 0001 1111 1000 
          |                      |                     |        
   Устанавливаем           Устанавливаем         Устанавливаем
    старший бит             старший бит           старший бит      
          |                      |                     |           
1000 0000 0000 0111   1111 1110 0011 1000      1000 0001 1111 1000 
          |                      |                     |        
        0x8007                 0xFE38                0x81F8
          |                      |                     |       
      пишем в 0x37           пишем в 0x36          пишем в 0x35


Кодирование 6 младших бит:

Возможные значения 0...63.
Делим на 5 - получаем смещение от ячейки 0x28.
Возможные смещения:     0 ... 63/5 = 12

По остатку от деления выбираем слово, которое нужно записать и записываем
в 0x28 + смещение 
***************************************************************

Для второго калькулятора Nissana я ничего не менял, сделал как Вы мне прислали.



