1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-30 03:26:13 +01:00

Merge branch 'devel' into devel-cmri

This commit is contained in:
Neil McKechnie 2023-03-21 15:16:43 +00:00
commit 448d01b7b1
6 changed files with 10 additions and 5 deletions

View File

@ -1 +1 @@
#define GITHUB_SHA "devel-202303200910Z" #define GITHUB_SHA "devel-202303202024Z"

View File

@ -116,6 +116,7 @@ private:
_analogueInputStates = (uint8_t*) calloc(analogueBytesNeeded, 1); _analogueInputStates = (uint8_t*) calloc(analogueBytesNeeded, 1);
_analogueInputBuffer = (uint8_t*) calloc(analogueBytesNeeded, 1); _analogueInputBuffer = (uint8_t*) calloc(analogueBytesNeeded, 1);
_analoguePinMap = (uint8_t*) calloc(_numAnaloguePins, 1); _analoguePinMap = (uint8_t*) calloc(_numAnaloguePins, 1);
_analoguePinBytes = analogueBytesNeeded;
} }
} else { } else {
DIAG(F("EX-IOExpander I2C:%s ERROR configuring device"), _I2CAddress.toString()); DIAG(F("EX-IOExpander I2C:%s ERROR configuring device"), _I2CAddress.toString());
@ -222,7 +223,7 @@ private:
// Here we need to copy the values from input buffer to the analogue value array. We need to // Here we need to copy the values from input buffer to the analogue value array. We need to
// do this to avoid tearing of the values (i.e. one byte of a two-byte value being changed // do this to avoid tearing of the values (i.e. one byte of a two-byte value being changed
// while the value is being read). // while the value is being read).
memcpy(_analogueInputStates, _analogueInputBuffer, sizeof(_analogueInputBuffer)); // Copy I2C input buffer to states memcpy(_analogueInputStates, _analogueInputBuffer, _analoguePinBytes); // Copy I2C input buffer to states
} else if (_readState == RDS_DIGITAL) { } else if (_readState == RDS_DIGITAL) {
// Read of digital states was in progress, so process received values // Read of digital states was in progress, so process received values

View File

@ -182,7 +182,9 @@ class MotorDriver {
isProgTrack = on; isProgTrack = on;
} }
void checkPowerOverload(bool useProgLimit, byte trackno); void checkPowerOverload(bool useProgLimit, byte trackno);
void setTrackLetter(char c); inline void setTrackLetter(char c) {
trackLetter = c;
};
#ifdef ANALOG_READ_INTERRUPT #ifdef ANALOG_READ_INTERRUPT
bool sampleCurrentFromHW(); bool sampleCurrentFromHW();
void startCurrentFromHW(); void startCurrentFromHW();

View File

@ -129,6 +129,7 @@ void TrackManager::addTrack(byte t, MotorDriver* driver) {
track[t]=driver; track[t]=driver;
if (driver) { if (driver) {
track[t]->setPower(POWERMODE::OFF); track[t]->setPower(POWERMODE::OFF);
track[t]->setTrackLetter('A'+t);
lastTrack=t; lastTrack=t;
} }
} }

View File

@ -4,7 +4,8 @@
#include "StringFormatter.h" #include "StringFormatter.h"
#define VERSION "4.2.33" #define VERSION "4.2.34"
// 4.2.34 - Completely fix EX-IOExpander analogue inputs
// 4.2.33 - Fix EX-IOExpander non-working analogue inputs // 4.2.33 - Fix EX-IOExpander non-working analogue inputs
// 4.2.32 - Fix LCD/Display bugfixes from 4.2.29 // 4.2.32 - Fix LCD/Display bugfixes from 4.2.29
// 4.2.31 - Removes EXRAIL statup from top of file. (BREAKING CHANGE !!) // 4.2.31 - Removes EXRAIL statup from top of file. (BREAKING CHANGE !!)