rustfmt
This commit is contained in:
		
							parent
							
								
									b4221d75b8
								
							
						
					
					
						commit
						49881f6fd1
					
				| @ -1,8 +1,10 @@ | ||||
| //! Helper utility to configure a specific modem context.
 | ||||
| use core::net::IpAddr; | ||||
| use core::str::FromStr; | ||||
| 
 | ||||
| use at_commands::builder::CommandBuilder; | ||||
| use at_commands::parser::CommandParser; | ||||
| use heapless::Vec; | ||||
| use at_commands::{builder::CommandBuilder, parser::CommandParser}; | ||||
| 
 | ||||
| /// Provides a higher level API for controlling a given context.
 | ||||
| pub struct Control<'a> { | ||||
| @ -91,7 +93,8 @@ impl<'a> Control<'a> { | ||||
|             .with_int_parameter(self.cid) | ||||
|             .with_string_parameter("IP") | ||||
|             .with_string_parameter(config.apn) | ||||
|             .finish().map_err(|_| Error::BufferTooSmall)?; | ||||
|             .finish() | ||||
|             .map_err(|_| Error::BufferTooSmall)?; | ||||
|         let n = self.control.at_command(op, &mut buf).await; | ||||
|         CommandParser::parse(&buf[..n]).expect_identifier(b"OK").finish()?; | ||||
| 
 | ||||
| @ -110,7 +113,8 @@ impl<'a> Control<'a> { | ||||
|         let op = CommandBuilder::create_set(&mut cmd, true) | ||||
|             .named("+CFUN") | ||||
|             .with_int_parameter(1) | ||||
|             .finish().map_err(|_| Error::BufferTooSmall)?; | ||||
|             .finish() | ||||
|             .map_err(|_| Error::BufferTooSmall)?; | ||||
|         let n = self.control.at_command(op, &mut buf).await; | ||||
|         CommandParser::parse(&buf[..n]).expect_identifier(b"OK").finish()?; | ||||
| 
 | ||||
| @ -124,28 +128,37 @@ impl<'a> Control<'a> { | ||||
| 
 | ||||
|         let op = CommandBuilder::create_query(&mut cmd, true) | ||||
|             .named("+CGATT") | ||||
|             .finish().map_err(|_| Error::BufferTooSmall)?; | ||||
|             .finish() | ||||
|             .map_err(|_| Error::BufferTooSmall)?; | ||||
|         let n = self.control.at_command(op, &mut buf).await; | ||||
|         let (res, ) = CommandParser::parse(&buf[..n]) | ||||
|         let (res,) = CommandParser::parse(&buf[..n]) | ||||
|             .expect_identifier(b"+CGATT: ") | ||||
|             .expect_int_parameter() | ||||
|             .expect_identifier(b"\r\nOK").finish()?; | ||||
|             .expect_identifier(b"\r\nOK") | ||||
|             .finish()?; | ||||
|         let attached = res == 1; | ||||
|         if !attached { | ||||
|             return Ok(Status { attached, ip: None, gateway: None, dns: Vec::new() }) | ||||
|             return Ok(Status { | ||||
|                 attached, | ||||
|                 ip: None, | ||||
|                 gateway: None, | ||||
|                 dns: Vec::new(), | ||||
|             }); | ||||
|         } | ||||
| 
 | ||||
|         let op = CommandBuilder::create_set(&mut cmd, true) | ||||
|             .named("+CGPADDR") | ||||
|             .with_int_parameter(self.cid) | ||||
|             .finish().map_err(|_| Error::BufferTooSmall)?; | ||||
|             .finish() | ||||
|             .map_err(|_| Error::BufferTooSmall)?; | ||||
|         let n = self.control.at_command(op, &mut buf).await; | ||||
|         let (_, ip1, _ip2, ) = CommandParser::parse(&buf[..n]) | ||||
|         let (_, ip1, _ip2) = CommandParser::parse(&buf[..n]) | ||||
|             .expect_identifier(b"+CGPADDR: ") | ||||
|             .expect_int_parameter() | ||||
|             .expect_optional_string_parameter() | ||||
|             .expect_optional_string_parameter() | ||||
|             .expect_identifier(b"\r\nOK").finish()?; | ||||
|             .expect_identifier(b"\r\nOK") | ||||
|             .finish()?; | ||||
| 
 | ||||
|         let ip = if let Some(ip) = ip1 { | ||||
|             let ip = IpAddr::from_str(ip).map_err(|_| Error::AddrParseError)?; | ||||
| @ -158,7 +171,8 @@ impl<'a> Control<'a> { | ||||
|         let op = CommandBuilder::create_set(&mut cmd, true) | ||||
|             .named("+CGCONTRDP") | ||||
|             .with_int_parameter(self.cid) | ||||
|             .finish().map_err(|_| Error::BufferTooSmall)?; | ||||
|             .finish() | ||||
|             .map_err(|_| Error::BufferTooSmall)?; | ||||
|         let n = self.control.at_command(op, &mut buf).await; | ||||
|         let (_cid, _bid, _apn, _mask, gateway, dns1, dns2, _, _, _, _, _mtu) = CommandParser::parse(&buf[..n]) | ||||
|             .expect_identifier(b"+CGCONTRDP: ") | ||||
| @ -174,7 +188,8 @@ impl<'a> Control<'a> { | ||||
|             .expect_optional_int_parameter() | ||||
|             .expect_optional_int_parameter() | ||||
|             .expect_optional_int_parameter() | ||||
|             .expect_identifier(b"\r\nOK").finish()?; | ||||
|             .expect_identifier(b"\r\nOK") | ||||
|             .finish()?; | ||||
| 
 | ||||
|         let gateway = if let Some(ip) = gateway { | ||||
|             if ip.is_empty() { | ||||
| @ -188,11 +203,13 @@ impl<'a> Control<'a> { | ||||
| 
 | ||||
|         let mut dns = Vec::new(); | ||||
|         if let Some(ip) = dns1 { | ||||
|             dns.push(IpAddr::from_str(ip).map_err(|_| Error::AddrParseError)?).unwrap(); | ||||
|             dns.push(IpAddr::from_str(ip).map_err(|_| Error::AddrParseError)?) | ||||
|                 .unwrap(); | ||||
|         } | ||||
| 
 | ||||
|         if let Some(ip) = dns2 { | ||||
|             dns.push(IpAddr::from_str(ip).map_err(|_| Error::AddrParseError)?).unwrap(); | ||||
|             dns.push(IpAddr::from_str(ip).map_err(|_| Error::AddrParseError)?) | ||||
|                 .unwrap(); | ||||
|         } | ||||
| 
 | ||||
|         Ok(Status { | ||||
|  | ||||
| @ -17,13 +17,12 @@ use core::slice; | ||||
| use core::sync::atomic::{compiler_fence, fence, Ordering}; | ||||
| use core::task::{Poll, Waker}; | ||||
| 
 | ||||
| use embassy_net_driver_channel as ch; | ||||
| use embassy_sync::waitqueue::{AtomicWaker, WakerRegistration}; | ||||
| use embassy_sync::blocking_mutex::raw::NoopRawMutex; | ||||
| use heapless::Vec; | ||||
| use nrf9160_pac as pac; | ||||
| use pac::NVIC; | ||||
| use embassy_sync::pipe; | ||||
| use embassy_sync::waitqueue::{AtomicWaker, WakerRegistration}; | ||||
| use heapless::Vec; | ||||
| use pac::NVIC; | ||||
| use {embassy_net_driver_channel as ch, nrf9160_pac as pac}; | ||||
| 
 | ||||
| const RX_SIZE: usize = 8 * 1024; | ||||
| const TRACE_SIZE: usize = 16 * 1024; | ||||
| @ -269,7 +268,6 @@ pub struct State { | ||||
|     inner: MaybeUninit<RefCell<StateInner>>, | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| impl State { | ||||
|     /// Create a new State.
 | ||||
|     pub const fn new() -> Self { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user