Index: trunk/doc/developer/lihata_board/comm_data.lht =================================================================== --- trunk/doc/developer/lihata_board/comm_data.lht (revision 16825) +++ trunk/doc/developer/lihata_board/comm_data.lht (revision 16826) @@ -164,7 +164,7 @@ type=li ver = {>=4} li:children { - ha:unused = { valtype=n/a; desc={placeholder for markign uunsed slot to keep slot indices for early lihata v4 }} + ha:unused = { valtype=none; desc={placeholder for markign uunsed slot to keep slot indices for early lihata v4 }} ha:ps_proto_v4.PID { type=ha desc={padstack prototype specification, as introduced in lihata board v4} Index: trunk/doc/developer/lihata_board/render.sh =================================================================== --- trunk/doc/developer/lihata_board/render.sh (revision 16825) +++ trunk/doc/developer/lihata_board/render.sh (revision 16826) @@ -64,6 +64,13 @@ return s } +function qstripnl(s) +{ + gsub("[\\\\]+164", " ", s) + gsub("[\\\\]n", "\n", s) + return s +} + function tbl_hdr(node, level) { print " type:name value ver description" @@ -181,7 +188,22 @@ } } +function gen_types(path, v, n, N, node) +{ + print "" + print "" + print "
type description" + v = children(N, path) + for(n = 1; n <= v; n++) { + node = N[n] + print "
" NAME[node] + print " " qstripnl(DATA[node]) + } + print "
" +} + + END { print "

File format root nodes

" print "

Each table below describes the full tree of one of the pcb-rnd file formats, from the root." @@ -190,6 +212,10 @@ print "

Common subtrees

" print "

Each table below describes a subtree that usually does not specify a whole tree (thus they are usually not a valid file on their own). These subtrees are described in a separate table because they are used from multiple other trees." gen_roots("/lht_tree_doc/comm") + + print "

Types

" + print "

" + gen_types("/lht_tree_doc/types") } ' Index: trunk/doc/developer/lihata_board/tree.html =================================================================== --- trunk/doc/developer/lihata_board/tree.html (revision 16825) +++ trunk/doc/developer/lihata_board/tree.html (revision 16826) @@ -237,7 +237,7 @@       attrib-key string   attribute value      flags_text      li:padstack_prototypes   >=4 -   unused n/a   placeholder for markign uunsed slot to keep slot indices for early lihata v4 +   unused none   placeholder for markign uunsed slot to keep slot indices for early lihata v4   ha:ps_proto_v4.PID     padstack prototype specification, as introduced in lihata board v4    hdia coord   hole diameter; 0 means no hole    htop integer   hole start: copper layer index from the top (positive) or bottom (negative) copper layer (0 means top copper layer) @@ -325,7 +325,84 @@    attrib-key string   attribute value   flags_line     +

Types

+

+

+

+ + + + + + + + + + +
type description +
angle + + A decimal number without unit, representing an angle in degree. Can + be positive or negative. +
coord + + A decimal number with a unit suffix. If the unit suffix is missing, + the coordinate is loaded in the internal units (which is nanometer as of 2018, + but could change in the future, thus files shall not depend on it). Depending + on the context, coordinates may have a sign (positive or negative). +

+ Examples: +

+x=10mil;
+y=1.5mm;
+dia=12cm;
+
+ +
coordtbl + + A two-column table of coords. First column are X, second column are Y + coordinates. +

+ Examples: +

+ta:contour {
+ 1mm;   2.1mm;
+ 5mm;   5.2mm;
+ 3.7mm; 12mil;
+}
+ta:foo = { 1mm; 2.1mm;  5mm;   5.2mm;  3.7mm; 12mil; }
+
+ +
double + + Unitless numeric value in decimal format. Depending on context it is + sometimes signed. + +
flag + + If the flag is set, the value is "1", if the flag is not set, the + whole key=value pair is omitted. + +
integer + + Unitless integer value in decimal format. Depending on context it is + sometimes signed. + +
minuid + + An unique ID as generated by libminuid (24 ASCII characters). + +
none + + No value. + +
string + + Free form text data + +
+ Index: trunk/doc/developer/lihata_board/tree.txt =================================================================== --- trunk/doc/developer/lihata_board/tree.txt (revision 16825) +++ trunk/doc/developer/lihata_board/tree.txt (revision 16826) @@ -233,7 +233,7 @@ attrib-key string attribute value flags_text li:padstack_prototypes >=4 - unused n/a placeholder for markign uunsed slot to keep slot indices for early lihata v4 + unused none placeholder for markign uunsed slot to keep slot indices for early lihata v4 ha:ps_proto_v4.PID padstack prototype specification, as introduced in lihata board v4 hdia coord hole diameter; 0 means no hole htop integer hole start: copper layer index from the top (positive) or bottom (negative) copper layer (0 means top copper layer) @@ -321,3 +321,43 @@ ha:attributes a hash of attribute key=value pairs attrib-key string attribute value flags_line + +Types + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| type | description | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|angle |A decimal number without unit, representing an angle in degree. Can be positive or negative. | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| |A decimal number with a unit suffix. If the unit suffix is missing, the coordinate is loaded in the internal units (which is nanometer as of 2018, but could change in the future, thus files shall not depend on it). Depending on the context, | +| |coordinates may have a sign (positive or negative). | +| | | +|coord |Examples: | +| | | +| |x=10mil; | +| |y=1.5mm; | +| |dia=12cm; | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| |A two-column table of coords. First column are X, second column are Y coordinates. | +| | | +| |Examples: | +| | | +|coordtbl|ta:contour { | +| | 1mm; 2.1mm; | +| | 5mm; 5.2mm; | +| | 3.7mm; 12mil; | +| |} | +| |ta:foo = { 1mm; 2.1mm; 5mm; 5.2mm; 3.7mm; 12mil; } | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|double |Unitless numeric value in decimal format. Depending on context it is sometimes signed. | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|flag |If the flag is set, the value is "1", if the flag is not set, the whole key=value pair is omitted. | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|integer |Unitless integer value in decimal format. Depending on context it is sometimes signed. | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|minuid |An unique ID as generated by libminuid (24 ASCII characters). | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|none |No value. | +|--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|string |Free form text data | ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Index: trunk/doc/developer/lihata_board/types.lht =================================================================== --- trunk/doc/developer/lihata_board/types.lht (nonexistent) +++ trunk/doc/developer/lihata_board/types.lht (revision 16826) @@ -0,0 +1,65 @@ +ha:lht_tree_doc { ha:types { + +angle { + A decimal number without unit, representing an angle in degree. Can + be positive or negative. +} + +coord { + A decimal number with a unit suffix. If the unit suffix is missing, + the coordinate is loaded in the internal units (which is nanometer as of 2018, + but could change in the future, thus files shall not depend on it). Depending + on the context, coordinates may have a sign (positive or negative). +

+ Examples: +

+x=10mil;
+y=1.5mm;
+dia=12cm;
+
+} + +coordtbl { + A two-column table of coords. First column are X, second column are Y + coordinates. +

+ Examples: +

+ta:contour {
+	1mm;   2.1mm;
+	5mm;   5.2mm;
+	3.7mm; 12mil;
+\}
+ta:foo = { 1mm; 2.1mm;  5mm;   5.2mm;  3.7mm; 12mil; \}
+
+} + +double { + Unitless numeric value in decimal format. Depending on context it is + sometimes signed. +} + +flag { + If the flag is set, the value is "1", if the flag is not set, the + whole key=value pair is omitted. +} + +integer { + Unitless integer value in decimal format. Depending on context it is + sometimes signed. +} + +minuid { + An unique ID as generated by libminuid (24 ASCII characters). +} + +none { + No value. +} + +string { + Free form text data +} + +}} +