- added IODevice support
- fixed some issues with the logger and stack sizes git-svn-id: https://svn.vbchaos.nl/svn/hsb/trunk@216 05563f52-14a8-4384-a975-3d1654cca0fa
This commit is contained in:
@@ -25,16 +25,19 @@
|
||||
// Include files
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
#include <FreeRTOSFixes.h>
|
||||
#include <stdio.h>
|
||||
|
||||
// FreeRTOS includes
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "freeRTOSFixes.h"
|
||||
#include "Logger.h"
|
||||
|
||||
#include "misc.h"
|
||||
#include "stm32f10x_rcc.h"
|
||||
|
||||
#include "nhd0420.h"
|
||||
#include "keypadMatrix.h"
|
||||
|
||||
#include "platform.h"
|
||||
#include "led.h"
|
||||
@@ -69,11 +72,13 @@ unsigned long ulRunTimeStatsClock = 0UL;
|
||||
static struct LedTaskArguments ledTaskArguments;
|
||||
static xTaskHandle initTaskHandle;
|
||||
static xTaskHandle ledTaskHandle;
|
||||
static xTaskHandle sysTaskHandle;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Function declarations
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
static ErrorStatus systeminfoCommandHandler(void);
|
||||
static void initTask(void* parameters);
|
||||
static void ledBlinkTask(void* parameters);
|
||||
// -----------------------------------------------------------------------------
|
||||
@@ -91,10 +96,7 @@ int main (void)
|
||||
ledTaskArguments.led = ledOrange;
|
||||
ledTaskArguments.frequency = 2;
|
||||
|
||||
xTaskCreate(initTask, (const char* const)"initTask", 1024, NULL, 0, &initTaskHandle);
|
||||
xTaskCreate(ledBlinkTask, (const char* const)"ledTask", 1024, &ledTaskArguments, 0, &ledTaskHandle);
|
||||
|
||||
LOGGER_INFO("Starting the scheduler");
|
||||
xTaskCreate(initTask, (const char* const)"initTask", 1024, NULL, 5, &initTaskHandle);
|
||||
|
||||
/* Start the scheduler. */
|
||||
vTaskStartScheduler();
|
||||
@@ -113,11 +115,44 @@ void vApplicationTickHook ()
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void printSystemInfoTask(void* parameters)
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
systeminfoCommandHandler();
|
||||
vTaskDelay(60000);
|
||||
}
|
||||
}
|
||||
|
||||
static ErrorStatus systeminfoCommandHandler(void)
|
||||
{
|
||||
ErrorStatus errorStatus = SUCCESS;
|
||||
size_t freeMemory;
|
||||
char text[128];
|
||||
|
||||
freeMemory = xPortGetFreeHeapSize();
|
||||
snprintf(text, sizeof(text), "Free heap memory: %d bytes", freeMemory);
|
||||
LOGGER_INFO(text);
|
||||
|
||||
errorStatus &= Logger_logModuleInfo();
|
||||
vTaskDelay(100);
|
||||
errorStatus &= Keypad_logModuleInfo();
|
||||
vTaskDelay(100);
|
||||
OS_logTaskInfo(ledTaskHandle);
|
||||
vTaskDelay(100);
|
||||
OS_logTaskInfo(sysTaskHandle);
|
||||
|
||||
return errorStatus;
|
||||
}
|
||||
|
||||
static void initTask(void* parameters)
|
||||
{
|
||||
initPlatform();
|
||||
|
||||
Logger_initialize(uart1);
|
||||
Logger_construct(&uart1->device);
|
||||
|
||||
Keypad_construct();
|
||||
|
||||
NHD0420_construct(spiDisplay);
|
||||
|
||||
@@ -133,10 +168,13 @@ static void initTask(void* parameters)
|
||||
vTaskDelay(1000);
|
||||
NHD0420_setCursorToHome();
|
||||
vTaskDelay(1000);
|
||||
NHD0420_sendData("Hallo Welt", 10);
|
||||
vTaskDelay(1);
|
||||
NHD0420_setCursorToPosition(4, 5);
|
||||
NHD0420_sendData("Koetjeboe", 9);
|
||||
|
||||
|
||||
xTaskCreate(ledBlinkTask, (const char* const)"ledTask", 40, &ledTaskArguments, 0, &ledTaskHandle);
|
||||
xTaskCreate(printSystemInfoTask, (const char* const)"SysInfoTask", 512, NULL, 1, &sysTaskHandle);
|
||||
|
||||
// Delete this init task
|
||||
vTaskDelete(NULL);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user