2021-12-07 16:30:17 +01:00
|
|
|
#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 <string>
|
|
|
|
|
|
|
|
#include "ArcsecJsonParamBase.h"
|
2022-01-17 15:58:27 +01:00
|
|
|
#include "fsfw/serviceinterface/ServiceInterface.h"
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2021-12-07 16:30:17 +01:00
|
|
|
/**
|
|
|
|
* @brief Generates command to set the limit parameters
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Limits : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Limits();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 43;
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
virtual ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-07 16:30:17 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates the command to configure the tracking algorithm.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Tracking : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Tracking();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 15;
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-07 16:30:17 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates the command to set the mounting quaternion
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Mounting : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Mounting();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 18;
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-07 16:30:17 +01:00
|
|
|
};
|
|
|
|
|
2022-01-29 12:27:26 +01:00
|
|
|
/**
|
|
|
|
* @brief Generates the command to configure the image processor
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class ImageProcessor : public ArcsecJsonParamBase {
|
|
|
|
public:
|
|
|
|
ImageProcessor();
|
|
|
|
|
|
|
|
size_t getSize();
|
|
|
|
|
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 9;
|
|
|
|
|
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
|
|
|
};
|
|
|
|
|
2021-12-07 16:30:17 +01:00
|
|
|
/**
|
|
|
|
* @brief Generates the command to set the mounting quaternion
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Camera : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Camera();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
2022-01-28 12:43:26 +01:00
|
|
|
static const size_t COMMAND_SIZE = 39;
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-07 16:30:17 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates the command to configure the centroiding algorithm
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Centroiding : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Centroiding();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
2022-01-28 12:43:26 +01:00
|
|
|
static const size_t COMMAND_SIZE = 51;
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-08 12:50:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates the command to configure the LISA (lost in space algorithm)
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Lisa : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Lisa();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
2022-01-28 12:43:26 +01:00
|
|
|
static const size_t COMMAND_SIZE = 52;
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-08 12:50:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates the command to configure the matching algorithm
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Matching : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Matching();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 10;
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-08 12:50:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates the command to configure the validation parameters
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Validation : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Validation();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 12;
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-08 12:50:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Generates command to configure the mechanism of automatically switching between the
|
|
|
|
* LISA and other algorithms.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
class Algo : public ArcsecJsonParamBase {
|
2022-01-17 15:58:27 +01:00
|
|
|
public:
|
|
|
|
Algo();
|
2021-12-08 12:50:55 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
size_t getSize();
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
private:
|
|
|
|
static const size_t COMMAND_SIZE = 13;
|
2021-12-07 16:30:17 +01:00
|
|
|
|
2022-01-17 15:58:27 +01:00
|
|
|
ReturnValue_t createCommand(uint8_t* buffer) override;
|
2021-12-07 16:30:17 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* BSP_Q7S_DEVICES_DEVICEDEFINITIONS_STARTRACKERJSONCOMMANDS_H_ */
|