Lines Matching refs:instance
227 cycling_power_t * instance = &cycling_power; in cycling_power_service_read_callback() local
229 if (attribute_handle == instance->measurement_client_configuration_descriptor_handle){ in cycling_power_service_read_callback()
231 … little_endian_store_16(buffer, 0, instance->measurement_client_configuration_descriptor_notify); in cycling_power_service_read_callback()
236 if (attribute_handle == instance->measurement_server_configuration_descriptor_handle){ in cycling_power_service_read_callback()
238 …little_endian_store_16(buffer, 0, instance->measurement_server_configuration_descriptor_broadcast); in cycling_power_service_read_callback()
243 if (attribute_handle == instance->vector_client_configuration_descriptor_handle){ in cycling_power_service_read_callback()
245 … little_endian_store_16(buffer, 0, instance->vector_client_configuration_descriptor_notify); in cycling_power_service_read_callback()
250 if (attribute_handle == instance->control_point_client_configuration_descriptor_handle){ in cycling_power_service_read_callback()
252 …little_endian_store_16(buffer, 0, instance->control_point_client_configuration_descriptor_indicate… in cycling_power_service_read_callback()
257 if (attribute_handle == instance->feature_value_handle){ in cycling_power_service_read_callback()
259 little_endian_store_32(buffer, 0, instance->feature_flags); in cycling_power_service_read_callback()
264 if (attribute_handle == instance->sensor_location_value_handle){ in cycling_power_service_read_callback()
266 buffer[0] = instance->sensor_location; in cycling_power_service_read_callback()
274 cycling_power_t * instance = &cycling_power; in has_feature() local
275 return (instance->feature_flags & (1u << feature)) != 0u; in has_feature()
279 cycling_power_t * instance = &cycling_power; in cycling_power_vector_instantaneous_measurement_direction() local
280 return instance->vector_instantaneous_measurement_direction; in cycling_power_vector_instantaneous_measurement_direction()
284 cycling_power_t * instance = &cycling_power; in cycling_power_service_default_measurement_flags() local
288 …(uint8_t) has_feature(CP_FEATURE_FLAG_PEDAL_POWER_BALANCE_SUPPORTED) && instance->pedal_power_bala… in cycling_power_service_default_measurement_flags()
290 … (uint8_t) has_feature(CP_FEATURE_FLAG_ACCUMULATED_TORQUE_SUPPORTED) && instance->torque_source, in cycling_power_service_default_measurement_flags()
310 static uint16_t cycling_power_service_get_measurement_flags(cycling_power_t * instance){ in cycling_power_service_get_measurement_flags() argument
311 if (!instance) return 0; in cycling_power_service_get_measurement_flags()
312 if (instance->masked_measurement_flags != CYCLING_POWER_MEASUREMENT_FLAGS_CLEARED){ in cycling_power_service_get_measurement_flags()
313 return instance->masked_measurement_flags; in cycling_power_service_get_measurement_flags()
315 if (instance->default_measurement_flags == CYCLING_POWER_MEASUREMENT_FLAGS_CLEARED){ in cycling_power_service_get_measurement_flags()
316 instance->default_measurement_flags = cycling_power_service_default_measurement_flags(); in cycling_power_service_get_measurement_flags()
318 return instance->default_measurement_flags; in cycling_power_service_get_measurement_flags()
323 cycling_power_t * instance = &cycling_power; in cycling_power_service_measurement_flags() local
324 return cycling_power_service_get_measurement_flags(instance); in cycling_power_service_measurement_flags()
345 cycling_power_t * instance = (cycling_power_t *) context; in cycling_power_service_vector_can_send_now() local
346 if (!instance){ in cycling_power_service_vector_can_send_now()
360 little_endian_store_16(value, pos, instance->cumulative_crank_revolutions); in cycling_power_service_vector_can_send_now()
362 little_endian_store_16(value, pos, instance->last_crank_event_time_s); in cycling_power_service_vector_can_send_now()
366 uint16_t att_mtu = att_server_get_mtu(instance->con_handle); in cycling_power_service_vector_can_send_now()
371 while ((bytes_left > 2u) && instance->force_magnitude_count){ in cycling_power_service_vector_can_send_now()
372 … little_endian_store_16(value, pos, instance->vector_instantaneous_force_magnitude_N_array[0]); in cycling_power_service_vector_can_send_now()
375 instance->vector_instantaneous_force_magnitude_N_array++; in cycling_power_service_vector_can_send_now()
376 instance->force_magnitude_count--; in cycling_power_service_vector_can_send_now()
381 uint16_t att_mtu = att_server_get_mtu(instance->con_handle); in cycling_power_service_vector_can_send_now()
387 while ((bytes_left > 2u) && instance->torque_magnitude_count){ in cycling_power_service_vector_can_send_now()
388 … little_endian_store_16(value, pos, instance->vector_instantaneous_torque_magnitude_Nm_array[0]); in cycling_power_service_vector_can_send_now()
391 instance->vector_instantaneous_torque_magnitude_Nm_array++; in cycling_power_service_vector_can_send_now()
392 instance->torque_magnitude_count--; in cycling_power_service_vector_can_send_now()
397 … little_endian_store_16(value, pos, instance->vector_first_crank_measurement_angle_degree); in cycling_power_service_vector_can_send_now()
407 att_server_notify(instance->con_handle, instance->vector_value_handle, &value[0], pos); in cycling_power_service_vector_can_send_now()
432 static int cycling_power_store_measurement_flag_value(cycling_power_t * instance, cycling_power_mea… in cycling_power_store_measurement_flag_value() argument
433 if (!instance) return 0; in cycling_power_store_measurement_flag_value()
438 value[pos++] = instance->pedal_power_balance_percentage; in cycling_power_store_measurement_flag_value()
441 little_endian_store_16(value, pos, instance->accumulated_torque_Nm); in cycling_power_store_measurement_flag_value()
445 little_endian_store_32(value, pos, instance->cumulative_wheel_revolutions); in cycling_power_store_measurement_flag_value()
447 little_endian_store_16(value, pos, instance->last_wheel_event_time_s); in cycling_power_store_measurement_flag_value()
451 little_endian_store_16(value, pos, instance->cumulative_crank_revolutions); in cycling_power_store_measurement_flag_value()
453 little_endian_store_16(value, pos, instance->last_crank_event_time_s); in cycling_power_store_measurement_flag_value()
457 little_endian_store_16(value, pos, (uint16_t)instance->maximum_force_magnitude_N); in cycling_power_store_measurement_flag_value()
459 little_endian_store_16(value, pos, (uint16_t)instance->minimum_force_magnitude_N); in cycling_power_store_measurement_flag_value()
463 little_endian_store_16(value, pos, (uint16_t)instance->maximum_torque_magnitude_Nm); in cycling_power_store_measurement_flag_value()
465 little_endian_store_16(value, pos, (uint16_t)instance->minimum_torque_magnitude_Nm); in cycling_power_store_measurement_flag_value()
469 …little_endian_store_24(value, pos, (instance->maximum_angle_degree << 12) | instance->minimum_angl… in cycling_power_store_measurement_flag_value()
473 little_endian_store_16(value, pos, (uint16_t)instance->top_dead_spot_angle_degree); in cycling_power_store_measurement_flag_value()
477 little_endian_store_16(value, pos, (uint16_t)instance->bottom_dead_spot_angle_degree); in cycling_power_store_measurement_flag_value()
481 little_endian_store_16(value, pos, (uint16_t)instance->accumulated_energy_kJ); in cycling_power_store_measurement_flag_value()
491 static int cycling_power_store_measurement(cycling_power_t * instance, uint8_t * value, uint16_t ma… in cycling_power_store_measurement() argument
493 if (!instance) return 0; in cycling_power_store_measurement()
495 uint16_t measurement_flags = cycling_power_service_get_measurement_flags(instance); in cycling_power_store_measurement()
499 little_endian_store_16(value, 2, instance->instantaneous_power_W); in cycling_power_store_measurement()
508 cycling_power_store_measurement_flag_value(instance, flag, &value[pos]); in cycling_power_store_measurement()
517 cycling_power_t * instance = &cycling_power; in cycling_power_get_measurement_adv() local
530 …int value_len = cycling_power_store_measurement(instance, &adv_buffer[pos + 4], CYCLING_POWER_MAX_… in cycling_power_get_measurement_adv()
542 cycling_power_t * instance = (cycling_power_t *) context; in cycling_power_service_broadcast_can_send_now() local
543 if (!instance){ in cycling_power_service_broadcast_can_send_now()
548 int pos = cycling_power_store_measurement(instance, &value[0], sizeof(value)); in cycling_power_service_broadcast_can_send_now()
549 att_server_notify(instance->con_handle, instance->measurement_value_handle, &value[0], pos); in cycling_power_service_broadcast_can_send_now()
553 cycling_power_t * instance = (cycling_power_t *) context; in cycling_power_service_measurement_can_send_now() local
554 if (!instance){ in cycling_power_service_measurement_can_send_now()
559 int pos = cycling_power_store_measurement(instance, &value[0], sizeof(value)); in cycling_power_service_measurement_can_send_now()
560 att_server_notify(instance->con_handle, instance->measurement_value_handle, &value[0], pos); in cycling_power_service_measurement_can_send_now()
564 cycling_power_t * instance = (cycling_power_t *) context; in cycling_power_service_response_can_send_now() local
565 if (!instance){ in cycling_power_service_response_can_send_now()
570 if (instance->response_value == CP_RESPONSE_VALUE_W4_VALUE_AVAILABLE){ in cycling_power_service_response_can_send_now()
585 value[pos++] = instance->request_opcode; in cycling_power_service_response_can_send_now()
586 value[pos++] = instance->response_value; in cycling_power_service_response_can_send_now()
587 if (instance->response_value == CP_RESPONSE_VALUE_SUCCESS){ in cycling_power_service_response_can_send_now()
588 switch (instance->request_opcode){ in cycling_power_service_response_can_send_now()
591 for (i=0; i<instance->num_supported_sensor_locations; i++){ in cycling_power_service_response_can_send_now()
592 value[pos++] = instance->supported_sensor_locations[i]; in cycling_power_service_response_can_send_now()
597 little_endian_store_16(value, pos, instance->crank_length_mm); in cycling_power_service_response_can_send_now()
601 little_endian_store_16(value, pos, instance->chain_length_mm); in cycling_power_service_response_can_send_now()
605 little_endian_store_16(value, pos, instance->chain_weight_g); in cycling_power_service_response_can_send_now()
609 little_endian_store_16(value, pos, instance->span_length_mm); in cycling_power_service_response_can_send_now()
613 little_endian_store_16(value, pos, instance->factory_calibration_date.year); in cycling_power_service_response_can_send_now()
615 value[pos++] = instance->factory_calibration_date.month; in cycling_power_service_response_can_send_now()
616 value[pos++] = instance->factory_calibration_date.day; in cycling_power_service_response_can_send_now()
617 value[pos++] = instance->factory_calibration_date.hours; in cycling_power_service_response_can_send_now()
618 value[pos++] = instance->factory_calibration_date.minutes; in cycling_power_service_response_can_send_now()
619 value[pos++] = instance->factory_calibration_date.seconds; in cycling_power_service_response_can_send_now()
622 value[pos++] = instance->sampling_rate_Hz; in cycling_power_service_response_can_send_now()
629 calibrated_value = instance->current_force_magnitude_N; in cycling_power_service_response_can_send_now()
631 calibrated_value = instance->current_torque_magnitude_Nm; in cycling_power_service_response_can_send_now()
646 if (instance->request_opcode == CP_OPCODE_START_OFFSET_COMPENSATION) break; in cycling_power_service_response_can_send_now()
647 little_endian_store_16(value, pos, instance->manufacturer_company_id); in cycling_power_service_response_can_send_now()
649 …int data_len = (instance->num_manufacturer_specific_data < CYCLING_POWER_MANUFACTURER_SPECIFIC_DAT… in cycling_power_service_response_can_send_now()
652 instance->manufacturer_specific_data, data_len); in cycling_power_service_response_can_send_now()
663 …uint8_t status = att_server_indicate(instance->con_handle, instance->control_point_value_handle, &… in cycling_power_service_response_can_send_now()
665 instance->w4_indication_complete = 1; in cycling_power_service_response_can_send_now()
666 instance->request_opcode = CP_OPCODE_IDLE; in cycling_power_service_response_can_send_now()
672 static void cycling_power_service_server_emit_start_calibration(const cycling_power_t *instance, bo… in cycling_power_service_server_emit_start_calibration() argument
682 little_endian_store_16(event, index, instance->con_handle); in cycling_power_service_server_emit_start_calibration()
686 (*instance->calibration_callback)(HCI_EVENT_PACKET, 0, event, sizeof(event)); in cycling_power_service_server_emit_start_calibration()
695 cycling_power_t * instance = &cycling_power; in cycling_power_service_write_callback() local
701 if (attribute_handle == instance->measurement_client_configuration_descriptor_handle){ in cycling_power_service_write_callback()
705 … instance->measurement_client_configuration_descriptor_notify = little_endian_read_16(buffer, 0); in cycling_power_service_write_callback()
706 instance->con_handle = con_handle; in cycling_power_service_write_callback()
707 …log_info("cycling_power_service_write_callback: measurement enabled %d", instance->measurement_cli… in cycling_power_service_write_callback()
711 if (attribute_handle == instance->measurement_server_configuration_descriptor_handle){ in cycling_power_service_write_callback()
715 …instance->measurement_server_configuration_descriptor_broadcast = little_endian_read_16(buffer, 0); in cycling_power_service_write_callback()
716 instance->con_handle = con_handle; in cycling_power_service_write_callback()
722 if (instance->measurement_server_configuration_descriptor_broadcast){ in cycling_power_service_write_callback()
731 (*instance->calibration_callback)(HCI_EVENT_PACKET, 0, event, sizeof(event)); in cycling_power_service_write_callback()
735 if (attribute_handle == instance->vector_client_configuration_descriptor_handle){ in cycling_power_service_write_callback()
739 instance->con_handle = con_handle; in cycling_power_service_write_callback()
742 switch (instance->con_interval_status){ in cycling_power_service_write_callback()
748 …if ((instance->con_interval > instance->con_interval_max) || (instance->con_interval < instance->c… in cycling_power_service_write_callback()
749 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_W4_L2CAP_RESPONSE; in cycling_power_service_write_callback()
750 …gap_request_connection_parameter_update(instance->con_handle, instance->con_interval_min, instance… in cycling_power_service_write_callback()
753 … instance->vector_client_configuration_descriptor_notify = little_endian_read_16(buffer, 0); in cycling_power_service_write_callback()
762 if (attribute_handle == instance->control_point_client_configuration_descriptor_handle){ in cycling_power_service_write_callback()
766 …instance->control_point_client_configuration_descriptor_indicate = little_endian_read_16(buffer, 0… in cycling_power_service_write_callback()
767 instance->con_handle = con_handle; in cycling_power_service_write_callback()
768 …log_info("cycling_power_service_write_callback: indication enabled %d", instance->control_point_cl… in cycling_power_service_write_callback()
772 if (attribute_handle == instance->feature_value_handle){ in cycling_power_service_write_callback()
776 instance->feature_flags = little_endian_read_32(buffer, 0); in cycling_power_service_write_callback()
780 if (attribute_handle == instance->control_point_value_handle){ in cycling_power_service_write_callback()
781 …if (instance->control_point_client_configuration_descriptor_indicate == 0u) return CYCLING_POWER_E… in cycling_power_service_write_callback()
782 if (instance->w4_indication_complete != 0u){ in cycling_power_service_write_callback()
786 instance->request_opcode = (cycling_power_opcode_t) buffer[pos++]; in cycling_power_service_write_callback()
787 instance->response_value = CP_RESPONSE_VALUE_OP_CODE_NOT_SUPPORTED; in cycling_power_service_write_callback()
789 switch (instance->request_opcode){ in cycling_power_service_write_callback()
792 instance->cumulative_wheel_revolutions = little_endian_read_32(buffer, pos); in cycling_power_service_write_callback()
793 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
798 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
804 instance->response_value = CP_RESPONSE_VALUE_INVALID_PARAMETER; in cycling_power_service_write_callback()
805 for (i=0; i<instance->num_supported_sensor_locations; i++){ in cycling_power_service_write_callback()
806 if (instance->supported_sensor_locations[i] == location){ in cycling_power_service_write_callback()
807 instance->sensor_location = location; in cycling_power_service_write_callback()
808 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
816 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
820 instance->crank_length_mm = little_endian_read_16(buffer, pos); in cycling_power_service_write_callback()
821 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
826 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
830 instance->chain_length_mm = little_endian_read_16(buffer, pos); in cycling_power_service_write_callback()
831 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
836 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
840 instance->chain_weight_g = little_endian_read_16(buffer, pos); in cycling_power_service_write_callback()
841 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
846 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
850 instance->span_length_mm = little_endian_read_16(buffer, pos); in cycling_power_service_write_callback()
851 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
856 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
860 if (!instance->vector_value_handle) break; in cycling_power_service_write_callback()
861 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
866 instance->response_value = CP_RESPONSE_VALUE_W4_VALUE_AVAILABLE; in cycling_power_service_write_callback()
867 cycling_power_service_server_emit_start_calibration(instance, false); in cycling_power_service_write_callback()
869 instance->response_value = CP_RESPONSE_VALUE_INVALID_PARAMETER; in cycling_power_service_write_callback()
875 instance->response_value = CP_RESPONSE_VALUE_W4_VALUE_AVAILABLE; in cycling_power_service_write_callback()
876 cycling_power_service_server_emit_start_calibration(instance, true); in cycling_power_service_write_callback()
878 instance->response_value = CP_RESPONSE_VALUE_INVALID_PARAMETER; in cycling_power_service_write_callback()
885 uint16_t masked_measurement_flags = instance->default_measurement_flags; in cycling_power_service_write_callback()
905 instance->masked_measurement_flags = masked_measurement_flags; in cycling_power_service_write_callback()
906 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_service_write_callback()
913 if (instance->control_point_client_configuration_descriptor_indicate){ in cycling_power_service_write_callback()
914 … instance->control_point_indicate_callback.callback = &cycling_power_service_response_can_send_now; in cycling_power_service_write_callback()
915 instance->control_point_indicate_callback.context = (void*) instance; in cycling_power_service_write_callback()
916 …att_server_register_can_send_now_callback(&instance->control_point_indicate_callback, instance->co… in cycling_power_service_write_callback()
926 cycling_power_t * instance = &cycling_power; in packet_handler() local
935 … instance->con_handle = gap_subevent_le_connection_complete_get_connection_handle(packet); in packet_handler()
937 … instance->con_interval = gap_subevent_le_connection_complete_get_conn_interval(packet); in packet_handler()
938 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_RECEIVED; in packet_handler()
948 … if (instance->con_interval_status != CP_CONNECTION_INTERVAL_STATUS_W4_UPDATE) return; in packet_handler()
950 …if ((instance->con_interval > instance->con_interval_max) || (instance->con_interval < instance->c… in packet_handler()
951 … instance->con_interval = hci_subevent_le_connection_update_complete_get_conn_interval(packet); in packet_handler()
952 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_ACCEPTED; in packet_handler()
954 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_REJECTED; in packet_handler()
966 … if (instance->con_interval_status != CP_CONNECTION_INTERVAL_STATUS_W4_L2CAP_RESPONSE) return; in packet_handler()
969 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_W4_UPDATE; in packet_handler()
971 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_REJECTED; in packet_handler()
978 if (!instance) return; in packet_handler()
982 instance->masked_measurement_flags = CYCLING_POWER_MEASUREMENT_FLAGS_CLEARED; in packet_handler()
983 instance->w4_indication_complete = 0; in packet_handler()
993 (*instance->calibration_callback)(HCI_EVENT_PACKET, 0, event, sizeof(event)); in packet_handler()
998 instance->w4_indication_complete = 0; in packet_handler()
1010 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_init() local
1012 instance->con_interval_min = 6; in cycling_power_service_server_init()
1013 instance->con_interval_max = 6; in cycling_power_service_server_init()
1014 instance->con_interval_status = CP_CONNECTION_INTERVAL_STATUS_NONE; in cycling_power_service_server_init()
1015 instance->w4_indication_complete = 0; in cycling_power_service_server_init()
1023 instance->sensor_location = current_sensor_location; in cycling_power_service_server_init()
1024 instance->num_supported_sensor_locations = 0; in cycling_power_service_server_init()
1026 instance->num_supported_sensor_locations = num_supported_sensor_locations; in cycling_power_service_server_init()
1027 instance->supported_sensor_locations = supported_sensor_locations; in cycling_power_service_server_init()
1030 instance->feature_flags = feature_flags; in cycling_power_service_server_init()
1031 instance->default_measurement_flags = CYCLING_POWER_MEASUREMENT_FLAGS_CLEARED; in cycling_power_service_server_init()
1032 instance->masked_measurement_flags = CYCLING_POWER_MEASUREMENT_FLAGS_CLEARED; in cycling_power_service_server_init()
1033 instance->pedal_power_balance_reference = pedal_power_balance_reference; in cycling_power_service_server_init()
1034 instance->torque_source = torque_source; in cycling_power_service_server_init()
1044 …instance->measurement_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid16(s… in cycling_power_service_server_init()
1045 …instance->measurement_client_configuration_descriptor_handle = gatt_server_get_client_configuratio… in cycling_power_service_server_init()
1046 …instance->measurement_server_configuration_descriptor_handle = gatt_server_get_server_configuratio… in cycling_power_service_server_init()
1049 …instance->feature_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid16(start… in cycling_power_service_server_init()
1051 …instance->sensor_location_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid… in cycling_power_service_server_init()
1054 …instance->vector_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid16(start_… in cycling_power_service_server_init()
1055 …instance->vector_client_configuration_descriptor_handle = gatt_server_get_client_configuration_han… in cycling_power_service_server_init()
1058 …instance->sensor_location_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid… in cycling_power_service_server_init()
1061 …instance->control_point_value_handle = gatt_server_get_value_handle_for_characteristic_with_uuid16… in cycling_power_service_server_init()
1062 …instance->control_point_client_configuration_descriptor_handle = gatt_server_get_client_configurat… in cycling_power_service_server_init()
1064 log_info("Measurement value handle 0x%02x", instance->measurement_value_handle); in cycling_power_service_server_init()
1065 …log_info("M. Client Cfg value handle 0x%02x", instance->measurement_client_configuration_descrip… in cycling_power_service_server_init()
1066 …log_info("M. Server Cfg value handle 0x%02x", instance->measurement_server_configuration_descrip… in cycling_power_service_server_init()
1068 log_info("Feature value handle 0x%02x", instance->feature_value_handle); in cycling_power_service_server_init()
1069 log_info("Sensor location value handle 0x%02x", instance->sensor_location_value_handle); in cycling_power_service_server_init()
1071 log_info("Vector value handle 0x%02x", instance->vector_value_handle); in cycling_power_service_server_init()
1072 …log_info("Vector Cfg. value handle 0x%02x", instance->vector_client_configuration_descriptor_h… in cycling_power_service_server_init()
1074 log_info("Control Point value handle 0x%02x", instance->control_point_value_handle); in cycling_power_service_server_init()
1075 …log_info("Control P. Cfg. value handle 0x%02x", instance->control_point_client_configuration_descr… in cycling_power_service_server_init()
1087 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_add_torque() local
1088 instance->accumulated_torque_Nm += torque_Nm; in cycling_power_service_server_add_torque()
1092 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_add_wheel_revolution() local
1093 instance->last_wheel_event_time_s = wheel_event_time_s; in cycling_power_service_server_add_wheel_revolution()
1096 if (instance->cumulative_wheel_revolutions > wheel_revolution_to_subtract){ in cycling_power_service_server_add_wheel_revolution()
1097 instance->cumulative_wheel_revolutions -= wheel_revolution_to_subtract; in cycling_power_service_server_add_wheel_revolution()
1099 instance->cumulative_wheel_revolutions = 0; in cycling_power_service_server_add_wheel_revolution()
1102 if (instance->cumulative_wheel_revolutions < (0xffffffff - wheel_revolution)){ in cycling_power_service_server_add_wheel_revolution()
1103 instance->cumulative_wheel_revolutions += wheel_revolution; in cycling_power_service_server_add_wheel_revolution()
1105 instance->cumulative_wheel_revolutions = 0xffffffff; in cycling_power_service_server_add_wheel_revolution()
1111 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_add_crank_revolution() local
1112 instance->last_crank_event_time_s = crank_event_time_s; in cycling_power_service_server_add_crank_revolution()
1113 instance->cumulative_crank_revolutions += crank_revolution; in cycling_power_service_server_add_crank_revolution()
1117 cycling_power_t * instance = &cycling_power; in cycling_power_service_add_energy() local
1118 if (instance->accumulated_energy_kJ <= (0xffffu - energy_kJ)){ in cycling_power_service_add_energy()
1119 instance->accumulated_energy_kJ += energy_kJ; in cycling_power_service_add_energy()
1121 instance->accumulated_energy_kJ = 0xffff; in cycling_power_service_add_energy()
1126 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_instantaneous_power() local
1127 instance->instantaneous_power_W = instantaneous_power_W; in cycling_power_service_server_set_instantaneous_power()
1131 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_pedal_power_balance() local
1132 instance->pedal_power_balance_percentage = pedal_power_balance_percentage; in cycling_power_service_server_set_pedal_power_balance()
1136 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_force_magnitude_values() local
1137 instance->force_magnitude_count = force_magnitude_count; in cycling_power_service_server_set_force_magnitude_values()
1138 instance->vector_instantaneous_force_magnitude_N_array = force_magnitude_N_array; in cycling_power_service_server_set_force_magnitude_values()
1142 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_torque_magnitude_values() local
1143 instance->torque_magnitude_count = torque_magnitude_count; in cycling_power_service_server_set_torque_magnitude_values()
1144 instance->vector_instantaneous_torque_magnitude_Nm_array = torque_magnitude_Nm_array; in cycling_power_service_server_set_torque_magnitude_values()
1148 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_first_crank_measurement_angle() local
1149 instance->vector_first_crank_measurement_angle_degree = first_crank_measurement_angle_degree; in cycling_power_service_server_set_first_crank_measurement_angle()
1153 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_instantaneous_measurement_direction() local
1154 instance->vector_instantaneous_measurement_direction = direction; in cycling_power_service_server_set_instantaneous_measurement_direction()
1158 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_force_magnitude() local
1159 instance->minimum_force_magnitude_N = min_force_magnitude_N; in cycling_power_service_server_set_force_magnitude()
1160 instance->maximum_force_magnitude_N = max_force_magnitude_N; in cycling_power_service_server_set_force_magnitude()
1164 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_torque_magnitude() local
1165 instance->minimum_torque_magnitude_Nm = min_torque_magnitude_Nm; in cycling_power_service_server_set_torque_magnitude()
1166 instance->maximum_torque_magnitude_Nm = max_torque_magnitude_Nm; in cycling_power_service_server_set_torque_magnitude()
1170 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_angle() local
1171 instance->minimum_angle_degree = min_angle_degree; in cycling_power_service_server_set_angle()
1172 instance->maximum_angle_degree = max_angle_degree; in cycling_power_service_server_set_angle()
1176 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_top_dead_spot_angle() local
1177 instance->top_dead_spot_angle_degree = top_dead_spot_angle_degree; in cycling_power_service_server_set_top_dead_spot_angle()
1181 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_bottom_dead_spot_angle() local
1182 instance->bottom_dead_spot_angle_degree = bottom_dead_spot_angle_degree; in cycling_power_service_server_set_bottom_dead_spot_angle()
1199 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_factory_calibration_date() local
1200 instance->factory_calibration_date = date; in cycling_power_service_server_set_factory_calibration_date()
1205 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_set_sampling_rate() local
1206 instance->sampling_rate_Hz = sampling_rate_Hz; in cycling_power_service_server_set_sampling_rate()
1211 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_update_values() local
1213 if (instance->measurement_server_configuration_descriptor_broadcast){ in cycling_power_service_server_update_values()
1214 … instance->measurement_broadcast_callback.callback = &cycling_power_service_broadcast_can_send_now; in cycling_power_service_server_update_values()
1215 instance->measurement_broadcast_callback.context = (void*) instance; in cycling_power_service_server_update_values()
1216 …att_server_register_can_send_now_callback(&instance->measurement_broadcast_callback, instance->con… in cycling_power_service_server_update_values()
1219 if (instance->measurement_client_configuration_descriptor_notify){ in cycling_power_service_server_update_values()
1220 … instance->measurement_notify_callback.callback = &cycling_power_service_measurement_can_send_now; in cycling_power_service_server_update_values()
1221 instance->measurement_notify_callback.context = (void*) instance; in cycling_power_service_server_update_values()
1222 …att_server_register_can_send_now_callback(&instance->measurement_notify_callback, instance->con_ha… in cycling_power_service_server_update_values()
1225 if (instance->vector_client_configuration_descriptor_notify){ in cycling_power_service_server_update_values()
1226 instance->vector_notify_callback.callback = &cycling_power_service_vector_can_send_now; in cycling_power_service_server_update_values()
1227 instance->vector_notify_callback.context = (void*) instance; in cycling_power_service_server_update_values()
1228 …att_server_register_can_send_now_callback(&instance->vector_notify_callback, instance->con_handle); in cycling_power_service_server_update_values()
1237 cycling_power_t * instance = &cycling_power; in cycling_power_service_server_packet_handler() local
1238 instance->calibration_callback = callback; in cycling_power_service_server_packet_handler()
1242 cycling_power_t * instance = &cycling_power; in cycling_power_server_calibration_done() local
1243 if (instance->response_value != CP_RESPONSE_VALUE_W4_VALUE_AVAILABLE){ in cycling_power_server_calibration_done()
1246 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_server_calibration_done()
1250 instance->current_force_magnitude_N = calibrated_value; in cycling_power_server_calibration_done()
1253 instance->current_torque_magnitude_Nm = calibrated_value; in cycling_power_server_calibration_done()
1256 instance->response_value = CP_RESPONSE_VALUE_INVALID_PARAMETER; in cycling_power_server_calibration_done()
1260 if (instance->response_value == CP_RESPONSE_VALUE_SUCCESS){ in cycling_power_server_calibration_done()
1264 instance->response_value = CP_RESPONSE_VALUE_OPERATION_FAILED; in cycling_power_server_calibration_done()
1265 instance->response_value = CP_RESPONSE_VALUE_OPERATION_FAILED; in cycling_power_server_calibration_done()
1272 if (instance->control_point_client_configuration_descriptor_indicate){ in cycling_power_server_calibration_done()
1273 … instance->control_point_indicate_callback.callback = &cycling_power_service_response_can_send_now; in cycling_power_server_calibration_done()
1274 instance->control_point_indicate_callback.context = (void*) instance; in cycling_power_server_calibration_done()
1275 …att_server_register_can_send_now_callback(&instance->control_point_indicate_callback, instance->co… in cycling_power_server_calibration_done()
1282 cycling_power_t * instance = &cycling_power; in cycling_power_server_enhanced_calibration_done() local
1283 if (instance->response_value != CP_RESPONSE_VALUE_W4_VALUE_AVAILABLE) return; in cycling_power_server_enhanced_calibration_done()
1284 instance->response_value = CP_RESPONSE_VALUE_SUCCESS; in cycling_power_server_enhanced_calibration_done()
1288 instance->current_force_magnitude_N = calibrated_value; in cycling_power_server_enhanced_calibration_done()
1291 instance->current_torque_magnitude_Nm = calibrated_value; in cycling_power_server_enhanced_calibration_done()
1294 instance->response_value = CP_RESPONSE_VALUE_INVALID_PARAMETER; in cycling_power_server_enhanced_calibration_done()
1298 if (instance->response_value == CP_RESPONSE_VALUE_SUCCESS){ in cycling_power_server_enhanced_calibration_done()
1302 instance->response_value = CP_RESPONSE_VALUE_OPERATION_FAILED; in cycling_power_server_enhanced_calibration_done()
1303 instance->response_value = CP_RESPONSE_VALUE_OPERATION_FAILED; in cycling_power_server_enhanced_calibration_done()
1308 instance->manufacturer_company_id = manufacturer_company_id; in cycling_power_server_enhanced_calibration_done()
1309 instance->num_manufacturer_specific_data = num_manufacturer_specific_data; in cycling_power_server_enhanced_calibration_done()
1310 instance->manufacturer_specific_data = manufacturer_specific_data; in cycling_power_server_enhanced_calibration_done()
1313 if (instance->control_point_client_configuration_descriptor_indicate){ in cycling_power_server_enhanced_calibration_done()
1314 … instance->control_point_indicate_callback.callback = &cycling_power_service_response_can_send_now; in cycling_power_server_enhanced_calibration_done()
1315 instance->control_point_indicate_callback.context = (void*) instance; in cycling_power_server_enhanced_calibration_done()
1316 …att_server_register_can_send_now_callback(&instance->control_point_indicate_callback, instance->co… in cycling_power_server_enhanced_calibration_done()