mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-11-26 17:46:14 +01:00
Add ready flag
This commit is contained in:
parent
73b45ba9b8
commit
2af01e3c42
|
@ -83,11 +83,11 @@ private:
|
||||||
// Attempt to initilalise device
|
// Attempt to initilalise device
|
||||||
I2CManager.begin();
|
I2CManager.begin();
|
||||||
if (I2CManager.exists(_I2CAddress)) {
|
if (I2CManager.exists(_I2CAddress)) {
|
||||||
// Send RE_OP, must receive RE_OP to be online
|
// Send RE_RDY, must receive RE_RDY to be online
|
||||||
_sendBuffer[0] = RE_OP;
|
_sendBuffer[0] = RE_RDY;
|
||||||
_status = I2CManager.read(_I2CAddress, _rcvBuffer, 1, _sendBuffer, 1);
|
_status = I2CManager.read(_I2CAddress, _rcvBuffer, 1, _sendBuffer, 1);
|
||||||
if (_status == I2C_STATUS_OK) {
|
if (_status == I2C_STATUS_OK) {
|
||||||
if (_rcvBuffer[0] == RE_OP) {
|
if (_rcvBuffer[0] == RE_RDY) {
|
||||||
_sendBuffer[0] = RE_VER;
|
_sendBuffer[0] = RE_VER;
|
||||||
if (I2CManager.read(_I2CAddress, _versionBuffer, 3, _sendBuffer, 1) == I2C_STATUS_OK) {
|
if (I2CManager.read(_I2CAddress, _versionBuffer, 3, _sendBuffer, 1) == I2C_STATUS_OK) {
|
||||||
_majorVer = _versionBuffer[0];
|
_majorVer = _versionBuffer[0];
|
||||||
|
@ -195,10 +195,11 @@ private:
|
||||||
const unsigned long _positionRefresh = 100000UL; // Delay refreshing position for 100ms
|
const unsigned long _positionRefresh = 100000UL; // Delay refreshing position for 100ms
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
RE_VER = 0xA0, // Flag to retrieve rotary encoder version from the device
|
RE_RDY = 0xA0, // Flag to check if encoder is ready for operation
|
||||||
RE_OP = 0xA1, // Flag for normal operation
|
RE_VER = 0xA1, // Flag to retrieve rotary encoder software version
|
||||||
RE_MOVE = 0xA2, // Flag for sending a position update from the device driver to the encoder
|
RE_READ = 0xA2, // Flag to read the current position of the encoder
|
||||||
RE_READ = 0xA3, // Flag to read the current position of the encoder
|
RE_OP = 0xA3, // Flag for operation start/end, sent to when sending feedback on move start/end
|
||||||
|
RE_MOVE = 0xA4, // Flag for sending a position update from the device driver to the encoder
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user