WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
Command.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX, INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX, INC.
15******************************************************************************/
16/*
17Command Macro header file
18
19Author: Alex Reynolds
20Secondary Contributor: James Tabony
21*/
22
23#ifndef FLIGHT_COMMAND_H
24#define FLIGHT_COMMAND_H
25
26#include "Telemetry.h"
27
33#define COMMAND(NAME, APID, SIZE, ...) \
34 static_assert(((APID) & 0x00F) >= CMD_APID_MIN_ALLOWABLE && ((APID) & 0x00F) <= CMD_APID_MAX_ALLOWABLE, \
35 "Creating CMD NAME failed. APID must be between TLM_APID_MIN_ALLOWABLE and TLM_APID_MAX_ALLOWABLE"); \
36 static_assert(SIZE <= CMD_TLM_PKT_MAX_SIZE_BYTES, "Creating CMD NAME failed. SIZE must be <=> configuration/CMD_TLM_PKT_MAX_SIZE_BYTES");\
37 CMD_TLM_COMMON(NAME, APID, SIZE, __VA_ARGS__)
38
39#endif
Header for generic telemetry packet struct generation and serialization.