Merge pull request #734 from openmv/softi2c

Rename soft I2C macros.
This commit is contained in:
Ibrahim Abd Elkader 2020-02-27 21:46:00 +02:00 committed by GitHub
commit bfb5a4e7fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 89 additions and 89 deletions

View File

@ -31,20 +31,20 @@
#include "omv_boardconfig.h"
//DigitalInOut sda(p9);
#define sda I2C_SIOD_READ()
#define sda SOFT_I2C_SIOD_READ()
//DigitalOut scl(p10);
#define LOW 0;
#define HIGH 1;
//#define SCL_HIGH scl = HIGH;
#define SCL_HIGH I2C_SIOC_H()
#define SCL_HIGH SOFT_I2C_SIOC_H()
//#define SCL_LOW scl = LOW;
#define SCL_LOW I2C_SIOC_L()
#define SCL_LOW SOFT_I2C_SIOC_L()
//#define SDA_HIGH sda.input();
#define SDA_HIGH I2C_SIOD_H()
#define SDA_HIGH SOFT_I2C_SIOD_H()
//#define SDA_LOW sda.output(); sda = LOW;
#define SDA_LOW I2C_SIOD_L()
#define SDA_LOW SOFT_I2C_SIOD_L()
int I2CSendByte(int8_t);
void I2CReadBytes(int, char *);

View File

@ -185,19 +185,19 @@
#define WINC_CS_LOW() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_RESET)
#define WINC_CS_HIGH() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_SET)
#define I2C_PORT GPIOB
#define I2C_SIOC_PIN GPIO_PIN_10
#define I2C_SIOD_PIN GPIO_PIN_11
#define SOFT_I2C_PORT GPIOB
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
#define SOFT_I2C_SIOD_PIN GPIO_PIN_11
#define I2C_SIOC_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_SET)
#define I2C_SIOC_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOC_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOC_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_SET)
#define I2C_SIOD_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOD_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOD_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_READ() HAL_GPIO_ReadPin(I2C_PORT, I2C_SIOD_PIN)
#define I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, bit);
#define SOFT_I2C_SIOD_READ() HAL_GPIO_ReadPin (SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN)
#define SOFT_I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, bit);
#define I2C_SPIN_DELAY 16
#define SOFT_I2C_SPIN_DELAY 16
#endif //__OMV_BOARDCONFIG_H__

View File

@ -185,19 +185,19 @@
#define WINC_CS_LOW() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_RESET)
#define WINC_CS_HIGH() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_SET)
#define I2C_PORT GPIOB
#define I2C_SIOC_PIN GPIO_PIN_10
#define I2C_SIOD_PIN GPIO_PIN_11
#define SOFT_I2C_PORT GPIOB
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
#define SOFT_I2C_SIOD_PIN GPIO_PIN_11
#define I2C_SIOC_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_SET)
#define I2C_SIOC_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOC_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOC_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_SET)
#define I2C_SIOD_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOD_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOD_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_READ() HAL_GPIO_ReadPin(I2C_PORT, I2C_SIOD_PIN)
#define I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, bit);
#define SOFT_I2C_SIOD_READ() HAL_GPIO_ReadPin (SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN)
#define SOFT_I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, bit);
#define I2C_SPIN_DELAY 24
#define SOFT_I2C_SPIN_DELAY 24
#endif //__OMV_BOARDCONFIG_H__

View File

@ -240,20 +240,20 @@
#define WINC_CS_LOW() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_RESET)
#define WINC_CS_HIGH() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_SET)
#define I2C_PORT GPIOB
#define I2C_SIOC_PIN GPIO_PIN_10
#define I2C_SIOD_PIN GPIO_PIN_11
#define SOFT_I2C_PORT GPIOB
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
#define SOFT_I2C_SIOD_PIN GPIO_PIN_11
#define I2C_SIOC_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_SET)
#define I2C_SIOC_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOC_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOC_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_SET)
#define I2C_SIOD_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOD_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOD_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_READ() HAL_GPIO_ReadPin(I2C_PORT, I2C_SIOD_PIN)
#define I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, bit);
#define SOFT_I2C_SIOD_READ() HAL_GPIO_ReadPin (SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN)
#define SOFT_I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, bit);
#define I2C_SPIN_DELAY 32
#define SOFT_I2C_SPIN_DELAY 32
#define LEPTON_SPI (SPI3)
#define LEPTON_SPI_AF (GPIO_AF6_SPI3)

