Сообщения без ответов | Активные темы
Автор |
Сообщение |
evgen25rus
|
Добавлено: Ср май 11, 2011 2:54 pm |
|
 |
Бригадир |
 |
Зарегистрирован: Сб янв 29, 2011 1:44 pm Сообщения: 200 Откуда: Владивосток Репутация: 0 [ ? ]
|
Mouflon писал(а): Правильно ли я понимаю, что передаём пакетом? т.е. одна строка - один полный набор данных? Если да, то надо прописать формат параметра. т.е. он, мне кажется должен быть именованный. аля атрибут в XML файле.
Можно передавать как угодно, хоть фрагментировано! Программа приступит к обработке после получения строки от $ до <CR><LF>.
Да, каждое место будет закреплено за определенным параметром.
Типа
$_TRIP,SPEED,RPM,...,.........*XX<CR><LF>
Но я пока не предлагаю, что где разместить. ибо не до конца понял, что будет стороне МК.
Добавлено спустя 1 минуту 30 секунд:
например, МК средние параметры тоже будет расчитывать? а пробег?
как это все потом сбросить? нужно утрясти эти вопросы. и забить конкретные поля за значениями.
_________________ Toyota Cresta 2JZ-GE
MyEngine - http://primavistalab.com/myengine
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Ср май 11, 2011 3:00 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
evgen25rus писал(а): Да, каждое место будет закреплено за определенным параметром.
Вот позиционного кодирования ИМХО не надо... на компе всё равно разбирать в нечто типа hash таблицы, а если передавать только изменённые данные? И мне кажется что было бы хорошо ограничить название параметра 3мя символами. Ну и если скажем 2 датчика прицепили к МК, то надо опционально позволять давать индекс. Кстати, вместо запятой для разделителя мне опять таки кажется лучше использовать ;. Тогда без дополнительных преобразований можно сохранять в файл и загружать в excel например $_TRIP;SPD=100;TMP1=36.5;TMP2=18.6;<CR><LF> или так $_TRIP;SPD=100;TMP1=36.5;TMP2=18.6<CR><LF> $_TRIP;TMP1=36.5<CR><LF> $_TRIP;TMP2=18.6<CR><LF> Цитата: например, МК средние параметры тоже будет расчитывать? а пробег? как это все потом сбросить? нужно утрясти эти вопросы. и забить конкретные поля за значениями.
с компа. UART он же двунаправленный  Поэтому в аналогичном формате пишешь в компорт, и оно обрабатыват команду.
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
evgen25rus
|
Добавлено: Ср май 11, 2011 3:06 pm |
|
 |
Бригадир |
 |
Зарегистрирован: Сб янв 29, 2011 1:44 pm Сообщения: 200 Откуда: Владивосток Репутация: 0 [ ? ]
|
Mouflon
датчики? подалуйста. определяем для них сообщение.
$_SENSOR,N,DATA*
N - номер
DATA - значение с него
насчет остальных изменений в протоколе я против. нужно каждый раз передавать все значения. не нужно избыточно прописывать название нзачения. и не теряй * с контрольной суммой!
Добавлено спустя 1 минуту 51 секунду:
основные сообщения формата должны быть фиксированны.
в дальнейшем каждый разработчки может в своем устростве добавлять новые сообщения и прописывать это в документации.
_________________ Toyota Cresta 2JZ-GE
MyEngine - http://primavistalab.com/myengine
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Ср май 11, 2011 3:13 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
evgen25rus писал(а): насчет остальных изменений в протоколе я против. нужно каждый раз передавать все значения. не нужно избыточно прописывать название нзачения. и не теряй * с контрольной суммой!
Чем обосновано выделенное? Если данные идут не из OBD-I, а напрямую с форсунок, и в них нет информации об угле открытия заслонки - это надо нулями забивать? Опять таки при 6000 об. в минуту форсы за секунду отрабатывают 100 раз, а протокол идёт только 1. не гибко, как мне кажется выходит.
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
avgefke
|
Добавлено: Ср май 11, 2011 3:16 pm |
|
 |
Инструктор |
 |
Зарегистрирован: Чт янв 20, 2011 7:55 pm Сообщения: 258 Откуда: Барнаул Репутация: 0 [ ? ]
|
evgen25rus писал(а): По поводу оболочек типа iCar - протокол это не изменит. Все равно нужно будет создавать промежуточную программу, которая будет получать данные от МК и передавать в оболочку.
Ага понято это так называемый плагин.
_________________ Camry Gracia 1999 5S-Fe. Ничего особенного, обычный японский, народный автомобиль.
Живет в нем ПСКАР; D525, M3-ATX, HDD250SG, 2G, Mystery MMT-8120S,DVD slim, GPS HOLUX M1000, Logitech C905, D-link DWL140, Behold TV X7, Alpine V12 Mrv-F400 Car Amp.
|
|
Вернуться к началу |
|
 |
evgen25rus
|
Добавлено: Ср май 11, 2011 3:23 pm |
|
 |
Бригадир |
 |
Зарегистрирован: Сб янв 29, 2011 1:44 pm Сообщения: 200 Откуда: Владивосток Репутация: 0 [ ? ]
|
Mouflon писал(а): Чем обосновано выделенное? Если данные идут не из OBD-I, а напрямую с форсунок, и в них нет информации об угле открытия заслонки - это надо нулями забивать? Опять таки при 6000 об. в минуту форсы за секунду отрабатывают 100 раз, а протокол идёт только 1. не гибко, как мне кажется выходит.
Стоп! выше же писали, что всю обработку будет делать МК! зачем программе значения форсунок? их можно выводить только в строке _DIAG
_________________ Toyota Cresta 2JZ-GE
MyEngine - http://primavistalab.com/myengine
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Ср май 11, 2011 3:23 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
evgen25rus писал(а): Mouflon писал(а): Чем обосновано выделенное? Если данные идут не из OBD-I, а напрямую с форсунок, и в них нет информации об угле открытия заслонки - это надо нулями забивать? Опять таки при 6000 об. в минуту форсы за секунду отрабатывают 100 раз, а протокол идёт только 1. не гибко, как мне кажется выходит. Стоп! выше же писали, что всю обработку будет делать МК! зачем программе значения форсунок? их можно выводить только в строке _DIAG
отображать.
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
evgen25rus
|
Добавлено: Ср май 11, 2011 3:26 pm |
|
 |
Бригадир |
 |
Зарегистрирован: Сб янв 29, 2011 1:44 pm Сообщения: 200 Откуда: Владивосток Репутация: 0 [ ? ]
|
если данные идут не из OBD 1 то не нужно слать программе строку _DIAG, только _TRIP
Добавлено спустя 1 минуту 8 секунд:
Mouflon писал(а): отображать.
для диагностики есть отдельная строка _DIAG. туда и пихать форсунки, углы, мапы..... если данных нет, то и строку _DIAG не надо слать!
_________________ Toyota Cresta 2JZ-GE
MyEngine - http://primavistalab.com/myengine
|
|
Вернуться к началу |
|
 |
SpiritWar
|
Добавлено: Ср май 11, 2011 4:38 pm |
|
 |
Стажер |
 |
Зарегистрирован: Пн май 09, 2011 9:27 am Сообщения: 24 Откуда: от друга Репутация: 0 [ ? ]
|
Мне кажется мы не тем занимаемся!!! Давайте сначала научим МК читать OBD?!
_________________ Нет ничего не возможного - есть отсутствие знаний и/или желания и/или времени
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Ср май 11, 2011 4:39 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
SpiritWar писал(а): Мне кажется мы не тем занимаемся!!! Давайте сначала научим МК читать OBD?!
ну умеет он у меня читать OBD-I... приеду домой гляну крайние сорцы.
по хорошему бы надо их на gcc портануть.
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
SpiritWar
|
Добавлено: Ср май 11, 2011 4:43 pm |
|
 |
Стажер |
 |
Зарегистрирован: Пн май 09, 2011 9:27 am Сообщения: 24 Откуда: от друга Репутация: 0 [ ? ]
|
Mouflon писал(а): ну умеет он у меня читать OBD-I Тогда делитесь алгоритмом, уважаемый:) потом надо научить его считать, а уж потом крутить протоколы[/quote]
_________________ Нет ничего не возможного - есть отсутствие знаний и/или желания и/или времени
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Ср май 11, 2011 4:49 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
Алгоритм простейший.
Код: // Прерывание по изменению состояния на лапе 2. interrupt [EXT_INT0] void ext_int0_isr(void) { // Изменилось состояние на лапе 2. Соответственно сбрасываем задержку, // и запоминаем состояние last_state = PIND.2; state_delay = 0; }
// Прерывание 8и разрядного таймера-счётчика // Подсчитываем кол-во нулей и единиц и сохраняем значения в массиве. // Кого больше за период времени - то значение и будем считать. // Прерывание происходит 1 раз в 0,125 мсек (частота 2MHz от 0 до 255) interrupt [TIM0_OVF] void timer0_ovf_isr(void) { pin_state[ PIND.2==0?0:1 ]++; state_delay ++; }
// Прерывание 16и разрядного таймера-счётчика // Происходит примерно 1 раз в 8мс interrupt [TIM1_OVF] void timer1_ovf_isr(void) { // Инитим таймер заново. Передёрнет через 8мс. Частота 2 MHz // Если значение сменилось, то если сдвиг большой то сокращаем время impulse = (STANDART_IMPULSE+state_delay*8); if(( state_delay > 10 ) && (last_state != (pin_state[ 0 ] <= pin_state[ 1 ]))){ TCNT1H = impulse >> 8; TCNT1L = impulse & 0xff; } else { TCNT1H = FULL_IMPULSE >> 8; TCNT1L = FULL_IMPULSE & 0xff; } // Сохраняем значение в буфере buffer[in_buffer_idx++] = pin_state[ 0 ] <= pin_state[ 1 ]; // Обнуляем посчитанные значения pin_state[ 0 ] = 0; pin_state[ 1 ] = 0; //сбросили задержку state_delay = 0; }
писано на коленках, не факт что без косяков. надо дорабатывать разбор заголовка, ибо он индивидуален кажется для разных машин, но в первом приближении как то так.
buffer - это массив из 255 байт (unsigned char). он заполняется по кольцу. а в основном цикле если позиция догоняющего указателя не равна позиции догоняемого - обрабатываем байты.
Вложения: |
Комментарий к файлу: Портанул под WinAvr
OBD-IScanner.rar [4.05 КБ]
Скачиваний: 127
|
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
instalator
|
Добавлено: Чт май 12, 2011 7:14 am |
|
 |
