tenstorrent / luwen Goto Github PK
View Code? Open in Web Editor NEWTenstorrent system interface library
License: Apache License 2.0
Tenstorrent system interface library
License: Apache License 2.0
I'm running the latest tt-smi tool from: https://github.com/tenstorrent/tt-smi and observing that the reported Link Speed is Gen1 and the Link Width is x1 on a system with a Wormhole N150.
I ran an older version of tt-smi which shows the correct data:
Potential issue where polling the temperature through tt-smi may end up in a stuck state where temperature stops changing. This is as opposed to tt-kmd's hwmon support which continues to update as expected.
tt-smi: 2.0.1
tt-kmd: 1.27.1
firmware: 80.4.0.0
Distro: Ubuntu 20.04.6 LTS
Checking luwen-core v0.1.0 (/home/mannamalai/tt-luwen/crates/luwen-core)
warning: match expression looks like `matches!` macro
--> crates/luwen-core/src/lib.rs:13:9
|
13 | / match self {
14 | | Arch::Wormhole => true,
15 | | _ => false,
16 | | }
| |_________^ help: try: `matches!(self, Arch::Wormhole)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro
= note: `#[warn(clippy::match_like_matches_macro)]` on by default
warning: match expression looks like `matches!` macro
--> crates/luwen-core/src/lib.rs:20:9
|
20 | / match self {
21 | | Arch::Grayskull => true,
22 | | _ => false,
23 | | }
| |_________^ help: try: `matches!(self, Arch::Grayskull)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro
warning: `luwen-core` (lib) generated 2 warnings
Checking indexmap v2.1.0
Checking generic-array v0.14.7
Checking crypto-common v0.1.6
Checking block-buffer v0.10.4
Checking getrandom v0.2.12
Checking memmap2 v0.7.1
Checking console v0.15.8
Checking nix v0.26.4
Checking digest v0.10.7
Checking rand_core v0.6.4
Checking sha2 v0.10.8
Checking rand_chacha v0.3.1
Checking indicatif v0.17.7
Checking rand v0.8.5
Checking rust-embed-utils v8.2.0
Checking rust-embed v8.2.0
Checking bincode v1.3.3
Checking serde_yaml v0.9.30
Checking luwen-if v0.2.0 (/home/mannamalai/tt-luwen/crates/luwen-if)
error[E0786]: found invalid metadata files for crate `thiserror`
--> crates/luwen-if/src/arc_msg.rs:4:5
|
4 | use thiserror::Error;
| ^^^^^^^^^
|
= note: invalid metadata version found: /home/mannamalai/tt-luwen/target/x86_64-unknown-linux-gnu/debug/deps/libthiserror-a5a0af38aea87c50.rmeta
error[E0786]: found invalid metadata files for crate `rust_embed`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:6:5
|
6 | use rust_embed::RustEmbed;
| ^^^^^^^^^^
|
= note: invalid metadata version found: /home/mannamalai/tt-luwen/target/x86_64-unknown-linux-gnu/debug/deps/librust_embed-6db6c2cedd67e2a0.rmeta
error[E0786]: found invalid metadata files for crate `serde`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:7:5
|
7 | use serde::{Deserialize, Serialize};
| ^^^^^
|
= note: invalid metadata version found: /home/mannamalai/tt-luwen/target/x86_64-unknown-linux-gnu/debug/deps/libserde-28caf00614427fa8.rmeta
error[E0786]: found invalid metadata files for crate `thiserror`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:8:5
|
8 | use thiserror::Error;
| ^^^^^^^^^
|
= note: invalid metadata version found: /home/mannamalai/tt-luwen/target/x86_64-unknown-linux-gnu/debug/deps/libthiserror-a5a0af38aea87c50.rmeta
error[E0786]: found invalid metadata files for crate `thiserror`
--> crates/luwen-if/src/error.rs:7:5
|
7 | use thiserror::Error;
| ^^^^^^^^^
|
= note: invalid metadata version found: /home/mannamalai/tt-luwen/target/x86_64-unknown-linux-gnu/debug/deps/libthiserror-a5a0af38aea87c50.rmeta
error: cannot determine resolution for the derive macro `Error`
--> crates/luwen-if/src/arc_msg.rs:145:10
|
145 | #[derive(Error, Debug)]
| ^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:147:7
|
147 | #[error("Message {0} not recognized")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:149:7
|
149 | #[error("Timed out while waiting {0:?} for ARC to respond")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:151:7
|
151 | #[error("ARC is asleep")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:153:7
|
153 | #[error("Failed to trigger FW interrupt")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:155:7
|
155 | #[error("Mailbox {0} is invalid")]
| ^^^^^
error: cannot determine resolution for the derive macro `Error`
--> crates/luwen-if/src/arc_msg.rs:169:10
|
169 | #[derive(Error, Debug)]
| ^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:171:7
|
171 | #[error("{source}\n{backtrace}")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/arc_msg.rs:177:7
|
177 | #[error(transparent)]
| ^^^^^
error: cannot find attribute `from` in this scope
--> crates/luwen-if/src/arc_msg.rs:178:16
|
178 | AxiError(#[from] AxiError),
| ^^^^
error: cannot determine resolution for the derive macro `Error`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:12:10
|
12 | #[derive(Error, Debug)]
| ^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:14:7
|
14 | #[error("Invalid path: {key} specifically was not able to find {path}")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:17:7
|
17 | #[error("Invalid path: {key} specifically was not able to parse {path} as an array def.")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:20:7
|
20 | #[error("No AXI data table loaded")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:23:7
|
23 | #[error("The readbuffer is not large enough to hold the requested data")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:26:7
|
26 | #[error("The writebuffer is not the same size as the requested field")]
| ^^^^^
error: cannot determine resolution for the derive macro `Serialize`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:30:24
|
30 | #[derive(Clone, Debug, Serialize, Deserialize)]
| ^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot determine resolution for the derive macro `Deserialize`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:30:35
|
30 | #[derive(Clone, Debug, Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot determine resolution for the derive macro `Deserialize`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:37:17
|
37 | #[derive(Debug, Deserialize, Serialize)]
| ^^^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot determine resolution for the derive macro `Serialize`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:37:30
|
37 | #[derive(Debug, Deserialize, Serialize)]
| ^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot determine resolution for the derive macro `Serialize`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:47:10
|
47 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot determine resolution for the derive macro `Deserialize`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:47:21
|
47 | #[derive(Serialize, Deserialize)]
| ^^^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot determine resolution for the derive macro `RustEmbed`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:53:10
|
53 | #[derive(RustEmbed)]
| ^^^^^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot find attribute `folder` in this scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:54:3
|
54 | #[folder = "../../axi-data"]
| ^^^^^^
error: cannot determine resolution for the derive macro `Error`
--> crates/luwen-if/src/error.rs:28:10
|
28 | #[derive(Error, Debug)]
| ^^^^^
|
= note: import resolution is stuck, try simplifying macro imports
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:30:7
|
30 | #[error("Tried to initialize chip with the wrong architecture, expected {expected:?} but got {actual:?}\n{b...
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:37:7
|
37 | #[error("Unsupported fw version, got {version:x} but required {required:x}")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:40:7
|
40 | #[error("It is not currently safe to communicate with ARC because, {0}")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:43:7
|
43 | #[error(transparent)]
| ^^^^^
error: cannot find attribute `from` in this scope
--> crates/luwen-if/src/error.rs:44:19
|
44 | ArcMsgError(#[from] ArcMsgError),
| ^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:46:7
|
46 | #[error("Ethernet training not complete on {} ports", .0.iter().copied().filter(|v| *v).count())]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:49:7
|
49 | #[error(transparent)]
| ^^^^^
error: cannot find attribute `from` in this scope
--> crates/luwen-if/src/error.rs:50:16
|
50 | AxiError(#[from] crate::chip::AxiError),
| ^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:52:7
|
52 | #[error("{0}\n{1}")]
| ^^^^^
error: cannot find attribute `error` in this scope
--> crates/luwen-if/src/error.rs:55:7
|
55 | #[error("{0}\n{1}")]
| ^^^^^
error[E0786]: found invalid metadata files for crate `bincode`
--> crates/luwen-if/src/chip/communication/chip_comms.rs:59:5
|
59 | bincode::deserialize(&data.data).unwrap()
| ^^^^^^^
|
= note: invalid metadata version found: /home/mannamalai/tt-luwen/target/x86_64-unknown-linux-gnu/debug/deps/libbincode-11a36dc6da94a884.rmeta
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/arc_msg.rs:237:57
|
228 | ) -> Result<ArcMsgOk, PlatformError> {
| ------------------------------- expected `error::PlatformError` because of this
...
237 | Err(ArcMsgProtocolError::ArcAsleep.into_error())?;
| ^ the trait `std::convert::From<arc_msg::ArcMsgError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `arc_msg::ArcMsgError`
= note: required for `std::result::Result<arc_msg::ArcMsgOk, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, arc_msg::ArcMsgError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/arc_msg.rs:248:59
|
228 | ) -> Result<ArcMsgOk, PlatformError> {
| ------------------------------- expected `error::PlatformError` because of this
...
248 | Err(ArcMsgProtocolError::FwIntFailed.into_error())?;
| ^ the trait `std::convert::From<arc_msg::ArcMsgError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `arc_msg::ArcMsgError`
= note: required for `std::result::Result<arc_msg::ArcMsgOk, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, arc_msg::ArcMsgError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/arc_msg.rs:261:78
|
228 | ) -> Result<ArcMsgOk, PlatformError> {
| ------------------------------- expected `error::PlatformError` because of this
...
261 | Err(ArcMsgProtocolError::MsgNotRecognized(code).into_error())?;
| ^ the trait `std::convert::From<arc_msg::ArcMsgError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `arc_msg::ArcMsgError`
= note: required for `std::result::Result<arc_msg::ArcMsgOk, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, arc_msg::ArcMsgError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/arc_msg.rs:266:72
|
228 | ) -> Result<ArcMsgOk, PlatformError> {
| ------------------------------- expected `error::PlatformError` because of this
...
266 | Err(ArcMsgProtocolError::Timeout(timeout).into_error())?;
| ^ the trait `std::convert::From<arc_msg::ArcMsgError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `arc_msg::ArcMsgError`
= note: required for `std::result::Result<arc_msg::ArcMsgOk, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, arc_msg::ArcMsgError>>`
error[E0599]: no function or associated item named `get` found for struct `chip::communication::chip_comms::WHPciData` in the current scope
--> crates/luwen-if/src/chip/communication/chip_comms.rs:58:27
|
55 | struct WHPciData;
| ---------------- function or associated item `get` not found for this struct
...
58 | let data = WHPciData::get(file).unwrap();
| ^^^ function or associated item not found in `WHPciData`
|
= help: items from traits can only be used if the trait is implemented and in scope
= note: the following trait defines an item `get`, perhaps you need to implement it:
candidate #1: `std::slice::SliceIndex`
error[E0277]: the trait bound `chip::communication::chip_comms::AxiError: std::error::Error` is not satisfied
--> crates/luwen-if/src/chip/communication/chip_comms.rs:172:53
|
172 | let addr = self.axi_translate(addr.as_ref())?.addr;
| ^ the trait `std::error::Error` is not implemented for `chip::communication::chip_comms::AxiError`
|
= help: the following other types implement trait `std::ops::FromResidual<R>`:
<std::result::Result<T, F> as std::ops::FromResidual<std::ops::Yeet<E>>>
<std::result::Result<T, F> as std::ops::FromResidual<std::result::Result<std::convert::Infallible, E>>>
= note: required for `std::boxed::Box<dyn std::error::Error>` to implement `std::convert::From<chip::communication::chip_comms::AxiError>`
= note: required for `std::result::Result<u32, std::boxed::Box<dyn std::error::Error>>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: the trait bound `chip::communication::chip_comms::AxiError: std::error::Error` is not satisfied
--> crates/luwen-if/src/chip/communication/chip_comms.rs:185:53
|
185 | let addr = self.axi_translate(addr.as_ref())?.addr;
| ^ the trait `std::error::Error` is not implemented for `chip::communication::chip_comms::AxiError`
|
= help: the following other types implement trait `std::ops::FromResidual<R>`:
<std::result::Result<T, F> as std::ops::FromResidual<std::ops::Yeet<E>>>
<std::result::Result<T, F> as std::ops::FromResidual<std::result::Result<std::convert::Infallible, E>>>
= note: required for `std::boxed::Box<dyn std::error::Error>` to implement `std::convert::From<chip::communication::chip_comms::AxiError>`
= note: required for `std::result::Result<(), std::boxed::Box<dyn std::error::Error>>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/creation.rs:36:83
|
36 | arc_addrs: ArcMsgAddr::try_from(arc_if.as_ref() as &dyn ChipComms)?,
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<chip::grayskull::Grayskull, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/grayskull.rs:237:76
|
237 | return Err(ArcMsgProtocolError::InvalidMailbox(2).into_error())?;
| ^ the trait `std::convert::From<arc_msg::ArcMsgError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `arc_msg::ArcMsgError`
= note: required for `std::result::Result<arc_msg::ArcMsgOk, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, arc_msg::ArcMsgError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/grayskull.rs:294:70
|
294 | let csm_offset = self.arc_if.axi_translate("ARC_CSM.DATA[0]")?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<chip::Telemetry, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/hl_comms.rs:118:46
|
118 | let addr = arc_if.axi_translate(addr)?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<&[u8], error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/hl_comms.rs:121:53
|
121 | return Err(AxiError::ReadBufferTooSmall)?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<&[u8], error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/hl_comms.rs:134:46
|
134 | let addr = arc_if.axi_translate(addr)?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<std::vec::Vec<u8>, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/hl_comms.rs:156:55
|
156 | let addr = arc_if.axi_translate(addr.as_ref())?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<(), error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/hl_comms.rs:159:54
|
159 | return Err(AxiError::WriteBufferMismatch)?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<(), error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/wormhole.rs:75:71
|
75 | arc_addrs: ArcMsgAddr::try_from(&arc_if as &dyn ChipComms)?,
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<chip::wormhole::Wormhole, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
error[E0277]: `?` couldn't convert the error to `error::PlatformError`
--> crates/luwen-if/src/chip/wormhole.rs:415:70
|
415 | let csm_offset = self.arc_if.axi_translate("ARC_CSM.DATA[0]")?;
| ^ the trait `std::convert::From<chip::communication::chip_comms::AxiError>` is not implemented for `error::PlatformError`
|
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the trait `std::convert::From<std::boxed::Box<(dyn std::error::Error + 'static)>>` is implemented for `error::PlatformError`
= help: for that trait implementation, expected `std::boxed::Box<(dyn std::error::Error + 'static)>`, found `chip::communication::chip_comms::AxiError`
= note: required for `std::result::Result<chip::Telemetry, error::PlatformError>` to implement `std::ops::FromResidual<std::result::Result<std::convert::Infallible, chip::communication::chip_comms::AxiError>>`
Some errors have detailed explanations: E0277, E0599, E0786.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `luwen-if` (lib) due to 58 previous errors
warning: build failed, waiting for other jobs to finish...
Add some basic docs on the Prometheus exporter stuff to the basic docs so folks know it's (1) there and (2) how to start it. We should, long term, probably look at adding a proper systemd sample file for getting it started.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.