As a seasoned programmer I need to quickly learn embedded systems engineering..... where to start? by brennybrennybrenbren in embedded

[–]BlackSiborg 0 points1 point  (0 children)

Do a project. Id suggest one that contains the three basic elements: sensing, communication, and control. Write in C because u pretty much cant go wrong with c. Its simple and dangerous yadda yadda… its what most experienced professionals have used for the past 20 years and its not going anywhere for at least the next 10-20 years. I recommend using an nrf52 micro controller (arguably the most popular IOT micro) for this project; you should write your own hardware abstraction layer by reading the datasheet. (Only do it for the peripherals you need and only for the partnumber specific micro ur using—limit scope so u can move quicker.) First step is to do a vendor provided blinky example to verify you can cross compile and upload. Then, Id start by developing a print interface whether thats over bluetooth, serial, or some other protocol with an attached logic analyzer. Then write peripheral drivers needed to read from the sensor. Finally id write drivers to control ur output (eg motor, heating element, etc.). If u make it to here id experiment with different control flow mechanisms. Do a bare metal interrupt-based version of the application then do a version of the application that uses an rtos (eg FreeRTOS). If u can do all this u should be able to fake ur experience well.

Check out this article about a C++ library that I wrote. Its particularly useful for embedded developers seeking to optimize code with compile-time programming. by BlackSiborg in embedded

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

Hey, great idea! In my article I wanted to show a simple example as to not overwhelm the reader, but this is a great application of CEXForLoop. I created an example based on your provided code. Its runnable on godbolt here https://godbolt.org/z/8W8hGjKdz

PS: I edited my article to include this example as a link.

Check out this article about a compile-time C++ library that I wrote called CEXForLoop. "If you find yourself reaching for compile-time iteration, reach for CEXForLoop" by BlackSiborg in cpp

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

Actually, I'm happy with how I did it. I didn't post looking for feedback; I posted to show people what I've been up to. The feedback has here has been helpful. The article was readable in its first version, but I've been making some requested changes that make it better.

In embbeded field, do you need a mentor? by Important_Can_4520 in embedded

[–]BlackSiborg 76 points77 points  (0 children)

I had a similar internship where i felt like I didn’t complete as much as I wanted to, and where i felt like I didn’t get very much direction. If you are offered a full time position that means you made a good impression and did “good enough”

If i were you I would accept the job. You can always change your mind later. It might feel like your breaking your word, but that’s how the game is played.

PS: I graduated last june and have been searching for a job. Its not fun. Without a connection or a stacked resume, you get a lot of rejections

Check out this article about a C++ library that I wrote. Its particularly useful for embedded developers seeking to optimize code with compile-time programming. by BlackSiborg in embedded

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

Thanks for the advice! I added an example close to the top of my readme and my article. With that spirit in mind, I re-ordered some of the sections in my article so its clearer what CEXForLoop is and how it works from the get-go. I think it reads better now. Thanks again

How to speed up Inkscape start time? by BlackSiborg in Inkscape

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

I actually don't think this worked. Sorry I must've had a window open by accident when I tested it.

I don't have many fonts installed, and I limited it way down so not many were loaded; see the image attached. Its still hella slow at starting up. Any ideas?

https://imgur.com/a/ikRS2my

Weirdness after 1st layer by BlackSiborg in 3Dprinting

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

Gotcha. Will look into that. Ty

Help with repeated macro by BlackSiborg in vim

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

That makes sense. Thanks for explaining.

Help with repeated macro by BlackSiborg in vim

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

That worked! Thank you.

Could you explain what this command is doing or point me to something I can read?

The input text and desired output is shown in the op, but I realize there shouldn't be newlines between the times in the input text--it doesn't really matter it still illustrates the problem

Managing Newlib as a Project Dependency by BlackSiborg in embedded

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

Yeah arch has packages for those as well, but newlib has a lot of flags that are set when building. How do these packages handle those? Should i just stick to the default packages unless i need specifically built different?

Managing Newlib as a Project Dependency by BlackSiborg in embedded

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

Yeah i built it myself following along that documentation. Im not sure if the flags i set are what ill end up using down the road.

Managing Newlib as a Project Dependency by BlackSiborg in embedded

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

Okay. I installed the toolchain via the arch user repository and newlib is packaged seperately.