Uživatelské nástroje

Nástroje pro tento web

Tento překlad je starší než originální stránka a nejspíše i zastaralý. Zobrazit změny.
Překlady této stránky?:

cs:tools

Toto je starší verze dokumentu!


Softwarové nástroje pro vývoj stavebnice MLAB

Tato stránka se zabývá softwarovými nástroji potřebnými pro tvorbu stavebnice MLAB, pro technické vybavení přejděte na stránku s návody.

Tvorba MLABu není omezena na jeden konkrétní set nástrojů protože různí uživatelé mají různé nároky a také přístup k různým druhům softwaru.

Elektronické CADy

Nástroje pro vytváření návrhů plošných spojů a jejich schémat, případně simulace zapojení. Preferován je aktuálně návrhový systém KiCAD ostatní nástroje tu jsou uvedeny, proto protože některé konstrukce jsou v nich i nadále nakresleny.

KiCAD

Program KiCad je jeden z pouze tří OpenSource nástrojů určený k EDA návrhu elektronických konstrukcí.

Instalace Ubuntu

Kicad má v linuxu dvě možnosti instalace. Obvykle je však nejvhodnější použít PPA.

PPA Repozitář

PPA je systém vzdáleného přístupu k balíčkům připraveného software. Obvykle obsahují aktuálnější verzi, než balíčky dostupné ze standardních systémových repositářů.

Pro stažení a instalaci nejnovější stabilní připravené verze KiCAD stačí do konzole zadat následující příkazy:

sudo add-apt-repository --yes ppa:js-reynaud/ppa-kicad
sudo apt-get update
sudo apt-get install kicad

Další nastavení

Ubuntu má v továrním nastavení vypnuté kontextové ikony, takže nainstalovaný KiCAD nemá v menu ikony, které usnadňují orientaci při návrhu. Lze vyřešit zadáním následujících příkazů do konzole.

gsettings set org.gnome.desktop.interface menus-have-icons true
gsettings set org.gnome.desktop.interface buttons-have-icons true
UBUNTU_MENUPROXY= kicad # or pcbnew, eeschema and etc.

Instalace Windows

Nyní je již instalace KiCAD jednoduší. Stačí si stáhnout pro Windows typický exe soubor a nainstalovat (používáme verzi Nightly Development Builds).

http://kicad-pcb.org/download/windows/

Nastavení

Knihovny

Je dobré při návrhu modulů využít co nejvíce prvků z knihoven MLAB, které jsou dostupné na GitHubu. Důvod k tomu je ten, že MLAB knihovny obsahují technologicky optimalizované varianty obecných pouzder, což je důležité zejména pro osazování a automatickou tvorbu dokumentace.

Pokud nějaká součástka není ani v jedné knihovně a vznikne potřeba vytvořit vlastní novou. Je potřeba danou součástku zařadit do knihovny MLAB, aby jí bylo možné snadno použít i v dalších modulech. Nedávat jí jen do knihovny projektu, nebo do nějaké vlastní knihovny, ke které není přístup již vůbec.

Knihovny se do KiCADu přidávají zvlášť při kreslení schéma a zvlášť při návrhu PCB v obou případech je postup velmi obdobný.

  • Preferences → Manage Symbol Libraries → „Global Libraries“ - Browse Libraries → Open Library

Schéma - pojmenování součástek

Při kreslení schéma je potřeba dodržet určitou konvenci, aby byla výsledná výroba a automatické generování dalších dokumentů bez problémů.

Při prvním spuštění Kicad Eeschema je potřeba přidal tyto pole popisující součástky:

 MFPN
 Distributor
 Link
 Note
 UST_ID

V případě, že schéma obsahuje varianty osazovaných komponent, tak se k identifikaci pole přidá ještě pořadové číslo, napřiklad „MFPN_1“,„MFPN_2“ a podobně. Komponenty se stejným pořadovým číslem odpovídají jedné osazované variantě. Komponenty, které nemají pořadové číslo jsou společné pro všechny varianty osazení.

Při použití následujícího postupu není potřeba pole vytvářet ručně u každé součástky znovu:

V menu Preferences » General options » Field Name Templates

Při otevření parametrů součástky vypadá tabulka následnovně:

Příklad vyplnění parametrů součástky:

 Reference: C1
 Value: 10nF
 MFPN: 1812CA103JAT2A (přesný typ součástky, pro osazování)
 Distributor: Mouser 581-1812CA103JAT2A
 L{{ :cs:sw:sch_2.jpg?400 |}}ink: https://cz.mouser.com/ProductDetail/AVX/1812CA103JAT2A?qs=sGAEpiMZZMsh%252b1woXyUXjzY5digEXfcQu%252bp00y9d0Fc%3d
 Note: přesnost 20%, C0G
 UST_ID: pokud je přístup do UST skladu 

