Lukas K. schrieb:> (Kann im Padstack in den Eigenschaften vom Loch eingestellt werden)
Danke, das war's.
> Du hast dir ja eigene Padstacks für deine Pads gemacht? Warum hast du> nicht die vorhanden benutzt und parametriert?
Zum Zeitpunkt des Erstellens wusste ich das schlicht nicht!
Klaus R. schrieb:> Lukas K. schrieb:>> Du hast dir ja eigene Padstacks für deine Pads gemacht? Warum hast du>> nicht die vorhanden benutzt und parametriert?>> Zum Zeitpunkt des Erstellens wusste ich das schlicht nicht!
Ich habe es auch erst später verstanden. Wenn man es dann aber
konsequent umsetzt, kommt man recht wenigen Padstacks aus. Das Konzept
ist gut!
Uwe
Noch ein kleiner Bug: Im Packages Editor nutzt "Draw Line Rectangle"
immer den Top Copper Layer, unabhängig davon, welcher Layer gerade
ausgewählt ist. Ein Hotkey dafür wäre schön.
Und noch einer: Am Ende des Part Wizards wird beim anlegen der
Verzeichnisse für Entites, Units, Symbols und Parts nicht geprüft, ob
die Verzeichnisse schon vorhanden sind.
Klaus R. schrieb:> Und noch einer: Am Ende des Part Wizards wird beim anlegen der> Verzeichnisse für Entites, Units, Symbols und Parts nicht geprüft, ob> die Verzeichnisse schon vorhanden sind.
Auch repariert.
Hallo,
erst mal danke an Klaus für das komplette Beispiel
"rpicodec-2017-11-13.tgz". Ich habe mal die Gerber Files von dem Projekt
erzeugt und mit einem Gerber Viewer - ViewMate (Pentalogix) -
angeschaut. Beim Import des "bottom-layer" .gbl kommt eine
Fehlermeldung. Ich habe dann "Ja" gedrückt. Das Ergebnis sieht aber auf
den ersten Blick korrekt aus. Was könnte da der Fehler sein?
Meine Version von horizon ist von ca. 23Uhr (heute).
Hallo Lukas.
Da ich mehr Anwender bin und weniger Programmierer:
Gibt es fertige Windows Versionen (32bit)?
Also Installer oder auch Portabel (entpacken und starten).
Wäre es möglich diese und auch für andere (Win 64Bit / Linux 32/64)
gleich immer mit zu machen. Von mir aus auch nur jede Woche oder nach
schweren Fehlern.
Grüße, Uli
Uli schrieb:> Wäre es möglich diese und auch für andere (Win 64Bit / Linux 32/64)> gleich immer mit zu machen. Von mir aus auch nur jede Woche oder nach> schweren Fehlern.
Vielleicht hilft dir das schon mal zum Einstieg.
Windows Versionen gibt es hier. Die Neueste dort ist von gestern.
https://github.com/carrotIndustries/horizon/wiki/Getting-started
Die Startseite.
https://github.com/carrotIndustries/horizon
Ziemlich unten auf "wiki" klicken. Da geht es dann weiter.
Obwohl ich kein Programmierer bin, kompiliere ich jetzt selbst in
Windows.
#Einmalig mysys2 installieren
Anleitung siehe Webseite von Lukas.
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Windows
#Im home/user Verzeichnis von mysys2 ein Verzeichnis anlegen.
mkdir horizonxyz
mysys2 starten. Ein Terminal geht auf. In dem Terminal wird dann
gearbeitet.
#Vom home-Verzeichnis in dieses Verzeichns wechseln.
cd horizonxyz
#Die Source-Files herunterladen.
git clone http://github.com/carrotIndustries/horizon
#In das von clone angelegte Unterverzeichnis horizon wechseln.
cd horizon
#Kompilieren mit allen logischen cores des Prozessors. Beispiel i7 mit 4
cores + hyperthreading.
make -j 8
Die debug-Symbole aus den Files löschen.
strip horizon-*
#Die WIN-Version im Ordner "dist" ablegen
./make_bindist.sh
Im Unter-Ordner "dist" ist dann ein Verzeichnis horizon. Das ist das
Programmverzeichnis für die Windows-Version.
Helmut S. schrieb:> Das Ergebnis sieht aber auf> den ersten Blick korrekt aus. Was könnte da der Fehler sein?
War wohl persönliches Unvermögen, Dinge richtig aus der
Gerber-Spezifikation abzutippen. Ist repariert.
Helmut S. schrieb:> Die debug-Symbole aus den Files löschen.>> strip horizon-*
Das macht auch schon die ./make_bindist.sh beim Erstellen des
dist-Verzeichnisses.
Also Lukas, ich muss es doch noch mal schreiben, ich bin schon sehr
beeindruckt wie weit Du schon gekommen bist. Ich nehme mal stark an dass
Du bisher nur einige tausend Stunden, vielleicht maximal 5000, an dem
Programm gearbeitest hast. Und dann schon einen funktionierenden
Schaltplaneditor, einen Layouteditor, Gerber Export und OpenGL. Wenn
man das Vergleicht mit der elend langsamen Weiterentwicklung etwa von
gEDA/PCB. Oder auch KiCad, wo sich ja auch über viele Jahre nur sehr
wenig getan hatte.
Dein Beispielil zeigt also, dass komplette Neuentwicklungen wirklich
Sinn machen.
...schließe mich meinem Vorredener an, habs zwar bisher nicht angeguckt,
aber beeindruckt gelesen was hier diskutiert wird.
>Sinn machen.
^Sinn machen^Sinn haben^
Gruß,
Holm
Stefan S. schrieb:> Dein Beispielil zeigt also, dass komplette Neuentwicklungen wirklich> Sinn machen.
Ja, mir geht es auch so ... Und die Code-Qualität und das Wissen das
dahinter steckt ... Schon sehr beeindruckend.
Leider leider entwickeln sich 90% eines Programms in 10% der Zeit ...
Die anderen 10% benötigen dann 90% Zeit.
Die zeitaufwändigen Sachen kommen vermutlich erst ... Bug-fixing und
Usability ... Das ist dann immer das Stadium, in dem ich die Lust an
etwas verliere und mir etwas neues zum Basteln suche :/
Hallo Lukas,
ich habe nochmal eine Frage zu den Swap-Groups der Unit's. Wozu braucht
man die? Können etwas pins einer Swap-Group getauscht werden? Hat die
Nummer der Swap-Group eine Bedeutung?
Uwe
Uwe S. schrieb:> Können etwas pins einer Swap-Group getauscht werden? Hat die> Nummer der Swap-Group eine Bedeutung?
Für Pins soll die Swap group in Zukunft für's Pinswapping verwendet
werden:
0 bedeutet nicht tauschbar, für alle anderen Nummern sind Pins mit
gleicher Nummer tauschbar. (So wie bei EAGLE auch)
Für Gates in Entities analog dazu. (Gateswapping)
Bis jetzt kam mir nur noch keine zündende Idee, wie man das elegant
implementieren kann.
Was die Entwicklung anbetrifft: An einigen Stellen habe ich mir das
Leben (vielleicht zu) einfach gemacht:
1. Schematic::expand() und Board::expand() Diese Methoden befüllen
Schaltplan und Board mit Informationen aus der Netzliste, Räumen im
Schaltplan Linien und Junctions auf, wenden im Board die Parameter auf
Packages an, Berechnen airwires, etc. Alles das geschieht nach jedem
Tool. D.h. auch wenn man nur eine Kleinigkeit angefasst hat, wird alles
neu berechnet. Aktuell scheint das von der Geschwindigkeit her noch kein
Problem zu sein, mal sehen wie lange das noch so bleibt.
2. Canvas::render() Rendert (macht aus Packags, Pads, etc. Linien und
Dreiecke) immer alles neu und Trianguliert auch die Planes damit die von
der GPU gerendert werden könnnen. Das geschieht, wenn ein Tool aktiv ist
nach jeder Benutzereingabe. Durch den KiCad-Router hat das Canvas
Möglichkeiten bekommen, bereits gerenderts zu löschen und Dinge
nachträglich zum gerenderten hinzufügen. Vielleicht wird diese
Funktionalität in Zukunft auch noch von mehr Tools genutzt werden, wenn
Canvas::render zum Flaschenhals wird.
3. DRC hat quadratische Komplexität. DRC ist in sich recht
abgeschlossen, d.h. man kann dort einfach ohne weitere Umbauten
optimieren.
Die Idee dabei war: Erstmal Komplexität vermeiden und machen, dass es
funktioniert. Schneller bekommt man es später immer noch.
Nachtrag zum Kompilieren der WIN version auf einem WIN-PC.
Einmalig mysys2 installieren. Anleitung siehe Webseite von Lukas.
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Windows
Gtk-Bug, Grafikfehler nach dem 3D Aufruf
--
In dem zip von mir ist eine gepatchte libgdk (ja, gdk, kein Tippfehler)
Kopier' mal die libgdk-3-0.dll aus meinem zip nach C:\msys64\mingw64\bin
--Lukas
--- WIN version erzeugen
In WIN mysys2 starten. Ein Terminal geht auf. In dem Terminal wird dann
gearbeitet.
#Im home/user Verzeichnis von mysys2 ein Verzeichnis anlegen.
$ mkdir horizonxyz
#Vom home-Verzeichnis in dieses Verzeichns wechseln.
$ cd horizonxyz
#Die Source-Files herunterladen.
$ git clone http://github.com/carrotIndustries/horizon
#In das von clone angelegte Unterverzeichnis horizon wechseln.
$ cd horizon
#Kompilieren mit allen logischen cores des Prozessors. Beispiel i7 mit 4
cores + hyperthreading.
$ make -j 8
#Die WIN-Version im Ordner "dist" erzeugen.
$ ./make_bindist.sh
Im Unter-Ordner "dist" ist dann ein Verzeichnis horizon. Das ist das
Programmverzeichnis für die Windows-Version.
Helmut S. schrieb:> In dem zip von mir ist eine gepatchte libgdk (ja, gdk, kein Tippfehler)> Kopier' mal die libgdk-3-0.dll aus meinem zip nach C:\msys64\mingw64\bin
Mittlerweile braucht man kein gepatchtes Gtk/gdk mehr, letzte Woche gab
es ein Bugfix-release von Gtk mit dem Patch drin, das es auch schon in
msys2 geschafft hat. Einfach in der mingw64-shell "pacman -Syu"
eingeben, damit alle Pakete auf den aktuellen Stand gebracht werden.
Danke Lukas, nach dem update von mysys2 geht es jetzt ohne den Austausch
der libgdk-3-0.dll.
-----------------------------------------------------------
Aleitung zum Kompilieren der WIN version auf einem WIN-PC.
Einmalig mysys2 installieren. Anleitung siehe Webseite von Lukas.
https://github.com/carrotIndustries/horizon/wiki/B...
--- WIN version erzeugen
In WIN mysys2 starten. Ein Terminal geht auf. In dem Terminal wird dann
gearbeitet.
#Im home/user Verzeichnis von mysys2 ein Verzeichnis anlegen.
$ mkdir horizonxyz
#Vom home-Verzeichnis in dieses Verzeichns wechseln.
$ cd horizonxyz
#Die Source-Files herunterladen.
$ git clone http://github.com/carrotIndustries/horizon
#In das von clone angelegte Unterverzeichnis horizon wechseln.
$ cd horizon
#Kompilieren mit allen logischen cores des Prozessors damit es schnell
geht. Beispiel CPU mit 4 cores + hyperthreading -> -j 8.
$ make -j 8
#Die WIN-Version im Ordner "dist" erzeugen.
$ ./make_bindist.sh
Im Unter-Ordner "dist" ist dann ein Verzeichnis horizon. Das ist das
Programmverzeichnis für die Windows-Version.
Ich wollte die Zoom-Stufen bei Bedarf kleiner machen (damit z.B. ein
Schaltplan gut den Bildschirm ausfüllt). Wenn man jetzt Shift drückt,
dann wir der Zoom-Faktor (bzw. Exponent) statt 1.5 auf 1.1 gesetzt.
Klaus R. schrieb:> Wenn man jetzt Shift drückt,> dann wir der Zoom-Faktor (bzw. Exponent) statt 1.5 auf 1.1 gesetzt.
Danke für die Idee, ich hab das gerade mal in leicht anderer Form
eingebaut.
Klaus R. schrieb:> Oh, gut. Frage: Was macht "g drag and keep slope"?
Damit bleiben beim schieben der schrägen Leitung die vertikalen Segmente
immer vertikal. Das hilft um ein schönes 45° Routing zu erhalten.
Hallo Lukas
ich bin jetzt auch neugierig geworden und wollte mir dein Programm
anschauen.
Compilieren war nach der Aktualisierung der benötigten Pakete kein
Problem.
Die Ausgabe in den GL Canvas scheint es aber mit meiner Hardware nicht
zu gehen:
Diese Meldungen tauchen in der Konsole auf:
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, GROUP_CONCAT(tags.tag, ' '), parts.filename FROM parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages ON packages.uuid = parts.package WHERE parts.MPN LIKE ? AND parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid ORDER BY parts.MPN COLLATE naturalCompare ASC
3
col 2
4
create proc
5
spawn /home/data/Downloads/horizon/horizon-imp -c /home/helmut/CAD/Horizon/HB test 1/top_sch.json /home/helmut/CAD/Horizon/HB test 1/top_block.json
6
Linking failure: Vertex info
7
-----------
8
0(2) : warning C7568: #version 330 not fully supported on current GPU target profile
9
0(13) : error C5108: unknown semantics "INSTANCEID" specified for "gl_InstanceID"
10
11
Fragment info
12
-------------
13
0(2) : warning C7568: #version 330 not fully supported on current GPU target profile
Helmut B. schrieb:> Ist meine Hardware zu alt? Oder siehst du noch einen Ansatzpunkt, dein> Programm zum laufen zu bringen?
Scheint so als sei die zu alt: Laut Wikipedia kann die GeForce 6100 wohl
nur OpenGL 2.1, das reicht nicht. Die Karte ist aber auch schon deutlich
über 10 Jahre alt... So spontan fällt mir da nichts ein, wie es ohne
OpenGL 3-GPU funktionieren könnte.
Hallo Helmut,
falls du noch einen neueren WIN7/WIN10 PC hast, kannst du ja mal die
kompilierte WIN-Version herunterladen und damit testen. Die Neueste ist
vom 18.11.2017.
http://0x83.eu/horizon-zip/
Helmut S. schrieb:> warum haben Vias keinen Netznamen?
Aktuell erhalten Vias ihr Netz durch den Track, der mit der Junction
verbunden ist. Unverbundenen Vias Netze zuordnen zu können steht aber
auch auf meiner zeitnahen Todo-Liste.
Abdul K. schrieb:> Hm, also kann man deine Software nur auf neuen Geräten verwenden?
Neuer im Sinne von Jünger als ~8 Jahre, ja. Horizon ist aber auch mehr
ein Projekt für die Zukunft, bis es denn mal "ausgereift" ist, haben
auch mehr Leute eine GPU, die OpenGL 3 kann. OpenGL 3 ist jetzt auch
schon ~8 Jahre alt und mit OpenGL 2 will man heutzutage nichts mehr neu
anfangen...
Lukas K. schrieb:> Unverbundenen Vias Netze zuordnen zu können steht aber> auch auf meiner zeitnahen Todo-Liste.
Wenn das geht, wärst du zumindest in diesem Punkt dem KiCad schon
voraus^^
Via-Stitching geht zwar mit KiCad auch, aber nur umständlich ... Braucht
man aber oft und ist daher eine eigentlich recht wichtige Funktion.
Mampf F. schrieb:> Wenn das geht, wärst du zumindest in diesem Punkt dem KiCad schon> voraus^^
Ist drin: Man kann nun Vias mit dem "Set via net"-Tool Vias, die ohne
Netz auf dem Board liegen ein Netz zuweisen.
Lukas K. schrieb:> Mampf F. schrieb:>> Wenn das geht, wärst du zumindest in diesem Punkt dem KiCad schon>> voraus^^>> Ist drin: Man kann nun Vias mit dem "Set via net"-Tool Vias, die ohne> Netz auf dem Board liegen ein Netz zuweisen.
Danke, dass man gleich mehrere Vias selektieren kann und denen auf einen
Schlag das gleiche Netz, z. B. GND, zuweisen kann.
Hallo Lukas,
als ich heute das Board eines kleinen Beispielprojekts öffnen wollte,
stürzte
mir horizon-imp mit status code 6 ab. Das hier mal gepostete Raspberrypi
Projekt zeigt dieses Verhalten nicht. Bei meinem Projekt tritt der
Fehler auch dann auf, wenn ich Versionen von horizon der letzten Tage
verwende. Es muss also irgendwo in meinem Projekt oder meinem lokalen
Pool begründet sein. Wie kreise ich den Fehler am besten ein?
Uwe
Lukas K. schrieb:> Helmut S. schrieb:>> So war das doch bestimmt nicht gedacht oder>> doch?>> Leider ja, das Move-Tool hat weiß nichts von Design Rules. Der> Kicad-Router kann wohl Tracks unter Beachtung von Abständen verschieben,> mal sehen wie man das am besten eingebaut bekommt.
Jetzt gibt es das Tool "Drag track interactive" (g), um einen Track zu
verschieben. Mehrere Tracks kann das Tool nicht, dafür werden andere
Tracks automatisch aus dem Weg geschoben.
Lukas K. schrieb:>> Jetzt gibt es das Tool "Drag track interactive" (g), um einen Track zu> verschieben. Mehrere Tracks kann das Tool nicht, dafür werden andere> Tracks automatisch aus dem Weg geschoben.
Das heißt, du hast jetzt schon einen Push&Shove Router eingebaut, den
KiCad erst seit kurzem hat und Eagle noch garnicht?
Kranker scheiß :D
Mampf F. schrieb:> Das heißt, du hast jetzt schon einen Push&Shove Router eingebaut, den> KiCad erst seit kurzem hat
Ich hab den von KiCad eingebaut.
K. J. schrieb:> ber starten tut es> leider nicht.
Du startest auch die falschen Binaries. Unmittelbar startbar sind nur
horizon-prj-mgr und horizon-pool-mgr, siehe
https://github.com/carrotIndustries/horizon/wiki/Getting-startedUwe S. schrieb:> #8 0x000000010025f524 in> horizon::Track::Connection::Connection(nlohmann::basic_json<std::map,> std::vector, std::__cxx11::basic_string<char, std::char_traits<char>,> std::allocator<char> >, bool, long,
Ich hab gerade mal was gepushed, funktioniert's nun?
Hat schonmal auf einem Kubuntu 17.10 kompiliert.
Diese Pakete musste ich nachinstallieren:
uuid-dev
gtkmm-3.0-dev
libcairomm-1.0-dev
libzmqpp-dev
Und das hier:
libglm-dev
Bei den 4 Paketen oben hat das Makefile schon gemeckert. Bei libglm-dev
erst der Compiler.
Jetzt muss ich mal kucken, wie man das Programm startet ;)
Lukas K. schrieb:> Alles in allem> überschaubarer Aufwand und auch ohne wirkliche Dokumentation gut machbar> gewesen.
Wer kann der kann...
Mein tiefer Reepekt vor dem ganzen Projekt Lukas!
Lukas K. schrieb:> Uwe S. schrieb:>> #8 0x000000010025f524 in>> horizon::Track::Connection::Connection(nlohmann::basic_json<std::map,>> std::vector, std::__cxx11::basic_string<char, std::char_traits<char>,>> std::allocator<char> >, bool, long,>> Ich hab gerade mal was gepushed, funktioniert's nun?
Und wie! Danke.
Hallo Lukas,
noch eine Frage. Bisher konnte man mit Shift und Bewegen der Maus den
Canvas verschieben. Jetzt klappt das nur noch mit gleichzeitigem
Maus-Links-Klick. Vermutlich hattest du deine Gründe dafür. Blöd ist
allerdings, dass dieser Links-Klick dann nicht nur die Verschiebung
startet, sondern z.B. auch den Start einer Linie oder eines Tracks
setzt. Etwas konkreter: Geöffnet ist das Board und ich möchte einen
Track routen, drücke also 'x'. Jetzt stelle ich fest, dass der Canvas
verschoben werden muss, betätige als Shift, linke Maustaste und schiebe
den Canvas passend. Leider habe ich damit aber auch gleichzeitig das
Routen des Tracks gestartet. Also erstmal ESC, dann verschieben und
nochmal 'x'. Mache ich was falsch?
Uwe
Lukas K. schrieb:> Lukas K. schrieb:>> Helmut S. schrieb:>>> So war das doch bestimmt nicht gedacht oder>>> doch?>>>> Leider ja, das Move-Tool hat weiß nichts von Design Rules. Der>> Kicad-Router kann wohl Tracks unter Beachtung von Abständen verschieben,>> mal sehen wie man das am besten eingebaut bekommt.>> Jetzt gibt es das Tool "Drag track interactive" (g), um einen Track zu> verschieben. Mehrere Tracks kann das Tool nicht, dafür werden andere> Tracks automatisch aus dem Weg geschoben.
Hallo Lukas,
habe es gerade mal ausprobiert. Diese neue Funktion ist schon richtig
gut.
Jetzt muss ich nur noch lernen wie man neue Bauteile definiert. :-)
Uwe S. schrieb:> Jetzt klappt das nur noch mit gleichzeitigem> Maus-Links-Klick. Vermutlich hattest du deine Gründe dafür. Blöd ist> allerdings, dass dieser Links-Klick dann nicht nur die Verschiebung> startet, sondern z.B. auch den Start einer Linie oder eines Tracks> setzt.
Mir hatte das mit dem Shift ohne klicken nicht gefallen, weil das kaputt
ging, wenn shift außerhalb des Canvas losgelassen wurde. Jetzt wird
shift-click für Tools ignoriert.
Jörg W. schrieb:> Wenn ich mal mein OS (und damit auch den Compiler) aktualisiert habe,> schau ich mir Horizon auf jeden Fall auch mal an. Vermutlich wird Lukas> dann von mir als erstes einen Satz Patches für FreeBSD erhalten. :-)
Ich mach' mal wieder einen Versuch, nachdem ich das FreeBSD auf
das letzte 10-stable hochgezogen habe (11.x wird demnächst auch noch
werden). OS-native Clang (3.4.1) macht noch kein C++14, aber ich
habe ohnehin noch einen GCC 6 daliegen, der compiliert das zumindest
erst einmal.
Ein bisschen seltsam sind die vielen
1
-pthread -D_THREAD_SAFE
beim Compilieren; in jeder Zeile taucht dieses Konstrukt mehrere
tausend(!) Mal auf.
ØMQ hat mich ein Weilchen gekostet: die FreeBSD-Ports folgen hier
der offiziellen Strategie von ØMQ und trennen die Bibliothek von den
C++-Bindings, die man in cppzmq findet. Erst damit hat man dann
zmq.hpp.
Der Compiler läuft damit dann durch, aber der Linker wirft noch
viele Fehler. Manches sieht mir recht seltsam aus, aber es ist
Mitternacht, und ich geh' dann erstmal ins Bett. Ich hänge das
Logfile vom Linker mal an.
Jörg W. schrieb:> Ich hänge das> Logfile vom Linker mal an.
So auf den ersten Blick fällt mir auf, dass du mit gcc linkst. Versuch's
doch mal mit dem g++
Lukas K. schrieb:> So auf den ersten Blick fällt mir auf, dass du mit gcc linkst.
Ja, ich hatte mit
1
gmake CC=gcc6 CXX=g++6
gebaut. Offenbar benutzt du aber nicht CXX sondern CC.
Mit
1
gmake CC=g++6
verschwinden die Fehler bezüglich der C++-Standardbibliothek, aber
es bleiben viele Fehler für Glib unt Gtk.
glibmm ist 2.50.1, gtkmm ist 3.22.0. Zu alt?
Ich habe diese beiden gerade für alle Fälle auch nochmal mit dem
GCC 6 (statt des Clang aus dem Basis-OS) neu compiliert und baue
Horizon nochmal. Mal sehen, ob das was ändert.
Lukas K. schrieb:> K. J. schrieb:>> ber starten tut es>> leider nicht.>> Du startest auch die falschen Binaries. Unmittelbar startbar sind nur> horizon-prj-mgr und horizon-pool-mgr, siehe> https://github.com/carrotIndustries/horizon/wiki/Getting-started
Ja danke das war es, jetzt scheitert es am OpenGL3, ok das kann meine
Grafikkarte nicht, schade werde aber trotzdem das Projekt von dir
weiterverfolgen, macht schon einen guten eindruck, mal schauen bin eh
auf der suche nach einer neuen Grafikkarte.
Jörg W. schrieb:> Ich habe diese beiden gerade für alle Fälle auch nochmal mit dem GCC 6> (statt des Clang aus dem Basis-OS) neu compiliert und baue Horizon> nochmal. Mal sehen, ob das was ändert.
Ja, war schon besser. Hatte dann noch Linkerfehler für Cairo und
YAML, sodass ich cairomm und yaml-cpp ebenfalls mit GCC 6 neu
compiliert habe. (Ich vermute, bei yaml-cpp hätte der Upgrade an
sich genügt.) Damit lässt es sich nun linken.
Weiß nicht, ob der Clang in FreeBSD 11 dann C++14 bereits beherrscht;
wenn, dann wären damit alle Versionsvoraussetzungen „aus der Dose
raus“ erfüllt. Damit zeigt sich eigentlich, dass Lukas' Strategie,
zu Beginn der Entwicklung „bleeding edge“ zu benutzen und davon
auszugehen, dass diese in hinreichend kurzer Zeit ohnehin mainstream
werden, offenbar funktioniert.
Leider werde ich erst morgen abend wieder vor der FreeBSD-Kiste sitzen,
um zu testen, ob's auch funktioniert. Im Moment bin ich mir noch nicht
ganz sicher bezüglicher der GL-Version – in der Ausgabe von glxinfo
sind so viele verschiedene Versions-Strings drin. :/
Hab's geschafft, via VNC auf die Maschine zuzugreifen.
Wenn ich den Schaltplaneditor aus dem Project Manager starten will,
bekomme ich:
1
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, GROUP_CONCAT(tags.tag, ' '), parts.filename FROM parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages ON packages.uuid = parts.package WHERE parts.MPN LIKE ? AND parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid ORDER BY parts.MPN COLLATE naturalCompare ASC
2
col 2
3
create proc
4
5
(<unknown>:7194): glibmm-ERROR **:
6
unhandled exception (type std::exception) in signal handler:
(Weiß nicht, ob die SELECT-Ausschrift eventuell schon davor dort stand.)
Stack trace im Coredump zeigt auf das Release-Event des GTK-Buttons,
scheint sonst nicht wirklich interessante zu sein.
Jörg W. schrieb:> what: can't find executable
Der Projektmanager muss rausfinden, wo der "interaktive Manipulator"
(Schaltplan/Boardeditor) liegt und guckt dazu in dem Verzeichnis nach,
indem auch er selber liegt:
https://github.com/carrotIndustries/horizon/blob/master/util/util.cpp#L45
FreeBSD kann wohl kein /proc/self/exe
Ich freue mich über Patches :)
Jörg W. schrieb:> in der Ausgabe von glxinfo> sind so viele verschiedene Versions-Strings drin. :/
"OpenGL core profile version string" ist was du brauchst. Das muss >= 3
sein.
Lukas K. schrieb:> FreeBSD kann wohl kein /proc/self/exe
Es gibt ein /proc/curproc/file, welches ein Symlink auf das eigene
Executable ist. Darüber müsste sich das arrangieren lassen, wenn
ich das richtig sehe.
> Ich freue mich über Patches :)
Schau' ich mir an.
> "OpenGL core profile version string" ist was du brauchst. Das muss >= 3> sein.
OpenGL core profile version string: 3.3 (Core Profile) Mesa 17.2.4
Sieht also gut aus. :)
Lukas K. schrieb:> Ich freue mich über Patches :)
OK, der war einfach. :) Funktioniert offenbar wirklich genauso wie
Linux, heißt halt nur anders.
Fliegt dann aber trotzdem 'raus:
Jörg W. schrieb:> Funktioniert offenbar wirklich genauso wie Linux, heißt halt nur anders.
ps: /proc-Filesystem ist unter FreeBSD nicht verpflichtend vorhanden.
Sollte man vielleicht irgendwo im Wiki vermerken. Wenn es jemand
nicht hat, kann er diese Zeile in /etc/fstab hinzufügen:
Jörg W. schrieb:> + std::locale::global(std::locale("C"));
Hm, das ist nicht so schön, dann geht's auf deutschen FreeBSDs kaputt.
Probier's mal mit std::locale::global(std::locale(std::setlocale(LC_ALL,
"")));
Ich bin schwer beeindruckt. Das Programm gefällt mir sehr. Ich bin
gerade dabei, mich etwas einzuarbeiten und möchte ein kleines Projekt
damit umsetzen. Es sieht ja schon sehr gut benutzbar aus. Das Konzept
der Pools gefällt mir vor allem sehr gut. Das meiste, was ich in den 1
bis 2 Stunden, die ich jetzt davor sitze, entdeckt habe, wirkt sehr
durchdacht!
Zwei kleines Sachen sind mir aufgefallen:
1. Rechtecke mit abgerundeten Ecken versagen leider, wenn die Rundungen
überlappen. Hintergrund ist, dass ich einen kleinen Punkt als
Pin-1-Indikator setzen wollte. Dafür schien ein Rechteck mit runden
Ecken die einfachste Lösung. Leider funktioniert der Grenzfall Eckradius
gleich halber Kantenlänge nicht. Mit größerem Radius wird es nicht
besser (siehe Anhang).
2. Es wäre schön, wenn es eine Möglichkeit gäbe, Ecken von Linien zu
entfernen oder Linien aufzutrennen. Ich wollte einen komplizierteren
Platinenumriss zeichnen und habe dafür zuerst das grobe Rechteck gemalt,
was sehr bequem ging. Nur leider sehe ich keinen Weg, wie ich an einer
Ecke noch etwas „wegschneiden” kann, weil die Linien immer als Rechteck
verbunden sind und ich dieses nicht auftrennen kann, oder einen weiteren
Knick einfügen kann.
Ich hoffe das war so weit einigermaßen verständlich ;)
Jörg W. schrieb:> Ich verstehe noch nicht ganz, was du damit erreichen willst. Nur das> Dezimalzeichen zurücksetzen?
Das Problem war, dass ich zum Einlesen von Zahlen strtod verwende, was
locale-Abhängig ist und die Formatierung mit streams machen. strtod
benutzt automatisch die System-Locale, nur die streams stehen
standardmäßig auf "C". Ziel davon ist es, dass wenigstens der
Dezimaltrenner gleich der System-Locale ist.
Jonas F. schrieb:> Das meiste, was ich in den 1> bis 2 Stunden, die ich jetzt davor sitze, entdeckt habe, wirkt sehr> durchdacht!
Sehr schön :)
> Zwei kleines Sachen sind mir aufgefallen:>> 1. Rechtecke mit abgerundeten Ecken versagen leider, wenn die Rundungen> überlappen. Hintergrund ist, dass ich einen kleinen Punkt als> Pin-1-Indikator setzen wollte. Dafür schien ein Rechteck mit runden> Ecken die einfachste Lösung. Leider funktioniert der Grenzfall Eckradius> gleich halber Kantenlänge nicht. Mit größerem Radius wird es nicht> besser (siehe Anhang).
Das passiert, da das entstehende Polygon dann sich selbst schneidet bzw.
berührt. Das gefällt der Library, die das Polygon trianguliert nicht so
gut und die gibt dann komische Dinge aus. Ich bau noch ein, dass das
wenigstens mit dem Tool nicht passieren kann.
Als Pin1-Markierung ist es zu bevorzugen, die vorhandenen Linien zu
kürzen/verlängern wie in
http://www.ocipcdc.org/archive/What_is_New_in_IPC-7351C_03_11_2015.pdf
beschrieben.
>> 2. Es wäre schön, wenn es eine Möglichkeit gäbe, Ecken von Linien zu> entfernen oder Linien aufzutrennen. Ich wollte einen komplizierteren> Platinenumriss zeichnen und habe dafür zuerst das grobe Rechteck gemalt,> was sehr bequem ging. Nur leider sehe ich keinen Weg, wie ich an einer> Ecke noch etwas „wegschneiden” kann, weil die Linien immer als Rechteck> verbunden sind und ich dieses nicht auftrennen kann, oder einen weiteren> Knick einfügen kann.
Horizon unterscheidet zwischen Linien und Polygonen. Linien sind für
Dinge zu verwenden, die keine geschlossene Fläche darstellen, z.B.
Linien auf dem Silkscreen. Alles was eine Fläche (z.B. Board-Outline)
wird mit Polygonen dargestellt. Polygone sind prinzipiell immer
geschlossen. Aber ja, du hast recht, man kann derzeit nur Ecken löschen
und keine neuen einfügen. Das kommt noch recht zeitnah.
Lukas K. schrieb:> Ziel davon ist es, dass wenigstens der Dezimaltrenner gleich der> System-Locale ist.
Hmm. Geänderte Dezimaltrenner ist das, was ich an diesem ganzen
l16n-Kram am meisten hasse. Ich ärgere mich regelmäßig darüber,
dass FreeCAD auf meinem Linux-Laptop ein "57.6 mm" völlig
missinterpretiert, weil dort halt die komplette Umgebung auf
deutsch steht (und ich zu faul war, das bislang zu ändern). An
deutsche Menüs und Fehlermeldungen könnte ich mich ja zur Not noch
gewöhnen, an geänderte Dezimaltrenner aber gar nicht.
Auf meinem FreeBSD habe ich daher nur LC_CTYPE überhaupt auf deutsch
stehen, der Rest ist nicht gesetzt.
Ich wäre ja dafür, den Dezimaltrenner in den Preferences durch den
Nutzer überschreibbar zu machen …
Ich hoffe mal, der wird dann nicht für das Einlesen deiner JSON-Daten
benutzt. ;-)
OK, ich werde mir morgen mal anschauen, welche Variante auf FreeBSD
da funktioniert. Bin ja auch gespannt, mit dem Programm dann mal
real ein bisschen zu spielen, nach alldem, was die anderen inzwischen
hier geschrieben haben.
Sodele, das Tool zum Hinzufügen von Ecken in Polygonen ist drin und das
Tool zum malen von Polygonen mit runden ecken erzeugt keine ungültigen
Polygone mehr.
Jörg W. schrieb:> Ich wäre ja dafür, den Dezimaltrenner in den Preferences durch den> Nutzer überschreibbar zu machen …
Hört sich sinnvoll an, mal drüber nachdenken...
> Ich hoffe mal, der wird dann nicht für das Einlesen deiner JSON-Daten> benutzt. ;-)
Da haben schon andere dran gedacht ;)
Mit
diff --git a/Makefile b/Makefile
index 077c01c..c5b6baf 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-CC=g++
+CC?=g++
PKGCONFIG=pkg-config
kann man den benötigten Kompiler über eine Umgebungsvariable setzen.
Uwe B. schrieb:> kann man den benötigten Kompiler über eine Umgebungsvariable setzen.
Mal ne frage in die Runde: Müsste da nicht eigentlich CXX verwendet
werden?
Uwe B. schrieb:> Paralleles Bauen auf Mehrkernmaschinen wäre schön...
make -j 8, etc. funktioniert
Okay, mein Fehler. Ich hatte env CC="g++-6" CFLAGS=-j9 make in der tcsh
versucht. env CC="g++-6" make -j9 kommt deutlich schneller zum nächsten
Problem:
Wshadow -std=c++14 -O3 imp/tool_popover.cpp -o imp/tool_popover.o
In file included from imp/imp.cpp:1:0:
imp/imp.hpp:19:19: fatal error: zmq.hpp: Datei oder Verzeichnis nicht
gefunden
#include <zmq.hpp>
^
compilation terminated.
Das ganze auf Opensuse 42.2 und gcc6.
Lukas K. schrieb:> Uwe B. schrieb:>> kann man den benötigten Kompiler über eine Umgebungsvariable setzen.>> Mal ne frage in die Runde: Müsste da nicht eigentlich CXX verwendet> werden?
Ja, wäre sinnvoll.
Uwe B. schrieb:> In file included from imp/imp.cpp:1:0:> imp/imp.hpp:19:19: fatal error: zmq.hpp: Datei oder Verzeichnis nicht> gefunden> #include <zmq.hpp>> ^> compilation terminated.>> Das ganze auf Opensuse 42.2 und gcc6.
Auf FreeBSD war zeromq-cpp separat vom allgemeinen zeromq zu
installieren.
Vielleicht ja bei Opensuse auch?
Jörg W. schrieb:> Auf FreeBSD war zeromq-cpp separat vom allgemeinen zeromq zu> installieren.> Vielleicht ja bei Opensuse auch?
Unter opensuse sollte das cppzmq-devel Paket installiert werden, doch
unter Leap 42.2 gibt es das nicht, oder heisst anders.
Gruß,
Frank
Nachdem ich noch die Binutils-Gold installiert habe, lande ich bei
...
Wshadow -std=c++14 -O3 pool-mgr/pool_notebook.cpp -o
pool-mgr/pool_notebook.o
pool-mgr/pool_notebook.cpp: In function ‘void
horizon::send_msg(zmq::socket_t&, horizon::PoolUpdateStatus, const
string&)’:
pool-mgr/pool_notebook.cpp:826:30: error: no matching function for call
to ‘zmq::message_t::message_t(horizon::pool_update_msg_t*&, size_t&)’
zmq::message_t zmsg(msg, sz);
Uwe B. schrieb:> Nachdem ich noch die Binutils-Gold installiert habe, lande ich bei
Hmm, das gab's wohl damals noch nicht. Ich hab gerade mal was gepushed,
damit's auch ohne diesen Konstruktor funktioniert.
Lukas K. schrieb:> Jörg W. schrieb:>> + std::locale::global(std::locale("C"));>> Hm, das ist nicht so schön, dann geht's auf deutschen FreeBSDs kaputt.> Probier's mal mit std::locale::global(std::locale(std::setlocale(LC_ALL,> "")));
Gerade getestet: funktioniert auch nicht,
locale::facet::_S_create_c_locale name not valid
Das dürfte übrigens keineswegs an FreeBSD selbst liegen, sondern
daran, dass ich eben ansonsten keine "native locale" habe (für die
der leere String ja steht).
Wenn ich das Programm mit "env LANG=de_DE.UTF-8" starte, dann geht
auch dein originaler Code.
Ich vermute, dass das auch unter Linux kracht, wenn man keinerlei
Notation einer "native locale" hat.
Daher neuer Vorschlag: deinen originalen Code benutzen, aber die
ggf. geworfene Exception abfangen und ignorieren.
Jörg W. schrieb:> Viel mehr an Tests ist über VNC hier gerade nicht drin.
Das lag allerdings gar nicht so sehr an VNC, sondern daran, dass sich
die Grafik verklemmt hatte. :-( Das X-Server-Log war dann voller
"EQ overflow", und es konnte danach alles mögliche passieren zwischen
"Monitor geht in Standby, alles fängt sich nach paar Sekunden wieder"
bis zu einem spontanen Reboot.
Das Ganze war ein Onboard-ARUBA-Chipsatz. Ich habe jetzt mal eine
andere Karte reingesteckt. Die hat bei meinem Sohn zwar Probleme
bereitet, weshalb wir die Hardware in Verdacht hatten, aber bislang
funktioniert sie hier und damit geht nun auch Horizon – hurra!
Wirklich testen mag ich allerdings um diese Uhrzeit nichts mehr.
Edit: sorry, habe nur "git diff" gemacht. Da sind jetzt beide
Patch-Vorschläge in einem drin, der für die Locale und der für
FreeBSD's procfs.
Jörg W. schrieb:> Lukas K. schrieb:>> Uwe B. schrieb:>>> kann man den benötigten Kompiler über eine Umgebungsvariable setzen.>>>> Mal ne frage in die Runde: Müsste da nicht eigentlich CXX verwendet>> werden?>> Ja, wäre sinnvoll.
Da fällt mir ein: du müsstest lediglich das Makefile so umbauen,
dass ${CXX} benutzt wird und nicht ${CC}. Die beanstandete Zeile
kann dann komplett entfallen, da die Voreinstellung für CXX "c++"
ist, was auf einem Linux typischerweise ein Symlink auf g++ ist.
Ohne explizite Zuweisung von CXX im Makefile wiederum kann man es
immer übers Environment überschreiben.
Wenn ich im angehängten äußerst simplen Mini-"Projekt" (ein R und ein
C, nur an einer Stelle verbunden) versuche, mit "dt" einen neuen Track
zu zeichnen, der einen Knotenpunkt auf dem existierenden hat (startend
auf Pin2 von R?, mithin eine Netz-Kollision), und ich zeichne von da
weiter, dann crasht es beim Drücken der rechten Maustaste mit:
1
unhandled exception (type: std::exception) in signal handler:
Jörg W. schrieb:> Ohne explizite Zuweisung von CXX im Makefile wiederum kann man es> immer übers Environment überschreiben.https://github.com/carrotIndustries/horizon/blob/master/Makefile#L1
Sollte doch eigentlich auch mit "?=" funktionieren?
Jörg W. schrieb:> mit "dt" einen neuen Track> zu zeichnen
Wozu? Benutzen willst du eigentlich "Route Track Interactive" (x), das
macht keine DRC-Fehler, etc.
Aber ja, abstürzen sollte es nicht.
Lukas K. schrieb:> Jörg W. schrieb:>> Ohne explizite Zuweisung von CXX im Makefile wiederum kann man es>> immer übers Environment überschreiben.>> https://github.com/carrotIndustries/horizon/blob/master/Makefile#L1> Sollte doch eigentlich auch mit "?=" funktionieren?
Ja, aber diese Zuweisung braucht man eben gar nicht, wenn
man ${CXX} zum Compilieren benutzt (machst du ja inzwischen), denn
die Variable CXX ist passend voreingestellt.
Allerdings heißen die Optionen dazu natürlich dann auch CXXFLAGS,
nicht CFLAGS.
> Jörg W. schrieb:>> mit "dt" einen neuen Track>> zu zeichnen>> Wozu?
Weil ich überhaupt erstmal die Kommandos kennenlernen wollte.
> Benutzen willst du eigentlich "Route Track Interactive" (x), das> macht keine DRC-Fehler, etc.
OK, hatte ich schon gedacht.
> Aber ja, abstürzen sollte es nicht.
Yep, das war mein einziger Punkt hierbei.
Stacktrace kann ich liefern, aber der ist ziemlich nichtssagend
(finde ich).
Gute Nachrichten für die Benutzer von nicht-tiling-Fenstermanagern:
Horizon speichert nun die Position von Fenstern.
Jörg W. schrieb:>> Aber ja, abstürzen sollte es nicht.>> Yep, das war mein einziger Punkt hierbei.
Ist repariert.
Lukas K. schrieb:> Gute Nachrichten für die Benutzer von nicht-tiling-Fenstermanagern:> Horizon speichert nun die Position von Fenstern.
Zwar nicht sonderlich wichtig für mich, aber kann bestätigen, dass es
funktioniert (fvwm2).
> Jörg W. schrieb:>>> Aber ja, abstürzen sollte es nicht.>>>> Yep, das war mein einziger Punkt hierbei.>> Ist repariert.
Auch das klappt, danke!
Habe mir mal den Gerber-Output angesehen.
Wenn man ganz unbedarft einfach auf "Generate" drückt, bekommt man
eine Ladung Dateien mit den Namen ".gbl", ".gbo", ".txt" usw. Richtig,
das wurde vorher auch so angezeigt – ich finde es aber trotzdem
verwirrend. Irgendwie sollte in der Voreinstellung da meiner Meinung
nach der Projektname als Dateinamens-Teil vorgegeben sein, und der
Rest dann nur als Suffix benutzt. Die einzige Möglichkeit, den
Nicht-Suffix-Anteil für alle generierten Dateien zugleich zu ändern,
hat man derzeit mit dem "Präfix"-Feld. Weiß nicht, ob das so gedacht
war. Wenn, dann fände ich es gut, wenn alles, was man in dieses
Eingabefeld tippt, auch in den Dateinamen automatisch mit auftaucht,
und natürlich dass dieses Feld dann mit dem Projektnamen vorbelegt
ist.
Für Lagen (oder Bohrungsgruppen), die aktuell keine Daten enthalten,
sollten m. E. auch keine Dateien erzeugt werden. Ansonsten meckert
bspw. gerbv, dass es damit jetzt nichts anfangen kann, weil es
vermeintlich RS-274-D-Dateien wären und sowas. Das Nichtgenerieren
dieser Lagen könnte man ja unten im Statusfenster dokumentieren.
Schließlich hatte ich im Layout noch so eine sinnlose Struktur drin,
wie oben im Screenshot gezeigt: ein Leiterzug ohne Breite, der daraus
entstanden war, dass da einfach kein Netz definiert ist, welches man
hätte routen können. Während die 3D-Vorschau diese Linie ordentlich
ausblendet, taucht sie in der Gerberlage auf. Bin mir noch nicht
ganz schlüssig, wie man sinnvoll damit umgeht. Vielleicht sollte
man einfach in Kupferlagen keine Linien mit einer Breite von 0
zulassen, sondern generell die DRC-mäßige Mindestbreite setzen, auch
wenn es jetzt kein Netz dafür gibt?
(Wenn du für irgendwas lieber Patches sehen würdest als Prosa, kannst
du mir das gern sagen. Ich würde dann versuchen, was zu basteln.)
Offtopic: kann man das Look&Feel von Gtk3 eigentlich von diesem
"Tablet"-Aussehen irgendwie auch auf "normal" trimmen? Ich sitze
an einem Computer und brauch' da keine riesigen Schaltflächen, auf
die man mit den Fingern tatschen kann …
Hallo Lukas.
Auf einem aktuellen Debian 9 (stretch) gelingt der Build (ca. 25
Minuten) problemlos. Ok, ein paar Warnungen wegen unbenutzter Variablen
und sowas.
Aber dann weiss ich nicht weiter. Ich bin weder Programmierer noch
sonstwie ein IT Wissender. ;O)
Sollte ich anschliessend ldconfig darüberlaufen lassen?
Anmerkung: Habe ich gemacht. Das Ergebnis ist das gleiche.
Was genau muss ich dann überhaupt wo und wie starten?
Ich erhalte eine Reihe von ausführbaren Dateien. Unter anderem
"horizon-prj-mgr" mit was 53,4Mb. Aber die lässt sich nicht starten.
Auch nicht aus einer Konsole.
Ich bin Eigentümer und habe Lese, Schreib- und Ausführungsrechte darauf.
Aber auch als root geht es nicht.
Die Konsole gibt mir als Fehlermeldung: "command not found", was auf
fehlende Rechte oder eine unausführbare Datei hindeutet. Der Krusader
öffnet ein Fenster und fragt, mit was ich die Datei geöffnet haben will.
Info zum Debian hier: Linux 4.9.0-4-686-pae i686, 32 bit, Little endian,
wxGTK
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Jörg W. schrieb:> Hast du eigentlich Ambitionen, das alles auch auf MacOS lauffähig> zu bekommen?
Für Quartz gibt es (noch) keinen GdkGLContext. Wenn es den gibt, sollte
dem nichts im Wege stehen.
Jörg W. schrieb:> Für Lagen (oder Bohrungsgruppen), die aktuell keine Daten enthalten,> sollten m. E. auch keine Dateien erzeugt werden.
Einige Hersteller geben an, dass sie gerne jede Lage hätten, auch wenn
sie leer ist.
Jörg W. schrieb:> weil es> vermeintlich RS-274-D-Dateien wären und sowas
Der Code, der nachsieht, ob es eine RS-274X ist schaut einfach nur nach
Substrings, die nach 274-X ausschauen. Wenn ein Layer eben leer ist,
fällt das hin. Andere Gerber-Viewer hatten da nicht gemeckert.
Jörg W. schrieb:> Die einzige Möglichkeit, den> Nicht-Suffix-Anteil für alle generierten Dateien zugleich zu ändern,> hat man derzeit mit dem "Präfix"-Feld. Weiß nicht, ob das so gedacht> war.
Ja
> Wenn, dann fände ich es gut, wenn alles, was man in dieses> Eingabefeld tippt, auch in den Dateinamen automatisch mit auftaucht,> und natürlich dass dieses Feld dann mit dem Projektnamen vorbelegt> ist.
Ok, Projektname als Vorbelegung beim Erzeugen eines neuen Projektes ist
drin. Die Idee mit dem zweiteiligen Dateinamen war, wirklich jedem
Fertigerwunsch gerecht werden zu können und nicht den Projektnamen für
jedes Layer einzeln eingeben zu müssen.
Jörg W. schrieb:> Wenn, dann fände ich es gut, wenn alles, was man in dieses> Eingabefeld tippt, auch in den Dateinamen automatisch mit auftaucht
Ideen, wie das konkret sinnvoll aussehen könnte? Logik wie: "gucken, ob
noch mein Prefix im Dateiname ganz vorne drin ist, wenn ja anpassen,
wenn nicht, nichts tun" scheint mir ein wenig fragil.
Jörg W. schrieb:> Vielleicht sollte> man einfach in Kupferlagen keine Linien mit einer Breite von 0> zulassen, sondern generell die DRC-mäßige Mindestbreite setzen, auch> wenn es jetzt kein Netz dafür gibt?
Im DRC wird das dann auch beanstandet, dass der Track dünn ist. Tracks
ohne Netz sollten ohnehin zukünftig einen DRC-Fehler geben. Jetzt
nimmt's auch die default-Breite.
Jörg W. schrieb:> Offtopic: kann man das Look&Feel von Gtk3 eigentlich von diesem> "Tablet"-Aussehen irgendwie auch auf "normal" trimmen?
Das Aussehen von Gtk3 ist vollständig durch CSS anpassbar. Andere Themes
gehen vielleicht ein wenig sparsamer mit padding um...
Lukas K. schrieb:> Jörg W. schrieb:>> Hast du eigentlich Ambitionen, das alles auch auf MacOS lauffähig>> zu bekommen?>> Für Quartz gibt es (noch) keinen GdkGLContext. Wenn es den gibt, sollte> dem nichts im Wege stehen.
Davon abgesehen, dass für Richard Stallman Apple der historische
„Hauptfeind“ ist, so recht verstehe ich deren Policy da nicht. Im
Jahr 2014 postet jemand offenbar zumindest teilweise funktionable
Patches für Quartz:
https://mail.gnome.org/archives/gtk-devel-list/2014-November/msg00017.html
Im Jahr 2015 schaffen sie es dann gerade mal, eine “non-implementation”
zu committen:
https://mail.gnome.org/archives/commits-list/2015-May/msg01780.html> Jörg W. schrieb:>> Für Lagen (oder Bohrungsgruppen), die aktuell keine Daten enthalten,>> sollten m. E. auch keine Dateien erzeugt werden.>> Einige Hersteller geben an, dass sie gerne jede Lage hätten, auch wenn> sie leer ist.
OK.
> Jörg W. schrieb:>> Die einzige Möglichkeit, den>> Nicht-Suffix-Anteil für alle generierten Dateien zugleich zu ändern,>> hat man derzeit mit dem "Präfix"-Feld. Weiß nicht, ob das so gedacht>> war.> Ja
Wenn ich mir das nochmal ansehe und ein wenig drüber nachdenke,
würde ich das Layout etwas anders organisieren:
Erstens linke und rechte Seite tauschen. Dann stehen Verzeichnisname
und Dateiname auf der linken Seite. Das Feld "Prefix" würde ich in
"Base Filename" umbenennen, die Beschriftung "Filename" in "Suffix".
Ich denke, damit ist es dann eindeutig, wie sich die endgültigen
Namen zusammensetzen, und dieser Vorschlag:
>> Wenn, dann fände ich es gut, wenn alles, was man in dieses>> Eingabefeld tippt, auch in den Dateinamen automatisch mit auftaucht,>> und natürlich dass dieses Feld dann mit dem Projektnamen vorbelegt>> ist.
… ist hinfällig.
> Ok, Projektname als Vorbelegung beim Erzeugen eines neuen Projektes ist> drin. Die Idee mit dem zweiteiligen Dateinamen war, wirklich jedem> Fertigerwunsch gerecht werden zu können und nicht den Projektnamen für> jedes Layer einzeln eingeben zu müssen.
Das ist durchaus sinnvoll.
Das bringt mich drauf: diese Dateinamensendungen sind bei Gerber ja
alles andere als standardisiert. Die Endungen, die du jetzt als
Voreinstellung hast, sind die, die bspw. Altium benutzt. Andere
Hersteller könnten da andere Vorlieben haben. In Zeiten, da die
Dateinamenswelt nicht mehr aus 8+3 besteht, kann man ja auch Endungen
wie .top oder .bottom benutzen statt kryptischer .gbt / .gbl.
Das alles sowie die Details der generierten Dateien (Inch/Millimeter,
Zahl der Dezimalstellen, Unterdrückung führender oder abschließender
Nullen) ist typischerweise sehr spezifisch für einzelne Fertiger,
auch wenn sich da allmählich mehr Toleranz und automatische Erkennung
breit macht. Sowas müsste man eigentlich in einem “CAM Batch” als
Voreinstellung hinterlegen können.
Das eilt aber ganz gewiss nicht.
> Jörg W. schrieb:>> Vielleicht sollte>> man einfach in Kupferlagen keine Linien mit einer Breite von 0>> zulassen, sondern generell die DRC-mäßige Mindestbreite setzen, auch>> wenn es jetzt kein Netz dafür gibt?>> Im DRC wird das dann auch beanstandet, dass der Track dünn ist.
Hätte ich auch erwartet :), den hatte ich nur für die Spielerei
nicht laufen lassen.
> Tracks> ohne Netz sollten ohnehin zukünftig einen DRC-Fehler geben.
Finde ich schwierig: was ist der Unterschied zwischen einer Linie,
die ich um Kupfer ziehe und bspw. einem Text? Der hat auch kein
Netz. Einen DRC-Fehler sollte er nur bei Abstandsverletzung bringen.
Eine Warnung wäre aber OK.
> Jörg W. schrieb:>> Offtopic: kann man das Look&Feel von Gtk3 eigentlich von diesem>> "Tablet"-Aussehen irgendwie auch auf "normal" trimmen?>> Das Aussehen von Gtk3 ist vollständig durch CSS anpassbar. Andere Themes> gehen vielleicht ein wenig sparsamer mit padding um...
OK, muss ich mir mal ansehen. Das Aussehen hatte mich schon gestört,
als Evince als eines der wenigen Gtk-Programme, die ich sonst so habe,
auf Gtk3 gewechselt ist.
Wenn Text kein Netz ist, dann gibts aber Krach wenn zwei verschiedene
Netze von außerhalb den Buchstaben überkreuzen. Die würden dann über
diesen Buchstaben bzw. Textstring kurzgeschlossen. Entweder der Text
wird ein Netz (möglicherweise mit speziellen Namen), oder Text muß in
der DRC extra behandelt werden, also eigene Regeln zu allen anderen
Objekttypen bekommen. Was natürlich wegen O**2 rechenintensiv ist.
Hallo Lukas.
Lukas K. schrieb:>> Aber die lässt sich nicht starten.>> Auch nicht aus einer Konsole.>>
1
> ./horizon-prj-mgr
2
>
>> Ohne das ./ sucht die Shell in $PATH und nicht im aktuellen Verzeichnis.> Ich hab's im Wiki mal angepasst.
<vor stirn patsch> Das wird es vermutlich gewesen sein. Irgendwie war
ich wohl zu unkonzentriert.
Ich werde es mal probieren, wenn ich heute Nachmittag wieder zu Hause
bin.
Danke für Deinen Hinweis.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Jörg W. schrieb:> Wenn ich mir das nochmal ansehe und ein wenig drüber nachdenke,> würde ich das Layout etwas anders organisieren:
Hört sich sinnvoll an, mal drüber nachdenken.
Jörg W. schrieb:> Die Endungen, die du jetzt als> Voreinstellung hast, sind die, die bspw. Altium benutzt.
Die Motivation war mehr, dass die ganzen billigen Fertiger (mindestens
Seeedstudio, Elecrow, OSHPark) die Protel-Endungen haben wollen. Ist ja
aber auch nur die Vorbelegung.
Jörg W. schrieb:> Das alles sowie die Details der generierten Dateien (Inch/Millimeter,> Zahl der Dezimalstellen, Unterdrückung führender oder abschließender> Nullen) ist typischerweise sehr spezifisch für einzelne Fertiger,> auch wenn sich da allmählich mehr Toleranz und automatische Erkennung> breit macht.
Genau darum habe ich diese Einstellungen erstmal weggelassen. Wenn mir
jemand einen Fertiger zeigt, der mit Metrisch, 6 Stellen hinterm Komma
ohne führende Nullen nicht zurecht kommt, bau' ich da noch Einstellungen
dazu.
Jörg W. schrieb:> Finde ich schwierig: was ist der Unterschied zwischen einer Linie,> die ich um Kupfer ziehe und bspw. einem Text?
Tracks, Linien und Texte sind verschiedene Dinge und werden im DRC auch
anders behandelt.
Lukas K. schrieb:> Die Motivation war mehr, dass die ganzen billigen Fertiger (mindestens> Seeedstudio, Elecrow, OSHPark) die Protel-Endungen haben wollen. Ist ja> aber auch nur die Vorbelegung.
Hast du eigentlich (oder wer anders) schon mal eine Platine fertigen
lassen? Spiele mit dem Gedanken, mal mein Projekt bei Elecrow fertigen
zu lassen um zu sehen was raus kommt ;-)
Was anderes: Zu Kontrollzwecken wäre auch eine (konfigurierbare)
Druckerausgabe nicht schlecht. Es soll auch noch "Bastler" geben, die
selbst ätzen. Ich z.B. lege gerne mal die realen Bauteile auf einen
Ausdruck, bevor ich was bestelle, hätte dabei aber gerne Löcher in den
TH Pads. Gut, man könnte als Workaround die Gerber Dateien mittels gerbv
ausdrucken.
Nachtrag:
Bernd W. schrieb:>> Ohne das ./ sucht die Shell in $PATH und nicht im aktuellen Verzeichnis.>> Ich hab's im Wiki mal angepasst.>> <vor stirn patsch> Das wird es vermutlich gewesen sein. Irgendwie war> ich wohl zu unkonzentriert.>> Ich werde es mal probieren, wenn ich heute Nachmittag wieder zu Hause> bin.
Das war es leider nicht. Aber da sind noch andere merkwürdige Dinge.
Ich such mal weiter.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Bernd W. schrieb:> Nachtrag:>> Bernd W. schrieb:>>>> Ohne das ./ sucht die Shell in $PATH und nicht im aktuellen Verzeichnis.>>> Ich hab's im Wiki mal angepasst.>>>> <vor stirn patsch> Das wird es vermutlich gewesen sein. Irgendwie war>> ich wohl zu unkonzentriert.>>>> Ich werde es mal probieren, wenn ich heute Nachmittag wieder zu Hause>> bin.>> Das war es leider nicht. Aber da sind noch andere merkwürdige Dinge.> Ich such mal weiter.>> Mit freundlichem Gruß: Bernd Wiebus alias dl1eic> http://www.l02.de
Hallo Bernd,
ich habe hier einen Laptop mit zu alter Grafikkarte. Da startet zwar das
erste Fenster und auch das zweite Fenster lässt sich anwählen, aber bei
klicken auf "Board" tut sich nichts. Mit zu alten Grafikkarte
funktioniert das Boardlayout von horizon nicht. Auf meinen Rechnern mit
neuerer Grafikkarte habe ich dieses Problem nicht.
Hast du genau das Problem oder erscheint bei dir gar kein
Startbildschirm?
Lukas K. schrieb:> Ohne das ./ sucht die Shell in $PATH und nicht im aktuellen Verzeichnis.> Ich hab's im Wiki mal angepasst.
Nun, da gibt's durchaus noch eine Reihe ganz anderer Probleme.
Ich hatte mir mal die "horizon-2017-11-21-0215.zip" heruntergeladen und
versucht, dort irgend etwas zu starten.
Ergebnisse:
1. libgio-2.00-0.dll wird vom Virenscanner als IDP.Generic erachtet und
geblockt.
2. der "horizon-pool-mgr.exe" läßt sich zwar starten, aber außer einem
leeren Fenster hat er nix aufzuweisen. Mit "Open" könnte man ja irgend
ein "pool.json" laden - vorausgesetzt, man hätte sowas. In der Distri
ist jedenfalls kein *.json enthalten. Erwartest du, daß ein Interessent
so eine Datei vorhält?
3. auch "horizon-prj-mgr.exe" läßt sich starten, aber dort ist es fast
das Gleiche wie zuvor: "No pools set up, You haven't set up any pools,
add some in the preferences dialog...OK".
Natürlich enthält die Distri auch kein "*.hprj" und in den Preferences
ist's das Gleiche wie im vorigen Punkt, es fehlt am "pool".
4. alle anderen *.exe sind nicht startbar.
So mein Freund, es ist wohl doch so, wie ich es bereits sehr viel weiter
oben angedeutet habe: Während du dich mit tausenderlei "höheren" Details
befaßt, fehlt es ganz krass an den simplen Fundamenten.
Ich hätte erwartet, daß man als Benutzer zumindest die Chance hätte, das
System erstmal irgendwie aufzusetzen, so daß es auch läuft und einen
nicht vor ein zu nix brauchbares fast leeres Fenster setzt. Die
penetrante und durch nichts lösbare Nachfrage nach dem ominösen Pool
verhindert zuverlässig, daß man mit deinem Programm irgendwas beginnen
kann. Erwarte bitte nicht, daß irgend ein Interessent eine derartige
pool.json vorrätig hat. Entweder lieferst du eine derartige Datei als
quasi Standard mit der Distri aus, oder du generierst per Menüpunkt
"Neuer Pool" eine derartige Datei, sonst wird nix draus. Die Folge ist
dann nämlich, daß dein Programm nach etwa drei Minuten wieder restlos
von der Platte geputzt und abgehakt ist. Ist sowas deine Intention?
Ich hatte es dir schon einmal gesagt, daß ganz am Anfang das Ausdenken,
Formulieren und Festschreiben der Grundfunktionalität steht, sonst kommt
man alsbaldigst in Teufels Küche. Du bist grad drauf und dran, so
ziemlich ähnliche Fehler zu begehen wie die Kicad-Leute. Also nochmal:
zu allererst die Fundamente und dann der Rest des Hauses - und der
Innenausbau kommt nach dem Dach.
W.S.
Hallo W. S.,
das Programm horizon hat richtig Potential das neue Standardprogramm
fuer die Privatanwender zu werden. Lukas kennt sich sowohl mit Hardware,
PCB-Layout und mit Software aus. Deshalb habe ich da größtes Vertrauen,
dass das Programm ein großer Wurf wird.
Ich gebe zu, dass der Einstieg eine gewisse Hürde darstellt. Deshalb
habe ich mal eine Anleitung geschrieben und ein paar screenshots dazu
gemacht. Siehe nachfolgender Text.
1.
Ein beliebiges Verzeichnis anlegen, z. B. C:\horizon.
Das Ganze natürlich außerhalb von C:\Program ..
2.
Windows Version herunterladen
https://github.com/carrotIndustries/horizon/wiki/Getting-started ->
1.png
Uuterhalb "Windows" auf "here" klicken."
Da landet man dann hier: http://0x83.eu/horizon-zip/
Den zip-file in dem Verzeichnis C:\horizon speichern und dort auspacken
- "unzip here".
Das legt dann ein Unterverzeichnis horizon an. In dem sind die
exe-Dateien.
Damit sieht das so aus:
C:\horizon\horizon
3. Pool laden.
https://github.com/carrotIndustries/horizon/wiki/Getting-started
"Get the pool"
"download zipped pool" klicken.
horizon-pool-master.zip in C:\horizon speichern.
Auspacken mit "unzip here".
Damit hat man ein Unterverzeihnis
C:\horizon\horizon-pool-master
4. Example Project laden
https://github.com/carrotIndustries/horizon/wiki/Getting-started
Ziemlich unten auf der Webseite ist Example project
"test project" klicken
https://github.com/carrotIndustries/horizon-test-project
"Clone or download" klicken
"Download ZIP" klicken und in C:\horizon speichern.
horizon-test-project-master.zip auspacken mit "unzip here".
Damit hat man ein Unterverzeihnis mit Schaltplan und Layout.
C:\horizon\horizon-test-project-master
5. Programm starten
Mit dem Explorer nach C:\horizon\horizon gehen.
horizon-prj-mgr.exe starten -> 2.png
Links oben of das Symbol klicken und dann weiter mit "Preferences" ->
2a.png
Ein neues Fenster geht auf -> Add pool klicken -> 2b.png
Jetzt die .json Datei aus dem Verzeichnis
"C:\horizon\horizon-pool-master" waehlen -> 2c.png
OK klicken -> 2d.png
In dem kleinen Fenster "Preferences" auf x klicken." -> 2e.png
Jetzt sind wir wieder im Fenster wie beim Start - 2e.png
"Open" klicken" um das Beispielprojekt zu waehlen,
C:\horizon\horizon-test-project-master\pic32-eth.hprj -> 3.png
Zum Schluss "Open" klicken in dem Fenster -> 3.png
Jetzt sieht das Fenster so aus -> 4.png
Hier kann man jetzt den Schaltplan(Top Schematic) und das Layout(Board)
laden.
Den 3D View kann man aus dem PCB-Layout starten.
Gruß,
Helmut
W.S. schrieb:> So mein Freund
Meinst du wirklich, dass du dir mit deinem Geblubber „Freunde“ machst?
Wenn du dir den Thread mal ansiehst, dann wirst du feststellen, dass
es hinreichend viele Leute gibt, die selbst in dieser Phase durchaus
in der Lage sind, das Dingens zum Laufen zu bekommen. Dass es noch
lange nicht im "Plug&Play"-Stadium ist, nun, das steht eigentlich
schon in der Threadüberschrift drin. Wenn du mit dieser
Erwartungshaltung hergekommen bist: geh' einfach wieder. Komm dann
wieder, wenn Lukas es nicht mehr als "halbfertig" tituliert sondern
wenigstens als "Beta".
Wenn dir ernsthaft daran gelegen ist, hier was zu testen und auch
sinnvolles Feedback zu geben, dann wirst du ganz sicher auch die
derzeitige Einstiegshürde schaffen. Viele andere haben es vor dir
geschafft. Wenn du dich im Thread umsiehst, wirst du feststellen,
dass Lukas konstruktiver Kritik gegenüber durchaus sehr aufgeschlossen
ist. „ist eingebaut“, „ist geändert“, „klingt sinnvoll“ kannst du hier
an vielen Stellen lesen. Auf Kritik der Art „du bist völlig auf dem
Holzweg“ wird er jedoch sehr sicher verzichten können, da brauchst du
dir also auch nicht erst die Mühe machen, sowas aufzuschreiben.
Abdul K. schrieb:> Sowas wie ne Batch-Datei wäre schon schön.
Den Pool muss man nur einmal runterladen, danach braucht man sich
darum nicht mehr kümmern.
Dass das derzeitige Pool-Konzept nur ein Anfang ist, hatte Lukas ja
schon geschrieben. An der Stelle wird sich also ohnehin nochmal was
ändern.
So schlecht dokumentiert hat er das alles gar nicht, steht halt in
seinem Wiki. Da habe ich schon viel mehr Software erlebt, bei denen
die Doku nur aus .cpp-Dateien bestand.
Sicher, nur du bist halt damit den ganzen Tag beschäftigt. Morgens klebt
schon diverses C++ an der Kaffeetasse.
Andere wollen das Programm nur einsetzen.
Abdul K. schrieb:> Andere wollen das Programm nur einsetzen.
Naja, siehe Beitrag drüber: so weit ist es einfach noch nicht. Im
Moment
ist das praktisch nur was für Leute, die da bei der Entwicklung auch
(zumindest passiv) mitmachen möchten. Das Teil wirft mit diversen
Meldungen um sich, und es kann hie und da schon auch mal 'ne unhandled
exception geben. Wenn man das berichtet, stellt Lukas es ab, aber
wertvolle Arbeit würde ich damit nur mit ganz viel zwischendrin
Speichern machen wollen im derzeitigen Stadium.
Abdul K. schrieb:> Sicher, nur du bist halt damit den ganzen Tag beschäftigt. Morgens> klebt> schon diverses C++ an der Kaffeetasse.> Andere wollen das Programm nur einsetzen.
Hallo Abdul K.,
Man muss nicht selber kompilieren, wenn man einen WIN-PC hat.
Lukas stellt sehr aktuelle exe-Dateien für Windows bereit. Das ist schon
mal ein Superservice.
https://github.com/carrotIndustries/horizon/wiki/Getting-started
Get Horizon
Windows
"here"
PS: Darauf musste man bei Gnu-Octave z. B. zehn Jahre warten.
Achtung, nur weiterlesen, wenn man selber unter WIN kompilieren will.
Die "build"-Umgebung in Windows lässt sich leichter installieren als die
für Linux. Lukas hat das genau auf seiner Webseite beschrieben.
Zusätzlich habe ich hier in einer meiner Antworten die notwendigen
Kommandos zum erzeugen eigener WIN-exe zusammengefasst.
Anleitung zum Kompilieren der WIN-exe auf einem WIN-PC.
Einmalig mysys2 installieren. Anleitung siehe Webseite von Lukas.
https://github.com/carrotIndustries/horizon/wiki/Building-horizon-on-Windows
--- WIN version erzeugen
In WIN mysys2 starten. Ein Terminal geht auf. In dem Terminal wird dann
gearbeitet.
#Im home/user Verzeichnis von mysys2 ein Verzeichnis anlegen.
$ mkdir horizonxyz
#Vom home-Verzeichnis in dieses Verzeichns wechseln.
$ cd horizonxyz
#Die Source-Files herunterladen.
$ git clone http://github.com/carrotIndustries/horizon
#In das von clone angelegte Unterverzeichnis horizon wechseln.
$ cd horizon
#Kompilieren mit allen logischen cores des Prozessors damit es schnell
geht. Beispiel CPU mit 4 cores + hyperthreading -> -j 8.
$ make -j 8
#Die WIN-Version im Ordner "dist" erzeugen.
$ ./make_bindist.sh
Im Unter-Ordner "dist" ist dann ein Verzeichnis horizon. Das ist das
Programmverzeichnis für die Windows-Version.
Wie starte ich einen neuen Pool? Gibt's dafür ein Tool?
Wenn ich im Pool ein Symbol editiere (wird vermutlich bei anderen
Elementen nicht anders sein), hätte ich außer "Save" auch gern ein
"Save As …", damit ich ausgehend von einem vorhandenen Element ein
neues ableiten kann.
Jörg W. schrieb:> Wenn du dich im Thread umsiehst, wirst du feststellen,> dass Lukas konstruktiver Kritik gegenüber durchaus sehr> aufgeschlossen ist.
Ja, durchaus.
> Auf Kritik der Art „du bist völlig auf dem Holzweg“ wird> er jedoch sehr sicher verzichten können, da brauchst du dir> also auch nicht erst die Mühe machen, sowas aufzuschreiben.
Das ist sicher auch richtig -- das heißt aber nicht, dass
diese Kritik zwingenderweise sachlich falsch ist.
Ich hätte es auch wichtiger gefunden, vorhandene Software
besser und interoperabler zu machen, als ein weiteres
Komplettpaket zu schaffen -- aber es lohnt nicht, das
dauernd wieder aufzuwärmen.
Ah Abstürze. Achgott, PCs eben.
Ich hatte ja oben mal was über RUN-EDS anno 1992 geschrieben. Also
damals ist diese Software so alle 2h abgestürzt. Und es gab einen
speziellen abundzu Fehler, wo das Projekt irreparabel zerstört wurde.
Das heißt, es wurde die Datei zerschreddert ohne sofortige Auswirkung.
Irgendwann hat sich dieser Fehler dann offenbart und alles dazwischen an
Arbeit reingesteckte, war damit futsch. Da nützt also auch kein Backup!
Das MacOS ging auch so 2-mal pro Tag hops... Auf einem 19" Monitor
konnte man beim Scrollen zugucken. So war das damals. Nur mal so erwähnt
für die jungen Hüpfer.
Die letzten Versionen RUN-EDS von 2001 waren recht stabil und hatten
kaum Fehler. Das MacOS lief da bereits rockstabil.
Und nochwas zu Bartels Autorouter: 2001 hatten wir die letzten
Vergleichstest zum Specctre-Router gemacht. Der war besser als der
Bartels. Und lief schneller auf billigerer Hardware, da Windoof-PC.
Possetitjel schrieb:> Ich hätte es auch wichtiger gefunden, vorhandene Software> besser und interoperabler zu machen, als ein weiteres> Komplettpaket zu schaffen
Mag sein. Andererseits – wenn Lukas für sich erkannt hat, dass die
vorhandene Software einfach mal eine „verfahrene Kiste“ ist (was ja
letztlich auch W.S. für Kicad immer mal wieder behauptet, und was
Stefan Salewski für gEDA so konstatiert hat), dann kann die Auflösung
„Fang von vorn an und mach es besser“ durchaus die richtige sein.
Kommt hinzu, dass Lukas es offenbar vom Arbeitsumfang tatsächlich
in der Lage ist zu stemmen.
Jörg W. schrieb:> hätte ich außer "Save" auch gern ein "Save As …"
Da fällt mir gerade auf: Alle Objekte im Pool Manager haben auch einen
"Create"-Button – nur Symbole nicht. Irgendwie muss Lukas ja seine
Symbole wohl auch angelegt haben.
Abdul K. schrieb:> Und nochwas zu Bartels Autorouter: 2001 hatten wir die letzten> Vergleichstest zum Specctre-Router gemacht. Der war besser als der> Bartels. Und lief schneller auf billigerer Hardware, da Windoof-PC.
Wobei ich BAE seit 2001 unter FreeBSD benutze (die Linux-Version),
ist also nicht so, dass sie originär Mac-Edelhardware benötigt hätten.
;)
Zu anderen Autoroutern kann ich nicht so viel sagen.
Das besondere am Mac war die Software, nicht die Hardware. Naja, die
Kombination in manchen Bereichen, z.B. die Maus kombiniert mit
vollgrafischer Oberfläche.
Allerdings hatten die ersten Macs schon echte EMV-Designs. Das habe ich
bei den Windows-Kisten bzw. DOS IBM-PC ziemlich vermißt.
Ok, falscher Thread :-)
Helmut S. schrieb:> Deshalb habe ich mal eine Anleitung geschrieben und ein paar screenshots> dazu gemacht. Siehe nachfolgender Text.
Cool, danke. Damit habe ich es bei mir fix zum Laufen bekommen - bin ja
neugierig und bewundere, was Lukas treibt.
Aur meiner Büchse (i7-3770, 4GB RAM, Win 7, SSD) braucht es gefühlte 10
Sekunden für den Start. Anschließend sieht es dann etwas seltam aus -
ich sehe zwar alle Bedienelemente, aber weder Schaltplan noch Layout.
Grafikkarte ist eine Radeon HD3600 - ziemlich alte Gurke, lt. Wikpedia
kann sie aber OpenGL 3.3. Windows behauptet, der Treiber sei aktuell.
Das prüfe ich aber erst morgen, es ist Zeit fürs Bett.
Fehlermeldungen wirft Horizon (2017-11-23-1801, das nenne ich mal
bleeding edge) keine. Gibt es irgendwo ein Logfile?
Max G. schrieb:> Grafikkarte ist eine Radeon HD3600 - ziemlich alte Gurke, lt. Wikpedia> kann sie aber OpenGL 3.3. Windows behauptet, der Treiber sei aktuell.> Das prüfe ich aber erst morgen, es ist Zeit fürs Bett.>
Ich habe gerade mal diese Version "horizon-2017-11-23-1801.zip" kurz
gestartet. Die läuft einwandfrei auf einem PC mit neuerer Grafikkarte
(GTX950). Nach meiner Erfahrung geht es ab Nvidia GTX560 und neuer
problemlos. Bei einer Nvidia GTX260 geht fast alles bis auf das Füllen
der Planes. Auf Rechnern mit Intel-CPU-Grafik läuft horizon auch.
Das kann nur also nur an deiner Grafikkarte/Grafikkarten-Treiber liegen.
Da hilft wohl nur eine neuere Grafikkarte.
Jörg W. schrieb:> Da fällt mir gerade auf: Alle Objekte im Pool Manager haben auch einen> "Create"-Button – nur Symbole nicht.
Der ist bei den Units, da zu jedem Symbol eine Unit gehört. Symbole sind
nicht die Primärquelle für Pins, dazu hat's die Units. Für bessere
discoverability hab ich jetzt auch noch einen Knopf bei den Symbols
eingebaut.
Jörg W. schrieb:> Wie starte ich einen neuen Pool? Gibt's dafür ein Tool?
Nein, da Leute dazu motiviert werden sollen, den globalen Pool zu
benutzen. Wer seinen eignen Pool (z.B. in einem Unternehmen) haben will,
kopiert sich am einfachsten den globalen Pool, löscht alles was nicht
gefällt und ändert die UUID in der pool.json
> Wenn ich im Pool ein Symbol editiere (wird vermutlich bei anderen> Elementen nicht anders sein), hätte ich außer "Save" auch gern ein> "Save As …", damit ich ausgehend von einem vorhandenen Element ein> neues ableiten kann.
Okay, kommt bald, wenn auch wohl als "Duplicate"-Knopf im Pool-Manager.
Falls sich wer wundert, weshalb so offensichtlich notwendige Features
fehlen: Als Entwickler hat man leider eine etwas verzerrte Sicht auf die
Dinge und hat 1000 Einfälle, was man als nächstes bauen könnte. Sowas
wie Duplicate war auch mal dabei. Meistens gewinnt dann aber der
Spieltrieb und sowas die 3D-Vorschau kommt dabei raus oder man kümmert
sich um Details wie unglückliche Auswahl-Boxen. Solche wünsche von
anderen Anwendern/Testern helfen mir ungemein Ideen zu priorisieren.
Danke an alle!
Max G. schrieb:> Aur meiner Büchse (i7-3770, 4GB RAM, Win 7, SSD) braucht es gefühlte 10> Sekunden für den Start. Anschließend sieht es dann etwas seltam aus -> ich sehe zwar alle Bedienelemente, aber weder Schaltplan noch Layout.
Kannst du mal einen Screenshot von dem Malheur machen?
Tester schrieb:> Hast du eigentlich (oder wer anders) schon mal eine Platine fertigen> lassen? Spiele mit dem Gedanken, mal mein Projekt bei Elecrow fertigen> zu lassen um zu sehen was raus kommt ;-)
Nicht dass ich wüsste. Wenn du magst nur zu, aber sei nicht böse mit
mir, wenn's nichts wird ;)
> Was anderes: Zu Kontrollzwecken wäre auch eine (konfigurierbare)> Druckerausgabe nicht schlecht.
So wie ich jetzt drüber nachdenke eigentlich recht wenig Aufwand mit
cairo...
Max G. schrieb:> Fehlermeldungen wirft Horizon (2017-11-23-1801, das nenne ich mal> bleeding edge) keine.
Die werden auf der Console rausgeworfen, also std::cerr << "irgendwas".
Müsstest du unter Windows wohl direkt aus einem cmd.exe heraus
starten.
Fehlermeldungen kommen hier auch nicht sooo viele (wenn ich nicht
gerade mal in eine Exception trete ;), aber es gibt massenhaft
Debugausgaben, bis hin zu SQL statements, die beim Ausfüllen des
Suchfeldes angezeigt werden. Irgendwas solltest du da also schon
sehen. :)
1
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, GROUP_CONCAT(tags.tag, ' '), parts.filename FROM parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages ON packages.uuid = parts.package WHERE parts.MPN LIKE ? AND parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid ORDER BY parts.MPN COLLATE naturalCompare ASC
2
SELECT parts.uuid, parts.MPN, parts.manufacturer, packages.name, GROUP_CONCAT(tags.tag, ' '), parts.filename FROM parts LEFT JOIN tags ON tags.uuid = parts.uuid LEFT JOIN packages ON packages.uuid = parts.package WHERE parts.MPN LIKE ? AND parts.manufacturer LIKE ? AND (parts.entity=? or ?) GROUP BY parts.uuid ORDER BY parts.MPN COLLATE naturalCompare ASC
Noch ein Nachtrag:
Bernd W. schrieb:> Nachtrag:>>> Ohne das ./ sucht die Shell in $PATH und nicht im aktuellen Verzeichnis.>>> Ich hab's im Wiki mal angepasst.>>>> <vor stirn patsch> Das wird es vermutlich gewesen sein. Irgendwie war>> ich wohl zu unkonzentriert.>>>> Ich werde es mal probieren, wenn ich heute Nachmittag wieder zu Hause>> bin.>> Das war es leider nicht. Aber da sind noch andere merkwürdige Dinge.> Ich such mal weiter.
Schande über mich. Das war ich selber. Ein Klassiker, per remote auf dem
falschen Rechner und das auch nicht mitkriegen. :(
Nun startet das Programm, bricht aber mit einer Fehlermeldung ab:
(horizon-prj-mgr:1424): glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: unable to open database file
Trace/Breakpoint ausgelöst
Ich probier mal ein pull, ob es da was neues gibt.
So, neue Daten, neuer build, aber gleiches Ergebnis:
(horizon-prj-mgr:3274): glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: unable to open database file
Trace/Breakpoint ausgelöst
Wenn mit der "database" der pool gemeint ist, den habe ich auch auf der
Platte. Nur wie teile ich horizon mit, wo der ist?
Bisher konnte ich ja noch nicht allzu viel an Ergebnis sehen, aber
alleine die Menge an Sourcecode: "Hut ab"
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Hallo Bernd, ließ doch mal meine vorletzte Message - die mit den vielen
Screenshots. Da steht drin wie man den Pool hinzufügt. Das muss man nur
einmal machen.
Helmut
Bernd W. schrieb:> Nur wie teile ich horizon mit, wo der ist?
Mit dem Pool Manager.
Wundert mich nur, dass er ohne irgendeinen registrierten Pool überhaupt
startet. Das hat er bei mir abgelehnt.
Bernd W. schrieb:> (horizon-prj-mgr:1424): glibmm-ERROR **:> unhandled exception (type std::exception) in signal handler:> what: unable to open database file
Ist repariert, das Problem war folgendes: Zum Speichern der
Fenstergrößen benutze ich auch SQLite und das erwartet logischerweise,
dass es das Verzeichnis, in dem die Datenbank liegt schon existiert. Bis
jetzt ist das nur keinem aufgefallen, da alle das Verzeichnis schon
hatten.
Man brauch SQlite zur Speicherung von 4 32Bit Zahlen? Da würde mich mal
interessieren, wie man ohne Starten des Programms die Koordinaten eines
Fensters per Hand ändert. Wie aufwändig ist das? Was muß man tun? Rein
interessehalber. Normalerweise ist das doch in einer ini-Datei oder
schlimmer noch in der Registry.
Abdul K. schrieb:> Man brauch SQlite zur Speicherung von 4 32Bit Zahlen?
Du brauchst zwei Mal 32bit für Fenstergrößen? Respekt.
Den Monitor hätte ich auch gerne...
Abdul K. schrieb:> Man brauch SQlite zur Speicherung von 4 32Bit Zahlen?
Macht Dinge einfacher: Je nachdem, was der Anwender macht, können ja
auch mehrere Fenster nahezu zeitgleich geschlossen werden und dereb
Größen müssen gespeichert werden. Bei einer ini/json-Datei hätte ich
über Locking nachdenken müssen, damit das nicht hinfällt, bei SQLite
haben schon andere mit mehr Ahnung von der Materie drüber nachgedacht.
Der Overhead meinerseits von SQLite verglichen mit einer Datei geht auch
gegen null.
> Da würde mich mal> interessieren, wie man ohne Starten des Programms die Koordinaten eines> Fensters per Hand ändert. Wie aufwändig ist das? Was muß man tun?
1
$ sqlite3 .config/horizon/window_state.db
2
SQLite version 3.21.0 2017-10-24 18:55:49
3
Enter ".help" for usage hints.
4
sqlite> SELECT * FROM window_state;
5
prj-mgr|1914|871|1|38|0
6
pool-editor-win-27|762|600|579|286|0
7
imp-symbol|1914|871|1|38|0
8
pool-mgr|1914|871|1|38|0
9
10
sqlite> UPDATE window_state SET width=100 WHERE window='prj-mgr';
Lukas K. schrieb:> bei SQLite haben schon andere mit mehr Ahnung von der Materie drüber> nachgedacht
Genau darin sehe ich auch den Vorteil. SQlite ist einfach stabile
Technik, die man nur noch benutzen muss.
Interessant. Ich sehe nur das Problem, wie man das dann repariert wenn
was kaputt ist. Bei einer Textdatei ist das oft gut machbar. XML wird
schon schwieriger.
Gerade eben habe ich einen Vista-Rechner, der partout zu einen
bestimmten WLAN AP keine Verbindung aufbauen will. Mann kann die Liste
der aktiven APs aufrufen und einen auswählen, und das wars dann auch.
Keine Fehlemeldung und der alte AP weiterhin aktiv. Andere Platte rein,
geht. Tja, also config defekt. Google bedient. Konfigurationsdateien
gibts pro AP. Diese habe ich auch gefunden. Inhalt unlesbar.
Dekodiermaske gibts nicht. Bei Windoof alles geheim. In der Registry das
gleiche Spiel. Zig Einträge, aber völlig unsichtbar was wo im Bereich
WLAN verknüpft ist. DAS IST EINFACH EIN SCHROTTKONZEPT!
Das Ende vom Lied: Werde Vista platt machen und Win7 komplett frisch
installieren. Nicht nur wegen dem AP, sondern weil eh noch andere Sachen
Probleme machen.
Selbst der Ersatz der Konfigurationsdatei für diesen speziellen AP von
der anderen lauffähigen Platte hat nicht funktioniert.
Ich hätte noch eine Anregung: Wenn man ein Objekt anwählt, kann man ja
die Attribute editieren. Wählt man z.B. mehrere Leiterbahnsegmente aus
und möchte man bei allen z.B. die Breite ändern, muss man alle durch
klicken. Es wäre schön, wenn man z.B. eine Checkbox mit "Apply to all"
hätte, so dass nach dem Anwählen der Checkbox die Änderungen für alle
Segmente simultan angewendet werden würde.
Klaus R. schrieb:> Es wäre schön, wenn man z.B. eine Checkbox mit "Apply to all"> hätte, so dass nach dem Anwählen der Checkbox die Änderungen für alle> Segmente simultan angewendet werden würde.
Das gibt es doch schon, das macht der Knopf mit dem Haken. Ich hab' dem
gerade mal noch einen Tooltip spendiert.
Aehm... der "Knopf mit Haken"? Die Haken "tun" bei mir nicht viel. Egal
was ich anklicke, es ändert sich nur das als erstes angewähltes Segment.
Edit: Ok, hab's kapiert. Erst die Breite für eines ändern, danach den
Haken anwählen. Jetzt wird es für alle Angewählten übernommen.
Lukas K. schrieb:> Kannst du mal einen Screenshot von dem Malheur machen?
Gerne. Sieht originell aus, die Kontextmenüs gehen auch. Man sieht nur
nichts.
Auf der CMD-Konsole kommt nichts an, ist aber unter Windows typisch. Die
Ausgabe von GUI-Programmen landet irgendwo im Nirvana und ist nur per
Debugger sichtbar.
Max G. schrieb:> Gerne. Sieht originell aus, die Kontextmenüs gehen auch. Man sieht nur> nichts.
Seltsam ist ebenfalls, dass an der Stelle, an der normalerweise der
Grid-Multiplikator steht, nichts steht. Um Ausagabe auf der Konsole zu
bekommen, musst du den horizon-prj-mgr.exe aus einer mingw-Konsole
starten.
Wenn du dir eh msys2 installierst, installier' dort drin mal gtk:
pacman -S mingw-w64-x86_64-gtk3
und starte die gtk3-demo und öffne die OpenGL-Demo. Was passiert da?
Jörg W. schrieb:> Meinst du wirklich, dass du dir mit deinem Geblubber „Freunde“ machst?>> Wenn du dir den Thread mal ansiehst, dann wirst du feststellen, dass> es hinreichend viele Leute gibt, die selbst in dieser Phase durchaus> in der Lage sind, das Dingens zum Laufen zu bekommen.
Ach Jörg, ich hab mich an dein unsachliches Geblubber und deine
persönlichen Anfeindungen mittlerweile gewöhnt, so daß ich diese zumeist
einfach überlese. Wenn was nicht funktioniert, dann sag ich das auch -
ob dir das schmeckt oder nicht, ist deine Sache.
Ich erwarte ganz schlicht und einfach, daß sowas benutzbar ist, ohne daß
man erst Sherlock Holmes spielen muß. Ich werde also eben NICHT nach
irgendwelchen fehlenden Teilen im Internet herumsuchen. Punkt.
Jörg W. schrieb:> Wie starte ich einen neuen Pool? Gibt's dafür ein Tool?
Ach?
Sieh mal einer an.
Ein paar Beiträge nach deinem obigen Einwurf kommst du auf das gleiche
Problem, ja?
Ich sag dir eins: Es kommt eben doch auf den vor jeglicher
Programmiererei gefaßten, formulierten und gründlich überprüften Entwurf
an.
W.S.
Jetzt laß die Karottenindustrie einfach mal machen. In einem Jahr ist
das bestimmt brauchbar. Ich habe jedenfalls vollsten Respekt!
Danach kann Lukas mit dem Transverter TINA nach LTspice Projektfile
weitermachen :-)
W.S. schrieb:> Ein paar Beiträge nach deinem obigen Einwurf kommst du auf das gleiche> Problem, ja?
Nein, ein völlig anderes. Wie du Lukas' Antwort entnehmen kannst,
gibt es das, wonach ich gefragt habe, derzeit schlicht noch nicht.
Das liegt aber daran, dass er den zentralen Pool im Moment als
Designentscheidung erst einmal so vorgesehen hat.
Damit kann ich leben, Würgaround hat er genannt, einen Script, um
einen neuen Pool zu erzeugen, könnte ich mir zur Not sicher auch
selbst zimmern.
> Wenn was nicht funktioniert, dann sag ich das auch
Du kommst aber mit der Anspruchshaltung eines „Endkunden“ an und
übersiehst geflissentlich, dass sich Horizon derzeit überhaupt nicht
an solche richtet. Das hat Lukas in diesem Thread von vornherein klar
gemacht, und das steht im Prinzip bereits in der Überschrift.
Die Schritte, wie man es zum Laufen bekommt, sind beschrieben. Wenn
dir das zu umständlich ist, dann ist das Programm im derzeitigen
Zustand einfach mal nichts für dich, aber dann musst du doch auch nicht
ständig wieder hier aufschlagen und allen, die es gar nicht hören
wollen verkünden, wie schlecht es doch sei.
@Lukas, mal was ganz Nichttechnisches: du solltest deinen Dateien
irgendeine Art von Copyright-Header voranstellen. Ohne einen solchen
darf man sie ganz formal eigentlich nicht weiterverbreiten.
Lukas K. schrieb:> Jörg W. schrieb:>> Da fällt mir gerade auf: Alle Objekte im Pool Manager haben auch einen>> "Create"-Button – nur Symbole nicht.>> Der ist bei den Units, da zu jedem Symbol eine Unit gehört. Symbole sind> nicht die Primärquelle für Pins, dazu hat's die Units.
Hmm, das hatte ich so noch nicht verstanden.
Ich hatte gedacht, dass die Units nur das Bindeglied sind, man aber
ein und dasselbe Symbol in verschiedenen Units benutzen könnte.
> Für bessere> discoverability hab ich jetzt auch noch einen Knopf bei den Symbols> eingebaut.
OK, danke. Ich würde die Buttons allerdings tauschen (siehe Patch),
denn in allen anderen Tabs ist auch erst "Create", danach "Edit".
Jörg W. schrieb:> Max G. schrieb:>> Fehlermeldungen [...]>> Die werden auf der Console rausgeworfen, also std::cerr << "irgendwas".
Wären da nicht std::clog oder std::wclog sinnvoller?
W.S. schrieb:> Ich erwarte ganz schlicht und einfach, daß sowas benutzbar ist, ohne daß> man erst Sherlock Holmes spielen muß. Ich werde also eben NICHT nach> irgendwelchen fehlenden Teilen im Internet herumsuchen. Punkt.
Auf der Git-Seite war eine Anleitug, wo man das pool.json herbekommt ...
rtfm
Außerdem ist die Software noch nicht mal Beta ...
Seufz
Hallo Lukas,
./horizon-pool-mgr.exe
Ab dem zweiten Doppelklick auf eine "Bauteilezeile" kommen permanent
diese Debug-Meldungen.
Sind diese Debug-Meldungen im mysys2-Terminal OK oder ist das ein
Problem?
Helmut S. schrieb:> Sind diese Debug-Meldungen im mysys2-Terminal OK oder ist das ein> Problem?
Nichts tragisches, Gtk ist wohl über irgendwas mit der Pad-Box rechts
nicht ganz glücklich. Was genau, mag sich mir auch nicht so recht
erschließen.
Lukas K. schrieb:> Okay, kommt bald, wenn auch wohl als "Duplicate"-Knopf im Pool-Manager.
Sind drin: Für Entities und Parts fallen die Dialoge ein wenig komplexer
als vielleicht erwartet aus, da ausgewählt werden kann, ob referenzierte
Objekte auch kopiert werden, oder die bereits vorhandenen referenziert
werden sollen.
Lukas K. schrieb:> Wie oben geschrieben, soll> was einmal im Pool ist eigentlich drin bleiben, daher kann der Pool> Manager nichts löschen.
Hat sich herausgestellt, dass es zum experimentieren doch recht
praktisch ist, Dinge einfach löschen zu können: Gibt's nun im
Kontextmenü.
Hallo Lukas,
ich hätte gerne die Möglichkeit im Parts-Editor das "Package" zu ändern,
z. B. c0603 zu c0603a, weil die Anfoderungen an die Pads(pad stack)
nicht bei allen die gleichen sind.
Mal möchte der PCB-Hersteller die "solder mask" etwas anders (größer)
oder der Platinenbestücker(oder auch ich) möchte etwas besonderes an der
"paste-Mask" oder kleinere oder größere Pads.
Kannst du das eiunbauen?
Gruß Helmut
Helmut S. schrieb:> Kannst du das eiunbauen?
Das gibt es schon in anderer Form: Im Board gibt es diese Einstellungen
bei der Regel "Parameters". Mit Klick auf "Apply All" werden die
Einstellungen dann auf alle Bauteile auf dem Board angewandt.
Helmut S. schrieb:> ich hätte gerne die Möglichkeit im Parts-Editor das "Package" zu ändern,> z. B. c0603 zu c0603a, weil die Anfoderungen an die Pads(pad stack)> nicht bei allen die gleichen sind.
Das Package ist nur bei Parts änderbar, die nicht von anderen Parts
erben, da Package und Pin-Pad Zuordnung geerbt werden.
Jörg W. schrieb:> Du kommst aber mit der Anspruchshaltung eines „Endkunden“ an und> übersiehst geflissentlich, dass sich Horizon derzeit überhaupt nicht> an solche richtet. Das hat Lukas in diesem Thread von vornherein klar> gemacht, und das steht im Prinzip bereits in der Überschrift.
Das ist mir alles von Anfang an klar gewesen - und es geht auch
überhaupt nicht um mich selber.
Aber sag mal selbst, was aus einem Projekt werden soll, wenn (wie du
schreibst) Lukas sich mit seinem Projekt DERZEIT garnicht an Endkunden
richtet.
Da passiert nämlich ganz leicht genau dasselbe, was ich schon bei Kicad
erleben mußte. Nämlich, daß auf weite Strecke das ganze Projekt nur aus
Sicht seiner Programmierer vorangetrieben wurde und daß eben dabei an
den Endkunden vorbei programmiert worden ist.
Je früher man so einen Projektentwurf einem echten Endkunden vorsetzt
(oder einem, der zumindest sich bemüht, das Ding aus Anwendersicht mal
anzuschauen), desto eher kann man den Gang der Entwicklung noch in die
richtige Richtung hinbiegen.
Wenn hingegen erstmal viele Pflöcke eingeschlagen und eine Menge
Codezeilen geschrieben sind, dann sind Änderungen an der Grundstruktur
schmerzhaft, aufwendig oder sogar unmöglich, ohne große Teile des Ganzen
wieder einzureißen.
Genau deshalb sind solche frühen Tests dringendst notwendig. Verstehst
du das jetzt besser? Ich habe aus gutem Grunde immer wieder das Bauen
eines Hauses als Gleichnis herangezogen. Eben zuerst die richtigen
Fundamente legen, sonst braucht man später die Abrißbirne und den
Bagger.
W.S.
Hallo Lukas und Joerg.
Jörg W. schrieb:> Mit dem Pool Manager.>> Wundert mich nur, dass er ohne irgendeinen registrierten Pool überhaupt> startet. Das hat er bei mir abgelehnt.
Hat ja auch nicht gestartet....darum die Fehlermeldungen. ;O)
Lukas K. schrieb:> Ist repariert, das Problem war folgendes: Zum Speichern der> Fenstergrößen benutze ich auch SQLite und das erwartet logischerweise,> dass es das Verzeichnis, in dem die Datenbank liegt schon existiert. Bis> jetzt ist das nur keinem aufgefallen, da alle das Verzeichnis schon> hatten.
Der Build von gestern hat gestartet, und ich war in der Lage, den Pool
einzubinden.
Soweit also ok.
Leider komme ich erst irgendwann die Woche dazu, mir das näher
anzusehen.....und dann natürlich mit einem aktuellen Build
Bis jetzt macht es einen guten aufgeräumten Eindruck.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Hallo Helmut.
Helmut S. schrieb:> 3. Pool laden.> 4. Example Project laden> 5. Programm starten
Danke für Deine Quasi Anleitung.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Hallo Lukas,
ich versuche gerade mal einen Pool aufzubauen und dabei eine sinnvolle
Vorgehensweise zu finden. Im ersten Schritt habe ich erstmal Units und
dazu die passenden Symbole angelegt. Aus denen kann man dann später
Entities machen. Die Funktion "Duplicate Unit" ist dabei recht
hilfreich. Dupliziert man aber erst das Symbol, steckt man in einer
Sackgasse, weil man dem Symbol keine Unit zuordnen kann. Übersehe ich da
was?
Damit verwand dürfte eine andere Frage sein. Es gibt eine Unit "Generic
2 pin connector", die ist sowohl dem Symbol "Generic 2 pin connector
(1x2)" als auch dem Symbol "Generic 2 pin connector (2x1)" zugeordnet.
Ich vermute, da wurde ein Symbol dupliziert und dann der Name und das
Symbol geändert. Die Unit blieb gleich, denn die ist ja ohnehin nicht
änderbar. Was ist die Idee hinter dieser Vorgehensweise? Soll man damit
solche Fälle wie das amerikanische und europäische Widerstandssymbol nur
einer Unit zuordnen können? Beim Platzieren eines Parts im Schaltplan
bekommt man zumindest die Auswahl zwischen diesen beiden, der einen Unit
zugeordneten, Symbolen.
In diesem Fall tritt übrigens ein Fehler auf. Wenn man die Box zur
Auswahl des Symbols mit "Cancel" schließt, dann stürzt der
Schaltplan-Editor ab.
Nochmal eine positive Rückmeldung: ich baue jetzt seit ca. 2 Wochen fast
täglich ein neues Debian-Paket und das klappt zu > 95% immer
reibungslos. Manchmal muss ich meinen Patch für das Makefile anpassen,
mehr aber nicht.
Klasse Leistung.
Uwe
Hallo W.S.
W.S. schrieb:> Aber sag mal selbst, was aus einem Projekt werden soll, wenn (wie du> schreibst) Lukas sich mit seinem Projekt DERZEIT garnicht an Endkunden> richtet.>> Da passiert nämlich ganz leicht genau dasselbe, was ich schon bei Kicad> erleben mußte. Nämlich, daß auf weite Strecke das ganze Projekt nur aus> Sicht seiner Programmierer vorangetrieben wurde und daß eben dabei an> den Endkunden vorbei programmiert worden ist.
Sagmal, Rauchst Du irgendwas? Das soll ein OpenSource Projekt werden!
Als solches hat es KEINE KUNDEN. ;O)
Das hat für den Anwenden den riesen Vorteil, dass es nicht darauf
getrimmt sein muss, die Entscheider zu beeindrucken, die selten auch
Anwender sind, sondern es wird von Leuten geschrieben, die selber
Elektronikentwicklung machen.
Als OS Programm kann es im allgemeinen deutlich praxisorientierter
(insbesondere für Kleinanwender) sein, als proprietäre Software, die aus
Verkaufsgründen immer auf Eindruck machen schielen muss. ;O)
> Genau deshalb sind solche frühen Tests dringendst notwendig.
??? So wie ich das hier verstehe, sind zig Leute gerade mit Testen
beschäftigt. WAS ist dein Problem?
> Verstehst du das jetzt besser? Ich habe aus gutem Grunde immer wieder das >
Bauen eines Hauses als Gleichnis herangezogen. Eben zuerst die richtigen
> Fundamente legen, sonst braucht man später die Abrißbirne und den> Bagger.
Die Menschheit baut wesentlich länger Häuser als sie CAD Programme
schreibt. Insofern besteht bei Häusern sehr viel tradiertes Wissen,
wärend bei CAD Programmen eigentlich alle Programme noch irgendwie in
einem Experimentierstadium sind.
So auch hier, wo ein paar Sachen ausprobiert werden sollen.
Wenn Du konkrete Vorschläge hast, dann kannst Du sie bestimmt
anbringen, aber was Du machst, ist eine Besinnung auf Grundlagen
einfordern, die so überhaupt noch nicht existieren.
Mal ganz abgesehen von Deinem etwas aggressiven Tonfall.
Niemand startet ein solches Projekt ohne Vorüberlegungen. Selbst
wesentlich kleinere Sachen habe ich selber Monate- bis Jahre im Kopf
herumgewälzt, bevor ich ein kleines Konzept gemacht habe. So ist Lukas
mit Sicherheit nicht dabei, ohne Konzept zu arbeiten. Aber an
irgendeinem Punkte muss Schluss sein mit Konzept, und es muss angefangen
werden, das ganze Umzusetzten. Weil jedes Konzept kann fatale Fehler
enthalten, die erst auffallen, wenn man es anfängt Umzusetzten. Mann
könnte also eine Ewigkeit damit verbringen, ein extrem detailiertes und
perfektes Konzept aufzustellen, was überhaupt nicht funktioniert.
Deine "geforderte" Vorgehensweise ist eher eine
Projektverhinderungsstrategie, wenn man es genau sieht. Was ist
eigentlich Deine Agenda? Konkrete Vorschläge kommen ja nicht......
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Uwe S. schrieb:> Klasse Leistung.
Auf FreeBSD 11.x (da kann der Clang native C++14) würde es praktisch
aus der Dose heraus bauen.
Ich finde das auch eine gute Leistung!
Bernd W. schrieb:>> Genau deshalb sind solche frühen Tests dringendst>> notwendig.>> ??? So wie ich das hier verstehe, sind zig Leute> gerade mit Testen beschäftigt. WAS ist dein Problem?
Zu viele Fragen auf einmal :)
1.
Das Problem von W.S. ist, dass er eine richtige Frage im
falschen (sozialen) Kontext diskutieren will. Er ist
ungefähr genauso nervig wie ein überzeugter Veganer auf
dem Jahresball der Metzger-Innung: Sachlich vielleicht gar
nicht falsch, aber nutzlos, nervtötend, unangemessen.
2.
Deine Feststellung, FOS-Software habe keine Kunden (sondern
nur Anwender) ist sachlich richtig, geht aber nicht weit
genug: Manchmal hat sie nicht einmal "echte" Anwender. Der
Spruch "Wenn Du hier nichts beitragen kannst, dann hast Du
auch kein Recht, Forderungen zu stellen" schreibt die Inzucht
auf Dauer fest.
Das "Problem" (wenn es denn eins ist) bei Lukas' Vorgehen
liegt in der ZIELSTELLUNG, nicht in der Durchführung.
3.
Software-Tests werden aus unterschiedlichen Gründen gemacht.
Die Fragen "Haben wir das Richtige implementiert?" und "Haben
wir es richtig implementiert?" zielen in unterschiedliche
Richtungen.
Hier im Thread liegt der Fokus eindeutig auf der zweiten Frage.
Das ist für sich genommen nicht falsch, aber W.S. bemängelt
(nach meinem Verständnis) nur, dass die erste Frage deutlich
zu wenig diskutiert wird.
Letztlich liegen bei FOS-Software Licht und Schatten noch
näher beieinander als bei kommerzieller: Gute FOSS-Software
ist unter Umständen SEHR gut, eben weil der Programmierer
auch der Anwender ist.
Bei FOSS-Software, die aber an den Bedürfnissen (einiger)
Anwender vorbeigeht, haben diese Anwender NOCH weniger
Einfluss als bei kommerzieller Software: Gegen die Replik
"Du hast mir gar nix vorzuschreiben -- ich bin nicht Dein
Codiersklave!" hat man keine Handhabe. Bei kommerzieller
Auftragsentwicklung sieht das deutlich anders aus.
Ich bin ein ausgesprochener Freund von FOSS, aber man darf
die Nachteile des Modells auch nicht übersehen.
Bernd W. schrieb:> Weil jedes Konzept kann fatale Fehler enthalten, die erst> auffallen, wenn man es anfängt Umzusetzten.
Ja -- aber dann taugt das Konzept nichts :)
> Mann könnte also eine Ewigkeit damit verbringen, ein> extrem detailiertes und perfektes Konzept aufzustellen,> was überhaupt nicht funktioniert.
Es gibt immer viele Wege, etwas falsch zu machen; das
Aufstellen von Konzepten bildet da keine Ausnahme :)
Projektplanung ist viel schlechter lehrbar als Bohren,
Feilen oder Steaks braten, aber dennoch ist es ein
Handwerk wie viele andere auch.
Der sehr verbreitete Spruch "Wer glaubt, dass Projektleiter
Projekte leiten, der glaubt auch, dass Zitronenfalter
Zitronen falten" ist im Wesentlichen nur eins: Sehr dumm.
Possetitjel schrieb:> Es gibt immer viele Wege, etwas falsch zu machen; das> Aufstellen von Konzepten bildet da keine Ausnahme :)
Mmhmm, oft hat man ja ein Bild vor Augen, wie das fertige Projekt
aussehen soll ... Solange man quasi nur einer ist, der an einem Projekt
arbeitet, ist es auch kein Problem, das genau so umzusetzen, wie man
sich das vorstellt.
Da braucht man dann keine Projektplanung oder Konzepte ;-)
Possetitjel schrieb:> Die Fragen "Haben wir das Richtige implementiert?" und "Haben wir es> richtig implementiert?" zielen in unterschiedliche Richtungen. Hier im> Thread liegt der Fokus eindeutig auf der zweiten Frage.
Das sehe ich keineswegs so. Lukas hat weiter oben selbst postuliert,
dass er für alle Anregungen dankbar ist, auch die, die in Richtung
der ersten Frage gehen.
Was er dabei sicher nicht in Frage stellen wird, ist den grundlegenden
Workflow des Gesamtsystems. Der ist ja bei ihm insbesondere daraus
entstanden, dass er mit dem, was es schon gab, aus Anwendersicht
völlig unzufrieden war und es daher anders angehen wollte.
Hallo Possetitjel.
Possetitjel schrieb:> 2.> Deine Feststellung, FOS-Software habe keine Kunden (sondern> nur Anwender) ist sachlich richtig, geht aber nicht weit> genug: Manchmal hat sie nicht einmal "echte" Anwender. Der> Spruch "Wenn Du hier nichts beitragen kannst, dann hast Du> auch kein Recht, Forderungen zu stellen" schreibt die Inzucht> auf Dauer fest.
Vernünftigen Argumenten gegenüber ist ja auch niemand abgeneigt, sie
zumindest in Erwägung zu ziehen.
Allerdings, wenn Nischen Anwender sich ihre eigene Software als ihr
eigenes Handwerkszeug selber in die Hand schreiben, sind sie wohl auch
die einzigen wirklichen Experten dafür.
> Das "Problem" (wenn es denn eins ist) bei Lukas' Vorgehen> liegt in der ZIELSTELLUNG, nicht in der Durchführung.
Es geht um beides, Zielstellung und Durchführung.
> Software-Tests werden aus unterschiedlichen Gründen gemacht.> Die Fragen "Haben wir das Richtige implementiert?" und "Haben> wir es richtig implementiert?" zielen in unterschiedliche> Richtungen.> Hier im Thread liegt der Fokus eindeutig auf der zweiten Frage.> Das ist für sich genommen nicht falsch, aber W.S. bemängelt> (nach meinem Verständnis) nur, dass die erste Frage deutlich> zu wenig diskutiert wird.
So verstehe ich das auch.....aber W.S. bringt auch keine konkreten
Vorschläge für ein Ziel. Er bemängelt nur, dass es nicht gemacht wurde.
Ich gehe aber davon aus, dass das jeder macht, auch wenn es nicht
unbedingt nach aussen sichtbar ist. Und das Ergebnis einer solchen
Überlegung muss nicht mit dem Übereinstimmen, was bei W.S. herauskommen
würde. ;O)
> Bei FOSS-Software, die aber an den Bedürfnissen (einiger)> Anwender vorbeigeht, haben diese Anwender NOCH weniger> Einfluss als bei kommerzieller Software: Gegen die Replik> "Du hast mir gar nix vorzuschreiben -- ich bin nicht Dein> Codiersklave!" hat man keine Handhabe. Bei kommerzieller> Auftragsentwicklung sieht das deutlich anders aus.
Richtig. Aber das sehe ich nicht als Problem. Weil eigentlich schreiben
FOSS Entwickler immer extreme Nischensoftware für sich selber. Der
Erfolg einiger dieser Produkte ist dann auf das Versagen kommerzieller
Konzepte zurückzuführen. Also eher Zufall. Merkwürdigerweise treten
diese Zufälle aber sehr häufig auf...
> Bernd W. schrieb:>> Weil jedes Konzept kann fatale Fehler enthalten, die erst>> auffallen, wenn man es anfängt Umzusetzten.>> Ja -- aber dann taugt das Konzept nichts :)
Richtig....aber wann will man das sonst feststellen, wenn nicht durch
einen Umsetzungsversuch?
>>> Mann könnte also eine Ewigkeit damit verbringen, ein>> extrem detailiertes und perfektes Konzept aufzustellen,>> was überhaupt nicht funktioniert.>> Es gibt immer viele Wege, etwas falsch zu machen; das> Aufstellen von Konzepten bildet da keine Ausnahme :)
Ohja.
>> Projektplanung ist viel schlechter lehrbar als Bohren,> Feilen oder Steaks braten, aber dennoch ist es ein> Handwerk wie viele andere auch.
Ich sehe es eher als Kunst, weil mir komplett die Begabung dazu fehlt.
Aber ich sehe dieses Fehlen einer Begabung dazu auch bei W.S., solange
er nicht konkreter wird. ;O)
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Jörg W. schrieb:> Possetitjel schrieb:>> Die Fragen "Haben wir das Richtige implementiert?" und>> "Haben wir es richtig implementiert?" zielen in>> unterschiedliche Richtungen. Hier im Thread liegt der Fokus>> eindeutig auf der zweiten Frage.>> Das sehe ich keineswegs so.
Ich weiss :)
> Lukas hat weiter oben selbst postuliert, dass er für alle> Anregungen dankbar ist, auch die, die in Richtung der> ersten Frage gehen.
Ja, aber...
> Was er dabei sicher nicht in Frage stellen wird, ist den> grundlegenden Workflow des Gesamtsystems.
Eben.
Das bedeutet faktisch: Es gibt eine gewisse Zahl fundamentaler
Design-Entscheidungen, die nicht verhandelbar sind. Punkt.
(Dazu gehört aus meiner Sicht z.B., dass es ein Komplett-
paket werden soll.)
> Der ist ja bei ihm insbesondere daraus entstanden, dass> er mit dem, was es schon gab, aus Anwendersicht völlig> unzufrieden war und es daher anders angehen wollte.
Richtig.
Wenn man die Äußerungen von W.S. mal mit gutem Willen liest
(und über seinen unangemessenen Ton großzügig hinwegsieht),
dann ist genau DAS ja auch sein Kritikpunkt: ER (L.) war
unzufrieden, ER wollte es anders angehen. Was andere Anwender
wollen, was andere Anwender stört, spielt keine wesentliche
Rolle. (Wäre es anders, hätte es eine Planungsphase gegeben,
in der die Wünsche der Anwender ermittelt worden wären. Gab
es aber meines Wissens nicht.)
Nur um nicht missverstanden zu werden: L. macht nix falsch.
Er programmiert sich einfach die Software, die er haben möchte.
Die Kritik zielt auf eine generelle Schwäche von FOSS.
Possetitjel schrieb:> Was andere Anwender wollen, was andere Anwender stört, spielt keine> wesentliche Rolle.
Bezüglich des grundlegenden Designs: richtig.
Ansonsten sehe ich schon, dass er auf geäußerte Wünsche eingeht.
> Die Kritik zielt auf eine generelle Schwäche von FOSS.
Die aber auch eine Stärke sein kann: es wird einfach mal gemacht, und
„der Markt“ kann dann zeigen, ob sich das durchsetzt. Dieser besteht
ja am Ende aus viel mehr Nutzern als nur W.S. :)
Hallo Jörg und Possetitjel-
Jörg W. schrieb:>> Was andere Anwender wollen, was andere Anwender stört, spielt keine>> wesentliche Rolle.>> Bezüglich des grundlegenden Designs: richtig.
Immerhin hat er das ganze ja gestartet, weil er mit den herkömmlichen
Designs unzufrieden war, und eigene Ideen hatte.
Da ist kaum zu erwarten, dass er ausgerechnet diese Grundlagen ändert.
>> Ansonsten sehe ich schon, dass er auf geäußerte Wünsche eingeht.
Das sehe ich auch.
>>> Die Kritik zielt auf eine generelle Schwäche von FOSS.>> Die aber auch eine Stärke sein kann: es wird einfach mal gemacht, und> „der Markt“ kann dann zeigen, ob sich das durchsetzt. Dieser besteht> ja am Ende aus viel mehr Nutzern als nur W.S. :)
Eben. Es scheint oft also eine ganze Menge von Leuten zu geben, die sich
gut mit den Konzepten dieser Software anfreunden können.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de
Uwe S. schrieb:> Dupliziert man aber erst das Symbol, steckt man in einer> Sackgasse, weil man dem Symbol keine Unit zuordnen kann. Übersehe ich da> was?
Nein, das ist by Design so: Symbole stellen nur die Pins einer Unit dar
und sind daher recht fest mit dieser verbunden. Ohne Unit wüsste ein
Symbol nicht, wie die Pins heißen. Ein Dialog zum Austauschen der Unit,
wobei die Pins dann über Namen zur neuen Unit zugeordnet werden, wäre
allerdings denkbar, wenn das unbedingt so gebraucht wird.
> Damit verwand dürfte eine andere Frage sein. Es gibt eine Unit "Generic> 2 pin connector", die ist sowohl dem Symbol "Generic 2 pin connector> (1x2)" als auch dem Symbol "Generic 2 pin connector (2x1)" zugeordnet.> Ich vermute, da wurde ein Symbol dupliziert und dann der Name und das> Symbol geändert. Die Unit blieb gleich, denn die ist ja ohnehin nicht> änderbar. Was ist die Idee hinter dieser Vorgehensweise? Soll man damit> solche Fälle wie das amerikanische und europäische Widerstandssymbol nur> einer Unit zuordnen können?
Das ist ein möglicher Anwendungsfall. Die Idee hier bei den Steckern war
diese: In der Netzliste (Unit/Entity) ist es ja egal, wie die Pins nun
räumlich im Stecker angeordnet sind, daher gibt es für jede Anzahl Pins
nur eine Unit. So kann man auch ohne Probleme später mit dem "Assign
Part"-Tool aus einem 1x10 einen 2x5-Stecker machen, da beide für die
Netzliste identisch sind (selbe Unit/Entity). Im Schaltplan will man
damit's optisch besser zum Board passt beide Optionen haben. Geplant
sind hier noch diese Dinge: Symbol im Schaltpan änderbar machen (für
Units mit mehreren Symbolen). Vielleicht: Parts können bevorzugte
Symbole angeben, damit z.B. der 2x5-Wannenstecker standardmäßig auch das
2x5-Symbol bekommt und nicht erst der Dialog zur Auswahl des Symbols
aufgeht.
> Beim Platzieren eines Parts im Schaltplan> bekommt man zumindest die Auswahl zwischen diesen beiden, der einen Unit> zugeordneten, Symbolen.> In diesem Fall tritt übrigens ein Fehler auf. Wenn man die Box zur> Auswahl des Symbols mit "Cancel" schließt, dann stürzt der> Schaltplan-Editor ab.
Ist repariert.
Jörg W. schrieb:> Possetitjel schrieb:>> Was andere Anwender wollen, was andere Anwender>> stört, spielt keine wesentliche Rolle.>> Bezüglich des grundlegenden Designs: richtig.
Gut. Dann haben wir ja bis dahin erstmal Konsens.
> Ansonsten sehe ich schon, dass er auf geäußerte> Wünsche eingeht.
Selbstverständlich; das habe ich auch schon mehrfach
zugestanden. Das ist ja gar nicht mein Zielpunkt.
>> Die Kritik zielt auf eine generelle Schwäche von FOSS.>> Die aber auch eine Stärke sein kann: es wird einfach mal> gemacht, und „der Markt“ kann dann zeigen, ob sich das> durchsetzt.
Naja. Das ist kein Alleinstellungsmerkmal von FOSS; das
machen die Kommerziellen genauso.
Der ärgerliche Unterschied ist nur, dass es bei FOSS
überhaupt nicht notwendig wäre. Da es keinen Zwang zur
Rentabilität gibt, muss sich niemand "durchsetzen".
Bernd W. schrieb:> Immerhin hat er das ganze ja gestartet, weil er mit den> herkömmlichen Designs unzufrieden war, und eigene Ideen> hatte.
Sicher; Unzufriedenheit als Motiv, etwas zu ändern, ist
ja ein durchaus häufiger Fall.
> Da ist kaum zu erwarten, dass er ausgerechnet diese> Grundlagen ändert.
Naja, fraglich ist, was GENAU ihn gestört hat und was also
diese Grundlagen sind.
Die Tatsache, dass es (meines Wissens) kein wirklich
universelles Austauschformat für Schaltpläne gibt, war
es schon mal nicht -- sonst hätte er sich das als Thema
vorgenommen.
Die Tatsache, dass jede Software die Bauteil-Stammdaten
(Symbole, Footprints, ggf. Datenblätter, Spice-Modelle...)
mehr schlecht als recht (und natürlich inkompatibel zu
allen anderen Systemen) verwaltet, war es offensichtlich
auch nicht.
Nur um mal zwei Punkte zu nennen, die MICH stören.
> Eben. Es scheint oft also eine ganze Menge von Leuten zu> geben, die sich gut mit den Konzepten dieser Software> anfreunden können.
Was bleibt einem denn übrig? Die Alternativen sind ja noch
schlimmer.
Außerdem sind Anwender manchmal (notgedrungen) unfassbar
leidensfähig -- sonst wären MS-DOS, Windows98 oder vi nie
zum Einsatz gelangt.
Possetitjel schrieb:> Die Tatsache, dass jede Software die Bauteil-Stammdaten (Symbole,> Footprints, ggf. Datenblätter, Spice-Modelle...) mehr schlecht als recht> (und natürlich inkompatibel zu allen anderen Systemen) verwaltet, war es> offensichtlich auch nicht.
Wieso? Gerade an dieser Stelle hat sich Lukas ja intensiv Gedanken
gemacht. Also nicht Austauschbarkeit, das bleibt sowieso immer
Wunschdenken, aufgrund nicht deckungsgleicher Konzepte – BAE bspw.
benutzt metrisches Raster für die Schaltplandarstellung, viele andere
(aus mir nicht nachvollziehbaren Gründen) zölliges. Da half es eben
bei BAE auch nicht besonders, dass man per Script Eagle-Daten
einlesen kann.
Aber bezüglich der Organisation der Daten sehe ich schon ein Konzept.
Das kann einem natürlich nun gefallen oder nicht, das ist wieder was
anderes. ;-)
Die Situation mit Formaten für Schaltplan/Board/etc. ist ähnlich wie die
mit Formaten für Textverarbeitung: Das Dateiformat muss jedes Feature,
jede noch so versteckte Einstellung der Applikation abbilden. Bei
Textverarbeitung hat man das gelöst, indem Formate von Applikationen zum
Standard erklärt wurden. Mittelbar wurde damit die Applikation selber
zum Standard, da man um das Format vollständig zu unterstützen die
Applikation praktisch nachbauen muss.
Wenn jetzt z.B. Autodesk es hinbekommen würde das XML-Format von Eagle
als Standard bei der ISO oder so durchzubekommen, wären alle
Applikationen, die das Format verwenden im Kern eben Eagle - mit allen
vor- und Nachteilen.
Ein Austauschformat zur Darstellung von Footprints und Symbolen ist in
der Tat wünschenswert und meines Erachtens auch deutlich einfacher
umsetzbar als ein Austauschformat für Schaltpläne, da alle Programme
halbwegs vergleichbare Vorstellungen von Symbol und Package haben.
Hallo Lukas,
ich habe mal angefangen einige der Units, Entities und Symbols aus
meinem lokalen Pool als Pull-Request bei github einzustellen. Wenn das
für dich so in Ordnung ist, dann hätte ich auch noch mehr und würde die
auch als Pull-Request zur Verfügung stellen. Konkrete Bauteile habe ich
auch noch ein paar, aber die können erstmal warten.
Uwe
Hallo Lukas,
jetzt habe zu viel gespielt und mein Pool lässt sich nicht mehr
aktualisieren. Gemäß Fehlermeldung fehlt eine Symbol-Datei, die ich
zuvor gelöscht hatte. Die Units und Entities aber auch. Mag sein, dass
mir da ein Fehler unterlaufen ist. Ich stelle mir aber die Frage, woher
der Pool-Manager überhaupt weiß, welche Datei fehlt. Läuft das nicht
alles über Ids? Ich finde in keiner der json-Dateien eine Referenz auf
die fehlende Datei.
Uwe
Uwe S. schrieb:> Ich stelle mir aber die Frage, woher> der Pool-Manager überhaupt weiß, welche Datei fehlt. Läuft das nicht> alles über Ids? Ich finde in keiner der json-Dateien eine Referenz auf> die fehlende Datei.
Den Dateinamen, die der Pool Manager anzeigt, ist die Datei bei der die
Exception aufgetreten ist. Irgendwas, das die Datei referenziert gibt's
nicht. Seit gerade sagt der einem auch welche UUID und welcher Typ
fehlt.
Uwe S. schrieb:> Wenn das> für dich so in Ordnung ist, dann hätte ich auch noch mehr und würde die> auch als Pull-Request zur Verfügung stellen.
Schaut gut aus und ist merged. Bei den Symbolen hab' ich noch die
Pin-Namen aus gemacht, da die sonst komisch ausschauen.
Jetzt wo es im Pool auch Bauteile mit invertierten Pins gibt, sollte das
horizon auch abbilden können: Wahrscheinlich wird es für die Pins in den
Units noch Flags geben, um Eingenschaften wie Invertiert, oder
Takteingang zu kennzeichnen, damit man nicht immer selber malen muss.
Possetitjel schrieb:> Bei FOSS-Software, die aber an den Bedürfnissen (einiger)> Anwender vorbeigeht, haben diese Anwender NOCH weniger> Einfluss als bei kommerzieller Software: Gegen die Replik> "Du hast mir gar nix vorzuschreiben -- ich bin nicht Dein> Codiersklave!" hat man keine Handhabe. Bei kommerzieller> Auftragsentwicklung sieht das deutlich anders aus.
OpenSource ist aber keine Auftragsentwicklung! Trotzdem kann man Einfluß
darauf nehmen, wenn man freundlich fragt oder gar einen funktionsfähigen
Patch einreicht. Oder wenn man das Projekt forkt und seine Vorstellungen
innerhalb dieses Forks realisiert. Oder indem man jemanden dafür
bezahlt, eine dieser drei Vorgehensweisen umzusetzen.
In der kommerziellen Auftragsentwicklung hast Du im Übrigen auch
keinerlei Einflußmöglichkeit. Dann wird umgesetzt, was in der
Spezifikation steht, auf deren Basis die Angebote, Preise und Zeitpläne
kalkuliert und der Auftrag erteilt worden ist. Wenn Du Änderungen
willst, mußt Du sie bezahlen.
> Ich bin ein ausgesprochener Freund von FOSS, aber man darf> die Nachteile des Modells auch nicht übersehen.
Das ist natürlich richtig, aber Du konstruierst welche, wo keine sind,
und noch dazu mit falschen Analogien.
Possetitjel schrieb:> Das bedeutet faktisch: Es gibt eine gewisse Zahl fundamentaler> Design-Entscheidungen, die nicht verhandelbar sind. Punkt.
Ohne solche Designentscheidungen kann man keine Software entwickeln.
Sonst diskutiert man das Projekt tot, bevor es angefangen hat.
Lukas K. schrieb:> Wahrscheinlich wird es für die Pins in den> Units noch Flags geben, um Eingenschaften wie Invertiert, oder> Takteingang zu kennzeichnen, damit man nicht immer selber malen muss.
Jetzt gibt es im Symbol-Editor für Pins dekorative Elemente wie
Invertiert, Takteingang, Schmitt-Trigger, oder Open-Collector/Emitter
mit/ohne Pullup/pulldown.
Hab's gerade mal die Pin-Dekorationen probiert. Funktioniert super. Ist
die Bezeichnung 'Dot' für invertierte Pins nicht etwas unglücklich?
Warum nicht 'Inverted'?
Bernd W. schrieb:> Hallo W.S.> ...> Sagmal, Rauchst Du irgendwas? Das soll ein OpenSource Projekt werden!> Als solches hat es KEINE KUNDEN. ;O)
Erstens: nein ich bin Nichtraucher
Zweitens: du bist unverschämt, sowas zu schreiben. Also bleib sachlich.
Drittens: wenn du dediziert was gegen das Wort "Kunde" hast, dann nenne
es doch einfach "finaler Anwender".
Kommt auf's Gleiche raus.
Es sind eben immer diejenigen, die ein Produkt benutzen wollen und
nicht darin herumkonstruieren/programmieren wollen - und die eben auch
nicht zuvor irgendwelche anderen Teile wie Pools und so von woanders
zusammensuchen wollen/können.
Aber "Kunde" ist griffiger und allgemeinverständlicher.
Negativbeispiel: Frag doch mal nen Verkäufer im Mediamarkt, wieviel
uint8_t's die Festplatte im Regal hat.
Bernd W. schrieb:> So verstehe ich das auch.....aber W.S. bringt auch keine konkreten> Vorschläge für ein Ziel. Er bemängelt nur, dass es nicht gemacht wurde.
Wiebitte???
Zur Sache:
Das vorbereitete Projekt herunterzuladen und zu installieren/auszupacken
reicht nicht. Es fehlt an dem Pool, was auch immer dessen Inhalt sein
mag. Offenbar muß ich mich selber zitieren:
W.S. schrieb:> Ich hätte erwartet, daß man als Benutzer zumindest die Chance hätte, das> System erstmal irgendwie aufzusetzen, so daß es auch läuft und einen> nicht vor ein zu nix brauchbares fast leeres Fenster setzt. Die> penetrante und durch nichts lösbare Nachfrage nach dem ominösen Pool> verhindert zuverlässig, daß man mit deinem Programm irgendwas beginnen> kann. Erwarte bitte nicht, daß irgend ein Interessent eine derartige> pool.json vorrätig hat.
Ist dir das nicht klar genug?
Nein?
Dann sag ich es mal anders:
In jede Distribution gehört wenigstens eine minimale "pool.json" hinein,
damit man zumindest etwas vom eigentlichen Programm überhaupt sieht.
Noch besser wäre es, wenn es einen Menüpunkt gäbe, mit dem man auf
Knopfdruck sowas generieren kann.
Bedarf dafür ist da, siehe Jörg:
"Wie starte ich einen neuen Pool? Gibt's dafür ein Tool?"
Eben. Meine Rede die ganze Zeit über.
W.S.
W.S. schrieb:> Wiebitte???>> Zur Sache:> Das vorbereitete Projekt herunterzuladen und zu installieren/auszupacken> reicht nicht. Es fehlt an dem Pool, was auch immer dessen Inhalt sein> mag.
Öhm, RTFM!
W.S. schrieb:> Bedarf dafür ist da, siehe Jörg:
Wenn du keine Ahnung hast, worüber ich schreibe, dann benutz' mich
bitte nicht als Referenz.
Den Standard-Pool runterzuladen und zu aktivieren, braucht's nur ein
RTFM.
Hallo Lukas,
in GitHub sehe ich Kommentare für eine neue Funktion um packages zu
wählen.
"board add alternate packages ...."
Ich habe heute Abend dein Programm kompiliert. Sollte man das Package in
dem PCB-Fenster auswählen können? Ich kann da aber in dem Feld "Package"
nichts ändern. Siehe Bild. Ist die Funktion noch nicht fertig oder muss
ich an anderer Stelle vorher etwas einstellen?
Gruß
Helmut
Diese Funktion ist so gemeint: Im Package kann man (im Popover, wo man
auch Name, etc. eintippt) ein Package als alternate Package für ein
anderes Package eintragen. Im Pool gibt es als Beispiel wie sowas
aussehen kann die Packages "R0603 (manual soldering)" und "C0603 (manual
soldering)". Diese haben als "alternate for" R0603 bzw. C0603
eingetragen. In der Combobox zum Package erscheinen dann alle Packages,
die als "alternate for" das Package des Parts eingetragen haben.
Diese Funktion ist ausdrücklich nicht dafür vorgesehen verschiedene
Packages (z.B. DIP und SMD) einem Part zuzuordnen.
Helmut S. schrieb:> Ist die Funktion noch nicht fertig oder muss> ich an anderer Stelle vorher etwas einstellen?
Du musst wohl noch deinen Pool aktualisieren, damit da auch die oben
genannten Packages drin sind.
Hallo Lukas,
> Du musst wohl noch deinen Pool aktualisieren,
Habe gerade mal den Pool ganz neu heruntergeladen und unzip gemacht.
Dann den Pool-manager gestartet. Es sind keine packages und parts mehr
da. Die fehlen jetzt.
Teste das doch mal bei dir. Poolverzeichnis löschen, Pool herunterladen,
unzip vom Download des Pools machen, pool manager starten und schauen.
Mein Pool ist jetzt unbrauchbar.
Helmut S. schrieb:> Teste das doch mal bei dir. Poolverzeichnis löschen, Pool herunterladen,> unzip vom Download des Pools machen, pool manager starten und schauen.> Mein Pool ist jetzt unbrauchbar.
Tatsache, das ist hingefallen, weil jetzt auch Packages andere Packages
referenzieren und die Reihenfolge in der die Packages geladen werden
relevant ist. Ist nun repariert.
Lukas K. schrieb:> Helmut S. schrieb:>> Teste das doch mal bei dir. Poolverzeichnis löschen, Pool herunterladen,>> unzip vom Download des Pools machen, pool manager starten und schauen.>> Mein Pool ist jetzt unbrauchbar.>> Tatsache, das ist hingefallen, weil jetzt auch Packages andere Packages> referenzieren und die Reihenfolge in der die Packages geladen werden> relevant ist. Ist nun repariert.
Habe gerade noch mal kompiliert. Dann habe ich den Pool Manager
gestartet. Dort musste ich "Update Pool" wählen. Danach habe ich das
Layout geöffnet. Jetzt kann ich ein anderes Package wählen.
>Diese haben als "alternate for" R0603 bzw. C0603 eingetragen.
Jetzt stellt sich mir die Frage wo wird definiert welches alternative
Package möglich ist.
Helmut S. schrieb:> Lukas K. schrieb:>>Diese haben als "alternate for" R0603 bzw. C0603 eingetragen.> Jetzt stellt sich mir die Frage wo wird definiert welches alternative> Package möglich ist.
Im Pool-Manager. Einfach ein Package öffnen und dann mal das Menü in der
Kopfzeile ausklappen. Dort wo man den Namen, Manufacturer und Tags
eingeben kann, gibt es jetzt noch einen Button 'Alternate for'.
Uwe
Uwe S. schrieb:> Helmut S. schrieb:>> Lukas K. schrieb:>>>Diese haben als "alternate for" R0603 bzw. C0603 eingetragen.>> Jetzt stellt sich mir die Frage wo wird definiert welches alternative>> Package möglich ist.>> Im Pool-Manager. Einfach ein Package öffnen und dann mal das Menü in der> Kopfzeile ausklappen. Dort wo man den Namen, Manufacturer und Tags> eingeben kann, gibt es jetzt noch einen Button 'Alternate for'.>> Uwe
Danke Uwe,
jetzt finde ich es auch. Man kann/muss das alternative package für jedes
Bauteil auswählen, wenn man es ändern will. Das ist OK.
Im Anhang ein screenshot für alle die es interssiert.
Helmut
Helmut S. schrieb:> Neue Frage> Was macht dieses "Apply to all", das erscheint, wenn man auf das Häkchen> klickt? Scheinbar nichts oder macht es doch etwas?
Wenn du mehrere Objekte ausgewählt hast, dann wird die Eigenschaft auf
alle angewendet. In deinem Fall, mit nur einem Objekt, ist also in der
Tat nichts zu sehen. Besser wäre es wohl, den Button dann garnicht
anzuzeigen. Die gleiche Funktion gibt es auch bei mehreren ausgewählten
Pads, wenn man 'Edit pads' aufruft.
Uwe
Uwe S. schrieb:> Besser wäre es wohl, den Button dann garnicht> anzuzeigen.
Ist jetzt (fast) so drin und der Tooltip ist auch ein bisschen
erklärender. Ganz ausblenden wollte ich den Knopf nicht, weil das dann
komisch aussah.
Helmut S. schrieb:
> Neue Frage> Was macht dieses "Apply to all", das erscheint, wenn man auf das Häkchen> klickt? Scheinbar nichts oder macht es doch etwas?
Wenn du mehrere Objekte ausgewählt hast, dann wird die Eigenschaft auf
alle angewendet.
Danke Uwe, das passt.
Lukas K. schrieb:> Uwe S. schrieb:>> Besser wäre es wohl, den Button dann garnicht>> anzuzeigen.>> Ist jetzt (fast) so drin und der Tooltip ist auch ein bisschen> erklärender. Ganz ausblenden wollte ich den Knopf nicht, weil das dann> komisch aussah.
Hallo Lukas,
Die Erklärung gefällt mir. Siehe screenshot für alle anderen.
Flipped "on" bedeutet Bauteil ist auf der Unterseite. Flipped "off"
bedeuted das Bauteil ist auf der Oberseite. Man kann die Lage eines
Bauteils an dessen Farbe erkennen.
Lukas, könntest du mal wieder eine WIN-Version machen für die Leute die
nicht kompilieren wollen?
Helmut
Noch ein Tipp
Wenn man mehrere Bauteile selektiert hat, dann kann man mit den
Pfeiltasten links und rechts unter Packages ein Bauteil nach dem anderen
wählen. Klickt man auf 1/3 dann geht zusätzlich ein "Dialogfenst" mit
Radiobuttons auf. Da kann man mit einem Klick eines der selektierten
Bauteile auswählen.
Helmut S. schrieb:> Lukas, könntest du mal wieder eine WIN-Version machen für die Leute die> nicht kompilieren wollen?
Soeben geschehen. Wenn sich jemand mit Appveyor auskennt und Windows-CI
bauen mag, wäre ich demjenigen sehr verbunden :)
Ein paar Worte noch zu dem Property-Editor auf der rechten Seite im
allgemeinen: Tabellarische Propery-Editoren, wie man sie von vielen IDEs
und CAD-Programmen kennt, wie z.B.
http://doc.qt.io/qt-5/images/designer-property-editor.png waren mit
immer zu fummelig zu bedienen und zeigen u.U. komische Platzhalter an,
wenn mehrere Objekte ausgewählt sind.
Daher stehen die Namen über und nicht neben den Werten und alles ist ein
normales Widget und nicht die hakelig zu bedienenden Widgets aus
Listen/Tabellen. Das "1/3" zur Auswahl des aktuellen Objektes in
Kombination mit dem "Apply to all"-Knopf schien mir als gute Lösung um
sowohl eines als auch mehrere Objekte zu bearbeiten.
Wenn man eine Property anfasst, wird zunächst eine kurze Zeit gewartet,
ob noch was passiert, um mehrere schnell aufeinander folgenden
Änderungen zu einem Undo/Redo-Schritt zusammenzufassen. In dieser Zeit
wird das "Commit pending" eingeblendet.
Hallo Lukas,
war deine letzte Änderung jetzt so wichtig, dass man unbedingt wieder
neu kompilieren sollte?
Ich habe natürlich für mich neu kompiliert.
core fix tool includes 44 minutes ago
Helmut S. schrieb:> core fix tool includes 44 minutes ago
Nichts wichtiges, nur in paar includes angepasst, damit es nicht unnütz
Dateien neu bauen muss.
Max G. schrieb:> Anschließend sieht es dann etwas seltam aus -> ich sehe zwar alle Bedienelemente, aber weder Schaltplan noch Layout.
Auf einem anderen Rechner läuft es jetzt. Die UI sieht dank GTK ziemlich
ungewohnt aus, aber daran gewöhnt man sich schnell.
Gefühlt ist es wie ein Rewrite von KiCAD, der ein paar hakelige Punkte
(Library-Verwaltung, Sync Schaltplan/Board) neu konzipiert hat. In jedem
Fall sind einige Dinge besser als beim Adler gelöst. Bis jetzt finde
ich´s ziemlich gut (und ich bin Schwabe ;)
Ein paar Kleinigkeiten, die mir als unbedarftem Erstnutzer aufgefallen
sind:
* Der Unit Editor ist noch nicht ganz rund:
* Ich kann keine Einträge löschen ("-" bewirkt nichts)
* Ich würde mir wünschen, neue Einträge einfach per Tab/Enter o.ä.
erzeugen zu können. Dann kann ich die Pinliste aus dem Datenblatt
einfach abtippen und muss nicht zwischen Tastatur und Maus wechseln
* Nach dem Hinzufügen eines Pins mit "+" hüpft der Cursor irgendwo
hin, und die blaue Markierung ebenfalls. Manchmal auf´s gleiche,
manchmal auch nicht.
* Die automatische alphabetische Sortierung nervt mich eher, ab einer
gewissen Anzahl muss ich scrollen, um zu finden, wo es denn jetzt
weitergeht. Ich würde sie eher weglassen.
Anregung: fertige Einträge mit Labels darstellen und erst nach
Anklicken, nur für den aktuellen Eintrag, Combobox/Entry verwenden. Ist
deutlich platzsparender.
* "Enter Datum" ist zwar vermutlich korrekt, aber recht ungebräuchlich.
"Enter Value" wäre gängiger.
* Beim Duplizieren eines Packages beschwert sich Horizon, dass das
Verzeichnis nicht existiert, anstatt es einfach anzulegen. Nach ANlegen
von Hand geht´s problemlos.
* Der Footprint Generator ist prima. Nur: wenn ich versuche, ein
Quad-Package zu erzeugen, malt er nur die rechte und linke Pinreihe.
Unten und oben fehlt.
* Muss ich für das Zeichnen einer Verbindung im Schaltplan tatsächlich
"dn n" tippen?
* Änderungen beim Zeichnen (sei es Mirror, sei es Undo, ...) werden erst
dann übernommen, wenn die Maus wieder bewegt wird. Bis dahin bleibt der
alte Zustand erhalten.
* Wie kriege ich es hin, dass eine abknickende Linie den Knickpunkt
wechselt (das, was bei Eagle Strg+rechte Maustaste macht)?
More to come...
Max G. schrieb:> Max G. schrieb:>> Anschließend sieht es dann etwas seltam aus ->> ich sehe zwar alle Bedienelemente, aber weder Schaltplan noch Layout.>> Auf einem anderen Rechner läuft es jetzt. Die UI sieht dank GTK ziemlich> ungewohnt aus, aber daran gewöhnt man sich schnell.> Gefühlt ist es wie ein Rewrite von KiCAD, der ein paar hakelige Punkte> (Library-Verwaltung, Sync Schaltplan/Board) neu konzipiert hat. In jedem> Fall sind einige Dinge besser als beim Adler gelöst. Bis jetzt finde> ich´s ziemlich gut (und ich bin Schwabe ;)
Sehr schön :)
> Ein paar Kleinigkeiten, die mir als unbedarftem Erstnutzer aufgefallen> sind:> * Der Unit Editor ist noch nicht ganz rund:> * Ich kann keine Einträge löschen ("-" bewirkt nichts)
Kann ich jetzt nicht so reproduzieren. Einen oder mehrere Pins auswählen
(sodass die blau werden), dann auf - klicken und die Pins verschweiden
> * Ich würde mir wünschen, neue Einträge einfach per Tab/Enter o.ä.> erzeugen zu können. Dann kann ich die Pinliste aus dem Datenblatt> einfach abtippen und muss nicht zwischen Tastatur und Maus wechseln
Hört sich sinnvoll an, kommt bald.
> * Nach dem Hinzufügen eines Pins mit "+" hüpft der Cursor irgendwo> hin, und die blaue Markierung ebenfalls. Manchmal auf´s gleiche,> manchmal auch nicht.> * Die automatische alphabetische Sortierung nervt mich eher, ab einer> gewissen Anzahl muss ich scrollen, um zu finden, wo es denn jetzt> weitergeht. Ich würde sie eher weglassen.
Ah, das hängt wohl zusammen, da neue Einträge automatisch einsortiert
werden. Wär' wohl besser, wenn die direkt nach dem Eintrag kommen, der
davor ausgewählt war.
Die Sortierung habe ich eingebaut, weil die Pins innerhalb einer Unit
sonst gar keine sinnvolle Reihenfolge hätten.
> Anregung: fertige Einträge mit Labels darstellen und erst nach> Anklicken, nur für den aktuellen Eintrag, Combobox/Entry verwenden. Ist> deutlich platzsparender.
Das schaut dann komisch aus, wenn sich die Höhe von den Zeilen
verändert, je nachdem wo der Cursor gerade steht.
> * Beim Duplizieren eines Packages beschwert sich Horizon, dass das> Verzeichnis nicht existiert, anstatt es einfach anzulegen. Nach ANlegen> von Hand geht´s problemlos.
Du benutzt horizon auf Windows, oder? Die Meldung da kommt vom
Windows-Dialog zum Speichern selber. Windows scheint keinen brauchbaren
Dialog zu haben, um einen neuen Ordner anzulegen, nur Dialoge um
vorhandene Ordner auszuwählen. Ich könnte an der Stelle auch den
Dateidialog von Gtk benutzen, aber dann beschweren sich Leute zurecht,
dass der komisch ausschaut...
> * Der Footprint Generator ist prima. Nur: wenn ich versuche, ein> Quad-Package zu erzeugen, malt er nur die rechte und linke Pinreihe.> Unten und oben fehlt.
Was für Einstellungen hast du da gemacht? Bei mir hat das immer
funktioniert.
> * Muss ich für das Zeichnen einer Verbindung im Schaltplan tatsächlich> "dn n" tippen?
Entweder "dn" oder "n".
> * Änderungen beim Zeichnen (sei es Mirror, sei es Undo, ...) werden erst> dann übernommen, wenn die Maus wieder bewegt wird. Bis dahin bleibt der> alte Zustand erhalten.
Höre ich jetzt s zum ersten mal, was sind da die genauen Umstände?
> * Wie kriege ich es hin, dass eine abknickende Linie den Knickpunkt> wechselt (das, was bei Eagle Strg+rechte Maustaste macht)?
Du meinst von horizontal-vertikal auf vertikal-horizontal umschalten?
Das geht mit "/".
Hallo Lukas,
alle Erfahrungen auf Windows 7 64 bit, integrierte Grafik (Intel 5500,
was auch immer das ist).
* Zum Einträge löschen im Unit Editor: ach so, ich muss auf den Rand
klicken, um den Frame(?) auszuwählen. Wäre gut, wenn Cursor im Feld auch
reichen würde.
* Zu der Darstellung mit Labels/Entry: ja, die Höhe verändert sich, die
Gesamthöhe aber nicht. Anbei mal eine kurze hässliche Fingerübung in
Python zur Demo, wie das aussähe.
[mg]
>> * Beim Duplizieren eines Packages beschwert sich Horizon, dass das>> Verzeichnis nicht existiert, anstatt es einfach anzulegen. Nach ANlegen>> von Hand geht´s problemlos.>> Du benutzt horizon auf Windows, oder? Die Meldung da kommt vom> Windows-Dialog zum Speichern selber. Windows scheint keinen brauchbaren> Dialog zu haben, um einen neuen Ordner anzulegen, nur Dialoge um> vorhandene Ordner auszuwählen. Ich könnte an der Stelle auch den> Dateidialog von Gtk benutzen, aber dann beschweren sich Leute zurecht,> dass der komisch ausschaut...
Ja, Windows, s.o.
Lasse doch einfach den darüberliegenden Ordner auswählen und generiere
den Namen aus dem schon bekannten Packagenamen.
[mg]
>> * Der Footprint Generator ist prima. Nur: wenn ich versuche, ein>> Quad-Package zu erzeugen, malt er nur die rechte und linke Pinreihe.>> Unten und oben fehlt.>> Was für Einstellungen hast du da gemacht? Bei mir hat das immer> funktioniert.
Screenshots anbei. Ist reproduzierbar.
>> * Änderungen beim Zeichnen (sei es Mirror, sei es Undo, ...) werden erst>> dann übernommen, wenn die Maus wieder bewegt wird. Bis dahin bleibt der>> alte Zustand erhalten.>> Höre ich jetzt s zum ersten mal, was sind da die genauen Umstände?
Ist durchgängig so, vermutlich irgendein Treiberthema Gtk/Windows. Ich
finde es aber nicht schlimm, höchstens ein bisschen gewöhnungbedürftig.
Danke noch mal für dein Engagement!
Max
Max G. schrieb:> * Zu der Darstellung mit Labels/Entry: ja, die Höhe verändert sich, die> Gesamthöhe aber nicht. Anbei mal eine kurze hässliche Fingerübung in> Python zur Demo, wie das aussähe.
Das Problem bei der Sache ist, dass wenn man auf einen Eintrag klickt,
dieser seine Position in der Liste leicht ändert. Das so hinzubekommen,
dass ich damit zufrieden wäre, ist mir gerade zu viel Aufwand.
Max G. schrieb:> Ja, Windows, s.o.> Lasse doch einfach den darüberliegenden Ordner auswählen und generiere> den Namen aus dem schon bekannten Packagenamen.
Das selbe Problem gibt's auch beim neu anlegen von Packages. Vielleicht
fällt mir da noch was ein...
Max G. schrieb:> Screenshots anbei. Ist reproduzierbar.
Hm, vielleicht sind die anderen Pads auch einfach nur an der falschen
Position? Drück mal auf "Pos1", damit alles dargestellt wird.
Hallo Lukas,
ich habe gerade die neueste Funktion im Schaltplan ausprobiert.
schematic editor: start net lines by dragging from pins/junctions
Dabei fielen mir mal wieder diese Überschneidungen an den Knicken der
Leitungen auf. Ehrlich gesagt habe ich das noch nie in irgend einem
anderen Schaltplan gesehen.
Ich hätte es gerne ohne diese Überschneidungen, weil das dem ansonsten
sehr guten Eindruck des Schaltplanes schadet.
Ist das nur zu Debug-Zwecken so?
Gruß
Helmut
Helmut S. schrieb:> Ist das nur zu Debug-Zwecken so?
Ist jetzt standardmäßig aus und kann ebenso wie das automatische starten
von Netzlinien in den Einstellungen angepasst werden.
Lukas K. schrieb:> Helmut S. schrieb:>> Ist das nur zu Debug-Zwecken so?>> Ist jetzt standardmäßig aus und kann ebenso wie das automatische starten> von Netzlinien in den Einstellungen angepasst werden.
Danke Lukas,
eine clevere Idee das konfigurierbar zu machen. Auf die Idee wäre ich
jetzt nicht gekommen. Da werde ich doch gleich mal den compiler starten
...
Hallo Lukas,
erst einmal danke für die Zeit, die du in dieses Projekt investierst.
Ist echt super!
Allerdings gibt es eine Kleinigkeit von mir anzumerken:
Ich finde, dass man von den Compiler-Meldungen regelrecht erschlagen
wird.
Ich mache das bei meinen Makefile-Projekten immer so: sobald ich weiß,
dass die Compiler-/Linker-Aufrufe stimmen, gebe ich nur noch eine
Status-Meldung pro Datei aus und nicht mehr die gesamte Command-line.
Dadurch sieht das das kompilieren so aus:
1
...
2
Compiling file canvas3d/canvas3d.cpp...
3
In file included from ./canvas/poly2tri/poly2tri.h:35:0,
4
from canvas3d/canvas3d.cpp:11:
5
./canvas/poly2tri/common/shapes.h: In Konstruktor »p2t::Point::Point(double, double)«:
6
./canvas/poly2tri/common/shapes.h:60:29: Warnung: Deklaration von »y« überdeckt ein Element von »p2t::Point« [-Wshadow]
7
Point(double x, double y) : x(x), y(y) {}
8
^
9
./canvas/poly2tri/common/shapes.h:47:13: Anmerkung: verdeckte Deklaration ist hier
Linking final file horizon-pool-update-parametric...
20
Linking final file horizon-prj-mgr...
21
Linking final file horizon-pool-mgr...
Ich habe das diff-file vom Makefile einfach mal angehängt. Du musst das
selbstverständlich nicht übernehmen, ist ja auch nur eine kosmetische
Angelegenheit, die man nur beim kompilieren sieht :-)
Das hat allerdings auch den Vorteil, dass man die Warnings besser sehen
kann.
Ein weiterer Punkt sind allerdings die ganzen Warnings bezüglich
gleichnamigen Variablen (-Wshadow). Diese Variablen würde ich
umbenennen, sonst kommt man teilweise echt durcheinander... :-)
Mit freundlichen Grüßen,
N.G.
Hallo Lukas,
ich habe gerade einen reproduzierbaren "crash case" im PCB Layout
gefunden.
Version: WIN
horizon-2017-12-10-0139.zip
Zeichne mit dl ein Dreieck
Selektiere das ganze Dreieck
Dann Rechtsklick in dem Bereich des selektierten Dreiecks -> Select more
Dann stürzt das Pogramm ab.
Ich hatte übrigens gehofft einen log-file von dem crash zu bekommen. Da
ist aber keiner. Bekomme ich den log-file nur in der mysys2 Umgebung?
N. G. schrieb:> Ein weiterer Punkt sind allerdings die ganzen Warnings bezüglich> gleichnamigen Variablen (-Wshadow). Diese Variablen würde ich> umbenennen, sonst kommt man teilweise echt durcheinander... :-)
Das ist in Code, der nicht von mir ist. Sofern's da keinen dringenden
Grund zu gibt, fass' ich den nicht an.
N. G. schrieb:> [...]> Das hat allerdings auch den Vorteil, dass man die Warnings besser sehen> kann.
Schaut sinnvoll aus, vielleicht bau' ich das in ner ruhigen Minute noch
mit der Option die Compiler-Aufrufe anzuzeigen ein.
Helmut S. schrieb:> ich habe gerade einen reproduzierbaren "crash case" im PCB Layout> gefunden.
Ist repariert.
Zusätzlich werden jetzt Exceptions aus den Tools abgefangen und
erscheinen im Log-Fenster.