Cypress PSoC 6 Bluetooth Low Energy Middleware Library 3.60
CPS Definitions and Data Structures

General Description

Contains the CPS specific definitions and data structures used in the CPS API.

Data Structures

struct  cy_stc_ble_cpss_char_t
 Characteristic with descriptors. More...
 
struct  cy_stc_ble_cpss_t
 Structure with Cycling Power Service attribute handles. More...
 
struct  cy_stc_ble_cpsc_char_t
 Characteristic with descriptors. More...
 
struct  cy_stc_ble_cpsc_t
 Structure with Discovered Attributes Information of Cycling Power Service. More...
 
struct  cy_stc_ble_cps_char_value_t
 Characteristic Value parameter structure of Cycling Power Service. More...
 
struct  cy_stc_ble_cps_descr_value_t
 Characteristic descriptor Value parameter structure of Cycling Power Service. More...
 
struct  cy_stc_ble_cps_date_time_t
 Date/time structure of Cycling Power Service. More...
 
struct  cy_stc_ble_cps_cp_adjustment_t
 Adjustment structure of Cycling Power Service. More...
 
struct  cy_stc_ble_cpss_config_t
 Service configuration structure (server) More...
 
struct  cy_stc_ble_cpsc_config_t
 Service Configuration structure (client) More...
 

Macros

#define CY_BLE_CPS_CPF_PEDAL_BIT   (0x01u << 0u)
 Pedal Power Balance Supported.
 
#define CY_BLE_CPS_CPF_TORQUE_BIT   (0x01u << 1u)
 Accumulated Torque Supported.
 
#define CY_BLE_CPS_CPF_WHEEL_BIT   (0x01u << 2u)
 Wheel Revolution Data Supported.
 
#define CY_BLE_CPS_CPF_CRANK_BIT   (0x01u << 3u)
 Crank Revolution Data Supported.
 
#define CY_BLE_CPS_CPF_MAGNITUDES_BIT   (0x01u << 4u)
 Extreme Magnitudes Supported.
 
#define CY_BLE_CPS_CPF_ANGLES_BIT   (0x01u << 5u)
 Extreme Angles Supported.
 
#define CY_BLE_CPS_CPF_DEAD_SPOT_BIT   (0x01u << 6u)
 Top and Bottom Dead Spot Angles Supported.
 
#define CY_BLE_CPS_CPF_ENERGY_BIT   (0x01u << 7u)
 Accumulated Energy Supported.
 
#define CY_BLE_CPS_CPF_OFFSET_INDICATOR_BIT   (0x01u << 8u)
 Offset Compensation Indicator Supported.
 
#define CY_BLE_CPS_CPF_OFFSET_BIT   (0x01u << 9u)
 Offset Compensation Supported.
 
#define CY_BLE_CPS_CPF_CPM_CONTENT_MASKING_BIT   (0x01u << 10u)
 Cycling Power Measurement Characteristic Content Masking Supported.
 
#define CY_BLE_CPS_CPF_MULTIPLE_SENSOR_BIT   (0x01u << 11u)
 Multiple Sensor Locations Supported.
 
#define CY_BLE_CPS_CPF_CRANK_LEN_ADJ_BIT   (0x01u << 12u)
 Crank Length Adjustment Supported.
 
#define CY_BLE_CPS_CPF_CHAIN_LEN_ADJ_BIT   (0x01u << 13u)
 Chain Length Adjustment Supported.
 
#define CY_BLE_CPS_CPF_CHAIN_WEIGHT_ADJ_BIT   (0x01u << 14u)
 Chain Weight Adjustment Supported.
 
#define CY_BLE_CPS_CPF_SPAN_LEN_ADJ_BIT   (0x01u << 15u)
 Span Length Adjustment Supported.
 
#define CY_BLE_CPS_CPF_SENSOR_MEASURE_BIT   (0x01u << 16u)
 Sensor Measurement Context.
 
#define CY_BLE_CPS_CPF_SENSOR_MEASURE_FORCE   (0x00u << 16u)
 Sensor Measurement Context: Force based.
 
#define CY_BLE_CPS_CPF_SENSOR_MEASURE_TORQUE   (0x01u << 16u)
 Sensor Measurement Context: Torque based.
 
#define CY_BLE_CPS_CPF_INSTANTANEOUS_DIRECTION_BIT   (0x01u << 17u)
 Instantaneous Measurement Direction Supported.
 
#define CY_BLE_CPS_CPF_CALL_DATE_BIT   (0x01u << 18u)
 Factory Calibration Date Supported.
 
#define CY_BLE_CPS_CPF_ENHANCED_OFFSET_BIT   (0x01u << 19u)
 Enhanced Offset Compensation Supported.
 
#define CY_BLE_CPS_CPF_DISTRIBUTE_MASK   (0x03u << 20u)
 Distribute System Support.
 
