Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
Scanner Class Reference

Scanner scans for BLE devices. More...

#include <cs_Scanner.h>

Inheritance diagram for Scanner:
Collaboration diagram for Scanner:

Public Member Functions

void setStack (Stack *stack)
 
void onBleEvent (ble_evt_t *p_ble_evt)
 
void manualStartScan ()
 
void manualStopScan ()
 
bool isScanning ()
 
void init ()
 
void start ()
 start immediately More...
 
void delayedStart (uint16_t delay)
 delay start by delay ms More...
 
void delayedStart ()
 delay start by _scanBreakDuration ms More...
 
void stop ()
 stop scan immediately (no results will be sent) More...
 
void handleEvent (event_t &event)
 Handle events. More...
 

Static Public Member Functions

static ScannergetInstance ()
 Gets a static singleton (no dynamic memory allocation) More...
 
static void staticTick (Scanner *ptr)
 

Private Types

enum  SCAN_OP_CODE { SCAN_START , SCAN_STOP }
 

Private Member Functions

 TYPIFY (CONFIG_SCAN_DURATION) _scanDuration
 scan for ... ms More...
 
 TYPIFY (CONFIG_SCAN_BREAK_DURATION) _scanBreakDuration
 wait ... ms before starting the next scan More...
 
 Scanner ()
 
void executeScan ()
 
void onAdvertisement (ble_gap_evt_adv_report_t *p_adv_report)
 
- Private Member Functions inherited from EventListener
 EventListener ()
 
virtual ~EventListener ()
 unregisters the listener. More...
 
virtual void handleEvent (event_t &event)=0
 Handle events. More...
 
void listen ()
 Registers this with the EventDispatcher. More...
 

Private Attributes

SCAN_OP_CODE _opCode
 
bool _scanning
 
bool _running
 
uint16_t _scanCount
 
app_timer_t _appTimerData
 
app_timer_id_t _appTimerId
 
Stack_stack
 

Detailed Description

Scanner scans for BLE devices.

Member Enumeration Documentation

◆ SCAN_OP_CODE

enum Scanner::SCAN_OP_CODE
private
Enumerator
SCAN_START 
SCAN_STOP 

Constructor & Destructor Documentation

◆ Scanner()

Scanner::Scanner ( )
private

Member Function Documentation

◆ delayedStart() [1/2]

void Scanner::delayedStart ( )

delay start by _scanBreakDuration ms

◆ delayedStart() [2/2]

void Scanner::delayedStart ( uint16_t  delay)

delay start by delay ms

◆ executeScan()

void Scanner::executeScan ( )
private

◆ getInstance()

static Scanner & Scanner::getInstance ( )
inlinestatic

Gets a static singleton (no dynamic memory allocation)

◆ handleEvent()

void Scanner::handleEvent ( event_t event)
virtual

Handle events.

This method is overloaded by all classes that derive from EventListener. They can receive an event_t struct and act upon it. These events are dispatched by the EventDispatcher.

Implements EventListener.

◆ init()

void Scanner::init ( )

◆ isScanning()

bool Scanner::isScanning ( )

◆ manualStartScan()

void Scanner::manualStartScan ( )

◆ manualStopScan()

void Scanner::manualStopScan ( )

◆ onAdvertisement()

void Scanner::onAdvertisement ( ble_gap_evt_adv_report_t *  p_adv_report)
private

◆ onBleEvent()

void Scanner::onBleEvent ( ble_evt_t *  p_ble_evt)

◆ setStack()

void Scanner::setStack ( Stack stack)

◆ start()

void Scanner::start ( )

start immediately

◆ staticTick()

static void Scanner::staticTick ( Scanner ptr)
static

◆ stop()

void Scanner::stop ( )

stop scan immediately (no results will be sent)

◆ TYPIFY() [1/2]

Scanner::TYPIFY ( CONFIG_SCAN_BREAK_DURATION  )
private

wait ... ms before starting the next scan

◆ TYPIFY() [2/2]

Scanner::TYPIFY ( CONFIG_SCAN_DURATION  )
private

scan for ... ms

Member Data Documentation

◆ _appTimerData

app_timer_t Scanner::_appTimerData
private

◆ _appTimerId

app_timer_id_t Scanner::_appTimerId
private

◆ _opCode

SCAN_OP_CODE Scanner::_opCode
private

◆ _running

bool Scanner::_running
private

◆ _scanCount

uint16_t Scanner::_scanCount
private

◆ _scanning

bool Scanner::_scanning
private

◆ _stack

Stack* Scanner::_stack
private

The documentation for this class was generated from the following file: