SmartSnippets DA1459x SDK
Data Structures | Typedefs | Enumerations | Functions

User Data Service sample implementation API. More...

#include <stdbool.h>
#include <stdint.h>
#include "ble_service.h"

Go to the source code of this file.

Data Structures

struct  uds_callbacks_t
 

Typedefs

typedef void(* uds_ccc_changed_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint16_t value)
 CCC for Database Change Increment written callback. More...
 
typedef bool(* uds_db_increment_changed_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint32_t increment)
 Database Change Increment written callback. More...
 
typedef void(* uds_cp_register_new_user_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint16_t consent)
 Register New User control point written callback. More...
 
typedef void(* uds_cp_consent_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint8_t user_id, uint16_t consent)
 Consent control point written callback. More...
 
typedef void(* uds_cp_delete_user_data_cb_t) (ble_service_t *svc, uint16_t conn_idx)
 Delete user data control point written callback. More...
 
typedef void(* uds_db_read_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint32_t field)
 Client attempt to read database value callback. More...
 
typedef void(* uds_db_write_cb_t) (ble_service_t *svc, uint16_t conn_idx, uint32_t field, uint16_t offset, uint16_t length, const void *value)
 Client attempt to write database value callback. More...
 

Enumerations

enum  uds_user_id_t { UDS_USER_ID_UNKNOWN = 0xFF }
 
enum  uds_error_t { UDS_ERROR_ACCESS_NOT_PERMITTED = ATT_ERROR_APPLICATION_ERROR }
 
enum  uds_db_field_t {
  UDS_DB_FIELD_FIRST_NAME = 0x00000001, UDS_DB_FIELD_LAST_NAME = 0x00000002, UDS_DB_FIELD_EMAIL_ADDRESS = 0x00000004, UDS_DB_FIELD_AGE = 0x00000008,
  UDS_DB_FIELD_DATE_OF_BIRTH = 0x00000010, UDS_DB_FIELD_GENDER = 0x00000020, UDS_DB_FIELD_WEIGHT = 0x00000040, UDS_DB_FIELD_HEIGHT = 0x00000080,
  UDS_DB_FIELD_VO2_MAX = 0x00000100, UDS_DB_FIELD_HEART_RATE_MAX = 0x00000200, UDS_DB_FIELD_RESTING_HEART_RATE = 0x00000400, UDS_DB_FIELD_MAX_RECOMMENDED_HEART_RATE = 0x00000800,
  UDS_DB_FIELD_AEROBIC_THRESHOLD = 0x00001000, UDS_DB_FIELD_ANAEROBIC_THRESHOLD = 0x00002000, UDS_DB_FIELD_SPORT_TYPE = 0x00004000, UDS_DB_FIELD_DATE_OF_THRESHOLD_ASSESSMENT = 0x00008000,
  UDS_DB_FIELD_WAIST_CIRCUMFERENCE = 0x00010000, UDS_DB_FIELD_HIP_CIRCUMFERENCE = 0x00020000, UDS_DB_FIELD_FAT_BURN_HEART_RATE_LOW_LIMIT = 0x00040000, UDS_DB_FIELD_FAT_BURN_HEART_RATE_UP_LIMIT = 0x00080000,
  UDS_DB_FIELD_AEROBIC_HEART_RATE_LOW_LIMIT = 0x00100000, UDS_DB_FIELD_AEROBIC_HEART_RATE_UP_LIMIT = 0x00200000, UDS_DB_FIELD_ANEROBIC_HEART_RATE_LOW_LIMIT = 0x00400000, UDS_DB_FIELD_ANEROBIC_HEART_RATE_UP_LIMIT = 0x00800000,
  UDS_DB_FIELD_FIVE_ZONE_HEART_RATE_LIMITS = 0x01000000, UDS_DB_FIELD_THREE_ZONE_HEART_RATE_LIMITS = 0x02000000, UDS_DB_FIELD_TWO_ZONE_HEART_RATE_LIMIT = 0x04000000, UDS_DB_FIELD_LANGUAGE = 0x08000000
}
 
enum  uds_cp_response_t {
  UDS_CP_RESPONSE_SUCCESS = 0x01, UDS_CP_RESPONSE_OPCODE_NOT_SUPPORTED = 0x02, UDS_CP_RESPONSE_INVALID_PARAM = 0x03, UDS_CP_RESPONSE_FAILED = 0x04,
  UDS_CP_RESPONSE_NOT_AUTHORIZED = 0x05
}
 

Functions

ble_service_tuds_init (const ble_service_config_t *config, uds_db_field_t db_fields, const uds_callbacks_t *cb)
 Register User Data Service instance. More...
 
void uds_cp_register_new_user_cfm (ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status, uint8_t user_id)
 Control Point register new user confirm. More...
 
void uds_set_db_increment (ble_service_t *svc, uint16_t conn_idx, uint32_t increment, bool notify)
 Set database increment. More...
 
void uds_cp_consent_cfm (ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status)
 Control Point consent confirmation. More...
 
void uds_cp_delete_user_cfm (ble_service_t *svc, uint16_t conn_idx, uds_cp_response_t status)
 Control Point delete user confirmation. More...
 
void uds_db_read_cfm (ble_service_t *svc, uint16_t conn_idx, uint32_t field, att_error_t status, uint16_t length, const void *value)
 Database read confirmation. More...
 
void uds_db_write_cfm (ble_service_t *svc, uint16_t conn_idx, uint32_t field, att_error_t status)
 Database write confirmation. More...
 
void uds_set_user_id (ble_service_t *svc, uint16_t conn_idx, uint8_t user_id)
 Set user ID. More...
 
uint8_t uds_get_user_id (ble_service_t *svc, uint16_t conn_idx)
 Get user ID. More...
 

Detailed Description

User Data Service sample implementation API.

Copyright (C) 2015-2018 Renesas Electronics Corporation and/or its affiliates. All rights reserved. Confidential Information.

This software ("Software") is supplied by Renesas Electronics Corporation and/or its affiliates ("Renesas"). Renesas grants you a personal, non-exclusive, non-transferable, revocable, non-sub-licensable right and license to use the Software, solely if used in or together with Renesas products. You may make copies of this Software, provided this copyright notice and disclaimer ("Notice") is included in all such copies. Renesas reserves the right to change or discontinue the Software at any time without notice.

THE SOFTWARE IS PROVIDED "AS IS". RENESAS DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED UNDER LAW, IN NO EVENT SHALL RENESAS BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE, EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. USE OF THIS SOFTWARE MAY BE SUBJECT TO TERMS AND CONDITIONS CONTAINED IN AN ADDITIONAL AGREEMENT BETWEEN YOU AND RENESAS. IN CASE OF CONFLICT BETWEEN THE TERMS OF THIS NOTICE AND ANY SUCH ADDITIONAL LICENSE AGREEMENT, THE TERMS OF THE AGREEMENT SHALL TAKE PRECEDENCE. BY CONTINUING TO USE THIS SOFTWARE, YOU AGREE TO THE TERMS OF THIS NOTICE.IF YOU DO NOT AGREE TO THESE TERMS, YOU ARE NOT PERMITTED TO USE THIS SOFTWARE.