Author Topic: DEX eval by free_electron  (Read 347972 times)

0 Members and 1 Guest are viewing this topic.

Online Monkeh

  • Super Contributor
  • ***
  • Posts: 8063
  • Country: gb
Re: DEX eval by free_electron
« Reply #375 on: February 11, 2015, 06:56:30 pm »
I already have a file provided by Norton on my website to identify my site as safe.
http://kov.com/nortonsw_8b54b780-6c64-0.html

See
https://safeweb.norton.com/report/show?url=kov.com

View attached.

Irrelevant.

Quote
It is not my place to tell Norton their software is wrong. It is my place to advice you to replace Norton with one that works.

Yes, it is, and no, it isn't.
 

Offline Iliya

  • Frequent Contributor
  • **
  • !
  • Posts: 396
  • Country: 00
Re: DEX eval by free_electron
« Reply #376 on: February 11, 2015, 06:58:17 pm »
Can anybody recommend any good books on PCB design or any good web links?

Thanks
 

Offline Iliya

  • Frequent Contributor
  • **
  • !
  • Posts: 396
  • Country: 00
Re: DEX eval by free_electron
« Reply #377 on: February 11, 2015, 07:06:45 pm »
I already have a file provided by Norton on my website to identify my site as safe.
http://kov.com/nortonsw_8b54b780-6c64-0.html

See
https://safeweb.norton.com/report/show?url=kov.com

View attached.

Irrelevant.

Quote
It is not my place to tell Norton their software is wrong. It is my place to advice you to replace Norton with one that works.

Yes, it is, and no, it isn't.


Look, if Norton says my program is dodgy they should do the decent thing and report me to the police or at least have the decency to tell me (which they have not).
My machine is OK, other users are OK. Is yours OK?
Do you have a Norton error on your machine?

Are you Trolling again?


 

Online Monkeh

  • Super Contributor
  • ***
  • Posts: 8063
  • Country: gb
Re: DEX eval by free_electron
« Reply #378 on: February 11, 2015, 07:10:45 pm »
Look, if Norton says my program is dodgy they should do the decent thing and report me to the police or at least have the decency to tell me (which they have not).

That's not how AV software works and you know it.

Quote
My machine is OK, other users are OK. Is yours OK?
Do you have a Norton error on your machine?

I don't use Norton. Doesn't mean I'm telling people to change over one piece of software.

Quote
Are you Trolling again?

I have not been trolling at all. I'm beginning to suspect you are, though.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28059
  • Country: nl
    • NCT Developments
Re: DEX eval by free_electron
« Reply #379 on: February 11, 2015, 07:11:25 pm »
Can anybody recommend any good books on PCB design or any good web links?
I don't know good books from the top of my head but switching mode power supply chips from TI and Linear technology often have an extensive section on the PCB layout. On the other end of the spectrum the SoC ARM devices often have PCB routing guidelines. Look for AN4054.pdf from Freescale. Unfortunately Google obfustigates URLs nowadays so I can't provide a direct link.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online Monkeh

  • Super Contributor
  • ***
  • Posts: 8063
  • Country: gb
Re: DEX eval by free_electron
« Reply #380 on: February 11, 2015, 07:12:30 pm »
Can anybody recommend any good books on PCB design or any good web links?
I don't know good books from the top of my head but switching mode power supply chips from TI and Linear technology often have an extensive section on the PCB layout. On the other end of the spectrum the SoC ARM devices often have PCB routing guidelines. Look for AN4054.pdf from Freescale. Unfortunately Google obfustigates URLs nowadays so I can't provide a direct link.

http://cache.freescale.com/files/dsp/doc/app_note/AN4054.pdf

I suggest installing an appropriate unmangling extension for your browser.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29474
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: DEX eval by free_electron
« Reply #381 on: February 11, 2015, 07:16:27 pm »
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline Iliya

  • Frequent Contributor
  • **
  • !
  • Posts: 396
  • Country: 00
Re: DEX eval by free_electron
« Reply #382 on: February 11, 2015, 07:17:49 pm »
Can anybody recommend any good books on PCB design or any good web links?
I don't know good books from the top of my head but switching mode power supply chips from TI and Linear technology often have an extensive section on the PCB layout. On the other end of the spectrum the SoC ARM devices often have PCB routing guidelines. Look for AN4054.pdf from Freescale. Unfortunately Google obfustigates URLs nowadays so I can't provide a direct link.

Thanks

