aboutsummaryrefslogtreecommitdiff
path: root/lib/pbdrv/drv
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pbdrv/drv')
-rw-r--r--lib/pbdrv/drv/arduino/mod.cpp2
-rw-r--r--lib/pbdrv/drv/rp2040/mod.c14
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/pbdrv/drv/arduino/mod.cpp b/lib/pbdrv/drv/arduino/mod.cpp
index c381077..581b80a 100644
--- a/lib/pbdrv/drv/arduino/mod.cpp
+++ b/lib/pbdrv/drv/arduino/mod.cpp
@@ -48,6 +48,8 @@ static void pb_setup() {
* RP2040.
*/
__weak void pb_i2c_send(i2c_addr_t addr, const uint8_t * buf, size_t sz) {
+ if (pb_hook_i2c_send(addr, buf, sz)) return;
+
vTaskDelay(10 / portTICK_PERIOD_MS); // prevent bus collisions
Wire.beginTransmission((int) addr);
Wire.write(buf, sz);
diff --git a/lib/pbdrv/drv/rp2040/mod.c b/lib/pbdrv/drv/rp2040/mod.c
index bc20927..bca38d0 100644
--- a/lib/pbdrv/drv/rp2040/mod.c
+++ b/lib/pbdrv/drv/rp2040/mod.c
@@ -1,10 +1,8 @@
-#include "pb.h"
-
-#include "pb.h"
-#include "pb-types.h"
-#include "pb-mod.h"
-#include "pb-send.h"
-#include "pb-buf.h"
+#include "../../pb.h"
+#include "../../pb-types.h"
+#include "../../pb-mod.h"
+#include "../../pb-send.h"
+#include "../../pb-buf.h"
#include <hardware/i2c.h>
#include <hardware/gpio.h>
@@ -43,7 +41,7 @@ void pb_setup() {
}
__weak void pb_i2c_send(i2c_addr_t addr, const uint8_t * buf, size_t sz) {
- pb_hook_i2c_send(addr, buf, sz);
+ if (pb_hook_i2c_send(addr, buf, sz)) return;
// false to write stop condition to i2c bus
i2c_write_timeout_us(PB_I2C_M, addr, buf, sz, false, PB_TIMEOUT_US);