diff options
Diffstat (limited to 'drivers/avr/i2c_slave.h')
| -rw-r--r-- | drivers/avr/i2c_slave.h | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/drivers/avr/i2c_slave.h b/drivers/avr/i2c_slave.h index 1cd0625ef4..a8647c9da3 100644 --- a/drivers/avr/i2c_slave.h +++ b/drivers/avr/i2c_slave.h @@ -22,7 +22,18 @@  #pragma once -#define I2C_SLAVE_REG_COUNT 30 +#ifndef I2C_SLAVE_REG_COUNT + +#    if defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +#        include "transport.h" +#        define I2C_SLAVE_REG_COUNT sizeof(split_shared_memory_t) +#    else  // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) +#        define I2C_SLAVE_REG_COUNT 30 +#    endif  // defined(USE_I2C) && defined(SPLIT_COMMON_TRANSACTIONS) + +#endif  // I2C_SLAVE_REG_COUNT + +_Static_assert(I2C_SLAVE_REG_COUNT < 256, "I2C target registers must be single byte");  extern volatile uint8_t i2c_slave_reg[I2C_SLAVE_REG_COUNT]; | 
