public Configuration(ILoggerFactoryAdapter loggerFactoryAdapter, ICommandProcessor commandProcessor, IRegisterContainer registerContainer) { _logger = loggerFactoryAdapter.GetLogger(GetType()); _commandProcessor = commandProcessor; _registerContainer = registerContainer; _payloadWidth = Constants.MaxPayloadWidth; // Attempt to set DataRate to 250Kbps to determine if this is a plus model DataRates oldDataRate = DataRate; DataRate = DataRates.DataRate250Kbps; _isPlusModel = DataRate == DataRates.DataRate250Kbps; DataRate = oldDataRate; }
public bool SetDataRate(DataRates dataRate) { bool success = false; byte setup = ReadRegister(Constants.RF_SETUP); // HIGH and LOW '00' is 1Mbs - our default _isWideBand = false; setup &= (byte)(~(_BV(Constants.RF_DR_LOW) | _BV(Constants.RF_DR_HIGH))); if (dataRate == DataRates.DataRate250Kbps) { // Must set the RF_DR_LOW to 1; RF_DR_HIGH (used to be RF_DR) is already 0 // Making it '10'. _isWideBand = false; setup |= _BV(Constants.RF_DR_LOW); } else { // Set 2Mbs, RF_DR (RF_DR_HIGH) is set 1 // Making it '01' if (dataRate == DataRates.DataRate2Mbps) { _isWideBand = true; setup |= _BV(Constants.RF_DR_HIGH); } else { // 1Mbs _isWideBand = false; } } WriteRegister(Constants.RF_SETUP, setup); // Verify Results if (ReadRegister(Constants.RF_SETUP) == setup) { success = true; } else { _isWideBand = false; } return(success); }
public DataRates GetDataRate() { DataRates dataRate = DataRates.DataRate250Kbps; byte setup = (byte)(ReadRegister(Constants.RF_SETUP) & (1 << Constants.RF_DR_LOW | 1 << Constants.RF_DR_HIGH)); if (setup == _BV(Constants.RF_DR_LOW)) { dataRate = DataRates.DataRate250Kbps; } else if (setup == _BV(Constants.RF_DR_HIGH)) { dataRate = DataRates.DataRate2Mbps; } else { dataRate = DataRates.DataRate1Mbps; } return(dataRate); }
public void setDataRate(DataRates enumVal) { dataRate = (int)enumVal; }
public static string GetName(this DataRates dataRate) { return(DataRates[(int)dataRate]); }
public bool SetDataRate(DataRates dataRate) { bool success = false; byte setup = ReadRegister(Constants.RF_SETUP); // HIGH and LOW '00' is 1Mbs - our default _isWideBand = false; setup &= (byte)(~(BitValue(Constants.RF_DR_LOW) | BitValue(Constants.RF_DR_HIGH))); if (dataRate == DataRates.DataRate250Kbps) { // Must set the RF_DR_LOW to 1; RF_DR_HIGH (used to be RF_DR) is already 0 // Making it '10'. _isWideBand = false; setup |= BitValue(Constants.RF_DR_LOW); } else { // Set 2Mbs, RF_DR (RF_DR_HIGH) is set 1 // Making it '01' if (dataRate == DataRates.DataRate2Mbps) { _isWideBand = true; setup |= BitValue(Constants.RF_DR_HIGH); } else { // 1Mbs _isWideBand = false; } } WriteRegister(Constants.RF_SETUP, setup); // Verify Results if (ReadRegister(Constants.RF_SETUP) == setup) success = true; else _isWideBand = false; return success; }