A Short Course in PCB Layout for High-Speed ADCs
http://www.linear.com/solutions/1809

Here's a good one.
PCB Design Guidelines For Reduced EMI
http://www.ti.com/lit/an/szza009/szza009.pdf
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #383 on: February 11, 2015, 07:21:27 pm »
I already have a file provided by Norton on my website to identify my site as safe.
http://kov.com/nortonsw_8b54b780-6c64-0.html

See
https://safeweb.norton.com/report/show?url=kov.com

View attached.

Irrelevant.

Quote
It is not my place to tell Norton their software is wrong. It is my place to advice you to replace Norton with one that works.

Yes, it is, and no, it isn't.


Look, if Norton says my program is dodgy they should do the decent thing and report me to the police or at least have the decency to tell me (which they have not).
My machine is OK, other users are OK. Is yours OK?
Do you have a Norton error on your machine?

Are you Trolling again?



Can anybody recommend any good books on PCB design or any good web links?

Thanks
OK. dude, get over yourself.
norton = a few hundred million users
dex = a few hundred.

so surely it must be Norton's fault.

this is not the "let's review and recommend virusscanners and then bash each others brains and have a pissing contest in because we're running the wrong one.

I'm just reporting what happens while i'm trying to run this thing. none of the other software i run trips the firewall. ANd there is software in there that checks for licencing over the internet and auto-updates and other stuff.
« Last Edit: February 11, 2015, 07:23:59 pm by free_electron »
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline Wytnucls

  • Super Contributor
  • ***
  • Posts: 3045
  • Country: be
Re: DEX eval by free_electron
« Reply #384 on: February 11, 2015, 07:43:36 pm »
No DEX start problem with Norton 360 and Win 7 here. You must have some strict rules set in Norton, Vincent.
« Last Edit: February 11, 2015, 07:45:44 pm by Wytnucls »
 

Offline Iliya

  • Frequent Contributor
  • **
  • !
  • Posts: 396
  • Country: 00
Re: DEX eval by free_electron
« Reply #385 on: February 11, 2015, 07:59:55 pm »
I see "Max Positive Voltage" and "Max Negative Voltage" in one of your screenshots. Does that mean I can actually specify a voltage per net and have it maintain a greater clearance between 0 and 200V than between 100V and 200V?

That would be nice.

Found this on HIGH VOLTAGE PRINTED CIRCUIT DESIGN & MANUFACTURING

http://www.magazines007.com/pdf/High-Voltage-PCDesign.pdf

I think I'll add this to my real-time DRC.

« Last Edit: February 11, 2015, 08:01:26 pm by Iliya »
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #386 on: February 11, 2015, 09:06:07 pm »
No DEX start problem with Norton 360 and Win 7 here. You must have some strict rules set in Norton, Vincent.
Default settings for Norton Security edition 2015.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline firewalker

  • Super Contributor
  • ***
  • Posts: 2452
  • Country: gr
Re: DEX eval by free_electron
« Reply #387 on: February 11, 2015, 10:56:14 pm »
For how many years is DEX being developed?


Alexander.
Become a realist, stay a dreamer.

 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #388 on: February 12, 2015, 04:11:50 am »
i am working on building some parts and am running into a weird selection artefact

https://www.dropbox.com/s/uwvpsys85ehd0y1/DEX%20selection%20artefact.mp4?dl=0

this happens when selecting pads with shift-click

The following video shows me trying to edit a few pads.

http://dl.dropbox.com/u/62657892/DEX%20pad%20editing%20bugs%20and%20idiosynchraties.mp4



Comment and explanation of my thought process (that will give you an insight in how i work , how i expect things to work. i don't think my method is much different from anyone else's when exploring a program) :

at up to 0:13 i try to set values for the pad only to realize that .. there is only one size. That's kinda odd. I start looking around the GUI to see if i can find where to change it.

at 0:21 i start looking around the pad type. maybe there is a 'rectangle' type as opposed to 'square'.. nope the tooltip clearly reads 'rectangle' so it must be possible to alter x and y independently. weird.

at 0:29 i decide to go back to 'Size' and click ont he flyout, maybe it's hidden there. no . that's the calculator.

at 0:32 i am thinking , maybe i can 'stretch' the pad graphically. nope. the pad stays a square and sizes both x and y if i do that.

at 0:36 - back to the pad menu , maybe i missed something. let;s check again. i see a box 'size' but no x and y ... odd

at 0:49 : explore the polygonal pad. surely i don't need to draw a non-square as a polygon. that would be really whacky ...

at 0:57 i finally spot the tab 'SHAPE'. ah . got it. kinda odd we need a totally separate tab for that. why can't this be on the 'general tab. there's plenty of room there. But ok. that was how Iliya decide it to be. fine. no problem. Let's explore here. there is some dead time where i took some notes to write this timeline.

at 1:23 i start exploring the settings. great that works.

at 1:40 things start going strange and this is where the idiosynchraties begin. i click on pad number two. Notice how in the 'Properties window' we are still on the Shape tab. But under 'Size' the field for 'height' disappears? euh ? why does that happen ? that should not be -bug-

at 1:41 i try a multiselect. ( select both pads by holding down shift and clicking. i get a weird selection artefact on pad 1. maybe this has a meaning , but it looks odd to me. The field for 'Height' reappears in the properties panel. good. let's try changing values

1:47 : width works in multiselect. good

1:49 : height works in multiselect. good

1:50 : lets try to bring both pads in line with each other. There is a box for X and Y .
1:51 X doesn't work -bug-
1:56 Y doesn't work -bug-

maybe it is because of multiselect. let's try it with only one pad

2:18 x doesnt work , y doesnt work. lets try altering the numbers with the scrollwheel. the numbers do change. the pad stays where it is. -bug-

2:34 go to general tab and try it there.
2:35 try scroll wheel on x : it works the pad moves.
2:40 go back to shape and try altering the numbers. doesn't work. oops.

So here are my comments :

1) from a usability perspective there is no need to hide the X and Y size of the shape in a different tab. it is more clicking and more work and there is plenty of space on the 'general tab'. The only 'additional settings' on the Shape tab are widht and height and a roundness slider. Ditch the 'size on the general tab and put those 3 controls there and get rid of the Shape tab

2) if you are going to duplicate x and y settings ; make sure they work. now they are broken. Also the 'height' field disappears when selecting pad 2. that is a bug.

3) mulitselect has weird screen artefacts.

4) once a pad has been made non square in the Shape tab , now a 'Height ' field does appear in the General tab. So it is actually already there, it only appears after futsing around in a separate menu. From a simplicity and user friendlyness perspective this is not good.
All the properties for a pad should be grouped in 1 tab

- shape
- width
-height
- a checkbox to link width and height if you want to ( to force square or round pads) . you can grey-out Height if checked. there is such a checkbox but it is on the Shape tab.
- X and Y coordinates
- pin name
- oversize/shrink for soldermask
- oversize shrink for pastemask

there is a checkbox . there is a checkbox to generate sodermaks automatically.

The Solder mask definition however hides in a totally different panel : the layers panel. that again is illogical. i am trying to define it for the pad i am editing.

