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

IProtoNimblePrphCb * cb
 Callback interface to peripheral.
 
const SObjectCfg::SObjectCfgItem * desc
 Configuration descriptor for this service.
 
std::vector< SObjectId::ObjectId > vio
 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 594 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 602 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 585 of file iprph.hxx.


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