peteGSX
d8cbdb24e1
Refactored, analogue tested
2023-02-09 12:54:05 +10:00
peteGSX
93ac1b6d61
Revert IODevice.h change
2023-02-09 12:45:34 +10:00
Neil McKechnie
8083bd1b3b
Merge branch 'devel-nmck' of https://github.com/DCC-EX/CommandStation-EX into devel-nmck
2023-02-09 00:18:17 +00:00
Neil McKechnie
9e0e110b5d
Update defines.h - inappropriate define NO_INTERRUPTS replaced with I2C_USE_WIRE.
2023-02-09 00:17:31 +00:00
Neil McKechnie
7de46a0c17
Add <D HAL RESET> command to attempt to reset failed devices.
2023-02-09 00:16:39 +00:00
Neil McKechnie
9dd9990979
Improve formatting of I2CAddress data type in diagnostics.
2023-02-09 00:16:06 +00:00
Neil McKechnie
dd0ee8b50a
Additional support for Extended I2C Addresses
2023-02-09 00:13:23 +00:00
peteGSX
ad4a0a9592
Merge pull request #303 from DCC-EX:exio-test-servo-included
...
Exio-test-servo-included
2023-02-09 09:43:03 +10:00
peteGSX
deb49f2943
Fix dynamic RAM allocation
2023-02-09 09:31:09 +10:00
peteGSX
5cb216dd79
Servo functional
2023-02-09 08:41:50 +10:00
peteGSX
afc94a75bb
Remove excess drivers
2023-02-09 07:39:58 +10:00
peteGSX
2848ba616b
Some success
2023-02-09 07:38:00 +10:00
peteGSX
3d480ee9ef
Start adding servo to EX-IO
2023-02-09 05:32:27 +10:00
pmantoine
d7f92d7b88
STM32 native I2C driver updates
2023-02-08 13:06:11 +08:00
pmantoine
3fbcd6f300
STM32 native I2C driver initial edits
2023-02-08 10:04:18 +08:00
Neil McKechnie
a0f0b860eb
Update version.h
2023-02-07 23:21:23 +00:00
Neil McKechnie
efb2666060
DCCTimer_AVR - incorporate Haba's optimisations to ADC scanning
2023-02-07 23:18:59 +00:00
Neil McKechnie
73a7d3e0ca
Update I2CManager_AVR.h
...
Bug fix in native driver MUX code.
2023-02-07 23:16:37 +00:00
Neil McKechnie
47cb43d1e9
Update IO_OLEDDisplay.h
...
Make display updates non-blocking (after initialisation completes).
2023-02-07 23:16:00 +00:00
Neil McKechnie
e2e9b7bae7
Update version.h
2023-02-07 22:04:09 +00:00
Harald Barth
57292c2250
installer.sh script bug fix and enhancements
2023-02-07 20:44:03 +01:00
Neil McKechnie
31ce2e3fef
EXTurntable - change I2C address type to I2CAddress.
2023-02-07 18:36:48 +00:00
Neil McKechnie
d8881deb6a
Merge branch 'devel' into devel-nmck
2023-02-07 18:05:18 +00:00
Neil McKechnie
5439dd3158
Suppress compiler warnings.
2023-02-07 17:59:40 +00:00
Neil McKechnie
aad0d28d1f
Servo driver - split PCA9685 into a filter + PWM driver.
...
Two new drivers: PCA9685pwm drives the PCA9685 I2C device directly, and Servo driver which acts as a 'shim' over the top to control animations. This is aimed at supporting devices like the EXIOExpander by allowing the Servo driver to talk to the EXIOExpander driver instead, to animate servos on another controller.
2023-02-07 17:24:05 +00:00
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
peteGSX
c870940dde
Add extra error checking
2023-02-07 07:32:16 +10:00
peteGSX
754639c7e3
Update version
2023-02-06 19:39:25 +10:00
peteGSX
a478ad7112
Merge pull request #302 from DCC-EX:separate-server-from-pca9685
...
Separate-server-from-pca9685
2023-02-06 19:34:00 +10: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
peteGSX
abe79b854e
Fix digital read bug
2023-02-04 09:19:32 +10: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
peteGSX
ec83a345dc
Basic PWM working
2023-02-01 19:46:08 +10:00
peteGSX
4e32c707b9
Brief start on PWM
2023-02-01 14:53:46 +10:00