@er1n I feel like every UAV project invents a wire protocol DSL eventually... 😅 I do think it's a better idea to have some higher-level interface than raw bytes, because one of the major kinds of bugs in these kinds of systems (I claim, without actually having any evidence) comes from screwing up the raw byte handling.

@er1n I had not seen uavcan before! it apparently tries to tackle almost every challenge I've ever had with CAN. I hate it, and also, it looks fine

@er1n yeah, absolutely. I mean I feel like "this is awful but I don't know of any better options" goes for pretty much every technology though, so,

@er1n all that said, I don't actually know of a better option for avionics kinds of things; I will grudgingly grant that from a hardware perspective it's a pretty solid spec.

@er1n yeah, the 8-byte limit is the biggest thing I didn't like about it. you might want to look at the newer CAN-FD spec though? I think I heard hardware is starting to become available even at hobbyist levels for that, and it gives you up to 64 bytes per message, IIRC. there are also games you can play with how you use message ID bits, but that gets obnoxious quickly. also the whole broadcast nature of CAN seems to feel unnatural to anyone used to things like internet protocols.

@er1n sure! what are you doing with CAN? before those two projects (one of which I got paid to work on), we used it in the psas.pdx.edu rocket in 2005, and I've pretty much hated it ever since. so I can probably answer questions if you want to run anything by me 😕

when I was getting my CS degree i took a bunch of phil, social science, and ethics classes for a minor. I can't understand why people wouldn't want to take those.

I got to write a paper about self replicating 3d-printer viruses that would DDOS physical space like locusts

a statement from Portland Assembly on the Portland Police and Patriot Prayer collaborating Show more

Me: i love Mastodon. Decentralized social media all the way. i hope everyone quits Twitter and signs up

Me: *thinks about my co-workers seeing my profile*

Me: some people can stay on Twitter. That's fine

@er1n I mentored somebody through writing this little STM32 Rust demo: github.com/oresat/syscon-rs/bl

I had the advantage of having previously written a driver for the same bxCAN peripheral in a Haskell-embedded DSL that generated C: github.com/GaloisInc/ivory-tow

I'm still proud that my driver computed the bus timing settings at compile time, so at runtime it just had to poke constants into a few registers.

most embarrassing, though: I got a register address wrong and spent literally days debugging

@ehashman "normal people" are the ones who are perpendicular to a tangent, right? 🤔

if you are sleepy, do not fight it and try to do things anyway, just do a sleep. you will feel better when you wake up :blobcatsleep:

programming/C pre-processor tools Show more

No, *you* just spent twenty minutes of your therapy session talking about Steven Universe.

Again.
#stevenuniverse

you, a fool: "big butt"

me, wise machine learning expert: "maximum a posteriori"

@grainloom Yes, I certainly think it can be worth-while, and more so as the data you're transferring gets bigger! Also, yes, more people should play with seL4... 😁

RT @SongMagick@twitter.com

The horrors ducks have perpetrated are nameless and dark...

🐦🔗: twitter.com/SongMagick/status/

fucked up that a 4 layer PCB at oshpark costs more than a 7 layer burrito at taco bell. in this economy

@grainloom I'm pretty sure the operations you can do on a memory capability in seL4 let you transfer ownership of pages to another process, and I'm also fairly certain that that's necessary for security in a lot of cases. (if the sender can modify things while the recipient is reading them, it might be able to pass a valid value, wait for that value to be checked for validity, and then change it to something invalid before use.) changing MMU page tables has performance costs, though.

Show more
Toot.Cat

A Mastodon instance for cats, the people who love them, and kindness in general. We strive to be a radically inclusive safe space. By creating an account, you agree to follow our CoC below.

Instance Administration

  • Woozle: Supreme Uberwensch, general support, web hostess
  • Charlotte: tech support, apprentice in warp-drive arcana (aka Mastomaintenance)
  • ash: backend stuff, gay crimes

The Project: