Searching \ for '[OT]: Re: Horowitz... On-the-fly design' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=horowitz+fly+design
Search entire site for: 'Re: Horowitz... On-the-fly design'.

Exact match. Not showing close matches.
PICList Thread
'[OT]: Re: Horowitz... On-the-fly design'
2004\01\19@003556 by Robert Rolf

picon face
"T.C. Phelps" wrote:
>
> UAlberta? Greetings from Calgary, fellow Albertan. :)>

Yeah, scary how many people I run into saying that they'd seen me
on the PICLIST. Who knew that this was a best seller list <G>?

> > Hence my point about THOUGHT being important.
>
> Yeah, in years past I've jumped into projects without
> thinking too much and wound up starting over. That was
> before discovering the immense value of designing
> something first instead of trying to build and design
> at the same time. ;)

There is something to be said for designing on the fly.
It gives you a chance to test key parts of a design to validate
your ideas before you get too far along.  It also lets you use
what you have.

If you have sufficient experience, you can get to the end
result more quickly, such as when I used to stop at
Active Electronics on my way to work,
and designed circuits for a 'we need it right now' project
to use what they had in stock. Now that Active
stocks bugger all, I am forced to do a full design just so I can
order all the parts I'll need the first time around.

/rant on
If I find a nice part for a project, I -may- be able to get a
sample, but if I need 10, I'm S.O.L because everyone is only
interested in 5k+ piece orders. MOQ (minimum order quantities)
are killing basic research and development by hobbiests. Thank
goodness for Digikey, even if they are pricey. But if the big
mail order houses don't carry a part, you're out of luck unless
you have deep pockets and can afford to waste 90% of a MOQ order.
/rant off

Robert

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2004\01\19@141933 by T.C. Phelps

picon face
> Yeah, scary how many people I run into saying that
> they'd seen me on the PICLIST. Who knew that this
> was a best seller list <G>?

For sure, but the reason is pretty obvious -- post a
question on this list, go make some coffee, and by the
time you get back there's 2 to 5 good responses
(frequently, anyway). I'm starting to think that some
of the big name posters on this list are actually
sophisticated androids that can simultaneously program
PIC ASM with one hand and write e-mail with the other.

> There is something to be said for designing on the
> fly. It gives you a chance to test key parts of a
> design to validate your ideas before you get too far

> along.  It also lets you use what you have.

Oh no question, that's a *good* way to go through
prototype stages. The simultaneous design and build
technique I try to avoid is when the end result is
clear but the details are hazy -- so instead of
putting in the effort to understand the problem at the
start, you rush into it and develop in an unplanned
incremental fashion, developing it how you _think_ it
should work. I did that for a graphics library when I
was 19 or so, and I kept finding that what I had
written before was only getting in the way of the new
things I had to add. I wound up spending half my time
re-writing code! After that I significantly changed my
approach to projects.


> If you have sufficient experience, you can get to
> the end result more quickly, such as when I used to
> stop at Active Electronics on my way to work,
> and designed circuits for a 'we need it right now'
> project to use what they had in stock. Now that
> Active stocks bugger all, I am forced to do a full
> design just so I can  order all the parts I'll need
> the first time around.

It is nice being able to drive somewhere in the city
and get things right away. So Active's gone the same
way in Edmonton as it has in Calgary -- thought maybe
it was just our store. The last time I went there I
asked for 14 pin dip sockets. "Don't have them, it'll
take 2 weeks to get them in."


> If I find a nice part for a project, I -may- be able
> to get a sample, but if I need 10, I'm S.O.L because

> everyone is only interested in 5k+ piece orders. MOQ

> (minimum order quantities) are killing basic
> research and development by hobbiests.

Do you run into that often? I've found a couple of
specialty parts like that but usually find what I need
even if it is a bit on the costly side (example: The
AD595 thermocouple cold junction ref/amplifier, four
of which wound up costing $80CDN shipped).


- Todd.

__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2004\01\19@181444 by Josh Koffman