Состоявшийся |
 |
Зарегистрирован: Пн апр 04, 2011 5:15 am Сообщения: 61 Откуда: Барнаул Репутация: 0 [ ? ]
|
evgen25rus писал(а):
Предлагаю заложить в ME несколько экранов для отображения...
_________________ Toyota Camry Gracia 5S-FE ПП Japan `98
ASUS LGA775 P5KPL-AM, M2-iTX, HDD250SG, 2G, Mystery MMT-8120S, GPS BU-353, 3G Beeline, JVC RM-RK39, Ivolga BG-1004...
Сайт установщиков автосигнализаций и автозвука
|
|
Вернуться к началу |
|
 |
kid132
|
Добавлено: Чт май 12, 2011 8:39 am |
|
 |
Студент |
 |
Зарегистрирован: Пт май 06, 2011 10:51 am Сообщения: 4 Репутация: 0 [ ? ]
|
Всем привет.
Нашёл я тут таблицу производительности форсунок на Toyota (нужно знать номер использующихся у вас форсунок) http://www.powerstyle.ru/docs/injectors/toyota.htm
Проверил в программе MyEngine-1-3beta по сохранённым данным параметра 2JZ-GE вобщем не совпало. evgen25rus ты не мог ошибиться в производительности своих форсунок? Если я что то не так понял по таблице прошу разъяснить и поправить.
|
|
Вернуться к началу |
|
 |
evgen25rus
|
Добавлено: Чт май 12, 2011 8:51 am |
|
 |
Бригадир |
 |
Зарегистрирован: Сб янв 29, 2011 1:44 pm Сообщения: 200 Откуда: Владивосток Репутация: 0 [ ? ]
|
kid132 писал(а): Всем привет. Нашёл я тут таблицу производительности форсунок на Toyota (нужно знать номер использующихся у вас форсунок) http://www.powerstyle.ru/docs/injectors/toyota.htmПроверил в программе MyEngine-1-3beta по сохранённым данным параметра 2JZ-GE вобщем не совпало. evgen25rus ты не мог ошибиться в производительности своих форсунок? Если я что то не так понял по таблице прошу разъяснить и поправить.
Привет!
я свой номер форс не смотрел, а производительность нашел в книге по машине! ну расход у меня совпадает с реальным, значит все верно.
да и в таблице какие-то другие единицы измерения.
_________________ Toyota Cresta 2JZ-GE
MyEngine - http://primavistalab.com/myengine
|
|
Вернуться к началу |
|
 |
kid132
|
Добавлено: Чт май 12, 2011 3:42 pm |
|
 |
Студент |
 |
Зарегистрирован: Пт май 06, 2011 10:51 am Сообщения: 4 Репутация: 0 [ ? ]
|
Понятно. Буду изучать дальше. Спасибо
|
|
Вернуться к началу |
|
 |
avgefke
|
Добавлено: Пт май 13, 2011 10:56 am |
|
 |
Инструктор |
 |
Зарегистрирован: Чт янв 20, 2011 7:55 pm Сообщения: 258 Откуда: Барнаул Репутация: 0 [ ? ]
|
Ну, что писатели перьями скрипите? Как дело дойдёт до датчиков температуры предлагаю пару штук внешний и внутренний. Можно и третий для мотора тоже
_________________ Camry Gracia 1999 5S-Fe. Ничего особенного, обычный японский, народный автомобиль.
Живет в нем ПСКАР; D525, M3-ATX, HDD250SG, 2G, Mystery MMT-8120S,DVD slim, GPS HOLUX M1000, Logitech C905, D-link DWL140, Behold TV X7, Alpine V12 Mrv-F400 Car Amp.
Последний раз редактировалось avgefke Пт май 13, 2011 1:38 pm, всего редактировалось 2 раз(а).
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Пт май 13, 2011 11:11 am |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
avgefke писал(а): Ну, что писатели перьями скрепите? Как дело дойдёт до датчиков температуры предлога пару штук внешний и внутренний.Можно и третий для мотора тоже
да хоть 10, там же 1-Wire если мы говорим о DS1820. Вопрос в том - как определить какой из них какой. Или это программа будет делать?
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
avgefke
|
Добавлено: Пт май 13, 2011 11:49 am |
|
 |
Инструктор |
 |
Зарегистрирован: Чт янв 20, 2011 7:55 pm Сообщения: 258 Откуда: Барнаул Репутация: 0 [ ? ]
|
А вот это надо вам репу почесать как их организовать и пронумеровать
_________________ Camry Gracia 1999 5S-Fe. Ничего особенного, обычный японский, народный автомобиль.
Живет в нем ПСКАР; D525, M3-ATX, HDD250SG, 2G, Mystery MMT-8120S,DVD slim, GPS HOLUX M1000, Logitech C905, D-link DWL140, Behold TV X7, Alpine V12 Mrv-F400 Car Amp.
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Пт май 13, 2011 12:01 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
avgefke писал(а): А вот это надо вам репу почесать как их организовать и пронумеровать
В принципе можно жёстко зафиксировать кто из них кто и записать в EEPROM. А прога пусть сама расставляет первый датчик это салон или двигатель.
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
evgen25rus
|
Добавлено: Пт май 13, 2011 2:28 pm |
|
 |
Бригадир |
 |
Зарегистрирован: Сб янв 29, 2011 1:44 pm Сообщения: 200 Откуда: Владивосток Репутация: 0 [ ? ]
|
Пользователь сам выбирает какой номер какому датчику будет принадлежать. Я вижу работу так:
Программа получает сообщения _SENSOR с номерами 1,2,6 допустим. Программа предлагает дать названия этим 3-м датчикам.
_________________ Toyota Cresta 2JZ-GE
MyEngine - http://primavistalab.com/myengine
|
|
Вернуться к началу |
|
 |
GASCHE
|
Добавлено: Пт май 13, 2011 2:33 pm |
|
 |
Инструктор |
 |
Зарегистрирован: Пн мар 16, 2009 3:11 pm Сообщения: 306 Репутация: 5 [ ? ]
|
avgefke писал(а): А вот это надо вам репу почесать как их организовать и пронумеровать Зачем нумеровать то? У каждого датчика уже есть свой номер, по которому к нему будет обращаться программа, подключайте по очереди в определенном порядке и прописывайте этот номер.
_________________ Я не диагност я только учусь.
|
|
Вернуться к началу |
|
 |
Mouflon
|
Добавлено: Пт май 13, 2011 3:12 pm |
|
 |
Человек-легенда |
 |
Зарегистрирован: Ср фев 13, 2008 2:13 pm Сообщения: 7062 Откуда: Мытищи Репутация: 150 [ ? ]
Машина: Mitsubishi Outlander XL
Год выпуска: 2008
|
GASCHE писал(а): avgefke писал(а): А вот это надо вам репу почесать как их организовать и пронумеровать Зачем нумеровать то? У каждого датчика уже есть свой номер, по которому к нему будет обращаться программа, подключайте по очереди в определенном порядке и прописывайте этот номер.
передавать номер прошитый в DSке для пользователя как то не комильфо, ИМХО... Пусть уж лучше он последовательно запишет датчики при настройке MK, а потом оперирует уже нормальными числами 1, 2, 3...
_________________ Mitsubishi Outlander XL'2008 6B31 "Кролик" Любителям считать деньги в чужих карманах не хватает времени залатать дыры в своих.
|
|
Вернуться к началу |
|
 |
andrusavto
|
Добавлено: Пт май 13, 2011 3:16 pm |
|
 |
Самостоятельный |
Зарегистрирован: Чт мар 25, 2010 4:58 pm Сообщения: 48 Репутация: 0 [ ? ]
|
Всем привет!!! В программах мало понимаю, поэтому не встреваю, а вот как из протокола еще вытащить датчики интересует, если конечно там есть чего искать, Например датчик тем. воздуха на впуске, Может по автомату что есть там?
Последний раз редактировалось andrusavto Пт май 13, 2011 3:19 pm, всего редактировалось 1 раз.
|
|
Вернуться к началу |
|
 |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|