Index: eagle_bin/test_parser/eagle_bin.c =================================================================== --- eagle_bin/test_parser/eagle_bin.c (revision 9432) +++ eagle_bin/test_parser/eagle_bin.c (revision 9433) @@ -249,6 +249,22 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_PACKAGES, "alt_alt_packages", + { /* field match */ + TERM + }, + { /* subsection sizes */ + {4, 4, SS_RECURSIVE}, + TERM + }, + { /* attributes */ + {"subsects", T_INT, 4, 4}, + {"children", T_INT, 8, 2}, + {"desc", T_STR, 10, 6}, + {"libname", T_STR, 16, 8}, + TERM + }, + }, { PCB_EGKW_SECT_SCHEMASHEET, "schemasheet", { /* field match */ TERM @@ -486,6 +502,24 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_PACKAGE, "alt_package", + { /* field match */ + TERM + }, + { /* subsection sizes */ + {2, 2, SS_RECURSIVE}, + TERM + }, + { /* attributes */ + {"minx", T_INT, 4, 2}, + {"miny", T_INT, 6, 2}, + {"maxx", T_INT, 8, 2}, + {"maxy", T_INT, 10, 2}, + {"desc", T_INT, 13, 5}, + {"name", T_INT, 18, 6}, + TERM + }, + }, { PCB_EGKW_SECT_SCHEMANET, "schemanet", { /* field match */ TERM @@ -843,6 +877,22 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_CIRCLE, "alt_alt_circle", + { /* field match */ + TERM + }, + { /* subsection sizes */ + TERM + }, + { /* attributes */ + {"layer", T_INT, 3, 1}, + {"x1", T_INT, 4, 4}, + {"y1", T_INT, 8, 4}, + {"r", T_INT, 12, 4}, + {"width_2", T_INT, 20, 4}, + TERM + }, + }, { PCB_EGKW_SECT_RECTANGLE, "rectangle", { /* field match */ TERM @@ -877,6 +927,23 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_RECTANGLE, "alt_alt_rectangle", + { /* field match */ + TERM + }, + { /* subsection sizes */ + TERM + }, + { /* attributes */ + {"layer", T_INT, 3, 1}, + {"x1", T_INT, 4, 4}, + {"y1", T_INT, 8, 4}, + {"x2", T_INT, 12, 4}, + {"y3", T_INT, 16, 4}, + {"angle", T_INT, 20, 2}, + TERM + }, + }, { PCB_EGKW_SECT_JUNCTION, "junction", { /* field match */ TERM @@ -920,6 +987,20 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_HOLE, "alt_alt_hole", + { /* field match */ + TERM + }, + { /* subsection sizes */ + TERM + }, + { /* attributes */ + {"x", T_INT, 4, 4}, + {"y", T_INT, 8, 4}, + {"width_2", T_INT, 12, 4}, + TERM + }, + }, { PCB_EGKW_SECT_VIA, "via", { /* field match */ TERM @@ -998,6 +1079,27 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_PAD, "alt_alt_pad", + { /* field match */ + TERM + }, + { /* subsection sizes */ + TERM + }, + { /* attributes */ + {"shape", T_INT, 2, 1}, + {"x", T_INT, 4, 4}, + {"y", T_INT, 8, 4}, + {"drill_2", T_INT, 12, 2}, + {"diameter_2", T_INT, 14, 2}, + {"angle", T_INT, 16, 2}, + {"stop", T_BMB, 18, 0x01}, + {"thermals", T_BMB, 18, 0x04}, + {"first", T_BMB, 18, 0x08}, + {"name", T_STR, 19, 5}, + TERM + }, + }, { PCB_EGKW_SECT_SMD, "smd", { /* field match */ TERM @@ -1203,6 +1305,19 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_BOARDPACKAGE2, "alt_alt_boardpackage2", + { /* field match */ + TERM + }, + { /* subsection sizes */ + TERM + }, + { /* attributes */ + {"name", T_STR, 2, 8}, + {"value", T_STR, 10, 14}, + TERM + }, + }, { PCB_EGKW_SECT_INSTANCE, "instance", { /* field match */ TERM @@ -1272,6 +1387,30 @@ TERM }, }, + { PCB_EGKW_SECT_ALT_ALT_TEXT, "alt_alt_textbasesection", /* basic text block */ + { /* field match */ + TERM + }, + { /* subsection sizes */ + TERM + }, + { /* attributes */ + {"layer", T_INT, 3, 1}, + {"x", T_INT, 4, 4}, + {"y", T_INT, 8, 4}, + {"size", T_INT, 12, 2}, + {"ratio", T_UBF, 14, BITFIELD(2, 2, 6)}, + /*self._get_uint8_mask(14, 0x7c) >> 2 },*/ + {"angle" , T_UBF, 16, BITFIELD(2, 0, 11)}, + /*self._get_uint16_mask(16, 0x0fff)*/ + {"mirrored" , T_UBF, 16, BITFIELD(2, 12, 12)}, + /*bool(self._get_uint16_mask(16, 0x1000))*/ + {"spin" , T_UBF, 16, BITFIELD(2, 14, 14)}, + /*bool(self._get_uint16_mask(16, 0x4000))*/ + {"textfield", T_STR, 18, 5}, + TERM + }, + }, { PCB_EGKW_SECT_NETBUSLABEL, "netbuslabel", /* text base section equiv. */ { /* field match */ TERM Index: eagle_bin/test_parser/eagle_bin.h =================================================================== --- eagle_bin/test_parser/eagle_bin.h (revision 9432) +++ eagle_bin/test_parser/eagle_bin.h (revision 9433) @@ -13,6 +13,7 @@ PCB_EGKW_SECT_SYMBOLS = 0x1800, PCB_EGKW_SECT_PACKAGES = 0x1900, PCB_EGKW_SECT_ALT_PACKAGES = 0x1980, + PCB_EGKW_SECT_ALT_ALT_PACKAGES = 0x19a0, PCB_EGKW_SECT_SCHEMASHEET = 0x1a00, PCB_EGKW_SECT_BOARD = 0x1b00, PCB_EGKW_SECT_ALT_BOARD = 0x1b40, @@ -25,6 +26,7 @@ PCB_EGKW_SECT_ALT_ALT_ALT_ALT_BOARDNET = 0x1c08, PCB_EGKW_SECT_SYMBOL = 0x1d00, PCB_EGKW_SECT_PACKAGE = 0x1e00, + PCB_EGKW_SECT_ALT_PACKAGE = 0x1e20, PCB_EGKW_SECT_SCHEMANET = 0x1f00, PCB_EGKW_SECT_PATH = 0x2000, PCB_EGKW_SECT_POLYGON = 0x2100, @@ -40,15 +42,19 @@ PCB_EGKW_SECT_ARC = 0x2400, PCB_EGKW_SECT_CIRCLE = 0x2500, PCB_EGKW_SECT_ALT_CIRCLE = 0x2580, + PCB_EGKW_SECT_ALT_ALT_CIRCLE = 0x25a0, PCB_EGKW_SECT_RECTANGLE = 0x2600, PCB_EGKW_SECT_ALT_RECTANGLE = 0x2680, + PCB_EGKW_SECT_ALT_ALT_RECTANGLE = 0x26a0, PCB_EGKW_SECT_JUNCTION = 0x2700, PCB_EGKW_SECT_HOLE = 0x2800, PCB_EGKW_SECT_ALT_HOLE = 0x2880, + PCB_EGKW_SECT_ALT_ALT_HOLE = 0x28a0, PCB_EGKW_SECT_VIA = 0x2900, PCB_EGKW_SECT_ALT_VIA = 0x2980, PCB_EGKW_SECT_PAD = 0x2a00, PCB_EGKW_SECT_ALT_PAD = 0x2a80, + PCB_EGKW_SECT_ALT_ALT_PAD = 0x2aa0, PCB_EGKW_SECT_SMD = 0x2b00, PCB_EGKW_SECT_ALT_SMD = 0x2b80, PCB_EGKW_SECT_PIN = 0x2c00, @@ -60,9 +66,11 @@ PCB_EGKW_SECT_ALT_ALT_ALT_ALT_BOARDPACKAGE = 0x2e28, PCB_EGKW_SECT_BOARDPACKAGE2 = 0x2f00, PCB_EGKW_SECT_ALT_BOARDPACKAGE2 = 0x2f80, + PCB_EGKW_SECT_ALT_ALT_BOARDPACKAGE2 = 0x2fa0, PCB_EGKW_SECT_INSTANCE = 0x3000, PCB_EGKW_SECT_TEXT = 0x3100, PCB_EGKW_SECT_ALT_TEXT = 0x3180, + PCB_EGKW_SECT_ALT_ALT_TEXT = 0x31a0, PCB_EGKW_SECT_NETBUSLABEL = 0x3300, PCB_EGKW_SECT_SMASHEDNAME = 0x3400, PCB_EGKW_SECT_ALT_SMASHEDNAME = 0x3480,