forked from M-Labs/artiq
1
0
Fork 0

runtime: update smoltcp.

This commit is contained in:
whitequark 2017-03-07 07:25:00 +00:00
parent d52723d5bc
commit 5bbb05362b
4 changed files with 18 additions and 13 deletions

View File

@ -136,7 +136,7 @@ dependencies = [
[[package]]
name = "managed"
version = "0.2.1"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@ -166,7 +166,7 @@ dependencies = [
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"logger_artiq 0.0.0",
"proto 0.0.0",
"smoltcp 0.2.1 (git+https://github.com/m-labs/smoltcp?rev=e8ece3e)",
"smoltcp 0.4.0-pre (git+https://github.com/m-labs/smoltcp?rev=1622244)",
"std_artiq 0.0.0",
]
@ -191,12 +191,12 @@ dependencies = [
[[package]]
name = "smoltcp"
version = "0.2.1"
source = "git+https://github.com/m-labs/smoltcp?rev=e8ece3e#e8ece3e56775f38b41906c442db320c980b98c94"
version = "0.4.0-pre"
source = "git+https://github.com/m-labs/smoltcp?rev=1622244#16222445a6245d29a2ffb1671a9817747676fdd7"
dependencies = [
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"managed 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"managed 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -229,9 +229,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum libc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "a51822fc847e7a8101514d1d44e354ba2ffa7d4c194dcab48870740e327cac70"
"checksum log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ab83497bf8bf4ed2a74259c1c802351fcd67a65baa86394b6ba73c36f4838054"
"checksum log_buffer 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ec57723b84bbe7bdf76aa93169c9b59e67473317c6de3a83cb2a0f8ccb2aa493"
"checksum managed 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5981b4c6de5ce272aaf2caaa56adb8f6fd24a73206b38302db572ab9374aab10"
"checksum managed 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61eb783b4fa77e8fa4d27ec400f97ed9168546b8b30341a120b7ba9cc6571aaf"
"checksum rustc-cfg 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "56a596b5718bf5e059d59a30af12f7f462a152de147aa462b70892849ee18704"
"checksum smoltcp 0.2.1 (git+https://github.com/m-labs/smoltcp?rev=e8ece3e)" = "<none>"
"checksum smoltcp 0.4.0-pre (git+https://github.com/m-labs/smoltcp?rev=1622244)" = "<none>"
"checksum walkdir 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "dd7c16466ecc507c7cb5988db03e6eab4aaeab89a5c37a29251fcfd3ac9b7afe"
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"

View File

@ -32,6 +32,6 @@ features = ["mem"]
[dependencies.smoltcp]
git = "https://github.com/m-labs/smoltcp"
rev = "e8ece3e"
rev = "1622244"
default-features = false
features = ["use_alloc", "use_collections", "use_log"]#, "verbose"]
features = ["alloc", "collections", "log"]#, "verbose"]

View File

@ -1,7 +1,7 @@
use core::slice;
use board::{csr, mem};
use smoltcp::Error;
use smoltcp::phy::Device;
use smoltcp::phy::{DeviceLimits, Device};
const RX0_BASE: usize = mem::ETHMAC_BASE + 0x0000;
const RX1_BASE: usize = mem::ETHMAC_BASE + 0x0800;
@ -23,7 +23,12 @@ impl Device for EthernetDevice {
type RxBuffer = RxBuffer;
type TxBuffer = TxBuffer;
fn mtu(&self) -> usize { 1500 }
fn limits(&self) -> DeviceLimits {
let mut limits = DeviceLimits::default();
limits.max_transmission_unit = 1500;
limits.max_burst_size = Some(RX_BUFFERS.len());
limits
}
fn receive(&mut self) -> Result<Self::RxBuffer, Error> {
unsafe {

View File

@ -85,7 +85,7 @@ fn startup() {
board::ad9154::init().expect("cannot initialize ad9154");
let hardware_addr;
match config::read_str("mac", |r| r.and_then(|s| EthernetAddress::parse(s))) {
match config::read_str("mac", |r| r?.parse()) {
Err(()) => {
hardware_addr = EthernetAddress([0x02, 0x00, 0x00, 0x00, 0x00, 0x01]);
warn!("using default MAC address {}; consider changing it", hardware_addr);
@ -97,7 +97,7 @@ fn startup() {
}
let protocol_addr;
match config::read_str("ip", |r| r.and_then(|s| IpAddress::parse(s))) {
match config::read_str("ip", |r| r?.parse()) {
Err(()) | Ok(IpAddress::Unspecified) => {
protocol_addr = IpAddress::v4(192, 168, 1, 50);
info!("using default IP address {}", protocol_addr);