Re: [Kicad-developers] isn't KiCad doing pretty bloody well?

2014-02-24 Thread Lorenzo Marcantonio
On Sun, Feb 23, 2014 at 11:59:10PM +0100, Fabrizio Tappero wrote:
 I would like to share with you a very recent ohloh.net activity report that
 can give use an idea of how well KiCad is doing.

Uh what are Y-O-Y commits? Some kind of metric?

Anyway, other than code metrics is (IMHO) more important the number of
boards done and the average number of f*cks thrown for board (-
subjective index of software quality :D)

With an average of one board every month I'd say I'm quite content. For
mixed signal and power work; probably people doing cutting edge digital
circuitry would be disappointed, especially if HDI boards were needed.

Of course it's difficult to beat the price tag :D

-- 
Lorenzo Marcantonio
Logos Srl

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Text in opengl

2014-02-24 Thread Maciej Sumiński

On 02/24/2014 08:45 AM, Lorenzo Marcantonio wrote:

- Handling a VBO for line strips (and probably a shader or some other way of
controlling line width per line, not for the whole batch). I am not sure if
degenerated vertices (i.e. two consecutives vertices with the same
coordinates to indicate beginning of a new line) work in GL_LINE_STRIP mode,
otherwise you have to use GL_LINE instead.


Text should never generate identical vertices, otherwise font data is
misoptimized :P anyway I don't remember seeing something forbidding them
(but also nothing guaranteeing... so maybe they are implementation
dependant - as usual!)


It is not that text should generate identical vertices, the purpose is 
to separate lines stored in a single VBO. If you have a VBO drawn as 
GL_LINE_STRIP, then you will have *all* vertices drawn as a single 
continous line, so you need a way to tell GPU that there should be a 
break. It is better explained here (for triangles), chapter Use 
Triangle Strips to Batch Vertex Data:

https://developer.apple.com/library/ios/DOCUMENTATION/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html


Using a shader to fix line width should work, but doesn't reduce vertex
count. I hoped to do that. Also I have no idea on how shaders work :P


- Drawing using direct mode, but in this case all lines should be drawn at
the same time. Also I wonder how does it compete with current VBO batch in
terms of performance.
If I had to choose, I would go for bitmap fonts. It makes every character
one quad or two triangles. Or maybe antialiasing could solve the problem?


Texturing the font would need a) a huge amount of texture memory (and
Intels are sharing the system memory) and b) losing crispness due to
resampling; I'd prefer the current situation in that case :D


a) Why do you think so? It is just one black  white texture containing 
all characters (e.g. http://i.stack.imgur.com/VFKM2.gif) and then it is 
simply referred to when drawing characters. Textures can also be 
colorized, so the bitmap black  white is perfectly fine.
b) Maybe there are some ways to sharpen textures, but I am not very 
familiar with the topic.



Antialiasing on lines is historically never been implemented on consumer
cards (it was one of the 'differences' of the Quadros), but maybe now
the situation is different. In fact the FireGL we used (still the IBM
design, not the overpowered Radeon) had the 'line' primitives
(evaluators included) completely done in HW, antialiasing and stuff. But
only one texture stage :D


But for lines made from triangles it works 
http://oi58.tinypic.com/21n2s1j.jpg (yup, it is buggy, there is 
something wrong and currently I do not know how to fix it).


Regards,
Orson

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Text in opengl

2014-02-24 Thread Lorenzo Marcantonio
On Mon, Feb 24, 2014 at 11:13:27AM +0100, Maciej Sumiński wrote:
 line, so you need a way to tell GPU that there should be a break. It is
 better explained here (for triangles), chapter Use Triangle Strips to Batch
 Vertex Data:

GL_LINES, then. However endpoints would be drawn twice; if fragment
testing is done correctly (and IIRC it is) shouldn't be a problem.

 a) Why do you think so? It is just one black  white texture containing all
 characters (e.g. http://i.stack.imgur.com/VFKM2.gif) and then it is simply
 referred to when drawing characters. Textures can also be colorized, so the
 bitmap black  white is perfectly fine.

How many characters? The full BMP, maybe (since we have unicode...);
It's not *so* easy. Need thinking.

 b) Maybe there are some ways to sharpen textures, but I am not very familiar
 with the topic.

Grid fitting after rasterization AFAIK can't be done... but maybe there is
a fragment shader trick to pick the 'right' pixel.

 But for lines made from triangles it works
 http://oi58.tinypic.com/21n2s1j.jpg (yup, it is buggy, there is something
 wrong and currently I do not know how to fix it).

