From 66a1615cfc3917342189c0ed54262b00006e2191 Mon Sep 17 00:00:00 2001 From: fpr Date: Mon, 18 Sep 2017 15:32:23 +0200 Subject: [PATCH] Remove I2C buffer length limitation required by M24SR64-Y library Signed-off-by: fpr --- libraries/Wire/Wire.cpp | 2 +- libraries/Wire/Wire.h | 3 +++ variants/DISCO_L475VG_IOT/variant.h | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/Wire/Wire.cpp b/libraries/Wire/Wire.cpp index e14f1b6d33..0c1480f0b4 100644 --- a/libraries/Wire/Wire.cpp +++ b/libraries/Wire/Wire.cpp @@ -129,7 +129,7 @@ uint8_t TwoWire::requestFrom(uint8_t address, uint8_t quantity, uint32_t iaddres } // clamp to buffer length - if(quantity > BUFFER_LENGTH){ + if(quantity >= BUFFER_LENGTH){ quantity = BUFFER_LENGTH; } // perform blocking read into buffer diff --git a/libraries/Wire/Wire.h b/libraries/Wire/Wire.h index d9536c0113..1168e6c930 100644 --- a/libraries/Wire/Wire.h +++ b/libraries/Wire/Wire.h @@ -26,7 +26,10 @@ #include "Stream.h" #include "variant.h" +// Defines a default buffer length +#ifndef BUFFER_LENGTH #define BUFFER_LENGTH 32 +#endif #define MASTER_ADDRESS 0x33 diff --git a/variants/DISCO_L475VG_IOT/variant.h b/variants/DISCO_L475VG_IOT/variant.h index b0fc4fa991..7a7167ba3a 100644 --- a/variants/DISCO_L475VG_IOT/variant.h +++ b/variants/DISCO_L475VG_IOT/variant.h @@ -171,6 +171,8 @@ enum { #define SDA 14 #define SCL 15 +#define BUFFER_LENGTH 255 //Define I2C maximum buffer length + //Timer Definitions //Do not use timer used by PWM pins when possible. See PinMap_PWM. #define TIMER_TONE TIM6