Forum: Projekte & Code Neues, halbfertiges Elektronik-CAD-Programm


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jürgen F. (jue)


Bewertung
1 lesenswert
nicht lesenswert
Lukas K. schrieb:
> Coole sache! Wäre es arg viel Mehraufwand auch Fragen aus dem #horizon
> IRC-Channel auf freenode anzunehmen?

Gute Idee! Ich kann mal versuchen ein Auge parallel auf den IRC zu 
werfen und auch dort Fragen zu klären. Dann muss ich nicht unnötiger 
Weise Menschen in den Walled Garden "Twitch" locken.

von Martin S. (sirnails)


Bewertung
0 lesenswert
nicht lesenswert
Scheint ja doch geklappt zu haben mit der Aufzeichnung. Schöne Sache. 
Dann hab ich mal wieder was nettes auf meiner Watch-List.

von Jürgen F. (jue)


Bewertung
1 lesenswert
nicht lesenswert
Danke an alle Zuseher! Hab mich sehr gefreut, dass ich nicht alleine im 
Stream war. Hat Spaß gemacht :)

Martin S. schrieb:
> Scheint ja doch geklappt zu haben mit der Aufzeichnung. Schöne Sache.
> Dann hab ich mal wieder was nettes auf meiner Watch-List.

Jup. Für zwei Wochen hier nachzusehen:
https://www.twitch.tv/videos/919019498

Ich bin heute schon gut vorangekommen. Ich werde dann voraussichtlich 
nächsten Mittwoch für den Rest am streamen sein.

VG Jue

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
2 lesenswert
nicht lesenswert
Jürgen F. schrieb:
> Für zwei Wochen hier nachzusehen:

Wer sich's aufheben will: youtube-dl kann das auch runterladen.

Sind aber wohl um die 6 GiB, meint es …

: Bearbeitet durch Moderator
von Lukas K. (carrotindustries)


Bewertung
3 lesenswert
nicht lesenswert
Jürgen F. schrieb:
> Danke an alle Zuseher! Hab mich sehr gefreut, dass ich nicht alleine im
> Stream war. Hat Spaß gemacht :)

Danke für den Stream, war mal schön zu sehen, dass viele den 
implementieren Ideen auch trotz der eher spärlichen Dokumentation 
verständlich sind.

Im Stream sind mir einige Dinge aufgefallen, die inzwischen behoben 
sind:

 - Reichelt und Conrad zählen nun zu den unerwünschten 
Datenblatt-Domains
 - Beim Platzieren eines Bauteils im Board wird es auch korrekt im 
Schaltplan highlighted
 - Wenn man die Anzahl an Innenlagen erhöht, bekommen die in der 
Layer-box links auch gleich die richtige Farbe
 - Beim mergen von Parts werden auch Symbole mit vorausgewählt

von Bernhard B. (schluchti)


Bewertung
2 lesenswert
nicht lesenswert
Jürgen F. schrieb:
> Danke an alle Zuseher! Hab mich sehr gefreut, dass ich nicht
> alleine im
> Stream war. Hat Spaß gemacht :)
>
> Martin S. schrieb:
>> Scheint ja doch geklappt zu haben mit der Aufzeichnung. Schöne Sache.
>> Dann hab ich mal wieder was nettes auf meiner Watch-List.
>
> Jup. Für zwei Wochen hier nachzusehen:
> https://www.twitch.tv/videos/919019498
>
> Ich bin heute schon gut vorangekommen. Ich werde dann voraussichtlich
> nächsten Mittwoch für den Rest am streamen sein.
>
> VG Jue

Hab gerade ein bisschen in den Stream reingesehen - echt sehr 
interessant und lehrreich. Vielen Dank für die Mühe!

Rein aus Interesse: Gibt's eigentlich nen Grund, warum du auf Twitch und 
nicht auf Youtube streamst? Ich muss gestehen, dass ich Twitch jetzt 
nicht so auf dem Radar hatte und ich bisher auch nicht wusste, dass das 
auch Leute aus der Maker Szene nutzen.

Was ich ein bisschen schade finde ist, dass die Videos anscheinend auf 
Twitch nur für 2 Wochen verfügbar sind. Hast du vor, die Videos evt. 
auch auf YT hochzuladen? Wäre sehr schade, wenn das Video hier nach 2 
Wochen wieder verschwindet.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Habe das Video zum Anlass genommen, mal wieder ein "git pull" und einen 
Rebuild zu machen.

Wenn ich jetzt ein altes Testprojekt öffne, bekomme ich:
1
Seq | Level   | Domain                  | Message; Detail
2
2   | Warning | Canvas                  | unsupported MSAA; requested:4 actual:1
3
3   | Warning | Canvas                  | unsupported MSAA; requested:4 actual:1
4
4   | Warning | Canvas                  | unsupported MSAA; requested:4 actual:1
5
5   | Warning | Canvas                  | unsupported MSAA; requested:4 actual:1

Hmm, was will mir "unsupported MSAA" genau sagen und vor allem, was kann 
ich dagegen tun?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Was auch immer "MSAA" heißen mag :-) (YAA - yet another acronym), es 
scheint mit dem Antialiasing zu tun zu haben. Nachdem ich die 
Einstellungen sowohl für Schematic als auch Board auf "MSAA 1x" geändert 
habe, taucht die Warnung nicht mehr auf.

Danke fürs Zuhören. :-)

Edit: beim 3D-Viewer taucht es immer noch auf. Dafür finde ich irgendwie 
keine Einstellmöglichkeit.

: Bearbeitet durch Moderator
von Martin S. (sirnails)


Bewertung
0 lesenswert
nicht lesenswert
Multisample anti-aliasing

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:
> Multisample anti-aliasing

tnx

von Lukas K. (carrotindustries)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:

> Edit: beim 3D-Viewer taucht es immer noch auf. Dafür finde ich irgendwie
> keine Einstellmöglichkeit.

In der 3D-Ansicht ist das im Settings-Overlay (Knopf ist oben links) zu 
finden.

Was hast du für eine GPU, die kein MSAA kann?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Lukas K. schrieb:

> In der 3D-Ansicht ist das im Settings-Overlay (Knopf ist oben links) zu
> finden.

OK.

> Was hast du für eine GPU, die kein MSAA kann?

Gute Frage, irgendeine Radeon. Vielleicht ist da auch was 
fehlkonfiguriert?

Bisschen seltsam im Xorg log:
1
[   147.933] (==) Automatically adding devices
2
[   147.933] (==) Automatically enabling devices
3
[   147.933] (==) Not automatically adding GPU devices

Dafür wiederum geht 3D trotzdem verdammt gut …

pciconf sagt:
1
vgapci0@pci0:1:0:0:     class=0x030000 card=0xe164174b chip=0x67791002 rev=0x00 hdr=0x00
2
    vendor     = 'Advanced Micro Devices, Inc. [AMD/ATI]'
3
    device     = 'Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM]'
4
    class      = display
5
    subclass   = VGA

Ein xorg.conf snippet dafür ist eigentlich da … ich werd das mal 
untersuchen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt zwar einen Radeon-Treiber von xf86 geladen bekommen, aber 
beim Start von Horizon gibt's dann:
1
libGL error: MESA-LOADER: failed to retrieve device information
2
unknown chip id 0x6779, can't guess.
3
libGL error: failed to create dri screen
4
libGL error: failed to load driver: radeon

Wirklich seltsam finde ich, dass aller 3D-Kram (nicht nur Horizon, auch 
FreeCAD etc.) gut funktioniert. Naja, weiter suchen …

von Jürgen F. (jue)


Bewertung
4 lesenswert
nicht lesenswert
Bernhard B. schrieb:
> Hab gerade ein bisschen in den Stream reingesehen - echt sehr
> interessant und lehrreich. Vielen Dank für die Mühe!
Schön, dass es dir etwas bringt :)

> Rein aus Interesse: Gibt's eigentlich nen Grund, warum du auf Twitch und
> nicht auf Youtube streamst? Ich muss gestehen, dass ich Twitch jetzt
> nicht so auf dem Radar hatte und ich bisher auch nicht wusste, dass das
> auch Leute aus der Maker Szene nutzen.
Ich schaue tatsächlich gerne den ganzen Maker-Kanälen auf Twitch zu. So 
war das für mich der logische Schluss auch dort zu streamen. Aber nichts 
ist in Stein gemeißelt. Ich bin noch sehr viel am Lernen und 
Ausprobieren.

