The out-of-the-box demo application flashed on all display modules before they are shipped.

Dependencies:   DMBasicGUI DMSupport

This is the software that is flashed on the LPC4088 Display Modules before they are shipped from Embedded Artists.

Information

This project works on both the 4.3" and 5" display modules but requires different file systems to handle the different display resolutions.

For the 4.3" displays first drag-n-drop the media/fs_480_raw.fs5 (if you are using the new DAPLINK firmware use fs_480_raw.hex) file to the MBED drive and then drag-n-drop the demo itself. This way both the file system and software are up to date.

For the 5" displays first drag-n-drop the media/fs_800_raw.fsF (if you are using the new DAPLINK firmware use fs_800_raw.hex) file to the MBED drive and then drag-n-drop the demo itself. This way both the file system and software are up to date.

There is a prebuilt version of the demo binary here.

This is what it looks like on a 4.3" display:

/media/uploads/embeddedartists/demo480_cap_000.png /media/uploads/embeddedartists/demo480_cap_001.png /media/uploads/embeddedartists/demo480_cap_002.png /media/uploads/embeddedartists/demo480_cap_004.png /media/uploads/embeddedartists/demo480_cap_006.png /media/uploads/embeddedartists/demo480_cap_007.png /media/uploads/embeddedartists/demo480_cap_008.png
The first slide from the Slideshow:
/media/uploads/embeddedartists/demo480_cap_003.png
A couple of images from the Image Viewer
/media/uploads/embeddedartists/demo480_cap_009.png /media/uploads/embeddedartists/demo480_cap_010.png

Committer:
alindvall
Date:
Fri Mar 20 13:36:44 2015 +0000
Revision:
0:b94e330c98ac
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
alindvall 0:b94e330c98ac 1 /*
alindvall 0:b94e330c98ac 2 * Copyright 2014 Embedded Artists AB
alindvall 0:b94e330c98ac 3 *
alindvall 0:b94e330c98ac 4 * Licensed under the Apache License, Version 2.0 (the "License");
alindvall 0:b94e330c98ac 5 * you may not use this file except in compliance with the License.
alindvall 0:b94e330c98ac 6 * You may obtain a copy of the License at
alindvall 0:b94e330c98ac 7 *
alindvall 0:b94e330c98ac 8 * http://www.apache.org/licenses/LICENSE-2.0
alindvall 0:b94e330c98ac 9 *
alindvall 0:b94e330c98ac 10 * Unless required by applicable law or agreed to in writing, software
alindvall 0:b94e330c98ac 11 * distributed under the License is distributed on an "AS IS" BASIS,
alindvall 0:b94e330c98ac 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
alindvall 0:b94e330c98ac 13 * See the License for the specific language governing permissions and
alindvall 0:b94e330c98ac 14 * limitations under the License.
alindvall 0:b94e330c98ac 15 */
alindvall 0:b94e330c98ac 16
alindvall 0:b94e330c98ac 17 #ifndef APP_RTC_SETTINGS_H
alindvall 0:b94e330c98ac 18 #define APP_RTC_SETTINGS_H
alindvall 0:b94e330c98ac 19
alindvall 0:b94e330c98ac 20 #include "App.h"
alindvall 0:b94e330c98ac 21 #include "DMBoard.h"
alindvall 0:b94e330c98ac 22 #include "lpc_swim.h"
alindvall 0:b94e330c98ac 23 #include "ImageButton.h"
alindvall 0:b94e330c98ac 24 #include "DigitButton.h"
alindvall 0:b94e330c98ac 25 #include "Resource.h"
alindvall 0:b94e330c98ac 26
alindvall 0:b94e330c98ac 27 /**
alindvall 0:b94e330c98ac 28 * An App example. Allows changing the real time clock (RTC).
alindvall 0:b94e330c98ac 29 *
alindvall 0:b94e330c98ac 30 * The purpose of this example is to show some of the graphics primitives in
alindvall 0:b94e330c98ac 31 * the SWIM library.
alindvall 0:b94e330c98ac 32 */
alindvall 0:b94e330c98ac 33 class AppRTCSettings : public App {
alindvall 0:b94e330c98ac 34 public:
alindvall 0:b94e330c98ac 35
alindvall 0:b94e330c98ac 36 AppRTCSettings();
alindvall 0:b94e330c98ac 37 virtual ~AppRTCSettings();
alindvall 0:b94e330c98ac 38
alindvall 0:b94e330c98ac 39 virtual bool setup();
alindvall 0:b94e330c98ac 40 virtual void runToCompletion();
alindvall 0:b94e330c98ac 41 virtual bool teardown();
alindvall 0:b94e330c98ac 42
alindvall 0:b94e330c98ac 43 void modifyValue(int mod);
alindvall 0:b94e330c98ac 44 void changeActiveField(bool next);
alindvall 0:b94e330c98ac 45 void setActiveField(uint32_t newField);
alindvall 0:b94e330c98ac 46
alindvall 0:b94e330c98ac 47 enum Resources {
alindvall 0:b94e330c98ac 48 Resource_Ok_button,
alindvall 0:b94e330c98ac 49 Resource_Cancel_button,
alindvall 0:b94e330c98ac 50 Resource_ArrowUp_button,
alindvall 0:b94e330c98ac 51 Resource_ArrowDown_button,
alindvall 0:b94e330c98ac 52 Resource_ArrowLeft_button,
alindvall 0:b94e330c98ac 53 Resource_ArrowRight_button,
alindvall 0:b94e330c98ac 54 Resource_Digits,
alindvall 0:b94e330c98ac 55 NumResources,
alindvall 0:b94e330c98ac 56 };
alindvall 0:b94e330c98ac 57
alindvall 0:b94e330c98ac 58 /** Specifies the resource to use
alindvall 0:b94e330c98ac 59 *
alindvall 0:b94e330c98ac 60 * Adds a resource for a specific id. This allows the
alindvall 0:b94e330c98ac 61 * user program to select e.g. which image to use and
alindvall 0:b94e330c98ac 62 * if it should be loaded from a file or an array.
alindvall 0:b94e330c98ac 63 *
alindvall 0:b94e330c98ac 64 * @param id the identifier
alindvall 0:b94e330c98ac 65 * @param res the resource
alindvall 0:b94e330c98ac 66 */
alindvall 0:b94e330c98ac 67 void addResource(Resources id, Resource* res);
alindvall 0:b94e330c98ac 68
alindvall 0:b94e330c98ac 69 private:
alindvall 0:b94e330c98ac 70 enum Buttons {
alindvall 0:b94e330c98ac 71 ButtonYear,
alindvall 0:b94e330c98ac 72 ButtonMonth,
alindvall 0:b94e330c98ac 73 ButtonDay,
alindvall 0:b94e330c98ac 74 ButtonHour,
alindvall 0:b94e330c98ac 75 ButtonMinute,
alindvall 0:b94e330c98ac 76 ButtonSecond,
alindvall 0:b94e330c98ac 77 ButtonOk,
alindvall 0:b94e330c98ac 78 ButtonCancel,
alindvall 0:b94e330c98ac 79 ButtonUp,
alindvall 0:b94e330c98ac 80 ButtonDown,
alindvall 0:b94e330c98ac 81 ButtonLeft,
alindvall 0:b94e330c98ac 82 ButtonRight,
alindvall 0:b94e330c98ac 83 NumButtons,
alindvall 0:b94e330c98ac 84 NumFields = ButtonOk,
alindvall 0:b94e330c98ac 85 };
alindvall 0:b94e330c98ac 86
alindvall 0:b94e330c98ac 87 Display* _disp;
alindvall 0:b94e330c98ac 88 SWIM_WINDOW_T* _win;
alindvall 0:b94e330c98ac 89 void* _fb;
alindvall 0:b94e330c98ac 90
alindvall 0:b94e330c98ac 91 Clickable* _buttons[NumButtons];
alindvall 0:b94e330c98ac 92
alindvall 0:b94e330c98ac 93 uint32_t _activeField;
alindvall 0:b94e330c98ac 94 uint32_t _values[NumFields];
alindvall 0:b94e330c98ac 95
alindvall 0:b94e330c98ac 96 Image::ImageData_t _digitImage;
alindvall 0:b94e330c98ac 97
alindvall 0:b94e330c98ac 98 Resource* _res[NumResources];
alindvall 0:b94e330c98ac 99
alindvall 0:b94e330c98ac 100 void draw();
alindvall 0:b94e330c98ac 101 void markField(int field, bool active);
alindvall 0:b94e330c98ac 102 void addDateFields(int xoff, int yoff);
alindvall 0:b94e330c98ac 103 void addTimeFields(int xoff, int yoff);
alindvall 0:b94e330c98ac 104 };
alindvall 0:b94e330c98ac 105
alindvall 0:b94e330c98ac 106 #endif
alindvall 0:b94e330c98ac 107
alindvall 0:b94e330c98ac 108