EEVblog Electronics Community Forum

EEVblog => EEVblog Specific => Topic started by: creeg2 on December 11, 2012, 03:16:19 am

Title: Request: Software Topics
Post by: creeg2 on December 11, 2012, 03:16:19 am
Hey Dave & forum!

Could you do a video (or series) about the software side of electronics?  I consider myself a halfway decent hardware developer but my projects often fall short when it comes to designing the software to run the widget. 

There are plenty of resources on how to "learn C" or look up syntax, but what about code organization, philosophies, rules of thumb, etc.

Thanks for all the great videos!
Title: Re: Request: Software Topics
Post by: jeroen74 on December 11, 2012, 12:20:21 pm
You could run an entire blog by itself on that topic ;) and I guess one of those things where video really isn't suitable.
Title: Re: Request: Software Topics
Post by: McMonster on December 11, 2012, 11:12:45 pm
There's probably no SD card big enough for Dave to record this kind of video. ;) Also it would most likely be pretty boring. There are very few software oriented blogs, because it's hard to keep people interested when there's a wall of code on the screen most of the time.

But maybe something about software-hardware tradeoffs, or software tricks to replace/enhance hardware and vice versa. Microcontrollers are in near damn everything nowdays, so it could possibly be interesting, but I wouldn't expect Dave shooting anything like this very soon.
Title: Re: Request: Software Topics
Post by: xDR1TeK on December 20, 2012, 11:35:22 pm
I had a similar incident with one of my controllers where a keypad toolkit is supposed to work on any port channels but was best suited for one channel that had the pull-up resisters built in unless you were going to supply the pull-up resisters externally to any other port channel, the toolkit for the keypad scan failed on port channels with non-pull-up resistors.

Yeh, I believe a video won't help much, since toolkits get updated regularly and bugs like that won't show up six months later.
There are many toolkits out there and there aren't enough ideas to test each and everyone of those.

However, a primer on starting a project is best i think. There isn't much to depend on online for that. Especially most examples online are too specific and they fail by majority while testing. Also had a similar issue in assembly programming a very stupid micro. That was my first chip I ever started working on, that PIC10F200. Some examples make assumptions that you would be working on a 16Fxxx and still the simplest code on a 16F won't run on a 10F micro. Counting the reasons would be crazy. Also compilers and IDEs don't have the same directives over the spectrum of devices.

There isn't really a way to best build a primer for getting into programming the damn things. You just have to get your hands dirty and what doesn't kill you, will only make you stronger. Until you try a different micro with different compiler and different IDE. Then it is just suicide with more bugs that you will have to figure out on your own.

However, shorting a micro from code is only a fault in design of the circuit or perhaps bi-directional bus is latching for output while the control unit that is supposed to latch for higher impedance is not correctly switching, then you need to think of this in terms of protocol. Designing one will take one, will take processing power and hence slow down of latching data transfer. But later on debugging will prevail and you will find your problem.

There is no perfect firmware. They keep getting updated all the time. So be glad you are catching those problems way ahead of time.