I have been wondering why there was never a problem compiling the code I wrote about 3-4 months ago for an Arduino as I was stalled, and still am, due to 150+ day parts delivery.
Here is what I have found so far:
Arduino - Implement Wire.end() for AVR core #3724
Arduino - Implement Wire.end() for SAM core #3894
Teensy Core - Why is Wire.end() not implemented ?
When I wrote the code for the Arduino application that uses as part of the application a DS3231 I stumbled onto a posting of code that handled certain conditions of the I2C bus and Wire Library
and other unique conditions. Part of this includes a wire.end() call. I did not look up the Arduino Wire Library
as someone had been using the code that used wire.end(). When I used that sequence of code that included wire.end() there was never an error in compiling the sketch concering the wire.end() call. It was not until I decided to compile this code I wrote using a Maple Mini target did I receive an error about the use of wire.end(). I tried the STM32F103C target just in case there might be a different compile result using the wire.end() function in the code. There was not. The same error.
I looked at the Arduino WireEndTransmission
just in case there might be some mention or reference to wire.end(). There is no mention, nor reference, to wire.end(). That said there is a need and has been a need for wire.end() for while it appears. Why wire.end() is not documented in https://www.arduino.cc/en/Reference/Wire
is anyone's guess. Perhaps the links I provided in "Here is what I have found so far:" will shed some light on why and what wire.end() is about.
The key personal project I will be writing code for will use a DS3231 and a few other I2C devices. Perhaps it might be a consideration to implement wire.end() in Arduino_STM32
notwithstanding I cannot find any documentation so far for the wire.end() except by way of code changes made to libraries to implement. Perhaps secondary changes may bear out the reason for the wire.end() API call.
John L. Males
11 June 2017 00:44 EDT
11 June 2017 01:02 - 01:17 EDT Minor typo errors corrected due to System Buffers Stresses Ongoing. jlm
P.S. The PDFs I have attached are for later historical reference should the current referenced items change address and/or content with respect to current findings as of this post. jlm