Peter Clifton [Mon, 27 Feb 2017 23:14:55 +0000 (27 23:14 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 23:14:55 +0000 (27 23:14 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 23:14:12 +0000 (27 23:14 +0000)]
pop
Peter Clifton [Mon, 27 Feb 2017 23:14:12 +0000 (27 23:14 +0000)]
pop
Peter Clifton [Mon, 27 Feb 2017 23:13:45 +0000 (27 23:13 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 23:13:45 +0000 (27 23:13 +0000)]
push
Peter Clifton [Sun, 19 Feb 2017 23:18:24 +0000 (19 23:18 +0000)]
Demo of exporter specific export routine
XXX: Bitrotten - does not build
Peter Clifton [Mon, 27 Feb 2017 23:13:43 +0000 (27 23:13 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 23:13:43 +0000 (27 23:13 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 23:13:43 +0000 (27 23:13 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 23:13:43 +0000 (27 23:13 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 23:13:42 +0000 (27 23:13 +0000)]
Refresh of crasy-test
Peter Clifton [Mon, 27 Feb 2017 23:13:03 +0000 (27 23:13 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.
Peter Clifton [Mon, 27 Feb 2017 23:13:03 +0000 (27 23:13 +0000)]
rebase (CONFLICT)
Peter Clifton [Mon, 27 Feb 2017 23:13:03 +0000 (27 23:13 +0000)]
rebase (CONFLICT)
Peter Clifton [Mon, 27 Feb 2017 23:13:03 +0000 (27 23:13 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.
Peter Clifton [Mon, 27 Feb 2017 23:13:03 +0000 (27 23:13 +0000)]
rebase
Peter Clifton [Mon, 27 Feb 2017 23:13:03 +0000 (27 23:13 +0000)]
rebase
Peter Clifton [Mon, 27 Feb 2017 23:12:59 +0000 (27 23:12 +0000)]
Fix indentation in one place (avoids spurious gcc warning)
Peter Clifton [Mon, 27 Feb 2017 23:12:59 +0000 (27 23:12 +0000)]
Tidy up range check in misc.c
For consistnecy with other range checks involving max_copper_layer, and to
drive home the fact we are checking for exceeding max_copper_layer + 2.
NB: The +2 relates to the bottom silk and top-silk layers, whose numbers
are used to denote the bottom and top layer groups respectively.
re-write:
layer > max_copper_layer + 1
to become:
layer >= max_copper_layer + 2
Peter Clifton [Mon, 27 Feb 2017 23:12:59 +0000 (27 23:12 +0000)]
Fixup some bugs from the added soldermask layers
(TODO: Finish this fixup and merge it down into the relevant patches)
Peter Clifton [Mon, 27 Feb 2017 23:12:59 +0000 (27 23:12 +0000)]
draw.c: Opencode the mask layer object drawing functions
Calling DrawLayer() did not render using the correct graphics context / colors.
NB: We're still using the "wrong" GC, but we now avoid selecting inappropriate
colors which prevent (say) PS export working correctly for mask layer objects.
Peter Clifton [Mon, 27 Feb 2017 23:12:59 +0000 (27 23:12 +0000)]
Add support for a two soldermask layers, defining regions of removed mask
File-format wise, these work similarly to how silk layers are supported now:
Layer (1 to n "[NAME]") # "ordinary" design layers
Layer (n+1 "silk") # bottom side silk
Layer (n+2 "silk") # top side silk
Layer (n+3 "bottom soldermask") # bottom side soldermask
Layer (n+4 "top soldermask") # top side soldermask
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
Avoid hard-coding the number of extra layers in use (for 2x silkscreen)
We will shorty add support for soldermask layers, so this will need changing
NOTE....... IF THE parse_y.y patch in the stg series before this gets
dropped, there is one more case where + 2 needs to be replaced with EXTRA_LAYERS
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
Fixup incorrect usage of MAX_ALL_LAYERS and SILK_LAYER in GUI
These were incorrectly changed to be relative to MAX_ALL_LAYERS, and should be
relateive to MAX_LAYERS like they used to be. This is because we are counting
extra buttons past the number of copper layers (MAX_LAYERS).
Similarly, SILK_LAYER happens to be 2.. this is NOT why there are two buttons
in the GUI after the copper buttons, one is for the current silk layer, one is
for the rats layer.
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
find.c: The User varaible needs to die...
Reduce its usage to where absolutely necessary... oh, what a surprise,
another variable passing state down into add_object_to_list ()
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
Add the drc flag as a parameter
Ok, this is nasty.. I'm obscuring setting of the global varaible... be careful!
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
Add the bloat as a parameter
Ok, this is nasty.. I'm obscuring setting of the global varaible... be careful!
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
find.c: Refactor some common sequences into a helper function
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
parse_y.y: Try to avoid two shift/reduce and reduce/reduce warnings
TODO: Check this matches up against our expected behavior.
Removing the parsedata section ("I think") has no effect, as elements
hit the alternative | element clause within parsepcb.
HOWEVER... I need to check whether there is any other valid syntax
inside an element file, or any backwards compatibility with old formats
which we may miss with the loss of parsedata.
Peter Clifton [Mon, 27 Feb 2017 23:12:58 +0000 (27 23:12 +0000)]
Play with grid snapping heuristics a little
Require the pointer to be inside the bounding box of a pin / pad / via before snapping.
This makse it MUCH easier to place vias in a regular grid spaced at the PCB grid spacing.
Peter Clifton [Mon, 27 Feb 2017 23:12:57 +0000 (27 23:12 +0000)]
Add hysteresis to grid-snapping
Peter Clifton [Thu, 7 Jan 2016 02:18:59 +0000 (7 02:18 +0000)]
Remove graphics pointer from HID structure
Peter Clifton [Thu, 7 Jan 2016 02:18:59 +0000 (7 02:18 +0000)]
Pass a HID_DRAW * instance to hid_expose_callback() rather than a HID * pointer
Drawing should eventually be independent of the HID
Peter Clifton [Thu, 7 Jan 2016 02:18:59 +0000 (7 02:18 +0000)]
Fixup draw.c not to special case based on HID name, use flags instead
Peter Clifton [Thu, 7 Jan 2016 02:18:58 +0000 (7 02:18 +0000)]
hidgl: Provide more explicit management of rendering instances
Provide an (hidgl_instance *) pointer which is used to refer to a hidgl
instance when caling hidgl_* APIs that are instance, but not hidGC specific.
Various hidgl APIs now take the hidgl_instance as a parameter, or in the case
of hidgl_new_instance(), return a new instance.
Graphics APIs which previously had a hidGC parameter remain the same, as the
hidglGC structure now contains a link to the hidgl instance which created it.
This change paves the way to potentially having multiple hidgl instances active
simultaneously, and removes various global variables (such as "buffer" and
"global_depth") which were previously accessible to allow the gtk-gl HID to
draw using the hidgl internals.
The gtk-gl HID_DRAW graphics API now subclasses the hidgl HID_DRAW API, so the
gtk-gl HID can access the (non-private) gtk_gc->hidgl_gc.* fields.
Peter Clifton [Thu, 7 Jan 2016 02:18:58 +0000 (7 02:18 +0000)]
TEMP: Fixup fallout from nogui change
*** Might be nicer to just implement a no-op end_layer function for each HID_DRAW?
Peter Clifton [Mon, 27 Feb 2017 22:42:56 +0000 (27 22:42 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 22:42:56 +0000 (27 22:42 +0000)]
push
Peter Clifton [Sun, 19 Feb 2017 23:18:24 +0000 (19 23:18 +0000)]
Demo of exporter specific export routine
XXX: Bitrotten - does not build
Peter Clifton [Mon, 27 Feb 2017 22:42:55 +0000 (27 22:42 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:42:55 +0000 (27 22:42 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:42:55 +0000 (27 22:42 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:42:55 +0000 (27 22:42 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:42:55 +0000 (27 22:42 +0000)]
Refresh of crasy-test
Peter Clifton [Mon, 27 Feb 2017 22:42:43 +0000 (27 22:42 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:42:43 +0000 (27 22:42 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:42:43 +0000 (27 22:42 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:42:43 +0000 (27 22:42 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:42:43 +0000 (27 22:42 +0000)]
Refresh of crasy-test
Peter Clifton [Mon, 27 Feb 2017 22:42:28 +0000 (27 22:42 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.
Peter Clifton [Mon, 27 Feb 2017 22:42:28 +0000 (27 22:42 +0000)]
rebase (CONFLICT)
Peter Clifton [Mon, 27 Feb 2017 22:42:28 +0000 (27 22:42 +0000)]
rebase (CONFLICT)
Peter Clifton [Mon, 27 Feb 2017 22:42:28 +0000 (27 22:42 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.
Peter Clifton [Mon, 27 Feb 2017 22:42:28 +0000 (27 22:42 +0000)]
rebase
Peter Clifton [Mon, 27 Feb 2017 22:42:28 +0000 (27 22:42 +0000)]
rebase
Peter Clifton [Mon, 27 Feb 2017 22:42:24 +0000 (27 22:42 +0000)]
Fix indentation in one place (avoids spurious gcc warning)
Peter Clifton [Mon, 27 Feb 2017 22:42:24 +0000 (27 22:42 +0000)]
Tidy up range check in misc.c
For consistnecy with other range checks involving max_copper_layer, and to
drive home the fact we are checking for exceeding max_copper_layer + 2.
NB: The +2 relates to the bottom silk and top-silk layers, whose numbers
are used to denote the bottom and top layer groups respectively.
re-write:
layer > max_copper_layer + 1
to become:
layer >= max_copper_layer + 2
Peter Clifton [Mon, 27 Feb 2017 22:42:24 +0000 (27 22:42 +0000)]
Fixup some bugs from the added soldermask layers
(TODO: Finish this fixup and merge it down into the relevant patches)
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
draw.c: Opencode the mask layer object drawing functions
Calling DrawLayer() did not render using the correct graphics context / colors.
NB: We're still using the "wrong" GC, but we now avoid selecting inappropriate
colors which prevent (say) PS export working correctly for mask layer objects.
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
Add support for a two soldermask layers, defining regions of removed mask
File-format wise, these work similarly to how silk layers are supported now:
Layer (1 to n "[NAME]") # "ordinary" design layers
Layer (n+1 "silk") # bottom side silk
Layer (n+2 "silk") # top side silk
Layer (n+3 "bottom soldermask") # bottom side soldermask
Layer (n+4 "top soldermask") # top side soldermask
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
Avoid hard-coding the number of extra layers in use (for 2x silkscreen)
We will shorty add support for soldermask layers, so this will need changing
NOTE....... IF THE parse_y.y patch in the stg series before this gets
dropped, there is one more case where + 2 needs to be replaced with EXTRA_LAYERS
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
Fixup incorrect usage of MAX_ALL_LAYERS and SILK_LAYER in GUI
These were incorrectly changed to be relative to MAX_ALL_LAYERS, and should be
relateive to MAX_LAYERS like they used to be. This is because we are counting
extra buttons past the number of copper layers (MAX_LAYERS).
Similarly, SILK_LAYER happens to be 2.. this is NOT why there are two buttons
in the GUI after the copper buttons, one is for the current silk layer, one is
for the rats layer.
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
find.c: The User varaible needs to die...
Reduce its usage to where absolutely necessary... oh, what a surprise,
another variable passing state down into add_object_to_list ()
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
Add the drc flag as a parameter
Ok, this is nasty.. I'm obscuring setting of the global varaible... be careful!
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
Add the bloat as a parameter
Ok, this is nasty.. I'm obscuring setting of the global varaible... be careful!
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
find.c: Refactor some common sequences into a helper function
Peter Clifton [Mon, 27 Feb 2017 22:42:23 +0000 (27 22:42 +0000)]
parse_y.y: Try to avoid two shift/reduce and reduce/reduce warnings
TODO: Check this matches up against our expected behavior.
Removing the parsedata section ("I think") has no effect, as elements
hit the alternative | element clause within parsepcb.
HOWEVER... I need to check whether there is any other valid syntax
inside an element file, or any backwards compatibility with old formats
which we may miss with the loss of parsedata.
Peter Clifton [Mon, 27 Feb 2017 22:42:22 +0000 (27 22:42 +0000)]
Play with grid snapping heuristics a little
Require the pointer to be inside the bounding box of a pin / pad / via before snapping.
This makse it MUCH easier to place vias in a regular grid spaced at the PCB grid spacing.
Peter Clifton [Mon, 27 Feb 2017 22:42:22 +0000 (27 22:42 +0000)]
Add hysteresis to grid-snapping
Peter Clifton [Thu, 7 Jan 2016 02:18:59 +0000 (7 02:18 +0000)]
Remove graphics pointer from HID structure
Peter Clifton [Thu, 7 Jan 2016 02:18:59 +0000 (7 02:18 +0000)]
Pass a HID_DRAW * instance to hid_expose_callback() rather than a HID * pointer
Drawing should eventually be independent of the HID
Peter Clifton [Thu, 7 Jan 2016 02:18:59 +0000 (7 02:18 +0000)]
Fixup draw.c not to special case based on HID name, use flags instead
Peter Clifton [Thu, 7 Jan 2016 02:18:58 +0000 (7 02:18 +0000)]
hidgl: Provide more explicit management of rendering instances
Provide an (hidgl_instance *) pointer which is used to refer to a hidgl
instance when caling hidgl_* APIs that are instance, but not hidGC specific.
Various hidgl APIs now take the hidgl_instance as a parameter, or in the case
of hidgl_new_instance(), return a new instance.
Graphics APIs which previously had a hidGC parameter remain the same, as the
hidglGC structure now contains a link to the hidgl instance which created it.
This change paves the way to potentially having multiple hidgl instances active
simultaneously, and removes various global variables (such as "buffer" and
"global_depth") which were previously accessible to allow the gtk-gl HID to
draw using the hidgl internals.
The gtk-gl HID_DRAW graphics API now subclasses the hidgl HID_DRAW API, so the
gtk-gl HID can access the (non-private) gtk_gc->hidgl_gc.* fields.
Peter Clifton [Thu, 7 Jan 2016 02:18:58 +0000 (7 02:18 +0000)]
TEMP: Fixup fallout from nogui change
*** Might be nicer to just implement a no-op end_layer function for each HID_DRAW?
Peter Clifton [Mon, 27 Feb 2017 22:38:29 +0000 (27 22:38 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 22:38:29 +0000 (27 22:38 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 22:37:21 +0000 (27 22:37 +0000)]
pop
Peter Clifton [Mon, 27 Feb 2017 22:37:21 +0000 (27 22:37 +0000)]
pop
Peter Clifton [Mon, 27 Feb 2017 22:23:15 +0000 (27 22:23 +0000)]
push
Peter Clifton [Mon, 27 Feb 2017 22:23:15 +0000 (27 22:23 +0000)]
push
Peter Clifton [Sun, 19 Feb 2017 23:18:24 +0000 (19 23:18 +0000)]
Demo of exporter specific export routine
XXX: Bitrotten - does not build
Peter Clifton [Mon, 27 Feb 2017 22:23:14 +0000 (27 22:23 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:23:14 +0000 (27 22:23 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:23:13 +0000 (27 22:23 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:23:13 +0000 (27 22:23 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:23:13 +0000 (27 22:23 +0000)]
Refresh of crasy-test
Peter Clifton [Mon, 27 Feb 2017 22:22:12 +0000 (27 22:22 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:22:12 +0000 (27 22:22 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:22:12 +0000 (27 22:22 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:22:12 +0000 (27 22:22 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:22:12 +0000 (27 22:22 +0000)]
Refresh of crasy-test
Peter Clifton [Mon, 27 Feb 2017 22:19:11 +0000 (27 22:19 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:19:11 +0000 (27 22:19 +0000)]
refresh
Peter Clifton [Mon, 27 Feb 2017 22:19:11 +0000 (27 22:19 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:19:11 +0000 (27 22:19 +0000)]
refresh (create temporary patch)
Peter Clifton [Mon, 27 Feb 2017 22:19:11 +0000 (27 22:19 +0000)]
Refresh of crasy-test
Peter Clifton [Mon, 27 Feb 2017 22:18:49 +0000 (27 22:18 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.
Peter Clifton [Mon, 27 Feb 2017 22:18:49 +0000 (27 22:18 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.
Peter Clifton [Mon, 27 Feb 2017 22:18:49 +0000 (27 22:18 +0000)]
Crasy test
Note that this throws away code to draw pad and pin names
XXX: Bitrotten - not up to date w.r.t. BB Vias.