Comments (2)
Thanks
Well, I just did not yet thought of the use case to send/receive more than 256 bytes in one write/read instruction. A first look in my code showed that it could be changed easily (I cannot test it now, but next week), so I will change this for 1.03 release.
However keep in mind: Your sketch should give the "esp8266 system" the opportunity to run from time to time. This is especially important when you need for instance wifi networking. Espressif's SDK documentation speaks of 15 msec, the arduino esp8266 community of 50 msec. Apart from this, in brzo_i2c reads and writes have all the interrupts disabled. Thus, single writes and reads should not take too long. See also the wiki, maximum duration of reads and writes or clock stretching.
Therefore, depending on your use case, it might work well to send some big chunk of bytes at once, or you would neet to split it up into smaller chunks and use either yield()
or delay(.)
between consecutive brzo transactions.
btw: The MCP4725 supports fast mode up to 400 kHz SCL speed. But since it is a i2c high speed device, it might work to increase fast mode speeds up to 800 or even 1000 kHz (i.e. fast mode plus speeds). But then you need to decrease the value of the pull-up resistor down to 1 k ohm. If you have a scope, check the timings.
from brzo_i2c.
Added to Release 1.1.0
from brzo_i2c.
Related Issues (20)
- Implementing I2C slave for MAX11615 not working as expected HOT 4
- I2C stucks after clock stretching time exceeds HOT 25
- Question: Logic Levels and ... HOT 2
- Cannot compile for Heltec Wifi Kit 32 HOT 3
- INA219 HOT 8
- Multiple I2C HOT 2
- gpio_init() will cause I2C bus busy (code: 1) HOT 5
- Migrating ADS1015 from Wire HOT 5
- AM2320 sensor not found HOT 11
- I2C bus handle for multiple instances posibility HOT 1
- Support speeds < 100KHz HOT 2
- after 1 slave fails others stop working HOT 4
- Have you thought about a i2c slave implementation. HOT 2
- Novice obsession HOT 2
- GCC 10 compilation issue with Arduino HOT 5
- SDA set before SCL while preparing STOP in brzo_i2c_read() HOT 7
- MEMW not always present
- Clock stretch logic
- Arduino IDE compile error with new ESP8266 core 3.0.0 HOT 30
- SCL cock stretching HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brzo_i2c.