ВНИМАНИЕ! ATTENTION!

Автор данного документа не несет никакой ответственности за возможные ошибки и неточности, допущенные в документе, и за то, что вы можете сделать со своим телефоном, используя этот документ. The author of this document does not bear any responsibility for any error or omission, admitted in the document, and for what you can do with your phone, using this document.

Все предложения, уточнения, исправления принимаются автором, т.е. All proposals, clarification, the author accepted remedy, that is SPU, по электронной почте . SPU, by e-mail.

Версия 1.3 от 19.05.2007. Version 1.3 of 19.05.2007.

Введение Introduction

Файл драйвера камеры представляет собой текстовый файл с названием camdriver0.dat. Fail camera driver is a text file with the name camdriver0.dat.

NB! Все числовые значения в драйвере указываются в шестнадцатеричном виде! NB! All numerical values in the driver specified in hexadecimal form!

NB! Будте внимательны! NB! Be careful! Вся информация, относительно которой есть только догадки, заключена в красные знаки вопросов. All the information on which is available only speculate, enclosed in red marks issues. Пример: ??? информация под вопросом ??? Example:?? Information in question??

NB! Данное описание не претендует на абсолютную полноту. NB! This description does not claim absolute completeness. Информация, еще не проверенная мной, специально не включена в данный файл. The information has not yet been tested by me, not specifically included in the file.

Вся дальнейшая информация относится исключительно к драйверам телефонов моделей k750, w800, w810 All further information relates exclusively to drivers have k750 phone models, w800, w810

Содержимое драйвера является интерпретируемым кодом. The contents of the driver code is interpreted. Интерпретация происходит непосредственно в момент использования. Interpretation is happening at the time of use. Например, если в драйвере содержится ошибка, то выполнение команд будет продолжаться, пока интерпретатор не достигнет некорректной команды, т.е. For example, if the driver contains an error, the command execution will continue until the interpreter will not reach incorrect command, or правильность всего кода не проверяется перед использованием. correct all code is not checked before use.

NB! Если интерпретатор обнаруживает некорректную команду, то он помечает ВЕСЬ блок кода как некорректный и более не запускает его. NB: If the interpreter finds incorrect command, it marks the ENTIRE code block as incorrect and no longer runs it. Таково поведение интерпретатора в лучшем случае, в худшем телефон может перезагрузиться (например, так часто происходит если нарушена стандартная структура своиств). This behavior interpreter at best, and at worst could restart the phone (for example, as often happens if the structure violated standard properties).

Для программирования драйвера доступны 16 регистров r0rf . Software drivers are available for 16 registers r0 - rf. Размер регистра 4 байта. Size register 4 bytes.

NB! Все команды работают с аргументом в 1 байт! NB! All teams work with the argument in 1 byte! Однако вычисления всегда проводятся с регистрами полного размера. However, calculations are always registers full size.

Для вставки комментария в код используется пара символов // . To insert a comment in the code is a pair of characters / /. Все, что начинается с этих символов и заканчивается концом строки, считается комментарием. All that begins with those characters, and ends with the end of the line is considered commentary. Например: //комментарий For example: / / comment

Любая последовательность команд начинается с названия блока и, следующего за ним, знака = и заканчивается символом ; . Any sequence of commands begins with the title block, and, next to him, and ends = mark symbol;. Например: SOME_CODE= …какой-то код… ; For example: SOME_CODE =… some… code;

Блоки команд/данных бывают двух типов: стандартные (их названия начинаются с info_ , cam_ , sec_ , jpeg_ ) и макросы . Blocks of commands and data are of two types: standard (their names begin with info_, cam_, sec_, jpeg_) and macros.

Макрос — это такой блок команд, который выполняется, когда интерпретатор обнаруживает ссылку на этот макрос в текущем исполняемом коде. Macro - is a command unit, which is done when the interpreter finds a reference to this in the current macro executable code.

Макросу можно передавать «параметры». "You can send a macro parameters." Слово параметры взяты в кавычки по следующей причине: интерпретатор проверяет и выполняет одну команду за другой, поэтому к моменту вставки параметра в текст кода предыдущая команда должна быть полностью завершенной, иначе код будет считаться некорректным, т.е. The words in quotation marks are taken options for the following reason: the checks and executes one command after another, so at the time of insertion in the text of the code parameter previous team must be fully completed, otherwise the code will be considered incorrect, that is в качестве параметра может использоваться только кусок кода (но есть одно исключение). as a parameter can be used only piece of code (although there is one exception). Чтобы указать, в какое место макроса следует вставить параметр, используются последовательности !0 , !1 и т.д. To specify in what place should be inserted macro parameter is used consistency! 0,! 1, etc. по количеству параметров. on the number of parameters.