Yes, but you pump triangles, not lines :P the current trend for GPUs
seems to be that.

-- 
Lorenzo Marcantonio
Logos Srl

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] PATCH: when clicking the thumbnail component, pre-select current value in component browser

2014-02-24 Thread jp charras
Le 24/02/2014 05:03, Henner Zeller a écrit :
 ommit message:
  * Preselect the currently chosen component in the browser when
 pressing the thumbnail view.
  * Various smallish documentation updates in the component chooser area.

Committed in rev 4719.
Thanks.

-- 
Jean-Pierre CHARRAS

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Text in opengl

2014-02-24 Thread Maciej Sumiński

On 02/24/2014 11:43 AM, Lorenzo Marcantonio wrote:

a) Why do you think so? It is just one black  white texture containing all
characters (e.g. http://i.stack.imgur.com/VFKM2.gif) and then it is simply
referred to when drawing characters. Textures can also be colorized, so the
bitmap black  white is perfectly fine.


How many characters? The full BMP, maybe (since we have unicode...);
It's not *so* easy. Need thinking.


Here it comes: http://unifoundry.com/unifont.html
It takes ~2MB of memory and has size of 4128x4160 px, so there is a 
chance that it could fit to 4096x4096 if the frame is cropped. The bad 
thing is that it may look really ugly if characters are too much 
stretched. On the other hand, I suppose that naming nets using non-ascii 
characters is a rare case (however it has to be supported if that is the 
policy).


Regards,
Orson

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


[Kicad-developers] About UTF8 string length

2014-02-24 Thread Lorenzo Marcantonio
I noticed that cvpcb table become unaligned using extended characters
(specifically the µ one :D); of course this is because µ is 2 octects
for one character... is this yet another wxString idiocy which
doesn't correctly handle the encoding or is there a function to retrieve
the length in character (not octets) and simply needs to be used?

-- 
Lorenzo Marcantonio
Logos Srl

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


[Kicad-developers] Saving bandwidth in the install script (with patch)

2014-02-24 Thread Martin Janitschke
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Heyho,
in response to a question in the irc channel about the checkout size
of the doc repo whilst using the install script, I've searched for a
way to get a smaller checkout size.
The bzr checkout command got:
  --lightweight  Perform a lightweight checkout.  Lightweight checkouts
 depend on access to the branch for every operation.
 Normal checkouts can perform common operations like
 diff and status without such access, and also support
 local commits.

This takes away about 400mb (iirc) from the checkout from the doc repo.
Maybe this option should be added to the rest of the checkouts in the
script too (dunno if some of those depend on a complete repository
while building / if it's desired to being able to build without an
internet connection if calls to bzr are made).
Building / installing the docs worked fine from the lightweight checkout.

See attached patch for the script.

Bye,
imp
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTC1lmAAoJEMrhIQwWBCkUvKQP/2c49YJEGLDMLhNrIOMaD7Lf
VqD4Wt0UsSXZOxc45EwtV+c77/qhPUpPs5DF+mKaUKlsv/50saHMuhwn/qWiagXo
P+eQJQ7EtBQZROhES077dC0/knGdEbx8/x9MvkcIeqp1pycfW3Al13SuMwWmLta+
KMbCmzTWzliXVAoQc/vsjsxU7NJGLgj4vqfv45YqW8j32QKDToHs30ZlT0fNG9V+
zMGf8i8cNLqUicRK3oQcJkyF1cCWNSREWCIc0U7lybETmsHFj/Y4zwlqStAZBa6G
03aCKi8QqVsXa8ZMceIJ7yVoUVon5zSIK5h6nzrsN86QNACeDWNkE5eE113/BSBX
xu8sZHcKFDIrclKPBtE3rdPuHzqVl5YNg6XqpGVhZAe3K0Nq8pJXC/pcAqnZT1zi
yig88w7/LntVBwM14gfwX4uLaKO6DNpxYC8xap76lJ4Twqt5tzNyQ8RLohyXp0Kd
luaK+KmZFE+ePibiOs+ydGK21Xp0W39pt7I/CDL9pVNxNwx64NP0rQMviJjXWIDF
xXHz6f3q8yMGXgmQRqDggLzGBMKzgz04fcnwLP1o/Pk+KKH8BUOxO0XYkvQU0ajO
Yu/HuRKoRXjO2WSmggLlppTiFoW/qxeIaIqCv5IQJa57/36vWZUDRzyr3hjGpEz8
2PYRV67vRrfps05J18gz
=eIzr
-END PGP SIGNATURE-
=== modified file 'scripts/kicad-install.sh'
--- scripts/kicad-install.sh	2014-01-20 19:10:45 +
+++ scripts/kicad-install.sh	2014-02-24 14:18:05 +
@@ -217,7 +217,7 @@
 
 echo step 5) checking out the documentation from launchpad repo...
 if [ ! -d $WORKING_TREES/kicad-doc.bzr ]; then