Při kreslení modulu osob s přístupem do UST skladu, je potřeba při kreslení schéma vkládat rovnou UST_ID k daným součástkám. A pokud daná součástka ještě neexistuje, je potřeba jí rovnou vytvořit. Značně to usnadňuje následnou výrobu a jednoznačně definuje osazení.

Před začátkem návrhu plošného spoje je potřeba nastavit návrhová pravidla. Pokud nejsou použity obvody s malou roztečí pinů je dobré dodržet následující parametry.

Vrstvy

Nastavení vrstev se liší podle celkového počtu vrstev plošného spoje.

Dvojvrstvý plošný spoj
  • F.CU - horní vrstva mědi (většinou vrstva GND)
  • B.CU - spodní vrstva (výhradně umisťovat SMD součástky)
  • F.SilkS - vrstva horního potisku (tato vrstva se nechává vyrábět)
  • B.Silks - vrstva spodního potisku (vrstva se standardně nevyrábí)
  • Dwgs.User - kóty a další potřebné popisy, které nepatří do výrobní nebo osazovací vrstvy
  • Edge.Cuts - obrys výsledného PCB
  • F.Fab - potisk pro osazování - strana součástek
  • B.Fab - potisk pro osazování - strana spojů

Toto uspořádání vrstev vychází z dokumentace vrstev KiCADu

Generování seznamu součástek - BOM

Linux
  1. Zmáčknout tlačítko „set plugin cmd“ a tam vybrat soubor: /usr/lib/kicad/plugins/bom2csv.xsl
  2. Výsledkem je, že se pole „command line“ se samo nastaví na: xsltproc -o „%O.csv“ „/usr/lib/kicad/plugins/bom2csv.xsl“ „%I“
  3. Pak stačí zmáčknou „Generate“. A KiCAD vyrobí soubor .csv se seznamem součástek.
Windows

Generování souborů BOM není ve formátu .CSV pod WIN přímo možné. Vyřešit tento problém je možné podle následujícího postupu.

  1. Nejprve je potřeba stáhnout bom_ust.py.
  2. Je potřeba bom_ust.py uložit do místa instalace kicad.
  3. V KiCAD eeschema otevřít v nabídce „Tools > Generate Bill Of Materials“
  4. Zmáčknout „+“
  5. Pojmenovat si ho podle sebe
  6. Vybrat cestu do uloženého místa.
  7. Poté stačí vždy dát jen Generate

Generování výrobních dat

Při návrhu je dobré nepodlézat parametry v následující tabulce:

Před počátkem generování výrobních dat je potřeba provést kontrolu DRC. Doporučené parametry:

Gerber data

U dvojvrstvého PCB nastavit tyto parametry:

Drill data

Nastavení pro generování vrtaných děr:

Mentor Graphics PADS Layout

Jde o komerční software, ve kterém je navržena většina současných modulů MLAB. Do budoucna se však předpokládá jeho úplné nahrazení Open-Source softwarem KiCAD.

Použití vrstev

Dopsat použití vrstev a jak vnikají SMD plošky.

U fidu značek a u dalších podobných objektů (například různé díry a podobně) je vhodné zhasnout refdes. Na osazováku nejsou potřeba.

Filter = Labels, označit text a smazat klávesou Del Smazané labely lze nechat znovu položit

Texty (popis na potisku) patří do vrstvy Silkscreen Top/Bottom. Nezapomenenme někam umístit identifikátor modulu. Stejný text patří i do vrstvy spojů.

Písmo 80mils Čára 8mils

U diod přidáváme A k anodě a u kondenzátorů přidáváme + do vrstvy Assembly Drawing Top/Bottom)

Písmo 80mils Čára 8mils Design Rules a velikosti elementů

Nastavení Setup / Design Rules / Default / Clerance určují šířku spojů a izolační mezery mezi různými objekty. Nastavujeme hodnoty adekvátní hustotě návrhu.

Šířka spojů Trace Width / Minimum = 12mils (možno až 9mils) Trace Width / Recomended = (12mils), 15mils, 20mils, 30mils nebo i 45mils Trace Width / Maximum = není omezeno, ale ale spoje nad 60mils je lepší vylévat mědí. Izolační vzdálenosti Clearence = 10mils Clearence Copper = 20mils

Rast je vhodný zejména pro umísťování součástek. Pro spoje je možno nastavit rastr v podstatě libovolně malý. Nejsnadněji se nastavuje pomocí příkazu G, například G10 přímo z klávesnice.

OrCAD Schematic

Nástroj pro vyváření zapojení modulů a následný export netlistů pro zpracování návrhu PCB v systému PADS. Naprostá většina schémat modulů je kreslena v tomto editoru. Protože se však používal v kombinaci s PADS a nadále se významně nevyvíjí, tak se předpokládá v blízké době jeho úplné nahrazení programem KiCAD.

kreslení schéma

Základní nastavení programu

Nastavení pro automatické vkládání razítka Options /Design Template / Title Block

Library Name = C:\LIBRARY\ORCAD9x\SYMBOLS Title Block Name = TITLE_MLAB

Nastavení velikosti stránky (evropské nastavení) Options / Design Template / Page Size

Units = Millimeters New Page Size = A4 Pin to Pin Spacing = 2.54

Nastavení rastru Options / Design Template / Grid Reference

Vertical & Horizontal Width = 2.54

Povolené velikosti písma ve schématu jsou 8, 14 nebo 22.

Umístění knihoven

Při kreslení schématu ukládáme knihovny do adresáře C:\LIBRARY\ORCAD9x aby se v případě změny v knihovně snadno aktualizovaly použité knihovní prvky v existujícím schématu.

Každý prvek ve schématu je současně uložen spolu s vlastním schématem v tzv. library cache a je tam uložen včetně celé absolutní cesty ke knihovně ze které byl kopírován a tam se také hledá v případě aktualizace. Pokud budou mít všichni stejné knihovny na stejném místě budou mít snazší život.

Máme tyto skupiny knihoven:

  • Knihovny obsahující obecné schématické značky, například všemožné tranzistory. Tyto knihovny slouží jako zásobárna „tvarů“ při tvorbě konkrétních prvků.
  • Knihovny obsahující výběr běžných zástupců uvažované skupiny, například konkrétní nejběžnější tranzistory.
  • Knihovny přímo obsahující celou skupinu konkrétních součástí, například jumpery s různým počtem špiček.
  • Knihovny obsahující prvky konkrétního výrobce. Ty jsou ukládány do podadresářů jednotlivých výrobců.

Při práci s knihovnami je třeba extra dávat pozor aby se omylem nevymazaly prvky z knihoven (stačí samotné DEL a prvek je nenávratně pryč). Dokončeným knihovnám je vhodné nastavit atribut Read Only. Knihovní prvky lze přetahovat z library cache existujícího schématu do knihovny.

Dopsat použití atributů. Propojů a konektorů.

Tvorba knihoven

Dopsat doporučení.

Generování výstupů

Generování netlistu

Netlist obsahuje seznam spojů pro návrh plošného spoje, hodnoty součástek a názvy jejich pouzder. Gneruje se volbou Tools / Create Netlist

Other PCB Footprint / Combined Property String = {Device},{Value}@{PCB Footprint} Formatters = padspcb.dll Netlist File 1 – nastavit příponu .ASC Generování seznamu součástí

Tvorba seznamu součástí se skládá ze dvou kroků

  1. Vygenerování seznamu ze schématu
  2. Úprava do podoby XLS tabulky

Seznam součástí se z OrCADu vygeneruje funkcí Bill of Material a výsledkem je TXT soubor.

Header: Quantity\tReference\tPart\tPCB Footprint Combined property string: {Quantity}\t{Reference}\t{Value}\t{PCB Footprint}

Finální podoba seznamu součástí je XLS tabulka. Vzor tabulky je v souboru VZOR_Seznam_součástí.xls. Vzor uložíme do adresáře SCH a otevřeme jej. Dále postupujeme podle návodu ve vzoru napsanému. Generování .PDF

Tisk provádíme obvykle na cílový formát A4 a to i pro schémata originálního formátu A3. Pro kvalitní výstup stačí rozlišení 600dpi.

Soubor se jmenuje jako jméno modulu s doplňkem _sch. Například POKUS_sch.pdf. Adobe Acrobat Distiller - preferované

Acrobat Distiller dává barevné PDF soubory. Žádné specifické nastavení parametrů Acrobat Distiller nepotřebuje (600dpi, měřítko 100%).

Při tisku z programu OrCAD Capture je třeba nastavit zmenšení a posunutí tisku aby byly rozumné okraje takto:

Schéma A3 – Scale=0,65; Print Offset X=12, Y=10 Schéma A4 – Scale=0,91; Print Offset X=12, Y=10 Adobe Acrobat Writter

Acrobat Writter dává černobílé PDF. Pro dosažení malé velikosti výsledných PDF souborů je třeba nastavit komprimaci. Velikost výstupu ani posunutí nejde ovlivnit. Výhodou je to, že schéma může být tisknuto najednou i když obsahuje listy různých formátů. Cílovým formátem nemusí být nutně formát A4 ale je to nejobvyklejší. Různé verze programu mají různé možnosti nastavení.

Page Setup Page Size / Standard = A4 Graphic / Resolution = 600dpi Graphic / Scaling = 100% Compression Options General / Compress text and lineart = Yes Color/Gray Scale Images / Compress using = ZIP Úklid souborů

Smažeme nepotřebné soubory, u cílových souborů zkontrolujeme jména souborů a nastavíme Read Only atribut.

Následující soubory se obvykle nezavádějí do databáze:

  • .OPJ definice projektu
  • .DBK záložní soubor schématu (.DSN)
  • .OBK záložní soubor knihovny (.OLB)

Naopak následující soubory obsahují podstatná data:

  • .DSN soubor schématu (obsahuje i library cache použitých knihovních prvků)
  • .OLB soubor knihovny (společné knihovny nejlépe v adresáři C:\LIBRARY\ORCAD9x)
  • .ASC soubor spojů – netlist
  • .PDF soubor s vytištěným schématem (název ve tvaru XXX_sch.pdf)
  • .XLS soubor se seznamem součástí včetně objednacích informací

Povinné úkony

Seznam povinných úkonů slouží pro rychlé ověření, že se na nic důležitého nezapomnělo. Na všechny otázky by se mělo odpovědět buď „ano“ nebo „v tomto případě záměrně ne“.

Založení nového schématu:

  • Je zvolen správný formát listů (A4 nebo A3) ?
  • Je na první straně informace o historii schématu ?
  • Jsou hodnoty neosazovaných součástek označeny podtržítkem ?
  • Jsou na schématu i součástky, které se neosazují na plošný spoj ?
  • Jsou na schématu alespoň 2 fidu značky na každou stranu plošného spoje ?

Aktualizace:

  • Je historie na první stránce aktuální ?
  • Je rohové razítko na všech stranách aktuální ?
  • Je vygenerovaný platný netlist v .ASC souboru ?
  • Je vygenerovaný tiskový soubor schématu v .PDF souboru ?
  • Je správné pořadí stránek v .PDF souboru ?
  • Je vygenerovaný seznam součástek ?
  • Mají soubory správný název ?
  • Mají soubory atribut Read Only ?
  • Jsou smazané nepotřebné soubory (i adresáře) ?

Eagle

Některé moduly jsou navržené v tomto systému ale díky nutnosti odlišné adresářové struktury jsou publikovány v SVN databázi MLAB_E, která zatím nemá webové výpisy. Do budoucna se využití Eagle pro návrh modulů dále nepředpokládá.

Texty a popisy

Program Eagle používá jiné textové fonty než původně využívaný program PADs, proto je nastavení mírně odlišné, zatím se jako nejlepší jeví toto

  • Vrstva mědi = popisky font „Vector“, Size 80, Ratio 10%.

Na jednom modulu se může vyskytovat více velikostí písma, (obvykle na modulech stačí méně, než 3). Pouzivaji se v poradi, nazev modulu, popisky, výstrahy, označení autora. Různé velikosti se samozřejmě používají pouze v případech, kdy je k tomu na modulu místo. Na některých modulech je proto jenom jedna velikost písma podřízená čitelnosti a rozměrům modulu.

Mechanické CADy

LibreCAD

Pro kreslení plošných technických výkresů je využíván LibreCAD. V Ubuntu jej lze nainstalovat přímo z balíku:

sudo apt-get install librecad

FreeCAD

FreeCAD se naopak hodí pro 3D modelování klasickým způsobem, který je známý z komerčních CAD programů. Zatím je výhodné používat jeho denní build verze dostupné z PPA.

sudo add-apt-repository ppa:freecad-maintainers/freecad-daily
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install freecad-daily freecad-daily-doc 

ATOM

ATOM je nástroj pro editaci zdrojových kódů.

Pro OpenSCAD je potřeba doinstalovat balíček language-openscad.

OpenSCAD

OpenSCAD je nástroj pro návrh 3D modelů technických zařízení. Na rozdíl od většiny návrhových nástrojů OpenSCAD využívá pro popis objektu programovací jazyk. Tento přístup umožňuje jednak parametrizaci modelů a navíc jejich snadné verzování s identifikací přesné změny. Základní úvod do používání programu je na Know only 10 things to be dangerous in OpenSCAD, existuje také přehled základních funkcí.

Dalším zdrojem informací je videotutoriál.

Instalace Ubuntu

Pro instalaci aktuální verze od Ubuntu 14.10 je připraven PPA repozitář:

sudo add-apt-repository ppa:openscad/releases
sudo apt-get update
  

Openscad můžeme po jeho přidání pak nainstalovat příkazem:

sudo apt-get install openscad

Spustíme jej pak obvyklým způsobem z dashboardu, nebo z příkazového řádku.

Pro použití nejnovějších funkcí je vhodné použít denní kompilaci openscadu.

sudo apt-get install openscad-nightly

Tu lze pak spustit z příkazového řádku jako openscad-nightly, obě verze proto mohou být naistalované paralelně.

Pro zobrazení náhledů vygenerovaných STL souborů v prohlížeči Nautilus můžete využít nástroj stl-thumbnailer.

Podrobnější popis použití nástroje OpenSCAD.

Generování a prohlížení výrobních dat

Gerber data

Pro prohlížení vygenerovaných dat jsou vhodné nástroje:

Skládání gerber dat

Pro skládáni dat lze využít program gerbmerge. Který se na internetu vyskytuje v několika různých větvích vývoje. Pro použití s programem kicad je výhodné použít relativně novou vývojovou větev prof. Karl-heinz Kunzelmann. Ta vychází z prvotní verze 1.8. a dalších úprav. Poměrně významně se však liší od verze gerbmerge3, která ale má čistější zdrojový kód.

Nejdříve nainstalujeme závislosti.

sudo apt-get install python-simpleparse python-simpleparse-mxtexttools

Následně stáhneme gerbmerge z githubu.

git clone https://github.com/MLAB-project/gerbmerge
cd gerbmerge
sudo python setup.py install

Aby gerbmerge fungoval, tak je mu potřeba zadat způsob panelizace to se dělá konfiguračním souborem. Příklad konfiguračního souboru je vložen u zdrojových kódů programu. Přímo v něm jsou komentáře vysvětlující jeho použití. Pakud ale máme připravený konfigurační soubor např. layout-mm-3.3.cfg tak gerbmerge můžeme spustit.

kaklik@popelnice:~/git/gerbmerge/testdata-with-KiCAD-using-metric-units/MLAB_panel$ ../../src/gerbmerge/gerbmerge.py layout-mm-3.3.cfg

Program se pokusí nalézt optimální rozložení motivů na panelu podle zvolené konfigurace a vygeneruje výsledné složené soubory.

Příklad pro složení SET10A (instalace se schoduje s předchozím příkladem) Nejprve je potřeba se dostat do místa, kde jsou data setu:

MLAB@MLAB:~/MLAB-project/gerbmerge/MLAB_panel/SET10A$

Nastavení skládání setu je v souboru layout.cfg a v soboru placement.merge.txt je uloženo požadované rozložení v setu. Soubor s rozložením setu se vygeneruje atomaticky při prvním spuštění programu gerbmerge. Vygenerování takto připravených dat se provede následujícím příkazem:

../../src/gerbmerge/gerbmerge.py --place-file=placement.merge.txt layout.cfg

Upravená verze programu gerbmerge pro MLAB

V MLAB repozitáři gerbmerge existuje větev ust-patches, ve které se testují úpravy gerbmerge pro potřeby MLABu. Vychází z větve prof. Kunzelmanna.

První změnou je přidání podpory pro vícero vrtacích vrstev. To je motivováno potřebou oddělit prokovené a neprokovené díry. Druhá změna pak umožňuje rozdělit konfiguraci do více souborů. To by mělo umožnit vyčlenit opakující se kusy konfigurace do sdílených souborů, na které se pak odkáže u konkrétní panelizační úlohy.

Pro ilustraci se podívejme na panelizaci PRO201B. U ní se definice vrstev pro skládané MLAB moduly nachází v mlab_layers.cfg:

[IncludeSection]

*TopLayer=%(prefix)s-F.Cu.gbr
*BottomLayer=%(prefix)s-B.Cu.gbr
*TopSilkscreen=%(prefix)s-F.SilkS.gbr
*TopSoldermask=%(prefix)s-F.Mask.gbr
*BottomSoldermask=%(prefix)s-B.Mask.gbr
Drills=%(prefix)s-PTH.drl
DrillsNPTH=%(prefix)s-NPTH.drl
BoardOutline=%(prefix)s-Edge.Cuts.gbr

Za povšimnutí stojí definice dvou vrtacích vrstev Drills= a DrillsNPTH=. I v upravené verzi gerbmerge musí vždy existovat vrstva Drills. Lze k ní však přidat další, která se jmenuje Drills a něco. Sekce [IncludeSection] v souboru značí, že se definice pod touto sekcí vloží do sekce, ze které bylo na tento soubor odkázáno. V main.cfg, hlavním souboru s konfigurací, stojí:

[EEPROM02A]

Prefix=%(projdir)s/../PRO201A/EEPROM02A/EEPROM02A
Include = mlab_layers.cfg

[HBSTEP01B]

Prefix=%(projdir)s/../PRO201A/HBSTEP01B/HBSTEP01B
Include = mlab_layers.cfg

... a podobně

To znamená, že výše ukázaný mlab_layers.cfg se vloží pod sekci [EEPROM02A] a [HBSTEP01B]. V obou se použijí stejné definice vrstev, jen se v nich za %(prefix)s doplní jiné prefixy cest. Zdrojové data jsou tu vzata ze sousedního projektu PRO201A. PRO201A a PRO201B jsou totiž podobné panelizace, jen PRO201B používá vlastnosti upraveného gerbmerge.

Vedle mlab_layers.cfg se do main.cfg vloží ještě common.cfg a output_layers.cfg. V tomto případě nezáleží na tom, z jaké sekce main.cfg bylo vložení vyvoláno, protože ve vkládaných souborech se nepoužívá sekce [IncludeSection]. Obsah se vloží tak, jak je, tedy pod původní sekcí, pod kterou je zapsán v common.cfg a output_layers.cfg.

Na závěr si prohlídněme, jak je v PRO201B pro gerbmerge zadáno rozvržení skládaných modulů. gerbmerge nebude rozvržení hledat automaticky, místo toho vypočítá rozvržení ze zadání v layout.txt. Formát tohoto souboru je popsán v dokumentaci gerbmerge.

Skládání se pro PRO201B vyvolá např. takto:

$ cd MLAB_panel/02_PRO/2V/PRO201B
$ python ../../../../src/gerbmerge/gerbmerge.py main.cfg layout.txt 

Kde jsme prvně předali název hlavního konfiguračního souboru a poté souboru s rozvržením.

GerberTools

GerberTools je zatím nevyzkoušený open-source nástroj napsaný primárně pro Windows v C#.

Gkódy pro 3D tisk

Technologická data pro 3D tisk v MLABu generujeme programem Slic3r. Zatím od něj neexistují připravené balíky v použitelné verzi. Proto je nutné program přeložit přímo ze zdrojových souborů na githubu.

Instalace Slic3r

sudo apt-get install libextutils-cppguess-perl freeglut3-dev

Postup kompilace

Z githubu se aktuálně používá master větev, která je kompromisem mezi stabilitou a možnostmi software. Samotná kompilace pak probíhá vetšinou podle instrukcí v souboru README.md

Programátorské nástroje

Na většinu programování softwaru se používá se v MLABu používá Python, nebo C. Vývojové nástroje jsou pro tyto jazyky dobře obecně známé. Většina vývoje je navíc orientována na Linux. Proto zde uvedeme jen seznam nástrojů, které používáme.

Programovací GUI

Programovací prostředí v kterém je vytvářen zdrojový kód. Mezi uživateli jsou nejoblíbenější následující dvě volby. Jinak lze ale zdrojový kód psát v libovolném textovém editoru.

Light Table

Light Table je programátorský editor kódu, který vyniká speciálními vlastnostmi, jako je například interaktivní spouštění částí zdrojových kódů, nebo přímé vyhledávání v dokumentaci. Jeho instalaci do systému provedeme stažením zkompilovaného balíku z stránky Light Table Download, rozbalením staženého balíku a provedením následujících příkazů, které jej přesunou do systémových složek.

sudo mv LightTable /opt/LightTable
sudo ln -s /opt/LightTable/LightTable /usr/bin/lighttable

Sublime text

Multiplatformní placený editor pro linux, Windows, Mac OS. Mezi jeho vyjímečné vlastnosti patří například náhled celého zdrojového kódu. Pro běžné použití stačí nezaplacená varze.

Instalace v Ubuntu
sudo add-apt-repository ppa:webupd8team/sublime-text-3 
sudo apt-get update
sudo apt-get install sublime-text-installer

Code::Blocks

Jde o velmi rozřířený editor, jehož výhodou je, že běží na více platformách a mohou ho tedy používat i uživatelé windows.

Code::Blocks

sudo apt-get install codeblocks

Embeded systémy

Nástroje na programování jednotlivých typů mikrokontrolérů jsou většinou popsány v částech týkajících se programování u jednotlivých architektur:

PIC

ARM

AVR

Správa verzí

GitHub

Pro správu softwarového vývoje a dokumentace modulů používáme github.

Linux

Jako nejefektivnější uživatelské rozhraní pro git se osvědčil příkazový řádek s tím, že jeho efektivita je zde ještě markantnější než u SVN.

