ipa: raspberrypi: Return an error code from Algorithm::read()
When encountering errors, the Algorithm::read() function either uses LOG(Fatal) or throws exceptions from the boost property_tree functions. To prepare for replacing boost JSON parse with the YamlParser class, give the Algorithm::read() function the ability to return an error code, and propagate it all the way to the IPA module init() function. All algorithm classes return a hardcoded 0 value for now, subsequent commits will change that. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Tested-by: Naushir Patuck <naush@raspberrypi.com>
This commit is contained in:
@@ -19,20 +19,20 @@ namespace RPiController {
|
||||
/* Control algorithm to perform AWB calculations. */
|
||||
|
||||
struct AwbMode {
|
||||
void read(boost::property_tree::ptree const ¶ms);
|
||||
int read(boost::property_tree::ptree const ¶ms);
|
||||
double ctLo; /* low CT value for search */
|
||||
double ctHi; /* high CT value for search */
|
||||
};
|
||||
|
||||
struct AwbPrior {
|
||||
void read(boost::property_tree::ptree const ¶ms);
|
||||
int read(boost::property_tree::ptree const ¶ms);
|
||||
double lux; /* lux level */
|
||||
Pwl prior; /* maps CT to prior log likelihood for this lux level */
|
||||
};
|
||||
|
||||
struct AwbConfig {
|
||||
AwbConfig() : defaultMode(nullptr) {}
|
||||
void read(boost::property_tree::ptree const ¶ms);
|
||||
int read(boost::property_tree::ptree const ¶ms);
|
||||
/* Only repeat the AWB calculation every "this many" frames */
|
||||
uint16_t framePeriod;
|
||||
/* number of initial frames for which speed taken as 1.0 (maximum) */
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
~Awb();
|
||||
char const *name() const override;
|
||||
void initialise() override;
|
||||
void read(boost::property_tree::ptree const ¶ms) override;
|
||||
int read(boost::property_tree::ptree const ¶ms) override;
|
||||
/* AWB handles "pausing" for itself. */
|
||||
bool isPaused() const override;
|
||||
void pause() override;
|
||||
|
||||
Reference in New Issue
Block a user