Skip to content

Commit 1799f4f

Browse files
committed
Completed the thermal manager taks, testing required
1 parent 14c0ae0 commit 1799f4f

File tree

10 files changed

+35
-27
lines changed

10 files changed

+35
-27
lines changed

obc/app/modules/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set(INCLUDES
1010
${CMAKE_CURRENT_SOURCE_DIR}/digital_watchdog_mgr
1111
${CMAKE_CURRENT_SOURCE_DIR}/eps_mgr
1212
${CMAKE_CURRENT_SOURCE_DIR}/gnc_mgr
13-
${CMAKE_CURRENT_SOURCE_DIR}/health_collector
13+
${CMAKE_CURRENT_SOURCE_DIR}/thermal_mgr
1414
${CMAKE_CURRENT_SOURCE_DIR}/state_mgr
1515
${CMAKE_CURRENT_SOURCE_DIR}/telemetry_mgr
1616
${CMAKE_CURRENT_SOURCE_DIR}/timekeeper
@@ -35,7 +35,7 @@ set(SOURCES
3535

3636
${CMAKE_CURRENT_SOURCE_DIR}/gnc_mgr/gnc_manager.c
3737

38-
${CMAKE_CURRENT_SOURCE_DIR}/health_collector/health_collector.c
38+
${CMAKE_CURRENT_SOURCE_DIR}/thermal_mgr/thermal_mgr.c
3939

4040
${CMAKE_CURRENT_SOURCE_DIR}/state_mgr/state_mgr.c
4141

obc/app/modules/comms_link_mgr/comms_manager.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ static const uint8_t TEMP_STATIC_KEY[AES_KEY_SIZE] = {0x00, 0x01, 0x02, 0x03, 0x
6666

6767
QueueHandle_t cc1120TempQueueHandle = NULL;
6868
static StaticQueue_t cc1120TempQueue;
69-
static uint32_t cc1120TempQueueStack[COMMS_MANAGER_QUEUE_LENGTH];
69+
static uint8_t cc1120TempQueueStack[COMMS_MANAGER_QUEUE_LENGTH * CC1120_TEMP_QUEUE_ITEM_SIZE];
7070

7171
/**
7272
* @brief determines what the next Comms Manager state should be and sets it to
@@ -312,7 +312,8 @@ obc_error_code_t sendToFrontCommsManagerQueue(comms_event_t *event) {
312312
return OBC_ERR_CODE_QUEUE_FULL;
313313
}
314314

315-
obc_error_code_t postCommsManagerTempQueue(uint32_t value) {
315+
obc_error_code_t postCommsManagerTempQueue() {
316+
float value = 0.0f; // dummy value, replace with actual temp reading function
316317
if (xQueueOverwrite(cc1120TempQueueHandle, &value) != pdPASS) {
317318
return OBC_ERR_CODE_UNKNOWN;
318319
}

obc/app/modules/digital_watchdog_mgr/digital_watchdog_mgr.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#define TASK_PAYLOAD_MGR_WATCHDOG_TIMEOUT portMAX_DELAY
2525
#define TASK_TIMEKEEPER_WATCHDOG_TIMEOUT portMAX_DELAY
2626
#define TASK_ALARM_MGR_WATCHDOG_TIMEOUT portMAX_DELAY
27-
#define TASK_HEALTH_COLLECTOR_WATCHDOG_TIMEOUT portMAX_DELAY
27+
#define TASK_THERMAL_MGR_WATCHDOG_TIMEOUT portMAX_DELAY
2828
#define TASK_STATS_COLLECTOR_WATCHDOG_TIMEOUT portMAX_DELAY
2929
#define TASK_LOGGER_WATCHDOG_TIMEOUT portMAX_DELAY
3030
#define TASK_DIGITAL_WATCHDOG_MGR_WATCHDOG_TIMEOUT portMAX_DELAY
@@ -76,9 +76,9 @@ static watchdog_task_info_t watchdogTaskArray[] = {
7676
{
7777
.taskTimeoutTicks = TASK_ALARM_MGR_WATCHDOG_TIMEOUT,
7878
},
79-
[OBC_SCHEDULER_CONFIG_ID_HEALTH_COLLECTOR] =
79+
[OBC_SCHEDULER_CONFIG_ID_THERMAL_MGR] =
8080
{
81-
.taskTimeoutTicks = TASK_HEALTH_COLLECTOR_WATCHDOG_TIMEOUT,
81+
.taskTimeoutTicks = TASK_THERMAL_MGR_WATCHDOG_TIMEOUT,
8282
},
8383
[OBC_SCHEDULER_CONFIG_ID_LOGGER] =
8484
{

obc/app/modules/state_mgr/state_mgr.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ void obcTaskFunctionStateMgr(void *pvParameters) {
132132
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_COMMS_DOWNLINK_ENCODER);
133133
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_EPS_MGR);
134134
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_PAYLOAD_MGR);
135-
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_HEALTH_COLLECTOR);
135+
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_THERMAL_MGR);
136136
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_GNC_MGR);
137137
#if ENABLE_TASK_STATS_COLLECTOR == 1
138138
obcSchedulerInitTask(OBC_SCHEDULER_CONFIG_ID_STATS_COLLECTOR);
@@ -149,7 +149,7 @@ void obcTaskFunctionStateMgr(void *pvParameters) {
149149
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_COMMS_DOWNLINK_ENCODER);
150150
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_EPS_MGR);
151151
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_PAYLOAD_MGR);
152-
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_HEALTH_COLLECTOR);
152+
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_THERMAL_MGR);
153153
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_GNC_MGR);
154154
#if ENABLE_TASK_STATS_COLLECTOR == 1
155155
obcSchedulerCreateTask(OBC_SCHEDULER_CONFIG_ID_STATS_COLLECTOR);

obc/app/modules/thermal_mgr/thermal_mgr.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
static obc_error_code_t collectThermalData(void);
1717
static obc_error_code_t readCC1120Temp(float* temp);
18+
static obc_error_code_t readRTCTemp(float* data);
1819

1920
void obcTaskInitThermalMgr(void) {}
2021

obc/app/modules/timekeeper/timekeeper.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#include <os_task.h>
1212
#include <os_timer.h>
1313
#include <sys_common.h>
14-
#include <os_queue.h>
14+
#include <stdint.h>
1515

1616
#define LOCAL_TIME_SYNC_PERIOD_S 60UL
1717

@@ -20,7 +20,7 @@
2020

2121
QueueHandle_t rtcTempQueueHandle = NULL;
2222
static StaticQueue_t rtcTempQueue;
23-
static uint32_t rtcTempQueueStack[RTC_TEMP_QUEUE_LENGTH];
23+
static uint8_t rtcTempQueueStack[RTC_TEMP_QUEUE_LENGTH * RTC_TEMP_QUEUE_ITEM_SIZE];
2424

2525
void obcTaskInitTimekeeper(void) {
2626
ASSERT((rtcTempQueueStack != NULL) && (&rtcTempQueue != NULL));
@@ -30,8 +30,11 @@ void obcTaskInitTimekeeper(void) {
3030
}
3131
}
3232

33-
obc_error_code_t postRtcTempQueue(uint32_t value) {
34-
if (xQueueOverwrite(rtcTempQueueHandle, &value) != pdPASS) {
33+
obc_error_code_t postRtcTempQueue() {
34+
obc_error_code_t errCode;
35+
float temp;
36+
RETURN_IF_ERROR_CODE(getTemperatureRTC(&temp));
37+
if (xQueueOverwrite(rtcTempQueueHandle, &temp) != pdPASS) {
3538
return OBC_ERR_CODE_UNKNOWN;
3639
}
3740
return OBC_ERR_CODE_INVALID_STATE;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
#pragma once
22

3+
#include <FreeRTOS.h>
4+
#include <os_queue.h>
5+
36
extern QueueHandle_t rtcTempQueueHandle;

obc/app/rtos/obc_scheduler_config.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ extern void obcTaskInitEpsMgr(void);
3939
extern void obcTaskInitPayloadMgr(void);
4040
extern void obcTaskInitTimekeeper(void);
4141
extern void obcTaskInitAlarmMgr(void);
42-
extern void obcTaskInitHealthCollector(void);
42+
extern void obcTaskInitThermalMgr(void);
4343
extern void obcTaskInitStatsCollector(void);
4444
extern void obcTaskInitLogger(void);
4545
extern void obcTaskInitGncMgr(void);
@@ -56,7 +56,7 @@ extern void obcTaskFunctionPayloadMgr(void *params);
5656
extern void obcTaskFunctionTimekeeper(void *params);
5757
extern void obcTaskFunctionSwWatchdog(void *params);
5858
extern void obcTaskFunctionAlarmMgr(void *params);
59-
extern void obcTaskFunctionHealthCollector(void *params);
59+
extern void obcTaskFunctionThermalMgr(void *params);
6060
extern void obcTaskFunctionStatsCollector(void *params);
6161
extern void obcTaskFunctionLogger(void *params);
6262
extern void obcTaskFunctionGncMgr(void *params);
@@ -87,8 +87,8 @@ static StackType_t obcTaskStackSwWatchdog[128U];
8787
static StaticTask_t obcTaskBufferSwWatchdog;
8888
static StackType_t obcTaskStackAlarmMgr[512U];
8989
static StaticTask_t obcTaskBufferAlarmMgr;
90-
static StackType_t obcTaskStackHealthCollector[256U];
91-
static StaticTask_t obcTaskBufferHealthCollector;
90+
static StackType_t obcTaskStackThermalMgr[256U];
91+
static StaticTask_t obcTaskBufferThermalMgr;
9292
#if ENABLE_TASK_STATS_COLLECTOR == 1
9393
static StackType_t obcTaskStackStatsCollector[1024U];
9494
static StaticTask_t obcTaskBufferStatsCollector;
@@ -209,15 +209,15 @@ static obc_scheduler_config_t obcSchedulerConfig[] = {
209209
.taskFunc = obcTaskFunctionAlarmMgr,
210210
.taskInit = obcTaskInitAlarmMgr,
211211
},
212-
[OBC_SCHEDULER_CONFIG_ID_HEALTH_COLLECTOR] =
212+
[OBC_SCHEDULER_CONFIG_ID_THERMAL_MGR] =
213213
{
214-
.taskName = "health_collector",
215-
.taskStack = obcTaskStackHealthCollector,
216-
.taskBuffer = &obcTaskBufferHealthCollector,
214+
.taskName = "thermal_mgr",
215+
.taskStack = obcTaskStackThermalMgr,
216+
.taskBuffer = &obcTaskBufferThermalMgr,
217217
.stackSize = 256U,
218218
.priority = 1U,
219-
.taskFunc = obcTaskFunctionHealthCollector,
220-
.taskInit = obcTaskInitHealthCollector,
219+
.taskFunc = obcTaskFunctionThermalMgr,
220+
.taskInit = obcTaskInitThermalMgr,
221221
},
222222
#if ENABLE_TASK_STATS_COLLECTOR == 1
223223
[OBC_SCHEDULER_CONFIG_ID_STATS_COLLECTOR] =

obc/app/rtos/obc_scheduler_config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ typedef enum {
1515
OBC_SCHEDULER_CONFIG_ID_TIMEKEEPER,
1616
OBC_SCHEDULER_CONFIG_ID_DIGITAL_WATCHDOG_MGR,
1717
OBC_SCHEDULER_CONFIG_ID_ALARM_MGR,
18-
OBC_SCHEDULER_CONFIG_ID_HEALTH_COLLECTOR,
18+
OBC_SCHEDULER_CONFIG_ID_THERMAL_MGR,
1919
#if ENABLE_TASK_STATS_COLLECTOR == 1
2020
OBC_SCHEDULER_CONFIG_ID_STATS_COLLECTOR,
2121
#endif

obc/app/rtos/scheduler_config.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,11 @@ function_stem = "AlarmMgr"
8383
config_id_stem = "ALARM_MGR"
8484

8585
[[tasks]]
86-
task_name = "health_collector"
86+
task_name = "thermal_mgr"
8787
stack_size = 256
8888
priority = "1U"
89-
function_stem = "HealthCollector"
90-
config_id_stem = "HEALTH_COLLECTOR"
89+
function_stem = "ThermalMgr"
90+
config_id_stem = "THERMAL_MGR"
9191

9292
[[tasks]]
9393
task_name = "stats_collector"

0 commit comments

Comments
 (0)