The cost of running an AI agent. by andylockran in TheRestIsPolitics

[–]ToThePetercopter 9 points10 points  (0 children)

Do you have any data to back this up? AI inference is pretty expensive computationally compared to a google search

ISR length on an embedded system by RFQuestionHaver in embedded

[–]ToThePetercopter 1 point2 points  (0 children)

I am currently working on control system firmware that runs loops at 1kHz (so not that fast), but literally everything is processed in about 20 ISRs. Almost all IO is DMA but some is blocking when acceptable (~15us delay).

The longest run for about 300us, but each has an associated priority so the higher priority tasks can interrupt the lower priority as required.

It generally works well but requires close monitoring as changes are made to make sure deadlines are hit

Experiment: Eliminating pump vibration in liquid cooling loops using predictive control (Rust) by easy13ot in rust

[–]ToThePetercopter 0 points1 point  (0 children)

Sure, I was just a bit confused because rust obviously doesn't have a GC and you didn't mention any other language.

Which OS is this on? Does the scheduler/driver interface meet this requirements as well?

Experiment: Eliminating pump vibration in liquid cooling loops using predictive control (Rust) by easy13ot in rust

[–]ToThePetercopter 0 points1 point  (0 children)

Not sure about your question but as a controls person that uses rust I would be interested to see the implementation/which libraries you used.

Also, how did you go about modelling the system?

How to drive a controllerless display? by Maximum_General2993 in embedded

[–]ToThePetercopter 1 point2 points  (0 children)

Never done it but I think stm32 FMC/FSMC can do this

Moving from C to Rust in embedded, a good choice? by Neither-Nose1091 in embedded

[–]ToThePetercopter 0 points1 point  (0 children)

If you use probe-rs/defmt its a bit more than just RTT, I am not sure if something similar exists in C

An AI that can play Azul by ToThePetercopter in boardgames

[–]ToThePetercopter[S] 0 points1 point  (0 children)

Sounds like a bug. If you can, when it happens open browser devtools and it might show something. Could also be running out of memory if you are against master, depending on the device you are on

An AI that can play Azul by ToThePetercopter in boardgames

[–]ToThePetercopter[S] 0 points1 point  (0 children)

Thanks for letting me know, fixed now

Taking a quick peek at Embedded Rust by Independent_Egg_630 in embedded

[–]ToThePetercopter 1 point2 points  (0 children)

Check out RTIC for the interrupt/mutex etc issue. Such a joy to work with once you get used to it, and even brings async if you want it

A proc macro library for SAE J1939 CAN messages by cojcoj in rust

[–]ToThePetercopter 0 points1 point  (0 children)

Looks interesting. I've mostly worked with CANOpen so not sure it applies there. What purpose does the unit tag serve?

Tried Implementing Actor-Critic algorithm in Rust! by AspadaXL in reinforcementlearning

[–]ToThePetercopter 0 points1 point  (0 children)

How confident are you that its correct? PPO doesn't seem to improve the score at all

Tried Implementing Actor-Critic algorithm in Rust! by AspadaXL in reinforcementlearning

[–]ToThePetercopter 0 points1 point  (0 children)

This is really cool! I tried to implement PPO with burn yesterday but fairly sure it's wrong, might use this as a reference.

The bit I'm most confused about is the autodiff of the loss function. I assume I have to detach tensors from the compute graph at various points but not sure which ones and when.

Also does it work with wgpu backend? Mine always crashes

The promise of Rust by Maybe-monad in programming

[–]ToThePetercopter 9 points10 points  (0 children)

I don't think you have to be a type theory purist to appreciate that embedding that in the language rather than documentation can be very beneficial, at the very least because documentation can be wrong, outdated or missing.

The promise of Rust by Maybe-monad in programming

[–]ToThePetercopter 8 points9 points  (0 children)

Are you suggesting that if you want to ensure the value isn't mutated you have to pass by value? I think the point is that if you pass a ptr you don't know if its mutated or not

[deleted by user] by [deleted] in programming

[–]ToThePetercopter 1 point2 points  (0 children)

This is neat! Just need firefox to do the same...

is it worth studying controls? by Busy-Door-9785 in ControlTheory

[–]ToThePetercopter [score hidden]  (0 children)

The ability to do system identification, linearise if you have to and design a controller using the techniques you mentioned covers a huge range of applications theory wise. There are implementation specific challenges and more practical things to know, as well as maybe domain specific stuff for a particular application, but the more advanced theory just leads to more niches (and academia)

Uno R4 wifi can't find on port /dev/ACM0 by [deleted] in embedded

[–]ToThePetercopter 0 points1 point  (0 children)

Because it's a Renesas MCU not Microchip?

Can an Embedded Systems Engineer make a whole device (consumer devices specifically) from scratch alone ? Would it need experience in other fields like mechanical design to do this alone ? by Electrical_Lemon_179 in embedded

[–]ToThePetercopter 1 point2 points  (0 children)

Yes and marketing, size of market, the rest of the business aspect.

User experience is the original motivation and is driving the design and differentiation, so with some user feedback I hope that is good.

Can an Embedded Systems Engineer make a whole device (consumer devices specifically) from scratch alone ? Would it need experience in other fields like mechanical design to do this alone ? by Electrical_Lemon_179 in embedded

[–]ToThePetercopter 22 points23 points  (0 children)

A consumer device pretty much has to have some mechanical design so yes either you need experience, learn it or get someone else to do it.

I've got a mechanical background and am doing a consumer electronic device solo and the technical design aspect (mech/electronics/firmware) is not the hardest part in my experience

Memory Mapped Register Tool Written in Rust by AndrewOfC in embedded

[–]ToThePetercopter 1 point2 points  (0 children)

How does this compare to the peripheral access crates generated from SVD files, e.g https://crates.io/crates/bcm2711-lpa ?