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
parseTerminalConfigLine
void parseTerminalConfigLine(struct antennaStruct *terminalStructPtrIn, struct configStruct *configStructPtrIn)
Definition: PlatformApp_Serialization.c:34
antennaAxis
Definition: satComControl.h:75
antennaStruct::ElevationAxis
struct antennaAxis ElevationAxis
Definition: satComControl.h:98
antennaStruct::CommSystem
struct commsParameters CommSystem
Definition: satComControl.h:102
CalculateWorldCoords
UI_8 CalculateWorldCoords(struct antennaStruct *antStructInPtr)
commsParameters::Rx_LO_MHz
float Rx_LO_MHz
Definition: satComControl.h:49
commsParameters::Tx_LO_MHz
float Tx_LO_MHz
Definition: satComControl.h:50
createcommsParameters
struct commsParameters createcommsParameters()
Definition: satComControl.c:39
geoLocationStruct::altitude
float altitude
Definition: satComControl.h:60
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
createSatelliteStruct
struct satelliteStruct createSatelliteStruct()
Definition: satComControl.c:29
antState_NotAcquired
@ antState_NotAcquired
Definition: satComControl.h:86
antennaAxis::World
struct axisStruct World
Definition: satComControl.h:76
antState_Error
@ antState_Error
Definition: satComControl.h:89
axisStruct
Definition: motionControl.h:33
antennaAxis::Pedestal
struct axisStruct Pedestal
Definition: satComControl.h:77
creategeoLocationStruct
struct geoLocationStruct creategeoLocationStruct()
Definition: satComControl.c:47
writeTerminalMenuScreen
void writeTerminalMenuScreen(struct antennaStruct *terminalStructPtrIn, struct uiStruct *uiStructPtrIn)
Definition: MenuAPI.c:316
geoLocationStruct::longitude
float longitude
Definition: satComControl.h:59
antennaStruct
Definition: satComControl.h:94
commsParameters::RxSignalStrengthMetric
float RxSignalStrengthMetric
Definition: satComControl.h:51
antennaAttitudeStruct::pitch
float pitch
Definition: satComControl.h:68
antennaState
antennaState
Definition: satComControl.h:84
createantennaAxis
struct antennaAxis createantennaAxis()
Definition: satComControl.c:63
createantennaAttitudeStruct
struct antennaAttitudeStruct createantennaAttitudeStruct()
Definition: satComControl.c:55
writeTerminalLogLine
void writeTerminalLogLine(struct antennaStruct *terminalStructPtrIn, struct logStruct *logStructPtrIn)
Definition: PlatformApp_Serialization.c:33
motionControl.h
IMS: ccNOos, Declarations for straight C and C++
antennaAttitudeStruct
Definition: satComControl.h:66
satelliteStruct::SSP_Altitude
float SSP_Altitude
Definition: satComControl.h:42
parseTerminalMenuAPI
void parseTerminalMenuAPI(struct antennaStruct *terminalStructPtrIn, struct uiStruct *uiStructPtrIn)
Definition: MenuAPI.c:267
antennaStruct::GeoLocation
struct geoLocationStruct GeoLocation
Definition: satComControl.h:96
commsParameters
Definition: satComControl.h:48
satelliteStruct::DownLinkFreq_kHz
float DownLinkFreq_kHz
Definition: satComControl.h:39
satelliteStruct::UpLinkFreq_kHz
float UpLinkFreq_kHz
Definition: satComControl.h:38
geoLocationStruct::latitude
float latitude
Definition: satComControl.h:58
geoLocationStruct
Definition: satComControl.h:57
antennaStruct::BaseAttitude
struct antennaAttitudeStruct BaseAttitude
Definition: satComControl.h:100
createantennaStruct
struct antennaStruct createantennaStruct()
Definition: satComControl.c:70
antennaStruct::State
enum antennaState State
Definition: satComControl.h:95
antState_Acquired
@ antState_Acquired
Definition: satComControl.h:88
satelliteStruct
Definition: satComControl.h:37
antState_init
@ antState_init
Definition: satComControl.h:85
antennaStruct::AzimuthAxis
struct antennaAxis AzimuthAxis
Definition: satComControl.h:97
antennaStruct::ReflectorAttitude
struct antennaAttitudeStruct ReflectorAttitude
Definition: satComControl.h:99
satelliteStruct::SSP_Longitude
float SSP_Longitude
Definition: satComControl.h:41
antennaAttitudeStruct::yaw
float yaw
Definition: satComControl.h:69
antennaStruct::TargetSatellite
struct satelliteStruct TargetSatellite
Definition: satComControl.h:101
antennaAttitudeStruct::roll
float roll
Definition: satComControl.h:67
satelliteStruct::SSP_Lattitude
float SSP_Lattitude
Definition: satComControl.h:40