Пример #1
0
        internal BleDevice(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger, byte connectionHandle, byte[] address, BleAddressType addressType, List <BleService> services)
        {
            _bgLib = bgLib;
            _bleModuleConnection = bleModuleConnection;
            _logger           = logger;
            _connectionHandle = connectionHandle;

            Address     = address;
            AddressType = addressType;
            Services    = services;

            services.ForEach(service =>
            {
                service.Characteristics.ForEach(characteristic =>
                {
                    CharacteristicsByUuid.Add(characteristic.Uuid, characteristic);
                });
            });

            services.ForEach(service =>
            {
                service.Characteristics.ForEach(characteristic =>
                {
                    CharacteristicsByHandle.Add(characteristic.Handle, characteristic);
                });
            });

            _bgLib.BLEEventATTClientAttributeValue += OnClientAttributeValue;
            _bgLib.BLEEventConnectionDisconnected  += OnDisconnected;

            IsConnected = true;
        }
Пример #2
0
 internal BleCharacteristic(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger, byte connection, byte[] uuid, ushort handle)
 {
     _bgLib = bgLib;
     _bleModuleConnection = bleModuleConnection;
     _logger     = logger;
     _connection = connection;
     Uuid        = uuid.ToBleGuid();
     Handle      = handle;
 }
Пример #3
0
 public BGLibApi(ISerialDevice serialDevice)
 {
     _serialDevice = serialDevice;
     if (!_serialDevice.IsAttached)
     {
         serialDevice.AttachAsync(256000).GetAwaiter().GetResult();
     }
     _bglib = new BGLib(_serialDevice);
     StartSerialRxConsumerTask();
     _serialDevice.DataReceived += Serial_DataReceived;
     SubscribeToCommandResponses();
     SubscribeToEvents();
 }
 public BgBleRepository(ILogger <BluegigaPoweredUpBluetoothAdapter> logger)
 {
     _logger = logger;
     _bglib  = new BGLib();
     _bglib.BLEEventConnectionStatus              += OnDeviceConnected;
     _bglib.BLEEventGAPScanResponse               += OnDeviceFound;
     _bglib.BLEEventATTClientGroupFound           += OnServiceFound;
     _bglib.BLEEventATTClientFindInformationFound += OnCharacteristicFound;
     _bglib.BLEEventATTClientProcedureCompleted   += OnClientProcedureCompletedEvent;
     _bglib.BLEEventATTClientAttributeValue       += OnClientAttributeValueEvent;
     _serialPort = new SerialPort
     {
         Handshake = Handshake.RequestToSend,
         BaudRate  = 115200,
         DataBits  = 8,
         StopBits  = StopBits.One,
         Parity    = Parity.None
     };
     _serialPort.DataReceived += OnDataReceived;
 }
Пример #5
0
 internal SerialPortReceiveThread(SerialPort serialPort, BGLib bgLib)
 {
     _serialPort = serialPort;
     _bgLib      = bgLib;
 }
 public BleDiscoverManufacturerSpecificDataCommand(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger)
     : base(bgLib, bleModuleConnection, logger)
 {
 }
Пример #7
0
 public BleFindCharacteristicsCommand(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger)
     : base(bgLib, bleModuleConnection, logger)
 {
 }
Пример #8
0
 protected BleCommand(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger)
 {
     BgLib = bgLib;
     BleModuleConnection = bleModuleConnection;
     Logger = logger;
 }
Пример #9
0
 public BleProtocol(bool debug)
 {
     Lib = debug ? new BGLibDebug() : new BGLib();
 }
Пример #10
0
 public BleWriteAttributeCommand(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger)
     : base(bgLib, bleModuleConnection, logger)
 {
 }
Пример #11
0
 public BleModuleConnection(BGLib bgLib, ILogger <BleModuleConnection> logger = null)
 {
     _bgLib  = bgLib;
     _logger = logger;
 }
Пример #12
0
 public BleDiscoverServiceCommand(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger)
     : base(bgLib, bleModuleConnection, logger)
 {
 }
Пример #13
0
 public BleFindServicesCommand(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger logger)
     : base(bgLib, bleModuleConnection, logger)
 {
 }
Пример #14
0
 public BleDeviceManager(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger <BleDevice> logger = null)
 {
     _bgLib = bgLib;
     _bleModuleConnection = bleModuleConnection;
     _logger = logger;
 }
Пример #15
0
 public BleDeviceDiscovery(BGLib bgLib, BleModuleConnection bleModuleConnection, ILogger <BleDeviceDiscovery> logger = null)
 {
     _bgLib = bgLib;
     _bleModuleConnection = bleModuleConnection;
     _logger = logger;
 }