Neil McKechnie
19070d33ba
Add Arduino M0, and display time on serial monitor.
2023-02-07 17:13:36 +00:00
Neil McKechnie
7b79680de2
First stab at HAL-installable OLED Display Driver.
2023-02-07 17:09:17 +00:00
Neil McKechnie
0c88c74706
Revert "Refactor SSD1306 initialisation to support different initialisation sequences."
...
This reverts commit 278a9c52a6
.
2023-02-07 17:01:45 +00:00
Neil McKechnie
cb287f23a4
I2CManager: Add support for I2C Multiplexers to Wire and AVR.
...
AVR Native (non-blocking) driver now supports up to 8 I2C Multiplexers, as does any controller that uses Wire for I2C.
Other native drivers will be updated in due course.
2023-02-07 16:38:30 +00:00
Neil McKechnie
261ccf2f3b
HAL - change variable type for PCA9685 data.
2023-02-07 15:09:21 +00:00
Neil McKechnie
278a9c52a6
Refactor SSD1306 initialisation to support different initialisation sequences.
...
To support a HAL Display driver, the SSD1306 driver can be created (new) and then the I2C address assigned explicitly in the begin() call. The original approach of looking for the I2C device address has also been retained in a different constructor.
2023-02-07 15:07:29 +00:00
Neil McKechnie
9435869ee3
Prepare HAL device drivers to support Extended I2C Addresses
...
Cast I2CAddress variables in DIAG calls to (int).
2023-02-07 15:04:03 +00:00
Neil McKechnie
d5a394d4e6
Prepare HAL device drivers to support Extended I2C Addresses
...
Update I2C addresses of HAL devices to type I2CAddress (to support extended address functions).
Cast I2CAddress variables in DIAG calls to (int).
Remove uses of max() function (not available on some platforms.
2023-02-07 14:55:14 +00:00
Neil McKechnie
13bd6ef9eb
HAL: Add support for Extended Addresses and I2C Multiplexer
...
Change I2C addresses from uint8_t to I2CAddress, in preparation for MUX support. Currently, by default, I2CAddress is typedef'd to uint8_t.
MUX support implemented for AVR and Wire versions.
2023-02-04 23:57:22 +00:00
Neil McKechnie
45657881eb
Merge branch 'devel-nmck' of https://github.com/DCC-EX/CommandStation-EX into devel-nmck
2023-02-04 23:01:51 +00:00
Neil McKechnie
a590245e93
I2CManager_SAMD.h: Remove unneeded declaration.
2023-02-04 21:01:02 +00:00
Neil McKechnie
6f5680fce0
DFPlayer: Avoid jumps in volume when switching song and reducing volume at the same time.
2023-02-04 20:59:19 +00:00
Neil McKechnie
2f46a8e083
Add EX-RAIL 'ANOUT' function for general analogue outputs.
2023-02-04 20:56:12 +00:00
Neil McKechnie
bd62939713
Fix handling of hex numbers to avoid extending MSB (sign bit)
...
Also, added format %X (unsigned long) to complement %x (unsigned int).
2023-02-04 20:55:14 +00:00
Neil McKechnie
27ddc7b30b
IO_ExampleSerial - refactor and update comments
...
To more directly reflect the bulk of HAL drivers, the .h/.cpp split has been removed and the class is fully defined in the .h file.
2023-02-03 12:56:19 +00:00
Neil McKechnie
81559998ec
Update IODevice base class to better support filter drivers
...
Filter drivers provide extra functionality above a hardware driver. For example, a hardware driver for a PWM module may just set the PWM ratio, but a separate filter driver could animate motors or servos over time, calling the PWM driver to output the pulses. This would allow the animations to be easily implemented on a different type of PWM module.
2023-02-03 12:55:25 +00:00
Neil McKechnie
847ced2f49
Update IO_VL53L0X.h
...
Improve comments; drive XSHUT pin through pullup resistor, not directly.
2023-02-03 12:46:38 +00:00
Neil McKechnie
49713badb2
Update I2CManager_NonBlocking.h
...
Add code to try and recover from stuck bus following a timeout.
2023-02-02 12:21:35 +00:00
pmantoine
be88344407
PCF8575 16-bit port device support added
2023-02-02 07:12:47 +08:00
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
Harald Barth
95945eab4c
version bump
2023-01-29 08:50:19 +01:00
Harald Barth
638682f05c
STM32F4xx fast ADC read implementation (merge branch 'stm32_adcee_pma' into devel)
2023-01-29 08:47:05 +01:00
Harald Barth
212bf8d80e
Broadcast power for <s> again
2023-01-29 08:13:52 +01:00
Harald Barth
290d878063
version
2023-01-28 19:09:16 +01:00
Harald Barth
2a7588b1b5
jT answer should contain empty string
2023-01-28 19:07:59 +01:00
pmantoine
be33bafa66
Fixed logic of ADC ready
2023-01-28 14:39:00 +08:00
pmantoine
6cc66e26c1
Initial STM32F4xx fast ADC read implementation
2023-01-28 13:58:55 +08:00
Harald Barth
c91d66549c
Remove warnings
2023-01-27 19:42:55 +01:00
Harald Barth
9e5d780c14
Bugfix for issue #299 TurnoutDescription NULL
2023-01-27 18:42:26 +01:00
Harald Barth
2c0886bc2f
version and copyright info
2023-01-27 17:03:39 +01:00
Harald Barth
762742b4af
Add the macro def
2023-01-27 13:05:36 +01:00
Harald Barth
88b572a148
Add EXRAIL IFLOCO function
2023-01-26 16:55:58 +01:00
peteGSX
fcf16c1367
Update version
2023-01-26 18:53:25 +10:00
Colin Murdoch
c69b8d85c8
Merge branch 'devel-plus-fastclock' into devel
2023-01-24 12:30:48 +00:00
Colin Murdoch
006c85e6ae
Delete platformio.ini.original
...
Delete file not required
2023-01-24 12:21:28 +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
peteGSX
4f233de726
Merge pull request #297 from DCC-EX:31-exio-to-do-optimise-read-speed
...
31-exio-to-do-optimise-read-speed
2023-01-24 08:25:13 +10:00
Neil McKechnie
682c47f7dd
I2CManager_Mega4809.h - allow other I2C clock speeds.
2023-01-23 22:23:05 +00:00
peteGSX
4acf46db54
EX-IO reads optimised for speed
2023-01-24 08:17:43 +10:00
peteGSX
20b3e9064c
Analogue inputs functioning
2023-01-23 21:35:22 +10:00
peteGSX
459904e5dd
More analogue inputs
2023-01-23 20:12:28 +10:00
peteGSX
878549d538
Working on analogue inputs
2023-01-23 16:26:07 +10:00
peteGSX
7f4e3d9cea
Digital inputs optimised
2023-01-23 11:49:23 +10:00
peteGSX
f2aeb4069f
Merge pull request #296 from DCC-EX:294-bug-report-ex-rail-signalsignalh-inverted
...
294-bug-report-ex-rail-signalsignalh-inverted
2023-01-23 04:59:54 +10:00