there can be only one 'simple' module loaded using 'gui_menu_run_fltmodule' (via module_run in module_load.c).
You probably won't like this, but I'm missing this functionality. I also noticed that it's no longer possible to launch such simple modules from the file browser.
I've been trying to work around this limitation, but so far without luck.
The main problem seems to be that all simple modules share a single module_handler_t structure (h_run). If a simple module remains loaded, module_run() will start it regardless of the requested module name. Unfortunately I'm kind of lost between all these structures and pointers.
My goal would be to enable such modules to remain in the background, and getting re-activated on request. In some of my trials I managed to leave my module loaded and use other modules, but could not re-gain access to that loaded module due to the missing module_handler_t values.
Can you give some advice about possible ways of implementing the above?
You could add the state information to the 'conf' structure.
That wouldn't be smart for an unofficial module.
I also can't use my own (module specific) config file, because that could hang the camera during movie recording. I've been thinking about adding a special (persistent) module which could store arbitrary data, but that still wouldn't solve the problem that on certain cameras file operations (e.g. trying to load a module) cause hang when movie record is in progress.
This (possible hang) is a real issue btw. (and is of course independent of the above), and IMHO it should be dealt with somehow. It probably affects
all some older VxWorks models.
update: looks like this affects the a410 but not the a430, so a (port-)local fix could be enough.