80 lines
2.4 KiB
Python
80 lines
2.4 KiB
Python
from enum import Enum
|
|
import os
|
|
APPDATA_PATH = os.environ.get("LOCALAPPDATA")
|
|
# APPDATA_PATH = "/Users/mason/Developer/Kneron-Academy/test_images"
|
|
# 取得專案根目錄的絕對路徑並設定 UXUI_ASSETS 為絕對路徑
|
|
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
UXUI_ASSETS = os.path.join(PROJECT_ROOT, "uxui", "")
|
|
# 新版路徑結構 (不需要獨立的 models 和 scripts 資料夾)
|
|
UTILS_DIR = os.path.join(APPDATA_PATH, "Kneron_Academy", "utils")
|
|
SCRIPT_CONFIG = os.path.join(UTILS_DIR, "config.json")
|
|
UPLOAD_DIR = os.path.join(APPDATA_PATH, "Kneron_Academy", "uploads")
|
|
FW_DIR = os.path.join(APPDATA_PATH, "Kneron_Academy", "firmware")
|
|
# Global Constants
|
|
APP_NAME = "Innovedus AI Playground"
|
|
WINDOW_SIZE = (1200, 900)
|
|
BACKGROUND_COLOR = "#143058"
|
|
SECONDARY_COLOR = "#005ED7"
|
|
MASK_STYLE = f"background-color: rgba(0, 0, 0, 128);"
|
|
DEVICE_BOX_STYLE = f"background-color: {BACKGROUND_COLOR}; padding: 20px; border-radius: 20px; padding: 10px 20px;"
|
|
|
|
BUTTON_STYLE = """
|
|
QPushButton {
|
|
background: transparent;
|
|
color: white;
|
|
border: 2px solid white;
|
|
border-radius: 15px;
|
|
padding: 5px 10px;
|
|
}
|
|
QPushButton:hover {
|
|
background-color: rgba(255, 255, 255, 50);
|
|
}
|
|
QPushButton:pressed {
|
|
background-color: rgba(255, 255, 255, 100);
|
|
}
|
|
"""
|
|
|
|
SQUARE_BUTTON_STYLE = "background: transparent; color: white; border: 1px transparent; border-radius: 10px; "
|
|
POPUP_SIZE_RATIO = 0.67
|
|
NO_DEVICE_GIF = UXUI_ASSETS + "no_device_temp.gif"
|
|
|
|
|
|
# Firmware Path Relatives
|
|
FIRMWARE_PATHS = {
|
|
"scpu": "../../res/firmware/fw_scpu.bin",
|
|
"ncpu": "../../res/firmware/fw_ncpu.bin",
|
|
}
|
|
|
|
# MODEL_BUTTON = [
|
|
# ('Face Detection', self.run_face_detection),
|
|
# ('Gender/Age Detection', self.run_gender_age_detection),
|
|
# ('Object Detection', self.run_object_detection),
|
|
# ('Mask Detection', self.run_mask_detection),
|
|
# ('Image Project', self.start_image_project),
|
|
# ('Upload Model', self.upload_model)
|
|
# ]
|
|
|
|
# Model Inference Parameter
|
|
MODEL_TIMEOUT = 5000
|
|
|
|
# TODO: Mapping of the values
|
|
class DeviceType(Enum):
|
|
KL520 = 256
|
|
# KL720 = 720
|
|
KL720 = 1824
|
|
KL720_L = 512
|
|
KL530 = 530
|
|
KL832 = 832
|
|
KL730 = 732
|
|
KL630 = 630
|
|
KL540 = 540
|
|
|
|
DongleModelMap = {
|
|
"0x100": "KL520", # product_id "0x100" 對應到 520 系列
|
|
"0x720": "KL720", # product_id "0x720" 對應到 720 系列
|
|
}
|
|
|
|
DongleIconMap = {
|
|
"0x100": "ic_dongle_520.png",
|
|
"0x720": "ic_dongle_720.png"
|
|
} |