> On Fri, Mar 19, 2010 at 12:46 PM, Blaise Gassend > wrote: >> Perhaps the right answer is for the CameraInfoManager class to be able >> to handle files, parameters and flash, using a url to determine which >> one it wants. In the case of flash, it does a callback to the driver, >> which takes whatever steps are needed to store to flash. >> >> file:///etc/ros/camera_info/left_forearm.yaml >> parameter:///~camera_info >> flash:///1 >> >> This way even for cameras that have flash, the user has the option of >> picking a different source. On Fri, Mar 19, 2010 at 7:49 PM, Jack O'Quin wrote: > Since camera1394 is already experimental, I propose to create a > CamerInfoManager{cpp,h} inside it, done so it can easily be moved to a > separate package if it proves generally useful. That way I can play > around with it internally at first and need not introduce an > additional package dependency until it is ready. OK, those files committed to camera_drivers_experimental/camera1394/src. I had to play around with it a bit to figure out what Blaise had in mind, but I think I've got the general idea. It seems like a reasonable interface. This version only supports reading and writing YAML (or INI) files for calibration data. Blaise's suggested "flash:///" syntax is recognized, but not implemented. I don't have any equipment to test that with, anyway. The "parameter:///" syntax is not recognized; if needed, we can implement it later. Partly tested, the current version has not received a complete unit test. There are no automated test cases. It uses camera_calibration_parsers for reading and writing YAML files. Some of those methods seem to behave strangely in cases where a file does not exist or is empty. I have not decided what to do about that, yet. I'll need to keep this initial implementation where it is for the present, because I want camera1394 to work with the boxturtle release to get more beta testing. If a future version moves to camera_calibration_parsers, I'll update camera1394 to use it in the next release. I'd like to make this generally useful. There are things I don't know about ROS coding standards and practices. Feedback and suggestions would be helpful. -- joq