Lcd companion boards support (VKLCD50RTA & VKLCD70RT)

What is this ?

This is a demo program using Renesas RGA library & USB Camera to demonstrate VK-RZ/A1H's companion boards workability.


Supported companion Boards:

VKLCD50RTA

/media/uploads/tvendov/front_view_hmi_50.png /media/uploads/tvendov/side_view_hmi_50.png

VKLCD70RT

/media/uploads/tvendov/front_view_hmi_70.png/media/uploads/tvendov/side_view_hmi_70.png /media/uploads/tvendov/front_view_lvds.png/media/uploads/tvendov/back_view_lvds.png


How to Configure ?

You can choose which display is installed by altering the lcd_panel.h file

Leave the active one & comment out the others:

#define     LCD_VDC5_CH0_PANEL                  LCD_CH0_PANEL_VKLCD50RTA
//#define     LCD_VDC5_CH0_PANEL                  LCD_CH0_PANEL_VKLCD70RT

You can alter the whole demo with your pictures if you like:


How to compile ?

  • The Demo can be compiled in 3 modes:
    • I. Execution from the internal 10-MB on-chip SRAM.
      • After import in the online compiler just leave only the VKRZA1H_RAM.sct & delete all others linker files in the TOOLCHAIN_ARM_STD folder.
      • Save the result binary in the SD Card (<SD>:\vkrza1\lcd_sample ), altering vkrza1h.ini by this way
    • II. Execution from the on-board serial FALSH in dual (32-MB) mode.
      • After import in the online compiler just leave only the VKRZA1H_DOUBLE.sct & delete all others linker files in the TOOLCHAIN_ARM_STD folder.
      • Drag & drop the result binary in MBED disk, (previously inited in double flash mode)
    • III. Execution from the on-board serial FALSH in single (16-MB) mode.
      • After import in the online compiler just leave only the VKRZA1H_SINGLE.sct & delete all others linker files in the TOOLCHAIN_ARM_STD folder.
      • Drag & drop the result binary in MBED disk, (previously inited in single flash mode )

Quick presentation:


Other demos ?

More demos you can find on our FTP

Committer:
tvendov
Date:
Thu Feb 16 10:23:48 2017 +0000
Revision:
0:6435b67ad23c
Initial lcd support (VKLCD50RTA & VKLCD70RT companion boards)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tvendov 0:6435b67ad23c 1 /* mbed Microcontroller Library
tvendov 0:6435b67ad23c 2 * Copyright (c) 2006-2013 ARM Limited
tvendov 0:6435b67ad23c 3 *
tvendov 0:6435b67ad23c 4 * Licensed under the Apache License, Version 2.0 (the "License");
tvendov 0:6435b67ad23c 5 * you may not use this file except in compliance with the License.
tvendov 0:6435b67ad23c 6 * You may obtain a copy of the License at
tvendov 0:6435b67ad23c 7 *
tvendov 0:6435b67ad23c 8 * http://www.apache.org/licenses/LICENSE-2.0
tvendov 0:6435b67ad23c 9 *
tvendov 0:6435b67ad23c 10 * Unless required by applicable law or agreed to in writing, software
tvendov 0:6435b67ad23c 11 * distributed under the License is distributed on an "AS IS" BASIS,
tvendov 0:6435b67ad23c 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
tvendov 0:6435b67ad23c 13 * See the License for the specific language governing permissions and
tvendov 0:6435b67ad23c 14 * limitations under the License.
tvendov 0:6435b67ad23c 15 */
tvendov 0:6435b67ad23c 16 #ifndef MBED_CALLCHAIN_H
tvendov 0:6435b67ad23c 17 #define MBED_CALLCHAIN_H
tvendov 0:6435b67ad23c 18
tvendov 0:6435b67ad23c 19 #include "Callback.h"
tvendov 0:6435b67ad23c 20 #include <string.h>
tvendov 0:6435b67ad23c 21
tvendov 0:6435b67ad23c 22 namespace mbed {
tvendov 0:6435b67ad23c 23
tvendov 0:6435b67ad23c 24 /** Group one or more functions in an instance of a CallChain, then call them in
tvendov 0:6435b67ad23c 25 * sequence using CallChain::call(). Used mostly by the interrupt chaining code,
tvendov 0:6435b67ad23c 26 * but can be used for other purposes.
tvendov 0:6435b67ad23c 27 *
tvendov 0:6435b67ad23c 28 * @Note Synchronization level: Not protected
tvendov 0:6435b67ad23c 29 *
tvendov 0:6435b67ad23c 30 * Example:
tvendov 0:6435b67ad23c 31 * @code
tvendov 0:6435b67ad23c 32 * #include "mbed.h"
tvendov 0:6435b67ad23c 33 *
tvendov 0:6435b67ad23c 34 * CallChain chain;
tvendov 0:6435b67ad23c 35 *
tvendov 0:6435b67ad23c 36 * void first(void) {
tvendov 0:6435b67ad23c 37 * printf("'first' function.\n");
tvendov 0:6435b67ad23c 38 * }
tvendov 0:6435b67ad23c 39 *
tvendov 0:6435b67ad23c 40 * void second(void) {
tvendov 0:6435b67ad23c 41 * printf("'second' function.\n");
tvendov 0:6435b67ad23c 42 * }
tvendov 0:6435b67ad23c 43 *
tvendov 0:6435b67ad23c 44 * class Test {
tvendov 0:6435b67ad23c 45 * public:
tvendov 0:6435b67ad23c 46 * void f(void) {
tvendov 0:6435b67ad23c 47 * printf("A::f (class member).\n");
tvendov 0:6435b67ad23c 48 * }
tvendov 0:6435b67ad23c 49 * };
tvendov 0:6435b67ad23c 50 *
tvendov 0:6435b67ad23c 51 * int main() {
tvendov 0:6435b67ad23c 52 * Test test;
tvendov 0:6435b67ad23c 53 *
tvendov 0:6435b67ad23c 54 * chain.add(second);
tvendov 0:6435b67ad23c 55 * chain.add_front(first);
tvendov 0:6435b67ad23c 56 * chain.add(&test, &Test::f);
tvendov 0:6435b67ad23c 57 * chain.call();
tvendov 0:6435b67ad23c 58 * }
tvendov 0:6435b67ad23c 59 * @endcode
tvendov 0:6435b67ad23c 60 */
tvendov 0:6435b67ad23c 61
tvendov 0:6435b67ad23c 62 typedef Callback<void()> *pFunctionPointer_t;
tvendov 0:6435b67ad23c 63 class CallChainLink;
tvendov 0:6435b67ad23c 64
tvendov 0:6435b67ad23c 65 class CallChain {
tvendov 0:6435b67ad23c 66 public:
tvendov 0:6435b67ad23c 67 /** Create an empty chain
tvendov 0:6435b67ad23c 68 *
tvendov 0:6435b67ad23c 69 * @param size (optional) Initial size of the chain
tvendov 0:6435b67ad23c 70 */
tvendov 0:6435b67ad23c 71 CallChain(int size = 4);
tvendov 0:6435b67ad23c 72 virtual ~CallChain();
tvendov 0:6435b67ad23c 73
tvendov 0:6435b67ad23c 74 /** Add a function at the end of the chain
tvendov 0:6435b67ad23c 75 *
tvendov 0:6435b67ad23c 76 * @param func A pointer to a void function
tvendov 0:6435b67ad23c 77 *
tvendov 0:6435b67ad23c 78 * @returns
tvendov 0:6435b67ad23c 79 * The function object created for 'func'
tvendov 0:6435b67ad23c 80 */
tvendov 0:6435b67ad23c 81 pFunctionPointer_t add(Callback<void()> func);
tvendov 0:6435b67ad23c 82
tvendov 0:6435b67ad23c 83 /** Add a function at the end of the chain
tvendov 0:6435b67ad23c 84 *
tvendov 0:6435b67ad23c 85 * @param obj pointer to the object to call the member function on
tvendov 0:6435b67ad23c 86 * @param method pointer to the member function to be called
tvendov 0:6435b67ad23c 87 *
tvendov 0:6435b67ad23c 88 * @returns
tvendov 0:6435b67ad23c 89 * The function object created for 'obj' and 'method'
tvendov 0:6435b67ad23c 90 */
tvendov 0:6435b67ad23c 91 template<typename T, typename M>
tvendov 0:6435b67ad23c 92 pFunctionPointer_t add(T *obj, M method) {
tvendov 0:6435b67ad23c 93 return add(Callback<void()>(obj, method));
tvendov 0:6435b67ad23c 94 }
tvendov 0:6435b67ad23c 95
tvendov 0:6435b67ad23c 96 /** Add a function at the beginning of the chain
tvendov 0:6435b67ad23c 97 *
tvendov 0:6435b67ad23c 98 * @param func A pointer to a void function
tvendov 0:6435b67ad23c 99 *
tvendov 0:6435b67ad23c 100 * @returns
tvendov 0:6435b67ad23c 101 * The function object created for 'func'
tvendov 0:6435b67ad23c 102 */
tvendov 0:6435b67ad23c 103 pFunctionPointer_t add_front(Callback<void()> func);
tvendov 0:6435b67ad23c 104
tvendov 0:6435b67ad23c 105 /** Add a function at the beginning of the chain
tvendov 0:6435b67ad23c 106 *
tvendov 0:6435b67ad23c 107 * @param tptr pointer to the object to call the member function on
tvendov 0:6435b67ad23c 108 * @param mptr pointer to the member function to be called
tvendov 0:6435b67ad23c 109 *
tvendov 0:6435b67ad23c 110 * @returns
tvendov 0:6435b67ad23c 111 * The function object created for 'tptr' and 'mptr'
tvendov 0:6435b67ad23c 112 */
tvendov 0:6435b67ad23c 113 template<typename T, typename M>
tvendov 0:6435b67ad23c 114 pFunctionPointer_t add_front(T *obj, M method) {
tvendov 0:6435b67ad23c 115 return add_front(Callback<void()>(obj, method));
tvendov 0:6435b67ad23c 116 }
tvendov 0:6435b67ad23c 117
tvendov 0:6435b67ad23c 118 /** Get the number of functions in the chain
tvendov 0:6435b67ad23c 119 */
tvendov 0:6435b67ad23c 120 int size() const;
tvendov 0:6435b67ad23c 121
tvendov 0:6435b67ad23c 122 /** Get a function object from the chain
tvendov 0:6435b67ad23c 123 *
tvendov 0:6435b67ad23c 124 * @param i function object index
tvendov 0:6435b67ad23c 125 *
tvendov 0:6435b67ad23c 126 * @returns
tvendov 0:6435b67ad23c 127 * The function object at position 'i' in the chain
tvendov 0:6435b67ad23c 128 */
tvendov 0:6435b67ad23c 129 pFunctionPointer_t get(int i) const;
tvendov 0:6435b67ad23c 130
tvendov 0:6435b67ad23c 131 /** Look for a function object in the call chain
tvendov 0:6435b67ad23c 132 *
tvendov 0:6435b67ad23c 133 * @param f the function object to search
tvendov 0:6435b67ad23c 134 *
tvendov 0:6435b67ad23c 135 * @returns
tvendov 0:6435b67ad23c 136 * The index of the function object if found, -1 otherwise.
tvendov 0:6435b67ad23c 137 */
tvendov 0:6435b67ad23c 138 int find(pFunctionPointer_t f) const;
tvendov 0:6435b67ad23c 139
tvendov 0:6435b67ad23c 140 /** Clear the call chain (remove all functions in the chain).
tvendov 0:6435b67ad23c 141 */
tvendov 0:6435b67ad23c 142 void clear();
tvendov 0:6435b67ad23c 143
tvendov 0:6435b67ad23c 144 /** Remove a function object from the chain
tvendov 0:6435b67ad23c 145 *
tvendov 0:6435b67ad23c 146 * @arg f the function object to remove
tvendov 0:6435b67ad23c 147 *
tvendov 0:6435b67ad23c 148 * @returns
tvendov 0:6435b67ad23c 149 * true if the function object was found and removed, false otherwise.
tvendov 0:6435b67ad23c 150 */
tvendov 0:6435b67ad23c 151 bool remove(pFunctionPointer_t f);
tvendov 0:6435b67ad23c 152
tvendov 0:6435b67ad23c 153 /** Call all the functions in the chain in sequence
tvendov 0:6435b67ad23c 154 */
tvendov 0:6435b67ad23c 155 void call();
tvendov 0:6435b67ad23c 156
tvendov 0:6435b67ad23c 157 void operator ()(void) {
tvendov 0:6435b67ad23c 158 call();
tvendov 0:6435b67ad23c 159 }
tvendov 0:6435b67ad23c 160 pFunctionPointer_t operator [](int i) const {
tvendov 0:6435b67ad23c 161 return get(i);
tvendov 0:6435b67ad23c 162 }
tvendov 0:6435b67ad23c 163
tvendov 0:6435b67ad23c 164 /* disallow copy constructor and assignment operators */
tvendov 0:6435b67ad23c 165 private:
tvendov 0:6435b67ad23c 166 CallChain(const CallChain&);
tvendov 0:6435b67ad23c 167 CallChain & operator = (const CallChain&);
tvendov 0:6435b67ad23c 168 CallChainLink *_chain;
tvendov 0:6435b67ad23c 169 };
tvendov 0:6435b67ad23c 170
tvendov 0:6435b67ad23c 171 } // namespace mbed
tvendov 0:6435b67ad23c 172
tvendov 0:6435b67ad23c 173 #endif
tvendov 0:6435b67ad23c 174