7#include "AustralisCore.h"
8#include "stm32f439xx.h"
17#include "event_groups.h"
19#include "message_buffer.h"
21#include "stream_buffer.h"
25#include "flashwrite.h"
26#include "hdataacquisition.h"
27#include "ldataacquisition.h"
29#include "stateupdate.h"
34static void configure_interrupts();
37EventGroupHandle_t xTaskEnableGroup;
38EventGroupHandle_t xSystemStatusGroup;
39EventGroupHandle_t xMsgReadyGroup;
42MessageBufferHandle_t xUsbTxBuff;
43StreamBufferHandle_t xUsbRxBuff;
44StreamBufferHandle_t xGpsRxBuff;
46SemaphoreHandle_t xUsbMutex;
48#define AVG_BUFF_SIZE 15
49#define MEM_BUFF_SIZE 20992
59void Australis_startCore(
void) {
62 vTaskStartScheduler();
80void Australis_init() {
82 #if coreUSE_TRACE == 1
83 xTraceEnable(TRC_START);
91 xTaskEnableGroup = xEventGroupCreate();
92 xSystemStatusGroup = xEventGroupCreate();
93 xMsgReadyGroup = xEventGroupCreate();
94 xEventGroupSetBits(xMsgReadyGroup, GROUP_MESSAGE_READY_LORA);
99 xUsbTxBuff = xMessageBufferCreate(USB_TX_SIZE);
100 xUsbRxBuff = xStreamBufferCreate(USB_RX_SIZE, 1);
103 xUsbMutex = xSemaphoreCreateMutex();
112 #if (coreTASK_ENABLE == 1)
113 xTaskCreate(vHDataAcquisition,
"HDataAcq", 512, NULL, configMAX_PRIORITIES - 2,
TaskList_new());
114 xTaskCreate(vLDataAcquisition,
"LDataAcq", 512, NULL, configMAX_PRIORITIES - 3,
TaskList_new());
115 xTaskCreate(vStateUpdate,
"StateUpdate", 512, NULL, configMAX_PRIORITIES - 4,
TaskList_new());
116 xTaskCreate(vFlashBuffer,
"FlashData", 512, NULL, configMAX_PRIORITIES - 1,
TaskList_new());
TaskHandle_t * TaskList_new()
Retrieve a pointer to the first empty task handle in list.