> Was ich ein bisschen schade finde ist, dass die Videos anscheinend auf
> Twitch nur für 2 Wochen verfügbar sind. Hast du vor, die Videos evt.
> auch auf YT hochzuladen? Wäre sehr schade, wenn das Video hier nach 2
> Wochen wieder verschwindet.
Ich werde das Video etwas zusammendampfen - also Gestammel 
rausschneiden, Redepausen rausschneiden. Ich glaube die Form ist für die 
Nachwelt interessanter als der vollständige Stream ;) Das Ergebnis lade 
ich dann auf YT hoch.

VG Jue

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Bin nun inzwischen ein gutes Stück durch dein Filmchen durch und habe 
versucht, das Ganze hier mal mit einem leicht anders gearteten Relais 
(Reed-Relais in SIL-Gehäuse) nachzuvollziehen.

Worüber ich am ende stolpere ist eine Verifikationswarnung "Pin x has 
improper orientation".

Interessanterweise bekomme ich diese nicht für das zuvor angelegte 
einfache Relais-Symbol, sondern nur für das hier mit der integrierten 
Freilaufdiode. Dafür habe ich das vorige Symbol dupliziert und die Box 
etwas vergrößert.

Was will mir diese Warnung sagen?

von Lukas K. (carrotindustries)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Was will mir diese Warnung sagen?

Ich vermute mal, dass dein Symbol nicht horizontal zentriert ist. Die 
helle Box im Hintergrund ist die um den Ursprung zentrierte bounding 
box, auf der alle Pins liegen sollten. Bei dir kommen die Pins rechts 
auf der oberen/unteren Kante zu liegen und sollten daher nach dem 
Symbol-Regeln nach oben/unten zeigen.

Gtk im Motif-fensterrahmen ist ja auch eine sehr interessante 
Kombination ;) Eigentlich sollte bei dem Rules-Fenster da Gtk deinen 
Fenstermanager davon überzeugen, dass dieses Fenster keinen Rahmen 
braucht, weil ja Gtk den schon malt. Was ist eigentlich mit den 
schließen-icons schief gelaufen? Die sehen ein wenig verunglückt aus.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Lukas K. schrieb:
> Jörg W. schrieb:
>> Was will mir diese Warnung sagen?
>
> Ich vermute mal, dass dein Symbol nicht horizontal zentriert ist. Die
> helle Box im Hintergrund ist die um den Ursprung zentrierte bounding
> box, auf der alle Pins liegen sollten.

Ah OK. Das erklärt es: ich hatte die Box nach links vergrößert, um Platz 
für die Freilaufdiode zu bekommen. Da hätte ich sie auch nach rechts 
vergrößern müssen.

Habe ich nun getan, jetzt ist das alles OK.

Ich fände es gut, wenn es dafür irgendwo bei den Fehlermeldungen eine 
Hilfe gäbe, die ein paar Details erklärt. Mir ist ohnehin gerade nicht 
ganz klar, wo diese Rules denn genau stehen (ansonsten hätte ich dort 
mal nachgeschaut, was sie genau besagen).

> Gtk im Motif-fensterrahmen ist ja auch eine sehr interessante
> Kombination ;)

Ich bin seit mehr als 25 Jahren halt fvwm-Nutzer. Damals war Motif-Look 
das, dem sie alle nachgeeifert hatten, und fvwm hatte das ganz gut hin 
bekommen.

Irgendwie hat dieser Windowmanager schlicht alles, was ich brauche, und 
ich habe mich gut dran gewöhnt. Hatte auf meinem neuen Dienst-Laptop 
(auf dem Unbuntu läuft, anders als mein handgestricktes FreeBSD hier) 
mal eine Weile lang Mate als Desktop laufen, aber irgendwie bin ich auch 
dort dann zu fvwm zurück.

