28 lines
1.8 KiB
JSON
28 lines
1.8 KiB
JSON
{
|
|
"_comment": "Shining LED face mask (BLE). Driven by the FaceController subsystem (face/mask_face.py) which imports the standalone Mask project. Needs an env with bleak + Pillow (g1_env). Free the mask from the phone app before connecting.",
|
|
"mask_dir": "",
|
|
"_mask_dir": "Path to the Mask project (flat shiningmask lib). Empty -> auto: <Project>/Mask. Env override: SANAD_MASK_DIR.",
|
|
"name_prefix": "MASK",
|
|
"_name_prefix": "BLE scan prefix; the mask advertises e.g. 'MASK-02A711'. Env: SANAD_MASK_NAME_PREFIX.",
|
|
"address": "",
|
|
"_address": "Specific BLE MAC to connect to. Empty -> scan by name_prefix. Env: SANAD_MASK_ADDRESS.",
|
|
"adapter": "",
|
|
"_adapter": "BlueZ adapter (e.g. 'hci0'). Empty -> default. Env: SANAD_MASK_ADAPTER.",
|
|
"brightness": 95,
|
|
"_brightness": "0-128. Keep <=100 to avoid LED flicker (battery-limited).",
|
|
"fps": 8.0,
|
|
"_fps": "FaceAnimator (fallback driver) frame rate (PLAY commands/sec).",
|
|
"lifelike": true,
|
|
"_lifelike": "Use the LifelikeFace driver (face/face_motion.py): eye saccades, varied blinks, listening/thinking/speaking states, reactions, smooth lip-sync. false -> basic FaceAnimator.",
|
|
"autostart": true,
|
|
"_autostart": "Auto-connect + Start face on boot (best-effort, background — never blocks startup). After the one-time frame upload, later boots just connect + animate. false -> connect/start manually from the dashboard.",
|
|
"connect_timeout": 15.0,
|
|
"connect_attempts": 5,
|
|
"eye_color": [0, 230, 255],
|
|
"_eye_color": "Face eye/iris RGB (baked into the uploaded frames). Default cyan. Set via the dashboard 'Apply colors' (persisted here).",
|
|
"mouth_color": [255, 50, 50],
|
|
"_mouth_color": "Face mouth RGB. Default red.",
|
|
"sclera_color": [255, 255, 255],
|
|
"_sclera_color": "White-of-the-eye RGB. Default white."
|
|
}
|