flavicon
face
Sadly, I believe all the Actives are going this way. There was a wierd
management buyout of the retail chain, so they're no longer affiliated
with Future Electronics anymore. I think this has hurt their buying
capabilities. Ah well.

I am lucky in that there are a couple of stores here in downtown Toronto
that stock a lot of the common glue chips and resistors that I need. I
try and stock up on things they don't have, like microcontrollers and
specialized interface chips. I watch eBay too... I recently bought 50
7805s for around $5 I think. I also now own enough SN75176 RS485 chips
(200 of them!) to last me for years and years of experimentation. And it
cost me less to buy that many that it did when I desperately needed 1
three years ago from Digikey.

It's all about timing though with eBay.

Josh
--
A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete
fools.
       -Douglas Adams

"T.C. Phelps" wrote:
> It is nice being able to drive somewhere in the city
> and get things right away. So Active's gone the same
> way in Edmonton as it has in Calgary -- thought maybe
> it was just our store. The last time I went there I
> asked for 14 pin dip sockets. "Don't have them, it'll
> take 2 weeks to get them in."

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.

2004\01\20@120440 by llile

flavicon
face
<Rant = ON>

I am done with On-The_Fly deisgn.  This is also called Cowboy Coding.
Politicians get in trouble when they shoot from the Lip, and Cowboys miss
the target when they shoot from the hip.  Engineers who dash off projects
are simply hobbyists who are getting overpaid for their work, IMHO.  I am
as guilty as anyone of this!

Cowboy coding results in projects that even the designer cannot understand
6 months out.


When you design a project, you have to figure out the pinout on the chip.
You have to figure out the clock frequency.  You have to decide on the
major subroutines.  Are you going to use a superloop design or an
interrupt driven design or a combo?  Are you going to poll buttons or use
interrupts for buttons?  Given the interrupt parameters and the crystal
you selected, what should the interval between interrupts be?  Do you need
a timer or another peripheral?  What are the setup parameters? What
peripherals are being driven or interfaced?  What is the circuit diagram?

What is the state diagram of the project (flow diagrams are useless IMHO,
but state diagrams are good) ?

What will be the user interface?  How many buttons, speakers, motors,
whizzers, fizzers or bionic sensors?

How will the unit be used?  What is it supposed to accomplish?

At the very minimum ( and this is too little documentation) all of this
stuff should be included in comments at the beginning of the main code
file.  In a small one-off project, this is often how I do things.  I don't
dash off a project without a pinout list at the beginning of the main C
code file, and some of the other items listed.  Circuit diagram, even if
it is scribbled on an envelope, is better than carrying one in your head.
For a very simple project (two buttons and a speaker) a verbal circuit
diagram might suffice, but don't fall into this trap.

The above documentation should be brief, and for a small scale one-off can
be extremely brief.  However if it is missing the project is not done. You
should not write a single line of code until you've sat down and figured
out some basic documentation for the project.  You owe this to yourself.

Takes too much time you say?  It takes very little time to write down your
design decisions, far more time to actually figure them out.  Keep a
notepad window open while you are punching calculator buttons and reading
up on Timer1 bit settings and write that stuff down.

Cowboy Coding is great fun, and results in the most bug-riddled code
possible.

If you are working with a far-flung team (currently I am working on
projects with Engineers in Stockholm, Hong Kong, Seattle, Chicago, and
Amsterdam.  I am in Missouri. ) all of this documentation becomes
critical.  If you are working on a hobby project for yourself, then you
will put down the project for a month or two then scratch your head when
you pick it back up and end up starting over.  If you are in a lab, others
will need to use your tools that you create.  You will need to use that
tool 5 years from now.  How does it work? Regardless, writing down all
these design decisions is good discipline and separates Engineers from
cowboys.

<Rant = OFF>


-- Lawrence Lile





Robert Rolf <spam_OUTRobert.RolfTakeThisOuTspamUALBERTA.CA>
Sent by: pic microcontroller discussion list <.....PICLISTKILLspamspam@spam@MITVMA.MIT.EDU>
01/18/2004 11:30 PM
Please respond to pic microcontroller discussion list


       To:     PICLISTspamKILLspamMITVMA.MIT.EDU
       cc:
       Subject:        Re: [OT]: Re: Horowitz... On-the-fly design


"T.C. Phelps" wrote:
>
> UAlberta? Greetings from Calgary, fellow Albertan. :)>

Yeah, scary how many people I run into saying that they'd seen me
on the PICLIST. Who knew that this was a best seller list <G>?

> > Hence my point about THOUGHT being important.
>
> Yeah, in years past I've jumped into projects without
> thinking too much and wound up starting over. That was
> before discovering the immense value of designing
> something first instead of trying to build and design
> at the same time. ;)

There is something to be said for designing on the fly.
It gives you a chance to test key parts of a design to validate
your ideas before you get too far along.  It also lets you use
what you have.

If you have sufficient experience, you can get to the end
result more quickly, such as when I used to stop at
Active Electronics on my way to work,
and designed circuits for a 'we need it right now' project
to use what they had in stock. Now that Active
stocks bugger all, I am forced to do a full design just so I can
order all the parts I'll need the first time around.

/rant on
If I find a nice part for a project, I -may- be able to get a
sample, but if I need 10, I'm S.O.L because everyone is only
interested in 5k+ piece orders. MOQ (minimum order quantities)
are killing basic research and development by hobbiests. Thank
goodness for Digikey, even if they are pricey. But if the big
mail order houses don't carry a part, you're out of luck unless
you have deep pockets and can afford to waste 90% of a MOQ order.
/rant off

Robert

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.



--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email .....listservKILLspamspam.....mitvma.mit.edu with SET PICList DIGEST in the body

2004\01\20@231436 by Hopkins

flavicon
face
State Diagram - time line diagram?

What info do you normally show in the state diagram?

What software do you use to create the state diagram?

*************************************************

Roy Hopkins

EraseMErdhopkinsspam_OUTspamTakeThisOuTihug.co.nz

*************************************************



> What is the state diagram of the project (flow diagrams are useless IMHO,
> but state diagrams are good) ?



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.564 / Virus Database: 356 - Release Date: 19/01/2004

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email listservspamspam_OUTmitvma.mit.edu with SET PICList DIGEST in the body

2004\01\21@055943 by Wouter van Ooijen

face picon face
> What software do you use to create the state diagram?

The gray matter inside mys kull. As for tooling: nothing wrong with a
mug and a pen (to draw the circles).

Seriously: you don't seem to have any idea what a state is, so do some
reading. Any basic programming book should contain some hint as to what
state/event diagrams are for.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products

--
http://www.piclist.com hint: To leave the PICList
@spam@piclist-unsubscribe-requestKILLspamspammitvma.mit.edu

2004\01\21@132311 by llile

flavicon
face
I usually draw state diagrams by hand, or draw them in Autocad.   There
are other packages that are better at this, but I have Autocad handy.

A state diagram shows various transitions within the software.  It can be
useful if your software is designed to have states, and not useful for
other projects.


I'll paint a picture in words of a piece of software with two states and
one button.    State 1 is "idle".  Software remains in that state until
button1 is pressed, then goes to state 2, which is "Honking in an annoying
way" .  Software remains in state2 until button is pressed, then goes into
"idle".  The diagram would have two bubbles, one labeled "idle" and the
other labeled" Honking" and an arrow from one to the other labeled "button
1" and an arrow from the other to the one lableled "button1"   That is the
simplest state diagram I can think of.

A project that might not lend itself to a state diagram might be software
that was completely written in an if-then tree.  I rarely write anything
like this anymore, so the traditional "flow diagram" that diagrams this is
not so useful to me.


-- Lawrence Lile





Hopkins <KILLspamrdhopkinsKILLspamspamIHUG.CO.NZ>
Sent by: pic microcontroller discussion list <RemoveMEPICLISTTakeThisOuTspamMITVMA.MIT.EDU>
01/20/2004 10:11 PM
Please respond to pic microcontroller discussion list


       To:     spamBeGonePICLISTspamBeGonespamMITVMA.MIT.EDU
       cc:
       Subject:        Re: [OT]: Re: Horowitz... On-the-fly design


