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

Revision:
0:6435b67ad23c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RGA/rga_func.h	Thu Feb 16 10:23:48 2017 +0000
@@ -0,0 +1,96 @@
+/*
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+ 
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+ 
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+*/
+ 
+#ifndef RGA_FUNC_H
+#define RGA_FUNC_H
+
+#include "RGA.h"
+#include "lcd_panel.h"
+
+typedef struct {
+    char * style;
+    int x;
+    int y;
+    int w;
+    int h;
+} draw_rectangle_pos_t;
+
+typedef enum {
+	MANUAL_INTERACT,
+	AUTO_INTERACT
+}interact_t;
+
+#if (LCD_VDC5_CH0_PANEL == LCD_CH0_PANEL_VKLCD70RT)
+ #define IMG_DRAW_WIDTH                      (518)
+ #define IMG_DRAW_HEIGHT                     (322)
+ #define IMAGE_WIDTH_SCROLL_FUNC             (835)      // Image width of Scroll function
+ #define IMAGE_HEIGHT_SCROLL_FUNC            (322)      // Image height of Scroll function
+ #define IMAGE_WIDTH_ZOOM_FUNC               (518)      // Image width of Zoom function
+ #define IMAGE_HEIGHT_ZOOM_FUNC              (322)      // Image height of Zoom function
+ #define CRYSTAL_DIAMETER                    (119)
+ #define SLIDE_WIDTH                         (106)
+ #define NO_DEV_X							 (285)
+ #define NO_DEV_Y							 (75)
+#else
+ #define IMG_DRAW_WIDTH                      (235)
+ #define IMG_DRAW_HEIGHT                     (146)
+ #define IMAGE_WIDTH_SCROLL_FUNC             (379)      // Image width of Scroll function
+ #define IMAGE_HEIGHT_SCROLL_FUNC            (146)      // Image height of Scroll function
+ #define IMAGE_WIDTH_ZOOM_FUNC               (235)      // Image width of Zoom function
+ #define IMAGE_HEIGHT_ZOOM_FUNC              (146)      // Image height of Zoom function
+ #define CRYSTAL_DIAMETER                    (55)
+ #define SLIDE_WIDTH                         (50)
+ #define NO_DEV_X							 (128)
+ #define NO_DEV_Y 							 (24)
+#endif
+
+#define DISSOLVE_MAX_NUM                    (256)
+#define SCROLL_MAX_NUM                      (IMAGE_WIDTH_SCROLL_FUNC - IMG_DRAW_WIDTH)
+#define ZOOM_MAX_NUM                        (IMAGE_HEIGHT_ZOOM_FUNC / 2)
+#define ROTATION_MAX_NUM                    (360)
+#define ACCELERATE_MAX_NUM                  (256)
+
+#define ANIMATION_TIMING_EASE               (0)
+#define ANIMATION_TIMING_LINEAR             (1)
+#define ANIMATION_TIMING_EASE_IN            (2)
+#define ANIMATION_TIMING_EASE_OUT           (3)
+#define ANIMATION_TIMING_EASE_IN_OUT        (4)
+
+extern void Set_RGAObject(frame_buffer_t* frmbuf_info);
+extern void RGA_Func_DrawFullScreen(frame_buffer_t* frmbuf_info, const graphics_image_t *image);
+extern void RGA_Func_DrawRectangle(frame_buffer_t* frmbuf_info, draw_rectangle_pos_t * pos, int pos_num);
+extern void RGA_Func_DrawImage(frame_buffer_t* frmbuf_info, int x, int y);
+extern void RGA_Func_Dissolve(frame_buffer_t* frmbuf_info, float32_t global_alpha, interact_t mode);
+extern void RGA_Func_Scroll(frame_buffer_t* frmbuf_info, int src_width_pos, interact_t mode);
+extern void RGA_Func_Zoom(frame_buffer_t* frmbuf_info, int src_height_pos, interact_t mode);
+extern void RGA_Func_Rotation(frame_buffer_t* frmbuf_info, graphics_matrix_float_t image_angle, interact_t mode);
+extern void RGA_Func_Accelerate(frame_buffer_t* frmbuf_info, int animation_timing, float32_t relative_pos);
+extern void Rotor(frame_buffer_t* frmbuf_info, graphics_matrix_float_t image_angle);
+
+extern void RGA_Func_DrawCamScreen(uint8_t* cam_buffer);
+extern void RGA_Func_DrawPNG(frame_buffer_t* frmbuf_info, const graphics_image_t* png_img, int x, int y);
+extern bool RGA_Func_CheckPorts(frame_buffer_t* frmbuf_info, bool rca_pluged, bool usb_pluged);
+extern void RGA_Func_Rotor(frame_buffer_t* frmbuf_info, graphics_matrix_float_t image_angle, interact_t mode, graphics_image_t *image);
+extern void RGA_Func_Axel(frame_buffer_t* frmbuf_info, int animation_timing, float32_t relative_pos, graphics_image_t* image);
+extern void RGA_Func_Zo(frame_buffer_t* frmbuf_info, int src_height_pos, interact_t mode, graphics_image_t* image);
+extern void RGA_Func_Scr(frame_buffer_t* frmbuf_info, int src_width_pos, interact_t mode, graphics_image_t* image);
+extern void RGA_Func_Diss(frame_buffer_t* frmbuf_info, float32_t global_alpha, interact_t mode, graphics_image_t* image);
+#endif
+