diff --git a/artiq/firmware/Cargo.lock b/artiq/firmware/Cargo.lock index 3370bc073..673c6e9e0 100644 --- a/artiq/firmware/Cargo.lock +++ b/artiq/firmware/Cargo.lock @@ -204,6 +204,8 @@ dependencies = [ "byteorder 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "cslice 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "dyld 0.0.0", + "failure 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "failure_derive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "io 0.0.0", "log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/artiq/firmware/ksupport/lib.rs b/artiq/firmware/ksupport/lib.rs index 4122e75c7..229e616c2 100644 --- a/artiq/firmware/ksupport/lib.rs +++ b/artiq/firmware/ksupport/lib.rs @@ -127,7 +127,7 @@ extern fn rpc_send_async(service: u32, tag: CSlice, data: *const *const ()) rpc_proto::send_args(&mut writer, service, tag.as_ref(), data)?; writer.position() }; - io::proto::ProtoWrite::write_u32(&mut slice, length as u32) + io::ProtoWrite::write_u32(&mut slice, length as u32) }).unwrap_or_else(|err| { assert!(err == io::Error::UnexpectedEof); diff --git a/artiq/firmware/libio/lib.rs b/artiq/firmware/libio/lib.rs index 48f07394d..486e4ae7b 100644 --- a/artiq/firmware/libio/lib.rs +++ b/artiq/firmware/libio/lib.rs @@ -15,9 +15,11 @@ use core::result; mod cursor; #[cfg(feature = "byteorder")] -pub mod proto; +mod proto; pub use cursor::Cursor; +#[cfg(feature = "byteorder")] +pub use proto::{ProtoRead, ProtoWrite}; pub type Result = result::Result>; diff --git a/artiq/firmware/libproto_artiq/Cargo.toml b/artiq/firmware/libproto_artiq/Cargo.toml index 19b1884dd..92d5e0d0f 100644 --- a/artiq/firmware/libproto_artiq/Cargo.toml +++ b/artiq/firmware/libproto_artiq/Cargo.toml @@ -8,6 +8,8 @@ name = "proto_artiq" path = "lib.rs" [dependencies] +failure = { version = "0.1", default-features = false } +failure_derive = { version = "0.1", default-features = false } byteorder = { version = "1.0", default-features = false } cslice = { version = "0.3" } log = { version = "0.4", default-features = false, optional = true } diff --git a/artiq/firmware/libproto_artiq/analyzer_proto.rs b/artiq/firmware/libproto_artiq/analyzer_proto.rs index 66c54c753..02f81fce2 100644 --- a/artiq/firmware/libproto_artiq/analyzer_proto.rs +++ b/artiq/firmware/libproto_artiq/analyzer_proto.rs @@ -1,5 +1,4 @@ -use io::{Write, Result}; -use io::proto::{ProtoWrite}; +use io::{Write, ProtoWrite, Result}; #[derive(Debug)] pub struct Header { diff --git a/artiq/firmware/libproto_artiq/drtioaux_proto.rs b/artiq/firmware/libproto_artiq/drtioaux_proto.rs index 1899f0787..1bd4eabb7 100644 --- a/artiq/firmware/libproto_artiq/drtioaux_proto.rs +++ b/artiq/firmware/libproto_artiq/drtioaux_proto.rs @@ -1,5 +1,4 @@ -use io::{Read, Write, Error, Result}; -use io::proto::{ProtoRead, ProtoWrite}; +use io::{Read, ProtoRead, Write, ProtoWrite, Error, Result}; #[derive(Debug)] pub enum Packet { diff --git a/artiq/firmware/libproto_artiq/mgmt_proto.rs b/artiq/firmware/libproto_artiq/mgmt_proto.rs index 490be2e5d..d7c2cb8be 100644 --- a/artiq/firmware/libproto_artiq/mgmt_proto.rs +++ b/artiq/firmware/libproto_artiq/mgmt_proto.rs @@ -2,8 +2,7 @@ use alloc::Vec; #[cfg(feature = "log")] use log; -use io::{Read, Write, Error, Result}; -use io::proto::{ProtoRead, ProtoWrite}; +use io::{Read, ProtoRead, Write, ProtoWrite, Error, Result}; #[derive(Debug)] pub enum Request { diff --git a/artiq/firmware/libproto_artiq/moninj_proto.rs b/artiq/firmware/libproto_artiq/moninj_proto.rs index b440fab14..d40dc40dc 100644 --- a/artiq/firmware/libproto_artiq/moninj_proto.rs +++ b/artiq/firmware/libproto_artiq/moninj_proto.rs @@ -1,5 +1,4 @@ -use io::{Read, Write, Error, Result}; -use io::proto::{ProtoRead, ProtoWrite}; +use io::{Read, ProtoRead, Write, ProtoWrite, Error, Result}; #[derive(Debug)] pub enum HostMessage { diff --git a/artiq/firmware/libproto_artiq/rpc_proto.rs b/artiq/firmware/libproto_artiq/rpc_proto.rs index 226cb47b6..3e0b6594d 100644 --- a/artiq/firmware/libproto_artiq/rpc_proto.rs +++ b/artiq/firmware/libproto_artiq/rpc_proto.rs @@ -1,9 +1,7 @@ use core::str; use cslice::{CSlice, CMutSlice}; -use io::{Read, Write, Result}; -use io::proto::{ProtoRead, ProtoWrite}; - +use io::{ProtoRead, Read, Write, ProtoWrite, Result}; use self::tag::{Tag, TagIterator, split_tag}; unsafe fn recv_value(reader: &mut T, tag: Tag, data: &mut *mut (), diff --git a/artiq/firmware/libproto_artiq/session_proto.rs b/artiq/firmware/libproto_artiq/session_proto.rs index 6e4e91cd4..0253c8e8c 100644 --- a/artiq/firmware/libproto_artiq/session_proto.rs +++ b/artiq/firmware/libproto_artiq/session_proto.rs @@ -1,7 +1,6 @@ use alloc::{Vec, String}; -use io::{Read, Write, Error, Result}; -use io::proto::{ProtoRead, ProtoWrite}; +use io::{Read, ProtoRead, Write, ProtoWrite, Error, Result}; fn read_sync(reader: &mut T) -> Result<(), T::ReadError> { let mut sync = [0; 4]; diff --git a/artiq/firmware/runtime/mgmt.rs b/artiq/firmware/runtime/mgmt.rs index d1ae97260..574f55df8 100644 --- a/artiq/firmware/runtime/mgmt.rs +++ b/artiq/firmware/runtime/mgmt.rs @@ -1,6 +1,6 @@ use log::{self, LevelFilter}; -use io::{self, Read, Write, proto::ProtoWrite}; +use io::{self, Read, Write, ProtoWrite}; use board_misoc::boot; use logger_artiq::BufferLogger; use sched::Io;