Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
move timout handling into its own function
change timeout from milliseconds to microseconds
don't forget operating slave address or the bitrate when we reset because of a timeout
Co-Authored-By: Witold Markowski <witold.a.markowski@gmail.com>
fix delay datatype uint16_t --> uint32_t
Update libraries/Wire/src/utility/twi.c
fix mix up using TWBR instea of TWAR!
Co-Authored-By: Matthijs Kooijman <matthijs@stdin.nl>
Update libraries/Wire/src/utility/twi.c
fix 2nd TWBR/TWAR mixup
Co-Authored-By: Matthijs Kooijman <matthijs@stdin.nl>
twi_stop() should use the same timeout as everywhere else
all while loops are now protected by timeouts
Revert "twi_stop() should use the same timeout as everywhere else"
This reverts commit 68fe5f1dae1bb41183bb37eeda3fb453394a580c.
make timeout counter volatile
rename timeout function for improved clarity
- resetting the twi interface on timeouts is now optional
- timeouts in the ISR are no longer hardcoded and now obey the set timeout value
- a user-readable flag is now set whenever a timeout occurs
- the user can clear this flag whenever they like
|
|
|
|
Added __attribute__ ((fallthrough));
|
|
In a MultiMaster I2C environment, The Default value of 0xFE in the TWAR cause the Arduino to respond as an I2C Slave device at address 0x7f. If the Wire.h library was not configured as a I2C Slave, `Wire.begin(slaveID);` the Callbacks for `twi_onSlaveTransmit()` and `twi_onSlaveReceive()` are never initialized.
But, they are called during servicing the TWI ISR. This causes a reboot of the Arduino by jumping to an uninitialized function address (0).
So, this fix initializes them to the Default Wire.h handler which will respond correctly even during Master Mode operations.
A MASTER MODE only Arduino will respond to all Slave Calls that match TWAR, Unless the TWEA bit is disabled outside of Master Transactions.
Chuck.
It also initialized the TWAR to the General Call ID (0x0) and Disables General Call responses.
Chuck.
|
|
|
|
Fixes that more complex methods (like Stream::print(float)) do not work properly.
Without this fix, Wire.print(1.01f); results in '1' because Print::printFloat(double, uint8_t) performs multiple print() and therefore twi_transmit calls. Also Wire.println("Heyho"); results only in a newline character.
|
|
Move TWBR register from Wire.cpp to twi.c file.
|
|
|
|
|
|
|
|
|
|
|
|
Removed implicit conversions from unsigned, to signed, back to unsigned.
|
|
These functions have been replaced by read() and write() since Arduino
1.0.
|
|
as suggested by @earlyprogrammer in #2173, to ensure TWDR value is set
if there is a write collision
|
|
this resolves timing issues seen in #1477
|
|
Fix #3812
|
|
Fix #66
|
|
|
|
|
|
Additional interface method ported to avr for compatibility
Fix issue #2428.
|
|
http://arduino.cc has been changed to http://www.arduino.cc. Fixes #3191
|
|
relying on an undocumented 'types' property. Fixes #2875
|
|
This fixes the Wire examples that uses I2C reserved address (from 0 to 7) substituting them with 8 that is the first one available and that can be used.
I also modified the wire reference
http://www.arduino.cc/en/reference/wire
according to this fact.
|
|
|
|
|
|
|
|
Wire library
|
|
This reverts commit a31857688bdc270ed65307755ff3b73ef4867982.
|
|
|
|
Merge remote-tracking branch 'arduino/master' into ide-1.5.x
Conflicts:
app/src/processing/app/Base.java
build/shared/revisions.txt
hardware/arduino/avr/cores/arduino/malloc.c
hardware/arduino/cores/arduino/avr-libc/malloc.c
hardware/arduino/cores/arduino/malloc.c
todo.txt
|
|
|
|
|
|
are searched per board/platform
|
|
|
|
|
|
when do a requestFrom() a slave device. Thanks to Christopher K. Johnson.
|
|
Compiler have been integrated with changes to the Sketch.
Compilation still has problems (Thread error on success, and can't handle non-pde files in a sketch).
Modified the Mac OS X make.sh to copy the hardware, avr tools, and example over.
Removing some of the antlr stuff.
Disabling the Commander (command-line execution) for now.
Added Library, LibraryManager, and Target.
Added support for prefixed preferences (e.g. for boards and programmers).
|