Commit Graph

356 Commits

Author SHA1 Message Date
ladyada 4d276155d7 klzng 2023-10-09 12:15:35 -04:00
ladyada a9498c8f62 kick! 2023-10-09 12:13:50 -04:00
ladyada ad776484f3 Merge branch 'master' of github.com:adafruit/Adafruit_BusIO 2023-09-25 00:53:11 -04:00
ladyada fbba4799ad more specific debug during scan 2023-09-25 00:53:07 -04:00
Tyeth Gundry ee0faec7ee
Update library.properties - bump version to 1.14.4 2023-09-19 11:39:09 +01:00
Dan Halbert 7cc1d0a5fd
Merge pull request #120 from Wol/patch-1
Remove offensive term in comments
2023-09-15 23:01:30 -04:00
Luke Lowrey 9108618560
Fix line length 2023-09-16 00:59:38 +01:00
Luke Lowrey 1b7f5a9590
Remove offensive term in comments
Tidying up the language used - https://dictionary.cambridge.org/dictionary/english/spaz https://en.wiktionary.org/wiki/spaz
2023-09-16 00:30:41 +01:00
Ha Thach 4f899a2dd6
Merge pull request #119 from OlafFilies/XMC_enable
By adding two macros all Infineons XMC MCUs are now able to use the l…
2023-09-13 13:46:01 +07:00
Filies Olaf (IFAG DES TOC PSA) 5162b240d7 Forgot the || inthe macro list 2023-09-11 17:21:18 +02:00
Filies Olaf (IFAG DES TOC PSA) 8097aa568f By adding two macros all Infineons XMC MCUs are now able to use the library 2023-09-11 16:50:03 +02:00
Tyeth Gundry 3ea940b745
Update library.properties - bump version to 1.14.3 2023-08-15 12:03:13 +01:00
Limor "Ladyada" Fried 5473c1801c
Merge pull request #117 from DeflateAwning/master
Add explicit type casting to fix build error
2023-08-13 13:53:57 -04:00
DeflateAwning 7fd30d0bf8 Add explicit type casting to fix build error 2023-06-21 23:25:44 -06:00
dherrada 42e31a252f Update CI action versions 2023-05-12 11:23:57 -04:00
Carter Nelson 186bfb005c
Update library.properties 2022-11-02 09:53:19 -07:00
Carter Nelson 6a2e9b6a88
Merge pull request #110 from caternuson/iss109
Init HW SPI members
2022-11-02 09:52:40 -07:00
caternuson 369413c66d init hw spi members 2022-11-01 12:23:15 -07:00
Eva Herrada 0348f74375
Bump to 1.14.0 2022-10-25 17:24:30 -04:00
Carter Nelson 8f3a45e263
Merge pull request #108 from caternuson/iss81_spi_refac
Refactor for better SW SPI only support
2022-10-24 10:58:05 -07:00
caternuson 3736ebfde1 refactor for better sw spi only support 2022-08-22 15:18:26 -07:00
Eva Herrada e89ae64bd3
Bump to 1.13.2 2022-08-12 17:16:53 -04:00
Limor "Ladyada" Fried 4b8f6e312c
Merge pull request #106 from RobTillaart/master
Fix #105 - make I2C setspeed more robust
2022-08-12 15:06:06 -04:00
rob tillaart 319d44c093 fix build 2022-08-08 22:02:39 +02:00
rob tillaart e238822921 clang-format 2022-08-08 21:31:17 +02:00
Rob Tillaart 3cc0846d78
Fix #105 - make setspeed more robust
- prevent out of range I2C speeds for AVR
2022-08-08 21:17:42 +02:00
Eva Herrada 8fce6cda99
Bump to 1.13.1 2022-08-02 12:26:14 -04:00
lady ada 5c159aa9a1 oi nevermind 2022-08-02 11:23:11 -04:00
lady ada 0e5b03fcfb clang 2022-08-02 11:11:30 -04:00
lady ada fe6bb61052 Merge branch 'master' of github.com:adafruit/Adafruit_BusIO 2022-08-02 11:06:54 -04:00
lady ada a8b7958a1a be more specific on fixing arduino i2c speeds 2022-08-02 11:06:49 -04:00
Eva Herrada eeda9eeee2
Bump to 1.13.0 2022-08-01 13:40:43 -04:00
lady ada a493f3d7a3 clang 2022-07-31 23:26:58 -04:00
lady ada 8c7a20af42 Merge branch 'master' of github.com:adafruit/Adafruit_BusIO 2022-07-31 23:25:28 -04:00
lady ada 399aeea376 https://github.com/adafruit/Adafruit_BusIO/issues/100 2022-07-31 23:25:24 -04:00
Limor "Ladyada" Fried 23ac286bd0
Merge pull request #104 from adafruit/fixavrsetspeed
manually handle AVR i2c setspeed to handle slow clocks
2022-07-31 17:46:19 -04:00
lady ada 3e0e740d56 clang 2022-07-31 17:06:55 -04:00
lady ada 36da2e4611 prescaler is not calculated here https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/Wire/src/utility/twi.c#L139 which means we cannot get below 30.5mhz! 2022-07-31 17:04:44 -04:00
Eva Herrada c421326131
Bump to 1.12.0 2022-06-28 16:19:19 -04:00
lady ada 1cb88a65b7 add ESP32 large buffer support (doesnt fix bno085 but worth a short)
cc @caternuson
2022-06-25 21:12:11 -04:00
Eva Herrada 515f63f49c
Bump to 1.11.6 2022-05-09 15:56:03 -04:00
Limor "Ladyada" Fried bb7c77ad09
Merge pull request #95 from eringerli/workflow
updated github workflow
2022-05-02 18:29:58 -04:00
Limor "Ladyada" Fried 02665fd93f
Merge pull request #96 from KurtE/t4x_neutered
T4.x - Software SPI - don't use FAST_PINIO
2022-05-02 18:29:41 -04:00
Limor "Ladyada" Fried b949d28bde
Merge pull request #93 from eringerli/cs-transaction-management
better transaction management
2022-05-02 18:29:00 -04:00
KurtE 17cf18bf5b T4.x - Software SPI - don't use FAST_PINIO
The original problem was that the code defined the registers and mask as 8 bits, when the T4.x ones are 32 bits.  So it only worked on a subset of pins.

