1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-27 18:16:13 +01:00

Compare commits

..

No commits in common. "5959a8655c2516883ca9d1a70f18973b75d35059" and "964364e51ccde1403ccb2901a50449603aa5438f" have entirely different histories.

2 changed files with 8 additions and 11 deletions

View File

@ -193,12 +193,9 @@ uint8_t I2CManagerClass::read(I2CAddress address, uint8_t readBuffer[], uint8_t
// while (Wire.available() && nBytes < readSize)
while (nBytes < readSize)
if (Wire.available()) {
// uint8_t temp=nBytes;
char readByte=Wire.read();
DIAG(F("nBytes=%d, readByte=%d"),nBytes,readByte);
// readBuffer[nBytes++] = Wire.read();
readBuffer[nBytes++]=readByte;
// DIAG(F("nBytes=%d, readBuffer[nBytes]=%d"), temp, readBuffer[temp]);
uint8_t temp=nBytes;
readBuffer[nBytes++] = Wire.read();
DIAG(F("nBytes=%d, readBuffer[nBytes]=%d"), temp, readBuffer[temp]);
} else {
delay(1);
}
@ -239,7 +236,7 @@ void I2CManagerClass::queueRequest(I2CRB *req) {
DIAG(F("NOOOOOOOOOOO"));
return;
}
// req->dump();
req->dump();
switch (req->operation & OPERATION_MASK) {
case OPERATION_READ:
read(req->i2cAddress, req->readBuffer, req->readLen, NULL, 0, req);

View File

@ -105,8 +105,8 @@ private:
if (_digitalPinBytes < digitalBytesNeeded) {
// Not enough space, free any existing buffer and allocate a new one
if (_digitalPinBytes > 0) free(_digitalInputStates);
_digitalPinBytes = digitalBytesNeeded;
_digitalInputStates = (byte*) calloc(_digitalPinBytes, 1);
_digitalPinBytes = digitalBytesNeeded;
}
}
@ -260,9 +260,9 @@ private:
} else if (currentMicros - _lastAnalogueRead > _analogueRefresh && _numAnaloguePins>0) { // Delay for analogue read refresh
// Issue new read for analogue input states
_readCommandBuffer[0] = EXIORDAN;
DIAG(F("EXIORDAN address=%x, aBuffer=%d, bytes=%d"),_I2CAddress,_analogueInputBuffer,_numAnaloguePins*2);
I2CManager.read(_I2CAddress, _analogueInputBuffer,
_numAnaloguePins * 2, _readCommandBuffer, 1, &_i2crb);
// DIAG(F("EXIORDAN address=%x, aBuffer=%d, bytes=%d"),_I2CAddress,_analogueInputBuffer,_numAnaloguePins*2);
// I2CManager.read(_I2CAddress, _analogueInputBuffer,
// _numAnaloguePins * 2, _readCommandBuffer, 1, &_i2crb);
_lastAnalogueRead = currentMicros;
_readState = RDS_ANALOGUE;
}