Worldmaster 0 9 августа Опубликовано 9 августа (изменено) · Жалоба Здравствуйте. В общем ситуация следующая. Сделал кадровый буфер, данные собираются, штампуются данными гироскопа и передаются на комп. что качается камеры: 1. ядро MIPI RX Advance - получает сырой поток с камеры. 2. ядро MIPI DSI/CSI-2 Receiver - получает сырой поток с предыщего ядра и обрабатывает пакеты данных. 3. ядро MIPI Byte-to-Pixel Converter - получает пакеты с предыдущего ядра и выделяет из них данные пикселей. Так вот Вроде бы все работает как и должно. С последнего ядра есть сигналы O_LineValid и O_FrameValid. Собрал тестовый образец таким образом что сигнал O_LineValid вывожу на светодиод. Выходная частота пикселей 28мгц. Вот так сделал связи: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; use IEEE.numeric_std.all; entity camera_csi_processor is port ( RESET: in std_logic := '0'; DATA_P: in std_logic := '0'; DATA_N: in std_logic := '0'; DATA_2_P: in std_logic := '0'; DATA_2_N: in std_logic := '0'; CLK_P: in std_logic := '0'; CLK_N: in std_logic := '0'; MipiEn: in std_logic := '0'; I_Pix_Clk: in std_logic := '0'; O_FrameValid : out std_logic := '0'; O_LineValid : out std_logic := '0'; O_PixData: out std_logic_vector(15 downto 0) := (others => '0') ); end camera_csi_processor; architecture logic of camera_csi_processor is constant I_REF_DataType: std_logic_vector(5 downto 0) := "101010"; -- "RAW-8, 6'h2A" signal O_ShortPack_EN: std_logic := '0'; signal O_LongPack_EN: std_logic := '0'; signal O_DataTypeMatch_EN: std_logic := '0'; signal O_ECC_OK: std_logic := '0'; signal O_ECC: std_logic_vector(7 downto 0) := (others => '0'); signal O_ChanelID: std_logic_vector(1 downto 0) := (others => '0'); signal DataType: std_logic_vector(5 downto 0) := (others => '0'); signal PayloadDataCnt: std_logic_vector(15 downto 0) := (others => '0'); signal PAYLOAD: std_logic_vector(15 downto 0) := (others => '0'); signal PAYLOAD_DV: std_logic_vector(1 downto 0) := (others => '0'); signal Mipi_Ready: std_logic := '0'; signal Mipi_Data_Read_Clk: std_logic := '0'; signal Mipi_Data_Out1: std_logic_vector(7 downto 0) := (others => '0'); signal Mipi_Data_Out0: std_logic_vector(7 downto 0) := (others => '0'); component mipi_rx port ( reset_n: in std_logic; HS_CLK_P: in std_logic; HS_CLK_N: in std_logic; clk_byte_out: out std_logic; HS_DATA1_P: in std_logic; HS_DATA1_N: in std_logic; data_out1: out std_logic_vector(7 downto 0); HS_DATA0_P: in std_logic; HS_DATA0_N: in std_logic; data_out0: out std_logic_vector(7 downto 0); hs_en: in std_logic; clk_term_en: in std_logic; data_term_en: in std_logic; ready: out std_logic ); end component; component MIPI_DSI_CSI2_RX_Top port ( I_RSTN: in std_logic; I_BYTE_CLK: in std_logic; I_REF_DT: in std_logic_vector(5 downto 0); I_READY: in std_logic; I_DATA0: in std_logic_vector(7 downto 0); I_DATA1: in std_logic_vector(7 downto 0); O_SP_EN: out std_logic; O_LP_EN: out std_logic; O_LP_AV_EN: out std_logic; O_ECC_OK: out std_logic; O_ECC: out std_logic_vector(7 downto 0); O_WC: out std_logic_vector(15 downto 0); O_VC: out std_logic_vector(1 downto 0); O_DT: out std_logic_vector(5 downto 0); O_PAYLOAD: out std_logic_vector(15 downto 0); O_PAYLOAD_DV: out std_logic_vector(1 downto 0) ); end component; component MIPI_Byte_to_Pixel_Converter_Top port ( I_RSTN: in std_logic; I_BYTE_CLK: in std_logic; I_PIXEL_CLK: in std_logic; I_SP_EN: in std_logic; I_LP_AV_EN: in std_logic; I_DT: in std_logic_vector(5 downto 0); I_WC: in std_logic_vector(15 downto 0); I_PAYLOAD_DV: in std_logic_vector(1 downto 0); I_PAYLOAD: in std_logic_vector(15 downto 0); O_FV: out std_logic; O_LV: out std_logic; O_PIXEL: out std_logic_vector(15 downto 0) ); end component; begin MyMIPI: mipi_rx port map ( reset_n => RESET, HS_CLK_P => CLK_P, HS_CLK_N => CLK_N, HS_DATA1_P => DATA_2_P , HS_DATA1_N => DATA_2_N , HS_DATA0_P => DATA_P, HS_DATA0_N => DATA_N, ready => Mipi_Ready, clk_byte_out => Mipi_Data_Read_Clk, data_out1 => Mipi_Data_Out1, data_out0 => Mipi_Data_Out0, hs_en => MipiEn, clk_term_en => '1', data_term_en => '1' ); cam1_reader: MIPI_DSI_CSI2_RX_Top port map ( I_RSTN => RESET, I_REF_DT => I_REF_DataType, I_BYTE_CLK => Mipi_Data_Read_Clk, I_READY => Mipi_Ready, I_DATA0 => Mipi_Data_Out0, I_DATA1 => Mipi_Data_Out1, O_SP_EN => O_ShortPack_EN, O_LP_EN => O_LongPack_EN, O_LP_AV_EN => O_DataTypeMatch_EN, O_ECC_OK => O_ECC_OK, O_ECC => O_ECC, O_VC => O_ChanelID, O_DT => DataType, O_WC => PayloadDataCnt, O_PAYLOAD => PAYLOAD, O_PAYLOAD_DV => PAYLOAD_DV ); ca1_pix_conv: MIPI_Byte_to_Pixel_Converter_Top port map ( I_RSTN => RESET, I_BYTE_CLK => Mipi_Data_Read_Clk, I_SP_EN => O_ShortPack_EN, I_LP_AV_EN => O_LongPack_EN, I_DT => DataType, I_WC => PayloadDataCnt, I_PAYLOAD_DV => PAYLOAD_DV, I_PAYLOAD => PAYLOAD, I_PIXEL_CLK => I_Pix_Clk, O_FV => O_FrameValid, O_LV => O_LineValid, O_PIXEL => O_PixData ); end architecture; После настройки камеры и включения этот светодиод начинает мигать с разной периодичностью. Я так понимаю это означает что с камеры идет полноценный поток, он корректно дешифруется и обрабатываются пакеты и по итогу система даже достает пиксели из пакетов. Далее я укладываю их в оперативу и затем считываю на комп. Оператива проверена следующим образом: Создан процесс со счетчиком на частоте 28мгц. и он просто на каждом такте увеличивает значение и подает его на вход оперативы. На компе при считывании я вижу правильные данные от 1 до 255 . Но если я завожу сигнал O_PixData с конвертера то на компе какая то хрень происходит. Данные в основном идут 0xff. Пробовал визуализировать и вот что получается: Что это за хрень то? и главное почему так? Настройки камеры я взял с файла который китайцы предоставили. arx.WriteRegister(d3xxDevice, 0x0304, 2); // : 2 = 24 arx.WriteRegister(d3xxDevice, 0x0306, 32); // x 32 = 768 = vt_pix_clk arx.WriteRegister(d3xxDevice, 0x0302, 1); // 1 arx.WriteRegister(d3xxDevice, 0x0300, 9); // vt_pix_clk / 4 = 192 Мгц = OP_SYS_CLK arx.WriteRegister(d3xxDevice, 0x030A, 1); // 1 arx.WriteRegister(d3xxDevice, 0x0308, 9); // vt_pix_clk / 8 = 24 Мгц = op_pix_clk arx.WriteRegister(d3xxDevice, 0x31B0, 0x0047); // FRAME_PREAMBLE arx.WriteRegister(d3xxDevice, 0x31B2, 0x0026); // LINE_PREAMBLE arx.WriteRegister(d3xxDevice, 0x31B4, 0x328C); // MIPI_TIMING_0 arx.WriteRegister(d3xxDevice, 0x31B6, 0x32E8); // MIPI_TIMING_1 arx.WriteRegister(d3xxDevice, 0x31B8, 0x1C12); // MIPI_TIMING_2 arx.WriteRegister(d3xxDevice, 0x31BA, 0x1452); // MIPI_TIMING_3 arx.WriteRegister(d3xxDevice, 0x31BC, 0x8488); // MIPI_TIMING_4 arx.WriteRegister(d3xxDevice, 0x31E0, 0x00F1); // PIX_DEF_ID arx.WriteRegister(d3xxDevice, 0x31E6, 0xA35F); // PIX_DEF_ID_2 arx.WriteRegister(d3xxDevice, 0x3120, 0x0001); // GAIN_DITHER_CONTROL arx.WriteRegister(d3xxDevice, 0x301E, 0x002A); // DATA_PEDESTAL_ arx.WriteRegister(d3xxDevice, 0x0344, 0x0004); // X_ADDR_START arx.WriteRegister(d3xxDevice, 0x0346, 0x0004); // Y_ADDR_START arx.WriteRegister(d3xxDevice, 0x0348, 0x0233); // X_ADDR_END 559 arx.WriteRegister(d3xxDevice, 0x034A, 0x0233); // Y_ADDR_END 559 arx.WriteRegister(d3xxDevice, 0x034C, 0x0230); // X_OUTPUT_SIZE 560 arx.WriteRegister(d3xxDevice, 0x034E, 0x0230); // Y_OUTPUT_SIZE 560 arx.WriteRegister(d3xxDevice, 0x3040, 0x0041); // READ_MODE arx.WriteRegister(d3xxDevice, 0x30A4, 0x0001); // Y_EVEN_INC_ arx.WriteRegister(d3xxDevice, 0x0342, 0x02F8); // LINE_LENGTH_PCK 760 arx.WriteRegister(d3xxDevice, 0x0340, 0x0248); // FRAME_LENGTH_LINES 584 arx.WriteRegister(d3xxDevice, 0x3012, 0x0107); // COARSE_INTEGRATION_TIME_ // RAW format 8bit arw = arx.ReadRegister(d3xxDevice, 0x0112); arx.WriteRegister(d3xxDevice, 0x0112, 0x0808); // RAW 8bit // // 2lane format // arw = arx.ReadRegister(d3xxDevice, 0x31AE); // формат 2-lane // arx.WriteRegister(d3xxDevice, 0x31AE, 0x0202); // // режим тестового вывода BAR monochrome arw = arx.ReadRegister(d3xxDevice, 0x3070); arx.WriteRegister(d3xxDevice, 0x3070, 3); // BAR monochrome Единственное тут есть параметры: REG= 0x31B0, 0x0047 // FRAME_PREAMBLE REG= 0x31B2, 0x0026 // LINE_PREAMBLE Но я в настройках корки нигде не увидел задание этих параметров. Как их использовать то? Даже специально включил BAR monochrome чтобы данные шли понятные. Вот оригинальный файл но я достал только те данные которые похожи на правду и для которых есть описание в даташите. остальное я вообще не понял зачем нужно. ARX3A0_MIPI_2LANE_560X560.ini Даже не знаю куда думать. (( Может у кого есть какие нибудь идеи что происходит?? Изменено 9 августа пользователем Worldmaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DanilinS 4 9 августа Опубликовано 9 августа · Жалоба Quote После настройки камеры и включения этот светодиод начинает мигать с разной периодичностью. Я так понимаю это означает что с камеры идет полноценный поток, он корректно дешифруется и обрабатываются пакеты и по итогу система даже достает пиксели из пакетов. Нет. 3 модуля последовательно. С непонятной работоспособность. Что могло пойти не так ... Отлаживать поэтапно. Как минимум - писать тестбенч и смотреть реакцию модулей. А лучше - поэтапная отдадка. С выводом данных на логический анализатор. Встроенный или внешний. Подключаем 1 ядро. Смотрим что на выходе. Как формируется кадр. И что там вообще формируется. Далее подключаем 2 ядро - смотри выход. Адекватные данные? Ни и 3 ядро аналогично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 10 августа Опубликовано 10 августа · Жалоба Возьмите сохраните какую то область изображения в блочной памяти или не несколько строк (посмотрите есть ли реакция на свет - писксели меняют значения) потом данные передайте на комп например через юарт например или посмотрите на них в внутрисхемном отладчике убедитесь что принимаете с камеры правильные данные потом тоже самое после вычитки с ddr памяти Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 10 августа Опубликовано 10 августа · Жалоба On 8/9/2024 at 3:56 PM, Worldmaster said: Сделал кадровый буфер, данные собираются, штампуются данными гироскопа и передаются на комп. Прям поверх байеровской мозаики? Вообще, о какой ПЛИС речь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 12 августа Опубликовано 12 августа (изменено) · Жалоба В 09.08.2024 в 19:21, DanilinS сказал: С непонятной работоспособность. Что могло пойти не так ... Почему с непонятной? Есть даташиты и рефдизайны. Причем сигналы тут почти один в один переходят из одного компонента в другой. В 09.08.2024 в 19:21, DanilinS сказал: Как минимум - писать тестбенч и смотреть реакцию модулей. В тестбенче все работает. В 10.08.2024 в 16:25, Maverick_ сказал: Возьмите сохраните какую то область изображения в блочной памяти или не несколько строк (посмотрите есть ли реакция на свет - писксели меняют значения) Ну в оперативу и сохраняется. Должно по крайней мере. В 10.08.2024 в 16:25, Maverick_ сказал: через юарт например УАРТ к сожалению не предусмотрели на плате. В 10.08.2024 в 16:25, Maverick_ сказал: убедитесь что принимаете с камеры правильные данные По идее все что валится с камеры я складывал в оперативу и потом вычитывал на комп. Но там тоже какие то странные данные. Куски рандомных значений и в основном 0xFF постоянно. Думал что это особенности протокола мипи но даже с декодером пакетов ситуация не изменилась. В 10.08.2024 в 23:27, gosha-z сказал: Прям поверх байеровской мозаики? При чем тут это? После обработки пакетов на выходе есть пиксельные данные. Они складываются в оперативу. При считывании с компа запрашивается размер кадра + размер пакета гироскопа. ПЛИС выдает вначале одни данные затем другие. На компе происходит разбор структуры и обработка. В 10.08.2024 в 23:27, gosha-z сказал: Вообще, о какой ПЛИС речь? GW2AR-LV18EQ144C8/I7 Поставил разрешение записи данных при cam_pix_valid <= cam1_line_valid and cam1_frame_valid; И прилетели вот такие данные. Может это на что нибудь похоже?? Если светить фонариком в камеру данные не меняются. Изменено 12 августа пользователем Worldmaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 12 августа Опубликовано 12 августа · Жалоба А тест паттерн в камере имеется? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 12 августа Опубликовано 12 августа · Жалоба В 12.08.2024 в 10:42, gosha-z сказал: А тест паттерн в камере имеется? Да. Задаю вот так: // параметры для solid monochrome test arw = arx.ReadRegister(d3xxDevice, 0x3072); // TEST_DATA_RED_ (R/W) arx.WriteRegister(d3xxDevice, 0x3072, 0xAA); arw = arx.ReadRegister(d3xxDevice, 0x3074); // TEST_DATA_GREENR_ (R/W) arx.WriteRegister(d3xxDevice, 0x3074, 0xBB); arw = arx.ReadRegister(d3xxDevice, 0x3076); // TEST_DATA_BLUE_ (R/W) arx.WriteRegister(d3xxDevice, 0x3076, 0xCC); arw = arx.ReadRegister(d3xxDevice, 0x3078); // TEST_DATA_GREENB_ (R/W) arx.WriteRegister(d3xxDevice, 0x3078, 0xEE); arw = arx.ReadRegister(d3xxDevice, 0x3070); arx.WriteRegister(d3xxDevice, 0x3070, 1); // BAR monochrome Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 12 августа Опубликовано 12 августа · Жалоба Задал монохромный тест и удалось получить сырые данные с линий MIPI. E0 E0 AE F2 08 02 28 28 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 28 2A 28 28 A8 E8 0E FD FD FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0F 0F 00 00 00 00 00 00 00 00 00 00 00 00 F8 F8 FF FF FF FF FF FF 1F 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Вроде бы уже видно какую то структуру. Формат пикселя RAW8 (2A). Можно тут понять что является заголовком а что данными? Формат MIPI есть но в нем я не могу найти кодов для SOT и прочих дескрипторов. Может кто знает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 12 августа Опубликовано 12 августа · Жалоба Lane rate на передающей и приемной стороне совпадают? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 12 августа Опубликовано 12 августа · Жалоба В 12.08.2024 в 16:01, gosha-z сказал: Lane rate на передающей и приемной стороне совпадают? Ну да. там частота 30 мегагерц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 12 августа Опубликовано 12 августа · Жалоба 3 minutes ago, Worldmaster said: Ну да. там частота 30 мегагерц. Ээээ, а формат какой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 12 августа Опубликовано 12 августа · Жалоба В 12.08.2024 в 16:20, gosha-z сказал: Ээээ, а формат какой? RAW8 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosha-z 3 12 августа Опубликовано 12 августа · Жалоба Просто 30МГц мне кажется маловато... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 12 августа Опубликовано 12 августа · Жалоба В 12.08.2024 в 16:53, gosha-z сказал: Просто 30МГц мне кажется маловато... Почему? Данных то не много. 560*560*8 Параметры камеры я задаю исходя из этой таблицы даташита: Взял самую маленькую частоту. Причем если визуализировать все что приходит сырое то видно изменения яркости. Если закрыть камеру то все чисто зеленое. А если открыть то меняется на светлое. Значит все таки данные приходят какие то. Но по какой то причине я вообще не пойму протокола. Вот дампы с закрытым объективом и открытым. open_img.bin closed_img.bin вот даже задал параметры тестовой картинки: arx.WriteRegister(d3xxDevice, 0x3070, 1); // BAR monochrome // параметры для solid monochrome test arw = arx.ReadRegister(d3xxDevice, 0x3072); // TEST_DATA_RED_ (R/W) arx.WriteRegister(d3xxDevice, 0x3072, 0x400); arw = arx.ReadRegister(d3xxDevice, 0x3074); // TEST_DATA_GREENR_ (R/W) arx.WriteRegister(d3xxDevice, 0x3074, 0x200); arw = arx.ReadRegister(d3xxDevice, 0x3076); // TEST_DATA_BLUE_ (R/W) arx.WriteRegister(d3xxDevice, 0x3076, 0x100); arw = arx.ReadRegister(d3xxDevice, 0x3078); // TEST_DATA_GREENB_ (R/W) arx.WriteRegister(d3xxDevice, 0x3078, 0x80); Тут должно залить монохромным цветом. Вот что получилось: Вот его дамп: img.bin Но тут и в помине нет даже намека на заданные цвета. Хрень какая то.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться