anxb26 / fritzing

Automatically exported from code.google.com/p/fritzing
1 stars 1 forks source link

stripboard support #1088

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Is this just a part, or is there code required.

Original issue reported on code.google.com by irasc...@gmail.com on 28 May 2010 at 7:44

GoogleCodeExporter commented 9 years ago
The original description was asking for autorouting for this which also implies
auto-placement.  There's an open-source java app here that does it: 
http://sites.google.com/site/libby8dev/stripes

It would require a bunch of code and new UI if we want the autorouting 
suggested.  On
the other hand, it's possible to make a board-like part and just put a bunch of
busses on it and only support hand routing and automagic jumper wires.

A third possibility is to add code that would recognize a stripboard and only 
create
jumper wires.  Component placement would be up to the user.

Original comment by brendan....@gmail.com on 28 May 2010 at 9:12

GoogleCodeExporter commented 9 years ago
Here's the current proposal:

We create a new part, which is specialized (code-backed).  It is a grid of M by 
N connectors, and the user can specify the N and M in the inspector.

The part has a tool attached to it (we already have a part which has 
tools--widgets--attached to it: the resizable board, so this idea is not 
without precedent).  In this case, it's a cutting tool attached to one corner 
of the stripboard part.  When you click on the widget, your cursor changes to a 
scalpel (or something) and you are now in a mode. Wires and parts on the 
stripboard are dimmed out to show they are not selectable, and so you can see 
the stripboard connections beneath.  

In this mode, when you drag the mouse over the stripboard with the mouse down, 
it removes the copper beneath.  If you start out by mousing down on an area 
that has already been removed then the tool would restore the copper beneath.  

To get out of the mode, press escape, or move the mouse outside the boundaries 
of the part.

Implementationally speaking, we might introduce a new type of object, called a 
"disconnector".  This is a non-selectable object whose sole purpose is to sit 
in the space between connectors on a stripboard, and allow itself to be removed 
or restored.   These objects are connected to other connectors, so that when 
they are removed, it breaks the connection.

Original comment by irasc...@gmail.com on 6 Aug 2010 at 9:35

GoogleCodeExporter commented 9 years ago

Original comment by irasc...@gmail.com on 28 Sep 2010 at 7:33

GoogleCodeExporter commented 9 years ago
bumping up the priority due to user requests

Original comment by irasc...@gmail.com on 3 Apr 2011 at 10:54

GoogleCodeExporter commented 9 years ago
Might want two tools instead of one to make connect and disconnect clearer.

Other issues: what happens to the parts on the stripboard when it is resized.  
Like the breadboard they get disconnected.  And what happens when two the 
scalpel is used to indirectly disconnect two parts that were formerly connected.

What's going on here is that the bus structure of the stripboard is dynamic.  
Currently we only support static buses. Not sure adding a disconnector object 
will make this any easier, though it may be simpler to use this object than to 
stick with buses and modify the svg directly.

Original comment by irasc...@gmail.com on 3 Apr 2011 at 11:02

GoogleCodeExporter commented 9 years ago
The disconnector is merely graphical, not electrical.  It's used to detect 
scalpel (disconnect) mouse down or unscalpel (reconnect) mouse down events, and 
drawing with it means the underlying svg doesn't have to be updated whenever 
there's a connection change.  

Original comment by irasc...@gmail.com on 3 Apr 2011 at 11:19

GoogleCodeExporter commented 9 years ago
Looks like a stripboard belongs in pcb view as much or more than it does in 
breadboard view, particularly as you might want to drop parts on both sides.  
Another question is whether n by m holes is a sufficient abstraction, or 
whether we need to model particular stripboard makes.

Original comment by irasc...@gmail.com on 4 Apr 2011 at 10:52

GoogleCodeExporter commented 9 years ago
also consider giving hole-spacing options, not just .1 inch separations

Original comment by irasc...@gmail.com on 20 May 2011 at 9:53

GoogleCodeExporter commented 9 years ago
Would want double-sided access in breadboard view as well.  A couple of options 
I can think of:  add extra layers and have full top/bottom control as in pcb 
view; only show one side of the board at a time and have a control that allows 
you to flip sides--you would also need some method to push a part from one side 
to the other.

The one-side-at-a-time approach seems easier, though maybe it would be possible 
to reuse a lot of code from pcb view for the two-sided approach.   The 
two-sided approach might be confusing visually--in pcb view you're still 
viewing both sides from the top, and this might not work so well in breadboard 
view.

Original comment by irasc...@gmail.com on 20 May 2011 at 10:02

GoogleCodeExporter commented 9 years ago
r4998.  A simple perfboard, with no buses has been implemented.  The user can 
set number of holes as x and y coords.

Original comment by irasc...@gmail.com on 5 Jun 2011 at 10:24

GoogleCodeExporter commented 9 years ago
can use the perfboard as the basis for the stripboard

Original comment by irasc...@gmail.com on 16 Jun 2011 at 10:41

GoogleCodeExporter commented 9 years ago
Issue 1366 has been merged into this issue.

Original comment by irasc...@gmail.com on 19 Jun 2011 at 8:39

GoogleCodeExporter commented 9 years ago
closing this general issue in favor of specific individual issues

Original comment by irasc...@gmail.com on 27 Jun 2011 at 10:24