![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This demo shows a number of bubbles bouncing around.
EaLcdBoardGPIO.cpp
- Committer:
- embeddedartists
- Date:
- 2014-10-03
- Revision:
- 0:4839ec6c350d
File content as of revision 0:4839ec6c350d:
/* * Copyright 2013 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. */ /****************************************************************************** * Includes *****************************************************************************/ #include "mbed.h" #include "EaLcdBoardGPIO.h" /****************************************************************************** * Defines and typedefs *****************************************************************************/ EaLcdBoardGPIO::EaLcdBoardGPIO(PinName sda, PinName scl) : EaLcdBoard(sda, scl), /*pinWP(P4_15),*/ pin3v3(P2_0), pin5v(P2_21), pinDE(P2_11), pinContrast(P2_1) { pinContrast.period_ms(10); setWriteProtect(true); set3V3Signal(false); set5VSignal(false); setDisplayEnableSignal(false); setBacklightContrast(0); } void EaLcdBoardGPIO::setWriteProtect(bool enable) { // Not Applicable } void EaLcdBoardGPIO::set3V3Signal(bool enabled) { //P2.0 L=3.3V on if (enabled) { pin3v3 = 0; } else { pin3v3 = 1; } } void EaLcdBoardGPIO::set5VSignal(bool enabled) { //P2.21 H=5V on if (enabled) { pin5v = 1; } else { pin5v = 0; } } void EaLcdBoardGPIO::setDisplayEnableSignal(bool enabled) { //P2.11 H=enabled LPC_IOCON->P2_11 &= ~7; /* GPIO2[11] @ P2.11 */ if (enabled) { pinDE = 1; } else { pinDE = 0; } } void EaLcdBoardGPIO::setBacklightContrast(uint32_t value) { //P2.1, set to 4.30 for now #if 0 LPC_IOCON->P2_1 &= ~7; /* GPIO2[1] @ P2.1 */ if (value > 50) { pinContrast = 1; } else { pinContrast = 0; } #else uint32_t tmp = LPC_IOCON->P2_1; tmp &= ~7; tmp |= 1; LPC_IOCON->P2_1 = tmp; /* PWM2[1] @ P2.1 */ float f = value; pinContrast = f/100.0f; #endif // if (value > 100) return; // pca9532_setBlink0Duty(100-value); // pca9532_setBlink0Period(0); // pca9532_setBlink0Leds(LCDB_CTRL_BL_C); }