ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
<re_irc> <@grantm11235:matrix.org> I don't think that the "get()" is relevant here, you could just as easily do "(x as *const UnsafeCell<u32> as *const u32).read_volatile()"
<cr1901> I am trying to come up with an example, even theoretical, where a read_volatile() via UnsaferCell vs read_volatile by a raw pointer, will lead to different codegen
<cr1901> B/c isn't this the crux of why VolatileCell is unsound?
<cr1901> (i.e. You _can't_ actually promise that a volatile_read of an UnsafeCell's contents won't become a speculative read).
<re_irc> <@grantm11235:matrix.org> I don't have an example of where it _will_, lead to different codegen, but I do have an example of where it theoretically _could_ lead to different codegen. Consider this function https://godbolt.org/z/1v587hPcM
<re_irc> <@grantm11235:matrix.org> It compiles to "ldr r0, [r1]; bx lr", but it would be perfectly valid for it to compile to "ldr r0, [r1]; ldr r0, [r1]; ldr r0, [r1]; bx lr"
<cr1901> The first two being speculative non-volatile reads?
<cr1901> and the third read being the volatile "must-happen" read?
<re_irc> <@grantm11235:matrix.org> Well any one of them could be the nonvolatile read, but yes
<re_irc> <@grantm11235:matrix.org> * volatile
<cr1901> (Why is volatile a property of an access rather than a type?)
<cr1901> (Can't think of many scenarios where a read you want to perform for the side effects to a specific address will all of a sudden be safe to perform w/o side effects at another nebulously defined point in your program
<re_irc> <@grantm11235:matrix.org> rust doesn't have any volatile types build in to the language, it just has these two functions https://doc.rust-lang.org/core/ptr/fn.read_volatile.html https://doc.rust-lang.org/core/ptr/fn.write_volatile.html
<cr1901> I know, and I want to understand the rationale behind it
<cr1901> And also, the reason I've been finding these examples confusing is that all the optimizations so far in the godbolt examples, end up with a _reduction_ in the number of reads done to the pointer/unsafecell ref.
<cr1901> while speculative reads seem to be about adding reads (perhaps to remove them later)
<cr1901> E.g. https://godbolt.org/z/nenPazjMh fun and fun2 optimize similarly (an add loop gets optimized to a multiply), but only the UnsafeCell version can take advantage of the speculative read/assume the pointee is valid.
<re_irc> <@grantm11235:matrix.org> If you call "fun" with n=0, it does one read, "fun2" and "fun3" do zero reads
<re_irc> <@dalepsmith:matrix.org> What about cache-line reads? Or is that more a property of the memory controller or I/O bus controller?
<cr1901> grantm11235: Yes that is true. Good point.
<cr1901> I think I need to chew on this more before it sinks in
duderonomy has joined #rust-embedded
<cr1901> dirbaio: https://github.com/rust-lang/unsafe-code-guidelines/issues/411#issuecomment-1579399099 You say "since it never creates references". Why doesn't calling read/write/foo/bar/baz count as "creating a reference"?
<re_irc> <@grantm11235:matrix.org> Do you mean "&self"?
<cr1901> yes
<cr1901> The only thing I can think of is:
<cr1901> In the ptr case &self is "reference to a pointer", not "reference to the actual object"
<cr1901> wherease with Volatile/UnsafeCell, that's repr(transparent), so &self is "reference to the actual object"
<cr1901> So speculative loading of a "reference to a pointer" isn't a problem
<re_irc> <@grantm11235:matrix.org> Exactly, it would just be reading the value "0x4000_0000" from somewhere on the stack or whatever
<re_irc> <@grantm11235:matrix.org> You could also make the struct "Copy" and have the methods take "self" by value. I think that is what chiptool does
<cr1901> (I remember reading something about how LLVM doesn't have typed pointers anymore, but I assume that adding a speculative load of the contents of an added speculative load is illegal :P.
<re_irc> <@imrank03:matrix.org> Hello all,
<re_irc> svd2rust -i STM32F0x1.svd
<re_irc> [INFO svd2rust] Parsing device from SVD file
<re_irc> I am trying to generate "pac" using "svd2rust" but I am getting error
<re_irc> [ERROR svd2rust] Error parsing SVD XML file
<re_irc> 0: In device `STM32F0x1`
<re_irc> Caused by:
<re_irc> 1: In peripheral `Flash`
<re_irc> 2: In register `OBR`
<re_irc> 3: Parsing field `RAM_PARITY_CHECK` at 16597:13
<re_irc> 4: `BitRange error: bitRange width of 0 does not make sense
<re_irc> <@imrank03:matrix.org> am I missing something?
<re_irc> <@imrank03:matrix.org> * anything?
<re_irc> <@thejpster:matrix.org> Where did you get your SVD file? Ones provided by manufacturers often have bugs in them.
<re_irc> <@imrank03:matrix.org> I have downloaded from stm32 web site
<re_irc> <@thejpster:matrix.org> as I said, they often have bugs
<re_irc> <@thejpster:matrix.org> https://github.com/stm32-rs/stm32-rs maintains patches for them
<re_irc> <@imrank03:matrix.org> Okay thank you, I'll check
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<re_irc> <@romancardenas:matrix.org> Hi folks! I have a rather "philosophical" question regarding interrupts in the "cortex-m" crate (I'm using it as inspiration for "riscv").
<re_irc> In "cortex-m" you define an unsafe "InterruptNumber" trait as a mechanism to "make sure" that you always refer to a valid interrupt source (PACs are the ones that implement that trait). However, you deal with priorities with just "u8" as if all the platforms supported 256 different priority levels. But that's not always the case right? Why don't you include a "PriorityLevel" trait to make sure that the priority level is valid?
<re_irc> <@dirbaio:matrix.org> : cortex-m priority handling is a bit annoying yes :)
<re_irc> my guess is it doesn't do the Priority trait, because it's technically fine to write any u8 to the priority registers. If the chip only implements 3 priority bits, the only the top 3 bits of the u8 are used, the bottom 5 bits are ignored
<re_irc> <@romancardenas:matrix.org> I was thinking that a trair like this:
<re_irc> pub unsafe trait InterruptNumber: Copy {
<re_irc> const MAX_INTERRUPT_NUMBER: u16;
<re_irc> /// Highest number assigned to an interrupt source.
<re_irc> /// Converts an interrupt source to its corresponding number.
<re_irc> fn number(self) -> u16;
<re_irc> /// Tries to convert a number to a valid interrupt source.
<re_irc> /// If the conversion fails, it returns an error with the number back.
<re_irc> fn try_from(value: u16) -> Result<Self, u16>;
<re_irc> }
<re_irc> would be quite handy for interrupts, priorities, and HARTs for the RISC-V ecosystem. If we rely on a correct implementation of these traits, then the peripherals would have a safer (I guess) implementation
<re_irc> <@romancardenas:matrix.org> * trait
dc740 has joined #rust-embedded
dc740 has quit [Remote host closed the connection]
duderonomy has joined #rust-embedded
emerent has quit [Ping timeout: 265 seconds]
emerent has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
Socker has quit [Ping timeout: 256 seconds]
Socker has joined #rust-embedded
<re_irc> <@dalepsmith:matrix.org> .oO( what's a HART? )
<re_irc> <@dirbaio:matrix.org> "hardware thread"
<re_irc> <@dirbaio:matrix.org> roughly same as "core"
<re_irc> <@dalepsmith:matrix.org> thanks
Socker has quit [Ping timeout: 268 seconds]
Socker has joined #rust-embedded
Socker has quit [Ping timeout: 240 seconds]
Darius has quit [Ping timeout: 240 seconds]
Socker has joined #rust-embedded
<re_irc> <@jamesmunns:beeper.com> Hey , I just found the "xuantie" crate, I was wondering if you had actually done any power measurements in low power mode, like after executing the WFI instruction
<re_irc> <@jamesmunns:beeper.com> Starting to work on the C906 T-Head core (via the Allwinner D1), and was planning to see what kind of power usage sleep mode (but with at least partial DRAM retention) looks like.
Socker has quit [Ping timeout: 240 seconds]
Darius has joined #rust-embedded
Socker has joined #rust-embedded
Socker has quit [Ping timeout: 256 seconds]
<re_irc> <@TimSmall:matrix.org> Interesting talk on undefined behavior and Miri given by Ralf Jung as part of Rust Zurich meetup: https://www.youtube.com/live/a_01ylFUlz4 (go back about an hour for the start of the talk).
Socker has joined #rust-embedded
dc740 has joined #rust-embedded
Socker has quit [Ping timeout: 265 seconds]
Socker has joined #rust-embedded
<re_irc> <@bingofishy:matrix.org> Working with embassy, trying to use a mlx90640 ir camera
<re_irc> However I'm running out of stack when I declare a new camera--not sure why. Below is the problematic line.
<re_irc> "let mut camera = Mlx90640Driver::new(timeout_i2c, ADDRESS);"
<re_irc> "0.014892 ERROR panicked at 'attempt to add with overflow', /Users/-------/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mlx9064x-0.2.1/src/mlx90640/eeprom.rs:111:51"
<re_irc> https://docs.rs/mlx9064x/latest/mlx9064x/ this is the library I'm using
<re_irc> <@bingofishy:matrix.org> seems like an error with eeprom -- do you guys have any suggestions?
<re_irc> <@dirbaio:matrix.org> "attempt to add with overflow" is not running out of stack
<re_irc> <@bingofishy:matrix.org> " (HOST) WARN program has used at least 30.20/30.46 KiB (99.1%) of stack space" also getting this warning
<re_irc> <@dirbaio:matrix.org> ah okay. perhaps the "add with overflow" is a result of corruption due to the stack overflow
<re_irc> <@dirbaio:matrix.org> try running with --release
<re_irc> <@dirbaio:matrix.org> that makes the compiler optimize more, hopefully making more efficient use of stack
<re_irc> <@bingofishy:matrix.org> doesn't compile with --release
<re_irc> <@bingofishy:matrix.org> "error: failed to load bitcode of module "defmt_rtt-76ce081153038db0.defmt_rtt.a4f78c12eb6c236a-cgu.0.rcgu.o": "
<re_irc> <@dirbaio:matrix.org> try "rm -rf target"
<re_irc> <@bingofishy:matrix.org> just gives me the original error
<re_irc> <@bingofishy:matrix.org> when I try to compile again
<re_irc> <@dirbaio:matrix.org> that's odd
<re_irc> <@dirbaio:matrix.org> make sure you're using this exact nightly version https://github.com/embassy-rs/embassy/blob/main/rust-toolchain.toml#L4
<re_irc> that's the embassy-supported one
<re_irc> <@dirbaio:matrix.org> any more info in the error message?
<re_irc> <@bingofishy:matrix.org> just backtrace
<re_irc> <@bingofishy:matrix.org> " panic_probe::print_defmt::print @ /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:104" this too but not sure it helps much
<re_irc> <@dirbaio:matrix.org> please paste the full terminal output
<re_irc> <@dirbaio:matrix.org> do not attempt to summarize
<re_irc> <@dirbaio:matrix.org> it's hard to see what's going on otherwise :)
<re_irc> <@bingofishy:matrix.org> yes, one sec
<re_irc> <@bingofishy:matrix.org> nickli@Nicks-MacBook-Pro-2 ottb_ircam % DEFMT_LOG=trace cargo rb main
<re_irc> warning: unused manifest key: dependencies.mlx9064x.arrayvec
<re_irc> warning: unused manifest key: dependencies.mlx9064x.embedded-hal
<re_irc> warning: unused manifest key: dependencies.mlx9064x.bitvec
<re_irc> warning: unused manifest key: dependencies.mlx9064x.num-traits
<re_irc> warning: unused manifest key: dependencies.mlx9064x.num_enum
<re_irc> warning: unused manifest key: dependencies.mlx9064x.paste
<re_irc> Compiling proc-macro2 v1.0.59
<re_irc> Compiling quote v1.0.28
<re_irc> Compiling unicode-ident v1.0.9
<re_irc> Compiling syn v1.0.109
<re_irc> Compiling defmt v0.3.4
<re_irc> Compiling version_check v0.9.4
<re_irc> Compiling thiserror v1.0.40
<re_irc> Compiling nb v1.1.0
<re_irc> Compiling defmt-macros v0.3.5
<re_irc> Compiling void v1.0.2
<re_irc> Compiling nb v0.1.3
<re_irc> Compiling bitflags v1.3.2
<re_irc> Compiling semver-parser v0.7.0
<re_irc> Compiling embedded-hal v0.2.7
<re_irc> Compiling critical-section v1.1.1
<re_irc> Compiling semver v0.9.0
<re_irc> Compiling cortex-m v0.7.7
<re_irc> Compiling proc-macro-error-attr v1.0.4
<re_irc> Compiling proc-macro-error v1.0.4
<re_irc> Compiling rustc_version v0.2.3
<re_irc> Compiling bare-metal v0.2.5
<re_irc> Compiling semver v1.0.17
<re_irc> Compiling cortex-m-rt v0.7.3
<re_irc> Compiling futures-core v0.3.28
<re_irc> Compiling futures-task v0.3.28
<re_irc> Compiling futures-sink v0.3.28
<re_irc> Compiling byteorder v1.4.3
<re_irc> Compiling vcell v0.1.3
<re_irc> Compiling futures-util v0.3.28
<re_irc> Compiling pin-utils v0.1.0
<re_irc> Compiling libm v0.2.7
<re_irc> Compiling pin-project-lite v0.2.9
<re_irc> Compiling autocfg v1.1.0
<re_irc> Compiling syn v2.0.18
<re_irc> Compiling num-traits v0.2.15
<re_irc> Compiling volatile-register v0.2.1
<re_irc> Compiling hash32 v0.2.1
<re_irc> Compiling rustc_version v0.4.0
<re_irc> Compiling stable_deref_trait v1.2.0
<re_irc> Compiling embedded-hal v1.0.0-alpha.10
<re_irc> Compiling cfg-if v1.0.0
<re_irc> Compiling bitfield v0.13.2
<re_irc> Compiling atomic-polyfill v1.0.2
<re_irc> Compiling ident_case v1.0.1
<re_irc> Compiling strsim v0.10.0
<re_irc> Compiling fnv v1.0.7
<re_irc> Compiling heapless v0.7.16
<re_irc> Compiling embassy-sync v0.2.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-sync)
<re_irc> Compiling stm32-metapac v9.0.0
<re_irc> Compiling futures-channel v0.3.28
<re_irc> Compiling embassy-executor v0.2.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor)
<re_irc> Compiling static_cell v1.1.0
<re_irc> Compiling embedded-storage v0.3.0
<re_irc> Compiling paste v1.0.12
<re_irc> Compiling embassy-cortex-m v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-cortex-m)
<re_irc> Compiling darling_core v0.13.4
<re_irc> Compiling embedded-storage-async v0.4.0
<re_irc> Compiling embedded-hal-async v0.2.0-alpha.1
<re_irc> Compiling defmt-rtt v0.4.0
<re_irc> Compiling panic-probe v0.3.1
<re_irc> Compiling defmt-brtt v0.1.1
<re_irc> Compiling embassy-futures v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-futures)
<re_irc> Compiling libc v0.2.144
<re_irc> Compiling gcd v2.3.0
<re_irc> Compiling futures-io v0.3.28
<re_irc> Compiling fugit v0.3.6
<re_irc> Compiling chrono v0.4.26
<re_irc> Compiling embedded-hal-nb v1.0.0-alpha.2
<re_irc> Compiling stm32-fmc v0.2.4
<re_irc> Compiling seq-macro v0.3.3
<re_irc> Compiling sdio-host v0.5.0
<re_irc> Compiling arrayvec v0.7.2
<re_irc> Compiling rtic-monotonic v1.0.0
<re_irc> Compiling ufmt-write v0.1.0
<re_irc> Compiling bit_field v0.10.2
<re_irc> Compiling rand_core v0.6.4
<re_irc> Compiling rtt-target v0.4.0
<re_irc> Compiling dwt-systick-monotonic v1.1.0
<re_irc> Compiling hx711 v0.6.0
<re_irc> Compiling micromath v2.0.0
<re_irc> Compiling thiserror-impl v1.0.40
<re_irc> Compiling futures-macro v0.3.28
<re_irc> Compiling cortex-m-rt-macros v0.7.0
<re_irc> Compiling darling_macro v0.13.4
<re_irc> Compiling num_enum_derive v0.5.11
<re_irc> Compiling darling v0.13.4
<re_irc> Compiling embassy-macros v0.2.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-macros)
<re_irc> Compiling num_enum v0.5.11
<re_irc> Compiling embassy-stm32 v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-stm32)
<re_irc> Compiling mlx9064x v0.2.1
<re_irc> Compiling defmt-parser v0.3.3
<re_irc> Compiling futures v0.3.28
<re_irc> Compiling embedded-io v0.4.0
<re_irc> Compiling embassy-time v0.1.1 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-time)
<re_irc> Compiling w5500-ll v0.10.4
<re_irc> Compiling embassy-hal-common v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-hal-common)
<re_irc> Compiling embassy-net-driver v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-net-driver)
<re_irc> Compiling bxcan v0.7.0
<re_irc> Compiling embassy-usb-driver v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-usb-driver)
<re_irc> Compiling w5500-hl v0.9.0
<re_irc> Compiling embassy-embedded-hal v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-embedded-hal)
<re_irc> Compiling w5500-mqtt v0.1.2
<re_irc> Compiling w5500-dhcp v0.4.2
<re_irc> Compiling ottb_ircam v0.1.0 (/Users/nickli/Documents/----------/ottb_ircam)
<re_irc> warning: multiple fields are never read
<re_irc> --> src/lib.rs:18:5
<re_irc> |
<re_irc> 17 | pub struct DSUB {
<re_irc> | ---- fields in this struct
<re_irc> 18 | dio0 : peripherals::PE1,
<re_irc> | ^^^^
<re_irc> 19 | dio1 : peripherals::PE2,
<re_irc> | ^^^^
<re_irc> 20 | dio2 : peripherals::PE3,
<re_irc> | ^^^^
<re_irc> 21 | dio3 : peripherals::PE4,
<re_irc> | ^^^^
<re_irc> 22 | dio4 : peripherals::PE5,
<re_irc> | ^^^^
<re_irc> 23 | dio5 : peripherals::PE6,
<re_irc> | ^^^^
<re_irc> 24 | dio6 : peripherals::PE0,
<re_irc> | ^^^^
<re_irc> 25 | dio7 : peripherals::PD9,
<re_irc> | ^^^^
<re_irc> 26 | dio8 : peripherals::PD10,
<re_irc> | ^^^^
<re_irc> 27 | dio9 : peripherals::PC13,
<re_irc> | ^^^^
<re_irc> 28 | dio10 : peripherals::PC14,
<re_irc> | ^^^^^
<re_irc> 29 | dio11 : peripherals::PC15,
<re_irc> | ^^^^^
<re_irc> 30 | dio12 : peripherals::PD12,
<re_irc> | ^^^^^
<re_irc> 31 | dio13 : peripherals::PD13,
<re_irc> | ^^^^^
<re_irc> 32 | dio14 : peripherals::PD14,
<re_irc> | ^^^^^
<re_irc> 33 | dio15 : peripherals::PD15,
<re_irc> | ^^^^^
<re_irc> 34 | ain0 : peripherals::PA0,
<re_irc> | ^^^^
<re_irc> 35 | ain1 : peripherals::PA1,
<re_irc> | ^^^^
<re_irc> 36 | ain2 : peripherals::PA2,
<re_irc> | ^^^^
<re_irc> 37 | ain3 : peripherals::PA3,
<re_irc> | ^^^^
<re_irc> 38 | ain4 : peripherals::PC3,
<re_irc> | ^^^^
<re_irc> 39 | ain5 : peripherals::PC2,
<re_irc> | ^^^^
<re_irc> 40 | ain6 : peripherals::PC1,
<re_irc> | ^^^^
<re_irc> 41 | ain7 : peripherals::PC5,
<re_irc> | ^^^^
<re_irc> 42 | ain8 : peripherals::PA6,
<re_irc> | ^^^^
<re_irc> 43 | ain9 : peripherals::PA7,
<re_irc> | ^^^^
<re_irc> 44 | ain10 : peripherals::PB0,
<re_irc> | ^^^^^
<re_irc> 45 | ain11 : peripherals::PB1
<re_irc> | ^^^^^
<re_irc> |
<re_irc> = note: `#[warn(dead_code)]` on by default
<re_irc> warning: multiple fields are never read
<re_irc> --> src/lib.rs:50:5
<re_irc> |
<re_irc> 49 | pub struct MikroBus {
<re_irc> | -------- fields in this struct
<re_irc> 50 | MIKROBUS_CS : peripherals::PB12,
<re_irc> | ^^^^^^^^^^^
<re_irc> 51 | MIKROBUS_SCK : peripherals::PB13,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 52 | MIKROBUS_MISO : peripherals::PB14,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 53 | MIKROBUS_MOSI : peripherals::PB15,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 54 | MIKROBUS_SPI : peripherals::SPI2,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 55 | MIKROBUS_AN : peripherals::PC0,
<re_irc> | ^^^^^^^^^^^
<re_irc> 56 | MIKROBUS_ADC : peripherals::ADC2,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 57 | MIKROBUS_RX : peripherals::PC11,
<re_irc> | ^^^^^^^^^^^
<re_irc> 58 | MIKROBUS_TX : peripherals::PB10,
<re_irc> | ^^^^^^^^^^^
<re_irc> 59 | MIKROBUS_UART : peripherals::UART4,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 60 | MIKROBUS_RST : peripherals::PD8,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 61 | MIKROBUS_INT : peripherals::PD9,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 62 | MIKROBUS_PWM : peripherals::PD10
<re_irc> | ^^^^^^^^^^^^
<re_irc> warning: structure field `MIKROBUS_CS` should have a snake case name
<re_irc> --> src/lib.rs:50:5
<re_irc> |
<re_irc> 50 | MIKROBUS_CS : peripherals::PB12,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_cs`
<re_irc> |
<re_irc> = note: `#[warn(non_snake_case)]` on by default
<re_irc> warning: structure field `MIKROBUS_SCK` should have a snake case name
<re_irc> --> src/lib.rs:51:5
<re_irc> |
<re_irc> 51 | MIKROBUS_SCK : peripherals::PB13,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_sck`
<re_irc> warning: structure field `MIKROBUS_MISO` should have a snake case name
<re_irc> --> src/lib.rs:52:5
<re_irc> |
<re_irc> 52 | MIKROBUS_MISO : peripherals::PB14,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_miso`
<re_irc> warning: structure field `MIKROBUS_MOSI` should have a snake case name
<re_irc> --> src/lib.rs:53:5
<re_irc> |
<re_irc> 53 | MIKROBUS_MOSI : peripherals::PB15,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_mosi`
<re_irc> warning: structure field `MIKROBUS_SPI` should have a snake case name
<re_irc> --> src/lib.rs:54:5
<re_irc> |
<re_irc> 54 | MIKROBUS_SPI : peripherals::SPI2,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_spi`
<re_irc> warning: structure field `MIKROBUS_AN` should have a snake case name
<re_irc> --> src/lib.rs:55:5
<re_irc> |
<re_irc> 55 | MIKROBUS_AN : peripherals::PC0,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_an`
<re_irc> warning: structure field `MIKROBUS_ADC` should have a snake case name
<re_irc> --> src/lib.rs:56:5
<re_irc> |
<re_irc> 56 | MIKROBUS_ADC : peripherals::ADC2,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_adc`
<re_irc> warning: structure field `MIKROBUS_RX` should have a snake case name
<re_irc> --> src/lib.rs:57:5
<re_irc> |
<re_irc> 57 | MIKROBUS_RX : peripherals::PC11,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_rx`
<re_irc> warning: structure field `MIKROBUS_TX` should have a snake case name
<re_irc> --> src/lib.rs:58:5
<re_irc> |
<re_irc> 58 | MIKROBUS_TX : peripherals::PB10,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_tx`
<re_irc> warning: structure field `MIKROBUS_UART` should have a snake case name
<re_irc> --> src/lib.rs:59:5
<re_irc> |
<re_irc> 59 | MIKROBUS_UART : peripherals::UART4,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_uart`
<re_irc> warning: structure field `MIKROBUS_RST` should have a snake case name
<re_irc> --> src/lib.rs:60:5
<re_irc> |
<re_irc> 60 | MIKROBUS_RST : peripherals::PD8,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_rst`
<re_irc> warning: structure field `MIKROBUS_INT` should have a snake case name
<re_irc> --> src/lib.rs:61:5
<re_irc> |
<re_irc> 61 | MIKROBUS_INT : peripherals::PD9,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_int`
<re_irc> warning: structure field `MIKROBUS_PWM` should have a snake case name
<re_irc> --> src/lib.rs:62:5
<re_irc> |
<re_irc> 62 | MIKROBUS_PWM : peripherals::PD10
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_pwm`
<re_irc> warning: `ottb_ircam` (lib) generated 15 warnings
<re_irc> warning: unused import: `embassy_stm32::time::mhz`
<re_irc> --> src/bin/main.rs:31:5
<re_irc> |
<re_irc> 31 | use embassy_stm32::time::mhz;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^^^^
<re_irc> |
<re_irc> = note: `#[warn(unused_imports)]` on by default
<re_irc> warning: unused import: `embassy_time::Instant`
<re_irc> --> src/bin/main.rs:32:5
<re_irc> |
<re_irc> 32 | use embassy_time::Instant;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `embassy_time::Timer`
<re_irc> --> src/bin/main.rs:33:5
<re_irc> |
<re_irc> 33 | use embassy_time::Timer;
<re_irc> | ^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `embassy_stm32::Config`
<re_irc> --> src/bin/main.rs:34:5
<re_irc> |
<re_irc> 34 | use embassy_stm32::Config;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `Pin`
<re_irc> --> src/bin/main.rs:35:27
<re_irc> |
<re_irc> 35 | use embassy_stm32::gpio::{Pin};
<re_irc> | ^^^
<re_irc> warning: unused import: `heapless::String`
<re_irc> --> src/bin/main.rs:36:5
<re_irc> |
<re_irc> 36 | use heapless::String;
<re_irc> | ^^^^^^^^^^^^^^^^
<re_irc> warning: unused variable: `camera`
<re_irc> --> src/bin/main.rs:69:13
<re_irc> |
<re_irc> 69 | let mut camera = Mlx90640Driver::new(timeout...
<re_irc> | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
<re_irc> |
<re_irc> = note: `#[warn(unused_variables)]` on by default
<re_irc> warning: variable does not need to be mutable
<re_irc> --> src/bin/main.rs:69:9
<re_irc> |
<re_irc> 69 | let mut camera = Mlx90640Driver::new(timeout...
<re_irc> | ----^^^^^^
<re_irc> | |
<re_irc> | help: remove this `mut`
<re_irc> |
<re_irc> = note: `#[warn(unused_mut)]` on by default
<re_irc> warning: constant `RESOLUTION` is never used
<re_irc> --> src/bin/main.rs:25:7
<re_irc> |
<re_irc> 25 | const RESOLUTION: usize = 24 * 32; // camera res...
<re_irc> | ^^^^^^^^^^
<re_irc> |
<re_irc> = note: `#[warn(dead_code)]` on by default
<re_irc> warning: `ottb_ircam` (bin "main") generated 9 warnings (run `cargo fix --bin "main"` to apply 8 suggestions)
<re_irc> Finished dev [optimized + debuginfo] target(s) in 11.93s
<re_irc> Running `probe-run --chip STM32F405vgt target/thumbv7em-none-eabihf/debug/main`
<re_irc> (HOST) INFO flashing program (68 pages / 68.00 KiB)
<re_irc> (HOST) INFO success!
<re_irc> ────────────────────────────────────────────────────────────────────────────────
<re_irc> 0.000000 DEBUG rcc: Clocks { sys: Hertz(16000000), apb1: Hertz(16000000), apb1_tim: Hertz(16000000), apb2: Hertz(16000000), apb2_tim: Hertz(16000000), ahb1: Hertz(16000000), ahb2: Hertz(16000000), ahb3: Hertz(16000000), pll48: None, plli2s: None, pllsai: None }
<re_irc> └─ embassy_stm32::rcc::set_freqs @ /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-stm32/src/fmt.rs:125
<re_irc> 0.000122 INFO Whoami: 0
<re_irc> └─ main::____embassy_main_task::{async_fn#0} @ src/bin/main.rs:61
<re_irc> 0.000244 INFO cp1
<re_irc> └─ main::____embassy_main_task::{async_fn#0} @ src/bin/main.rs:66
<re_irc> 0.014892 ERROR panicked at 'attempt to add with overflow', /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mlx9064x-0.2.1/src/mlx90640/eeprom.rs:111:51
<re_irc> └─ panic_probe::print_defmt::print @ /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:104
<re_irc> ────────────────────────────────────────────────────────────────────────────────
<re_irc> (HOST) WARN program has used at least 30.20/30.46 KiB (99.1%) of stack space
<re_irc> stack backtrace:
<re_irc> 0: HardFaultTrampoline
<re_irc> <exception entry>
<re_irc> 1: cortex_m::asm::inline::__udf
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cortex-m-0.7.7/src/../asm/inline.rs:181:5
<re_irc> 2: cortex_m::asm::udf
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cortex-m-0.7.7/src/asm.rs:43:5
<re_irc> 3: panic_probe::hard_fault
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:86:5
<re_irc> 4: rust_begin_unwind
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:54:9
<re_irc> 5: core::panicking::panic_fmt
<re_irc> at /rustc/871b5952023139738f72eba235063575062bc2
<re_irc> nickli@Nicks-MacBook-Pro-2 ottb_ircam % DEFMT_LOG=trace cargo rb main
<re_irc> warning: unused manifest key: dependencies.mlx9064x.arrayvec
<re_irc> warning: unused manifest key: dependencies.mlx9064x.bitvec
<re_irc> warning: unused manifest key: dependencies.mlx9064x.embedded-hal
<re_irc> warning: unused manifest key: dependencies.mlx9064x.num-traits
<re_irc> warning: unused manifest key: dependencies.mlx9064x.num_enum
<re_irc> warning: unused manifest key: dependencies.mlx9064x.paste
<re_irc> warning: multiple fields are never read
<re_irc> --> src/lib.rs:18:5
<re_irc> |
<re_irc> 17 | pub struct DSUB {
<re_irc> | ---- fields in this struct
<re_irc> 18 | dio0 : peripherals::PE1,
<re_irc> | ^^^^
<re_irc> 19 | dio1 : peripherals::PE2,
<re_irc> | ^^^^
<re_irc> 20 | dio2 : peripherals::PE3,
<re_irc> | ^^^^
<re_irc> 21 | dio3 : peripherals::PE4,
<re_irc> | ^^^^
<re_irc> 22 | dio4 : peripherals::PE5,
<re_irc> | ^^^^
<re_irc> 23 | dio5 : peripherals::PE6,
<re_irc> | ^^^^
<re_irc> 24 | dio6 : peripherals::PE0,
<re_irc> | ^^^^
<re_irc> 25 | dio7 : peripherals::PD9,
<re_irc> | ^^^^
<re_irc> 26 | dio8 : peripherals::PD10,
<re_irc> | ^^^^
<re_irc> 27 | dio9 : peripherals::PC13,
<re_irc> | ^^^^
<re_irc> 28 | dio10 : peripherals::PC14,
<re_irc> | ^^^^^
<re_irc> 29 | dio11 : peripherals::PC15,
<re_irc> | ^^^^^
<re_irc> 30 | dio12 : peripherals::PD12,
<re_irc> | ^^^^^
<re_irc> 31 | dio13 : peripherals::PD13,
<re_irc> | ^^^^^
<re_irc> 32 | dio14 : peripherals::PD14,
<re_irc> | ^^^^^
<re_irc> 33 | dio15 : peripherals::PD15,
<re_irc> | ^^^^^
<re_irc> 34 | ain0 : peripherals::PA0,
<re_irc> | ^^^^
<re_irc> 35 | ain1 : peripherals::PA1,
<re_irc> | ^^^^
<re_irc> 36 | ain2 : peripherals::PA2,
<re_irc> | ^^^^
<re_irc> 37 | ain3 : peripherals::PA3,
<re_irc> | ^^^^
<re_irc> 38 | ain4 : peripherals::PC3,
<re_irc> | ^^^^
<re_irc> 39 | ain5 : peripherals::PC2,
<re_irc> | ^^^^
<re_irc> 40 | ain6 : peripherals::PC1,
<re_irc> | ^^^^
<re_irc> 41 | ain7 : peripherals::PC5,
<re_irc> | ^^^^
<re_irc> 42 | ain8 : peripherals::PA6,
<re_irc> | ^^^^
<re_irc> 43 | ain9 : peripherals::PA7,
<re_irc> | ^^^^
<re_irc> 44 | ain10 : peripherals::PB0,
<re_irc> | ^^^^^
<re_irc> 45 | ain11 : peripherals::PB1
<re_irc> | ^^^^^
<re_irc> |
<re_irc> = note: `#[warn(dead_code)]` on by default
<re_irc> warning: multiple fields are never read
<re_irc> --> src/lib.rs:50:5
<re_irc> |
<re_irc> 49 | pub struct MikroBus {
<re_irc> | -------- fields in this struct
<re_irc> 50 | MIKROBUS_CS : peripherals::PB12,
<re_irc> | ^^^^^^^^^^^
<re_irc> 51 | MIKROBUS_SCK : peripherals::PB13,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 52 | MIKROBUS_MISO : peripherals::PB14,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 53 | MIKROBUS_MOSI : peripherals::PB15,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 54 | MIKROBUS_SPI : peripherals::SPI2,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 55 | MIKROBUS_AN : peripherals::PC0,
<re_irc> | ^^^^^^^^^^^
<re_irc> 56 | MIKROBUS_ADC : peripherals::ADC2,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 57 | MIKROBUS_RX : peripherals::PC11,
<re_irc> | ^^^^^^^^^^^
<re_irc> 58 | MIKROBUS_TX : peripherals::PB10,
<re_irc> | ^^^^^^^^^^^
<re_irc> 59 | MIKROBUS_UART : peripherals::UART4,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 60 | MIKROBUS_RST : peripherals::PD8,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 61 | MIKROBUS_INT : peripherals::PD9,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 62 | MIKROBUS_PWM : peripherals::PD10
<re_irc> | ^^^^^^^^^^^^
<re_irc> warning: structure field `MIKROBUS_CS` should have a snake case name
<re_irc> --> src/lib.rs:50:5
<re_irc> |
<re_irc> 50 | MIKROBUS_CS : peripherals::PB12,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_cs`
<re_irc> |
<re_irc> = note: `#[warn(non_snake_case)]` on by default
<re_irc> warning: structure field `MIKROBUS_SCK` should have a snake case name
<re_irc> --> src/lib.rs:51:5
<re_irc> |
<re_irc> 51 | MIKROBUS_SCK : peripherals::PB13,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_sck`
<re_irc> warning: structure field `MIKROBUS_MISO` should have a snake case name
<re_irc> --> src/lib.rs:52:5
<re_irc> |
<re_irc> 52 | MIKROBUS_MISO : peripherals::PB14,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_miso`
<re_irc> warning: structure field `MIKROBUS_MOSI` should have a snake case name
<re_irc> --> src/lib.rs:53:5
<re_irc> |
<re_irc> 53 | MIKROBUS_MOSI : peripherals::PB15,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_mosi`
<re_irc> warning: structure field `MIKROBUS_SPI` should have a snake case name
<re_irc> --> src/lib.rs:54:5
<re_irc> |
<re_irc> 54 | MIKROBUS_SPI : peripherals::SPI2,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_spi`
<re_irc> warning: structure field `MIKROBUS_AN` should have a snake case name
<re_irc> --> src/lib.rs:55:5
<re_irc> |
<re_irc> 55 | MIKROBUS_AN : peripherals::PC0,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_an`
<re_irc> warning: structure field `MIKROBUS_ADC` should have a snake case name
<re_irc> --> src/lib.rs:56:5
<re_irc> |
<re_irc> 56 | MIKROBUS_ADC : peripherals::ADC2,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_adc`
<re_irc> warning: structure field `MIKROBUS_RX` should have a snake case name
<re_irc> --> src/lib.rs:57:5
<re_irc> |
<re_irc> 57 | MIKROBUS_RX : peripherals::PC11,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_rx`
<re_irc> warning: structure field `MIKROBUS_TX` should have a snake case name
<re_irc> --> src/lib.rs:58:5
<re_irc> |
<re_irc> 58 | MIKROBUS_TX : peripherals::PB10,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_tx`
<re_irc> warning: structure field `MIKROBUS_UART` should have a snake case name
<re_irc> --> src/lib.rs:59:5
<re_irc> |
<re_irc> 59 | MIKROBUS_UART : peripherals::UART4,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_uart`
<re_irc> warning: structure field `MIKROBUS_RST` should have a snake case name
<re_irc> --> src/lib.rs:60:5
<re_irc> |
<re_irc> 60 | MIKROBUS_RST : peripherals::PD8,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_rst`
<re_irc> warning: structure field `MIKROBUS_INT` should have a snake case name
<re_irc> --> src/lib.rs:61:5
<re_irc> |
<re_irc> 61 | MIKROBUS_INT : peripherals::PD9,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_int`
<re_irc> warning: structure field `MIKROBUS_PWM` should have a snake case name
<re_irc> --> src/lib.rs:62:5
<re_irc> |
<re_irc> 62 | MIKROBUS_PWM : peripherals::PD10
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_pwm`
<re_irc> warning: `ottb_ircam` (lib) generated 15 warnings
<re_irc> warning: unused import: `embassy_stm32::time::mhz`
<re_irc> --> src/bin/main.rs:31:5
<re_irc> |
<re_irc> 31 | use embassy_stm32::time::mhz;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^^^^
<re_irc> |
<re_irc> = note: `#[warn(unused_imports)]` on by default
<re_irc> warning: unused import: `embassy_time::Instant`
<re_irc> --> src/bin/main.rs:32:5
<re_irc> |
<re_irc> 32 | use embassy_time::Instant;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `embassy_time::Timer`
<re_irc> --> src/bin/main.rs:33:5
<re_irc> |
<re_irc> 33 | use embassy_time::Timer;
<re_irc> | ^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `embassy_stm32::Config`
<re_irc> --> src/bin/main.rs:34:5
<re_irc> |
<re_irc> 34 | use embassy_stm32::Config;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `Pin`
<re_irc> --> src/bin/main.rs:35:27
<re_irc> |
<re_irc> 35 | use embassy_stm32::gpio::{Pin};
<re_irc> | ^^^
<re_irc> warning: unused import: `heapless::String`
<re_irc> --> src/bin/main.rs:36:5
<re_irc> |
<re_irc> 36 | use heapless::String;
<re_irc> | ^^^^^^^^^^^^^^^^
<re_irc> warning: unused variable: `camera`
<re_irc> --> src/bin/main.rs:69:13
<re_irc> |
<re_irc> 69 | let mut camera = Mlx90640Driver::new(timeout...
<re_irc> | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
<re_irc> |
<re_irc> = note: `#[warn(unused_variables)]` on by default
<re_irc> warning: variable does not need to be mutable
<re_irc> --> src/bin/main.rs:69:9
<re_irc> |
<re_irc> 69 | let mut camera = Mlx90640Driver::new(timeout...
<re_irc> | ----^^^^^^
<re_irc> | |
<re_irc> | help: remove this `mut`
<re_irc> |
<re_irc> = note: `#[warn(unused_mut)]` on by default
<re_irc> warning: constant `RESOLUTION` is never used
<re_irc> --> src/bin/main.rs:25:7
<re_irc> |
<re_irc> 25 | const RESOLUTION: usize = 24 * 32; // camera res...
<re_irc> | ^^^^^^^^^^
<re_irc> |
<re_irc> = note: `#[warn(dead_code)]` on by default
<re_irc> warning: `ottb_ircam` (bin "main") generated 9 warnings (run `cargo fix --bin "main"` to apply 8 suggestions)
<re_irc> Finished dev [optimized + debuginfo] target(s) in 0.25s
<re_irc> Running `probe-run --chip STM32F405vgt target/thumbv7em-none-eabihf/debug/main`
<re_irc> (HOST) INFO flashing program (68 pages / 68.00 KiB)
<re_irc> (HOST) INFO success!
<re_irc> ────────────────────────────────────────────────────────────────────────────────
<re_irc> 0.000000 DEBUG rcc: Clocks { sys: Hertz(16000000), apb1: Hertz(16000000), apb1_tim: Hertz(16000000), apb2: Hertz(16000000), apb2_tim: Hertz(16000000), ahb1: Hertz(16000000), ahb2: Hertz(16000000), ahb3: Hertz(16000000), pll48: None, plli2s: None, pllsai: None }
<re_irc> └─ embassy_stm32::rcc::set_freqs @ /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-stm32/src/fmt.rs:125
<re_irc> 0.000122 INFO Whoami: 0
<re_irc> └─ main::____embassy_main_task::{async_fn#0} @ src/bin/main.rs:61
<re_irc> 0.000244 INFO cp1
<re_irc> └─ main::____embassy_main_task::{async_fn#0} @ src/bin/main.rs:66
<re_irc> 0.014892 ERROR panicked at 'attempt to add with overflow', /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mlx9064x-0.2.1/src/mlx90640/eeprom.rs:111:51
<re_irc> └─ panic_probe::print_defmt::print @ /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:104
<re_irc> ────────────────────────────────────────────────────────────────────────────────
<re_irc> (HOST) WARN program has used at least 30.20/30.46 KiB (99.1%) of stack space
<re_irc> stack backtrace:
<re_irc> 0: HardFaultTrampoline
<re_irc> <exception entry>
<re_irc> 1: cortex_m::asm::inline::__udf
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cortex-m-0.7.7/src/../asm/inline.rs:181:5
<re_irc> 2: cortex_m::asm::udf
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cortex-m-0.7.7/src/asm.rs:43:5
<re_irc> 3: panic_probe::hard_fault
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:86:5
<re_irc> 4: rust_begin_unwind
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/panic-probe-0.3.1/src/lib.rs:54:9
<re_irc> 5: core::panicking::panic_fmt
<re_irc> at /rustc/871b5952023139738f72eba235063575062bc2e9/library/core/src/panicking.rs:67:14
<re_irc> 6: core::panicking::panic
<re_irc> at /rustc/871b5952023139738f72eba235063575062bc2e9/library/core/src/panicking.rs:117:5
<re_irc> 7: mlx9064x::mlx90640::eeprom::Mlx90640Calibration::calculate_bulk_pixel_calibration
<re_irc> 8: mlx9064x::mlx90640::eeprom::Mlx90640Calibration::from_data
<re_irc> 9: <core::result::Result<T,E> as core::ops::try_trait::Try>::branch
<re_irc> at /rustc/871b5952023139738f72eba235063575062bc2e9/library/core/src/result.rs:1948:15
<re_irc> 10: <mlx9064x::mlx90640::eeprom::Mlx90640Calibration as mlx9064x::common::FromI2C<I2C>>::from_i2c
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mlx9064x-0.2.1/src/mlx90640/eeprom.rs:381:12
<re_irc> 11: mlx9064x::driver::CameraDriver<Cam,Clb,I2C,_,_,_>::new
<re_irc> at /Users/nickli/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mlx9064x-0.2.1/src/driver.rs:110:27
<re_irc> 12: main::____embassy_main_task::{{closure}}
<re_irc> at src/bin/main.rs:69:22
<re_irc> 13: embassy_executor::raw::TaskStorage<F>::poll
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/mod.rs:164:15
<re_irc> 14: embassy_executor::raw::util::SyncUnsafeCell<T>::get
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/util.rs:54:9
<re_irc> 15: embassy_executor::raw::timer_queue::TimerQueue::update
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/timer_queue.rs:34:12
<re_irc> 16: embassy_executor::raw::SyncExecutor::poll::{{closure}}
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/mod.rs:438:17
<re_irc> 17: embassy_executor::raw::run_queue::RunQueue::dequeue_all
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/run_queue.rs:85:13
<re_irc> 18: embassy_executor::raw::SyncExecutor::poll
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/mod.rs:411:13
<re_irc> 19: embassy_executor::raw::Executor::poll
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/raw/mod.rs:536:9
<re_irc> 20: embassy_executor::arch::thread::Executor::run
<re_irc> at /Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor/src/arch/cortex_m.rs:71:21
<re_irc> 21: main::__cortex_m_rt_main
<re_irc> at src/bin/main.rs:38:1
<re_irc> 22: main
<re_irc> at src/bin/main.rs:38:1
<re_irc> 23: Reset
<re_irc> (HOST) ERROR the program panicked
<re_irc> <@dirbaio:matrix.org> okay, and what's the full output if you run with --release?
<re_irc> <@bingofishy:matrix.org> warning: unused manifest key: dependencies.mlx9064x.arrayvec
<re_irc> warning: unused manifest key: dependencies.mlx9064x.bitvec
<re_irc> warning: unused manifest key: dependencies.mlx9064x.embedded-hal
<re_irc> warning: unused manifest key: dependencies.mlx9064x.num-traits
<re_irc> warning: unused manifest key: dependencies.mlx9064x.num_enum
<re_irc> warning: unused manifest key: dependencies.mlx9064x.paste
<re_irc> Compiling proc-macro2 v1.0.59
<re_irc> Compiling unicode-ident v1.0.9
<re_irc> Compiling quote v1.0.28
<re_irc> Compiling syn v1.0.109
<re_irc> Compiling defmt v0.3.4
<re_irc> Compiling version_check v0.9.4
<re_irc> Compiling thiserror v1.0.40
<re_irc> Compiling nb v1.1.0
<re_irc> Compiling defmt-macros v0.3.5
<re_irc> Compiling void v1.0.2
<re_irc> Compiling nb v0.1.3
<re_irc> Compiling bitflags v1.3.2
<re_irc> Compiling embedded-hal v0.2.7
<re_irc> Compiling semver-parser v0.7.0
<re_irc> Compiling critical-section v1.1.1
<re_irc> Compiling cortex-m v0.7.7
<re_irc> Compiling semver v0.9.0
<re_irc> Compiling proc-macro-error-attr v1.0.4
<re_irc> Compiling proc-macro-error v1.0.4
<re_irc> Compiling rustc_version v0.2.3
<re_irc> Compiling semver v1.0.17
<re_irc> Compiling bare-metal v0.2.5
<re_irc> Compiling cortex-m-rt v0.7.3
<re_irc> Compiling futures-core v0.3.28
<re_irc> Compiling futures-task v0.3.28
<re_irc> Compiling vcell v0.1.3
<re_irc> Compiling byteorder v1.4.3
<re_irc> Compiling futures-sink v0.3.28
<re_irc> Compiling futures-util v0.3.28
<re_irc> Compiling pin-utils v0.1.0
<re_irc> Compiling libm v0.2.7
<re_irc> Compiling autocfg v1.1.0
<re_irc> Compiling pin-project-lite v0.2.9
<re_irc> Compiling hash32 v0.2.1
<re_irc> Compiling volatile-register v0.2.1
<re_irc> Compiling bitfield v0.13.2
<re_irc> Compiling atomic-polyfill v1.0.2
<re_irc> Compiling stable_deref_trait v1.2.0
<re_irc> Compiling strsim v0.10.0
<re_irc> Compiling ident_case v1.0.1
<re_irc> Compiling embedded-hal v1.0.0-alpha.10
<re_irc> Compiling fnv v1.0.7
<re_irc> Compiling cfg-if v1.0.0
<re_irc> Compiling rustc_version v0.4.0
<re_irc> Compiling syn v2.0.18
<re_irc> Compiling num-traits v0.2.15
<re_irc> Compiling heapless v0.7.16
<re_irc> Compiling embassy-sync v0.2.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-sync)
<re_irc> Compiling stm32-metapac v9.0.0
<re_irc> Compiling futures-channel v0.3.28
<re_irc> Compiling embassy-executor v0.2.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-executor)
<re_irc> Compiling static_cell v1.1.0
<re_irc> Compiling embedded-storage v0.3.0
<re_irc> Compiling embassy-cortex-m v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-cortex-m)
<re_irc> Compiling paste v1.0.12
<re_irc> Compiling embedded-storage-async v0.4.0
<re_irc> Compiling embedded-hal-async v0.2.0-alpha.1
<re_irc> Compiling gcd v2.3.0
<re_irc> Compiling defmt-rtt v0.4.0
<re_irc> Compiling libc v0.2.144
<re_irc> Compiling defmt-brtt v0.1.1
<re_irc> Compiling embassy-futures v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-futures)
<re_irc> Compiling futures-io v0.3.28
<re_irc> Compiling panic-probe v0.3.1
<re_irc> Compiling fugit v0.3.6
<re_irc> Compiling embedded-hal-nb v1.0.0-alpha.2
<re_irc> Compiling chrono v0.4.26
<re_irc> Compiling stm32-fmc v0.2.4
<re_irc> Compiling arrayvec v0.7.2
<re_irc> Compiling sdio-host v0.5.0
<re_irc> Compiling rand_core v0.6.4
<re_irc> Compiling seq-macro v0.3.3
<re_irc> Compiling ufmt-write v0.1.0
<re_irc> Compiling rtic-monotonic v1.0.0
<re_irc> Compiling bit_field v0.10.2
<re_irc> Compiling dwt-systick-monotonic v1.1.0
<re_irc> Compiling rtt-target v0.4.0
<re_irc> Compiling hx711 v0.6.0
<re_irc> Compiling micromath v2.0.0
<re_irc> Compiling darling_core v0.13.4
<re_irc> Compiling thiserror-impl v1.0.40
<re_irc> Compiling futures-macro v0.3.28
<re_irc> Compiling cortex-m-rt-macros v0.7.0
<re_irc> Compiling num_enum_derive v0.5.11
<re_irc> Compiling defmt-parser v0.3.3
<re_irc> Compiling darling_macro v0.13.4
<re_irc> Compiling num_enum v0.5.11
<re_irc> Compiling darling v0.13.4
<re_irc> Compiling mlx9064x v0.2.1
<re_irc> Compiling embassy-stm32 v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-stm32)
<re_irc> Compiling embassy-macros v0.2.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-macros)
<re_irc> Compiling futures v0.3.28
<re_irc> Compiling embedded-io v0.4.0
<re_irc> Compiling w5500-ll v0.10.4
<re_irc> Compiling embassy-time v0.1.1 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-time)
<re_irc> Compiling embassy-hal-common v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-hal-common)
<re_irc> Compiling embassy-net-driver v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-net-driver)
<re_irc> Compiling embassy-usb-driver v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-usb-driver)
<re_irc> Compiling bxcan v0.7.0
<re_irc> Compiling embassy-embedded-hal v0.1.0 (/Users/nickli/Documents/----------/embassy_DAQ/embassy/embassy-embedded-hal)
<re_irc> Compiling w5500-hl v0.9.0
<re_irc> Compiling w5500-dhcp v0.4.2
<re_irc> Compiling w5500-mqtt v0.1.2
<re_irc> Compiling ottb_ircam v0.1.0 (/Users/nickli/Documents/----------/ottb_ircam)
<re_irc> warning: multiple fields are never read
<re_irc> --> src/lib.rs:18:5
<re_irc> |
<re_irc> 17 | pub struct DSUB {
<re_irc> | ---- fields in this struct
<re_irc> 18 | dio0 : peripherals::PE1,
<re_irc> | ^^^^
<re_irc> 19 | dio1 : peripherals::PE2,
<re_irc> | ^^^^
<re_irc> 20 | dio2 : peripherals::PE3,
<re_irc> | ^^^^
<re_irc> 21 | dio3 : peripherals::PE4,
<re_irc> | ^^^^
<re_irc> 22 | dio4 : peripherals::PE5,
<re_irc> | ^^^^
<re_irc> 23 | dio5 : peripherals::PE6,
<re_irc> | ^^^^
<re_irc> 24 | dio6 : peripherals::PE0,
<re_irc> | ^^^^
<re_irc> 25 | dio7 : peripherals::PD9,
<re_irc> | ^^^^
<re_irc> 26 | dio8 : peripherals::PD10,
<re_irc> | ^^^^
<re_irc> 27 | dio9 : peripherals::PC13,
<re_irc> | ^^^^
<re_irc> 28 | dio10 : peripherals::PC14,
<re_irc> | ^^^^^
<re_irc> 29 | dio11 : peripherals::PC15,
<re_irc> | ^^^^^
<re_irc> 30 | dio12 : peripherals::PD12,
<re_irc> | ^^^^^
<re_irc> 31 | dio13 : peripherals::PD13,
<re_irc> | ^^^^^
<re_irc> 32 | dio14 : peripherals::PD14,
<re_irc> | ^^^^^
<re_irc> 33 | dio15 : peripherals::PD15,
<re_irc> | ^^^^^
<re_irc> 34 | ain0 : peripherals::PA0,
<re_irc> | ^^^^
<re_irc> 35 | ain1 : peripherals::PA1,
<re_irc> | ^^^^
<re_irc> 36 | ain2 : peripherals::PA2,
<re_irc> | ^^^^
<re_irc> 37 | ain3 : peripherals::PA3,
<re_irc> | ^^^^
<re_irc> 38 | ain4 : peripherals::PC3,
<re_irc> | ^^^^
<re_irc> 39 | ain5 : peripherals::PC2,
<re_irc> | ^^^^
<re_irc> 40 | ain6 : peripherals::PC1,
<re_irc> | ^^^^
<re_irc> 41 | ain7 : peripherals::PC5,
<re_irc> | ^^^^
<re_irc> 42 | ain8 : peripherals::PA6,
<re_irc> | ^^^^
<re_irc> 43 | ain9 : peripherals::PA7,
<re_irc> | ^^^^
<re_irc> 44 | ain10 : peripherals::PB0,
<re_irc> | ^^^^^
<re_irc> 45 | ain11 : peripherals::PB1
<re_irc> | ^^^^^
<re_irc> |
<re_irc> = note: `#[warn(dead_code)]` on by default
<re_irc> warning: multiple fields are never read
<re_irc> --> src/lib.rs:50:5
<re_irc> |
<re_irc> 49 | pub struct MikroBus {
<re_irc> | -------- fields in this struct
<re_irc> 50 | MIKROBUS_CS : peripherals::PB12,
<re_irc> | ^^^^^^^^^^^
<re_irc> 51 | MIKROBUS_SCK : peripherals::PB13,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 52 | MIKROBUS_MISO : peripherals::PB14,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 53 | MIKROBUS_MOSI : peripherals::PB15,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 54 | MIKROBUS_SPI : peripherals::SPI2,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 55 | MIKROBUS_AN : peripherals::PC0,
<re_irc> | ^^^^^^^^^^^
<re_irc> 56 | MIKROBUS_ADC : peripherals::ADC2,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 57 | MIKROBUS_RX : peripherals::PC11,
<re_irc> | ^^^^^^^^^^^
<re_irc> 58 | MIKROBUS_TX : peripherals::PB10,
<re_irc> | ^^^^^^^^^^^
<re_irc> 59 | MIKROBUS_UART : peripherals::UART4,
<re_irc> | ^^^^^^^^^^^^^
<re_irc> 60 | MIKROBUS_RST : peripherals::PD8,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 61 | MIKROBUS_INT : peripherals::PD9,
<re_irc> | ^^^^^^^^^^^^
<re_irc> 62 | MIKROBUS_PWM : peripherals::PD10
<re_irc> | ^^^^^^^^^^^^
<re_irc> warning: structure field `MIKROBUS_CS` should have a snake case name
<re_irc> --> src/lib.rs:50:5
<re_irc> |
<re_irc> 50 | MIKROBUS_CS : peripherals::PB12,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_cs`
<re_irc> |
<re_irc> = note: `#[warn(non_snake_case)]` on by default
<re_irc> warning: structure field `MIKROBUS_SCK` should have a snake case name
<re_irc> --> src/lib.rs:51:5
<re_irc> |
<re_irc> 51 | MIKROBUS_SCK : peripherals::PB13,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_sck`
<re_irc> warning: structure field `MIKROBUS_MISO` should have a snake case name
<re_irc> --> src/lib.rs:52:5
<re_irc> |
<re_irc> 52 | MIKROBUS_MISO : peripherals::PB14,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_miso`
<re_irc> warning: structure field `MIKROBUS_MOSI` should have a snake case name
<re_irc> --> src/lib.rs:53:5
<re_irc> |
<re_irc> 53 | MIKROBUS_MOSI : peripherals::PB15,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_mosi`
<re_irc> warning: structure field `MIKROBUS_SPI` should have a snake case name
<re_irc> --> src/lib.rs:54:5
<re_irc> |
<re_irc> 54 | MIKROBUS_SPI : peripherals::SPI2,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_spi`
<re_irc> warning: structure field `MIKROBUS_AN` should have a snake case name
<re_irc> --> src/lib.rs:55:5
<re_irc> |
<re_irc> 55 | MIKROBUS_AN : peripherals::PC0,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_an`
<re_irc> warning: structure field `MIKROBUS_ADC` should have a snake case name
<re_irc> --> src/lib.rs:56:5
<re_irc> |
<re_irc> 56 | MIKROBUS_ADC : peripherals::ADC2,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_adc`
<re_irc> warning: structure field `MIKROBUS_RX` should have a snake case name
<re_irc> --> src/lib.rs:57:5
<re_irc> |
<re_irc> 57 | MIKROBUS_RX : peripherals::PC11,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_rx`
<re_irc> warning: structure field `MIKROBUS_TX` should have a snake case name
<re_irc> --> src/lib.rs:58:5
<re_irc> |
<re_irc> 58 | MIKROBUS_TX : peripherals::PB10,
<re_irc> | ^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_tx`
<re_irc> warning: structure field `MIKROBUS_UART` should have a snake case name
<re_irc> --> src/lib.rs:59:5
<re_irc> |
<re_irc> 59 | MIKROBUS_UART : peripherals::UART4,
<re_irc> | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_uart`
<re_irc> warning: structure field `MIKROBUS_RST` should have a snake case name
<re_irc> --> src/lib.rs:60:5
<re_irc> |
<re_irc> 60 | MIKROBUS_RST : peripherals::PD8,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_rst`
<re_irc> warning: structure field `MIKROBUS_INT` should have a snake case name
<re_irc> --> src/lib.rs:61:5
<re_irc> |
<re_irc> 61 | MIKROBUS_INT : peripherals::PD9,
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_int`
<re_irc> warning: structure field `MIKROBUS_PWM` should have a snake case name
<re_irc> --> src/lib.rs:62:5
<re_irc> |
<re_irc> 62 | MIKROBUS_PWM : peripherals::PD10
<re_irc> | ^^^^^^^^^^^^ help: convert the identifier to snake case: `mikrobus_pwm`
<re_irc> warning: `ottb_ircam` (lib) generated 15 warnings
<re_irc> warning: unused import: `embassy_stm32::time::mhz`
<re_irc> --> src/bin/main.rs:31:5
<re_irc> |
<re_irc> 31 | use embassy_stm32::time::mhz;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^^^^
<re_irc> |
<re_irc> = note: `#[warn(unused_imports)]` on by default
<re_irc> warning: unused import: `embassy_time::Instant`
<re_irc> --> src/bin/main.rs:32:5
<re_irc> |
<re_irc> 32 | use embassy_time::Instant;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `embassy_time::Timer`
<re_irc> --> src/bin/main.rs:33:5
<re_irc> |
<re_irc> 33 | use embassy_time::Timer;
<re_irc> | ^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `embassy_stm32::Config`
<re_irc> --> src/bin/main.rs:34:5
<re_irc> |
<re_irc> 34 | use embassy_stm32::Config;
<re_irc> | ^^^^^^^^^^^^^^^^^^^^^
<re_irc> warning: unused import: `Pin`
<re_irc> --> src/bin/main.rs:35:27
<re_irc> |
<re_irc> 35 | use embassy_stm32::gpio::{Pin};
<re_irc> | ^^^
<re_irc> warning: unused import: `heapless::String`
<re_irc> --> src/bin/main.rs:36:5
<re_irc> |
<re_irc> 36 | use heapless::String;
cr1901 has quit [Remote host closed the connection]
<re_irc> | ^^^^^^^^^^^^^^^^
<re_irc> warning: unused variable: `camera`
<re_irc> --> src/bin/main.rs:69:13
<re_irc> |
<re_irc> 69 | let mut camera = Mlx90640Driver::new(timeout_i2c, ADDRESS);
<re_irc> | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
<re_irc> |
<re_irc> = note: `#[warn(unused_variables)]` on by default
<re_irc> warning: variable does not need to be mutable
<re_irc> --> src/bin/main.rs:69:9
<re_irc> |
<re_irc> 69 | let mut camera = Mlx90640Driver::new(timeout_i2c, ADDRESS);
cr1901 has joined #rust-embedded
<re_irc> | ----^^^^^^
<re_irc> | |
<re_irc> | help: remove this `mut`
<re_irc> |
<re_irc> = note: `#[warn(unused_mut)]` on by default
<re_irc> warning: constant `RESOLUTION` is never used
<re_irc> --> src/bin/main.rs:25:7
<re_irc> |
<re_irc> 25 | const RESOLUTION: usize = 24 * 32; // camera resolution, 24 x 32 ...
<re_irc> | ^^^^^^^^^^
<re_irc> |
<re_irc> = note: `#[warn(dead_code)]` on by default
<re_irc> warning: Linking globals named '_SEGGER_RTT': symbol multiply defined!
<re_irc> error: failed to load bitcode of module "defmt_rtt-76ce081153038db0.defmt_rtt.a4f78c12eb6c236a-cgu.0.rcgu.o":
<re_irc> warning: `ottb_ircam` (bin "main") generated 10 warnings
<re_irc> error: could not compile `ottb_ircam` (bin "main") due to previous error; 10 warnings emitted```
<re_irc> <@dirbaio:matrix.org> ah
<re_irc> > warning: Linking globals named '_SEGGER_RTT': symbol multiply defined!
<re_irc> <@dirbaio:matrix.org> maybe you're using defmt_rtt and rtt_target at the same time? or different versions of defmt_rtt?
<re_irc> <@dirbaio:matrix.org> you can see with "cargo tree"
<re_irc> <@bingofishy:matrix.org> Not seeing anything for rtt_target
<re_irc> <@dirbaio:matrix.org> it's weird though, why would it fail with release and not debug
<re_irc> <@bingofishy:matrix.org> If I tree and cmd f
<re_irc> <@dirbaio:matrix.org> can you paste the output of "cargo tree --format '{p} {f}'"?
<re_irc> <@bingofishy:matrix.org> ottb_ircam v0.1.0 (/Users/nickli/Documents/TransAstra/ottb_ircam)
<re_irc> ├── chrono v0.4.26
<re_irc> │ └── num-traits v0.2.15 libm
<re_irc> │ └── libm v0.2.7 default
<re_irc> │ [build-dependencies]
<re_irc> │ └── autocfg v1.1.0
<re_irc> ├── cortex-m v0.7.7 critical-section,critical-section-single-core,inline-asm
<re_irc> │ ├── bare-metal v0.2.5 const-fn
<re_irc> │ │ [build-dependencies]
<re_irc> │ │ └── rustc_version v0.2.3
<re_irc> │ │ └── semver v0.9.0 default
<re_irc> │ │ └── semver-parser v0.7.0
<re_irc> │ ├── bitfield v0.13.2
<re_irc> │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ ├── embedded-hal v0.2.7 unproven
<re_irc> │ │ ├── nb v0.1.3 unstable
<re_irc> │ │ │ └── nb v1.1.0
<re_irc> │ │ └── void v1.0.2
<re_irc> │ └── volatile-register v0.2.1
<re_irc> │ └── vcell v0.1.3
<re_irc> ├── cortex-m-rt v0.7.3 device
<re_irc> │ └── cortex-m-rt-macros v0.7.0 (proc-macro)
<re_irc> │ ├── proc-macro2 v1.0.59 default,proc-macro
<re_irc> │ │ └── unicode-ident v1.0.9
<re_irc> │ ├── quote v1.0.28 default,proc-macro
<re_irc> │ │ └── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote
<re_irc> │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ └── unicode-ident v1.0.9
<re_irc> ├── defmt v0.3.4 encoding-rzcobs
<re_irc> │ ├── bitflags v1.3.2 default
<re_irc> │ └── defmt-macros v0.3.5 (proc-macro)
<re_irc> │ ├── defmt-parser v0.3.3 unstable
<re_irc> │ │ └── thiserror v1.0.40
<re_irc> │ │ └── thiserror-impl v1.0.40 (proc-macro)
<re_irc> │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ └── syn v2.0.18 clone-impls,default,derive,full,parsing,printing,proc-macro,quote
<re_irc> │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ └── unicode-ident v1.0.9
<re_irc> │ ├── proc-macro-error v1.0.4 default,syn,syn-error
<re_irc> │ │ ├── proc-macro-error-attr v1.0.4 (proc-macro)
<re_irc> │ │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ │ └── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ │ [build-dependencies]
<re_irc> │ │ │ └── version_check v0.9.4
<re_irc> │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (*)
<re_irc> │ │ [build-dependencies]
<re_irc> │ │ └── version_check v0.9.4
<re_irc> │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (*)
<re_irc> ├── defmt-brtt v0.1.1 rtt
<re_irc> │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ └── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> ├── defmt-rtt v0.4.0
<re_irc> │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ └── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> ├── dwt-systick-monotonic v1.1.0
<re_irc> │ ├── cfg-if v1.0.0
<re_irc> │ ├── cortex-m v0.7.7 critical-section,critical-section-single-core,inline-asm (*)
<re_irc> │ ├── fugit v0.3.6
<re_irc> │ │ └── gcd v2.3.0
<re_irc> │ └── rtic-monotonic v1.0.0
<re_irc> ├── embassy-embedded-hal v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-embedded-hal) defmt,embassy-futures,embedded-hal-async,embedded-storage-async,nightly
<re_irc> │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ ├── embassy-futures v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-futures)
<re_irc> │ ├── embassy-sync v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-sync) defmt
<re_irc> │ │ ├── cfg-if v1.0.0
<re_irc> │ │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ │ ├── embedded-io v0.4.0 async,defmt
<re_irc> │ │ │ └── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ │ ├── futures-util v0.3.28 async-await,async-await-macro,futures-macro,futures-sink,sink
<re_irc> │ │ │ ├── futures-core v0.3.28
<re_irc> │ │ │ ├── futures-macro v0.3.28 (proc-macro)
<re_irc> │ │ │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ │ │ └── syn v2.0.18 clone-impls,default,derive,full,parsing,printing,proc-macro,quote (*)
cr1901 has quit [Remote host closed the connection]
<re_irc> │ │ │ ├── futures-sink v0.3.28
<re_irc> │ │ │ ├── futures-task v0.3.28
<re_irc> │ │ │ ├── pin-project-lite v0.2.9
<re_irc> │ │ │ └── pin-utils v0.1.0
<re_irc> │ │ └── heapless v0.7.16 atomic-polyfill,cas,default
<re_irc> │ │ ├── hash32 v0.2.1
<re_irc> │ │ │ └── byteorder v1.4.3
<re_irc> │ │ └── stable_deref_trait v1.2.0
<re_irc> │ │ [build-dependencies]
<re_irc> │ │ └── rustc_version v0.4.0
<re_irc> │ │ └── semver v1.0.17 default,std
<re_irc> │ ├── embedded-hal v0.2.7 unproven (*)
cr1901 has joined #rust-embedded
<re_irc> │ ├── embedded-hal v1.0.0-alpha.10
<re_irc> │ ├── embedded-hal-async v0.2.0-alpha.1
<re_irc> │ │ └── embedded-hal v1.0.0-alpha.10
<re_irc> │ ├── embedded-storage v0.3.0
<re_irc> │ ├── embedded-storage-async v0.4.0
<re_irc> │ │ └── embedded-storage v0.3.0
<re_irc> │ └── nb v1.1.0
<re_irc> ├── embassy-executor v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-executor) _arch,arch-cortex-m,defmt,executor-interrupt,executor-thread,integrated-timers,nightly
<re_irc> │ ├── atomic-polyfill v1.0.2
<re_irc> │ │ └── critical-section v1.1.1 restore-state-bool
<re_irc> │ ├── cortex-m v0.7.7 critical-section,critical-section-single-core,inline-asm (*)
<re_irc> │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ ├── embassy-macros v0.2.0 (proc-macro) (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-macros)
<re_irc> │ │ ├── darling v0.13.4 default,suggestions
<re_irc> │ │ │ ├── darling_core v0.13.4 strsim,suggestions
<re_irc> │ │ │ │ ├── fnv v1.0.7 default,std
<re_irc> │ │ │ │ ├── ident_case v1.0.1
<re_irc> │ │ │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ │ │ ├── strsim v0.10.0
<re_irc> │ │ │ │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (*)
<re_irc> │ │ │ └── darling_macro v0.13.4 (proc-macro)
<re_irc> │ │ │ ├── darling_core v0.13.4 strsim,suggestions (*)
<re_irc> │ │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (*)
<re_irc> │ │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ │ └── syn v1.0.109 clone-impls,default,derive,extra-traits,full,parsing,printing,proc-macro,quote (*)
<re_irc> │ ├── embassy-time v0.1.1 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-time) defmt,defmt-timestamp-uptime,embedded-hal-1,tick-hz-32_768,unstable-traits
<re_irc> │ │ ├── atomic-polyfill v1.0.2 (*)
<re_irc> │ │ ├── cfg-if v1.0.0
<re_irc> │ │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ │ ├── embedded-hal v0.2.7 unproven (*)
<re_irc> │ │ ├── embedded-hal v1.0.0-alpha.10
<re_irc> │ │ ├── futures-util v0.3.28 async-await,async-await-macro,futures-macro,futures-sink,sink (*)
<re_irc> │ │ └── heapless v0.7.16 atomic-polyfill,cas,default (*)
<re_irc> │ ├── futures-util v0.3.28 async-await,async-await-macro,futures-macro,futures-sink,sink (*)
<re_irc> │ └── static_cell v1.1.0
<re_irc> │ └── atomic-polyfill v1.0.2 (*)
<re_irc> ├── embassy-stm32 v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-stm32) _time-driver,chrono,default,defmt,embedded-hal-1,embedded-hal-async,embedded-sdmmc,embedded-storage-async,exti,memory-x,nightly,stm32f429zi,time,time-driver-any,unstable-pac,unstable-traits
<re_irc> │ ├── atomic-polyfill v1.0.2 (*)
<re_irc> │ ├── bit_field v0.10.2
<re_irc> │ ├── bxcan v0.7.0 defmt,unstable-defmt
<re_irc> │ │ ├── bitflags v1.3.2 default
<re_irc> │ │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ │ ├── embedded-hal v0.2.7 unproven (*)
<re_irc> │ │ ├── nb v1.1.0
<re_irc> │ │ └── vcell v0.1.3
<re_irc> │ ├── cfg-if v1.0.0
<re_irc> │ ├── chrono v0.4.26 (*)
<re_irc> │ ├── cortex-m v0.7.7 critical-section,critical-section-single-core,inline-asm (*)
<re_irc> │ ├── cortex-m-rt v0.7.3 device (*)
<re_irc> │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ ├── embassy-cortex-m v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-cortex-m) default,prio-bits-4
<re_irc> │ │ ├── atomic-polyfill v1.0.2 (*)
<re_irc> │ │ ├── cfg-if v1.0.0
<re_irc> │ │ ├── cortex-m v0.7.7 critical-section,critical-section-single-core,inline-asm (*)
<re_irc> │ │ ├── critical-section v1.1.1 restore-state-bool
<re_irc> │ │ ├── embassy-executor v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-executor) _arch,arch-cortex-m,defmt,executor-interrupt,executor-thread,integrated-timers,nightly (*)
<re_irc> │ │ ├── embassy-hal-common v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-hal-common) defmt
<re_irc> │ │ │ ├── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ │ │ └── num-traits v0.2.15 libm (*)
<re_irc> │ │ ├── embassy-macros v0.2.0 (proc-macro) (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-macros) (*)
<re_irc> │ │ └── embassy-sync v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-sync) defmt (*)
<re_irc> │ ├── embassy-embedded-hal v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-embedded-hal) defmt,embassy-futures,embedded-hal-async,embedded-storage-async,nightly (*)
<re_irc> │ ├── embassy-executor v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-executor) _arch,arch-cortex-m,defmt,executor-interrupt,executor-thread,integrated-timers,nightly (*)
<re_irc> │ ├── embassy-futures v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-futures)
<re_irc> │ ├── embassy-hal-common v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-hal-common) defmt (*)
<re_irc> │ ├── embassy-net-driver v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-net-driver) defmt
<re_irc> │ │ └── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ ├── embassy-sync v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-sync) defmt (*)
<re_irc> │ ├── embassy-time v0.1.1 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-time) defmt,defmt-timestamp-uptime,embedded-hal-1,tick-hz-32_768,unstable-traits (*)
<re_irc> │ ├── embassy-usb-driver v0.1.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-usb-driver) defmt
<re_irc> │ │ └── defmt v0.3.4 encoding-rzcobs (*)
<re_irc> │ ├── embedded-hal v0.2.7 unproven (*)
<re_irc> │ ├── embedded-hal v1.0.0-alpha.10
<re_irc> │ ├── embedded-hal-async v0.2.0-alpha.1 (*)
<re_irc> │ ├── embedded-hal-nb v1.0.0-alpha.2
<re_irc> │ │ ├── embedded-hal v1.0.0-alpha.10
<re_irc> │ │ └── nb v1.1.0
<re_irc> │ ├── embedded-io v0.4.0 async,defmt (*)
<re_irc> │ │ ├── byteorder v1.4.3
<re_irc> │ │ ├── embedded-hal v0.2.7 unproven (*)
<re_irc> │ │ └── nb v0.1.3 unstable (*)
<re_irc> │ ├── embedded-storage v0.3.0
<re_irc> │ ├── embedded-storage-async v0.4.0 (*)
<re_irc> │ ├── futures v0.3.28 async-await
<re_irc> │ │ ├── futures-channel v0.3.28 futures-sink,sink
<re_irc> │ │ │ ├── futures-core v0.3.28
<re_irc> │ │ │ └── futures-sink v0.3.28
<re_irc> │ │ ├── futures-core v0.3.28
<re_irc> │ │ ├── futures-io v0.3.28
<re_irc> │ │ ├── futures-sink v0.3.28
<re_irc> │ │ ├── futures-task v0.3.28
<re_irc> │ │ └── futures-util v0.3.28 async-await,async-await-macro,futures-macro,futures-sink,sink (*)
<re_irc> │ ├── nb v1.1.0
<re_irc> │ ├── rand_core v0.6.4
<re_irc> │ ├── sdio-host v0.5.0
<re_irc> │ ├── seq-macro v0.3.3 (proc-macro)
<re_irc> │ ├── stm32-fmc v0.2.4 default,sdram
<re_irc> │ │ └── embedded-hal v0.2.7 unproven (*)
<re_irc> │ ├── stm32-metapac v9.0.0 cortex-m-rt,default,memory-x,pac,rt,stm32f429zi
<re_irc> │ │ ├── cortex-m v0.7.7 critical-section,critical-section-single-core,inline-asm (*)
<re_irc> │ │ └── cortex-m-rt v0.7.3 device (*)
<re_irc> │ └── vcell v0.1.3
<re_irc> │ [build-dependencies]
<re_irc> │ ├── proc-macro2 v1.0.59 default,proc-macro (*)
<re_irc> │ ├── quote v1.0.28 default,proc-macro (*)
<re_irc> │ └── stm32-metapac v9.0.0 cortex-m-rt,memory-x,metadata,rt,stm32f429zi
<re_irc> │ ├── cortex-m v0.7.7
<re_irc> │ │ ├── bare-metal v0.2.5 const-fn
<re_irc> │ │ │ [build-dependencies]
<re_irc> │ │ │ └── rustc_version v0.2.3 (*)
<re_irc> │ │ ├── bitfield v0.13.2
<re_irc> │ │ ├── embedded-hal v0.2.7
<re_irc> │ │ │ ├── nb v0.1.3
<re_irc> │ │ │ │ └── nb v1.1.0
<re_irc> │ │ │ └── void v1.0.2
<re_irc> │ │ └── volatile-register v0.2.1
<re_irc> │ │ └── vcell v0.1.3
<re_irc> │ └── cortex-m-rt v0.7.3 device
<re_irc> │ └── cortex-m-rt-macros v0.7.0 (proc-macro) (*)
<re_irc> ├── embassy-sync v0.2.0 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-sync) defmt (*)
<re_irc> ├── embassy-time v0.1.1 (/Users/nickli/Documents/TransAstra/embassy_DAQ/embassy/embassy-time) defmt,defmt-timestamp-uptime,embedded-hal-1,tick-hz-32_768,unstable-traits (*)
<re_irc> ├── embedded-hal v0.2.7 unproven (*)
<re_irc> ├── embedded-io v0.4.0 async,defmt (*)
<re_irc> ├── embedded-storage v0.3.0
<re_irc> ├── futures v0.3.28 async-await (*)
<re_irc> ├── heapless v0.7.16 atomic-polyfill,cas,default (*)
<re_irc> ├── hx711 v0.6.0
<re_irc> │ ├── embedded-hal v0.2.7 unproven (*)
<re_irc> │ └── nb v1.1.0
<re_irc> ├── libc v0.2.144 default,std
<re_irc> ├── libm v0.2.7 default
<re_irc> ├── micromath v2.0.0
<re_irc> ├── mlx9064x v0.2.1 libm
<re_irc> │ ├── arrayvec v0.7.2
<re_irc> │ ├── embedded-hal v0.2.7 unproven (*)
<re_irc> │ ├── num-traits v0.2.15 libm (*)
IlPalazzo-ojiisa has quit [Quit: Leaving.]
dc740 has quit [Remote host closed the connection]