A simple Hello World program, to demonstrate the current problem with the dm_board_config.h file - if it is in its normal place, the root directory, the project will not build, while if I copy it to the DMSupport subdirectory, the project builds OK.
Dependencies: DMBasicGUI DMSupport
Revision 0:4d73151d9b87, committed 2018-10-04
- Comitter:
- jmitc91516
- Date:
- Thu Oct 04 08:33:31 2018 +0000
- Commit message:
- Demonstrates the current problem with dm_board_config.h - the project will not build with this file in its normal place, the root directory, but builds OK if I copy it to the DMSupport subdirectory.
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DMBasicGUI.lib Thu Oct 04 08:33:31 2018 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/Embedded-Artists/code/DMBasicGUI/#1a7c743600e6
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DMSupport.lib Thu Oct 04 08:33:31 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/jmitc91516/code/DMSupport/#ac490f69398f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dm_board_config.h Thu Oct 04 08:33:31 2018 +0000 @@ -0,0 +1,37 @@ +/* + * Copyright 2014 Embedded Artists AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef DM_BOARD_CONFIG_H +#define DM_BOARD_CONFIG_H + +// Template to use for the project-specific settings. Copy this file to your project, +// rename it to dm_board_config.h and uncomment the wanted features below: + +// #define DM_BOARD_USE_USB_DEVICE +// #define DM_BOARD_USE_USB_HOST +// #define DM_BOARD_USE_MCI_FS +// #define DM_BOARD_USE_QSPI_FS +// #define DM_BOARD_USE_QSPI +#define DM_BOARD_USE_DISPLAY +#define DM_BOARD_USE_TOUCH +// #define DM_BOARD_USE_ETHERNET +#define DM_BOARD_USE_FAST_UART +// #define DM_BOARD_USE_USBSERIAL_IN_RTOSLOG +// #define DM_BOARD_DISABLE_STANDARD_PRINTF +// #define DM_BOARD_ENABLE_MEASSURING_PINS +#define DM_BOARD_USE_REGISTRY + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Oct 04 08:33:31 2018 +0000 @@ -0,0 +1,58 @@ +#include "mbed.h" +#include "DMBoard.h" +#include "lpc_swim.h" +#include "lpc_swim_font.h" + +int main() +{ + DMBoard::BoardError err; + DMBoard* board = &DMBoard::instance(); + RtosLog* log = board->logger(); + Display* disp = board->display(); + + do { + err = board->init(); + if (err != DMBoard::Ok) { + log->printf("Failed to initialize the board, got error %d\r\n", err); + break; + } + + log->printf("\n\nHello World!\n\n"); + + SWIM_WINDOW_T win; + void* fb = disp->allocateFramebuffer(); + if (fb == NULL) { + log->printf("Failed to allocate memory for a frame buffer\r\n"); + err = DMBoard::MemoryError; + break; + } + + // Prepare fullscreen + swim_window_open(&win, + disp->width(), disp->height(), // full size + (COLOR_T*)fb, + 0,0,disp->width()-1, disp->height()-1, // window position and size + 1, // border + WHITE, BLUE, BLACK); // colors: pen, backgr, forgr + swim_set_title(&win, "My Program", BLACK); + + // Message + swim_put_text_xy(&win, "Hello World!", 100, 100); + + // Start display in default mode (16-bit) + Display::DisplayError disperr = disp->powerUp(fb); + if (disperr != Display::DisplayError_Ok) { + log->printf("Failed to initialize the display, got error %d\r\n", disperr); + break; + } + } while(false); + + if (err != DMBoard::Ok) { + log->printf("\nTERMINATING\n"); + wait_ms(2000); // allow RtosLog to flush messages + mbed_die(); + } + + while(true) { + } +}