More precise design for plugins.... to be continued...
BlockTypesFactory(beremiz_inst)
return list similar to plcopeneditor/plcopen/structure.py BlockTypes
[ST_LibraryFactory(beremiz_inst)]
[C_Library -- "C Code"]
Build -- {"CC":"gcc" , "C_FLAGS" : "..." , "LD_FLAGS" : "..." , ... ,}
Plugin_Params_XSD -- Defini les paramertres optionels du plugin
Plugin_Controller_Factory -- Sert a instancier chaque controler de bus
+ GenerateC(bus_controler_list) -> C_file
[canfestival : InitNodes(){0_post_init(); 1_post_init();}]
plugname_pre_init(){...}
plugname_post_init(){[canfestival : StarTimerLoop(&InitNodes)]}
+ Save/Load XML
Bus_Params_XSD -- Defini les paramertres optionels du bus
Bus_Controller_Factory -- Sert a instancier chaque controler de bus
() -> controller
+ GenerateC -> C_file
/*declarations*/
...
busnb_pre_init(){...}
busnb_init(){...}
busnb_post_init(){...}
busnb_IN(){...}
busnb_OUT(){...}
+ Save/Load XML
+ Save/Load model
[Bus_View_Factory -- ]
MasterCapable -- Bool, true si peut etre le maitre de synchro