Page 1 of 1

Дополнительный вход для переключения между таблицами

Posted: Wed Feb 06, 2013 4:58 pm
by STC
(Additional input for switching between maps)

Есть предложение добавить в прошивку возможность переназначения дополнительного входа (назовем его MAPSEL0), который в комбинации со входом газового клапана (GAS_V) позволит переключаться между 4 разными наборами таблиц.

Реализация следующая. Сейчас при появлении высокого уровня на входе GAS_V включается набор таблиц выбранный для газа, при низком уровне на входе GAS_V включается набор таблиц для бензина. Вход MAPSEL0 позволит переключаться между 2-мя наборами таблиц на газу и 2-мя на бензине.
В качестве дополнительных таблиц предлагаю использовать наборы под номером 1 и 2, первый для бензина, второй для газа.

Таблица истинности (GAS_V, MAPSEL0): :lol:
00 Набор выбранный для бензина (на вкладке парам. "Функции")
01 1-й набор
10 Набор выбранный для газа (на вкладке парам. "Функции")
11 2-й набор

Примеры реализации.
1. Галетный переключатель на 4 положения. Входы GAS_V и MAPSEL0 подключены к переключателю.
2. Обычный выключатель подключенный к входу переназначенному как MAPSEL0, вход GAS_V подключен к газовому клапану.

В аппаратной части ничего не меняется, это чисто программная фишка (переназначаете любой из входов).

[Добавлено 10.02.2012]
Добавил в прошивку поддержку данной функции. Внимание! На данный момент эта функция работает только если прошивка скомпилирована без опции REALTIME_TABLES

Re: Дополнительный вход для переключения между таблицами

Posted: Wed Feb 06, 2013 5:13 pm
by KS_Dragon
Я считаю что нужен, да и если есть возможностьвместо карт на газ залить свои на бензин, в целях настройки и сравнения с другими картами других пользователей.

Re: Дополнительный вход для переключения между таблицами

Posted: Wed Feb 06, 2013 7:17 pm
by denami
Данная опция будет полезной, так как качество ДД оставляет желать лучшего либо возможно его отсутствие. Держать углы по которым можно переключаться на пониженные при плохом топливе будет удобно. Так же откатывать с возможностью сравнить на ходу карты это вообще замечательно.

Re: Дополнительный вход для переключения между таблицами

Posted: Sat Feb 09, 2013 11:33 pm
by STC
Сделал этот дополнительный вход, называется MAPSEL0. В качестве MAPSEL0 можно переназначить входы ADD_IO1, ADD_IO2 или PS.
Важная деталь. Вход работает только если прошивка скомпилирована без опции REALTIME_TABLES. Это связано с тем, что в ОЗУ помещается только 2 набора таблиц, а в момент редактирования нельзя подгружать другие наборы (будут конфликты и путаница) + ограничения гарвардской архитектуры (разные типы указателей на данные в ОЗУ и FLASH). Долго объяснять... Как вариант можно написать несколько функций-оберток для доступа к данным из переключаемых таблиц, но это немного увеличит размер кода прошивки, а главно увеличит время выборки из таблиц. Ну а если короче, то я не стал пока с этим заморачиваться. Думаю и так сойдет.