Пример: MACRO=$z0 $c0 00 !0 $cl !1 $cx; Example: MACRO z0 = $ $ c0 00! 0 $ cl! $ 1 cx;

NB! Макрос нужно определить до первого использования в коде! NB! Macro must determine before it is first used in the code!

В код макрос вставляется конструкцией #MACROS , если требуется передать куски кода, то писать #MACROS( …код1… , …код2… ) In the macro code into the Construction # MACROS, if you want to allocate chunks of code, then write # MACROS (… kod1…,… kod2…)

Пример: #MACRO($s1 01,$s1 02) Example: # MACRO (s1 $ 01, $ s1 02)

NB! Макросы при использовании могут быть вложенными: #MACRO1(#MACRO2(#MACRO3)) NB! Using Macros can be nested: # MACRO1 (# MACRO2 (# MACRO3))

NB! Передавать макросу можно только код или данные, входящие в состав raw команд (см. раздел «Подробное описание raw команд»)! NB! Can only transmit a macro code or data that make up the raw commands (see "A detailed description of raw commands")!

Пример: MACRO=$s0 !0; #MACRO(01) работать не будет (причину см. выше)! Example: MACRO = $ s0! 0; # MACRO (01) will not work (see above reason)! Работать будет только: MACRO = 06 02 00 01 !1 !2 $f; #MACRO(02,01) Work will soon: MACRO = 06 02 00 01! 1! $ 2; f # MACRO (02,01)

Описание структуры драйвера Description structure driver

NB! В тексте драйвера часто встречаются стандартные блоки с названиями, отличающимися только цифрами на конце. NB! In the drivers frequently standard blocks with names that differ only figures at the end. Таких блоков есть два типа: There are two types of units:

  1. *_vf_*, *_vf_*_X, *_ss_*, *_ss_*_X — это блоки, отвечающие за процесс просмотра изображения на экране (видоискатель), съемку видео и фотографирование. _vf_ * * * * _vf_ _X, _ss_ * * * * _ss_ _X - it blocks responsible for the process of viewing images on the screen (viewfinder), video filming and photographing. Каждому из режимов работы камеры (в основном это определяется разрешением) соответствует свой номер. Each of the modes of operation cameras (mainly determined by resolution) corresponds to the number. При работе камеры логика выполнения блоков такая: ищется блок с номером на конце, соответствующий текущему режиму, если найден, то он выполняется, и на этом все заканчивается, если не наден, то ищется блок без номера на конце и выполняется. When the camera perform logic blocks such: searched block at the end with number corresponding to the current regime, if found, it is done, and all this ends, if not naden, then searched without block numbers at the end and executed.
  2. seq_*_prop_Y, seq_*_prop_Y_X — это блоки, отвечающие за совершение определенных действий при изменении значения свойства с номером Y. * seq_ _prop_Y, seq_ * _prop_Y_X - it blocks responsible for the commission of certain actions in changing property value with a number Y. Число в конце соответствует текущему значению данного свойства. The number corresponds to the end of the current value of the properties. Например: seq_set_prop_1=…; seq_set_prop_1_0=…; Если свойство 1 имеет значение 0, то выполнится seq_set_prop_1_0 , если не 0, то seq_set_prop_1 For example: seq_set_prop_1 ... seq_set_prop_1_0 = = 1 ... If the property has a value of 0, then execute seq_set_prop_1_0 unless 0, the seq_set_prop_1

Структура драйвера Structure driver

Список команд List of commands

Примечание: Если команда в качестве параметра принимает 1 байт, т.е. Note: If a team takes as a parameter 1 byte, that is, два символа (это записывается как XX или YY и т.п.), то если не оговорено противное, кроме чисел 00–FF можно использовать ссылки на регистры в виде rX , где X от 0 до f , и последовательность %0 , которая представляет собой текущее значение свойства (если код является частью seq_set_prop ). two characters (it is recorded as XX and YY, etc.), then unless otherwise indicated, in addition to numbers 00-FF can be used references to registers in the form rX, where X 0 through f, and the sequence of 0%, which represents a current value of the property (if the code is part seq_set_prop).

NB! Строго соблюдайте количество символов в команде! NB! Obey number of characters in the team! Например, команда $m 1 2 верна, а $m 1 02 уже нет. For example, the command $ m 1 2 correct, and $ 1 02 m anymore.

.
Команда Team Описание Description Примечание Note
$sX YY $ sX YY rX=YY , поместить значение YY в регистр rX YY = rX, put the value in the register YY rX YY не может быть регистром YY there can be no registry
$m XY (или $mX Y) $ m XY (or $ mX Y) rX=rY , поместить значение регистра rY в регистр rX rX = rY, put the value rY register in the register rX
$dXXXX $ dXXXX пауза на XXXX милисекунд XXXX break milliseconds
$cX YY $ cX YY if (rX==YY) , если rX=YY , то if (rX == YY), if YY = rX, the YY не может быть регистром YY there can be no registry
$cl $ cl else , иначе (эту команду можно опускать, если алтернативный вариант кода не требуется) else, otherwise (this command may be omitted if the alternative version of the code is not required)
$cx $ cx endif , конец блока ветвления endif, end of the block branching
$bX YY ZN $ bX YY ZN установить биты с номера Z по номер Z+N-1 в регистре rX равным битам 0 — N-1 значения YY establish numbers with bits of Z + Z number N-1 in the register rX equal bits 0 - N-1 values YY YY не может быть регистром. YY there can be no registry. Не проверялось: с Z>7 , с N>8 Not tested: with Z> 7, with N> 8
$zX $ zX поместить идентификатор размера кадра в rX placed in the frame size ID rX
$pX YY $ pX YY поместить текущее значение свойства номер YY в rX put the current value of properties in the number YY rX YY только число YY only number
$uXX $ uXX выполнить код seq_set_prop_XX или seq_set_prop_XX_* , если последний существует для текущего значения свойства XX comply with the code or seq_set_prop_XX seq_set_prop_XX_ * if the latter exists for the current property value XX XX только число XX only number
$<XY $ <XY rX=rX<<Y , сдивнуть регистр rX на Y бит влево rX rX = <<Y, sdivnut register rX Y bit to the left Не тестировалось с Y>8 Not tested with Y> 8
$>XY $> XY rX=rX>>Y , сдивнуть регистр rX на Y бит вправо rX rX =>> Y, sdivnut register rX Y bit to the right Не тестировалось с Y>8 Not tested with Y> 8
$*X YY * $ X YY rX=rX*YY , умножить регистр rX на YY rX * YY = rX, multiply register at rX YY
$/X YY $ / X YY rX=rX/YY , делить регистр rX на YY rX = rX / YY, split register at rX YY
$-X YY $-X YY rX=rX-YY , вычесть YY из регистра rX rX = rX-YY, YY deducted from the register rX
$+X YY $ + X YY rX=rX+YY , прибавить YY к регистру rX rX + YY = rX, YY added to the registry rX
$tXXXX $ tXXXX ??? запускает процесс получения фотографии. ?? starts the process of getting photos. Назначение параметра не очень ясно. ??? Use this setting is not very clear.??
$f $ f маркер конца raw команды marker raw end of the team
$wX $ wX записать значение регистра rX на шину i2c. write value register rX tyre i2c. Используется только как часть raw команд вместо одного из байт. Used only as part of raw commands instead of a byte.
$rX SAB … F $ rX SAB… F попытаться прочитать с шины i2c X байт, подготовленных предыдущей raw командой в регистры rS, rA, rB,…, rF , где X — это общее количество байт, которое должно быть прочитано (всегда на 1 больше, чем было указано в raw команде чтения), S — номер регистра, в который будет записано реальное прочитанное количество байт (в некоторых случаях это значение может быть меньше X ), A–F — номера регистров в количестве X-1 , в которые будут записаны прочитанные данные. try to read tires i2c X bytes prepared team in the previous raw registers rS, rA, rB,…, rF, where X - the total number of bytes to be read (always at 1 higher than indicated in raw team reading) , S - number register, which will be recorded in a real read the number of bytes (in some cases, this value may be less than X), A to F - numbers of registers in the number of X-1, which will be recorded in the read data. Пример: $r3 0 0 1 . Example: $ r3 0 0 1. Статусный байт практически всегда игнорируется, поэтому первые два номера регистров в списке обычно совпадают. Status byte almost always ignored, so the first two numbers of registers in the list usually coincide. Не проверялось: X>5 Not checked: X> 5