problems :
- the mask can only be set to a positive number and not to a negative number. Sometimes you need to create SMDP structures (soldermask defined pads) like for heatslugs under certain packages ( TQFP's or QFN or TSSOP with a center pad used for heat dissipation ). in that case you define a pad that is much larger but you encroach the soldermask to expose only the actual pad size the other copper is to be hidden. this has to do with soldering.  DEx only allows an 'oversize' on the pad. At a minimum i need to be able to set an x and y oversize and for real work i need to be able to DRAW my own arbitrary soldermask opening using rectangles and polygons. This is a serious shortcoming

- there is no definition for paste mask opening. The paste mask may need to be shrunk smaller than the solder mask opening , or i may need to make a lattice structure of paste in the pad to avoid thermal via's for example ( such a lattice could be combine with a solder mask lattice as well. in other situation the paste may need overprinting : more paste than there s copper , to offset thickness variations. once the paste goes liquid it contracts .the flux evaporates so the volume shrinks. i may need to compensate for than actual solder / past mixture and print more paste to get the right amount of solder after the fliux activation phase.
so i need a way to define the paste mask opening again able to draw this as a polygon or collection of elements like a lattice or array of rectangles for example.

In certain circumstances i need to be able to draw on the soldermask. depending on the plating of the board and weight of the copper ( 1 ounce vs a heavy copper board of 4 ounces for example ) it is possible that the manufcaturer of the PCB cannot meet the 'sliver' : the minimum width of a strip soldermask between pads. for thick copper the walls are no longer vertical but slanted. this shrinks the distance at the base of the pads. soldermask must sit only on the carrier material and not on the slant of the copper. In this case i need to shrink the soldermask inbetween pads. it is possible ( and very likely with parts having a pitch of 0.65 or smaller ) that i now end up with a soldermask that i no longer stable. it is so narrow that it will peel off . in such a case i need to remove these slivers. that is done by simply 'drawing' an opening across the row of pads on the solder mask layer. Dex doesn't seem to have such a layer so i cannot make these production critical edits to my board prior to production. my board is not manufacturable as i can't create the correct geometries due to limitations of the cad software.

in short : Soldermask and paste mask must be able to be defined PER PAD , not as a 'global setting'. and must be able to be drawn arbitrarily either as oversize/undersize in respect to the pad or as a collection of arbitrary shapes.

That is the nature of surface mounted technology. there is no dancing around it. it is required.

So here we have a bunch of valuable information for improvements with the how and why it is needed.

I have attached two images to demonstrate such a case.
Red= copper. the chip itself only has a smallpad in the body. there is much more copper required to actively cool it. so here the soldermask defines the opeing where solder will touch the bottom of the package. this opening is the same size as the thermal pad in the chip. this opening in the soldermask cannot be a simple rectangle as we are using thermal via's . these via;s need to be covered in soldermask or the solder will disappear in the holes during reflow. which is not what we want to happen.

the second picture shows the definition of the paste ( gray color) there is less paste required than trhe width of the pin. we also cannot print paste on top of the soldermask we we need to create a pattern inside the soldermask openings.

notice on the first image hgow there is a tiny sliver os soldermask between the center pins ? that is unacceptable for production as dry film mask will peel of and liquid mask does not have such fine resolution. if we are to use thick copper it is complete misery. so i need the ability to selectively remove the mask in those area's ( i have deliberately left it in this drawing to show you what the problem is for manufacturing.

so this is why custom apertures and custom shapes ,on pad level and on package level are mandatory both for soldermask and paste mask. as simple 'oversize' setting works fine for thru-hole parts, but not for surface mounted technology.that is whole different ballgame.
« Last Edit: February 12, 2015, 05:42:18 am by free_electron »
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline Mechatrommer

  • Super Contributor
  • ***
  • Posts: 11713
  • Country: my
  • reassessing directives...
Re: DEX eval by free_electron
« Reply #389 on: February 12, 2015, 05:24:47 am »
-norton throws another fit and slams on the firewall once the main DEX launches. This needs looking at. Don't blame norton. All my other software plays nice and does not have this problem.
Norton shits its pants whenever an application that isn't on its giant whitelist of non-evil software. It might have already sent a sample of DEX back to Norton HQ for analysis. Having a supply of replacement underwear is unfortunately par for the course with Norton, and its constant crying "wolf" only trains users to dismiss its warnings.
I don't seem to have a problem at all with Norton. Works fine no interruption and worked well from VISTA, Windows 7 and Windows 8. Not sure why you all having problems.
any antivirus, not just Norton use some type of fuzzy logic to determine virus signature. one of my "the long and stable been ok" App recently reported as virused when the avast antivirus is updated. all you have to do is report as false positive, add to "remove from scan" list and restore from chest. next upgrade there will be no more false positive (hopefully). why this happens? because their fuzzy logic is "fuzzy". thats how they work regardless of brand name i guess.
Nature: Evolution and the Illusion of Randomness (Stephen L. Talbott): Its now indisputable that... organisms “expertise” contextualizes its genome, and its nonsense to say that these powers are under the control of the genome being contextualized - Barbara McClintock
 

Offline elgonzo

  • Supporter
  • ****
  • Posts: 688
  • Country: 00
Re: DEX eval by free_electron
« Reply #390 on: February 12, 2015, 06:02:32 am »
4) once a pad has been made non square in the Shape tab , now a 'Height ' field does appear in the General tab. So it is actually already there, it only appears after futsing around in a separate menu. From a simplicity and user friendlyness perspective this is not good.

What is going on there is stranger than you noticed...
Watch your video around the 0:34 time mark.

Before 0:34 the Properties tool window to the left contains text fields for Pin Name, Signal, X, Y, and Size.

Then you changed the size of the pad rapidly for a while (making it bigger/smaller/bigger... and so on)

Suddenly, right after you finished playing around with the pad (at the 0:34 time mark), two additional text fields Width and Height appear in the Properties tool window, replacing the Size field.

So, the appearance of Width and Height does not seem to be related to you poking around in separate menus. Rather, those two fields seem to appear 'magically' after you played around with the pad a bit...

Huh...?  ???
« Last Edit: February 12, 2015, 06:04:14 am by elgonzo »
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #391 on: February 12, 2015, 06:36:35 am »
4) once a pad has been made non square in the Shape tab , now a 'Height ' field does appear in the General tab. So it is actually already there, it only appears after futsing around in a separate menu. From a simplicity and user friendlyness perspective this is not good.

What is going on there is stranger than you noticed...
Watch your video around the 0:34 time mark.

Before 0:34 the Properties tool window to the left contains text fields for Pin Name, Signal, X, Y, and Size.

Then you changed the size of the pad rapidly for a while (making it bigger/smaller/bigger... and so on)

Suddenly, right after you finished playing around with the pad (at the 0:34 time mark), two additional text fields Width and Height appear in the Properties tool window, replacing the Size field.

So, the appearance of Width and Height does not seem to be related to you poking around in separate menus. Rather, those two fields seem to appear 'magically' after you played around with the pad a bit...

Huh...?  ???

 good catch ! -edit- shit , you're right. i hadn't spotted the height all of a sudden appearing at 0:35. hang on let me try something .

- place fresh new square pad. only 'size' shows'
- click shape tab . no height box, only width box ??? ehhh where is 'height' ?
- click back on general tab : size box
- attempt to graphically size the pad : during  the dragging only 'Size is shown' a ssoona s il et go of mouse button the 'size' disapperas and is replaced by Width and Height'
- now i can actually click there and alter the numbers. and the shape changes as well.

There is something wonky in there programming logic there.

anyway. it needs simplification. it is too complex with two tabs and the soldermask hidden in a complete different panel.
the 'properties' page should show the following if i click on a pad

- x and y coordinate for the center
- width and height for the pad with possible checkbox to make width and height equal
- oversize for soldermask (and allow for negative to create soldermask defined pads)
- oversize for paste mask ( and allow for negative to underprint paste)
- shape selector ( rectangle, rounded rectangle, circle ) and 'roundness selector' other pad shapes are to be constructed from polygons
- layer selector. (including inner layers if possible so i can do a rigid/flex and assign pads to the inner flex core if needed , but that is very advanced stuff and not immediately required)

that is all that is needed. it can all fit in one panel

the entry boxes already have a calculator and multiselect parameter edit already works .
add capability to add unit suffixes behind numbers in the entry fields and we are set. i want to be able to type 33mil , even if i am in metric grid setting. i do not want to go 500 times a day and toggle units for every number i enter. the tool needs ot recalculate.

the layer panel in part editing mode needs more layers :
- top and bottom soldermask
- top and bottom paste mask se we can draw polygons there to create custom soldermasks and pastemasks
- courtyard layer to be able to draw our own courtyard and not be stuck with an autosized rectangle that fits form nor function

and then we are good to go.




These are the kind of things that should not be and are frustrating . it is illogical and cumbersome.  stuff is spread over too many tabs , duplicated on tabs , the duplicated parts don't always work. this is frustrating. The program looks so promising and then contains such UI mistakes and bugs.

there is also a lot of graphical artefacts.
also the coordinate system is scary. you click set origin on a pad and the x and y read 0:0 you go back and click ont he same pad a bit later and you get 0.000000912342 and -0.00000000127 as coordinates. Can we please have accurate numbers ? i know these are tiny fractions but the big uncertainty is : do they accumulate ? what on a board that is half a meter by half a meter ? Such numerical errors should not exist. Altium was plagued by this for a long time too until they switched their calculation engine over from floats to an internal metric that is the lowest common denominator for both metric and imperial. i forgot what it is but both 1 micron and 1 millionth of an inch  can be represented by an integer in the internal scale. so any translation between units is done as huge integers. that are simply comma adjust by decade division internally the data is always represented by this 'altium unit' so this kind of misery is gone forever.

also z-order selection does sometimes strange things if you have a hollow rectangle overlapping two pads sometimes you cannot pick one of the pads in the rectangle it picks the hollow rectangle instead ( even though you are clicking on the pad and nowhere near the actual border of the rectangle. ) it is not consistent but only sometimes. this has something to do with Z-order of the drawn object. If there is more than one object possible it picks the forefront one so you cannot get to the back object i would expect a popup to come with a list of all the objects under the mouse and letting you pick what it is you want.

the problem is that some of these things are very difficult to explain in words and reproduce from verbal explanation . that is why i installed the screen capture and posted the video's so you can see what i am talking about and how i got there. That hopefully should explain things more clearly and make it easier to fix them for Iliya.
« Last Edit: February 12, 2015, 06:53:24 am by free_electron »
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline IconicPCB

  • Super Contributor
  • ***
  • Posts: 1546
  • Country: au
