MODEM_INFO_MCC and MNC

All SDK versions, including the latest v3.2.1
Method int modem_info_short_get(enum modem_info info, uint16_t *buf) has a bug and fails to return the right values when:
1. info = MODEM_INFO_MCC
2. info = MODEM_INFO_MNC

Since 3 of them point to the same data in the modem response, and the right values must be extracted from the operator:

static const struct modem_info_data operator_data = {
	.cmd		= AT_CMD_CURRENT_OP,
	.data_name	= OPERATOR_DATA_NAME,
	.param_index	= OPERATOR_PARAM_INDEX,
	.param_count	= OPERATOR_PARAM_COUNT,
	.data_type	= MODEM_INFO_DATA_TYPE_STRING,
};

static const struct modem_info_data mcc_data = {
	.cmd		= AT_CMD_CURRENT_OP,
	.data_name	= MCC_DATA_NAME,
	.param_index	= OPERATOR_PARAM_INDEX,
	.param_count	= OPERATOR_PARAM_COUNT,
	.data_type	= MODEM_INFO_DATA_TYPE_NUM_INT,
};

static const struct modem_info_data mnc_data = {
	.cmd		= AT_CMD_CURRENT_OP,
	.data_name	= MNC_DATA_NAME,
	.param_index	= OPERATOR_PARAM_INDEX,
	.param_count	= OPERATOR_PARAM_COUNT,
	.data_type	= MODEM_INFO_DATA_TYPE_NUM_INT,
};

Like it is done in int modem_info_params_get(struct modem_param_info *modem)  with mcc_mnc_parse() function

Parents Reply Children
No Data
Related