Merge pull request 'FollowUp request' (#375) from KSat/fsfw:mueller/followup-pullrequest into development
Reviewed-on: fsfw/fsfw#375
This commit is contained in:
commit
e64de87af7
@ -13,60 +13,62 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Header consists of sender ID and command ID.
|
* Header consists of sender ID and command ID.
|
||||||
*/
|
*/
|
||||||
static constexpr size_t HEADER_SIZE = MessageQueueMessageIF::HEADER_SIZE +
|
static constexpr size_t HEADER_SIZE = MessageQueueMessageIF::HEADER_SIZE + sizeof(Command_t);
|
||||||
sizeof(Command_t);
|
/**
|
||||||
/**
|
* This minimum size is derived from the interface requirement to be able
|
||||||
* This minimum size is derived from the interface requirement to be able
|
|
||||||
* to set a rejected reply, which contains a returnvalue and the initial
|
* to set a rejected reply, which contains a returnvalue and the initial
|
||||||
* command.
|
* command.
|
||||||
*/
|
*/
|
||||||
static constexpr size_t MINIMUM_COMMAND_MESSAGE_SIZE =
|
static constexpr size_t MINIMUM_COMMAND_MESSAGE_SIZE = CommandMessageIF::HEADER_SIZE +
|
||||||
CommandMessageIF::HEADER_SIZE + sizeof(ReturnValue_t) +
|
sizeof(ReturnValue_t) + sizeof(Command_t);
|
||||||
sizeof(Command_t);
|
|
||||||
|
|
||||||
static const uint8_t INTERFACE_ID = CLASS_ID::COMMAND_MESSAGE;
|
static constexpr Command_t makeCommandId(uint8_t messageId, uint8_t uniqueId) {
|
||||||
static const ReturnValue_t UNKNOWN_COMMAND = MAKE_RETURN_CODE(0x01);
|
return ((messageId << 8) | uniqueId);
|
||||||
|
}
|
||||||
|
|
||||||
static const uint8_t MESSAGE_ID = messagetypes::COMMAND;
|
static const uint8_t INTERFACE_ID = CLASS_ID::COMMAND_MESSAGE;
|
||||||
//! Used internally, shall be ignored
|
static const ReturnValue_t UNKNOWN_COMMAND = MAKE_RETURN_CODE(1);
|
||||||
static const Command_t CMD_NONE = MAKE_COMMAND_ID( 0 );
|
|
||||||
static const Command_t REPLY_COMMAND_OK = MAKE_COMMAND_ID( 1 );
|
|
||||||
//! Reply indicating that the current command was rejected,
|
|
||||||
//! par1 should contain the error code
|
|
||||||
static const Command_t REPLY_REJECTED = MAKE_COMMAND_ID( 2 );
|
|
||||||
|
|
||||||
virtual ~CommandMessageIF() {};
|
static const uint8_t MESSAGE_ID = messagetypes::COMMAND;
|
||||||
|
//! Used internally, shall be ignored
|
||||||
|
static const Command_t CMD_NONE = MAKE_COMMAND_ID( 0 );
|
||||||
|
static const Command_t REPLY_COMMAND_OK = MAKE_COMMAND_ID( 1 );
|
||||||
|
//! Reply indicating that the current command was rejected,
|
||||||
|
//! par1 should contain the error code
|
||||||
|
static const Command_t REPLY_REJECTED = MAKE_COMMAND_ID( 2 );
|
||||||
|
|
||||||
/**
|
virtual ~CommandMessageIF() {};
|
||||||
* A command message shall have a uint16_t command ID field.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
virtual Command_t getCommand() const = 0;
|
|
||||||
/**
|
|
||||||
* A command message shall have a uint8_t message type ID field.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
virtual uint8_t getMessageType() const = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A command message can be rejected and needs to offer a function
|
* A command message shall have a uint16_t command ID field.
|
||||||
* to set a rejected reply
|
* @return
|
||||||
* @param reason
|
*/
|
||||||
* @param initialCommand
|
virtual Command_t getCommand() const = 0;
|
||||||
*/
|
/**
|
||||||
virtual void setReplyRejected(ReturnValue_t reason,
|
* A command message shall have a uint8_t message type ID field.
|
||||||
Command_t initialCommand) = 0;
|
* @return
|
||||||
/**
|
*/
|
||||||
* Corrensonding getter function.
|
virtual uint8_t getMessageType() const = 0;
|
||||||
* @param initialCommand
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
virtual ReturnValue_t getReplyRejectedReason(
|
|
||||||
Command_t* initialCommand = nullptr) const = 0;
|
|
||||||
|
|
||||||
virtual void setToUnknownCommand() = 0;
|
/**
|
||||||
|
* A command message can be rejected and needs to offer a function
|
||||||
|
* to set a rejected reply
|
||||||
|
* @param reason
|
||||||
|
* @param initialCommand
|
||||||
|
*/
|
||||||
|
virtual void setReplyRejected(ReturnValue_t reason,
|
||||||
|
Command_t initialCommand) = 0;
|
||||||
|
/**
|
||||||
|
* Corrensonding getter function.
|
||||||
|
* @param initialCommand
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
virtual ReturnValue_t getReplyRejectedReason(
|
||||||
|
Command_t* initialCommand = nullptr) const = 0;
|
||||||
|
|
||||||
virtual void clear() = 0;
|
virtual void setToUnknownCommand() = 0;
|
||||||
|
|
||||||
|
virtual void clear() = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -16,17 +16,27 @@ class HasFileSystemIF {
|
|||||||
public:
|
public:
|
||||||
static constexpr uint8_t INTERFACE_ID = CLASS_ID::FILE_SYSTEM;
|
static constexpr uint8_t INTERFACE_ID = CLASS_ID::FILE_SYSTEM;
|
||||||
|
|
||||||
static constexpr ReturnValue_t FILE_DOES_NOT_EXIST = MAKE_RETURN_CODE(0x00);
|
//! [EXPORT] : P1: Can be file system specific error code
|
||||||
static constexpr ReturnValue_t FILE_ALREADY_EXISTS = MAKE_RETURN_CODE(0x01);
|
static constexpr ReturnValue_t GENERIC_FILE_ERROR = MAKE_RETURN_CODE(0);
|
||||||
static constexpr ReturnValue_t FILE_LOCKED = MAKE_RETURN_CODE(0x02);
|
//! [EXPORT] : File system is currently busy
|
||||||
|
static constexpr ReturnValue_t IS_BUSY = MAKE_RETURN_CODE(1);
|
||||||
|
//! [EXPORT] : Invalid parameters like file name or repository path
|
||||||
|
static constexpr ReturnValue_t INVALID_PARAMETERS = MAKE_RETURN_CODE(2);
|
||||||
|
|
||||||
static constexpr ReturnValue_t DIRECTORY_DOES_NOT_EXIST = MAKE_RETURN_CODE(0x03);
|
static constexpr ReturnValue_t FILE_DOES_NOT_EXIST = MAKE_RETURN_CODE(5);
|
||||||
static constexpr ReturnValue_t DIRECTORY_ALREADY_EXISTS = MAKE_RETURN_CODE(0x04);
|
static constexpr ReturnValue_t FILE_ALREADY_EXISTS = MAKE_RETURN_CODE(6);
|
||||||
static constexpr ReturnValue_t DIRECTORY_NOT_EMPTY = MAKE_RETURN_CODE(0x05);
|
static constexpr ReturnValue_t FILE_LOCKED = MAKE_RETURN_CODE(7);
|
||||||
|
|
||||||
|
static constexpr ReturnValue_t DIRECTORY_DOES_NOT_EXIST = MAKE_RETURN_CODE(10);
|
||||||
|
static constexpr ReturnValue_t DIRECTORY_ALREADY_EXISTS = MAKE_RETURN_CODE(11);
|
||||||
|
static constexpr ReturnValue_t DIRECTORY_NOT_EMPTY = MAKE_RETURN_CODE(12);
|
||||||
|
|
||||||
|
//! [EXPORT] : P1: Sequence number missing
|
||||||
|
static constexpr ReturnValue_t SEQUENCE_PACKET_MISSING_WRITE = MAKE_RETURN_CODE(15);
|
||||||
|
//! [EXPORT] : P1: Sequence number missing
|
||||||
|
static constexpr ReturnValue_t SEQUENCE_PACKET_MISSING_READ = MAKE_RETURN_CODE(16);
|
||||||
|
|
||||||
|
|
||||||
static constexpr ReturnValue_t SEQUENCE_PACKET_MISSING_WRITE = MAKE_RETURN_CODE(0x06); //! P1: Sequence number missing
|
|
||||||
static constexpr ReturnValue_t SEQUENCE_PACKET_MISSING_READ = MAKE_RETURN_CODE(0x07); //! P1: Sequence number missing
|
|
||||||
|
|
||||||
virtual ~HasFileSystemIF() {}
|
virtual ~HasFileSystemIF() {}
|
||||||
/**
|
/**
|
||||||
|
@ -65,6 +65,7 @@ enum {
|
|||||||
HOUSEKEEPING_MANAGER, //HKM 60
|
HOUSEKEEPING_MANAGER, //HKM 60
|
||||||
DLE_ENCODER, //DLEE 61
|
DLE_ENCODER, //DLEE 61
|
||||||
PUS_SERVICE_9, //PUS9 62
|
PUS_SERVICE_9, //PUS9 62
|
||||||
|
FILE_SYSTEM, //FILS 63
|
||||||
FW_CLASS_ID_COUNT //is actually count + 1 !
|
FW_CLASS_ID_COUNT //is actually count + 1 !
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user