> Eigentlich sollte bei dem Rules-Fenster da Gtk deinen
> Fenstermanager davon überzeugen, dass dieses Fenster keinen Rahmen
> braucht, weil ja Gtk den schon malt.

Wobei das eben eigentlich dem Sinn von X11 nicht entspricht: Dekoration 
war schon immer Aufgabe des Windowmanagers. Der bestimmt damit auch das 
look&feel.

> Was ist eigentlich mit den
> schließen-icons schief gelaufen? Die sehen ein wenig verunglückt aus.

Nicht nur die, alle Gtk-Icons. Ich bin mir nicht ganz sicher, ob das nur 
ein verunglückter Gtk-Build ist, oder ob das mit den weiter oben ja 
schon festgestellten Problemen zusammenhängt, dass der X-Server beim 
Start die Grafikkarte nicht erkannt hatte. Bin noch nicht dazu gekommen, 
mich mal auszuloggen und den X-Server neu zu starten. Ist so lästig, 
sind so viele Dinge offen, die man danach dann wieder neu zusammen 
suchen müsste. ;-) Da diese verhunzten Icons ein reiner Schönheitsfehler 
sind, ist mir das auch nicht allzu wichtig. (Der Radeon-Treiber im 
X-Server wäre mir schon wichtiger, aber irgendwas spinnt auch an einem 
SATA-Kabel, ich würde dann wohl die Kiste gleich mal komplett booten 
wollen.)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:

>> Was ist eigentlich mit den
>> schließen-icons schief gelaufen? Die sehen ein wenig verunglückt aus.
>
> Nicht nur die, alle Gtk-Icons. Ich bin mir nicht ganz sicher, ob das nur
> ein verunglückter Gtk-Build ist, oder ob das mit den weiter oben ja
> schon festgestellten Problemen zusammenhängt, dass der X-Server beim
> Start die Grafikkarte nicht erkannt hatte.

Nö, auch nach dem Neustart sind die noch verhunzt.

Anyway, wollte nun einen Pull Request für mein hübsches SIL-Relais 
machen, aber:
1
error = authorization_pending
2
error_description = The+authorization+request+is+still+pending.
3
error_uri = https://docs.github.com/developers/apps/authorizing-oauth-apps#error-codes-for-the-device-flow
4
5
access_token = b235c6e384957d941a680ff7f6f5e989160a60b8
6
scope = public_repo,workflow
7
token_type = bearer
8
9
get prs
10
merge 3d_models/relay/meder/SIL05-1A72-71D.step
11
merge entities/relay/SPST-NO Relay-polarized.json
12
merge packages/manufacturer/meder/sil05-1a72-71d/package.json
13
merge parts/relay/meder/SIL05-1A72-71D.json
14
merge symbols/relay/SPST-NO Relay polarized.json
15
merge units/relay/SPST-NO Relay (polarized).json
16
Assertion failed: (buf && sig), function git_signature__writebuf, file /usr/ports/devel/libgit2/work/libgit2-1.0.1/src/signature.c, line 305.
17
18
[1]    Abort                         horizon-eda (core dumped)

Core-File liegt noch rum, falls du denkst, dass man dem noch was 
entnehmen kann.

Coredump ist reproduzierbar. Ich kann den pull request natürlich noch 
mit der Hand erzeugen auf Github.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
>> Was hast du für eine GPU, die kein MSAA kann?
>
> Gute Frage, irgendeine Radeon.

Selbst mit passendem Treiber macht sie aber nur MSAA 1x.

von Lukas K. (carrotindustries)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Core-File liegt noch rum, falls du denkst, dass man dem noch was
> entnehmen kann.

Ein Backtrace wäre ganz nützlich.

So ins blaue hineingeraten, guck mal ob in 
https://github.com/horizon-eda/horizon/blob/master/src/pool-prj-mgr/pool-mgr/pool_remote_box.cpp#L1241 
signature nicht vielleicht ein nullpointer ist. Allerdings sehe ich 
gerade nicht so recht, wie das auftreten könnte, da in dem Dialog davor 
eigentlich vom remote-repo user.name und user.email gesetzt werden. Wäre 
vielleicht doch besser gewesen, den return-code von 
git_signature_default zu überprüfen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Tja, jetzt habe ich es aus dem Buildverzeichnis unter GDB-Steuerung 
laufen lassen, und alles rennt durch. :-/  Hmm, damit hast du jetzt 
meinen ersten Pool-Pullrequest. :-)

