Если вы посмотрите в sms.cpp вы можете увидеть, что они используют gsm.ComparePhoneNumber (я, тела) сравнить PHONENUMBER на позицию я с одной у тебя есть.
byte get_phonenr_position(char *ph)
{
byte i;
for(i = 1; i <= 20; i++)
if (gsm.ComparePhoneNumber(i, ph))
return i;
return 0;
}
должен работать, но не настолько эффективен, как вы должны спросить модуль через последовательный интерфейс. Я добавил переменную last_authorized
к классу SMSGSM
(и CallGSM
):
sms.cpp:
// phone numbers are identical
// authorization is OK
// ---------------------------
+ last_authorized = i;
ret_val = GETSMS_AUTH_SMS;
break; // and finish authorization
}
sms.h:
char GetAuthorizedSMS(byte position, char *phone_number, char *SMS_text, byte max_SMS_len,
byte first_authorized_pos, byte last_authorized_pos);
char DeleteSMS(byte position);
+ // set by CallStatusWithAuth
+ byte last_authorized;
};
и прочитать эту переменную из моего экземпляра SMSGSM. (Для CallGSM я сделал то же самое).
Спасибо, еще раз – user1400924