Re: DEX eval by free_electron
« Reply #392 on: February 12, 2015, 07:25:02 am »
"...   how I expect things to work ..."

What can I say
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #393 on: February 12, 2015, 07:49:34 am »
NEXT video
continuing to create a footprint

http://dl.dropbox.com/u/62657892/DEX%20origin%20and%20scale%20errors%20,%20selection%20problems.mp4

i begin by placing two pads and alteirng their width and highet ( already done )

0:07 the origin is set to -108.585 by 067.945. they are just some arbitrary numbers as i just clicked place pad and placed two pads without really looking where. now i am going to set the origin to the center of pin 1 : right click the cross top left and select set origin. Dex neatly gives me a large crosshair and snaps to the center of pin 1 when i approach it. Good.

0:16 : here is a first warning something is not quite as it seems... the little popup balloon shows 'offset 0.225 0.575'. there should  be no offset ! i just set the origin to the center so it should read 0:0

0:23 : disaster strikes  : in the popup balloon : Center = 7.57E-07 , 3.028E-06  Size 1.2 by 1.5 is correct as those are the number is typed for width and height
 notice how in the properties panel x reads -0.000001 and y reads 0.00000003  so even the x and y fields don;t match the popup balloon numbers ! and neither of thos enumbers match the earlier 'offset' .. hang on ...

0:28 i now click in the x field.  -0.00000075698 that looks like 7.57e-07 when rounded. IT SHOULD READ ZERO  !!!

If there is one thing a cad program must be able to do it is to work correctly with numbers. The floating point bug in the pentium was resolved years ago so you can;t blame it on that. Using IEEE765 for floating point is also not acceptable. Programming languages these days can use huge integers and even have a special numerical format ( sometimes called 'currency' ) that solves such problems. the risk is error accumulation over length.  this needs fixing asap ! and not by kludging in rounding. it needs fixing by switching to higher precision or switching to an integer based internal coordinate system that gets translated to float representation for display only. a CAD program needs to be EXACT. This may look like a small number 0.756 e -06 so if my scale is 1 millimeter. on a 10 by 10 millimeter chip in 18 nanometer technology i am off by a whole transistor ! ( i am joking , but this should not be. the origin was set to 0:0 so it should read 0:0 . cad programs need to be exact )

also the fact that the input field displays a different content when clicked or non clicked is not good. that box should only hold one number irrespective if it is selected or not.

1:03 and on i am typing the comment in the pin name field

1:30 and onwards i start by culling the default silkscreen and courtyard. don't want em, don't like em , going to make the correct one according to IPC standards
so i start by drawing some lines. i'll scale em in a moment.

2:37 : i select the 4 lines by drawing a box around them. DEx dutifully draws a box and puts rotation arrows on the corners. small problem : dex draws right over what i have drawn so i can't see anything ! a visual boundign box shoold always be drawn slightly larger than what it selects so yuo can see what is selected !

so i have the 4 lines. but how do i manipulate them now. The properties tab is still selected but a sub tab reads 'sheet' i was expecting to see 'line ' there and a coupl of boxes to dial in the line width and the position of the selected group. nope.

 let's try a different way.

2:44 : click the bottom line. hols shift key and at 2:46 click the right line. and at 2:47 a bounding box appears. i can no longer see the top or left line as it is overdrawn by the bounding box. this is not a correct way to do this. the bounding box needs ot be larger so it does not obfuscate other stuff i may want to select. a better way would be to forget about the bounding box and simply highlight the elemtns i clicked on. draw them in a different color , make em blink (annoying) or temporarily , while they are selected, highlight them and fatten them by 25% so they stand out. that is much better than simply drawing a rectangle on top of em hiding other stuff.

at 2:48 and 2:51 i am 'trying' to click the othe rlines but can;t really see if i hit them , and if i did succeed hitting them there is no visual feedback. this would be solved by fattening the objects by 25% and drawing them in another color like banana yellow and forgetting about that bounding box.

so let's hope i got all 4 of em. at least i have the 'line' properties in view.

at pi (3:14) i attempt to change the width. clearly i missed selecting the top and left line as they don't follow. notice the screen artefacts on the vertical line ? what's up with that ? i entered 0.010 for width but have no clue if this is millimeters or inches or cows. maybe it's canadian oaktrees. the top right says 'millimeters' as selection but 0.01 doesnt look right. the pad above is 1.5 millimeters tal. if i had entered 0.1 the drawn width would be about right. i have entered 0.01. that is much too wide. maybe it is becasue the lines are still selected , maybe it is a drawing artefact.

