This post describes how to port Vista Cube™ for RDC200/RDP550F initialization using 1)Linux console application or 2) Android Java Application.
We assume that our porting environment is on Android Linux and our target products are RDC200/RDP550F and you already setup a display driver for them.
Case 1) Linux console application
Take step by step!!
- Download a VistaCube.zip on our our dev-site. And extract the password protected zip-file into the appropriate location on your host computer.
- You need to know the password. If you don’t know, contact us.
- Include our RAONTECH i2c(rtimd-i2c) driver module into our linux system.
- Copy $VISTA_CUBE_PATH/src/linux_driver/rtimd-i2c/ into $KERNEL_PATH/drivers/misc/
- Write
source drivers/misc/rtimd-i2c/Kconfig
into $KERNEL_PATH/drivers/misc/Kconfig/ - Write
obj-y += rtimd-i2c/
in $KERNEL_PATH/drivers/misc/Makefile - Apply the driver module to your kernel
sudo make menuconfig
in $KERNEL_PATH/- Navigate : Device Drivers -> Misc devices -> RAONTECH Micro Display I2C support
- Check all sub-menu items
- Set permission for the driver module on init.rc
chmod 755 /dev/rtimd-i2c
- Build your kernel and then boot with it
- Set your ndk-path in $VISTA_CUBE_PATH/src/test/android/build_android.sh
- e.g.
NDK_SRC_DIR=“/Users/jpark/Library/Android/sdk/ndk-bundle”
- e.g.
- Check/Configure the following settings in according to your target system
- enable flags :$VISTA_CUBE_PATH/src/test/android/Android.mk
USE_VC_DEBUG_MSG := y
USE_MDC_RDC200 := y
USE_PANEL_RDP550F := y
- i2c bus number : $VISTA_CUBE_PATH/src/libvc/include/rti_vc_config.h
_CFG_I2C_BUS_NR_RDC_RDP0 6
_CFG_I2C_BUS_NR_RDC_RDP1 1
- Check if a path is accessible or not : $VISTA_CUBE_PATH/src/test/test.h
#define RDC200_LUT_FILE_PATH "/data/vclut/rdc200"
- enable flags :$VISTA_CUBE_PATH/src/test/android/Android.mk
- Download an appropriate init file ( RDC100 init file / RDC200 init file) in according to your target. And extract it into an appropriate location on your host computer.
- Write the whole path you want to download in rdcxxx_download_file_list.txt
- e.g in $INIT_FILE_PATH/download/rdp550f/rdc200_download_file_list.txt
- NOTE : The path (/data/vclut/rdc200) must match up with that wrote in the step 4.
0 /data/vclut/rdc200/rdc200_fw_v1.5_gpioB_20171010.hex
1 /data/vclut/rdc200/fw_rdc200.cfg
2 /data/vclut/rdc200/init_rdc200_R1_F5_rdp550f-e_20170614.rega
3 /data/vclut/rdc200/init_rdp550f-e_20170405.rega
4 /data/vclut/rdc200/20170406_gamm2.0.lut
10 /data/vclut/rdc200/bootlogo_00.bmp
- Copy the init files including rdcxxx_download_file_list.txt into your target platform
- e.g in your host computer
adb shell mkdir -p /data/vclut/rdc200
adb push $INIT_FILE_PATH/download/rdp550f/fw_rdc200.cfg /data/vclut/rdc200
adb push $INIT_FILE_PATH/download/rdp550f/rdc200_download_file_list.txt /data/vclut/rdc200
adb push $INIT_FILE_PATH/feature/rdc200_fw_v1.5_gpioB_20171010.hex /data/vclut/rdc200
adb push $INIT_FILE_PATH/feature/20170406_gamm2.0.lut /data/vclut/rdc200
adb push $INIT_FILE_PATH/feature/bootlogo_00.bmp /data/vclut/rdc200
adb push $INIT_FILE_PATH/init_lut/rdc200/init_rdc200_R1_F5_rdp550f-e_20170614.rega /data/vclut/rdc200
add push $INIT_FILE_PATH/init_lut/rdp550f/init_rdp550f-e_20170405.rega /data/vclut/rdc200
- e.g in your host computer
- Check the path you put the init files on $VISTA_CUBE_PATH/src/test/test.h
#define RDC200_LUT_FILE_PATH /data/vclut/rdc200
- Start vctest app and then download on CLI
cd $VISTA_CUBE_PATH/src/test/android
chmod u+x build_android.sh
./build_android.sh
adb push libs/arm64-v8a/vctest /data
adb shell
cd /data
./vctest
- Download followings
- 0 ↵ # Firmware image
- 0 ↵ # [0]: /data/vclut/rdc200/rdc200_fw_v1.5_gpioB_20171010.hex
- 1 ↵ # Firmware Configuration
- 0 ↵ # [0]: /data/vclut/rdc200/fw_rdc200.cfg
- 2 ↵ # RDC init LUT
- 2 ↵ # [2]: /data/vclut/rdc200/init_rdc200_R1_F5_rdp550f-e_20170614.rega
- 3 ↵ # RDP init LUT
- 3 ↵ # [3]: /data/vclut/rdc200/init_rdp550f-e_20170405.rega
- 4 ↵ # Gamma LUT
- 0 ↵ # [0]: /data/vclut/rdc200/20170406_gamma2.0.lut
- a ↵ # Bootlogo image
- 0 ↵ # [0]: /data/vclut/rdc200/bootlogo_00.bmp
- 0 ↵ # Firmware image
- After finishing step 9, reboot. Then you will see your platform’s default screen on our display panels.
Case 2) Android Java Application
- Same as the above.
- Same as the above.
- But there could be android permission issue.
- For testing, you can disable it temporarily:
adb shell setenforce 0
adb shell chmod 777 /dev/rtimd-i2c
- Or you can avoid it when build kernel
- Write
/dev/rtimd-i2c u:object_r:rtimodule_device:s0
in$ANDROID_SRC_PATH/external/sepolicy/file_contexts - Write
type rtimodule_device, dev_type;
in $ANDROID_SRC_PATH/external/sepolicy/device.te - Write
allow untrusted_app rtimodule_device:chr_file rw_file_perms;
in $ANDROID_SRC_PATH/external/sepolicy/untrusted_app.te - Write
chmod 0777 /dev/rtimd-i2c
in $ANDROID_SRC_PATH/system/core/rootdir/init.rc
- Write
- For testing, you can disable it temporarily:
- But there could be android permission issue.
- Build Android Java App
cd $VISTA_CUBE_PATH/src/test/android_app/
PATH=$PATH:/Users/jpark/Library/Android/sdk/ndk-bundle
ndk-build
- Import existing android project ($VISTA_CUBE/src/test/android_app) into Eclipse SDK
- Build and then install the output apk into your target platform
- Same as the above.
- Check if a path is accessible or not : $VISTA_CUBE_PATH/src/test/test.h
#define RDC200_LUT_FILE_PATH "/sdcard/Movies/vclut/rdc200"
- Check if a path is accessible or not : $VISTA_CUBE_PATH/src/test/test.h
- Same as the above.
- Add the whole path you want to download in $INIT_FILE_PATH/download/rdpxxx/rdcxxx_download_file_list.txt
- NOTE : The path (/sdcard/Movies/vclut/rdc200) must match up with that wrote in the step 4.
0 /sdcard/Movies/vclut/rdc200/rdc200_fw_v1.5_gpioB_20171010.hex
1 /sdcard/Movies/vclut/rdc200/fw_rdc200.cfg
2 /sdcard/Movies/vclut/rdc200/init_rdc200_R1_F5_rdp550f-e_20170614.rega
3 /sdcard/Movies/vclut/rdc200/init_rdp550f-e_20170405.rega
4 /sdcard/Movies/vclut/rdc200/20170406_gamm2.0.lut
10 /sdcard/Movies/vclut/rdc200/bootlogo_00.bmp
- Copy the init files including rdcxxx_download_file_list.txt into your target platform
adb shell mkdir -p /sdcard/Movies/vclut/rdc200
adb push $INIT_FILE_PATH/download/rdp550f/fw_rdc200.cfg /sdcard/Movies/vclut/rdc200
adb push $INIT_FILE_PATH/download/rdp550f/rdc200_download_file_list.txt /sdcard/Movies/vclut/rdc200
adb push $INIT_FILE_PATH/feature/rdc200_fw_v1.5_gpioB_20171010.hex /sdcard/Movies/vclut/rdc200
adb push $INIT_FILE_PATH/feature/20170406_gamm2.0.lut /sdcard/Movies/vclut/rdc200
adb push $INIT_FILE_PATH/feature/bootlogo_00.bmp /sdcard/Movies/vclut/rdc200
adb push $INIT_FILE_PATH/init_lut/rdc200/init_rdc200_R1_F5_rdp550f-e_20170614.rega /sdcard/Movies/vclut/rdc200
add push $INIT_FILE_PATH/init_lut/rdp550f/init_rdp550f-e_20170405.rega /sdcard/Movies/vclut/rdc200
- Check the path you put the init files on $VISTA_CUBE_PATH/src/test/test.h
#define RDC200_LUT_FILE_PATH "/sdcard/Movies/vclut/rdc200"
- Start the installed android app (in Step3) and then follow below.
- Select Controller ComboBox to be RDC200
- Select Panel ComboBox to be RDP550F
- Click APPLY button ( It shows a list of downloading file)
- Click DOWNLOAD button ( It will take some time )
- Same as the above.