|
But, its agile...it takes true agility to dodge responsibility when it all falls apart
|
|
|
|
|
OriginalGriff wrote: But we don't!
Honestly - please don't say "WE"
I force people to give me what real 'what is it you want' - which prevents most of your problems. If they don't know - how should I know? It's there job to know what needs to be done and mine only to implement it.
This doesn't always win friends - the lazy ones and the clueless ones - wanting you (me) to do their job for them so they'll look good (or blame me if they don't) - keep getting sent away until they come up with something. I don't give them a blank check, there, either - as I have a site with roughly 500 users to consider and don't want one user's stuff to screw up the others.
Interestingly - it all works out. Using a line from a car manufacturer (or someone) "the quality goes in before the name goes on" - an the non-dullard senior management learned to appreciate a sincere effort to do it right the first time.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
This is only partially true, as it depends on what you are designing SW for.
You have legal requirements in finance, in pharma, etc... We (in the automotive business) have a lot of norms[^], legal requirements, design rules[^] that we have to fullifll, and we are personaly liable in case of quality issue that leads to damages or injuries. Recent past gives many examples[^].
|
|
|
|
|
Yes, and generally speaking the software for those industries "just works" as a result - because everybody is constrained by the rules, developer and client alike.
When was the last time your car stereo gave a BSOD on the motorway and took the brakes out?
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
OriginalGriff wrote: "just works"
Well, if only you would know ...
|
|
|
|
|
OriginalGriff wrote: You don't need to confirm to government legislation like you do with cars, you don't have to have any testing done at all, and test results aren't in any way public; you don't have to do recalls if there is a bug.
Blame those handing out the contracts. If you could, would you purchase your next car just by identifying the lowest bidder?
|
|
|
|
|
When programming critical systems, we still use the "house" model. OTOH, software has become much cheaper because we (or our clients) are willing to accept a less rigorous model for most development.
Both models have their place.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Winning Solitaire[^]
Someone on Imgur linked to this.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
The jack-ace who made that site is a real card. And should be dealt with.
I'm pretty sure I would not like to live in a world in which I would never be offended.
I am absolutely certain I don't want to live in a world in which you would never be offended.
Freedom doesn't mean the absence of things you don't like.
Dave
|
|
|
|
|
Yes, there is also a version of ie6 [^]:
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
I couldn't draw any conclusions, so what's his deal?
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Today's lucky spot prize winner in the Summer Fun with Arduino Challenge is member 1088144. Congratulations!
We still have many spot prizes up for grabs, so sign up for challenge 1, find the secret code and you could win yourself a cool Raspberry Pi 3 B+ starter kit. Just 10 days left to go!
|
|
|
|
|
Simple question: If you can build a circuit with discrete logic or simply program a cheap microcontroller and be done with it, what would you do?
Discrete logic costs next to nothing, but can very quickly hog up expensive space on your circuit board and complicate the board's layout, including problems with noise on the signals.
The microcontroller often comes in the same price category as the discrete logic chips it is supposed to replace. It's a single chip that has to be programmed to perform the function you want to have it for. It may solve the problem more elegantly than some bare bones logic could. Then again, a microcontroller with internal ROM and RAM and often diverse I/O ports seems a little wasteful for such a trivial job.
For example, I could build my interrupt control logic with discrete ICs or with a single microcontroller. The discrete logic would be simple. Interrupts that were not serviced by the time the signal becomes inactive are lost. There would be no masking and the priorities would be fixed.
The microcontroller could easily do such things, like buffering and holding interrupts until they have been acknowledged and serviced, masking interrupts or assigning different priorities.
Which way would you prefer? An 'object oriented' microcontroller where I just look at the interface and don't care how it does its job internally? Or better the minimalistic approach with discrete logic where everything is 'global'? Still, preparing a tiny computer on a chip for such a simple job seems extremely wasteful...
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Definitely a microcontroller... The only downside of it can be the cost, but event there is no big difference... And of course there is the possibility of reprogramming the microcontroller with better code or even for an enterley different purpose...
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge". Stephen Hawking, 1942- 2018
|
|
|
|
|
Depends on the speed required: uControllers get more expensive at a faster rate as speeds rise that discrete logic does.
But generetrally, I'd go the programmable route, as it's a lot easier to add features or even make the main software easier and more efficient.
I had one board with three PIC devices and a Z180: one PIC for the head control (to offload the actual serial data timing), one to interface with the LCD (after we found that the Z180 was far, far too quick for the display to cope), and one to auto-range the PSU and provide a self destruct if the software was tampered with.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I agree with OG, uControllers are easy to modify if requirements change and may have wasted functionality but at the prices WTH! Also better to have the extra functionality and not need it than to not have it and need it, should requirements change.
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
Micro Controller with as little glue logic as possible.
Gosh they're fun little things to code and play with.
|
|
|
|
|
It's like writing software -- implement a reasonable level of abstraction to plan for future requirements. So, microcontroller.
|
|
|
|
|
|
Microcontroller. PIC microcontroller. 32-Bit PIC Microcontroller. PIC32MM Microcontroller...
I suppose we, CodeProject folks, are just a little biased...
|
|
|
|
|
For me, the criterion would be can I possibly use the MC for anything else? If so then I would definitely go the MC route. If not then I would probably use the discrete logic. The exception would be if I really wanted another thing to program and I preferred that programming to wiring up a few more components. Only you can answer that.
|
|
|
|
|
|
The question isn't as philosophical. You named several practical aspects of the decision yourself and with practical aspects, it's not philisophical.
My personal choice would be an MCU. Nowadays, those things are cheap and you said yourself that this would be way more flexible. Plus, that's the way the big boys do it, less albeit more complex chip. On the other hand, if the setup is supposed to be (at least somewhat) educational, dicrete ICs are way superior as one can see what's connected to what (a shift register to a counter because of reason X) and an oscilloscope can be used to monitor the workings of the machine. With a programmed MCU, it's "signals go in, signals go out, here's the spec".
|
|
|
|
|
The problem solved by discrete logic, philosophically, is the successful amalgamation of various IO to one or more standard interface, to expand the capabilities of an existing system.
The problem solved by microcontrollers, again philosophically, is the successful amalgamation of various IO to create a standalone system.
So, it entirely depends on what you want.
If you want to use a set of radio's / sensors / mechanical parts as a standalone system, you should pick the microcontroller design.
if you want to use a set of radio's / sensors / mechanical parts as a single device in a larger overall scheme, you should pick the discrete logic design.
To be honest, I think most people default to microcontrollers, because they don't understand what they're doing.
Most IoT hardware I've seen, for example, combines microcontrollers and wireless chips.
Apart from the non-obvious stability issues arising from power-draw and overheating, it also introduces a huge attack surface for hackers and they are childishly easy to DDoS.
As a rule of thumb, I'd say:
- prototype it with microcontrollers if you want
- build it with discrete logic if you can
|
|
|
|
|
Well, there might be philosophical questions in using a Micro-controller for you project, the uController might be more powerful than the actual Computer, which to me seems wrong. However the glue logic can be a pain, would a PLC (Programmable Logic Controller) or a PLD (Programmable Logic Device) be an option these seem to have been overtaken by uControllers but would be more fitting as they are sudo hardware in my view. The main thing is the programming of the 'dang' things. Mind you to test the unit and hardware interface with a Nano...
modified 22-Jun-18 7:25am.
|
|
|
|