summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main-rtos.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/main-rtos.c b/src/main-rtos.c
index 62a2a76..d68dc93 100644
--- a/src/main-rtos.c
+++ b/src/main-rtos.c
@@ -48,6 +48,12 @@ subscription_info_t* subs_info[BUS_DEVICE_LIMIT];
uint32_t allocated[4]={0};
uint8_t dev_sts[BUS_DEVICE_LIMIT] = {OFFLINE};
+static QueueHandle_t xQueue = NULL;
+#define mainQUEUE_RECEIVE_TASK_PRIORITY (tskIDLE_PRIORITY + 2)
+#define mainQUEUE_SEND_TASK_PRIORITY (tskIDLE_PRIORITY + 1)
+#define mainHS_FREQUENCY_MS (2000 / portTICK_PERIOD_MS)
+#define mainQUEUE_LENGTH (1)
+
/* Function prototypes */
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
@@ -60,7 +66,6 @@ bool todo_hs_or_not_todo_hs(uint8_t i2c_addr);
state_t get_state_from_hs_status(uint16_t device_addr, hs_status_t hs_status);
bool encode_subscription_callback(pb_ostream_t *ostream, const pb_field_t *field, void * const *arg);
-#define mainHS_FREQUENCY_MS ( 200 / portTICK_PERIOD_MS )
static void prvHandshakeTask(void *pvParameters)
{
@@ -81,7 +86,7 @@ static void prvHandshakeTask(void *pvParameters)
}
}
-static void prvBlinkTask(void *prvParam)
+static void prvQueueSendTask(void *prvParam)
{
}
@@ -114,7 +119,23 @@ int main(void)
HAL_UART_Transmit(&huart1, reset_string, sizeof(reset_string), 100);
#endif /* MASTER */
#endif /* TESTING_ENABLE */
+
+ xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( uint32_t ) );
+ if( xQueue != NULL )
+ {
+ /* Start the two tasks as described in the comments at the top of this
+ file. */
+ xTaskCreate(prvHandshakeTask, "handshake_rx", configMINIMAL_STACK_SIZE, NULL,
+ mainQUEUE_RECEIVE_TASK_PRIORITY,NULL);
+
+ xTaskCreate(prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL,
+ mainQUEUE_SEND_TASK_PRIORITY, NULL);
+ /* Start the tasks and timer running. */
+ vTaskStartScheduler();
+ }
+ for( ;; );
+
#ifdef MASTER
hs_status_t hs_status;
for (int curr_addr=0; curr_addr < 10; curr_addr++) {