mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-25 16:43:28 +00:00
hfp: include all tests in ag
This commit is contained in:
parent
0179abaad3
commit
a722a0b488
23
src/hfp.c
23
src/hfp.c
@ -536,8 +536,10 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
|
||||
break;
|
||||
case HFP_CMD_AVAILABLE_CODECS:
|
||||
// printf("Received codec %s\n", context->line_buffer);
|
||||
context->remote_codecs[context->remote_codecs_nr] = (uint16_t)atoi((char*)context->line_buffer);
|
||||
context->remote_codecs_nr++;
|
||||
// context->remote_codecs[context->remote_codecs_nr] = (uint16_t)atoi((char*)context->line_buffer);
|
||||
context->remote_codecs[context->parser_item_index] = (uint16_t)atoi((char*)context->line_buffer);
|
||||
context->parser_item_index++;
|
||||
context->remote_codecs_nr = context->parser_item_index;
|
||||
break;
|
||||
case HFP_CMD_INDICATOR_STATUS:
|
||||
// printf("Indicator %d with status: %s\n", context->parser_item_index+1, context->line_buffer);
|
||||
@ -560,9 +562,9 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
|
||||
context->remote_call_services_nr++;
|
||||
break;
|
||||
case HFP_CMD_GENERIC_STATUS_INDICATOR:
|
||||
|
||||
context->generic_status_indicators[context->generic_status_indicators_nr].uuid = (uint16_t)atoi((char*)context->line_buffer);
|
||||
context->generic_status_indicators_nr++;
|
||||
context->generic_status_indicators[context->parser_item_index].uuid = (uint16_t)atoi((char*)context->line_buffer);
|
||||
context->parser_item_index++;
|
||||
context->generic_status_indicators_nr = context->parser_item_index;
|
||||
break;
|
||||
case HFP_CMD_GENERIC_STATUS_INDICATOR_STATE:
|
||||
// HF parses inital AG gen. ind. state
|
||||
@ -628,8 +630,8 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
|
||||
context->line_buffer[context->line_size] = 0;
|
||||
context->line_size = 0;
|
||||
//printf("Indicator %d: %s (", context->ag_indicators_nr+1, context->line_buffer);
|
||||
strcpy((char *)context->ag_indicators[context->ag_indicators_nr].name, (char *)context->line_buffer);
|
||||
context->ag_indicators[context->ag_indicators_nr].index = context->ag_indicators_nr+1;
|
||||
strcpy((char *)context->ag_indicators[context->parser_item_index].name, (char *)context->line_buffer);
|
||||
context->ag_indicators[context->parser_item_index].index = context->parser_item_index+1;
|
||||
break;
|
||||
}
|
||||
if (byte == '('){ // parse indicator range
|
||||
@ -643,7 +645,7 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
|
||||
context->parser_state = HFP_PARSER_CMD_INDICATOR_MAX_RANGE;
|
||||
context->line_buffer[context->line_size] = 0;
|
||||
//printf("%d, ", atoi((char *)&context->line_buffer[0]));
|
||||
context->ag_indicators[context->ag_indicators_nr].min_range = atoi((char *)context->line_buffer);
|
||||
context->ag_indicators[context->parser_item_index].min_range = atoi((char *)context->line_buffer);
|
||||
context->line_size = 0;
|
||||
break;
|
||||
}
|
||||
@ -655,9 +657,10 @@ void hfp_parse(hfp_connection_t * context, uint8_t byte){
|
||||
context->parser_state = HFP_PARSER_CMD_SEQUENCE;
|
||||
context->line_buffer[context->line_size] = 0;
|
||||
//printf("%d)\n", atoi((char *)&context->line_buffer[0]));
|
||||
context->ag_indicators[context->ag_indicators_nr].max_range = atoi((char *)context->line_buffer);
|
||||
context->ag_indicators[context->parser_item_index].max_range = atoi((char *)context->line_buffer);
|
||||
context->line_size = 0;
|
||||
context->ag_indicators_nr++;
|
||||
context->parser_item_index++;
|
||||
context->ag_indicators_nr = context->parser_item_index;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ TEST_GROUP(HFPParser){
|
||||
memset(packet,0, sizeof(packet));
|
||||
}
|
||||
};
|
||||
/*
|
||||
|
||||
TEST(HFPParser, HFP_AG_SUPPORTED_FEATURES){
|
||||
sprintf(packet, "\r\nAT%s=0000001111101111\r\n", HFP_SUPPORTED_FEATURES);
|
||||
for (pos = 0; pos < strlen(packet); pos++){
|
||||
@ -97,7 +97,7 @@ TEST(HFPParser, HFP_AG_AVAILABLE_CODECS){
|
||||
TEST(HFPParser, HFP_AG_GENERIC_STATUS_INDICATOR){
|
||||
sprintf(packet, "\r\nAT%s=0,1\r\n", HFP_GENERIC_STATUS_INDICATOR);
|
||||
context.sent_command = HFP_CMD_GENERIC_STATUS_INDICATOR;
|
||||
|
||||
|
||||
for (pos = 0; pos < strlen(packet); pos++){
|
||||
hfp_parse(&context, packet[pos]);
|
||||
}
|
||||
@ -118,11 +118,14 @@ TEST(HFPParser, HFP_AG_ENABLE_INDICATOR_STATUS_UPDATE){
|
||||
CHECK_EQUAL(HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE, context.command);
|
||||
CHECK_EQUAL(1, context.enable_status_update_for_ag_indicators);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
TEST(HFPParser, HFP_AG_ENABLE_INDIVIDUAL_INDICATOR_STATUS_UPDATE){
|
||||
set_hfp_generic_status_indicators((hfp_generic_status_indicators_t *)&hf_indicators, hf_indicators_nr);
|
||||
context.generic_status_indicators_nr = hf_indicators_nr;
|
||||
memcpy(context.generic_status_indicators, hf_indicators, hf_indicators_nr * sizeof(hfp_generic_status_indicators_t));
|
||||
|
||||
for (pos = 0; pos < hf_indicators_nr; pos++){
|
||||
CHECK_EQUAL(get_hfp_generic_status_indicators()[pos].uuid, hf_indicators[pos].uuid);
|
||||
CHECK_EQUAL(get_hfp_generic_status_indicators()[pos].state, hf_indicators[pos].state);
|
||||
|
@ -101,8 +101,7 @@ TEST(HFPParser, HFP_HF_INDICATORS){
|
||||
offset += snprintf(packet+offset, sizeof(packet)-offset, "\"%s\", (%d, %d)\r\n", ag_indicators[pos].name, ag_indicators[pos].min_range, ag_indicators[pos].max_range);
|
||||
|
||||
context.sent_command = HFP_CMD_INDICATOR;
|
||||
context.ag_indicators_nr = 0;
|
||||
|
||||
|
||||
for (pos = 0; pos < strlen(packet); pos++){
|
||||
hfp_parse(&context, packet[pos]);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user