Dawn Framework 1.0
Universal data acquisition framework for embedded systems
Public Types | Public Member Functions | Public Attributes | List of all members
dawn::CProtoNimblePrphAios Class Reference

Automation I/O Service (AIOS) for BLE Peripheral. More...

#include <prph_aios.hxx>

Inheritance diagram for dawn::CProtoNimblePrphAios:
[legend]
Collaboration diagram for dawn::CProtoNimblePrphAios:
[legend]

Public Types

enum  { PRPH_AIOS_TYPE_DIGITAL = 0 , PRPH_AIOS_TYPE_ANALOG = 1 }
 
enum  {
  AIOS_EXT_USER_DESCRIPTION = 1 , AIOS_EXT_NUMBER_OF_DIGITALS , AIOS_EXT_VALUE_TRIGGER_SETTING , AIOS_EXT_TIME_TRIGGER_SETTING ,
  AIOS_EXT_PRESENTATION_FORMAT , AIOS_EXT_EXTENDED_PROPERTIES
}
 

Public Member Functions

int deinit ()
 Deinitialize service.
 
int init ()
 Initialize service.
 
int start ()
 Start service.
 
int stop ()
 Stop service.
 

Public Attributes

IProtoNimblePrphCbcb
 Callback interface to peripheral.
 
const SObjectCfg::SObjectCfgItemdesc
 Configuration descriptor for this service.
 
std::vector< SObjectId::ObjectIdvio
 Vector of I/O objects exposed by this service.
 

Detailed Description

Automation I/O Service (AIOS) for BLE Peripheral.

This class implements the Bluetooth SIG Automation I/O Service (0x1815).

Definition at line 26 of file prph_aios.hxx.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
PRPH_AIOS_TYPE_DIGITAL 

Digital I/O (GPIO, buttons, LEDs).

PRPH_AIOS_TYPE_ANALOG 

Analog I/O (ADC, DAC).

Definition at line 57 of file prph_aios.hxx.

◆ anonymous enum

anonymous enum
Enumerator
AIOS_EXT_USER_DESCRIPTION 

Characteristic User Description descriptor.

AIOS_EXT_NUMBER_OF_DIGITALS 

Number of Digitals descriptor.

AIOS_EXT_VALUE_TRIGGER_SETTING 

Value Trigger Setting descriptor.

AIOS_EXT_TIME_TRIGGER_SETTING 

Time Trigger Setting descriptor.

AIOS_EXT_PRESENTATION_FORMAT 

Characteristic Presentation Format descriptor.

AIOS_EXT_EXTENDED_PROPERTIES 

Characteristic Extended Properties descriptor.

Definition at line 63 of file prph_aios.hxx.

Member Function Documentation

◆ deinit()

int CProtoNimblePrphAios::deinit ( )
virtual

Deinitialize service.

Releases all allocated resources for this service.

Returns
int 0 on success, negative error code on failure.

Implements dawn::IProtoNimblePrphService.

Definition at line 1110 of file prph_aios.cxx.

◆ init()

int CProtoNimblePrphAios::init ( )
virtual

Initialize service.

Allocates service resources and prepares characteristics.

Returns
int 0 on success, negative error code on failure.

Implements dawn::IProtoNimblePrphService.

Definition at line 1082 of file prph_aios.cxx.

References dawn::IProtoNimblePrphService::cb, dawn::IProtoNimblePrphService::desc, and dawn::IProtoNimblePrphCb::serviceRegister().

Here is the call graph for this function:

◆ start()

int CProtoNimblePrphAios::start ( )
virtual

Start service.

Registers the service with the GATT database.

Returns
int 0 on success, negative error code on failure.

Implements dawn::IProtoNimblePrphService.

Definition at line 1116 of file prph_aios.cxx.

References dawn::IProtoNimblePrphService::cb, and dawn::IProtoNimblePrphCb::startService().

Here is the call graph for this function:

◆ stop()

int CProtoNimblePrphAios::stop ( )
virtual

Stop service.

Removes the service from the GATT database.

Returns
int 0 on success, negative error code on failure.

Implements dawn::IProtoNimblePrphService.

Definition at line 1142 of file prph_aios.cxx.

References dawn::IProtoNimblePrphService::cb, and dawn::IProtoNimblePrphCb::stopService().

Here is the call graph for this function:

Member Data Documentation

◆ cb

IProtoNimblePrphCb* dawn::IProtoNimblePrphService::cb
inherited

Callback interface to peripheral.

Services use this to register GATT services, start/stop services, and access I/O objects.

Definition at line 566 of file iprph.hxx.

◆ desc

const SObjectCfg::SObjectCfgItem* dawn::IProtoNimblePrphService::desc
inherited

Configuration descriptor for this service.

Points to the configuration item that specified this service's setup.

Definition at line 574 of file iprph.hxx.

◆ vio

std::vector<SObjectId::ObjectId> dawn::IProtoNimblePrphService::vio
inherited

Vector of I/O objects exposed by this service.

Each entry is an I/O object ID that this service manages.

Definition at line 557 of file iprph.hxx.


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