Nový uživatel

Pro pohodlnou ptáci s git je efektivnější používat metodu klonování s SSH. Není při práci vyžadováno stále přihlašování. Komunikace je autentizována na základě privátního klíče. Pro každý počítač je potřeba vygenerovat unikátní klíč.

  1. Je potřeba si založit uživatelský účet na https://github.com/
  2. Vygenerovaný klíč je potřeba vložit do účtu na githubu
  3. Pokud v návodu nefunguje správně uložení klíče do schránky, tak je možné daný klíč získat otevřením skrytého souboru a provést překopírování klíče ručně. cat ~/.ssh/id_rsa.pub
  4. Tento postup stačí provést jen při prvním stahování na daném počítači.
Základní příkazy
Klonování repozitáře :
  1. Nejprve je potřeba vybrat místo, kde má být repozitář v počítači uložen a v daném místě si otevřít příkazový řádek.
  2. Příklad bude ukázán na repozitáři kicad-mlab: https://github.com/MLAB-project/kicad-mlab
  3. Na dané stránce si stáhneme potřebnou cestu k repozitáři. Webové tlačítko „Clone or download“.
  4. Je potřeba si přepnout cestu pro „Clone with SSH“, na místo „Clone with HTTPS“.
  5. Pro náš případ cesta vypadá takto: git@github.com:MLAB-project/kicad-mlab.git
  6. Nyní stačí v příkazové řádce zadat příkaz:
git clone git@github.com:MLAB-project/kicad-mlab.git
  1. Následně můžeme být vyzváni k zadání hesla, které jsme si zvolili při generování SSH klíče.
Stažení aktuální verze:
  1. V místě uložení repozitáře je potřeba zadat v příkazové řádce následující příkaz:
git pull
Zjištění stavu aktuálnosti repozitáře
git status

Tento příkaz vypíše u jakých souborů došlo ke změně, nebo které byli přidány jako nové.

Přidání nového souboru, složky
git add název_souboru 

Po označení celé cesty z výpisu příkazů lze cestu vložit pomocí kliknutí na prostřední tlačítko myši. Pro přidání všech změn lze použít ```git add .```.

Vytvoření commitu
git commit -m "Popis provedené změny"

Po tomto příkazu je commit pouze v lokální kopii repozitáře. Aby se data odeslala na server je potřeba zadat následující příkaz.

Upload na server
git push 

Pro ověření, zda veškeré úkony proběhly v pořádku je dobré se podívat na výstup příkazu:

git status

Ve výpisu by neměly být žádné položky, které jsme chtěli nahrát.

Změna velikosti lokálního repozitáře

Git si ve výchozím nastavení stahuje celý repozitář včetně veškeré historie úprav. Toto lze zamezit při stahování repozitáře pomocí parametru ```–depth=<pocet stazenych commitu>```

git clone <adresa_repozitare> --depth=1

Pokuď toto chcete aplikovat na existující kopii repozitáře, lze to provést následujícím postupem.

git fetch --depth 2
git reflog expire --expire=all --all
git gc --prune=all
Přejmenování větve repozitáře

Protože u repozitářů hardware není vhodné využívat větev master, neboť mezi větvemi vyrobeného hardware nemá velký smysl větve slučovat do aktuální. Tak každý hardwarový repozitář obsahuje větve pojmenovávající varianty již vyrobeného hardware.

Protože git implicitně předpokládá název hlavní větve jako master, tak je nutné provést přejmenování.

Nejdříve lokálně přejmenujeme větev v naklonovaném repozitáři

git branch -m master new_branch         # Rename branch locally    

Změnu názvu je potřeba nahrát do repozitáře na serveru

git push --set-upstream origin new_branch   
# Push the new branch, set local branch to track the new remote

Následně je potřeba ve webovém rozhraní githubu pro nastevení repozitáře změnit jméno default větve. (Na githubu volba Branches → Default branch). Pak je možné větev master smazat.

git push origin :master                 # Delete the old branch    
Odděleni složky z repozitáře do samostatného repozitáře

Některé repozitáře postupem času vyrostou v obrovské molochy, které na disku zabírají hodně prostoru. Toto je příklad repozitáře modules. Přitom častým požadavkem lidí je snadno navázat na konstrukci jednoho jedinného modulu. Což znamená si ho na githubu forknout. Plánovaným řešením tohoto problému je oddělení jednotlivých modulů do samostatné organizace.

https://help.github.com/en/github/using-git/splitting-a-subfolder-out-into-a-new-repository

Windows

TortoiseGit Pod operačním systémem Windows je možné stahovat pohodlně data z GitHub do počítače přes program TortoiseGit.

Dokumentace vývoje

Textová dokumentace

Veškeré textové dokumenty jsou v MLABu kódovány v UTF-8 někteří uživatelé ale požívají na editaci souborů windows a výsledkem je nekompatibilní soubor, který je třeba překódovat.

Převod kódování textových souborů.

iconv -f WINDOWS-1250 -t UTF-8 zprava.txt  -o zprava.txt

Dokuwiki

Dokuwiki je systém ve kterém běží tato dokumentace.

Offline editace

Podstatné ale je, že je možné tuto dokumentaci editovat i offline, což se hodí zejména při cestování.

K tomu je potřeba si na svém notebooku zprovoznit lokální instanci wiki. Tu si zprovozníme podle návodu na instalaci Dokuwiki pod Ubuntu. Data pak mezi oběma instancemi wiki synchronizujeme pomocí pluginu sync, který naistalujeme na svojí lokální instanci wiki. Po první synchronizaci se serverovou wiki můžeme stránky lokálně offline editovat a změny následně nahrát na veřejnou wiki MLAB.

LaTeX

LaTeX je je systém pro sazbu profesionálních dokumentů. V složce templates je pro něj šablona.

V případě psaní dokumentace v Ubuntu se použivají následující balíky

sudo apt-get install texmaker texlive-lang-czechslovak

Po jejich istalaci je možné psát a editovat MLAB dokumenty napsané v LaTeXu

Dokuwiki a Latex

Poslední dobou je poměrně častým dokumentačním problémem převod dokumentace postupně vznikající na wiki do formální podoby dokumentu. Přímé přepisování není příliš efektivní. Proto je vhodnější využít programové nástroje jako například Pandoc, ten umí vzájemně převádět mnoho formátů dokumentů. Ale neumí přímý převod Dokuwiki syntaxe na Latex. Lze si však pomoci použitím HTML kódu, který generuje dokuwiki a se kterým již Pandoc umí pracovat.

Webová verze Pandoc umí zpracovat HTML kód o délce pouze do 1000 znaků. Je proto vhodné si nainstalovat lokální offline verzi.

sudo apt-get install pandoc

Převod pak můžeme realizovat příkazem:

pandoc -f html -s -t latex temp_doc.html

Převedený dokument se nám pak vypíše do příkazové řádky, odkud jej pak stačí zkopírovat do Latexového editoru.

Offline metoda tohoto převodu

Obrázková dokumentace

Dia

Program dia slouží na tvorbu diagramů a blokových schémat.

Fritzing

Je snaha použít fritzing pro tvorbu dokumentace zapojení jednotlivých modulů v konstrukcích. Zatím však Fritzing nepodporuje mechanické umístění. Plošných spojů. Takže se tento nástroj reálně nepoužívá.

Prezi

Je nástroj na tvorbu veřejných prezentací projektů.

ImageMagick

Kontrola kvality

Pro zkontrolování celkové kvality dokumentace návrhů slouží přehled dokumentace modulů.

Tento přehled lze řadit podle různých kriterií. Například

Každý modul má přiřazenou známku kvality. Aktuálně se hodnotí kvalita fotografie podle následujících kritérií

  • 0 - žádná fotografie
  • 25 - render z KiCAD
  • 50 - nekvalitní fotografie např. z telefonu
  • 100 - profesionální fotografie z fotografického boxu.

Organizace vývoje

Redmine

Je nástroj pro vytváření úkolů a dělbu práce na projektech. Jeho instanceběží na serveru.

Nástroje pro zpracování dat

Interaktivní výpočetní nástroje

Jupyter notebook

Jupyter je softwarový nástroj, který umožňuje použít více výpočetních a programátorských balíků jako je například Python nebo Octave. Výhodou Jupyteru je interaktivní zpracování příkazů což oceníme hlavně při testování nebo psaní nových algoritmů.

Instalace

Postupujeme podle doporučení v repozitáři se zdrojovými kódy.

sudo pip install notebook

Spuštění se naopak provede

jupyter notebook

Kde si pak zvolíme námi použitý kernel.

gnuradio

Gnuradio je nástroj pro zpracování signálových dat obvykle z SDR přijímačů.

Simulační nástroje

Nec2++

Necpp je nástroje pro numerické výpočty anténních parametrů.

QAntenna

Kompilace

 sudo apt-get install qtbase5-dev qttools5-dev
 git clone git://git.code.sf.net/p/qantenna/code qantenna-code  qttools5-dev-tools
 cd qantenna-code/
 qmake qantenna.pro
 make
cs/tools.1592255401.txt.gz · Poslední úprava: 2020/06/15 21:10 autor: kaklik