diff --git a/libraries/Wire/Wire.cpp b/libraries/Wire/Wire.cpp index d34ad83b0..9b345d3e1 100644 --- a/libraries/Wire/Wire.cpp +++ b/libraries/Wire/Wire.cpp @@ -179,10 +179,10 @@ void arduino::MbedI2C::receiveThd() { break; } } - if (rxBuffer.available() > 0 && onReceiveCb != NULL) { - onReceiveCb(rxBuffer.available()); - } core_util_critical_section_exit(); + if (available() > 0 && onReceiveCb != NULL) { + onReceiveCb(available()); + } //slave->stop(); break; case mbed::I2CSlave::NoData: diff --git a/package_full.sh b/package_full.sh index cb57b1a98..2f9c1434e 100755 --- a/package_full.sh +++ b/package_full.sh @@ -1,5 +1,5 @@ #Get version from git(hub) tag -export VERSION="4.2.2" +export VERSION="4.2.4" FLAVOURS=`ls *.variables` diff --git a/variants/OPTA/pins_arduino.h b/variants/OPTA/pins_arduino.h index 25d6e8c06..301ac30aa 100644 --- a/variants/OPTA/pins_arduino.h +++ b/variants/OPTA/pins_arduino.h @@ -148,6 +148,7 @@ static const uint8_t SCK = PIN_SPI_SCK; // Use these only if bootloader data is not available / valid #define _BOARD_VENDORID 0x2341 #define _BOARD_PRODUCTID 0x0264 + uint16_t _getVid_(); uint16_t _getPid_(); diff --git a/variants/OPTA/variant.cpp b/variants/OPTA/variant.cpp index eabe1cdab..93b796e88 100644 --- a/variants/OPTA/variant.cpp +++ b/variants/OPTA/variant.cpp @@ -313,26 +313,19 @@ uint16_t boardRevision() { return (((OptaBoardInfo*)_boardInfo)->revision); } +#ifndef FIRST_PROGRAMMING uint16_t _getVid_() { -#ifdef FIRST_PROGRAMMING - return _BOARD_VENDORID; -#else if (!has_otp_info) { getSecureFlashData(); } return ((OptaBoardInfo*)_boardInfo)->vid; -#endif } uint16_t _getPid_() { -#ifdef FIRST_PROGRAMMING - return _BOARD_PRODUCTID; -#else if (!has_otp_info) { getSecureFlashData(); } return ((OptaBoardInfo*)_boardInfo)->pid; -#endif } uint8_t _getSecureEthMac_(uint8_t *mac_address) { @@ -349,6 +342,7 @@ uint8_t mbed_otp_mac_address(char *mac) auto ret = _getSecureEthMac_(reinterpret_cast(mac)); return ret; } +#endif #define BOARD_REVISION(x,y) (x << 8 | y)