Подробное описание свойств, имеющих режим "записи" A detailed description of the properties of the regime "record"

Описывается соответствие значений, передаваемых прошивкой в %0 , стандартным значениям свойств (тем, которые предполагает прошивка). Describes line values transmitted firmware in 0%, standard values for properties (those that involves firmware).

0 - экспозиция 0 - exposition

Примечание: Реально прошивкой используются только значения 3–f. Note: In reality firmware uses only 3-f values.

1 - баланс белого 1 - white balance

Примечание: Реально прошивкой используются только значения 0–4. Note: The firmware used only realistic significance 0-4.

2 - коррекция эффекта мерцания 2 - correction effect OFF

3 - вертикальный переворот видоискателя 3 - vertical coup viewfinder

В прошивке данное свойство не используется, но в оригинальном драйвере присутствует. In this firmware feature is not used, but the driver is present in the original.

4 - горизонтальный переворот видоискателя 4 - horizontal viewfinder coup

В прошивке данное свойство не используется, но в оригинальном драйвере присутствует. In this firmware feature is not used, but the driver is present in the original.

5 - степень сжатия JPEG 5 - JPEG compression ratio

6 - увеличение 6 - Increase

7 - ночной режим 7 - night mode

8 - эффекты 8 - Effects

9 - режим фокусировки (макро) 9 - focusing mode (macro)

Примечание: Реально прошивкой используются только 0 и 1. Note: In reality firmware uses only 0 and 1.

a - управление фокусировкой a - focusing management

d - светодиодная вспышка d - LED outbreak

В оригинальном драйвере не используется. In the original driver is not used.

e - ксеноновая вспышка e - xenon outbreak

Примечание: Значение 2 прошивкой не используется Note: Value 2 firmware is not used

f - управление спящим режимом сенсора f - sleeping management regime sensor

10 - сцена 10 - Stage

В прошивке данное свойство не используется, но в оригинальном драйвере присутствует, поэтому реальный список значений неизвестен. In this firmware feature is not used, but the driver is present in the original, so the actual list of values is not known. Названия подобраны приблизительно (на основе других драйверов). The names selected approximately (on the basis of other drivers).

11 - чувствительность ISO 11 - ISO sensitivity

Примечание: Реально в прошивке скорее всего используются только значения 0–5. Note: In reality firmware likely to be used only significance 0-5.

13 - яркость 13 - brightness

00-0f от нормального, до самого светлого. 00-0f from normal, until very bright. В прошивке данное свойство не используется, но в оригинальном драйвере присутствует. In this firmware feature is not used, but the driver is present in the original.

14 - контраст 14 - contrasts

00-10 от самого блеклого, до самого контрастного. 00-10 from the faded, until very contrasting. В прошивке данное свойство не используется, но в оригинальном драйвере присутствует. In this firmware feature is not used, but the driver is present in the original.

15 - четкость (выраженность деталей) 15 - Clarity (pronounced details)

00-10 от самого "размытого", до самого "четкого". 00-10 from the "blurred", until the "clear". В прошивке данное свойство не используется, но в оригинальном драйвере присутствует. In this firmware feature is not used, but the driver is present in the original.

18 - режим фотометрии 18 - The photometry

В оригинальном драйвере не используется. In the original driver is not used.

Подробное описание raw команд A detailed description of raw commands

Помимо обычных команд в драйвере есть особый тип команд, синтаксис которых не проверяется, т.к. In addition to the normal teams in the driver has a special type commands, syntax is not checked, because они представлены просто последовательностями байт. they represented just sequences of bytes. Эти команды предназначены для непосредственного взаимодействия с модулем камеры телефона. These commands are designed for direct interaction with the camera phone module.

Каждая команда имеет длину от 3 до 8 байт и обязана заканчиваться командой $f , последнее сделано для универсализации применяемого в прошивке телефона интерпретатора, т.к. Each team has a length of 3 to 8 bytes and is bound to end in command $ f, last done for the universalization of firmware used in the phone interpreter, because фактически для рассматриваемой модели телефонов эта команда не нужна (см. ниже). in fact, the model phones for this command is not needed (see below).

Каждый байт raw команды имеет свое значение, которое зависит от первых двух байт команды. Each byte raw team has its value, which depends on the first two bytes team. Первый байт определяет тип команды и одновременно общее количество байт в команде (поэтому команда $f нужна только формально). The first byte specifies the type of team, while the total number of bytes in a team (so the team is only $ formally f).

Список команд List of commands

Примечание 1: После всех команд записи вставляется небольшая пауза в 5 милисекунд, чтобы контроллер успел обработать запрос. Note 1: After recording all commands into a small pause in the 5 milliseconds, the controller had to handle the request.

Примечание 2: Вместо байт, означенных выше как данные, можно использовать команду $wX , которая фактически передаст значение регистра rX вместо замещенного байта, например, 05 02 00 08 $w0 $f $d0005 , т.е. Note 2: Instead of bytes, designated as the data above, you can use the command $ wX that effectively convey the importance of the register rX replacement instead of bytes, for example, 05 02 00 08 $ w0 $ f $ d0005, the в качестве данных в регистр 0008 будет записано значение регистра r0 . as a data register in 0008 will be recorded value register r0.

Примечание 3: Чтобы прочитать данные, переданные raw командой используйте конструкцию вида 05 01 BB CC DD $f $rX SA … F , например, 05 01 00 03 03 $f $r4 0 1 2 3 , в r0 запишется статусный байт, а в r1–r3 — данные. Note 3: To read the data provided raw team use design type 05 01 BB CC DD $ f $ rX SA… F, for example, 05 01 00 03 03 $ f $ r4 0 1 2 3 in r0 written status byte, and r1-r3 - data.

Примечание 4: Поскольку синтаксис raw команды не проверяется, она может прерываться другими командами, например: 06 02 00 01 01 $c0 00 03 $cl 05 $cx $f $d0005 или 06 02 00 01 !1 !0 $f $d0005 (при использовании в макросе). Note 4: As raw command syntax is not checked, it may be interrupted by other teams, for example: 06 02 00 01 01 $ 00 03 $ c0 cl $ 05 cx $ f $ d0005 or 06 02 00 01! 1! 0 $ f $ d0005 ( Using macro).

Назначение известных регистров модуля камеры The appointment of known camera module registers

Символом w помечены регистры, которые в оригинальном драйвере работают на запись, а r — на чтение. Character w marked registers, which in the original driver working for the record, and r - for reading. Группировка регистров обусловлена либо логическим единством, либо тем, что в оригинальном драйвере регистры читаются одним блоком. Grouping registers due to a logical unity, a fact that the original driver registers read one block.

01,02 - регистры передачи команд модулю камеры (w) 01.02 - a register transfer commands the camera module (w)

См. описание в разделе "Описание команд модуля камеры" See the description in the "Description command module chamber"

03,04,05,06 - события модуля камеры (состояние модуля) (r) 03,04,05,06 - events camera module (state module) (r)

Используются в макросах ожидания и т.п. Used in expectation of macros, etc. для определения момента смены режимов работы to determine the date of the change of regimes work

07 - разрешение сенсора в режиме видео и видоискателя (w) 07 - Permission sensor mode and video viewfinder (w)

08 - максимальный FPS сенсора (w) 08 - maximum FPS Sensor (w)

Значение вычисляется по формуле: желаемый FPS*2 Value is calculated by the formula: the desired FPS * 2

0B,0C - максимальное время ожидания сжатия в JPEG (w) 0B, 0C - the maximum waiting time in JPEG compression (w)

Значение задается в милисекундах. The value is in milliseconds. Младший байт заносится в регистр 0B, старший — в 0C. Younger byte entered in the register 0B, senior - in 0C.

0D,0E - максимальный объем JPEG (w) 0D, 0E - the maximum amount of JPEG (w)

Значение задается в килобайтах. The value is in kilobytes. Младший байт заносится в регистр 0D, старший — в 0E. Younger byte entered in the register 0D, senior - in 0E.

0F,10 - минимальный объем JPEG (w) 0F, 10 - the minimum amount JPEG (w)

Значение задается в килобайтах. The value is in kilobytes. Младший байт заносится в регистр 0F, старший — в 10. Younger byte entered in the register 0F, senior - at 10.

11,12 - средний ( ??? рекомендуемый ??? ) объем JPEG (w) 11.12 - Average (?? recommended??) volume JPEG (w)

Значение задается в килобайтах. The value is in kilobytes. Младший байт заносится в регистр 11, старший — в 12. Younger byte entered in the register 11, a senior - at 12.

13,14,15 - качество сжатия JPEG (w) 13,14,15 - quality JPEG compression (w)

Задается в процентах, т.е. Set in a percentage, that is от 0 до 100. from 0 to 100. Регистр 13 — начальное качество (максимальное), регистр 14 — рекомендуемое значение (среднее), регистр 15 — предельное качество (минимальное). Register 13 - initial quality (maximum), register 14 - recommended value (average), register 15 - as the limit (minimum). В официальных версиях драйверов во все три регистра помещают одно и то же значение. The official versions of all three drivers in the register placed the same importance.

18 - ??? непрерывный режим JPEG ??? (w) 18 -?? JPEG continuous mode?? (w)

Назначение данного регистра не выяснялось, значение 00 соответствует бесконечности (отсутствие ограничения) Appointment of the register is not found, the value corresponds to 00 infinity (no restrictions)

19 - разрешение сенсора в режиме фото (w) 19 - Permission sensor mode photo (w)

1B - текущий (получившийся) процент качества сжатия JPEG (r) 1B - current (resulting), the percentage of the quality of JPEG compression (r)

Используется прошивкой после окончания процесса сжатия фотографии. Used firmware after the end of the compression process photos.

20,21 - коррекция баланса белого (w) 20.21 - white balance correction (w)

Регистр 20 — оттенок (т.е. баланс между малиновым и зеленым). Register 20 - connotation (ie, the balance between the raspberry and green). Регистр 21 — цветовая температура (т.е. баланс между синим и желтым). Register 21 - color temperature (ie, the balance between the blue and yellow). Диапазон 81–80, среднее (нейтральное) — 00. The range of 81-80, average (neutral) - 00. Установка значений регистром сама по себе ничего не меняет (см. команду номер 13 модуля камеры). Setting Values register itself does not change (see number 13 command module chamber). Будте внимательны! Be careful! Данные значения являются лишь смещением относительно текущего пресета баланса белого! These values are only the offset relative to the current preset white balance!

22,23 - автоэкспозиция (r) 22.23 - avtoekspozitsiya (r)

Используются прошивкой для чтения текущего состояния автоэкспозиции. Firmware used to read the current state of avtoekspozitsii. 22 — младший байт, 23 — старший байт. 22 - byte Jr., 23 - Senior bytes.

25,26,27,28 - EXIF: чувствительность ISO и экспозиция(r) 25,26,27,28 - EXIF: ISO sensitivity and Exposition (r)

Используются прошивкой для чтения содержимого EXIF после получения фотографии. Use firmware to read the contents of EXIF after receiving photos. Чувствительность ISO: 25 — младший байт, 26 — старший. ISO Sensitivity: 25 - byte Jr., 26 - a senior. Экспозиция: 27 — младший байт, 28 — старший. Exposition: 27 - byte Jr., 28 - a senior.

29,2A,2B - EXIF: баланс белого, ??? расстояние вспышки для светодиодов ??? , состояние ксеноновой заполняющей вспышки (r) 29.2 A, 2B - EXIF: white balance,?? distance for LED flashes??, the state fills the outbreak of Xenon (r)

Используются прошивкой для чтения содержимого EXIF после получения фотографии. Use firmware to read the contents of EXIF after receiving photos. Баланс белого — регистр 29, ??? расстояние светодиодной вспышки ??? — регистр 2A, флаг ксеноновой вспышки — регистр 2B. White balance - register 29,?? Distance LED flashes?? - Register 2A, the flag xenon flashes - register 2B.

2C - фокус (положение оптической системы) (r) 2C - Focus (provision optical system) (r)

Содержит значение, соответствующее текущему положению оптической системы камеры (т.е. расстоянию фокусировки). Contains the value corresponding to the current situation of the optical system, the camera (ie focusing distance).

2E - автофокус (r) 2E - Auto (r)

Используется прошивкой для чтения текущего состояния системы автофокуса. Firmware is used to read the current state of Auto.

36 - версия модуля камеры (r) 36 - Camera Module (r)

Используется для получения информации о установленном модуле камеры. Used to obtain information on the module defined by the camera.

Описание команд модуля камеры, записываемых в регистры 01,02 Description command module camera stored in registers 01.02

Далее будут описаны команды, передаваемые модулю камеры, raw командой 06 02 00 01 PP CC , где СС — номер команды, а PP — параметр команды. Next, the team will be described transmitted camera module, raw command 06 02 00 01 PP CC, where the SS - the number of teams and PP - command option.

01 - блокировка автоэкспозиции на текущем значении 01 - to lock in the current value avtoekspozitsii

Примечание: Блокировка сбрасывается при попытке принудительно установить значение чувствительности ISO или скорости затвора (выдержки). Note: Block dropped while trying to forcibly set the ISO sensitivity or shutter speed (excerpts).

03 - скорость медленного затвора (минимальный FPS) 03 - slow shutter speed (minimum FPS)

Вычисляется по формуле: желаемый fps*2. Compute the formula: * 2 fps desired. Соответственно, выдержка будет 1/fps. Accordingly, the excerpt will 1/fps.

04 - скорость затвора 04 - shutter speed

05 - чувствительность ISO 05 - ISO sensitivity

06 - экспозиция 06 - exposition

08 - режим фотометрии 08 - The photometry

11 - баланс белого 11 - white balance

13 - пользовательская коррекция баланса белого 13 - custom white balance correction

Параметр 01. Parameter 01. Установить коррекцию баланса белого равным значениям регистров модуля камеры с номерами 20 и 21. Install white balance correction values equal to the camera module registers with the numbers 20 and 21. Будте внимательны! Be careful! Значения регистров 20,21 являются лишь смещением относительно текущего пресета баланса белого! Perhaps there are only registers 20.21 biassed against the current preset white balance!

21 - коррекция эффекта мерцания 21 - correction effect OFF

32 - перевести сенсор в режим получения фотографии и установить выходной формат JPEG 32 - transfer mode sensor obtain photographs and set output format JPEG

В официальном драйвере используется только с параметром 01. In an official driver with a parameter is only used 01.

33 - перевести сенсор в режим получения фотографии и установить выходной формат YUV422 33 - transfer mode sensor obtain photographs and set output format YUV422

В официальном драйвере используется только с параметром 01. In an official driver with a parameter is only used 01.

34 - перевести сенсор в режим визирования/видео 34 - transfer mode sensor sighting / Video

Известны два варианта параметра: There are two versions of the parameter:

41 - режим фокусировки 41 - focusing mode

42 - включение, отключение процесса автоматической фокусировки 42 - inclusion, the process of disabling AF

43 - ручная фокусировка 43 - manual focus

Диапазон параметра: от 00 (бесконечность) до 20 (около 8-8.5 см). Parameter range: from 00 (infinity) to 20 (about 8-8.5 cm).

51 - сцена (тематический пресет) 51 - Stage (thematic preset)

52 - зеркальнный переворот видоискателя 52 - zerkalnny coup viewfinder

Бит 0 — отражение право-лево (вкл/выкл), Бит 1 — отражение верх-низ (вкл/выкл). Bit 0 - reflected right-left (on / off), Bit 1 - reflect up-down (on / off). Биты 3 и 4 используются в официальном драйвере, но функций никаких не выполняют. Bits 3 and 4 are used in the official driver, but did not perform any functions.

53 - эффекты 53 - Effects

54 - яркость 54 - brightness

00 — нормальная, 0F — максимальная, стандартная — 00. 00 - normal, 0F - Maximum standard - 00.

55 - контраст 55 - contrasts

F8 — минимальный, 08 — максимальный, стандартный — 00. F8 - minimum, 08 - the maximum standard - 00.

56 - четкость (выраженность деталей) 56 - Clarity (pronounced details)

F8 — минимальный, 08 — максимальный, стандартный — 04. F8 - minimum, 08 - the maximum standard - 04.

58 - насыщенность 58 - Saturation

E0 — минимальная (Ч/Б), 20 — максимальная, стандартная — 00. E0 - min (C / B), 20 - the maximum standard - 00.

5A - режимы работы ксеноновой вспышки 5A - ones xenon outbreak

61 - увеличение 61 - Increase

Примечание: Существует вид увеличения, который не используется в оригинальной прошивке, он характеризуется плавным переходом между предыдыщим и следующим значением увеличения. Note: There is kind of an increase, which is not used in the original firmware, it is characterized by smooth transition between predydyschim and the following value increases. Для использования этого вида увеличения необходимо прибавить ко всем значениям 80. To use this type of increase is necessary to add to all the values of 80.

72 - обновить данные EXIF в регистрах камеры 72 - update data in the registers EXIF camera

Используется с параметром 00. Used with the parameter 00.