WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
PowerLoad.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2026. 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/*
17Power Load model header file
18
19Author: Ryan Hughes
20*/
21/*
22Metadata for MS GUI:
23imdata = {"displayname" : "Power Load",
24 "exclude" : False,
25 "category" : "Power"
26}
27aliases = {"active_power_draw_W" : "Active Power Draw",
28 "idle_power_draw_W" : "Idle Power Draw",
29 "off_power_draw_W" : "Off Power Draw",
30 "mode" : "Current Power Mode",
31 "power_draw_W" : "Current Power Draw",
32}
33*/
34
35#ifndef MODELS_POWER_POWERLOAD_H
36#define MODELS_POWER_POWERLOAD_H
37
38#include "simulation/Model.h"
39
40namespace warptwin {
41
43 OFF = 0,
44 IDLE = 1,
46 };
47
55 MODEL(PowerLoad)
56 public:
57 // Model params
58 // NAME TYPE DEFAULT VALUE
61 SIGNAL(active_power_draw_W, double, 0.0)
63 SIGNAL(idle_power_draw_W, double, 0.0)
65 SIGNAL(off_power_draw_W, double, 0.0)
67
68 // Model inputs
69 // NAME TYPE DEFAULT VALUE
72 SIGNAL(mode, int, 0)
74
75 // Model outputs
76 // NAME TYPE DEFAULT VALUE
79 SIGNAL(power_draw_W, double, 0.0)
81
82 int16 activate() override;
83 int16 deactivate() override;
84
85 protected:
86 int16 start() override;
87 int16 execute() override;
88 };
89}
90
91#endif
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition appmacros.h:27
#define START_PARAMS
Definition appmacros.h:42
#define END_OUTPUTS
Definition appmacros.h:33
#define END_PARAMS
Definition appmacros.h:47
#define START_OUTPUTS
Definition appmacros.h:28
#define END_INPUTS
Definition appmacros.h:40
#define START_INPUTS
Definition appmacros.h:35
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
int16 start() override
Class to execute logging.
int16 activate() override
MODEL(Servo) public int16 deactivate() override
Model to simulate a servo's motion.
@ MODEL
Simplified dynamics model representing motion in the circular restricted 3 body problem.
Definition ImNode.h:31
int16 execute() override
Function to check monitor input conditions and set trigger flag accordingly. Should be implemented in...
power_load_mode_e
Definition PowerLoad.h:42
@ IDLE
Definition PowerLoad.h:44
@ ACTIVE
Definition PowerLoad.h:45
@ OFF
Definition SimpleThrusterModel.h:56