Neil McKechnie
ba9b363058
I2CManager_NonBlocking - Defer I2C speed changes for all drivers
...
Following on from the change to I2CManager_SAMD.h, the capability of deferring a request to change the speed of the I2C has been removed from the SAMD driver and put into the common NonBlocking code, so that all native drivers benefit from it.
2023-01-31 18:39:15 +00:00
Neil McKechnie
bdffd36820
IODevice.h - change visibility of findDevice to protected.
...
To support nested drivers efficiently (i.e. to allow the higher driver to call another driver directly, without searching for a VPIN every time), the visibility of the IODevice::findDevice() function has been changed from private to protected.
2023-01-31 15:24:38 +00:00
Neil McKechnie
4d350040ba
I2CManager_SAMD.h - avoid bus hangs on speed changes
...
The speed change is deferred until the next transmission is about to start to avoid issues with the I2C module being disabled and enabled during a transmission.
2023-01-31 12:28:51 +00:00
Neil McKechnie
291a331f3e
Fix read operations on I2CManager for SAMD
2023-01-31 00:36:57 +00:00
Neil McKechnie
d0ce59b19f
I2CManager_Mega4809.h - allow other I2C clock speeds.
2023-01-24 09:35:10 +00:00
Neil McKechnie
a3d4255fee
Revert "I2CManager_Mega4809.h - allow other I2C clock speeds."
...
This reverts commit 682c47f7dd
.
2023-01-24 09:33:17 +00:00
Neil McKechnie
e8e00f69d6
Non-blocking I2C - reset byte counters on timeout.
2023-01-23 22:31:33 +00:00
Neil McKechnie
10c8915d33
Ensure correct functions are called for strcpy_P, strncmp_P, strlen_P etc. on non-AVR targets..
2023-01-23 22:28:43 +00:00
Neil McKechnie
682c47f7dd
I2CManager_Mega4809.h - allow other I2C clock speeds.
2023-01-23 22:23:05 +00:00
Neil McKechnie
705617239f
Sort out I2C timeout handling, and further I2C diagnostics.
...
Timeout handling and recovery in loop() function now operative.
Start-up check for I2C signals short to ground added.
Initial I2C device probe speed up.
Possible infinite loops in I2C AVR native driver during fault conditions removed.
2023-01-22 13:13:20 +00:00
Neil McKechnie
bfbc45674f
Update IO_AnalogueInputs.h
...
Add I2C initialisation calls (previously missing).
2023-01-22 12:38:24 +00:00
Neil McKechnie
e079a9e395
Update IO_VL53L0X.h
...
Improve address changing logic.
2023-01-22 12:37:16 +00:00
Neil McKechnie
ccf463b507
IODevice.cpp: Fix error in overlap checking.
...
The checkNoOverlap() function didn't work correctly in the case where one device has nPins=0. All devices configured after that were rejected, even when no overlap was present.
2023-01-16 23:03:53 +00:00
Neil McKechnie
abf62dfd85
IO_VL53L0X driver: improve I2C error checking and reporting.
2023-01-16 23:00:58 +00:00
Neil McKechnie
7c25f22939
Fix error reported in IO_DFPlayer.h when compiling for some platforms
2023-01-14 23:50:33 +00:00
Neil McKechnie
0c054c4d42
Merge branch 'devel' into devel-nmck
2023-01-14 23:37:17 +00:00
Neil McKechnie
538519dd9d
Add option to suppress I2C retries.
...
I2CRB method suppressRetries() added to allow retries to be suppressed.
2023-01-14 18:58:06 +00:00
Neil McKechnie
6e69df2da8
Add I2C retries to Wire and to non-blocking I2CManager.
2023-01-14 18:18:57 +00:00
Neil McKechnie
3c5b7bbcfe
HAL updates
...
Remove redundant deferment of device _begin() calls (no longer necessary).
Improve diagnostic loop measurement.
2023-01-14 17:15:30 +00:00
Neil McKechnie
79437bbf37
Update MotorDriver.cpp
...
Remove unnecessary and undesirable interrupt disable/enable when writing to HAL driver.
2023-01-14 17:10:45 +00:00
pmantoine
1be382a6ed
Fixed comment re Serial1 for STM32F446RE
2023-01-14 12:45:21 +08:00
pmantoine
1f433d0c17
Serial1 for STM32F446RE corrected.
2023-01-14 12:43:05 +08:00
pmantoine
046e62a8b3
Minor fix to DCCTimerSTM32.cpp for F412ZG.
2023-01-13 17:24:26 +08:00
peteGSX
a2c7c7d12a
Merge pull request #292 from DCC-EX:exio-prevent-digital-analogue-conflict
...
Exio-prevent-digital-analogue-conflict
2023-01-12 08:21:13 +10:00
peteGSX
9b36bdcf46
Logic and diag message done
2023-01-12 08:10:41 +10:00
peteGSX
a8646a2f32
Fix EX-Turntable diag message
2023-01-12 07:33:50 +10:00
peteGSX
22e20f9092
Logic added and working
2023-01-12 07:27:42 +10:00
peteGSX
de4954ca3e
Merge pull request #288 from DCC-EX:debug-ex-io-expander-on-mega
...
Debug-ex-io-expander-on-mega
2023-01-10 20:11:45 +10:00
peteGSX
c26f53e1fa
Device driver fixed
2023-01-10 20:05:09 +10:00
peteGSX
e48a40fafb
Change to blocking I2CManager calls
2023-01-10 13:07:54 +10:00
peteGSX
5c120efa16
Add being
2023-01-10 08:16:42 +10:00
peteGSX
9abcfb9e4f
Add begin delay to test
2023-01-09 20:08:36 +10:00
peteGSX
e01893bcf1
Comment out unused variables
2023-01-09 20:03:18 +10:00
pmantoine
6eff836473
Add -Wunused-variable build flag to Nucleo builds
2023-01-09 17:18:50 +08:00
pmantoine
402e16727c
Fix platformio for Nucleo-F446RE
2023-01-09 16:47:29 +08:00
pmantoine
658fca2601
Nucleo-F446RE Build target support
2023-01-09 16:24:29 +08:00
peteGSX
3fccf6a484
Fix EX-IOExpander myHal.cpp example
2023-01-03 08:57:21 +10:00
peteGSX
ace9c1642a
Merge pull request #285 from DCC-EX:add-rotary-encoder
...
New working rotary encoder branch
2022-12-30 10:38:10 +10:00
peteGSX
ec4dfb8c1e
New working rotary encoder branch
2022-12-30 09:46:42 +10:00
peteGSX
6482a421b4
Merge pull request #282 from DCC-EX/add-ex-ioexpander
...
Add-ex-ioexpander
2022-12-30 08:10:23 +10:00
peteGSX
d02c6b1f61
Merge branch 'devel' into add-ex-ioexpander
2022-12-30 08:04:49 +10:00
Asbelos
94c8dafeb2
renamed macros
2022-12-29 10:38:04 +00:00
peteGSX
322cb3db54
Include driver in IODevice.h
2022-12-29 08:44:08 +10:00
peteGSX
ffdf023de6
Clean up
2022-12-29 05:10:37 +10:00
peteGSX
8f32ae712f
Fix myHal example
2022-12-27 10:13:08 +10:00
peteGSX
eea1396997
Remove EX-IO pin macros
2022-12-27 10:10:44 +10:00
Asbelos
b1bd28273d
duinoNodes support
2022-12-26 11:06:42 +00:00
Asbelos
0be25f6e7f
Squashed commit of the following:
...
commit e06668f042
Author: Asbelos <asbelos@btinternet.com>
Date: Mon Dec 26 10:09:34 2022 +0000
speedup
commit 3e5d3b1caa
Author: Asbelos <asbelos@btinternet.com>
Date: Sun Dec 25 22:11:56 2022 +0000
Rename
commit 81099af42b
Author: Asbelos <asbelos@btinternet.com>
Date: Sun Dec 25 21:35:38 2022 +0000
spelling and polling
commit 9240e7c6ba
Author: Asbelos <asbelos@btinternet.com>
Date: Sun Dec 25 20:52:07 2022 +0000
input working
commit 6c1c681a26
Author: Asbelos <asbelos@btinternet.com>
Date: Wed Dec 21 11:18:39 2022 +0000
input working
1 board, no kit map, output untested
commit 5ce67fac97
Author: Asbelos <asbelos@btinternet.com>
Date: Sun Dec 18 15:32:37 2022 +0000
Include IO_DNU08 automatically
commit ac8d453d2c
Author: Asbelos <asbelos@btinternet.com>
Date: Sun Dec 18 12:28:13 2022 +0000
BNOU8 HAL driver
2022-12-26 10:41:15 +00:00
peteGSX
71ce913712
Version bugfix
2022-12-26 07:36:12 +10:00
peteGSX
70845b4932
Receive/display EXIO version
2022-12-26 06:44:15 +10:00