Функции API библиотеки ArduCAM
Функции API отправляют разные команды шилду Arducam.
1. void InitCAM (void)
Функция InitCAM инициализирует аппаратные параметры системы пользователя, например порт выбора микросхемы SPI (CS) и адрес сенсора как ведомого устройства.
2. void flush_fifo (void)
Функция flush_fifo сбрасывает указатель чтения FIFO в ноль.
3. void start_capture (void)
Функция start_capture отправляет команду захвата. После неё оборудование Arducam дожидается начала нового кадра и сохраняет кадр целиком во встроенный буфер кадра.
4. void clear_fifo_flag (void)
Когда кадр записан во встроенную память, флаг завершения захвата устанавливается автоматически. Функция clear_fifo_flag сбрасывает этот флаг перед следующей командой захвата.
5. void write_reg(uint8_t addr, uint8_t data)
Параметр 1: адрес регистра ArduChip (или код команды)
Параметр 2: данные для записи в регистр
write_reg — базовая функция записи во внутренние регистры ArduChip.
6. uint8_t read_reg(uint8_t addr)
Параметр 1: адрес регистра ArduChip (или код команды)
read_reg — базовая функция чтения значения внутреннего регистра ArduChip.
7. uint32_t read_fifo_length(void)
Возвращаемое значение: длина захваченного изображения (32 бита)
Функция read_fifo_length определяет длину текущего захваченного изображения. Шилд Rev.C эту функцию не поддерживает.
8. void set_fifo_burst(void)
Функция set_fifo_burst переводит чтение памяти в пакетный режим. Вызывайте её перед пакетным чтением памяти. Шилд Rev.C эту функцию не поддерживает.
9. int wrSensorRegs8_8(const struct sensor_reg*)
Параметр 1: массив настроек сенсора
Возвращаемое значение: статус ошибки
Функция wrSensorRegs8_8 записывает массив настроек во внутренние регистры сенсора по интерфейсу I2C; адрес регистра — 8 бит, данные — 8 бит.
10. int wrSensorRegs8_16(const struct sensor_reg*)
Параметр 1: массив настроек сенсора
Возвращаемое значение: статус ошибки
Функция wrSensorRegs8_16 записывает массив настроек во внутренние регистры сенсора по интерфейсу I2C; адрес регистра — 8 бит, данные — 16 бит.
11. int wrSensorRegs16_8(const struct sensor_reg*)
Параметр 1: массив настроек сенсора
Возвращаемое значение: статус ошибки
Функция wrSensorRegs16_8 записывает массив настроек во внутренние регистры сенсора по интерфейсу I2C; адрес регистра — 16 бит, данные — 8 бит.
12. int wrSensorRegs16_16(const struct sensor_reg*)
Параметр 1: массив настроек сенсора
Возвращаемое значение: статус ошибки
Функция wrSensorRegs16_16 записывает массив настроек во внутренние регистры сенсора по интерфейсу I2C; адрес регистра — 16 бит, данные — 16 бит.
13. byte wrSensorReg8_8(int regID, int regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение для записи в регистр
Возвращаемое значение: статус ошибки
Функция wrSensorReg8_8 записывает один внутренний регистр сенсора по интерфейсу I2C; адрес регистра — 8 бит, данные — 8 бит.
14. byte wrSensorReg8_16(int regID, int regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение для записи в регистр
Возвращаемое значение: статус ошибки
Функция wrSensorReg8_16 записывает один внутренний регистр сенсора по интерфейсу I2C; адрес регистра — 8 бит, данные — 16 бит.
15. byte wrSensorReg16_8(int regID, int regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение для записи в регистр
Возвращаемое значение: статус ошибки
Функция wrSensorReg16_8 записывает один внутренний регистр сенсора по интерфейсу I2C; адрес регистра — 16 бит, данные — 8 бит.
16. byte wrSensorReg16_16(int regID, int regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение для записи в регистр
Возвращаемое значение: статус ошибки
Функция wrSensorReg16_16 записывает один внутренний регистр сенсора по интерфейсу I2C; адрес регистра — 16 бит, данные — 16 бит.
17. byte rdSensorReg8_8(uint8_t regID, uint8_t* regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение, прочитанное из регистра
Возвращаемое значение: статус ошибки
Функция rdSensorReg8_8 читает значение одного внутреннего регистра сенсора по интерфейсу I2C; адрес регистра — 8 бит, данные — 8 бит.
18. byte rdSensorReg16_8(uint16_t regID, uint8_t* regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение, прочитанное из регистра
Возвращаемое значение: статус ошибки
Функция rdSensorReg16_8 читает значение одного внутреннего регистра сенсора по интерфейсу I2C; адрес регистра — 16 бит, данные — 8 бит.
19. byte rdSensorReg8_16(uint8_t regID, uint16_t* regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение, прочитанное из регистра
Возвращаемое значение: статус ошибки
Функция rdSensorReg8_16 читает значение одного внутреннего регистра сенсора по интерфейсу I2C; адрес регистра — 8 бит, данные — 16 бит.
20. byte rdSensorReg16_16(uint16_t regID, uint16_t* regDat)
Параметр 1: адрес внутреннего регистра сенсора
Параметр 2: значение, прочитанное из регистра
Возвращаемое значение: статус ошибки
Функция rdSensorReg16_16 читает значение одного внутреннего регистра сенсора по интерфейсу I2C; адрес регистра — 16 бит, данные — 16 бит.
21. void OV2640_set_JPEG_size(uint8_t size)
Параметр 1: код разрешения
Функция OV2640_set_JPEG_size задаёт разрешение для съёмки в формате JPEG на OV2640. Поддерживаемые разрешения:
#define OV2640_160x120 0 //160x120
#define OV2640_176x144 1 //176x144
#define OV2640_320x240 2 //320x240
#define OV2640_352x288 3 //352x288
#define OV2640_640x480 4 //640x480
#define OV2640_800x600 5 //800x600
#define OV2640_1024x768 6 //1024x768
#define OV2640_1280x1024 7 //1280x1024
#define OV2640_1600x1200 8 //1600x1200
22. void OV5642_set_JPEG_size(uint8_t size)
Параметр 1: код разрешения
Функция OV5642_set_JPEG_size задаёт разрешение для съёмки в формате JPEG на OV5642. Поддерживаемые разрешения:
#define OV5642_320x240 0 //320x240
#define OV5642_640x480 1 //640x480
#define OV5642_1024x768 2 //1024x768
#define OV5642_1280x960 3 //1280x960
#define OV5642_1600x1200 4 //1600x1200
#define OV5642_2048x1536 5 //2048x1536
#define OV5642_2592x1944 6 //2592x1944
23. void OV5640_set_JPEG_size(uint8_t size)
Параметр 1: код разрешения
Функция OV5640_set_JPEG_size задаёт разрешение для съёмки в формате JPEG на OV5640. Поддерживаемые разрешения:
#define OV5640_320x240 0 //320x240
#define OV5640_352x288 1 //352x288
#define OV5640_640x480 2 //640x480
#define OV5640_800x480 3 //800x480
#define OV5640_1024x768 4 //1024x768
#define OV5640_1280x960 5 //1280x960
#define OV5640_1600x1200 6 //1600x1200
#define OV5640_2048x1536 7 //2048x1536
#define OV5640_2592x1944 8 //2592x1944
24. void set_format(byte fmt)
Функция set_format переключает сенсор между режимами RGB и JPEG. После set_format нужно вызвать InitCAM.