at 3:20 i pump up the number to 0.04 look at how wide the line is  it is half the height of the pad (which is 1.5 millimeter ). something is wrong with the 'width setting.  as stated a number of times before : i want to be able to enter a unit suffix. like 0.5 mm or 6 mils. irrespective of what unit system i am in . that would solve such problems.

3:26 : clicking a line that wa snot selected proves the scaling problem : the lines are drawn too fat and in an unknwon dimension system. it almost looks like fractions of inches but the selection at the top bar clearly has MILLIMETERS highlighted .... so eother width is som arbitrary scale ,or it doesn;t listen to the settings of the units on the toolbar. i can't figure it out.

other problems : when multiple lines are selected : manipulating the X or Y coordinates in the properties panel only have effect on one of the selected lines. i cannot move the selection as a group.  like move this block to x location 0. i can group them by right clicking and then selecting group. i i then click on the group i can set the CENTER for the group. i want to set the bottom left corner, or maybe the top right corner.

in most cad programs when doing a 'move' operation the program asks you to pick an origin point. then it asks you to pick a target point and then it does the transmutation. so i can pick bottom left corner of the group as orign and then say i want that selected coordinate to coincide with the point i am showing you next.

I may be wrong but Dex seems to be lacking this basic functionality. moving an object or group of object from point a to point b. That is required base functionality.

the picking of the points should be sensitive to snap points like the edge of an object , the corner of an object or the center of an object. or a gridline or grid intersect point if i approach a pad it should snap to an edge, corner or center depending on what the mouse is closest to.

all for today. it's late. more tomorrow









Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #394 on: February 12, 2015, 07:52:00 am »
"...   how I expect things to work ..."

What can I say
nothing. it's my review. write your own if you expect other behavior.
my expectations are based on my experience with several cad programs and they all have a base set of functionality and way of working. Dex is too different. Change is good, if it improves things, not if it takes flexibility away or imposes roadblocks.

Some of the stuff i point out are clearly bugs or faults in the programming logic. controls that don't work , basic move operations that cannot be done. screen artefacts. coordinate errors. that simply should not be there. not in a program that is this mature. so yes. i 'expect' those things to simply work. just like anyone else would.
« Last Edit: February 12, 2015, 07:56:03 am by free_electron »
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline elgonzo

  • Supporter
  • ****
  • Posts: 688
  • Country: 00
Re: DEX eval by free_electron
« Reply #395 on: February 12, 2015, 08:17:13 am »
at 3:20 i pump up the number to 0.04 look at how wide the line is  it is half the height of the pad (which is 1.5 millimeter ). something is wrong with the 'width setting.  as stated a number of times before : i want to be able to enter a unit suffix. like 0.5 mm or 6 mils. irrespective of what unit system i am in . that would solve such problems.

3:26 : clicking a line that wa snot selected proves the scaling problem : the lines are drawn too fat and in an unknwon dimension system. it almost looks like fractions of inches but the selection at the top bar clearly has MILLIMETERS highlighted .... so eother width is som arbitrary scale ,or it doesn;t listen to the settings of the units on the toolbar. i can't figure it out.

Yupp. The values in the Width text field are apparently in inches.
You entered "0.04" as line width (around time mark 03:21). At time mark 03:27 you hover quickly over a fat white line and a tooltip appears, stating "Width = 1.016mm". 0.04 inches are precisely 1.016mm...
 

Offline codeboy2k

  • Super Contributor
  • ***
  • Posts: 1836
  • Country: ca
Re: DEX eval by free_electron
« Reply #396 on: February 12, 2015, 09:02:49 am »
... Can we please have accurate numbers ? i know these are tiny fractions but the big uncertainty is : do they accumulate ? what on a board that is half a meter by half a meter ? Such numerical errors should not exist. Altium was plagued by this for a long time too until they switched their calculation engine over from floats to an internal metric that is the lowest common denominator for both metric and imperial. i forgot what it is but both 1 micron and 1 millionth of an inch  can be represented by an integer in the internal scale. so any translation between units is done as huge integers. that are simply comma adjust by decade division internally the data is always represented by this 'altium unit' so this kind of misery is gone forever.

I believe it's as follows:  1 inch is exactly 25.4 mm.

1 inch / 25.4 mm = 5 inches / 127 mm. 

Altium keeps numbers internally as whole number integers, which represent the same number, as either integer quantities of 0.00001/127 inches or 0.00001/5 mm.  They are the same.  Note that 0.00001/127 inches is equal to 0.00001/5 mm.  This allows the smallest size to be 1/100,000th of either unit.

So, if you enter 8 mils on a dimension, Altium would do the following:

8 mils: 0.008 * 100000 * 127 = 101600 <== this is the number stored in the PCB file for that dimension

then to display it in inches: 101600 / 127 = 800 (still integer!)
    = > display 800 with the decimal point shifted left by 5 places: 0.00800 inches

to display it in mm : 101600 / 5 = 20320 (still integer!)
    => display 20320 with the decimal point shifted left by 5 places: 0.20320 mm

No floating point math errors.

All the internal math would done on the internal INTEGER units, to eliminate rounding errors and propagation of those errors.
 

Offline Iliya

  • Frequent Contributor
  • **
  • !
  • Posts: 396
  • Country: 00
Re: DEX eval by free_electron
« Reply #397 on: February 12, 2015, 10:39:37 am »
DEX uses floating point numbers with a range of ±1.5e-45 to ±3.4e38 inches.

1.5e-45 inch is somewhat smaller than any PCB tolerance.

DEX converts internal values to units using 2 conversion functions
   WorldToUnits
   UnitsToWorld
with result in floating point.

1 inch is exactly 2.54 cm



« Last Edit: February 12, 2015, 10:47:19 am by Iliya »
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #398 on: February 12, 2015, 01:07:33 pm »
... Can we please have accurate numbers ? i know these are tiny fractions but the big uncertainty is : do they accumulate ? what on a board that is half a meter by half a meter ? Such numerical errors should not exist. Altium was plagued by this for a long time too until they switched their calculation engine over from floats to an internal metric that is the lowest common denominator for both metric and imperial. i forgot what it is but both 1 micron and 1 millionth of an inch  can be represented by an integer in the internal scale. so any translation between units is done as huge integers. that are simply comma adjust by decade division internally the data is always represented by this 'altium unit' so this kind of misery is gone forever.

I believe it's as follows:  1 inch is exactly 25.4 mm.

1 inch / 25.4 mm = 5 inches / 127 mm. 

Altium keeps numbers internally as whole number integers, which represent the same number, as either integer quantities of 0.00001/127 inches or 0.00001/5 mm.  They are the same.  Note that 0.00001/127 inches is equal to 0.00001/5 mm.  This allows the smallest size to be 1/100,000th of either unit.

So, if you enter 8 mils on a dimension, Altium would do the following:

8 mils: 0.008 * 100000 * 127 = 101600 <== this is the number stored in the PCB file for that dimension

then to display it in inches: 101600 / 127 = 800 (still integer!)
    = > display 800 with the decimal point shifted left by 5 places: 0.00800 inches

to display it in mm : 101600 / 5 = 20320 (still integer!)
    => display 20320 with the decimal point shifted left by 5 places: 0.20320 mm

No floating point math errors.

All the internal math would done on the internal INTEGER units, to eliminate rounding errors and propagation of those errors.

That looks about right. Altiums api has functions like CoordToMil and MilToCoor and Coord toMM and MmtoCoord. Whe. You retrieve x itself you ungodly numbers with like 20 digits ... No scientific notation , only extremely large integers.
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline free_electronTopic starter

  • Super Contributor
  • ***
  • Posts: 8550
  • Country: us
    • SiliconValleyGarage
Re: DEX eval by free_electron
« Reply #399 on: February 12, 2015, 01:24:33 pm »
DEX uses floating point numbers with a range of ±1.5e-45 to ±3.4e38 inches.

1.5e-45 inch is somewhat smaller than any PCB tolerance.

DEX converts internal values to units using 2 conversion functions
   WorldToUnits
   UnitsToWorld
with result in floating point.

1 inch is exactly 2.54 cm
That looks small enough to be insignificant so we should be good. As long as errors don't accumulate we can get away with this. Still i would like to see a cleanup algorithm show me 0:0 if is set origin to 0:0.  I know this obfuscates the true numbers, but the are already obfuscated anyway (selected versus not select box changes contents).  Changing the internal coordinate system is possible an insurmountable task so i'm not going to harp on about it. E-45 is small enough it should not pose problems. So i can live with it.
« Last Edit: February 12, 2015, 01:28:03 pm by free_electron »
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf