Skip to content

Commit f7ec07e

Browse files
committed
ADDS comms data types
1 parent 1f1a773 commit f7ec07e

File tree

6 files changed

+144
-9
lines changed

6 files changed

+144
-9
lines changed

firmware/EPS/shadow-flight-eps/.settings/language.settings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
8-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1588246350186896846" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1112990119842736297" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
99
<language-scope id="org.eclipse.cdt.core.gcc"/>
1010
<language-scope id="org.eclipse.cdt.core.g++"/>
1111
</provider>
@@ -16,7 +16,7 @@
1616
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
1717
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
1818
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
19-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1588246350186896846" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
19+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1112990119842736297" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
2020
<language-scope id="org.eclipse.cdt.core.gcc"/>
2121
<language-scope id="org.eclipse.cdt.core.g++"/>
2222
</provider>

firmware/onboard-computer/.settings/language.settings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
8-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1595053308895356008" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1106183161134277135" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
99
<language-scope id="org.eclipse.cdt.core.gcc"/>
1010
<language-scope id="org.eclipse.cdt.core.g++"/>
1111
</provider>
@@ -16,7 +16,7 @@
1616
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
1717
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
1818
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
19-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1595053308895356008" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
19+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1106183161134277135" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
2020
<language-scope id="org.eclipse.cdt.core.gcc"/>
2121
<language-scope id="org.eclipse.cdt.core.g++"/>
2222
</provider>

payload/firmware/shadow-flight-payload/.settings/language.settings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
8-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1272811492060325835" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1106183161134277135" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
99
<language-scope id="org.eclipse.cdt.core.gcc"/>
1010
<language-scope id="org.eclipse.cdt.core.g++"/>
1111
</provider>
@@ -16,7 +16,7 @@
1616
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
1717
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
1818
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
19-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1272811492060325835" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
19+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="1106183161134277135" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
2020
<language-scope id="org.eclipse.cdt.core.gcc"/>
2121
<language-scope id="org.eclipse.cdt.core.g++"/>
2222
</provider>

playground/ccsds-c-implementation/ccsds_tm.c

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,23 @@ void CCSDS_packet_create_transfer_frame_secondary_header(CCSDS_packet* p) {
158158

159159
}
160160

161+
void CCSDS_packet_create_data_field(CCSDS_packet* p) {
162+
163+
}
164+
165+
/*============ generate dummy data ================== */
166+
// generate EPS data
167+
// this will come from the EPS board as a struct from an RTOS task
168+
eps_data_t* generate_eps_fake(void) {
169+
eps_data_t* data = (eps_data_t*) malloc(sizeof(eps_data_t));
170+
}
171+
172+
173+
174+
// generate ADCS data
175+
// generate EPS data
176+
// generate PAYLOAD data
177+
161178
/**
162179
* @brief extract primary header fields
163180
*/
@@ -182,8 +199,6 @@ void CCSDS_packet_dump_metadata(CCSDS_packet* p) {
182199

183200
puts(metadata);
184201

185-
uint64_t a = 45500;
186-
//p->_CCSDS_packet_print_bin(a);
187202
}
188203

189204
/**

playground/ccsds-c-implementation/ccsds_tm.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88

99
#include <stdint.h>
1010
#include <stdlib.h>
11+
#include "data_types.h"
1112

1213
/**
1314
* byte sizes
1415
*/
15-
#define CCSDS_MAX_packet_SIZE (2000)
16+
#define CCSDS_MAX_PACKET_SIZE (2000)
1617
#define TRANSFER_FRAME_PRIMARY_HEADER_MAX_LENGTH (6)
1718
#define TRANSFER_FRAME_SECONDARY_HEADER_MAX_LENGTH (6)
1819
#define TRANSFER_FRAME_DATA_FIELD_MAX_LENGTH (1024)
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/**
2+
* @author Edwin Mwiti
3+
* @brief Creates structs to hold data types from cubesat boards
4+
* @date 28/12/25
5+
*/
6+
7+
#ifndef DATA_TYPES_H
8+
#define DATA_TYPES_H
9+
10+
#include <stdint.h>
11+
12+
/*===================================================== ADCS data */
13+
typedef struct _adxl345_data {
14+
float x_acc;
15+
float y_acc;
16+
float z_acc;
17+
} adxl345_data_t; // todo: this comes formatted from ADXL345 hardware driver
18+
19+
typedef struct _mpu6050_data {
20+
float x_acc;
21+
float y_acc;
22+
float z_acc;
23+
float x_ang;
24+
float y_ang;
25+
float z_ang;
26+
} mpu6050_data_t; // todo: this comes foarmatted from MPU6050 hardware driver
27+
28+
typedef struct _magnetometer_data {
29+
float x_flux;
30+
float y_flux;
31+
float z_flux;
32+
} magnetometer_data_t; // todo: comes from Magnetometer hardware driver
33+
34+
typedef struct _gps_data {
35+
float lon;
36+
float lat;
37+
float speed;
38+
float satellites;
39+
float course;
40+
} gps_data_t; // todo: these are formatted from GPS hardware driver.
41+
42+
// has sun 1, sun 2, sun 3, sun 4 sensors
43+
typedef struct _ads1015_1_data {
44+
uint16_t sun1;
45+
uint16_t sun2;
46+
uint16_t sun3;
47+
uint16_t sun4;
48+
} ads1015_1_data_t;
49+
50+
// has sun 5, sun 6
51+
typedef struct _ads1015_2_data {
52+
uint16_t sun5;
53+
uint16_t sun6;
54+
} ads1015_2_data_t;
55+
56+
typedef struct _adcs_data{
57+
adxl345_data_t adxl345_d;
58+
mpu6050_data_t mpu6050_d;
59+
magnetometer_data_t magnetometer_d;
60+
gps_data_t gps_d;
61+
ads1015_1_data_t sun_d1;
62+
ads1015_1_data_t sun_d2;
63+
64+
float onboard_temperature; // operational data
65+
66+
} adcs_data_t;
67+
68+
/*================================================== COMMS board data */
69+
typedef struct _comms_data{
70+
float t;
71+
} comms_data_t;
72+
73+
/* EPS_DATA */
74+
75+
typedef struct _bq25703_data { // todo: comes from BQ25703 driver
76+
float adc_vsys;
77+
float adc_vbat;
78+
} bq25703_data_t;
79+
80+
typedef struct _eps_data{
81+
float solar_voltage; // solar power
82+
float solar_current;
83+
float solar_power;
84+
85+
bq25703_data_t bq25703_d; // BQ25703 data
86+
87+
float reg_3v3_voltage; // voltage regulators data
88+
float reg_3v3_current;
89+
float reg_5v_voltage;
90+
float reg_5v_current;
91+
float reg_vsys_voltage;
92+
float reg_vsys_current;
93+
94+
float onboard_temperature_ds; // operational data
95+
float onboard_temperature_ntc;
96+
uint8_t eps_board_detect;
97+
98+
uint8_t deploy_1; // deployment states
99+
uint8_t deploy_2;
100+
uint8_t rbf;
101+
} eps_data_t;
102+
103+
/*======================================================== PAYLOAD data */
104+
typedef struct _payload_data{
105+
106+
} payload_data_t;
107+
108+
/*========================================================= OBC data. nest all other data types */
109+
typedef struct _obc_data{
110+
comms_data_t comms_d;
111+
eps_data_t eps_d;
112+
payload_data_t payload_d;
113+
114+
float onboard_temperature; // operational data
115+
} obc_data_t;
116+
117+
118+
119+
#endif

0 commit comments

Comments
 (0)