Столкнулся со следующей задачей. Дано:
- монитор NL10276BC13-01C
- Одноплатный компьютер МВ7707 (ОС Linux).
Одномодульный компьютер имеет строго заданные значения разрешения. К сожалению, ни одно разрешение в МВ7707 не подходит для монитора NL10276BC13-01C (1024х768). Есть возможность изменять разрешения в МВ7707, путем изменения таймингов разрешения в исходном коде драйвера [GitHub] (https://github.com/RC-MODULE/linux-3.10.x/blob/k1879-3.10.28/drivers/video/module_vdu_core.c#L138) . Но есть одно большое НО:
- Pixeclock может принимать только два значения 74250000 или 27000000.
- Максимальное значение принимаемых Pixeclock по горизонтали - 1344, по вертикали - от 780 до 806.
На основе двух вышеизложенных разрешений, необходимо сгенерировать тайминги для разрешения 1024х768 (на счет fps ничего не могу сказать), в формате
[MVDU_MODE_HD_720_P_60] = {
.width = 1280,
.height = 720,
.vmode = MVDU_MODE_PROGRESSIVE,
.pixclock = 74250000,
.mode = 0x16,
.h_blank = 362,
.h_active = 1280,
.h_total = 1650,
.hs_start = 110,
.hs_len = 40,
.hs_delay = 220,
.v_blank_beg = 25,
.v_active = 720,
.v_total = 750,
.v_blank_end = 5,
.vs_start = 0,
.vs_len = 5,
.vs_p = 1,
}