일상

자작 JADE지갑 부팅화면에 "Jade DIY" 텍스트 대신 로고 나오게 하기

복제고양이 2025. 6. 26. 22:42
300x250

 

 

 WaveShare esp32s2 LCD2인치 로 JADE지갑을 만들었다.

오픈소스에 있는 그대로 올리면 처음 화면은 Jade DIY라는 텍스트가 뜬 뒤 메인 화면으로 이동한다.

원래 지갑은 제이드 로고가 뜨는데 이런 자작용 기기에는 DIY텍스트가 뜨도록 만든 것 같다.

어딘가 찾아보면 로고로 띄울 수 있지 않을까 하는 생각이 들었다.

 

 

 

 한참 소스를 찾아서 로고를 띄울 수 있게 바꾸었다.

 

우선 CMakeLists.txt 에 있는 스플레시 로고 이미지를 내가 사용하는 기기일때도 (CONFIG_BOARD_TYPE_WS_TOUCH_LCD2) 사용하도록 편집했다.

...


if (CONFIG_BOARD_TYPE_JADE OR CONFIG_BOARD_TYPE_JADE_V1_1 OR CONFIG_BOARD_TYPE_JADE_V2 OR CONFIG_BOARD_TYPE_WS_TOUCH_LCD2)
    list(APPEND logo_files ${PROJECT_DIR}/logo/splash.bin.gz ${PROJECT_DIR}/logo/ce.bin.gz ${PROJECT_DIR}/logo/fcc.bin.gz ${PROJECT_DIR}/logo/weee.bin.gz)
endif()


...

 

 

그 다음 gui.c 에 있는 코드의 조건문도 같이 수정했다.

여기도 두 영역에 CONFIG_BOARD_TYPE_WS_TOUCH_LCD2 를 추가했다.

 

....


gui_activity_t* gui_current_activity(void) { return current_activity; }

#if defined(CONFIG_BOARD_TYPE_JADE) || defined(CONFIG_BOARD_TYPE_JADE_V1_1) || defined(CONFIG_BOARD_TYPE_JADE_V2) || defined(CONFIG_BOARD_TYPE_WS_TOUCH_LCD2)
extern const uint8_t splashstart[] asm("_binary_splash_bin_gz_start");
extern const uint8_t splashend[] asm("_binary_splash_bin_gz_end");
#endif

gui_activity_t* gui_display_splash(void)
{
    gui_activity_t* const act = gui_make_activity();
    gui_view_node_t* splash_node = NULL;

    // Blank screen while awaiting attestation data upload
    if (!gui_awaiting_attestation_data()) {
#if defined(CONFIG_BOARD_TYPE_JADE) || defined(CONFIG_BOARD_TYPE_JADE_V1_1) || defined(CONFIG_BOARD_TYPE_JADE_V2) || defined(CONFIG_BOARD_TYPE_WS_TOUCH_LCD2)
        Picture* const pic = get_picture(splashstart, splashend);
        gui_make_picture(&splash_node, pic);
#else
        gui_make_text(&splash_node, "Jade DIY", TFT_WHITE);
#endif
        gui_set_align(splash_node, GUI_ALIGN_CENTER, GUI_ALIGN_MIDDLE);
        gui_set_parent(splash_node, act->root_node);
    }
    
    
    
    ...

 

 

 두 파일을 수정 후 빌드가 되는것을 확인했다. 플래싱도 성공했다.

 

 

  다시 부팅이 되고 이제 JADE 로고가 스플래시 화면으로 뜬다.

 

 

 

디스플레이가 다른 기기와 달리 세로로 길어서 깨져보이지 않을까 싶었는데 생각보다 잘 나온다.

반응형