-bzr checkout lp:~kicad-developers/kicad/doc kicad-doc.bzr
+bzr checkout --lightweight lp:~kicad-developers/kicad/doc kicad-doc.bzr
 echo  docs checked out.
 else
 cd kicad-doc.bzr

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


[Kicad-developers] What is pcbnew doing when selecting the plugin type?

2014-02-24 Thread Lorenzo Marcantonio
Strange thing noticed today: in the pcb library table dialog, when
I pull down the plugin type combo pcbnew runs at nearly 100% CPU for
some (even a lot, sometimes) seconds, then open the listbox.

Totally unresponsive in the meantime (for a time it even seems to grab
the X server...)

Any idea?

-- 
Lorenzo Marcantonio
Logos Srl

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Henner's component chooser for CvPcb...

2014-02-24 Thread Wayne Stambaugh
On 2/24/2014 2:54 AM, Lorenzo Marcantonio wrote:
 On Sun, Feb 23, 2014 at 04:53:39PM -0800, Henner Zeller wrote:
 I don't think that the functionality of what cvpcb does now
 will/should go away entirely. Having a tabular view of the whole BOM
 essentially and quickly be able to review and change the one or other
 footprint is great and needed, in particular in the final passes of a
 project. Though it should not be an external program as it is now,
 essentially communicating back and forth with files, which makes the
 process tedious and error prone.

I should have been more clear.  The functionality will not go away.  The
stand alone application will go away.  The CvPcb functionality will be
pushed into one of (pcbnew most likely) the shared objects and will be
usable from either the schematic editor or the board editor.  I have
always found running CvPcb as separate application to associate
footprints to be cumbersome.  I would rather assign them when I'm
editing the schematic because I almost always know the footprint of the
component when I'm designing the circuit.

 
 Never said to junk the tabular view. Something like the list views in
 orcad capture would actually very useful.
 


___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Henner's component chooser for CvPcb...

2014-02-24 Thread Vesa Solonen
24/02/14 09:52, Lorenzo Marcantonio kirjoitti:

 IIRC eagle (at least v5) had three entities:
 - Package
 - Symbol
 - Part (seen as a many-to-many between package and symbol)

Maybe my knowledge was out of date or I was just referring to common
usage model. The above is how it is supposed to be done properly.

-Vesa


___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Henner's component chooser for CvPcb...

2014-02-24 Thread Charles Goyard
Hi,

Vesa Solonen wrote:
 24/02/14 09:52, Lorenzo Marcantonio kirjoitti:
 
  IIRC eagle (at least v5) had three entities:
  - Package
  - Symbol
  - Part (seen as a many-to-many between package and symbol)
 
 Maybe my knowledge was out of date or I was just referring to common
 usage model. The above is how it is supposed to be done properly.

This is not done this way in Eagle.

Eagle has a part, than is a container with a single symbol, and multiple
packages, with individual pin mapping for each symbol-package
association.

You have to duplicate the SOT23-5 package across all your parts, and can
not change it globally, like the Kicad enables.

