Simple interface for Mbed Cloud Client

Dependents:  

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pal_startup.cpp Source File

pal_startup.cpp

00001 /*******************************************************************************
00002  * Copyright 2016, 2017 ARM Ltd.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *     http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  *******************************************************************************/
00016 #include "PlatIncludes.h"
00017 #include "pal_BSP.h"
00018 #include "mbed.h"
00019 
00020 #ifndef TEST_K64F_BAUD_RATE
00021 #define TEST_K64F_BAUD_RATE 115200
00022 #endif
00023 
00024 #ifndef TEST_MAIN_THREAD_STACK_SIZE
00025 #define TEST_MAIN_THREAD_STACK_SIZE (1024*7)
00026 #endif
00027 
00028 
00029 
00030 
00031 
00032 extern int initSDcardAndFileSystem(void);
00033 
00034 Serial pc(USBTX, USBRX);
00035 
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 
00041 bool runProgram(testMain_t func, pal_args_t * args)
00042 {
00043     Thread thread(osPriorityNormal, TEST_MAIN_THREAD_STACK_SIZE);
00044     thread.start(callback(func, args));
00045     wait(1); // to be on the safe side - sleep for 1sec
00046     bool result = (thread.join() == osOK);
00047     return result;
00048 }
00049 
00050 bspStatus_t initPlatform(void** outputContext)
00051 {
00052     bspStatus_t bspStatus = BSP_SUCCESS;
00053     int err = 0;
00054 
00055     pc.baud(TEST_K64F_BAUD_RATE);
00056 
00057     err = initSDcardAndFileSystem();
00058     if (err < 0) {
00059         bspStatus = BSP_GENERIC_FAILURE;
00060         printf("BSP ERROR: failed to init SD card and filesystem \r\n");
00061     }
00062 
00063     if (BSP_SUCCESS == bspStatus)
00064     {
00065         if (NULL != outputContext)
00066         {
00067             *outputContext = palTestGetNetWorkInterfaceContext();
00068         }
00069     }
00070 
00071     return bspStatus;
00072 }
00073 
00074 #ifdef __cplusplus
00075 }
00076 #endif