Parametry programu¶
Jak již bylo popsáno jinde v dokumentu, Horizon-EDA podporuje parametrizovatelné tvary pájecích míst a (v omezené míře) pouzder součástek. Chcete-li použít dané parametry na existující geometrii, každé pájecí místo a podobné objekty je možné změnit pomocí krátkého makra.
Tyto makra jsou psány ve vlastním zásobníkovém jazyce. Uživatelé kalkulaček HP se měli cítit jako doma. Protože v programu není možné provádět žádné smyčky, budou tyto programy ukončeny v daném čase. Zásobník obsahuje 64bitová celá čísla se znaménkem. Koncepčně roste shora dolů.
Syntaxe¶
Na nejvyšší úrovni je program tvořen značkami. Značky jsou oddělené libovolným množstvím mezer.
Typy značek:
- Celá čísla: číslo, volitelně opatřené znaménkem
- Rozměr: číslo s volitelnou zlomkovou částí, s příponou „mm“ plovoucí řádová značka před značkou mm se vynásobí 1x10^6, od vnitřní jednotka měření programu Horizon-EDA je 1nm
- Matematické operátory, jako například:
+ - * /
- Řetězce znaků
- Parametry začínají znakem
[
a končí]
jakákoliv značka mezi těmito dvěma znaky bude přidána jako parametr předchozího příkazu
Obecné příkazy¶
Nulový operand¶
get-parameter [<parameter>]
načte paramter a vloží jej na zásobník
Jeden operand¶
Before the operation, the stack looks like this:
. .
. .
+---+
| a |
+---+
Operators:
| pushes
dup | a a
chs | -a
Dva operandy¶
Before the operation, the stack looks like this:
. .
. .
+---+
| a |
+---+
| b |
+---+
Operators:
| pushes
+ | a+b
- | a-b
* | a*b
/ | a/b
dupc | a b a b (Duplicate coordinate)
Tři operandy¶
Before the operation, the stack looks like this:
. .
. .
+---+
| a |
+---+
| b |
+---+
| c |
+---+
Operators:
| pushes
+xy | a+c b+c
-xy | a-c b-c
Příkazy pro pájecí místa¶
Aby program mohl manipulovat s objektem (tvaru atd.), musí být přiřazena třída parametrů. ## set-shape set-shape [<třída parametrů> <form>]
Nastaví tvar na zadaný formulář nebo jej přesune na určenou pozici Platného formuláře:
obdélník
, zobrazí výšku, šířkukruh
, zobrazí průměrobround
, zobrazí výšku, šířkupozice
, zobrazí polohu y, x
Zadání otvoru¶
set-hole [<třída parametrů> <shape>]
Nastaví díru na specifikovaný tvar z přednastavených možností:
kulatý
, zobrazí průměrslot
, zobrazí délku, průměr
Polygonové příkazy (pájecí místa a pouzdra součástek)¶
Zadání polygonu¶
set-polygon [<třída parametrů> <shape> <x0> <y0>]
Nastaví polygon před připraveného tvaru se středem na (x0, y0) z vybraných možností:
obdélník
, zobrazí výšku, šířkukruh
, zobrazí průměr
Zadání vrcholů polygonu¶
`` set-polygon-vertices [<třída parametrů> <n_vertices>] `` Načte n_vertices
souřadnic vrcholů ze zásobníku a vytvoří z nich mnohoúhelník.
Vytvoření polygonu¶
expand-polygon [<třída parametrů> <x0> <y0> <x1> <y1> ... <xn> <yn>]
Vytvoří polygon určený hodnotami souřadnic v parametrech načtených ze zásobníku.
Příklad programu (pro SMD obdélníkové pájecí místo)¶
get-parameter [ pad_width ]
get-parameter [ pad_height ]
dupc dupc
set-shape [ pad rectangle ]
get-parameter [ solder_mask_expansion ]
2 *
+xy
set-shape [ mask rectangle ]
get-parameter [ paste_mask_contraction ]
2 *
-xy
set-shape [ paste rectangle ]