So first fix would be to simply define these values as 32 bits.  But doing so leaves you code at risk as the Set/Clear code in this library is not atomic,
Example: *clkPort |= clkPinMask;

So if something happens in the small time window after the time the register is retrieved and then manipulated and written back, such as an interrupt.
Or maybe if other hardware is driving the pin.  These changes would be
clobbered by the above code.

Not sure how many other boards (if any) may be hit by the same issue.

It is not an issue with T3.x as the Teensy code uses the M3/M4 bitband support, so for each pin there is a unique memory address for it and these operations are atomic.

Note: the Arm M7 does not support bitbands.  However  in these caseAtomic code can be written for the T4.x by instead using the DR register of the IO port, you use the DR_SET, DR_CLEAR, DR_TOGGLE registers instead which do as the names imply
the do that operation only those pins who have a 1 bit set to the value...
2022-05-02 15:16:52 -07:00
Eva Herrada 204c1de9ab
Bump to 1.11.5 2022-05-02 17:50:30 -04:00
Christian Riggenbach f82f699c64 reuse beginTransactionWithAssertingCS()/endTransactionWithDeassertingCS() 2022-05-02 22:37:27 +02:00
Christian Riggenbach c00ec13218 moved setChipSelect() in front of beginTransactionWithAssertingCS()
This is a more logical order, as beginTransactionWithAssertingCS() and
endTransactionWithDeassertingCS() both call it.
2022-05-02 22:37:17 +02:00
Christian Riggenbach 41635e3c68 beginTransactionWithAssertingCS() and endTransactionWithDeassertingCS()
These two methods are similar to beginTransaction() and endTransaction(),
but, as the name implies, with CS management. They are both public, as
beginTransaction() and endTransaction() are too.
2022-05-02 22:35:38 +02:00
Christian Riggenbach 132124b093 updated github workflow 2022-05-02 22:12:18 +02:00