<re_irc>
<GrantM11235> I'm still not sure how useful it is though
<re_irc>
<ignormies> From the reference manual:
<re_irc>
> Transmit-only mode is similar to full-duplex mode (BIDIMODE=0, RXONLY=0): the data are transmitted on the transmit pin ... In this case, the application just needs to ignore the Rx buffer (if the data register is read, it does not contain the received value).
<re_irc>
> After transmitting two data items in transmit-only mode, the OVR flag is set in the SPI_SR register since the received data are never read.
<re_irc>
Based on this, is the check for the overrun flag -> Error something that should _always_ happen in ".read()", esp. in situations where "NoMiso" is used? It seems perfectly allowable to completely ignore the OVR flag after writing data.
<re_irc>
<boondocker> Had a little change merged upstream into litex/vexriscv so Rust atomics now work using riscv32imac targets on the imac variant
starblue has quit [Ping timeout: 252 seconds]
starblue has joined #rust-embedded
causal has quit [Quit: WeeChat 3.6]
dc_740 has joined #rust-embedded
<re_irc>
<burrbull> @ignormies If you are still fighting with ws2812 I would recommend to use "ws2812_spi::prerendered::Ws2812" instead of that in the core of crate. As it makes all calculation before sending them with SPI, it works much more stable. Also you can use it with "blocking::spi::Write" (https://github.com/burrbull/ws2812-spi-rs/tree/blocking_write) or "blocking::spi::WriteIter" (even better)
<re_irc>
<burrbull> * ignormies:
limpkin has quit [Remote host closed the connection]
limpkin has joined #rust-embedded
dc_740 has quit [Ping timeout: 252 seconds]
brazuca has joined #rust-embedded
<re_irc>
<chrysn (@chrysn:matrix.org)> A new release of RIOT-OS is just out, and since this one we can have OS-level modules written in Rust -- with one wrapping eldruin's lsm303agr as a first practical application.
<re_irc>
<andersonwatts✪> I'll help 10individuals how to earn $30,000 in 72 hours from the crypto market. But you will pay me 10% commission when you receive your profit. if interested send me a direct message on WhatsApp by asking me (HOW) for more details on how to get started
<cr1901>
Run "cargo build --manifest-path=./take-api/Cargo.toml --target=thumbv6m-none-eabi --release -Zbuild-std=core --example=critical --features=use-extern-cs,critical/cortex-m,critical/inline"
<cr1901>
"llvm-size target/thumbv6m-none-eabi/release/examples/critical" should be about 416 bytes
<cr1901>
Then run "cargo build --manifest-path=./take-api/Cargo.toml --target=thumbv6m-none-eabi --release -Zbuild-std=core --example=critical --features=critical/cortex-m,critical/inline"
<cr1901>
"llvm-size target/thumbv6m-none-eabi/release/examples/critical" will be 400 bytes. This is the same code, the only thing that changed is that acquire and release became "extern" functions
<cr1901>
if you remove "critical/inline" from both invocations, the resulting binaries have the same size at 416 bytes (somehow Rust decides not to optimize properly in either case)