blob: 7bc57f27c4f4fd0ed9f0083f6c6cebd8c1556514 [file] [log] [blame]
/************************************************************************************
* Copyright (c) 2016 fortiss GmbH
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Milan Vathoopan, Guru Chandrasekhara - initial API and implementation and/or initial documentation
************************************************************************************/
#include "FreeRTOS.h"
#include "task.h"
#include "../forte_architecture.h"
#include "../devlog.h"
#include "../../stdfblib/ita/RMT_DEV.h"
const static unsigned mainFORTE_TASK_PRIORITY = tskIDLE_PRIORITY + 1;
void vForteTask(void* pvParameters) {
(void) pvParameters;
RMT_DEV *poDev = new RMT_DEV;
poDev->initialize();
poDev->setMGR_ID("localhost:61499");
poDev->startDevice();
DEVLOG_INFO("FORTE is up and running\n");
poDev->MGR.joinResourceThread();
DEVLOG_INFO("FORTE finished\n");
delete poDev;
vTaskDelete(nullptr);
}
void vStartForteServerTask(UBaseType_t uxPriority) {
/* Spawn the task. */
xTaskCreate(vForteTask, "forte", 2000, nullptr, uxPriority, nullptr);
}
int main() {
vStartForteServerTask(mainFORTE_TASK_PRIORITY);
vTaskStartScheduler();
// Will not get here unless there is insufficient RAM.
}