#ifndef BSP_Q7S_DEVICES_DEVICEDEFINITIONS_STARTRACKERJSONCOMMANDS_H_ #define BSP_Q7S_DEVICES_DEVICEDEFINITIONS_STARTRACKERJSONCOMMANDS_H_ /** * @brief This file defines a few helper classes to generate commands by means of the parameters * defined in the arcsec json files. * @author J. Meier */ #include #include "fsfw/serviceinterface/ServiceInterface.h" #include "ArcsecJsonParamBase.h" /** * @brief Generates command to set the limit parameters * */ class Limits : public ArcsecJsonParamBase { public: Limits(); size_t getSize(); private: static const size_t COMMAND_SIZE = 43; virtual ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to configure the tracking algorithm. * */ class Tracking : public ArcsecJsonParamBase { public: Tracking(); size_t getSize(); private: static const size_t COMMAND_SIZE = 15; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to set the mounting quaternion * */ class Mounting : public ArcsecJsonParamBase { public: Mounting(); size_t getSize(); private: static const size_t COMMAND_SIZE = 18; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to set the mounting quaternion * */ class Camera : public ArcsecJsonParamBase { public: Camera(); size_t getSize(); private: static const size_t COMMAND_SIZE = 43; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to configure the blob algorithm * */ class Blob : public ArcsecJsonParamBase { public: Blob(); size_t getSize(); private: static const size_t COMMAND_SIZE = 24; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to configure the centroiding algorithm * */ class Centroiding : public ArcsecJsonParamBase { public: Centroiding(); size_t getSize(); private: static const size_t COMMAND_SIZE = 47; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to configure the LISA (lost in space algorithm) * */ class Lisa : public ArcsecJsonParamBase { public: Lisa(); size_t getSize(); private: static const size_t COMMAND_SIZE = 48; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to configure the matching algorithm * */ class Matching : public ArcsecJsonParamBase { public: Matching(); size_t getSize(); private: static const size_t COMMAND_SIZE = 10; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates the command to configure the validation parameters * */ class Validation : public ArcsecJsonParamBase { public: Validation(); size_t getSize(); private: static const size_t COMMAND_SIZE = 12; ReturnValue_t createCommand(uint8_t* buffer) override; }; /** * @brief Generates command to configure the mechanism of automatically switching between the * LISA and other algorithms. * */ class Algo : public ArcsecJsonParamBase { public: Algo(); size_t getSize(); private: static const size_t COMMAND_SIZE = 13; ReturnValue_t createCommand(uint8_t* buffer) override; }; #endif /* BSP_Q7S_DEVICES_DEVICEDEFINITIONS_STARTRACKERJSONCOMMANDS_H_ */