State Diagram - time line diagram?

What info do you normally show in the state diagram?

What software do you use to create the state diagram?

*************************************************

Roy Hopkins

TakeThisOuTrdhopkinsEraseMEspamspam_OUTihug.co.nz

*************************************************



> What is the state diagram of the project (flow diagrams are useless
IMHO,
> but state diagrams are good) ?



---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.564 / Virus Database: 356 - Release Date: 19/01/2004

--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email RemoveMElistservspamTakeThisOuTmitvma.mit.edu with SET PICList DIGEST in the body



--
http://www.piclist.com hint: To leave the PICList
piclist-unsubscribe-requestEraseMEspam.....mitvma.mit.edu

2004\01\21@133311 by llile

flavicon
face
I remember being quite pleased when I wrote my first PIC program that
actually implemented a state machine.  I had a statevariable, and if the
statevariable was "1" it did this, "2" it did that, "3" it did the other
thing and "4 or more" the statevariable was reset to "1".   The rest of
the time the software was either polling buttons, running a timre
interrupt, or otherwise waiting around doing nothing in particular.  Not
rocket science, but it sure beat the IF-THEN trees I was writing before
that time.  I found If-Then trees to be bug-prone, because it is easy to
forget to consider all possible cases, and often there are multiple
inputs, so you get statements like

       If (this && if(that || those)){
               Do_this();
       }else {
                       if(this_other_thing &&That){
                               Do_some_other thing()  etc.e tc.


A coffee Cup and a pencil are really exscellent tools for designing a
state machine.  The coffeecup can be drained into the mouth, lubricating
the grey matter, and unless excessive coffee has been consumed allowing
the pencil to move faster and more steadlily (or more shakily, if it is a
large cup with excessive caffiene)

-- Lawrence Lile





Wouter van Ooijen <EraseMEwouterspamVOTI.NL>
Sent by: pic microcontroller discussion list <RemoveMEPICLISTEraseMEspamEraseMEMITVMA.MIT.EDU>
01/21/2004 04:58 AM
Please respond to pic microcontroller discussion list


       To:     RemoveMEPICLISTspam_OUTspamKILLspamMITVMA.MIT.EDU
       cc:
       Subject:        Re: [OT]: Re: Horowitz... On-the-fly design


> What software do you use to create the state diagram?

The gray matter inside mys kull. As for tooling: nothing wrong with a
mug and a pen (to draw the circles).

Seriously: you don't seem to have any idea what a state is, so do some
reading. Any basic programming book should contain some hint as to what
state/event diagrams are for.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products

--
http://www.piclist.com hint: To leave the PICList
RemoveMEpiclist-unsubscribe-requestTakeThisOuTspamspammitvma.mit.edu



--
http://www.piclist.com hint: To leave the PICList
EraseMEpiclist-unsubscribe-requestspamspamspamBeGonemitvma.mit.edu

2004\01\21@140049 by llile

flavicon
face
Well I just decided to take my own advice and fully document something
before diving in and building it.  Here is what happened.

0. I ran around the lab like a madman collecting parts and was just
getting started building the thing on-the-fly when I took a deep breath
and stopped to do documentation first.

1. An autocad drawing of the schematic took 17 minutes, including
instructions for use.

2.  I realized that I needed to add a feature to it.  This feature is the
same feature that I had to add to the last version, and that I had
forgotten to design-in in the first place.  Therefore I saved myself time
later, because by thinking the project through i build this feature in the
beginning.  This probably saved me 17 minutes in the long run.

3. The device will only be used by lab personnel, so a one-page Autoccad
drawing is all that was needed for documentation.  It will be folded up
inside the case for easy access.

4. The outside of the device will have a copy of the instructions for use
and will be clearly labeled as to what the heck it is.  Full documentation
(one sheet) is also stored in the proper folder in the proper network
directory for anyone to find if I am hit by a truck tomorrow.

Bad habits die hard.

-- Lawrence Lile





Wouter van Ooijen <RemoveMEwouterKILLspamspamVOTI.NL>
Sent by: pic microcontroller discussion list <PICLISTSTOPspamspamspam_OUTMITVMA.MIT.EDU>
01/21/2004 04:58 AM
Please respond to pic microcontroller discussion list


       To:     spamBeGonePICLISTSTOPspamspamEraseMEMITVMA.MIT.EDU
       cc:
       Subject:        Re: [OT]: Re: Horowitz... On-the-fly design


> What software do you use to create the state diagram?

The gray matter inside mys kull. As for tooling: nothing wrong with a
mug and a pen (to draw the circles).

Seriously: you don't seem to have any idea what a state is, so do some
reading. Any basic programming book should contain some hint as to what
state/event diagrams are for.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products

--
http://www.piclist.com hint: To leave the PICList
KILLspampiclist-unsubscribe-requestspamBeGonespammitvma.mit.edu



--
http://www.piclist.com hint: To leave the PICList
EraseMEpiclist-unsubscribe-requestspamEraseMEmitvma.mit.edu

2004\01\21@143004 by Bob Barr

flavicon
face
On Wed, 21 Jan 2004 17:11:38 +1300, Hopkins wrote:

>State Diagram - time line diagram?
>

State diagrams are actually independent of time (except, of course,
when the triggering events are timer-based). They're used to depict
the state that your program is in.

>What info do you normally show in the state diagram?
>

I don't know about anybody else but here's how I do mine:

First, I create circles with each of the named states in them.
Typically, I'll put the initial state at the top of the page and
arrange the other states in a circle around the page. Most processes
eventually get back to the idle state so the circular form works well
for this.

I show state transitions using curved connecting lines (with arrows)
going from one state's circle to the next. Everything else that needs
to be included gets put into text fields that are placed on the lines.

Near the beginning of the line, I list the event that has started the
transition. This could be a key-press, a timer interrupt, or some
other triggering event. (If needed, response to other events can be
shown with their own connecting lines.)

Following the event, I show any operations that need to be executed in
response to it on the line. I use pseudo-code at this level. (I avoid
getting down to the individual instruction level on a state diagram.
My intent is to document more of what's going on and why it's being
done, rather than the lowest level details of exactly how it's done.)

Whenever they're needed, conditionals are shown as simple questions on
the line. A second line branching off from the first one depicts the
split in program execution. I usually just use the labels 'Yes' and
'No' to indicate which path is taken based on the test. (This added
line shows the execution of different code and perhaps a transition to
a different state than the original path enters.)



>What software do you use to create the state diagram?
>

I use a graphics program called 'FlowCharter'. It used to be named
'ABC Flowcharter' in earlier versions but I believe its developer,
Micrographx, has dropped the 'ABC' part recently. You can probably use
just about any drawing program that you're comfortable with.


Regards, Bob

--
http://www.piclist.com hint: To leave the PICList
@spam@piclist-unsubscribe-request@spam@spamspam_OUTmitvma.mit.edu

2004\01\27@115435 by vze27bym

picon face
Good joke ;)

WBR Dmitry.


"T.C. Phelps" wrote:
>
> For sure, but the reason is pretty obvious -- post a
> question on this list, go make some coffee, and by the
> time you get back there's 2 to 5 good responses
> (frequently, anyway). I'm starting to think that some
> of the big name posters on this list are actually
> sophisticated androids that can simultaneously program
> PIC ASM with one hand and write e-mail with the other.

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads

2004\01\27@125542 by Robert Rolf

picon face
Why would we bother with our hands? Just plug in the data port
on our neck <G>.
R

spamBeGonevze27bymspamKILLspamVERIZON.NET wrote:
{Quote hidden}

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads

More... (looser matching)
- Last day of these posts
- In 2004 , 2005 only
- Today
- New search...