Hier ist der Stacktrace aus dem Coredump:
1
Core was generated by `horizon-eda'.
2
Program terminated with signal SIGABRT, Aborted.
3
4
warning: Unexpected size of section `.reg-xstate/102284' in core file.
5
#0  thr_kill () at thr_kill.S:3
6
3       RSYSCALL(thr_kill)
7
[Current thread is 1 (LWP 102284)]
8
(gdb) bt
9
#0  thr_kill () at thr_kill.S:3
10
#1  0x0000000803b4b094 in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52
11
#2  0x0000000803ac1289 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
12
#3  0x0000000803b3b2a1 in __assert (func=<optimized out>, file=<optimized out>, line=<optimized out>, failedexpr=<optimized out>) at /usr/src/lib/libc/gen/assert.c:51
13
#4  0x0000000803851106 in  () at /usr/local/lib/libgit2.so.1.0
14
#5  0x00000008037dc494 in  () at /usr/local/lib/libgit2.so.1.0
15
#6  0x00000008037da932 in  () at /usr/local/lib/libgit2.so.1.0
16
#7  0x00000008037dac9f in git_commit_create () at /usr/local/lib/libgit2.so.1.0
17
#8  0x0000000000649e89 in horizon::PoolRemoteBox::create_pr_thread() (this=0x80766ed00) at src/pool-prj-mgr/pool-mgr/pool_remote_box.cpp:1241
18
#9  0x000000000065336d in _ZNSt3__18__invokeIMN7horizon13PoolRemoteBoxEFvvEPS2_JEvEEDTcldsdeclsr3std3__1E7forwardIT0_Efp0_Efp_spclsr3std3__1E7forwardIT1_Efp1_EEEOT_OS6_DpOS7_
19
    (__f=@0x807407c08: (void (horizon::PoolRemoteBox::*)(horizon::PoolRemoteBox * const)) 0x649810 <horizon::PoolRemoteBox::create_pr_thread()>, __a0=@0x807407c18: 0x80766ed00)
20
    at /usr/include/c++/v1/type_traits:3480
