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
VKLCD70RT
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.
- 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
USB/USBHostCam/CamInfo.cpp@0:6435b67ad23c, 2017-02-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |