Wegens te laat zijn met updaten en het niet OK vinden dat mijn eigen ontwerpen alleen met internettoegang zijn te benaderen in de huidige versies draai ik nog steeds met 5.11.

Ik kan er nog steeds alles mee wat ik wil/moet, maar de laatste tijd komen er steeds meer eisen aan beheersbaarheid.
Nu laat zich dat voor het grootste deel afvangen met attributen, ulps en scripts, maar daar kom ik een irritante eigenschap tegen: als een script om wat voor reden dan ook user-input nodig heeft betekent dat meteen het einde van het script.

Voorbeeldscript: update_libraries.scr (gegenereerd door een ulp die o.a. nagaat welke lbr's in gebruik zijn bij een design)

update /Eagle/mydesigns/lbr/mylib.lbr /Eagle/mydesigns/lbr/specials.lbr;

Dit voert in een schema of PCB updates uit, als er iets is gewijzigd in een library.
Vervelende eigenschap is echter dat, als er ook maar IETS is gewijzigd mbt packages, de -terechte- message

verschijnt en het script meteen wordt beeindigd.
Vervelend, want het betekent dat de ulp steeds moet worden herstart totdat de melding wegblijft: het script start een ulp voor de post-processing.

Is dit te omzeilen/af te vangen of een kwestie van diep zuchten en iets anders proberen?

Voor update van je library heb je niet echt een script nodig.
Je kunt in de commando regel boven in de gui gewoon intikken update of als je de lib naam weet update mylib.lbr
De melding die je dan krijgt "The library has modified the board,....", krijg je altijd bij elke versie van eagle.
En die waarschuwing krijg je niet voor niets als er (wel of niet) wat aan de library is veranderd.

[Bericht gewijzigd door 2N3055 op (15%)]

Voor de goede orde (2N3055 z'n laatste zin is m.i. niet duidelijK) als er niets veranderd door de update van de library, dan geeft ie de melding niet. Dus heb je wat veranderd in de lib wat jij in dit design niet gebruikt, dan krijg je die melding niet.

Ik heb het eens gehad dat ik een footprint aangepast had naar de nieuwe versie, en op de een of andere manier zijn er alsnog in de nieuwe order printen gekomen met de oude footprint. Sinddien zit er zo'n "update all libraries" in een van de scripts die ik gebruik tijdens het prepareren voor productie.

@2N3055: het gaat niet om de update van een library (al noemt Eagle het wel zo) maar om de update van gecachte components in het design.
De gewraakte melding komt alleen als er iets in de package is veranderd, ook al is dat alleen de tekstratio ofzo...

In mijn designs is er vrijwel altijd meer dan 1 library in gebruik, welke dat zijn kan per design verschillen.
Omdat wijzigingen aan een component die in het ene project noodzakelijk bleken in een ander project waarschijnlijk ook noodzakelijk zullen zijn (en het ondoenlijk is om altijd meteen alle projecten te updaten) wil ik een en ander automatiseren om de foutkans te reduceren, het probleem waar rew tegenaan liep heb ik ook bij de hand gehad. Niet iets wat voor herhaling vatbaar zou moeten zijn.

De "update all" in de sch en pcb editors werkt niet (heeft het ook nooit gedaan bij mij) in versie 5, maar ik heb geen idee waarom...
Dat wil ik dus opvangen met een ulp (die scant welke libraries er in gebruik zijn voor dit design) die een script genereert (en start) voor de updates, wat dan als laatste instructie een ulp start voor de verdere processing van BOMs, FABmaster data etc.

Er zijn nogal wat stappen nodig voor het prepareren van een complete set productiegegevens en de kans dat er iets vergeten wordt is nogal hoog, dus automatiseren die hap.
Maar dat loopt dus spaak als er ergens een user-input nodig is...

Ik heb het volgende getest en onderstaande werkt, wel met de 7.3 versie getest.

Je maakt 1 hoofd scr file en wat losse scr files, de hoofd scr run je.

main.scr

script test1.scr
script test2.scr

test1.scr

update st-microelectronics.lbr

test2.scr

update con-wago-500.lbr

Componenten uit beide library's worden nu in je schema en pcb bijgewerkt. User input komt wel 2x voorbij.

Edit:
Dit werkt ook goed

main.scr

update st-microelectronics.lbr
update con-wago-500.lbr

En ook dit werkt goed
main.scr

update st-microelectronics.lbr con-wago-500.lbr

Zijn we dus weer terug bij af. :-(

[Bericht gewijzigd door 2N3055 op (23%)]

Op 25 maart 2018 20:28:58 schreef fatbeard:
De "update all" in de sch en pcb editors werkt niet (heeft het ook nooit gedaan bij mij) in versie 5, maar ik heb geen idee waarom...

Hier ook.

Op 24 maart 2018 17:39:27 schreef fatbeard:
Wegens te laat zijn met updaten en het niet OK vinden dat mijn eigen ontwerpen alleen met internettoegang zijn te benaderen in de huidige versies draai ik nog steeds met 5.11.

.....

Het eerste kunnen we niks aan verhelpen. Maar waar haal je dat je eigen ontwerpen alleen te benaderen zijn met internettoegang?

Mijn ontwerpen staan nog steeds op mijn PC, niks in de cloud. Om Eagle free te gebruiken heb je geen licentie nodig en dus ook geen internet. Het voordeel tegenover de vorige free versies, toen lag de maximale print vast bij 100mmx80mm. Nu is dat 800mm2. Geen verschil zal je opperen. Toch wel. In het verleden had ik een pro licentie nodig om een printje te tekenen van 240mmx20mm. Nu kan dat in de free versie.

Wil ik vandaag even de pro versie gebruiken dan kan ik 1 maand een licentie nemen. Terwijl ik in het verleden de versie moest aankopen. Ook al was dat voor slechts 1 schema met grotere PCB.

De schema's en PCB's gemaakt met een pro versie blijven consulteerbaar in de free versie. Ze kunnen niet gewijzigd worden.

Met licentie 2 weken geen internetcontact ga je over naar free versie tot er weer contact is geweest. De internet contacten blijven dus beperkt tot de licentie communicatie.

Op 26 maart 2018 10:26:39 schreef buckfast_beekeeper:
Wil ik vandaag even de pro versie gebruiken dan kan ik 1 maand een licentie nemen. Terwijl ik in het verleden de versie moest aankopen. Ook al was dat voor slechts 1 schema met grotere PCB.

Right. En als je dan perongeluk op "save" drukt in de nieuwere versie kan je niet meer terug.

Ik heb de indruk dat ook de "free" versie online permissie vraagt aan de grote server in de wolk. Mogelijk heeft ie een fallback voor offline werken, maar volgens mij doet ie IETS.

... en de free versie kan ook met 16 lagen werken? En met meer dan 4 sheets? Dacht het niet...

aanvulling
Het kopen van de software is niet het probleem, maar het 'Eagle call home' dingetje wel: je bent met ziel en zaligheid overgeleverd aan de welwillendheid van Autodesk om de desbetreffende server in de lucht te houden; zonder internetverificatie werkt de software maar 14 dagen.

Het probleem waar ik tegen aan loop met de scripts is dat een script wordt getermineerd als er user-input nodig is (hoe onbenullig die ook mag zijn) en de volgende commando's dan dus niet worden uitgevoerd...

[Bericht gewijzigd door fatbeard op (73%)]

Op 26 maart 2018 10:49:56 schreef rew:
[...]Right. En als je dan perongeluk op "save" drukt in de nieuwere versie kan je niet meer terug.

Echt waar?
Waarvoor zijn dan die #1, #2 bestanden.
Je stapt toch niet per ongeluk over naar een nieuwe versie.

@fatbeard: heb je geen connectie gaat ie gewoon over op de free versie. Kon je in de vorige free versie met 16 lagen werken en 4 sheets? Daar was dat ook niet mogelijk. Je gaat op die manier appelen en peren vergelijken om je grote gelijk te 'bewijzen'.

Wijzig je in de xml file de versie, dan ben ik bijna zeker dat het ook nog in de oudere versies met xml nog zal werken.

In de toekomst zal je niet veel programma's meer moeten aanschaffen. Bijna allemaal gaan ze over op een identiek verdien model. Virussoftware koop je toch ook niet voor het leven. Daar betaal je toch ook om je dagelijkse update te ontvangen. Daar leef je toch ook bij de gratie van de virus provider. Als morgen AVG of Kaspersky, om er maar 2 te noemen, de stekker uit hun servers trekt is het ook afgelopen.

Ik ben bijna zeker dat het merendeel van de bedrijven dit soort licenties verkiest. Maandelijkse of jaarlijkse huurprijs en altijd in het bezit van de nieuwste software. Terwijl je dit bij aankoop niet kan inschatten. Wat is een minor en wat is een major update? Alleen het bedrijf in kwestie bepaald het. Hoeveel zal een major update kosten vanaf versie a, vanaf versie b, vanaf versie c en betaal je vanaf versie d terug volle pot? Alleen het bedrijf in kwestie bepaald het. Sla je eens een versie over, kan je bijna zeker zijn dat je nadien toch de upgrade 2 keer zal betalen.

Ah. Aannames...

Ik werk met de 5.11 professional versie, en die functionaliteit heb ik ook nodig.

Voorzover mij bekend functioneert de professional versie van vandaag 14-dagen zonder internet-connectie, wat er daarna gebeurt weet ik niet. Best mogelijk dat-ie dan overgaat naar de 'free'-modus, maar daar heb ik dus nix aan...
Ik kan me trouwens geen bedrijf voorstellen wat ervoor kiest om de toegankelijkheid van z'n eigen intellectueel eigendom af te laten hangen van een leverancier. Ze zullen er vast wel zijn, maar ík kan het me niet voorstellen.
Wat ik me wel kan voorstellen dat er bedrijven zijn die een 'abonnement' prefereren boven een eenmalige aanschaf, de financiën lieten dat in mijn geval niet toe.

Virussoftware heeft een geheel ander doel: elke maker levert 'zijn' definitie-files mee. Als bijv. Kaspersky de stekker eruit trekt ga ik net zo makkelijk over op Jantje, Pietje of Klaasje; er is geen intellectueel eigendom van mij mee gemoeid en mijn PC blijft ook gewoon werken.
Als ik ervoor zou kiezen om geen updates meer in te kopen voor mijn anti-virus programma blijft dat programma gewoon werken; zij het met verouderende definities.

Maar we dwalen af.
De vraag was (is nog steeds trouwens) of er een manier bestaat/te bedenken valt om in Eagle5.11 een script automatisch te hervatten na een user-input.

Ik heb inmiddels het antwoord gevonden (notabene in de helpfile, wie gebruikt dat nou O-)).

Na SET CONFIRM YES wordt er automagisch op OK (of YES) geklikt zonder dat de bijbehorende dialoog getoont wordt.
SET CONFIRM NO doet hetzelfde maar dan met CANCEL of NO; na SET CONFIRM OFF is alles weer bij het oude.
Ik kon me al niet voorstellen dat ik de enige was...

Deze oplossing levert echter een tweetal nieuwe vragen op:

  1. kan ik naderhand nog uitvinden of er een automagische actie heeft plaatsgevonden en
  2. waar staat de file eaglerc? Daarin kun je meer zaken regelen...

EDIT
Nog zoiets wat niemand(?) gebruikt: het manual. ;)
Daar staat namelijk het antwoord op vraag 2 in...

De eaglerc staat bij mij in /usr/share/eagle/scr/eagle.scr ...

Ik heb ook ooit voor de pro versie betaald. En twee maanden later komen ze met een major update. Nou, als het goed werkt, dan heb je de optie om bij de oude te blijven. Dat is anders bij "operating systems", "web browsers" en "antivirus systemen". DIE moeten uptodate zijn. Bij een PCB edit programma kan je gerust een versie van 2, 5, 10 of 20 jaar geleden gebruiken.

Het is inderdaad een tijd geleden dat ik die auto-update had waardoor de oude (gekochte) versie het bestand niet meer kon lezen. Ja er zijn backup bestanden. Ja ik maak backups. Maar als je "half" overschakelt op een nieuwe versie kan het zijn dat je bij het bekijken van een bestand met de nieuwe versie (zonder het te WILLEN veranderen) zomaar iets onbenulligs wijzigt. Textje veranderen, spoortje wat netter leggen, zoiets. Of dat eagle het in z'n hoofd haalt: "Je hebt designrules XXYY geladen, de design rules in het bestand waren YYZZ, dus dat is een wijziging". Als je dan je eagle een week open laat staan en dan afsluit of een ander bestand wil openen, komt ie met: "wijzigingen opslaan?" En voila weer een bestand ge-upgrade. En mogelijk heb je dat ding dus een jaar niet nodig voordat je er achter komt dat de betaalde versie er niet meer bijkan. IK neem tegenwoordig zo min mogelijk risico in dat veld.

Zoooo herkenbaar... :)
Apropos, kent U die Arabier van Franse-Ierse afkomst?
Hij heet Bin D'Aire-Dunndet en schijnt een heel fraai T-shirt te hebben :+

Automatisch alle dialogen wegklikken (set confirm yes) wordt wel erg tricky, sommigen vereisen een bewuste keuze.
Maar ik heb inmiddels wel een globaal idee hoe ik het ga oplossen:

  1. bij het starten van een editor wordt altijd eagle.scr uitgevoerd
  2. als laatste actie in de [sch] en [pcb] secties van eagle.scr wordt LBR_up2date.ulp gestart
  3. LBR_up2date.ulp checkt het global attribute LBR_updateStatus, maakt een lijst van alle gebruikte bibliotheken en genereert/start zonodig (attribuut is afwezig of heeft waarde 'started') het script LBR_up2date.scr:
    • attribute LBR_updateStatus 'started';
    • update <lijst van bibliotheken>;
    • attribute LBR_updateStatus 'complete';

Het mooie hiervan is, dat via wat slimmigheden het niet uit gaat maken of dat global attribute in het schema of pcb zit; zelfs als het in beide zit kan dit gelijkgetrokken worden.
Ook zal dat attribuut pas worden geüpdate als alle library-updates zonder tussenkomst zijn voltooid.

Via eenzelfde mechanisme kunnen allerhande andere produktiezaken worden geregeld en bewaakt: CAMfiles, BOM, etc...