21
#10 std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (horizon::PoolRemoteBox::*)(), horizon::PoolRemoteBox*, 2ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (horizon::PoolRemoteBox::*)(), horizon::PoolRemoteBox*>&, std::__1::__tuple_indices<2ul>) (__t=...) at /usr/include/c++/v1/thread:273
22
#11 std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (horizon::PoolRemoteBox::*)(), horizon::PoolRemoteBox*> >(void*) (__vp=0x807407c00) at /usr/include/c++/v1/thread:284
23
#12 0x000000080115afac in thread_start (curthread=0x808044000) at /usr/src/lib/libthr/thread/thr_create.c:292
24
#13 0x0000000000000000 in  ()
25
(gdb) up
26
#1  0x0000000803b4b094 in __raise (s=6) at /usr/src/lib/libc/gen/raise.c:52
27
52              return (__sys_thr_kill(id, s));
28
(gdb) 
29
#2  0x0000000803ac1289 in abort () at /usr/src/lib/libc/stdlib/abort.c:67
30
67              (void)raise(SIGABRT);
31
(gdb) 
32
#3  0x0000000803b3b2a1 in __assert (func=<optimized out>, file=<optimized out>, line=<optimized out>, failedexpr=<optimized out>) at /usr/src/lib/libc/gen/assert.c:51
33
51              abort();
34
(gdb) 
35
#4  0x0000000803851106 in ?? () from /usr/local/lib/libgit2.so.1.0
36
(gdb) 
37
#5  0x00000008037dc494 in ?? () from /usr/local/lib/libgit2.so.1.0
38
(gdb) 
39
#6  0x00000008037da932 in ?? () from /usr/local/lib/libgit2.so.1.0
40
(gdb) 
41
#7  0x00000008037dac9f in git_commit_create () from /usr/local/lib/libgit2.so.1.0
42
(gdb) 
43
#8  0x0000000000649e89 in horizon::PoolRemoteBox::create_pr_thread (this=0x80766ed00) at src/pool-prj-mgr/pool-mgr/pool_remote_box.cpp:1241
44
1241                if (git_commit_create(&new_commit_oid, repo, "HEAD", signature, signature, "UTF-8", pr_title.c_str(), tree,
45
(gdb) p signature
46
$1 = {ptr = 0x0, 
47
  free_fn = {<std::__1::__function::__maybe_derive_from_unary_function<void (git_signature *)>> = {<std::__1::unary_function<git_signature*, void>> = {<No data fields>}, <No data fields>}, <std::__1::__function::__maybe_derive_from_binary_function<void (git_signature *)>> = {<No data fields>}, __f_ = {__buf_ = {
48
        __lx = "H=\203\000\000\000\000\000\300\001C", '\000' <repeats 20 times>}, __f_ = 0x7fffdf5f8dc0}}}
49
(gdb) p pr_title
50
$2 = "Meder SIL05-1A72-71D Reed relay"

Sieht also schon so aus, als wäre signature::ptr NULL.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Ich glaube, beim vorigen Versuch hatte ich das Feld mit der Mailadresse 
nicht ausgefüllt. Kann das die Ursache sein?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Jürgen F. schrieb:
> Danke an alle Zuseher!

Danke dir nochmal für deine Aktivität!

Hat mich dazu bewogen, mein Horizon mal auf aktuellen Stand zu bringen 
und wirklich mal wieder zu testen – siehe ersten Merge Request für den 
Pool. Ganz zufällig :) habe ich mir auch ein Relais rausgesucht, aber 
ein Reed-Relais, von dem ich gerade noch 5 Stück rumliegen habe (und 
welches man auch aktuell noch kaufen kann).

Was mir bei der Datenblatt-Geschichte auffällt: könnte man dafür (oder 
ist vielleicht schon?) einen lokalen Cache einrichten, in dem die die 
runter geladenen PDFs zwischengespeichert werden? Dann muss man erstens 
nicht jedesmal das Netz dafür belästigen, und zweitens kann ich mir die 
gecacheten Datenblätter halt auch in der Regionalbahn in 
Hinterposemuckel noch ansehen, wo meine Internetverbindung vielleicht 
gerade nur mit viel Glück von einer 30 km entfernten polnischen 
GSM-Basisstation erbracht wird. (Tatsächlich schon so erlebt in der 
Uckermark.)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Was mir an Horizon generell auffällt: die 3D-Darstellung ist um 
mindestens eine Größenordnung schneller als die von Kicad. Liegt das 
daran, dass Lukas hier von vornherein (gab damals viele Diskussionen) 
auf neuere OpenGL-Versionen gesetzt hat?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hmm, bei den vielen offenen Pull-Requests auf Github bin ich mir gerade 
nicht ganz sicher: gibt es wirklich noch nirgends ein SOT-23 Package? 
Ich sehe SOT-23-5 und SOT-23-6, aber kein Standard-Package mit 3 Pins.

von Lukas K. (carrotindustries)


Bewertung
0 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Kann das die Ursache sein?

Ja, war es. Wird nun im "Confirm PR"-Dialog überprüft.

Jörg W. schrieb:
> einen lokalen Cache einrichten, in dem die die
> runter geladenen PDFs zwischengespeichert werden?

Die Idee hatte ich auch mal gehabt. Wenn jemand anders die Idee auch 
hat, kann sie ja so schlecht nicht sein.

Jörg W. schrieb:
> die 3D-Darstellung ist um
> mindestens eine Größenordnung schneller als die von Kicad. Liegt das
> daran, dass Lukas hier von vornherein (gab damals viele Diskussionen)
> auf neuere OpenGL-Versionen gesetzt hat

Ich hatte die 3D-Darstellung von KiCad nie als übermäßig langsam 
empfunden. Ich hab gerade mal einen blick in den 3D-Code von KiCad 
geworfen und die verwenden tatsächlich die doch gut abgehangenen display 
lists. Dank modernerem OpenGL werden in Horizon durch Verwendung von 
Instancing alle Bauteile mit dem selben Modell in einem Rutsch 
gezeichnet.

Auch ist der 3D-Code in Horizon erheblich schlanker: Ein wc -l der 
sourcen von der 3D-Ansicht in KiCad ergibt ca. 25kLOC, bei mir sind's 
ca. 3700, wobei da noch Code zum ausrichten oder projizieren von 
3D-Modellen drin ist.

Jörg W. schrieb:
> gibt es wirklich noch nirgends ein SOT-23 Package?
> Ich sehe SOT-23-5 und SOT-23-6, aber kein Standard-Package mit 3 Pins.

Ich meine mich zu erinnern, das mal in einen Pull request gesehen haben, 
weiß leider nicht mehr welcher.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Lukas K. schrieb:
> Wenn jemand anders die Idee auch hat, kann sie ja so schlecht nicht
> sein.

:-))

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Lustig, dass aufgrund des ellenlangen Threads nun nach 4 Jahren immer 
noch "halbfertig" drüber steht. ;-)

Wenn du willst, kann ich auch den Titel des initialen Postings mal 
ändern. Der geänderte Titel erscheint ja dann in der Threadliste.

von Martin S. (sirnails)


Bewertung
3 lesenswert
nicht lesenswert
Lukas K. schrieb:
> Ich hab gerade mal einen blick in den 3D-Code von KiCad geworfen und die
> verwenden tatsächlich die doch gut abgehangenen display lists. Dank
> modernerem OpenGL werden in Horizon durch Verwendung von Instancing alle
> Bauteile mit dem selben Modell in einem Rutsch gezeichnet.

Ich weiß nicht mehr, ob das schonmal gefragt wurde, aber welchen 
Hintergrund hast du eigentlich? Das Projekt ist absolut nicht trivial 
und spielt imho in der Profi Liga aus Entwicklerperspektive. Ich hätte 
dich in die Richtung hauptberuflicher Dev gesehen aber dafür ist das 
Thema irgendwie zu elektrotechnisch. Was ist denn deine biographie?

Von 1000 Menschen, die sich an so eine Software heranwagen, schaffen 
vielleicht 10 ein brauchbares Ergebnis. Horizon ist aber gefühlt ein bis 
zwei Klassen über brauchbar.

Und woher nimmst du die Zeit?

von testi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Martin S. schrieb:
> Das Projekt ist absolut nicht trivial
> und spielt imho in der Profi Liga aus Entwicklerperspektive.

Da bin ich absolut mit dir einverstanden.

Soweit ich mal in einem Talk von Lukas auf YouTube gesehen habe hat er 
Elektrotechnik studiert (und hat vor ~5 Jahren abgeschlossen, mit einer 
Entwicklung welche er in einer frühen Version von Horizon zeichnen 
durfte)

von testi (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Gibt es eigentlich einen Ort wo man dir etwas Geld schicken kann (z.B. 
Patreon, ...)? Ich bezahle gerne etwas fü gute Software, und finde es 
nobel, dass du es erstens als OS anbietest und zweitens nirgends etwas 
über spenden geschrieben hast.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Eine Frage kommt mir gerade in den Sinn:

Ich habe hier eine Datenbank (PostgresQL), in der ich so gut wie alle 
meiner SMD-Bauteile katalogisiert habe. Primärschlüssel der Datenbank 
ist letztlich einfach eine laufende Nummer, die dann als so eine Art 
"Lagerhaltungsnummer" fungiert. (Im Moment noch ziemlich chaotisch im 
"Lager". :)

Wenn ich mir nun einen Widerstand oder Kondensator in die Schaltung 
einplane, würde ich natürlich vorzugsweise einen solchen nehmen (Wert, 
Bauform), der bereits "im Lager" ist. U.U. würde ich halt beispielsweise 
von der "Standardbauform" (derzeit 0603 bei mir) abweichen, wenn der 
gewünschte Wert in großer Stückzahl in 0805 gerade da ist. Oder, mein 
einziger Mini-MELF-Widerstand (aber davon dann knapp 200 Stück) hat 36,5 
kΩ. Könnte man oftmals überall da benutzen, wo man jetzt gerade "nach 
Nase" einen mit 33 kΩ einsetzen würde.

Dafür wäre es cool, wenn man im Pool dafür irgendein Attribut 
hinterlegen könnte und dann danach filtern. Die Verbindung zur PgSQL-DB 
muss nicht unbedingt "live" sein, ich könnte mir auch vorstellen, dass 
per Batch irgendwie nächtlich zu propagieren oder immer nur dann 
manuell, wenn ich mal wieder "shoppen" war.

: Bearbeitet durch Moderator
von Lukas K. (carrotindustries)


Bewertung
1 lesenswert
nicht lesenswert
Jörg W. schrieb:
> Lustig, dass aufgrund des ellenlangen Threads nun nach 4 Jahren immer
> noch "halbfertig" drüber steht. ;-)

Wenn mir ein besserer Titel einfallen würde... Unpassende Threadnamen 
gehören ja schon fast zum guten Ton hier, man denke nur an "Brauche 
Hilfe beim Bau eine Uhr".

Martin S. schrieb:
> Ich weiß nicht mehr, ob das schonmal gefragt wurde, aber welchen
> Hintergrund hast du eigentlich? Das Projekt ist absolut nicht trivial
> und spielt imho in der Profi Liga aus Entwicklerperspektive.

Mit Elektronik angefangen, dann Richtung Software abgerutscht.

Aus Software-Sicht ist Horizon EDA eigentlich nichts herausragendes, 
alles algorithmisch annnährend komplexe wie z.B. Polygonoperationen oder 
der push&shove Router und Airwire-Berechnung kommt aus Libraries, bzw. 
aus KiCad. Die 3D-Ansicht entstand u.a. durch Nachprogrammieren von 
OpenGL-Tutorials wie https://open.gl/.

Jörg W. schrieb:
> Dafür wäre es cool, wenn man im Pool dafür irgendein Attribut
> hinterlegen könnte und dann danach filtern.

Das einfachste könnte sein, mit einem Skript alles vorhandene 
Hühnerfutter zu erzeugen. Kann z.B. so aussehen: 
https://github.com/horizon-eda/horizon-pool/blob/master/scripts/panasonic-erj/gen.py 
Wichtig ist dabei, dass die UUID gleich bleibt.

Eine anderer Ansatz ist, einen eigenen StockInfoProvider zu 
implementieren, der dann mit deiner Datenbank redet und so abfragt was 
gerade da ist. Wäre dann an der Stelle von 
https://horizon-eda.readthedocs.io/en/latest/feature-overview.html#stock-information

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Lukas K. schrieb:

>> Lustig, dass aufgrund des ellenlangen Threads nun nach 4 Jahren immer
>> noch "halbfertig" drüber steht. ;-)
>
> Wenn mir ein besserer Titel einfallen würde...

Wie wäre es schlicht und einfach mit "Horizon-EDA"?

> Mit Elektronik angefangen, dann Richtung Software abgerutscht.

Willkommen im Klub. :-)

> Eine anderer Ansatz ist, einen eigenen StockInfoProvider zu
> implementieren, der dann mit deiner Datenbank redet und so abfragt was
> gerade da ist. Wäre dann an der Stelle von
> 
https://horizon-eda.readthedocs.io/en/latest/feature-overview.html#stock-information

Schau ich mir mal an, klingt zumindest passend von der Richtung her.

von Jürgen F. (jue)


Bewertung
3 lesenswert
nicht lesenswert
Kurze schamlose Eigenwerbung: Heute bin ich um 18:00 Uhr wieder online 
und bastle weiter mit Horizon EDA rum. Thema heute: einen 
USB-Seriell-Adapter für den Debug-Header zusammenklicken. Speziell ist 
heute, dass wir uns mit USB beschäftigen und somit differentielle 
Leitungen auf dem PCB verlegen werden.

03.03.21 18:00 Uhr - https://www.twitch.tv/electrifried

Mein Grober Plan für die nächsten Wochen wird übrigens dann etwas 
Software-lastiger. Die Mikrocontroller bekommen ein RTOS verpasst, mit 
dem ich mich auch schon ein bisschen länger beschäftigt habe: 
https://riot-os.org/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.