mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Add generic cam bus read/write.
This commit is contained in:
parent
ff8cf16169
commit
d2ebe6f7e2
@ -80,24 +80,24 @@ int cambus_writeb(uint8_t slv_addr, uint8_t reg_addr, uint8_t reg_data)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int cambus_readw(uint8_t slv_addr, uint8_t reg_addr, uint16_t *reg_data)
|
||||
int cambus_read(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data, uint8_t reg_size)
|
||||
{
|
||||
int ret=0;
|
||||
__disable_irq();
|
||||
if (HAL_I2C_Mem_Read(&I2CHandle, slv_addr, reg_addr,
|
||||
I2C_MEMADD_SIZE_8BIT, (uint8_t*) reg_data, 2, I2C_TIMEOUT) != HAL_OK) {
|
||||
if (HAL_I2C_Mem_Read(&I2CHandle, slv_addr | 1, reg_addr,
|
||||
reg_size, reg_data, reg_size, I2C_TIMEOUT) != HAL_OK) {
|
||||
ret = -1;
|
||||
}
|
||||
__enable_irq();
|
||||
return ret;
|
||||
}
|
||||
|
||||
int cambus_writew(uint8_t slv_addr, uint8_t reg_addr, uint16_t reg_data)
|
||||
int cambus_write(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data, uint8_t reg_size)
|
||||
{
|
||||
int ret=0;
|
||||
__disable_irq();
|
||||
if (HAL_I2C_Mem_Write(&I2CHandle, slv_addr, reg_addr,
|
||||
I2C_MEMADD_SIZE_8BIT, (uint8_t*) ®_data, 2, I2C_TIMEOUT) != HAL_OK) {
|
||||
if (HAL_I2C_Mem_Write(&I2CHandle, slv_addr | 0, reg_addr,
|
||||
reg_size, reg_data, reg_size, I2C_TIMEOUT) != HAL_OK) {
|
||||
ret = -1;
|
||||
}
|
||||
__enable_irq();
|
||||
|
||||
@ -13,6 +13,6 @@ int cambus_init();
|
||||
int cambus_scan();
|
||||
int cambus_readb(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data);
|
||||
int cambus_writeb(uint8_t slv_addr, uint8_t reg_addr, uint8_t reg_data);
|
||||
int cambus_readw(uint8_t slv_addr, uint8_t reg_addr, uint16_t *reg_data);
|
||||
int cambus_writew(uint8_t slv_addr, uint8_t reg_addr, uint16_t reg_data);
|
||||
int cambus_read(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data, uint8_t reg_size);
|
||||
int cambus_write(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data, uint8_t reg_size);
|
||||
#endif // __CAMBUS_H__
|
||||
|
||||
Loading…
Reference in New Issue
Block a user