Index: Plug.tmpasm =================================================================== --- Plug.tmpasm (revision 20057) +++ Plug.tmpasm (revision 20058) @@ -2,7 +2,9 @@ put /local/pcb/mod/OBJS [@ $(PLUGDIR)/asm/asm.o @] +put /local/pcb/mod/CONF {$(PLUGDIR)/asm/asm_conf.h} + switch /local/pcb/asm/controls case {buildin} include /local/pcb/tmpasm/buildin; end; case {plugin} include /local/pcb/tmpasm/plugin; end; Index: asm.c =================================================================== --- asm.c (revision 20057) +++ asm.c (revision 20058) @@ -44,7 +44,11 @@ #include "search.h" #include "draw.h" #include "select.h" +#include "asm_conf.h" +conf_asm_t conf_asm; + + static const char *asm_cookie = "asm plugin"; static char *sort_template = "a.footprint, a.value, a.asm::group, side, x, y"; static char *group_template = "a.footprint, a.value, a.asm::group"; @@ -590,6 +594,7 @@ void pplg_uninit_asm(void) { pcb_remove_actions_by_cookie(asm_cookie); + conf_unreg_fields("plugins/asm/"); } @@ -597,6 +602,9 @@ int pplg_init_asm(void) { PCB_API_CHK_VER; +#define conf_reg(field,isarray,type_name,cpath,cname,desc,flags) \ + conf_reg_field(conf_vendor, field,isarray,type_name,cpath,cname,desc,flags); +#include "asm_conf_fields.h" PCB_REGISTER_ACTIONS(asm_action_list, asm_cookie) Index: asm_conf.h =================================================================== --- asm_conf.h (nonexistent) +++ asm_conf.h (revision 20058) @@ -0,0 +1,15 @@ +#ifndef PCB_ASM_CONF_H +#define PCB_ASM_CONF_H + +#include "conf.h" + +typedef struct { + const struct plugins { + const struct assm { + CFT_STRING group_template; /* asm template that determines grouping (parts resulting in the same string will be puit in the same group) */ + CFT_STRING sort_template; /* asm template that determines order of groups and parts within groups */ + } assm; + } plugins; +} conf_asm_t; + +#endif