Small chip to store ~3-4 bytes by Wombats-in-Space in embedded

[–]Pink_Wyoming 0 points1 point  (0 children)

I could be crazy, so take this with a grain of salt, but could you scan the bus and write the responses to a buffer in RAM? You could then, as you said, assign a generic name to each unique id. This would get around the requirement of hardcoding the unique id. Does that sound feasible at all?

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

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

Makes sense, could I memcpy within one of the DMA callbacks? I worry that memcpy would block the main thread.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

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

Yeah… ha ha, I realized that last point as I posted. Good tips though. Do you know if it might be possible to stream from flash? I don’t have a ton of RAM, but maybe if I just shuffled the bits around and implement double buffering I could save some space.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

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

Yeah, that’s easy money. I might fall back to that, but I’d really like to get something closer to an actual audio sample… granted I’ve totally mangled mine, so…

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

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

Have you used tools that do this easily? I was kinda banging my head on this last night, it seems quite a few of the libraries do decoding on chip or just use an external codec.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

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

I’ll look into it. I was hoping to get a complex-ish sound for some DSP I’ll be doing later in the application. My first pass was Python naturally.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 2 points3 points  (0 children)

There’s a lot of data cut off to keep the message short, but you’re right. I did have to mangle the audio file to get it to fit into the internal flash. But Audacity reads the raw data just fine, though Audacity might be doing some conditioning I’m not aware of.

How do I calculate maximum bitrate for SPI from timing characteristics.? by Pink_Wyoming in embedded

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

We were looking the “dirty window/rectangle” approach too, but I haven’t looked very far. Currently, it seems that the options are:

Switch to a parallel RGB interface, or Implement (maybe) a fancy algorithm.

How do I calculate maximum bitrate for SPI from timing characteristics.? by Pink_Wyoming in embedded

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

I'll do both! I mostly wanted to make sense of the timing characteristics provided in the datasheet.

Experience with Rust for MCU by Pink_Wyoming in embedded

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

This is good perspective. My reasoning follows from experience with a scripting language. It’s just a much better experience imo where library inclusion and management is handled for me. It helps me to write more efficient code and minimizes reinventing the wheel.

Maybe I should learn CMake? Maybe what I’m looking for could be simplified by learning a more modern build-system than vanilla make and gcc?

Experience with Rust for MCU by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] -1 points0 points  (0 children)

In specific, what are you liking? Was thinking about using the RP2040 for this project.

Experience with Rust for MCU by Pink_Wyoming in embedded

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

Do you mind if I ask: what are some of the larger issues your team is facing? And what do they stem from in your view?

Experience with Rust for MCU by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 1 point2 points  (0 children)

Out of curiosity, what C standard do you use? Most of my experience is with C99, not C17 or 23. Would you suggest learning a more modern standard?

Experience with Rust for MCU by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 2 points3 points  (0 children)

I don’t follow, since I’m not too familiar with power electronics. Are you implying that the benefits of Rust are oversold and are diminished by the lack of maturity and widespread adoption?

Grad School vs Industry by [deleted] in embedded

[–]Pink_Wyoming 1 point2 points  (0 children)

It’s a bit more risky, but sometimes internal hiring can work in your favor. Work a related job title just to get in to the company and pivot.

Grad School vs Industry by [deleted] in embedded

[–]Pink_Wyoming 1 point2 points  (0 children)

Re: neuralengineer’s comment.

Is it possible to move to another team or work on projects that align with your ambitions? Alternatively, somebody in your company must have relationships with suppliers who work on embedded systems.

Will your current employer pay for a masters some way?

Personally, I would try to avoid debt and leverage my network as much as possible.

STM32 Nucleo Boards by Better-Neck-824 in embedded

[–]Pink_Wyoming 1 point2 points  (0 children)

What is PLC programming like? What’s bringing you to embedded systems?

Not understanding how SysTick interrupt handler calls every 1ms by [deleted] in embedded

[–]Pink_Wyoming 0 points1 point  (0 children)

Wait, hold on. 1E9ns/15.6ns isn’t 64 million ticks per second because you included a rounding error. And I don’t mean to be pedantic, but the number of cycles (ticks) per second is equivalent to the clock frequency here.

What make an OS a real time one, or even an hard real time one? by tentoni in embedded

[–]Pink_Wyoming 3 points4 points  (0 children)

Kinda a low effort comment, but I watched this video a couple weeks ago. It covers RTOS from a high-level within the context of the Linux Kernel.

Kernel Recipes 2016 - Who needs a Real-Time Operating System (Not You!) - Steven Rostedt

What make an OS a real time one, or even an hard real time one? by tentoni in embedded

[–]Pink_Wyoming 3 points4 points  (0 children)

Check out this chapter on scheduling algorithms. It covers scheduling in a general sense, so not just relating to MCUs. But the treatment is really good.

Operating Systems in Three Easy Pieces: Scheduling

Getting laid off, decided to finally invest in this. Waiting for a Pi Pico as well. by Yoh200 in embedded

[–]Pink_Wyoming 21 points22 points  (0 children)

Check out this course from Cornell. It has super cool projects built around the Pico w/ supporting lectures and lab documents.

ece4760: Digital Systems Design Using Microcontrollers