Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions obc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ elseif(${CMAKE_BUILD_TYPE} MATCHES Examples)
target_include_directories (${OUT_FILE_NAME} PRIVATE examples/test_app_cc1120_spi)
elseif(${EXAMPLE_TYPE} MATCHES RS)
add_executable(${OUT_FILE_NAME} examples/test_app_rs/main.c)
elseif(${EXAMPLE_TYPE} MATCHES TELEM_FILE)
add_executable(${OUT_FILE_NAME} examples/test_app_telem_file/main.c)

# ADD MORE EXAMPLES ABOVE THIS COMMENT
else ()
Expand Down
13 changes: 13 additions & 0 deletions obc/app/modules/telemetry_mgr/telemetry_fs_utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,3 +148,16 @@ obc_error_code_t readNextTelemetryFromFile(int32_t telemFileId, telemetry_data_t

return OBC_ERR_CODE_SUCCESS;
}

obc_error_code_t deleteSelectedTelemetryFromFile(const char *filePath) {
// Assume file exists and valid
obc_error_code_t errCode;

if (filePath == NULL) {
return OBC_ERR_CODE_INVALID_ARG;
}

RETURN_IF_ERROR_CODE(deleteFile(filePath));

return OBC_ERR_CODE_SUCCESS;
}
9 changes: 9 additions & 0 deletions obc/app/modules/telemetry_mgr/telemetry_fs_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,12 @@ obc_error_code_t readNextTelemetryFromFile(int32_t telemFileId, telemetry_data_t
* @return obc_error_code_t
*/
obc_error_code_t createAndOpenTelemetryFileRW(uint32_t telemBatchId, int32_t *telemFileId);

/**
* @brief Deletes a telemetry file based on a specific file path
*
* @param filePath Path to the File
* @return obc_error_code_t
* @note Telemetry file must exist first
*/
obc_error_code_t deleteSelectedTelemetryFile(const char *filePath);
8 changes: 8 additions & 0 deletions obc/app/sys/fs_wrapper/obc_reliance_fs.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,11 @@ obc_error_code_t getFileSize(int32_t fileId, size_t *fileSize);
* @return obc_error_code_t OBC_ERR_CODE_SUCCESS if successful, otherwise error code
*/
obc_error_code_t openFile(const char *filePath, uint32_t openMode, int32_t *fileId);

/**
* @brief Deletes a file
*
* @param filePath Path to the file
* @return obc_error_code_t OBC_ERR_CODE_SUCCESS if successful, otherwise error code
*/
obc_error_code_t deleteFile(const char *filePath);
64 changes: 64 additions & 0 deletions obc/examples/test_app_telem_file/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#include "telemetry_fs_utils.h"

#include "obc_reliance_fs.h"
#include "obc_spi_io.h"
#include "obc_sci_io.h"
#include "obc_print.h"
#include "obc_errors.h"
#include "obc_gs_telemetry_data.h"
#include "obc_logging.h"

#include <FreeRTOS.h>
#include <os_task.h>

#include <sys_common.h>
#include <sci.h>
#include <spi.h>

#include <redposix.h>
#include <string.h>

static StaticTask_t taskBuffer;
static StackType_t taskStack[1024];

void vTask1(void *pvParameter) {
obc_error_code_t errCode;

// Example Telem IDs:
uint32_t telemBatchId = 0;
uint32_t telemFileId = 0;
uint32_t *p_telemFileId = &telemFileId;

// Example Telem Data:
telemetry_data_t telemData = {0};
telemData.obcTemp = 100;
telemData.id = 67;
telemData.timestamp = 1000;

// Init File System:
RETURN_IF_ERROR_CODE(setupFileSystem());
// sciPrint("Initialized File System");

// Creating, Writing, and Reading from example file:
RETURN_IF_ERROR_CODE(createAndOpenTelemetryFileRW(telemBatchId, p_telemFileId));
// sciPrint("Successfully created and opened telemetry file!");

RETURN_IF_ERROR_CODE(writeTelemetryToFile((int32_t)telemFileId, telemData));
}

int main(void) {
sciInit();
spiInit();

initSciPrint();
initSpiMutex();

sciPrintf("Starting Reliance Edge Demo\r\n");

xTaskCreateStatic(vTask1, "Delete Test", 1024, NULL, 1, taskStack, &taskBuffer);

vTaskStartScheduler();

while (1)
;
}
Loading