#define CY_BLE_CPS_CPF_DISTRIBUTE_UNSPEC   (0x00u << 20u)
 Distribute System: Unspecified (legacy sensor)
 
#define CY_BLE_CPS_CPF_DISTRIBUTE_NOT_FOR_USE   (0x01u << 20u)
 Distribute System: Not for use.
 
#define CY_BLE_CPS_CPF_DISTRIBUTE_CAN_BE_USED   (0x02u << 20u)
 Distribute System: Can be used.
 
#define CY_BLE_CPS_CPM_PEDAL_PRESENT_BIT   (0x01u << 0u)
 Pedal Power Balance Present.
 
#define CY_BLE_CPS_CPM_PEDAL_REFERENCE_BIT   (0x01u << 1u)
 Pedal Power Balance Reference.
 
#define CY_BLE_CPS_CPM_TORQUE_PRESENT_BIT   (0x01u << 2u)
 Accumulated Torque Present.
 
#define CY_BLE_CPS_CPM_TORQUE_SOURCE_BIT   (0x01u << 3u)
 Accumulated Torque Source.
 
#define CY_BLE_CPS_CPM_TORQUE_SOURCE_WHEEL   (0x00u << 3u)
 Accumulated Torque Source: Wheel Based.
 
#define CY_BLE_CPS_CPM_TORQUE_SOURCE_CRANK   (0x01u << 3u)
 Accumulated Torque Source: Crank Based.
 
#define CY_BLE_CPS_CPM_WHEEL_BIT   (0x01u << 4u)
 Wheel Revolution Data Present.
 
#define CY_BLE_CPS_CPM_CRANK_BIT   (0x01u << 5u)
 Crank Revolution Data Present.
 
#define CY_BLE_CPS_CPM_FORCE_MAGNITUDES_BIT   (0x01u << 6u)
 Extreme Force Magnitudes Present.
 
#define CY_BLE_CPS_CPM_TORQUE_MAGNITUDES_BIT   (0x01u << 7u)
 Extreme Torque Magnitudes Present.
 
#define CY_BLE_CPS_CPM_ANGLES_BIT   (0x01u << 8u)
 Extreme Angles Present.
 
#define CY_BLE_CPS_CPM_TOP_DEAD_SPOT_BIT   (0x01u << 9u)
 Top Dead Spot Angle Present.
 
#define CY_BLE_CPS_CPM_BOTTOM_DEAD_SPOT_BIT   (0x01u << 10u)
 Bottom Dead Spot Angle Present.
 
#define CY_BLE_CPS_CPM_ENERGY_BIT   (0x01u << 11u)
 Accumulated Energy Present.
 
#define CY_BLE_CPS_CPM_OFFSET_INDICATOR_BIT   (0x01u << 12u)
 Offset Compensation Indicator.
 
#define CY_BLE_CPS_CP_PEDAL_PRESENT_BIT   (0x01u << 0u)
 Pedal Power Balance Turn off.
 
#define CY_BLE_CPS_CP_TORQUE_PRESENT_BIT   (0x01u << 1u)
 Accumulated Torque Turn off.
 
#define CY_BLE_CPS_CP_WHEEL_BIT   (0x01u << 2u)
 Wheel Revolution Data Turn off.
 
#define CY_BLE_CPS_CP_CRANK_BIT   (0x01u << 3u)
 Crank Revolution Data Turn off.
 
#define CY_BLE_CPS_CP_MAGNITUDES_BIT   (0x01u << 4u)
 Extreme Magnitudes Turn off.
 
#define CY_BLE_CPS_CP_ANGLES_BIT   (0x01u << 5u)
 Extreme Angles Turn off.
 
#define CY_BLE_CPS_CP_TOP_DEAD_SPOT_BIT   (0x01u << 6u)
 Top Dead Spot Angle Turn off.
 
#define CY_BLE_CPS_CP_BOTTOM_DEAD_SPOT_BIT   (0x01u << 7u)
 Bottom Dead Spot Angle Turn off.
 
#define CY_BLE_CPS_CP_ENERGY_BIT   (0x01u << 8u)
 Accumulated Energy Turn off.
 
#define CY_BLE_CPS_CP_ENERGY_RESERVED   (0xFE00u)
 Reserved bits.
 
#define CY_BLE_CPS_CPV_CRANK_DATA_BIT   (0x01u << 0u)
 Crank Revolution Data Present.
 
#define CY_BLE_CPS_CPV_FIRST_CRANK_MEASURE_BIT   (0x01u << 1u)
 First Crank Measurement Angle Present.
 
#define CY_BLE_CPS_CPV_INST_FORCE_MAGN_BIT   (0x01u << 2u)
 Instantaneous Force Magnitude Array Present.
 
#define CY_BLE_CPS_CPV_INST_TORQUE_MAGN_BIT   (0x01u << 3u)
 Instantaneous Torque Magnitude Array Present.
 
#define CY_BLE_CPS_CPV_INST_MEASURE_DIR_MASK   (0x03u << 4u)
 Instantaneous Measurement Direction.
 
#define CY_BLE_CPS_CPV_INST_MEASURE_DIR_TANGENTIAL   (0x01u << 4u)
 Instantaneous Measurement Direction: Tangential.
 
#define CY_BLE_CPS_CPV_INST_MEASURE_DIR_RADIAL   (0x02u << 4u)
 Instantaneous Measurement Direction: Radial.
 
#define CY_BLE_CPS_CPV_INST_MEASURE_DIR_LATERAL   (0x03u << 4u)
 Instantaneous Measurement Direction: Lateral.
 

Enumerations

enum  cy_en_ble_cps_cp_oc_t {
  CY_BLE_CPS_CP_OC_SCV = 1u,
  CY_BLE_CPS_CP_OC_USL = 2u,
  CY_BLE_CPS_CP_OC_RSSL = 3u,
  CY_BLE_CPS_CP_OC_SCRL = 4u,
  CY_BLE_CPS_CP_OC_RCRL = 5u,
  CY_BLE_CPS_CP_OC_SCHL = 6u,
  CY_BLE_CPS_CP_OC_RCHL = 7u,
  CY_BLE_CPS_CP_OC_SCHW = 8u,
  CY_BLE_CPS_CP_OC_RCHW = 9u,
  CY_BLE_CPS_CP_OC_SSL = 10u,
  CY_BLE_CPS_CP_OC_RSL = 11u,
  CY_BLE_CPS_CP_OC_SOC = 12u,
  CY_BLE_CPS_CP_OC_MCPMCC = 13u,
  CY_BLE_CPS_CP_OC_RSR = 14u,
  CY_BLE_CPS_CP_OC_RFCD = 15u,
  CY_BLE_CPS_CP_OC_SEOC = 16u,
  CY_BLE_CPS_CP_OC_RC = 32u
}
 Op Codes of the Cycling Power Control Point Characteristic. More...
 
enum  cy_en_ble_cps_cp_rc_t {
  CY_BLE_CPS_CP_RC_SUCCESS = 1u,
  CY_BLE_CPS_CP_RC_NOT_SUPPORTED,
  CY_BLE_CPS_CP_RC_INVALID_PARAMETER,
  CY_BLE_CPS_CP_RC_OPERATION_FAILED
}
 Response Code of the Cycling Power Control Point Characteristic. More...
 
enum  cy_en_ble_cps_sl_value_t {
  CY_BLE_CPS_SL_OTHER,
  CY_BLE_CPS_SL_TOP_OF_SHOE,
  CY_BLE_CPS_SL_IN_SHOE,
  CY_BLE_CPS_SL_HIP,
  CY_BLE_CPS_SL_FRONT_WHEEL,
  CY_BLE_CPS_SL_LEFT_CRANK,
  CY_BLE_CPS_SL_RIGHT_CRANK,
  CY_BLE_CPS_SL_LEFT_PEDAL,
  CY_BLE_CPS_SL_RIGHT_PEDAL,
  CY_BLE_CPS_SL_FRONT_HUB,
  CY_BLE_CPS_SL_REAR_DROPOUT,
  CY_BLE_CPS_SL_CHAINSTAY,
  CY_BLE_CPS_SL_REAR_WHEEL,
  CY_BLE_CPS_SL_REAR_HUB,
  CY_BLE_CPS_SL_CHEST,
  CY_BLE_CPS_SL_SPIDER,
  CY_BLE_CPS_SL_CHAIN_RING,
  CY_BLE_CPS_SL_COUNT
}
 Sensor Location Characteristic value. More...
 
enum  cy_en_ble_cps_char_index_t {
  CY_BLE_CPS_POWER_MEASURE,
  CY_BLE_CPS_POWER_FEATURE,
  CY_BLE_CPS_SENSOR_LOCATION,
  CY_BLE_CPS_POWER_VECTOR,
  CY_BLE_CPS_POWER_CP,
  CY_BLE_CPS_CHAR_COUNT
}
 Characteristic indexes. More...
 
enum  cy_en_ble_cps_descr_index_t {
  CY_BLE_CPS_CCCD,
  CY_BLE_CPS_SCCD,
  CY_BLE_CPS_DESCR_COUNT
}
 Characteristic Descriptors indexes. More...
 

Enumeration Type Documentation

◆ cy_en_ble_cps_cp_oc_t

Op Codes of the Cycling Power Control Point Characteristic.

Enumerator
CY_BLE_CPS_CP_OC_SCV 

Set Cumulative Value.

CY_BLE_CPS_CP_OC_USL 

Update Sensor Location.

CY_BLE_CPS_CP_OC_RSSL 

Request Supported Sensor Locations.

CY_BLE_CPS_CP_OC_SCRL 

Set Crank Length.

CY_BLE_CPS_CP_OC_RCRL 

Request Crank Length.

CY_BLE_CPS_CP_OC_SCHL 

Set Chain Length.

CY_BLE_CPS_CP_OC_RCHL 

Request Chain Length.

CY_BLE_CPS_CP_OC_SCHW 

Set Chain Weight.

CY_BLE_CPS_CP_OC_RCHW 

Request Chain Weight.

CY_BLE_CPS_CP_OC_SSL 

Set Span Length.

CY_BLE_CPS_CP_OC_RSL 

Request Span Length.

CY_BLE_CPS_CP_OC_SOC 

Start Offset Compensation.

CY_BLE_CPS_CP_OC_MCPMCC 

Mask Cycling Power Measurement Characteristic Content.

CY_BLE_CPS_CP_OC_RSR 

Request Sampling Rate.

CY_BLE_CPS_CP_OC_RFCD 

Request Factory Calibration Date.

CY_BLE_CPS_CP_OC_SEOC 

Start Enhanced Offset Compensation.

CY_BLE_CPS_CP_OC_RC 

Response Code.

◆ cy_en_ble_cps_cp_rc_t

Response Code of the Cycling Power Control Point Characteristic.

Enumerator
CY_BLE_CPS_CP_RC_SUCCESS 

Response for successful operation.

CY_BLE_CPS_CP_RC_NOT_SUPPORTED 

Response if unsupported Op Code is received.

CY_BLE_CPS_CP_RC_INVALID_PARAMETER 

Response if Parameter received does not meet the requirements of the service or is outside of the supported range of the Sensor.

CY_BLE_CPS_CP_RC_OPERATION_FAILED 

Response if the requested procedure failed.

◆ cy_en_ble_cps_sl_value_t

Sensor Location Characteristic value.

Enumerator
CY_BLE_CPS_SL_OTHER 

Sensor Location - Other.

CY_BLE_CPS_SL_TOP_OF_SHOE 

Sensor Location - Top of shoe.

CY_BLE_CPS_SL_IN_SHOE 

Sensor Location - In shoe.

CY_BLE_CPS_SL_HIP 

Sensor Location - Hip.

CY_BLE_CPS_SL_FRONT_WHEEL 

Sensor Location - Front Wheel.

CY_BLE_CPS_SL_LEFT_CRANK 

Sensor Location - Left Crank.

CY_BLE_CPS_SL_RIGHT_CRANK 

Sensor Location - Right Crank.

CY_BLE_CPS_SL_LEFT_PEDAL 

Sensor Location - Left Pedal.

CY_BLE_CPS_SL_RIGHT_PEDAL 

Sensor Location - Right Pedal.

CY_BLE_CPS_SL_FRONT_HUB 

Sensor Location - Front Hub.

CY_BLE_CPS_SL_REAR_DROPOUT 

Sensor Location - Rear Dropout.

CY_BLE_CPS_SL_CHAINSTAY 

Sensor Location - Chainstay.

CY_BLE_CPS_SL_REAR_WHEEL 

Sensor Location - Rear Wheel.

CY_BLE_CPS_SL_REAR_HUB 

Sensor Location - Rear Hub.

CY_BLE_CPS_SL_CHEST 

Sensor Location - Chest.

CY_BLE_CPS_SL_SPIDER 

Sensor Location - Spider.

CY_BLE_CPS_SL_CHAIN_RING 

Sensor Location - Chain Ring.

CY_BLE_CPS_SL_COUNT 

Total Count of SL Characteristics.

◆ cy_en_ble_cps_char_index_t

Characteristic indexes.

Enumerator
CY_BLE_CPS_POWER_MEASURE 

Cycling Power Measurement Characteristic index.

CY_BLE_CPS_POWER_FEATURE 

Cycling Power Feature Characteristic index.

CY_BLE_CPS_SENSOR_LOCATION 

Sensor Location Characteristic index.

CY_BLE_CPS_POWER_VECTOR 

Cycling Power Vector Characteristic index.

CY_BLE_CPS_POWER_CP 

Cycling Power Control Point Characteristic index.

CY_BLE_CPS_CHAR_COUNT 

Total Count of CPS Characteristics.

◆ cy_en_ble_cps_descr_index_t

Characteristic Descriptors indexes.

Enumerator
CY_BLE_CPS_CCCD 

Client Characteristic Configuration descriptor index.

CY_BLE_CPS_SCCD 

Handle of the server Characteristic Configuration descriptor.

CY_BLE_CPS_DESCR_COUNT 

Total Count of Descriptors.