Сегодня добавил в SECU-3 Manager возможность экспорта и импорта таблиц из файла в формате S3F. Это собственный формат, который я разработал для того, чтобы была возможность хранить таблицы отдельно от прошивки. Это немного упростит обмен таблицами между пользователями. Кроме этого, я давно хотел чтобы у SECU-3 был собственный формат
Это файл с размером примерно 12кБ и с расширением s3f.
С форматом файла можно подробнее познакомиться изучив код в файле https://github.com/ashabelnikov/secu3ma ... DataIO.cpp
p.s. Это специализированная тема, общая тема по SECU-3 Manager viewtopic.php?f=68&t=959
Собственный формат S3F для хранения таблиц SECU-3
Moderator: STC
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Собственный формат S3F для хранения таблиц SECU-3
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Re: Собственный формат S3F для хранения таблиц SECU-3
Супер! Этого не хватало с момента внедрения редактирования таблиц, т.е. ооочень давно))
-
- LQFP112 - Up with the play
- Posts: 200
- Joined: Sat Jun 09, 2012 11:12 am
Re: Собственный формат S3F для хранения таблиц SECU-3
Посмотрел формат S3F.STC wrote: ... добавил в SECU-3 Manager возможность экспорта и импорта таблиц из файла в формате S3F.
Нашел в файле FirmwareDataMediator.cpp определение
структур. Поправь если ошибаюсь.
struct S3FMapSetItem == struct f_data_t;
S3FSepMaps.attenuator_table == fw_ex_data_t.attenuator_table;
S3FSepMaps.dwellcntrl_table == fw_ex_data_t.coil_on_time;
S3FSepMaps.ctscurve_table == fw_ex_data_t.cts_curve;
S3FSepMaps.ctscurve_vlimits[2]==???
Это - Related voltage limits
_uint cts_vl_begin;
_uint cts_vl_end; ???
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Собственный формат S3F для хранения таблиц SECU-3
Да, эти структуры соответствуют друг другу (логически).
S3FSepMaps.ctscurve_vlimits[2], да это они:
//Related voltage limits
_uint cts_vl_begin;
_uint cts_vl_end;
Это два напряжения определяющие диапазон по горизонтальной оси графика ДТОЖ (тот, который задает зависимость температуры от напряжения). Эти значения редактируются под графиком.
S3FSepMaps.ctscurve_vlimits[2], да это они:
//Related voltage limits
_uint cts_vl_begin;
_uint cts_vl_end;
Это два напряжения определяющие диапазон по горизонтальной оси графика ДТОЖ (тот, который задает зависимость температуры от напряжения). Эти значения редактируются под графиком.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
-
- LQFP112 - Up with the play
- Posts: 200
- Joined: Sat Jun 09, 2012 11:12 am
Re: Собственный формат S3F для хранения таблиц SECU-3
Спасибо за разъяснение.STC wrote:Да, эти структуры соответствуют друг другу (логически)
Я посмотрел механизм доступа к таблицам - это выражения типа:
fw_data_t* p_fd =
(fw_data_t*)(p_bytes + m_lip->FIRMWARE_DATA_START);
Как ты смотришь на то, чтобы немного изменить этот механизм?
Например определить структуру
typedef struct
{
typedef struct
{
unsigned char code [SIZE_CODE];
}code_mem;
fw_data_t fwd;
typedef struct
{
unsigned char bootloader [SIZE_BTLDR];
}bootloader_mem;
}device_mem;
SIZE_CODE, fw_data_t, SIZE_BTLDR известны на этапе компиляции.
Доступ к fw_data_t сводится к команде
(если p_bytes - указатель на массив содержащий прошивку):
fw_data_t* p_fd =
(fw_data_t*)(p_bytes + offsetof(device_mem ,fw_data_t) );
Вычисление смещения - на этапе компиляции.
Можно даже так:
fw_data_t* p_fd = &((device_mem*)p_bytes)->fw_data_t;
PS
Структура device_mem немного не читабельна из-за отсутствия пробелов -)
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Собственный формат S3F для хранения таблиц SECU-3
В принципе можно. А вообще зачем изменять механизм? Просто отрефакторить для улучшения красоты кода?
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
-
- LQFP112 - Up with the play
- Posts: 200
- Joined: Sat Jun 09, 2012 11:12 am
Re: Собственный формат S3F для хранения таблиц SECU-3
Код становится проще и более "читабельным" -)STC wrote:В принципе можно. А вообще зачем изменять механизм? Просто отрефакторить для улучшения красоты кода?
Особенно для других (не для автора) -)
Да и упрощение механизма доступа идет только на пользу программе.
Что касается лично меня -), то были заморочки при реализации доступа к таблицам. Хотелось бы проще...
В общем, если дойдет очередь до реализации - не сочти за труд ... -)
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
- STC
- LQFP144 - On Top Of The Game
- Posts: 2420
- Joined: Fri Oct 22, 2010 10:47 pm
- Location: Ukraine, Kiev
- Contact:
Re: Собственный формат S3F для хранения таблиц SECU-3
ок
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook