A board support package for the LPC4088 Display Module.
Dependencies: DM_HttpServer DM_USBHost
Dependents: lpc4088_displaymodule_emwin lpc4088_displaymodule_demo_sphere sampleGUI sampleEmptyGUI ... more
Fork of DMSupport by
DMBoard.h
- Committer:
- embeddedartists
- Date:
- 2014-12-02
- Revision:
- 2:887c6b45e7fa
- Parent:
- 0:6b68dac0d986
- Child:
- 3:2fa7755f2cef
File content as of revision 2:887c6b45e7fa:
/* * 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 DMBOARD_H #define DMBOARD_H #include "mbed.h" #include "dm_board_config.h" #include "RtosLog.h" #if defined(DM_BOARD_USE_MCI_FS) #include "MCIFileSystem.h" #endif #if defined(DM_BOARD_USE_QSPI_FS) #include "QSPIFileSystem.h" #elif defined(DM_BOARD_USE_QSPI) #include "SPIFI.h" #endif #if defined(DM_BOARD_USE_DISPLAY) #include "Display.h" #endif #if defined(DM_BOARD_USE_TOUCH) #include "TouchPanel.h" #endif /** * Example of using the Board class: * * @code * #include "mbed.h" * #include "DMBoard.h" * * int main(void) { * DMBoard* board = &DMBoard::instance(); * board->init(); * ... * board->setLed(1, true); * } * @endcode */ class DMBoard { public: enum Leds { Led1, Led2, Led3, Led4, }; enum BoardError { Ok = 0, MemoryError = 1, SpifiError = 1, DisplayError = 2, TouchError = 3, }; static DMBoard& instance() { static DMBoard singleton; return singleton; } /** Initializes the wanted features * * @returns * Ok on success * An error code on failure */ BoardError init(); void setLED(Leds led, bool on); void buzzer(float value); bool buttonPressed(); #if defined(DM_BOARD_USE_TOUCH) TouchPanel* touchPanel() { return _touch; } #endif #if defined(DM_BOARD_USE_DISPLAY) Display* display() { return &(Display::instance()); } friend class Display; #endif RtosLog* logger() { return &_logger; } private: bool _initialized; #if defined(DM_BOARD_USE_MCI_FS) MCIFileSystem _mcifs; #endif #if defined(DM_BOARD_USE_QSPI_FS) QSPIFileSystem _qspifs; #endif #if defined(DM_BOARD_USE_TOUCH) TouchPanel* _touch; #endif PwmOut _buzzer; DigitalIn _button; DigitalOut _led1; DigitalOut _led2; DigitalOut _led3; DigitalOut _led4; RtosLog _logger; explicit DMBoard(); // hide copy constructor DMBoard(const DMBoard&); // hide assign operator DMBoard& operator=(const DMBoard&); ~DMBoard(); BoardError readConfiguration(); #if defined(DM_BOARD_USE_DISPLAY) BoardError readDisplayConfiguration(uint8_t** data, uint32_t* size); #endif }; #endif