Собственный формат S3F для хранения таблиц SECU-3

Обсуждение программного обеспечения для ПК и БК. Discussion of related computer software.

Moderator: STC

Post Reply
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Собственный формат S3F для хранения таблиц SECU-3

Post by STC »

Сегодня добавил в 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
Attachments
s3f_menu_items.gif
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
DGrees
LQFP112 - Up with the play
Posts: 209
Joined: Sun Dec 19, 2010 7:47 pm

Re: Собственный формат S3F для хранения таблиц SECU-3

Post by DGrees »

Супер! Этого не хватало с момента внедрения редактирования таблиц, т.е. ооочень давно))
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Собственный формат S3F для хранения таблиц SECU-3

Post by serge__5518 »

STC wrote: ... добавил в SECU-3 Manager возможность экспорта и импорта таблиц из файла в формате S3F.
Посмотрел формат 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
User avatar
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

Post by STC »

Да, эти структуры соответствуют друг другу (логически).
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
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Собственный формат S3F для хранения таблиц SECU-3

Post by serge__5518 »

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
User avatar
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

Post by STC »

В принципе можно. А вообще зачем изменять механизм? Просто отрефакторить для улучшения красоты кода?
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
serge__5518
LQFP112 - Up with the play
Posts: 200
Joined: Sat Jun 09, 2012 11:12 am

Re: Собственный формат S3F для хранения таблиц SECU-3

Post by serge__5518 »

STC wrote:В принципе можно. А вообще зачем изменять механизм? Просто отрефакторить для улучшения красоты кода?
Код становится проще и более "читабельным" -)
Особенно для других (не для автора) -)
Да и упрощение механизма доступа идет только на пользу программе.
Что касается лично меня -), то были заморочки при реализации доступа к таблицам. Хотелось бы проще...
В общем, если дойдет очередь до реализации - не сочти за труд ... -)
ВАЗ 2103 , Secu-3 (m32),
ДАД GM Daewoo, ДТОЖ 23.3828,
Катушка 2111-3705010
User avatar
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

Post by STC »

ок
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
Post Reply