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 // CamInfo.cpp
tvendov 0:6435b67ad23c 2 #include "USBHostCam.h"
tvendov 0:6435b67ad23c 3
tvendov 0:6435b67ad23c 4 // Logitech C270
tvendov 0:6435b67ad23c 5 #define C270_VID 0x046d
tvendov 0:6435b67ad23c 6 #define C270_PID 0x0825
tvendov 0:6435b67ad23c 7 #define C270_640x480 1
tvendov 0:6435b67ad23c 8 #define C270_160x120 2
tvendov 0:6435b67ad23c 9 #define C270_176x144 3
tvendov 0:6435b67ad23c 10 #define C270_320x176 4
tvendov 0:6435b67ad23c 11 #define C270_320x240 5
tvendov 0:6435b67ad23c 12 #define C270_352x288 6
tvendov 0:6435b67ad23c 13 #define C270_432x240 7
tvendov 0:6435b67ad23c 14 #define C270_544x288 8
tvendov 0:6435b67ad23c 15 #define C270_640x360 9
tvendov 0:6435b67ad23c 16 //Needs HISPEED USB above 15 fps
tvendov 0:6435b67ad23c 17 #define C270_752x416 10
tvendov 0:6435b67ad23c 18 #define C270_800x448 11
tvendov 0:6435b67ad23c 19 #define C270_800x600 12
tvendov 0:6435b67ad23c 20 //Needs HISPEED USB
tvendov 0:6435b67ad23c 21 #define C270_864x480 13
tvendov 0:6435b67ad23c 22 #define C270_960x544 14
tvendov 0:6435b67ad23c 23 #define C270_960x720 15
tvendov 0:6435b67ad23c 24 #define C270_1024x576 16
tvendov 0:6435b67ad23c 25 #define C270_1184x656 17
tvendov 0:6435b67ad23c 26 #define C270_1280x720 18
tvendov 0:6435b67ad23c 27 #define C270_1280x960 19
tvendov 0:6435b67ad23c 28
tvendov 0:6435b67ad23c 29 #define C270_MJPEG 2
tvendov 0:6435b67ad23c 30 #define C270_YUV2 1
tvendov 0:6435b67ad23c 31
tvendov 0:6435b67ad23c 32 #define C270_EN 0x81
tvendov 0:6435b67ad23c 33 #define C270_MPS 944
tvendov 0:6435b67ad23c 34 #define C270_IF_ALT_192 1
tvendov 0:6435b67ad23c 35 #define C270_IF_ALT_384 2
tvendov 0:6435b67ad23c 36 #define C270_IF_ALT_512 3
tvendov 0:6435b67ad23c 37 #define C270_IF_ALT_640 4
tvendov 0:6435b67ad23c 38 #define C270_IF_ALT_800 5
tvendov 0:6435b67ad23c 39 #define C270_IF_ALT_944 6
tvendov 0:6435b67ad23c 40 //Needs HISPEED USB
tvendov 0:6435b67ad23c 41 #define C270_IF_ALT_2x640 7
tvendov 0:6435b67ad23c 42 #define C270_IF_ALT_2x800 8
tvendov 0:6435b67ad23c 43 #define C270_IF_ALT_2x992 9
tvendov 0:6435b67ad23c 44 #define C270_IF_ALT_3x896 10
tvendov 0:6435b67ad23c 45 #define C270_IF_ALT_3x1020 11
tvendov 0:6435b67ad23c 46 #define C270_IF_ALT(A) C270_IF_ALT_##A
tvendov 0:6435b67ad23c 47
tvendov 0:6435b67ad23c 48 #define C270_INFO(SIZE) {C270_VID, C270_PID, _##SIZE, 0, \
tvendov 0:6435b67ad23c 49 "C270", \
tvendov 0:6435b67ad23c 50 C270_MJPEG, \
tvendov 0:6435b67ad23c 51 C270_##SIZE, \
tvendov 0:6435b67ad23c 52 _5FPS, \
tvendov 0:6435b67ad23c 53 C270_EN, \
tvendov 0:6435b67ad23c 54 944, \
tvendov 0:6435b67ad23c 55 C270_IF_ALT(944), \
tvendov 0:6435b67ad23c 56 4, \
tvendov 0:6435b67ad23c 57 3}
tvendov 0:6435b67ad23c 58
tvendov 0:6435b67ad23c 59 #define C210_PID 0x819
tvendov 0:6435b67ad23c 60 #define C210_INFO(SIZE) {C270_VID, C210_PID, _##SIZE, 0, \
tvendov 0:6435b67ad23c 61 "C210", \
tvendov 0:6435b67ad23c 62 C270_MJPEG, \
tvendov 0:6435b67ad23c 63 C270_##SIZE, \
tvendov 0:6435b67ad23c 64 _5FPS, \
tvendov 0:6435b67ad23c 65 C270_EN, \
tvendov 0:6435b67ad23c 66 192, \
tvendov 0:6435b67ad23c 67 C270_IF_ALT(192), \
tvendov 0:6435b67ad23c 68 4, \
tvendov 0:6435b67ad23c 69 3}
tvendov 0:6435b67ad23c 70
tvendov 0:6435b67ad23c 71
tvendov 0:6435b67ad23c 72 // Logitech C170
tvendov 0:6435b67ad23c 73 //#define C170_VID 0x046d
tvendov 0:6435b67ad23c 74 #define C170_PID 0x082B
tvendov 0:6435b67ad23c 75 #define C170_640x480 1
tvendov 0:6435b67ad23c 76 #define C170_352x288 2
tvendov 0:6435b67ad23c 77 #define C170_320x240 3
tvendov 0:6435b67ad23c 78 #define C170_176x144 4
tvendov 0:6435b67ad23c 79 #define C170_160x120 5
tvendov 0:6435b67ad23c 80 #define C170_544x288 6
tvendov 0:6435b67ad23c 81 #define C170_432x240 7
tvendov 0:6435b67ad23c 82 #define C170_320x176 8
tvendov 0:6435b67ad23c 83 #define C170_640x360 9
tvendov 0:6435b67ad23c 84 //Needs HISPEED USB above 15 fps
tvendov 0:6435b67ad23c 85 #define C170_800x480 10
tvendov 0:6435b67ad23c 86 //Needs HISPEED USB
tvendov 0:6435b67ad23c 87 #define C170_1024x768 11
tvendov 0:6435b67ad23c 88
tvendov 0:6435b67ad23c 89 #define C170_EN 0x82
tvendov 0:6435b67ad23c 90 #define C170_MPS 512
tvendov 0:6435b67ad23c 91 #define C170_IF_ALT_512 4
tvendov 0:6435b67ad23c 92 //Needs HISPEED USB
tvendov 0:6435b67ad23c 93 #define C170_IF_ALT_1024 3
tvendov 0:6435b67ad23c 94 #define C170_IF_ALT_2x1024 2
tvendov 0:6435b67ad23c 95 #define C170_IF_ALT_3x1024 1
tvendov 0:6435b67ad23c 96 #define C170_IF_ALT(A) C170_IF_ALT_##A
tvendov 0:6435b67ad23c 97
tvendov 0:6435b67ad23c 98 #define C170_INFO(SIZE) {C270_VID, C170_PID, _##SIZE, 0, \
tvendov 0:6435b67ad23c 99 "C170", \
tvendov 0:6435b67ad23c 100 C270_MJPEG, \
tvendov 0:6435b67ad23c 101 C170_##SIZE, \
tvendov 0:6435b67ad23c 102 _15FPS, \
tvendov 0:6435b67ad23c 103 C170_EN, \
tvendov 0:6435b67ad23c 104 512, \
tvendov 0:6435b67ad23c 105 C170_IF_ALT(512), \
tvendov 0:6435b67ad23c 106 4, \
tvendov 0:6435b67ad23c 107 3}
tvendov 0:6435b67ad23c 108
tvendov 0:6435b67ad23c 109 // Logitech Qcam Orbit AF QCAM-200R
tvendov 0:6435b67ad23c 110 #define Q200R_VID 0x046d
tvendov 0:6435b67ad23c 111 #define Q200R_PID 0x0994
tvendov 0:6435b67ad23c 112 #define Q200R_160x120 1
tvendov 0:6435b67ad23c 113 #define Q200R_176x144 2
tvendov 0:6435b67ad23c 114 #define Q200R_320x240 3
tvendov 0:6435b67ad23c 115 #define Q200R_352x288 4
tvendov 0:6435b67ad23c 116 #define Q200R_640x480 5
tvendov 0:6435b67ad23c 117 #define Q200R_800x600 6
tvendov 0:6435b67ad23c 118
tvendov 0:6435b67ad23c 119 #define Q200R_MJPEG 1
tvendov 0:6435b67ad23c 120 #define Q200R_YUV2 2
tvendov 0:6435b67ad23c 121
tvendov 0:6435b67ad23c 122 #define Q200R_EN 0x81
tvendov 0:6435b67ad23c 123 #define Q200R_MPS 192
tvendov 0:6435b67ad23c 124 #define Q200R_IF_ALT_192 1
tvendov 0:6435b67ad23c 125 #define Q200R_IF_ALT_384 2
tvendov 0:6435b67ad23c 126 #define Q200R_IF_ALT_512 3
tvendov 0:6435b67ad23c 127 #define Q200R_IF_ALT_640 4
tvendov 0:6435b67ad23c 128 #define Q200R_IF_ALT_800 5
tvendov 0:6435b67ad23c 129 #define Q200R_IF_ALT_944 6
tvendov 0:6435b67ad23c 130 #define Q200R_IF_ALT(A) Q200R_IF_ALT_##A
tvendov 0:6435b67ad23c 131 #define Q200R_INFO(SIZE) {Q200R_VID, Q200R_PID, _##SIZE, 0, \
tvendov 0:6435b67ad23c 132 "Q200R", \
tvendov 0:6435b67ad23c 133 Q200R_MJPEG, \
tvendov 0:6435b67ad23c 134 Q200R_##SIZE, \
tvendov 0:6435b67ad23c 135 _5FPS, \
tvendov 0:6435b67ad23c 136 Q200R_EN, \
tvendov 0:6435b67ad23c 137 192, \
tvendov 0:6435b67ad23c 138 Q200R_IF_ALT(192), \
tvendov 0:6435b67ad23c 139 4, \
tvendov 0:6435b67ad23c 140 3}
tvendov 0:6435b67ad23c 141
tvendov 0:6435b67ad23c 142 //LifeCam VX700 / VX500
tvendov 0:6435b67ad23c 143 #define VX700_VID 0x045e
tvendov 0:6435b67ad23c 144 #define VX700_PID 0x074a
tvendov 0:6435b67ad23c 145
tvendov 0:6435b67ad23c 146 #define VX700_160x120 5
tvendov 0:6435b67ad23c 147 #define VX700_176x144 4
tvendov 0:6435b67ad23c 148 #define VX700_320x240 3
tvendov 0:6435b67ad23c 149 #define VX700_352x288 2
tvendov 0:6435b67ad23c 150 #define VX700_640x480 1
tvendov 0:6435b67ad23c 151
tvendov 0:6435b67ad23c 152 #define VX700_MJPEG 1
tvendov 0:6435b67ad23c 153
tvendov 0:6435b67ad23c 154 #define VX700_EN 0x81
tvendov 0:6435b67ad23c 155 #define VX700_MPS 128
tvendov 0:6435b67ad23c 156 #define VX700_IF_ALT_128 1
tvendov 0:6435b67ad23c 157 #define VX700_IF_ALT(A) VX700_IF_ALT_##A
tvendov 0:6435b67ad23c 158 #define VX700_INFO(SIZE) {VX700_VID, VX700_PID, _##SIZE, 0, \
tvendov 0:6435b67ad23c 159 "VX700", \
tvendov 0:6435b67ad23c 160 VX700_MJPEG, \
tvendov 0:6435b67ad23c 161 VX700_##SIZE, \
tvendov 0:6435b67ad23c 162 _5FPS, \
tvendov 0:6435b67ad23c 163 VX700_EN, \
tvendov 0:6435b67ad23c 164 128, \
tvendov 0:6435b67ad23c 165 VX700_IF_ALT(128), \
tvendov 0:6435b67ad23c 166 4, \
tvendov 0:6435b67ad23c 167 3}
tvendov 0:6435b67ad23c 168
tvendov 0:6435b67ad23c 169 //Sonix USB 2.0 Camera
tvendov 0:6435b67ad23c 170 #define SONIX_160x120 5
tvendov 0:6435b67ad23c 171 #define SONIX_176x144 4
tvendov 0:6435b67ad23c 172 #define SONIX_320x240 3
tvendov 0:6435b67ad23c 173 #define SONIX_352x288 2
tvendov 0:6435b67ad23c 174 #define SONIX_640x480 1
tvendov 0:6435b67ad23c 175
tvendov 0:6435b67ad23c 176 #define SONIX_IF_ALT_128 1
tvendov 0:6435b67ad23c 177 #define SONIX_IF_ALT_256 2
tvendov 0:6435b67ad23c 178 #define SONIX_IF_ALT_512 3
tvendov 0:6435b67ad23c 179 #define SONIX_IF_ALT_600 4
tvendov 0:6435b67ad23c 180 #define SONIX_IF_ALT_800 5
tvendov 0:6435b67ad23c 181 #define SONIX_IF_ALT_956 6
tvendov 0:6435b67ad23c 182 #define SONIX_IF_ALT(A) SONIX_IF_ALT_##A
tvendov 0:6435b67ad23c 183 #define SONIX_INFO(SIZE) {0x0c45, 0x62c0, _##SIZE, 0, \
tvendov 0:6435b67ad23c 184 "SONIX", \
tvendov 0:6435b67ad23c 185 1, \
tvendov 0:6435b67ad23c 186 SONIX_##SIZE, \
tvendov 0:6435b67ad23c 187 _5FPS, \
tvendov 0:6435b67ad23c 188 0x81, \
tvendov 0:6435b67ad23c 189 128, \
tvendov 0:6435b67ad23c 190 SONIX_IF_ALT(128), \
tvendov 0:6435b67ad23c 191 4, \
tvendov 0:6435b67ad23c 192 3}
tvendov 0:6435b67ad23c 193
tvendov 0:6435b67ad23c 194 static const CamInfo CamInfoList[] = {
tvendov 0:6435b67ad23c 195 // Logitech C270
tvendov 0:6435b67ad23c 196 C270_INFO(640x480),
tvendov 0:6435b67ad23c 197 C270_INFO(160x120),
tvendov 0:6435b67ad23c 198 C270_INFO(176x144),
tvendov 0:6435b67ad23c 199 C270_INFO(320x176),
tvendov 0:6435b67ad23c 200 C270_INFO(320x240),
tvendov 0:6435b67ad23c 201 C270_INFO(352x288),
tvendov 0:6435b67ad23c 202 C270_INFO(432x240),
tvendov 0:6435b67ad23c 203 C270_INFO(544x288),
tvendov 0:6435b67ad23c 204 C270_INFO(640x360),
tvendov 0:6435b67ad23c 205 //Needs HISPEED USB above 15 fps
tvendov 0:6435b67ad23c 206 C270_INFO(752x416),
tvendov 0:6435b67ad23c 207 C270_INFO(800x448),
tvendov 0:6435b67ad23c 208 C270_INFO(800x600),
tvendov 0:6435b67ad23c 209 //Needs HISPEED USB
tvendov 0:6435b67ad23c 210 C270_INFO(864x480),
tvendov 0:6435b67ad23c 211 C270_INFO(960x544),
tvendov 0:6435b67ad23c 212 C270_INFO(960x720),
tvendov 0:6435b67ad23c 213 C270_INFO(1024x576),
tvendov 0:6435b67ad23c 214 C270_INFO(1184x656),
tvendov 0:6435b67ad23c 215 C270_INFO(1280x720),
tvendov 0:6435b67ad23c 216 C270_INFO(1280x960),
tvendov 0:6435b67ad23c 217
tvendov 0:6435b67ad23c 218 // Logitech C210
tvendov 0:6435b67ad23c 219 C210_INFO(160x120),
tvendov 0:6435b67ad23c 220 C210_INFO(176x144),
tvendov 0:6435b67ad23c 221 C210_INFO(320x176),
tvendov 0:6435b67ad23c 222 C210_INFO(320x240),
tvendov 0:6435b67ad23c 223 C210_INFO(352x288),
tvendov 0:6435b67ad23c 224 C210_INFO(432x240),
tvendov 0:6435b67ad23c 225 C210_INFO(640x480),
tvendov 0:6435b67ad23c 226 C210_INFO(544x288),
tvendov 0:6435b67ad23c 227 C210_INFO(640x360),
tvendov 0:6435b67ad23c 228 C210_INFO(752x416),
tvendov 0:6435b67ad23c 229 C210_INFO(800x448),
tvendov 0:6435b67ad23c 230 C210_INFO(800x600),
tvendov 0:6435b67ad23c 231
tvendov 0:6435b67ad23c 232 // Logitech C170
tvendov 0:6435b67ad23c 233 C170_INFO(640x480),
tvendov 0:6435b67ad23c 234 C170_INFO(352x288),
tvendov 0:6435b67ad23c 235 C170_INFO(320x240),
tvendov 0:6435b67ad23c 236 C170_INFO(176x144),
tvendov 0:6435b67ad23c 237 C170_INFO(160x120),
tvendov 0:6435b67ad23c 238 C170_INFO(544x288),
tvendov 0:6435b67ad23c 239 C170_INFO(432x240),
tvendov 0:6435b67ad23c 240 C170_INFO(320x176),
tvendov 0:6435b67ad23c 241 C170_INFO(640x360),
tvendov 0:6435b67ad23c 242 //C170_INFO(800x480),
tvendov 0:6435b67ad23c 243 //C170_INFO(1024x768),
tvendov 0:6435b67ad23c 244
tvendov 0:6435b67ad23c 245 // Logitech Qcam Orbit AF QCAM-200R
tvendov 0:6435b67ad23c 246 Q200R_INFO(160x120),
tvendov 0:6435b67ad23c 247 Q200R_INFO(176x144),
tvendov 0:6435b67ad23c 248 Q200R_INFO(320x240),
tvendov 0:6435b67ad23c 249 Q200R_INFO(352x288),
tvendov 0:6435b67ad23c 250 Q200R_INFO(640x480),
tvendov 0:6435b67ad23c 251 Q200R_INFO(800x600),
tvendov 0:6435b67ad23c 252
tvendov 0:6435b67ad23c 253 // LifeCam VX700
tvendov 0:6435b67ad23c 254 VX700_INFO(160x120),
tvendov 0:6435b67ad23c 255 VX700_INFO(176x144),
tvendov 0:6435b67ad23c 256 VX700_INFO(320x240),
tvendov 0:6435b67ad23c 257 VX700_INFO(352x288),
tvendov 0:6435b67ad23c 258 VX700_INFO(640x480),
tvendov 0:6435b67ad23c 259
tvendov 0:6435b67ad23c 260 // Sonix USB 2.0 Camera
tvendov 0:6435b67ad23c 261 SONIX_INFO(160x120),
tvendov 0:6435b67ad23c 262 SONIX_INFO(176x144),
tvendov 0:6435b67ad23c 263 SONIX_INFO(320x240),
tvendov 0:6435b67ad23c 264 SONIX_INFO(352x288),
tvendov 0:6435b67ad23c 265 SONIX_INFO(640x480),
tvendov 0:6435b67ad23c 266
tvendov 0:6435b67ad23c 267 // Not found
tvendov 0:6435b67ad23c 268 {0,0,0,0},
tvendov 0:6435b67ad23c 269 };
tvendov 0:6435b67ad23c 270
tvendov 0:6435b67ad23c 271 CamInfo* getCamInfoList() {
tvendov 0:6435b67ad23c 272 return const_cast<CamInfo*>(CamInfoList);
tvendov 0:6435b67ad23c 273 }