mirror of
https://github.com/embassy-rs/embassy.git
synced 2024-11-24 15:52:34 +00:00
Add config option for setting SIM pin
This commit is contained in:
parent
8a5d1454a4
commit
f19718b4f0
@ -21,6 +21,8 @@ pub struct Config<'a> {
|
||||
pub auth_prot: AuthProt,
|
||||
/// Credentials.
|
||||
pub auth: Option<(&'a [u8], &'a [u8])>,
|
||||
/// SIM pin
|
||||
pub pin: Option<&'a [u8]>,
|
||||
}
|
||||
|
||||
/// Authentication protocol.
|
||||
@ -133,6 +135,16 @@ impl<'a> Control<'a> {
|
||||
// info!("RES2: {}", unsafe { core::str::from_utf8_unchecked(&buf[..n]) });
|
||||
CommandParser::parse(&buf[..n]).expect_identifier(b"OK").finish()?;
|
||||
|
||||
if let Some(pin) = config.pin {
|
||||
let op = CommandBuilder::create_set(&mut cmd, true)
|
||||
.named("+CPIN")
|
||||
.with_string_parameter(pin)
|
||||
.finish()
|
||||
.map_err(|_| Error::BufferTooSmall)?;
|
||||
let _ = self.control.at_command(op, &mut buf).await;
|
||||
// Ignore ERROR which means no pin required
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
@ -163,6 +163,7 @@ async fn main(spawner: Spawner) {
|
||||
apn: b"iot.nat.es",
|
||||
auth_prot: context::AuthProt::Pap,
|
||||
auth: Some((b"orange", b"orange")),
|
||||
pin: None,
|
||||
},
|
||||
stack
|
||||
)));
|
||||
|
Loading…
Reference in New Issue
Block a user