ccNOos  v0.0.0
Build Portable Microcontroller Applications!
satComControl.h
Go to the documentation of this file.
1 /** \file satComControl.h
2 * \brief <a href="https://www.inmechasol.org/" target="_blank">IMS</a>:
3  <a href="https://github.com/InMechaSol/ccNOos" target="_blank">ccNOos</a>,
4  Declarations for straight C and C++
5 
6  Copyright 2021 <a href="https://www.inmechasol.org/" target="_blank">InMechaSol, Inc</a>
7 
8  Licensed under the Apache License, Version 2.0(the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  http://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 Notes:
21  (.c includes .h) - for straight C or
22  (.cpp includes .c which includes .h) - for C++ wrapped straight C
23  *Always compiled to a single compilation unit, either C or CPP, not both
24 
25 */
26 
27 #ifndef __SATCOMCONTROL
28 #define __SATCOMCONTROL
29 
30 
31 #include "motionControl.h"
32 
33 
34 /////////////////////////////////////////////////////////////////////////////////////
35 // Data Structures
37 {
42  float SSP_Altitude;
43 };
45 
46 
48 {
49  float Rx_LO_MHz;
50  float Tx_LO_MHz;
52 };
54 
55 
57 {
58  float latitude;
59  float longitude;
60  float altitude;
61 };
63 
64 
66 {
67  float roll;
68  float pitch;
69  float yaw;
70 };
72 
73 
75 {
76  struct axisStruct World;
77  struct axisStruct Pedestal;
78 };
80 
81 
82 
84 {
90 };
91 
92 
94 {
95  enum antennaState State;
97  struct antennaAxis AzimuthAxis;
103 };
105 #ifdef __USINGCONSOLEMENU
106 struct uiStruct; // forward declaration
107 struct logStruct; // forward declaration
108 struct configStruct; // forward declaration
109 void parseTerminalMenuAPI(struct antennaStruct* terminalStructPtrIn, struct uiStruct* uiStructPtrIn);
110 void writeTerminalMenuScreen(struct antennaStruct* terminalStructPtrIn, struct uiStruct* uiStructPtrIn);
111 void writeTerminalLogLine(struct antennaStruct* terminalStructPtrIn, struct logStruct* logStructPtrIn);
112 void parseTerminalConfigLine(struct antennaStruct* terminalStructPtrIn, struct configStruct* configStructPtrIn);
113 
114 #endif
115 
116 /////////////////////////////////////////////////////////////////////////////////////
117 // Functions
118 UI_8 CalculateLookAngle(struct antennaStruct* antStructInPtr);
119 UI_8 CalculatePedestalCoords(struct antennaStruct* antStructInPtr);
120 UI_8 CalculateWorldCoords(struct antennaStruct* antStructInPtr);
121 
122 #endif // !__SATCOMCONTROL
antennaStruct::GeoLocation
struct geoLocationStruct GeoLocation
Definition: satComControl.h:96
satelliteStruct::UpLinkFreq_kHz
float UpLinkFreq_kHz
Definition: satComControl.h:38
satelliteStruct::SSP_Altitude
float SSP_Altitude
Definition: satComControl.h:42
motionControl.h
IMS: ccNOos, Declarations for straight C and C++
satelliteStruct::SSP_Longitude
float SSP_Longitude
Definition: satComControl.h:41
CalculateWorldCoords
UI_8 CalculateWorldCoords(struct antennaStruct *antStructInPtr)
commsParameters::RxSignalStrengthMetric
float RxSignalStrengthMetric
Definition: satComControl.h:51
parseTerminalMenuAPI
void parseTerminalMenuAPI(struct antennaStruct *terminalStructPtrIn, struct uiStruct *uiStructPtrIn)
Definition: MenuAPI.c:269
antennaAttitudeStruct::pitch
float pitch
Definition: satComControl.h:68
antennaAxis
Definition: satComControl.h:75
axisStruct
Definition: motionControl.h:33
commsParameters
Definition: satComControl.h:48
createcommsParameters
struct commsParameters createcommsParameters()
Definition: satComControl.c:39
CalculatePedestalCoords
UI_8 CalculatePedestalCoords(struct antennaStruct *antStructInPtr)
CalculateLookAngle
UI_8 CalculateLookAngle(struct antennaStruct *antStructInPtr)
Definition: satComControl.c:83
antState_Acquiring
@ antState_Acquiring
Definition: satComControl.h:87
writeTerminalMenuScreen
void writeTerminalMenuScreen(struct antennaStruct *terminalStructPtrIn, struct uiStruct *uiStructPtrIn)
Definition: MenuAPI.c:318
parseTerminalConfigLine
void parseTerminalConfigLine(struct antennaStruct *terminalStructPtrIn, struct configStruct *configStructPtrIn)
Definition: PlatformApp_Serialization.c:34
antennaStruct::BaseAttitude
struct antennaAttitudeStruct BaseAttitude
Definition: satComControl.h:100
satelliteStruct::SSP_Lattitude
float SSP_Lattitude
Definition: satComControl.h:40
createSatelliteStruct
struct satelliteStruct createSatelliteStruct()
Definition: satComControl.c:29
antState_NotAcquired
@ antState_NotAcquired
Definition: satComControl.h:86
commsParameters::Rx_LO_MHz
float Rx_LO_MHz
Definition: satComControl.h:49
antennaStruct::ElevationAxis
struct antennaAxis ElevationAxis
Definition: satComControl.h:98
antState_Error
@ antState_Error
Definition: satComControl.h:89
creategeoLocationStruct
struct geoLocationStruct creategeoLocationStruct()
Definition: satComControl.c:47
antennaAttitudeStruct::yaw
float yaw
Definition: satComControl.h:69
antennaStruct::TargetSatellite
struct satelliteStruct TargetSatellite
Definition: satComControl.h:101
antennaAttitudeStruct
Definition: satComControl.h:66
geoLocationStruct::latitude
float latitude
Definition: satComControl.h:58
antennaState
antennaState
Definition: satComControl.h:84
createantennaAxis
struct antennaAxis createantennaAxis()
Definition: satComControl.c:63
commsParameters::Tx_LO_MHz
float Tx_LO_MHz
Definition: satComControl.h:50
createantennaAttitudeStruct
struct antennaAttitudeStruct createantennaAttitudeStruct()
Definition: satComControl.c:55
antennaStruct
Definition: satComControl.h:94
antennaStruct::AzimuthAxis
struct antennaAxis AzimuthAxis
Definition: satComControl.h:97
geoLocationStruct
Definition: satComControl.h:57
writeTerminalLogLine
void writeTerminalLogLine(struct antennaStruct *terminalStructPtrIn, struct logStruct *logStructPtrIn)
Definition: PlatformApp_Serialization.c:33
geoLocationStruct::altitude
float altitude
Definition: satComControl.h:60
antennaStruct::ReflectorAttitude
struct antennaAttitudeStruct ReflectorAttitude
Definition: satComControl.h:99
antennaAxis::Pedestal
struct axisStruct Pedestal
Definition: satComControl.h:77
satelliteStruct
Definition: satComControl.h:37
geoLocationStruct::longitude
float longitude
Definition: satComControl.h:59
createantennaStruct
struct antennaStruct createantennaStruct()
Definition: satComControl.c:70
antennaAxis::World
struct axisStruct World
Definition: satComControl.h:76
antState_Acquired
@ antState_Acquired
Definition: satComControl.h:88
antState_init
@ antState_init
Definition: satComControl.h:85
antennaStruct::State
enum antennaState State
Definition: satComControl.h:95
satelliteStruct::DownLinkFreq_kHz
float DownLinkFreq_kHz
Definition: satComControl.h:39
antennaAttitudeStruct::roll
float roll
Definition: satComControl.h:67
antennaStruct::CommSystem
struct commsParameters CommSystem
Definition: satComControl.h:102