I'm currently working on some code for an industrial heating controller. Due to Corona virus I'm working from home a lot more so took a prototype controller home to do some testing with.
I'd just made an update to some code that shouldn't have any impact on anything really when suddenly the controller starts randomly resetting. Concerned I'd just screwed something up I started rolling back through our versions. Strangely even when I ran code from one month ago when the device was known to be stable it still reset randomly.
After 4 hours of debugging I eventually noticed the resets came just as the relays for turning the heating element on kicked in. Turns out there was an electrical fault in the prototype that meant if you had a weak mains supply to it then it would temporarily drop the voltage on the CPU board just low enough that it might cause the CPU to reset.
This is why I love embedded software. Someone once described it to me as "trying to code around a broken light bulb".
In other news my business partner borrowed a lot of money last year to buy a big office and hire lots of expensive staff. I told him I wanted no part in that and was happy keeping our company small. So he went and created his own software company and did it anyway on the assumption "the economy always goes up!". He's now begging me to put some of our regular work his way because he can't afford the building and his staff. I really really regret going in to business with that guy. Lessons learned I guess.
Brown trousers
I'm currently working on some code for an industrial heating controller. Due to Corona virus I'm working from home a lot more so took a prototype controller home to do some testing with.
I'd just made an update to some code that shouldn't have any impact on anything really when suddenly the controller starts randomly resetting. Concerned I'd just screwed something up I started rolling back through our versions. Strangely even when I ran code from one month ago when the device was known to be stable it still reset randomly.
After 4 hours of debugging I eventually noticed the resets came just as the relays for turning the heating element on kicked in. Turns out there was an electrical fault in the prototype that meant if you had a weak mains supply to it then it would temporarily drop the voltage on the CPU board just low enough that it might cause the CPU to reset.
This is why I love embedded software. Someone once described it to me as "trying to code around a broken light bulb".
In other news my business partner borrowed a lot of money last year to buy a big office and hire lots of expensive staff. I told him I wanted no part in that and was happy keeping our company small. So he went and created his own software company and did it anyway on the assumption "the economy always goes up!". He's now begging me to put some of our regular work his way because he can't afford the building and his staff. I really really regret going in to business with that guy. Lessons learned I guess.
Post Comment