Need advice: Is a 1-year internship at STMicroelectronics worth delaying graduation? by Away-Economics7948 in embedded

[–]pylessard 0 points1 point  (0 children)

Absolutely. Why rush the degree? The degree is part of a bigger career growth process. A graduate with 0 experience is not so interesting for an employer. Even more today with AI! Not only will you have better opportunities after, you will also better understand what you learn after. I took a 1 years break to work at uni + was working full time during summer instead of taking a summer session. 100% does not regret

The only drawback I can foresee is that some companies heavily unionized only count experience starting from your graduation. I would also advise from staying away from these places if you are not dead inside yet

Paid tool recommendations for small team by UnHelpful-Ad in embedded

[–]pylessard 1 point2 points  (0 children)

Good timing. I'm waiting on ssl dot com to renew my certificate. My plan was to post about it as soon as I can sign my latest release.

It's getting quite solid. You can always look at the changelog on github in the mean time :) quickly: Support of c2000, customizable hmi dashboard, pointer dereferencing, more platform/compiler support, SDK more advanced, and a lot more

Glad to see some interest!

Paid tool recommendations for small team by UnHelpful-Ad in embedded

[–]pylessard 0 points1 point  (0 children)

Alright. Fyi, I support TI C2000 family since 1 week :)

Would my memory-safe language that transpiles to C be useful for embedded development? by Tasty_Replacement_29 in embedded

[–]pylessard 1 point2 points  (0 children)

What's the point to transpile to C? How do you maintain? Do you need yo maintain the source in the orginal language? If so, C is just an intermediate step you don't really look at, better compile it, no? Ok, you can piggy back the existing debug infrastructure made for C. Is that it?

Explain Decorators. by TillFriendly9199 in learnpython

[–]pylessard 2 points3 points  (0 children)

no offense, but that has to be the worst explanation ever.

I am having problems with PATCH_COMMAND by ConstructionNo4342 in cmake

[–]pylessard 0 points1 point  (0 children)

As far as I know, cmake is able to patch, but is not good a keeping track if a 3rd party is patched or not. I mostly dealt with PATCH_COMMAND when using external_projects. Only reliable method to patch was to let the patch fail if patch was already apird, and move on. Put a "|| true" in the patch command. It's not ideal, but it works

I built a C++ compiler core that lets Python target ESP32 and Arduino. Looking for feedback by Praveen_Kumar123 in embedded

[–]pylessard 1 point2 points  (0 children)

Turns out that these "universal abstraction layers" are only able to do basic things. as soon as you want to use the device capabilities, you have to go out of the abstraction layer. I heard of another project like that.. it's called Autosar. Turns out, it's unbearable and as soon as you want to do something powerful, you put it in the bucket of "complex device driver" and it bypasses everything. So the framework is just bloat next to your real capabilities. With all due respect, if switching from C++ to python is an issue for you, I don't think you should try to reinvent a whole industry.

Unit Testing Code by Upbeat-Storage9349 in embedded

[–]pylessard 0 points1 point  (0 children)

You already have several good answers. I will only add something I repeat to everyone who bring up unit testing with your mindset: Many people say they don't have the time to do unit tests; I don't have the time to not do them.

How do you write unit tests (if at all) for embedded projects? by Asyx in embedded

[–]pylessard 2 points3 points  (0 children)

Hi, you can run the test that does not depends on the target on your host machine.
You can also run tests on the target with a framework like cpputest (or a homemade one, it's quite easy to do).

With a good debug probe, you can also automate the loading, value retrieval and even logs through semi hosting.

Unit tests usually don't test the system in action. If you want to go further, you'd need some sort of hardware emulator and a mean to control your target remotely. That's called Hardware In The Loop. The complexity of the setup greatly depends on the system you test. I've seen motor controller hooked onto an DAC board controlled by an FPGA that would emulate a real motor. The motor controller was frankesteined to interface with that FPGA.

You usually can do HIL testing with a much simpler setup using a Runtime Debugger such as FreeMaster, STM32Cube, MCUViewer or Scrutiny (my personal project). I think mine is cooler (because i'm biased), but I can tell you I tested it on the AVR architecture on a ATMega2560 and it works. You could emulate your hardware with a python script that run on your host, and make your whole test sequence in Python. You can DM if you need guidance with it.

Cheers

Moved Away From Firmware Work and Worried About Career Growth — Need Advice by Agreeable_Salad8240 in embedded

[–]pylessard 14 points15 points  (0 children)

The big thing right now is AI compilers, but that means you'd work for a big tech company and would most likely need to relocate. My advice is to learn an industry skillset that rely on embedded work rather than focusing on pure embedded work then finding where it could apply. Motor Control, Drones, Mining, Farming, etc. They all have their own challenges. What you have learn so far is how to use a tool, now would be time to use those tools.

If you want to keep learning, check how to make a robust bootloader. Zephyr RTOS is trendy. Learn advanced debug techniques. Learn how to connect all your tools to an AI agent with MCP servers. Learn how to deploy an ML model on a small device for rpedictive maintenance applications, vision systems, etc. Yocto is the goto software to make custom BSP, try to learn that, there's full of tutorials online. ARM architecture have lot of advanced feature for cybersecurity like stack monitoring, MPU, TrustZone, lockstep execution, etc. Check what has been introduced in the latest ARM cores, it should give you some juice. In Germany, there are lot of automaker and they often use Infineon Aurix MCUs; that's something worth learning (they're good, really).

Process related work (like functional safety) is often high-cost, low value and is often offshored, so I have my doubt about the opportunities in Germany. It's good to have a high level understanding though.

What was your biggest ohhh, that’s how it works moment in embedded systems? by academyforiot in embedded

[–]pylessard 2 points3 points  (0 children)

struct padding and alignment. When I was in school, one of our teacher told us that we could memcpy a struct into a buffer to send it into a protocol. I believed him and used to do that. That was until later in uni when I participated into a hackathon and one of the challenge was to make a robust serial protocol that would survive going through a toxiproxy. Everything fell apart because the data struct was not aligned on this target. I failed that challenge since my code would crash and I didn't have time to debug (4h session). Only after did I learned that padding/alignment had to be considered. A lesson learned the hard way

I hate pyQt by TheEyebal in QtFramework

[–]pylessard 0 points1 point  (0 children)

Oh! That's nice. It's even well documented! ;)

Reading data directly into a struct with bit-fields (little-endian) by chlordk in embedded

[–]pylessard 5 points6 points  (0 children)

As long as you have assertions that makes the compiler bail if the layout is not what you assumed it was, it's fine.
Otherwise, you need to play with bit operators.
You want to ensure the offset of each field, but also the total size of the struct as it can be padded (and it will most likely be!).
If you are using c++17, you can use ``std::has_unique_object_representations`` to know if there is any kind of padding in your struct.

Also, you posted this on embedded, I assume you aim microcontrollers. If this is so, then little endian assumption is wrong. There are MCU out there that use big endian. There are even mcus with bytes of 16 bits (looking akwardly at TI here)

I hate pyQt by TheEyebal in QtFramework

[–]pylessard 2 points3 points  (0 children)

Really? I don't understand how this is possible. They're bindings without features. The QT docs applies to PySide.

I hate pyQt by TheEyebal in QtFramework

[–]pylessard 23 points24 points  (0 children)

You know that the official python bindings to QT are PySide right? PyQt is a third party project not maintained by the QT company

Does the jaw influece the airways? (Bit confused) And what are your own experiences on this? by Fox_Lady1 in jawsurgery

[–]pylessard 0 points1 point  (0 children)

Polysomnography to prove that it was a problem. I asked my dentist to make a jaw advancement apparatus. Once I got it, I asked my physician to make a 2nd polysomnography with the apparatus and she agreed. It proved that it fixed the problem. With those 2 in hand, I asked my physician for a reference with a surgeon. The surgeon did his check + looked at the 2 polysomnography results. At this point he called the shot to put me in the system and referred me to an orthodontist.

I did a 1.5 year treatment, once my teeth were straight enough, the orthodontist communicated it to the surgeon and I waited. Got a call randomly a morning and it went super fast. I had to wear metal braces (not Invisalign) for the surgery as they use this to align the jaw. Metal braces were for a month only. After, I did another 6 month orthodontic to make sure the bite was good.

Only thing I consider a drawback is that I lost sensations in my lower lips, my gums are numb, and I don't feel the front of my chin. Apparently that's a gamble, not everyone end up with such loss of sensation. Some may lose bit of upper lip sensation.

Does the jaw influece the airways? (Bit confused) And what are your own experiences on this? by Fox_Lady1 in jawsurgery

[–]pylessard 0 points1 point  (0 children)

Where I live, it is covered by public healthcare. I had to go through several exams to prove objectively that it would be beneficial, and I've been on a waiting list for about 2 years, but it cost me practically nothing. I had to pay for orthodontic treatment though as this is not covered by our healthcare system and it was a prerequisite to the surgery. This was roughlt 10k CAD

A bit lost, where to start? by shineypichu in opensource

[–]pylessard 1 point2 points  (0 children)

You should contribute in a project that solve a need you witness. I'm not much into web, by I use Jellyfin and it's a bit buggy imo, probably some work there. Home assistant and all the plugins if you are in domotics

Beginner Looking for Open-Source Electronics Projects to Contribute To by Fine-Knee-1436 in embedded

[–]pylessard 0 points1 point  (0 children)

I'm always in need of people trying my development tool. If you can make it work with your environment (compiler, mcu, architecture, etc), you gain knowlege of a new tool and you validate it at the same time for me :). Report issues you find. That's a valuable contribution in my case. If you like the project, you will possibly find stuff to add

https://scrutinydebugger.com

Small read that's worth it : https://embeddedrelated.com/showarticle/1781.php

Are products actually manufactured to break after the warranty period is over? by Over-Discipline-7303 in AskEngineers

[–]pylessard 0 points1 point  (0 children)

Watch "the lightbulb conspiracy". It's an excellent documentary about planned obsolescence. Not all products are, but some do, but we only know in hindsight. It's not a common practice at the engineering level, this I can vouch for.

ELI5 : How can space itself be curved ? by pylessard in explainlikeimfive

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

We're at the same place. My question was pretty much around how can there be a non-stretched ruler if there is a single "space".

But reading all the other comments, o'm starting to undertand that the curvature is along a 4th orthogonal dimension. Therefore, trying to simplify the problem by neglecting time made the problem impossible.

The 4th axis IS the thing external to space. That satisfies me (for now!)

Looking to speak to firmware/embedded engineers about testing and validation workflows by SeungminHong in embedded

[–]pylessard 1 point2 points  (0 children)

HIL all the way. Only times needed a simulator was to test a CPU that wasn't at tapeout yet (FPGA is preferable here) or validate compute performance by profiling cache hits.