Neil McKechnie
59c6c1e5af
Update examples and comments.
2023-03-09 15:59:25 +00:00
Asbelos
1d29436008
Compiler pedantics
2023-03-06 13:47:59 +00:00
Asbelos
bec8aea5a5
TM Broadcasts
...
TM changes will trigger TM state broadcasts
2023-03-06 11:57:14 +00:00
peteGSX
4f23dbc984
Merge pull request #315 from DCC-EX:47-to-do-update-device-driver-to-use-non-blocking-i2c
...
Non-blocking implemented
2023-03-04 19:02:11 +10:00
peteGSX
46070e2999
Non-blocking implemented
2023-03-04 18:55:13 +10:00
Neil McKechnie
22c0bff697
Merge branch 'devel' of https://github.com/DCC-EX/CommandStation-EX into devel
2023-03-02 23:01:47 +00:00
Neil McKechnie
19bbb186e7
Create IO_TouchKeypad.h
...
Driver for 16-pad capacitative key pad device (TTP229-B based).
2023-03-02 23:01:44 +00:00
Asbelos
a17a55d904
Implement <JG> <JI>
2023-03-02 13:03:05 +00:00
Asbelos
b969563d35
Squashed commit of the following:
...
commit 4d8efcdd05
Author: Asbelos <asbelos@btinternet.com>
Date: Wed Mar 1 16:32:05 2023 +0000
Reinstate obsolete <s>
commit 003313998b
Author: Asbelos <asbelos@btinternet.com>
Date: Wed Mar 1 16:07:11 2023 +0000
Change <I><G> to <JI><JG>
commit c72bf51959
Author: Asbelos <asbelos@btinternet.com>
Date: Sat Feb 25 17:38:39 2023 +0000
G and I commands
2023-03-02 12:56:30 +00:00
Asbelos
f0c1ea958c
4.2.19 sensorOffset bugfix
2023-03-02 10:45:39 +00:00
Neil McKechnie
ca4592dc3e
Reinstate original #ifdef DIAG_IO tests in servo modules
2023-03-01 23:09:27 +00:00
Neil McKechnie
0663cc6138
Update IO_EXIOExpander.h
...
_I2CAddress or _i2cAddress - the checkOverlap function uses the former, and the driver uses the latter. I incorrectly used the wrong one!
2023-02-28 23:49:51 +00:00
Neil McKechnie
5fb10fa6d0
Delete IO_ExternalEEPROM.h
2023-02-28 20:09:37 +00:00
Harald Barth
1d47dce473
update tag
2023-02-28 15:22:57 +01:00
Harald Barth
8a126906f3
Only need do anything if cab existed
2023-02-28 15:20:29 +01:00
Harald Barth
b01e4388ce
Small typo in tone scale
2023-02-28 15:17:04 +01:00
Colin Murdoch
4adcdc1b0b
Update config.example.h
...
Removed redundant define for FastClock no longer required.
2023-02-28 12:12:08 +00:00
Neil McKechnie
95b640686a
Merge branch 'devel' of https://github.com/DCC-EX/CommandStation-EX into devel
2023-02-25 11:43:39 +00:00
Neil McKechnie
f56f5d9ebe
Update I2CManager_Wire.h
...
Add alternative multiplexer support for I2C Wire subsystem.
2023-02-25 11:43:36 +00:00
Neil McKechnie
8c8a913678
Update IO_HALDisplay.h
...
Check for memory allocation errors.
2023-02-25 11:43:05 +00:00
Neil McKechnie
711ad6f030
Update SSD1306Ascii.cpp
...
Add remaining extended graphics characters (still no international characters though.
2023-02-25 11:42:43 +00:00
Neil McKechnie
c2983efebb
Update to comments
2023-02-25 11:42:12 +00:00
Asbelos
02ee8ad080
Removed duplicate DIAG
2023-02-24 16:56:21 +00:00
Neil McKechnie
780c6ea162
Revert "Update DisplayInterface.cpp"
...
This reverts commit a23f5839b7
.
2023-02-24 09:39:00 +00:00
Neil McKechnie
8582e51483
Change example EXRAIL DFplayer calls from SERVO to ANOUT.
2023-02-23 20:57:25 +00:00
Neil McKechnie
cdf3927aad
Update I2CManager.h
...
Make getMuxCount() publicly visible.
2023-02-23 20:52:40 +00:00
Neil McKechnie
ddfc67d2e3
Remove files that were incorrectly included in the merge.
2023-02-23 20:52:13 +00:00
Neil McKechnie
a23f5839b7
Update DisplayInterface.cpp
...
Remove dummy display driver object - it's unnecessary now as a null pointer is benign in this context.
2023-02-23 20:24:42 +00:00
Neil McKechnie
eddd6382d9
Update IO_EXFastclock.h
...
Update to support extended I2C addresses.
2023-02-23 20:23:08 +00:00
Neil McKechnie
45e3e3d185
Update IO_RotaryEncoder.h
...
Update to support extended I2C addresses.
2023-02-23 20:17:15 +00:00
Neil McKechnie
5e9ae4a0ac
Remove redundant commented out code.
2023-02-23 20:16:29 +00:00
Neil McKechnie
39d953ed29
Merge pull request #312 from DCC-EX/devel-nmck
...
Merge Devel-nmck:
I2C Multiplexer support through Extended Addresses added for Wire, 4209 and AVR I2C drivers.
I2C retries when an operation fails.
I2C timeout handling and recovery completed.
I2C SAMD Driver Read code completed.
PCF8575 I2C GPIO driver added.
EX-RAIL ANOUT function for triggering analogue HAL drivers (e.g. analogue outputs, DFPlayer, PWM).
EX-RAIL SCREEN function for writing to screens other than the primary one.
Installable HALDisplay Driver, with support for multiple displays.
Layered HAL Drivers PCA9685pwm and Servo added for native PWM on PCA9685 module and for animations of servo movement via PCA9685pwm. This is intended to support EXIOExpander and also replace the existing PCA9685 driver.
Add <D HAL RESET> to reinitialise failed drivers (it calls the _begin method of all HAL drivers to reinitialise them).
Add UserAddin facility to allow a user-written C++ function to be declared in myHal.cpp, to be called at a user-specified frequency.
Add ability to configure clock speed of PCA9685 drivers (to allow flicker-free LED control).
Improve stability of VL53L0X driver when XSHUT pin connected.
Enable DCC high accuracy mode for STM32 on standard motor shield (pins D12/D13).
Incorporate improvements to ADC scanning performance (courtesy of HABA).
2023-02-23 11:20:17 +00:00
Neil McKechnie
b7483d99e9
Update version.h
2023-02-23 11:13:05 +00:00
Neil McKechnie
ce3885b125
Update DisplayInterface.h
...
Remove compiler warning
2023-02-23 10:36:42 +00:00
Neil McKechnie
c52b4a60a5
Update IO_HALDisplay.h
...
Update comments.
2023-02-22 21:34:52 +00:00
Neil McKechnie
ef85d5eaba
Update version.h
...
4.2.18
2023-02-22 21:28:16 +00:00
Neil McKechnie
f281938606
Merge branch 'devel' into devel-nmck
2023-02-22 21:24:08 +00:00
Neil McKechnie
a405d36523
Rename class OLEDDisplay to HALDisplay.
2023-02-22 21:11:37 +00:00
Neil McKechnie
8e8ae90030
Update I2CManager.cpp
...
Add Real-time clock as a device address category (address 0x68).
2023-02-22 21:09:40 +00:00
Neil McKechnie
c3675367ed
Update IO_VL53L0X.h
...
Configure XSHUT control so that the pull-up on the module raises the pin to +2.8V rather than trying to drive it to +5V.
2023-02-22 21:08:09 +00:00
Neil McKechnie
4deb323802
Update LiquidCrystal_I2C.cpp
...
Ensure that pipelined I/O requests complete before the next one is set up.
2023-02-22 21:06:39 +00:00
Neil McKechnie
4eb277f19e
Refactor Display handler to (hopefully) improve clarity.
2023-02-22 21:06:03 +00:00
Neil McKechnie
c2e8557c4c
defines.h - cosmetic change to indenting.
...
Lay out long #if statement with indents to make it a bit easier to read.
2023-02-21 11:12:31 +00:00
Neil McKechnie
8e90bb6996
Enable extended addresses and extended OLED characters on all but Nano, Uno and Mega4809..
...
Define I2C_EXTENDED_ADDRESS on most platforms, and define NO_EXTENDED_CHARACTERS on Nano, Uno and Mega4809.
2023-02-21 11:07:19 +00:00
Neil McKechnie
034bb6b675
Update DCCTimerSTM32.cpp
...
Enable hardware pulse generation on STM32 for pins 12 and 13 (standard motor shield pins), using timers TIM2 and TIM3. Any other pins will currently be controlled directly by the interrupt routine (in effect, by digitalWrite calls).
2023-02-21 11:03:14 +00:00
Neil McKechnie
43b1e8db21
Update LCD driver to make it more reliable
...
Delay times at startup extended to make start-up configuration more reliable.
2023-02-21 11:00:27 +00:00
Neil McKechnie
a36dccfad0
Add UserAddin class to facilitate user-written cyclic functions.
...
UserAddin allows a function to be 'plugged in' to the IODevice (HAL) framework and executed cyclically, using just one line of code in the myHal.cpp. This will facilitate functions for displaying CS state on OLEDs and LCDs, among other things.
2023-02-21 10:55:37 +00:00
Neil McKechnie
33229b4847
Update SSD1306Ascii.cpp
...
Bugfix: Move calculation of m_charsPerColumn and m_charsPerRow into constructors, to avoid incorrect random values being reported.
2023-02-19 19:14:15 +00:00
Neil McKechnie
173676287c
Allow extended I2C addresses to be specified in non-extended configuration
...
If an extended I2C address is specified (including mux and/or subbus) then these parameters are ignored, but a warning output to the diagnostic console.
2023-02-18 09:32:38 +00:00
Neil McKechnie
9797a0fd2d
Add high accuracy timing for STM32, on pins D3 and D6.
2023-02-17 16:04:21 +00:00