Skip to content

Commit 0935852

Browse files
authored
Merge pull request #2493 from fpistm/7bits_only
fix(wire): support only 7 bits addressing mode
2 parents 8032cb5 + 1b227db commit 0935852

File tree

3 files changed

+4
-17
lines changed

3 files changed

+4
-17
lines changed

libraries/Wire/src/Wire.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ void TwoWire::begin(uint8_t address, bool generalCall, bool NoStretchMode)
104104

105105
recoverBus(); // in case I2C bus (device) is stuck after a reset for example
106106

107-
i2c_custom_init(&_i2c, 100000, I2C_ADDRESSINGMODE_7BIT, ownAddress);
107+
i2c_init(&_i2c, 100000, ownAddress);
108108

109109
if (_i2c.isMaster == 0) {
110110
// i2c_attachSlaveTxEvent(&_i2c, reinterpret_cast<void(*)(i2c_t*)>(&TwoWire::onRequestService));

libraries/Wire/src/utility/twi.c

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -637,25 +637,14 @@ static uint32_t i2c_getTiming(i2c_t *obj, uint32_t frequency)
637637
return ret;
638638
}
639639

640-
/**
641-
* @brief Default init and setup GPIO and I2C peripheral
642-
* @param obj : pointer to i2c_t structure
643-
* @retval none
644-
*/
645-
void i2c_init(i2c_t *obj)
646-
{
647-
i2c_custom_init(obj, 100000, I2C_ADDRESSINGMODE_7BIT, 0x33);
648-
}
649-
650640
/**
651641
* @brief Initialize and setup GPIO and I2C peripheral
652642
* @param obj : pointer to i2c_t structure
653643
* @param timing : one of the i2c_timing_e
654-
* @param addressingMode : I2C_ADDRESSINGMODE_7BIT or I2C_ADDRESSINGMODE_10BIT
655644
* @param ownAddress : device address
656645
* @retval none
657646
*/
658-
void i2c_custom_init(i2c_t *obj, uint32_t timing, uint32_t addressingMode, uint32_t ownAddress)
647+
void i2c_init(i2c_t *obj, uint32_t timing, uint32_t ownAddress)
659648
{
660649
if (obj != NULL) {
661650

@@ -771,7 +760,7 @@ void i2c_custom_init(i2c_t *obj, uint32_t timing, uint32_t addressingMode, uint3
771760
#endif
772761
handle->Init.OwnAddress1 = ownAddress;
773762
handle->Init.OwnAddress2 = 0;
774-
handle->Init.AddressingMode = addressingMode;
763+
handle->Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
775764
handle->Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
776765
handle->Init.GeneralCallMode = (obj->generalCall == 0) ? I2C_GENERALCALL_DISABLE : I2C_GENERALCALL_ENABLE;
777766
handle->Init.NoStretchMode = (obj->NoStretchMode == 0) ? I2C_NOSTRETCH_DISABLE : I2C_NOSTRETCH_ENABLE;

libraries/Wire/src/utility/twi.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,7 @@ typedef enum {
137137
} i2c_status_e;
138138

139139
/* Exported functions ------------------------------------------------------- */
140-
void i2c_init(i2c_t *obj);
141-
void i2c_custom_init(i2c_t *obj, uint32_t timing, uint32_t addressingMode,
142-
uint32_t ownAddress);
140+
void i2c_init(i2c_t *obj, uint32_t timing, uint32_t ownAddress);
143141
void i2c_deinit(i2c_t *obj);
144142
void i2c_setTiming(i2c_t *obj, uint32_t frequency);
145143
i2c_status_e i2c_master_write(i2c_t *obj, uint8_t dev_address, uint8_t *data, uint16_t size);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy