Categories
บทความ

เพิ่ม LCD Controller ใน MPLAB Harmony

การเพิ่ม LCD Controller ใน MPLAB เพื่อให้รองรับ LCD Controller ที่เราจะใช้สามารถทำได้โดยการคัดลอกไฟล์ต่างๆของ LCD Controller ที่มีอยู่แล้วมาแก้ไข วิธีการนี้จะง่ายและเร็วกว่าการเขียนเองใหม่หมด ตัวอย่างนี้จะเป็นการคัดลอก LCD Controller SSD1926 มาแก้ไขเพื่อใช้งานกับ LCD Controller SSD1963 ครับ

เริ่มจากคัดลอกโฟล์เดอร์ framework/driver/gfx/controller/ssd1926 แล้วแก้ไขชื่อเป็น framework/driver/gfx/controller/ssd1963 เสร็จแล้วให้เข้าไปเปลี่ยนชื่อไฟล์จาก ssd1926 เป็น ssd1963 หลังจากนั้นให้แก้ไข Source code ในไฟล์ framework/driver/gfx/controller/ssd1963/drv_gfx_ssd1963.h และ framework/driver/gfx/controller/ssd1963/src/drv_gfx_ssd1963.c ให้เป็นของ SSD1963 ในขั้นตอนการแก้ไข source code นี้จะขอข้ามไปนะครับ เนื่องจากการแก้ไข source code มีรายละเอียดค่อนข้างเยอะ

ต่อไปให้แก้ไข harmony config ในโฟล์เดอร์ framework/driver/gfx/controller/ssd1963/config ดังนี้

drv_gfx_ssd1963.hconfig

menu “SSD1963”

config USE_DRV_GFX_SSD1963_NEEDED
bool

config USE_DRV_GFX_SSD1963
bool “Use SSD1963 Driver?”
select DRIVER
select USE_DRV_PMP_NEEDED
default n if !USE_DRV_GFX_SSD1963_NEEDED
default y if USE_DRV_GFX_SSD1963_NEEDED
—help—
IDH_HTML_Graphics_Driver_Library
—endhelp—
endmenu

ifblock USE_DRV_GFX_SSD1963
file DRV_GFX_SSD1963_H “$HARMONY_VERSION_PATH/framework/driver/gfx/controller/ssd1963/drv_gfx_ssd1963.h” to “$PROJECT_HEADER_FILES/framework/driver/gfx/controller/gfx_ssd1963/drv_gfx_ssd1963.h”
file DRV_GFX_SSD1963_C “$HARMONY_VERSION_PATH/framework/driver/gfx/controller/ssd1963/src/drv_gfx_ssd1963.c” to “$PROJECT_SOURCE_FILES/framework/driver/gfx/controller/gfx_ssd1963/src/drv_gfx_ssd1963.c”
endif

ส่วนไฟล์ drv_gfx_ssd1963_config.h.ftl, drv_gfx_ssd1963_config_template.h, drv_gfx_ssd1963_init.c.ftl, drv_gfx_ssd1963_init_data.c.ftl ให้แก้ไขจาก SSD1926 เป็น SSD1963

สุดท้ายให้เพิ่มข้อความด้านล่างไปในไฟล์ framework/driver/gfx/controller/config/drv_gfx_controller.hconfig

source “$HARMONY_VERSION_PATH/framework/driver/gfx/controller/ssd1963/config/drv_gfx_ssd1963.hconfig”