View File

@ -249,20 +249,20 @@
#define WINC_CS_LOW() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_RESET)
#define WINC_CS_HIGH() HAL_GPIO_WritePin(WINC_CS_PORT, WINC_CS_PIN, GPIO_PIN_SET)
#define I2C_PORT GPIOB
#define I2C_SIOC_PIN GPIO_PIN_10
#define I2C_SIOD_PIN GPIO_PIN_11
#define SOFT_I2C_PORT GPIOB
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
#define SOFT_I2C_SIOD_PIN GPIO_PIN_11
#define I2C_SIOC_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_SET)
#define I2C_SIOC_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOC_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOC_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_SET)
#define I2C_SIOD_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOD_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOD_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_READ() HAL_GPIO_ReadPin(I2C_PORT, I2C_SIOD_PIN)
#define I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, bit);
#define SOFT_I2C_SIOD_READ() HAL_GPIO_ReadPin (SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN)
#define SOFT_I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, bit);
#define I2C_SPIN_DELAY 32
#define SOFT_I2C_SPIN_DELAY 32
#define LEPTON_SPI (SPI3)
#define LEPTON_SPI_AF (GPIO_AF6_SPI3)

View File

@ -212,20 +212,20 @@
#define DCMI_VSYNC_IRQN EXTI9_5_IRQn
#define DCMI_VSYNC_IRQ_LINE (7)
#define I2C_PORT GPIOB
#define I2C_SIOC_PIN GPIO_PIN_10
#define I2C_SIOD_PIN GPIO_PIN_11
#define SOFT_I2C_PORT GPIOB
#define SOFT_I2C_SIOC_PIN GPIO_PIN_10
#define SOFT_I2C_SIOD_PIN GPIO_PIN_11
#define I2C_SIOC_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_SET)
#define I2C_SIOC_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOC_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOC_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOC_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_H() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_SET)
#define I2C_SIOD_L() HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, GPIO_PIN_RESET)
#define SOFT_I2C_SIOD_H() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_SET)
#define SOFT_I2C_SIOD_L() HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, GPIO_PIN_RESET)
#define I2C_SIOD_READ() HAL_GPIO_ReadPin(I2C_PORT, I2C_SIOD_PIN)
#define I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(I2C_PORT, I2C_SIOD_PIN, bit);
#define SOFT_I2C_SIOD_READ() HAL_GPIO_ReadPin (SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN)
#define SOFT_I2C_SIOD_WRITE(bit) HAL_GPIO_WritePin(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN, bit);
#define I2C_SPIN_DELAY 32
#define SOFT_I2C_SPIN_DELAY 32
// Enable additional GPIO banks for DRAM...
#define OMV_ENABLE_GPIO_BANK_F

View File

@ -359,7 +359,7 @@ mp_obj_t py_fir_init(uint n_args, const mp_obj_t *args, mp_map_t *kw_args)
alpha_ij = xalloc(sizeof(paramsMLX90640));
MLX90640_I2CFreqSet(I2C_SPIN_DELAY);
MLX90640_I2CFreqSet(SOFT_I2C_SPIN_DELAY);
MLX90640_I2CInit();
int error = 0;

View File

@ -17,16 +17,16 @@
static void delay(void)
{
for(volatile int i=0; i<I2C_SPIN_DELAY; i++);
for(volatile int i=0; i<SOFT_I2C_SPIN_DELAY; i++);
}
static void i2c_start(void)
{
/* The start of data transmission occurs when
SIO_D is driven low while SIO_C is high */
I2C_SIOD_L();
SOFT_I2C_SIOD_L();
delay();
I2C_SIOC_L();
SOFT_I2C_SIOC_L();
delay();
}
@ -34,9 +34,9 @@ static void i2c_stop(void)
{
/* The stop of data transmission occurs when
SIO_D is driven high while SIO_C is high */
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
I2C_SIOD_H();
SOFT_I2C_SIOD_H();
delay();
}
@ -44,29 +44,29 @@ static uint8_t i2c_read_byte(char ack)
{
uint8_t data = 0;
I2C_SIOD_H();
SOFT_I2C_SIOD_H();
delay();
for(char i=0; i<8; i++) {
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
data += data + I2C_SIOD_READ();
data += data + SOFT_I2C_SIOD_READ();
delay();
I2C_SIOC_L();
SOFT_I2C_SIOC_L();
delay();
}
/* Write ACK */
I2C_SIOD_WRITE(ack);
SOFT_I2C_SIOD_WRITE(ack);
delay();
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
I2C_SIOC_L();
SOFT_I2C_SIOC_L();
delay();
I2C_SIOD_L();
SOFT_I2C_SIOD_L();
delay();
return data;
}
@ -76,28 +76,28 @@ static char i2c_write_byte(uint8_t data)
char i;
for(i=0; i<8; i++) {
I2C_SIOD_WRITE((data >> (7 - i)) & 1);
SOFT_I2C_SIOD_WRITE((data >> (7 - i)) & 1);
delay();
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
I2C_SIOC_L();
SOFT_I2C_SIOC_L();
delay();
}
I2C_SIOD_H();
SOFT_I2C_SIOD_H();
delay();
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
/* Read ACK */
i = I2C_SIOD_READ();
i = SOFT_I2C_SIOD_READ();
delay();
I2C_SIOC_L();
SOFT_I2C_SIOC_L();
delay();
I2C_SIOD_L();
SOFT_I2C_SIOD_L();
delay();
return i;
}
@ -114,9 +114,9 @@ int soft_i2c_read_bytes(uint8_t slv_addr, uint8_t *buf, int len, bool stop)
if (stop) {
i2c_stop();
} else {
I2C_SIOD_H();
SOFT_I2C_SIOD_H();
delay();
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
}
MICROPY_END_ATOMIC_SECTION(atomic_state);
@ -135,9 +135,9 @@ int soft_i2c_write_bytes(uint8_t slv_addr, uint8_t *buf, int len, bool stop)
if (stop) {
i2c_stop();
} else {
I2C_SIOD_H();
SOFT_I2C_SIOD_H();
delay();
I2C_SIOC_H();
SOFT_I2C_SIOC_H();
delay();
}
MICROPY_END_ATOMIC_SECTION(atomic_state);
@ -151,13 +151,13 @@ void soft_i2c_init()
GPIO_InitStructure.Speed = GPIO_SPEED_LOW;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_OD;
GPIO_InitStructure.Pin = I2C_SIOC_PIN;
I2C_SIOC_H(); // Set first to prevent glitches.
HAL_GPIO_Init(I2C_PORT, &GPIO_InitStructure);
GPIO_InitStructure.Pin = SOFT_I2C_SIOC_PIN;
SOFT_I2C_SIOC_H(); // Set first to prevent glitches.
HAL_GPIO_Init(SOFT_I2C_PORT, &GPIO_InitStructure);
GPIO_InitStructure.Pin = I2C_SIOD_PIN;
I2C_SIOD_H(); // Set first to prevent glitches.
HAL_GPIO_Init(I2C_PORT, &GPIO_InitStructure);
GPIO_InitStructure.Pin = SOFT_I2C_SIOD_PIN;
SOFT_I2C_SIOD_H(); // Set first to prevent glitches.
HAL_GPIO_Init(SOFT_I2C_PORT, &GPIO_InitStructure);
for(volatile int i=0; i<1000; i++);
@ -169,6 +169,6 @@ void soft_i2c_init()
void soft_i2c_deinit()
{
for(volatile int i=0; i<1000; i++);
HAL_GPIO_DeInit(I2C_PORT, I2C_SIOC_PIN);
HAL_GPIO_DeInit(I2C_PORT, I2C_SIOD_PIN);
HAL_GPIO_DeInit(SOFT_I2C_PORT, SOFT_I2C_SIOC_PIN);
HAL_GPIO_DeInit(SOFT_I2C_PORT, SOFT_I2C_SIOD_PIN);
}