(On the other hand, what's missing in Kicad is the indivual pin mapping
and makes for TO-220-123, TO-220-BCE, TO-220-BEC, TO-220-GDS, TO-220-GSD
and so on, but that's not the topic).


++
-- 
Charles

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Henner's component chooser for CvPcb...

2014-02-24 Thread Vesa Solonen
24/02/14 22:03, Charles Goyard kirjoitti:

 Eagle has a part, than is a container with a single symbol, and multiple
 packages, with individual pin mapping for each symbol-package
 association.
 
 You have to duplicate the SOT23-5 package across all your parts, and can
 not change it globally, like the Kicad enables.

Thanks for the info. There is a great opportunity for KiCad doing it
right or at least well ;)

 (On the other hand, what's missing in Kicad is the indivual pin mapping
 and makes for TO-220-123, TO-220-BCE, TO-220-BEC, TO-220-GDS, TO-220-GSD
 and so on, but that's not the topic).

I'd say this is the worst of the bad choices. Packages are standardised
as are pin numbers so there is no question of mangling the footprints.

Most of the time stuff breaks badly this way as one has to remember
details twice if both symbol mapping and footprint mapping can change.
One can not use alias functionality if pin to pad matrix changes, but
otherwise it works.

Rendering pin numbers and names should eventually made dynamic and hard
coded symbols will disappear. Symbols have just the functionality -
names and when they are instantiated as a specific part pin numbers get
mapped to the names. This is also needed for pin/gate swapping from
layout to schematic... The same name - pad mapping happens on the pcb
side to show pin/pad function.

-Vesa


___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Henner's component chooser for CvPcb...

2014-02-24 Thread Lorenzo Marcantonio
On Mon, Feb 24, 2014 at 10:35:57PM +0200, Vesa Solonen wrote:
 I'd say this is the worst of the bad choices. Packages are standardised
 as are pin numbers so there is no question of mangling the footprints.

Not always... while for example (these days at least :D) mosfets always
follow the GDSD mapping for SMD packages (there are technical reason:
the drain is thermally bonded), and usually SOT-23 diodes are standard
too (singles and doubles, like the BAT54 variants) other components
don't always follow the same conventions, or there isn't a standard way
of numbering pins. In the past all the 6 permutation of SOT-92
transistors were in use :D Even today there are discretes available in
a 'reversed' pinout for layout purposes so you wouldn't bet on a mosfet
being always GDSD :P

Other example: relays always have A1/A2 as coil contacts but the same
package has the contact pins named 11/12 for the B-form (NC) or 13/14
for the A-form (NO). Now look, for example, at set of safety relays, all
with the same package and various contact configuration with 4/6
contacts :P the Schrack SR6 are four kind of relays with the same exact
package but different pin numbers...

Other components with numbering often quite evil are board-mounter
transformers; the common one are usually 1-7 and 8-13 but when you have
taps or multiple windings, good luck. These things have pin selectively
populated and the pin positions gives polarization, too.

On the converse often ICs have different pinout for different packages.
Like SOIC 14 and SSOP 16. Signal and pin numbers don't match in this
case :D in some case there are even signals omitted (like RS232
transceivers which omit the charge pump ready signal on the smaller
packages).

From a strict data modeling standpoint then you should have:
- The part, in general, with pin names and 'part-pin's
- The package with the real 'pin-number's
- The variant (part many-to-many package) containing the pin mapping
  (part-pin zero-or-one-to-one pin-number)

(sorry if it's not neither exactly E-R or collection based:P)
This doesn't model the signal omitted case because it's too dangerous
and it's often a slightly different part number anyway (the last
relationship would be zero-or-one-to-zero-or-one; good luck with the
DRC).

Is this overkill? IMHO yes. I currently work without too many issues
duplicating the few packages needing it (mostly SOTs and TOs), with the
infamous SOT23-123/SOT23-GSD/... technique (about 6 for that particular
package) and naming conventions on the eeschema side, like LTCxxx_SO14
and LTCxxx_SOP16.

A good compromise would be having different sets of pin names for
a package: the base is the SOT23 and the pins get named 123 or GSD or
whatever depending on a variant code or something. For something which
usually is generated *once* and never touched after that is a lot of
implementation work to do. Of course volunteer work is always accepted:D

-- 
Lorenzo Marcantonio
Logos Srl

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Kicad-developers] Henner's component chooser for CvPcb...

2014-02-24 Thread Nick Østergaard
 I don't think that the functionality of what cvpcb does now
 will/should go away entirely. Having a tabular view of the whole BOM
 essentially and quickly be able to review and change the one or other
 footprint is great and needed, in particular in the final passes of a
 project. Though it should not be an external program as it is now,
 essentially communicating back and forth with files, which makes the
 process tedious and error prone.

 Being able to quickly choose the footprint while choosing a particular
 component is useful in many other cases; you typically want to choose
 an initial footprint for your component; often you already know,
 because you spent some time choosing that component because of
 different footprint choices. In that case, having it simple to select
 the footprint while choosing the component is another important thing.

I like the what cvpcb does, in comparison to ther eda packages, the
fact that schematic symbols and footprints is kind of seperate things
is nice in kicad. I allows me to not worry about the footprint untill
I have iterated my schematic. Indeed getting rid of that wierd netlist
thing that has to be manually exported from eeschema to be read by
cvpcb would be nice to get rid of.

___
Mailing list: https://launchpad.net/~kicad-developers
Post to : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp