63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# Custom Emojis
|
|
|
|
Put your custom PNG files in `png/` and custom GIF files in `gif/`.
|
|
|
|
The filename without extension is used as the emotion name. Directory names are
|
|
not part of the emotion name, so `png/neutral.png` is loaded as `neutral`.
|
|
|
|
The display code looks up images by names such as:
|
|
|
|
- `neutral.png` or `neutral.gif`
|
|
- `happy.png` or `happy.gif`
|
|
- `sad.png` or `sad.gif`
|
|
- `angry.png` or `angry.gif`
|
|
- `thinking.png` or `thinking.gif`
|
|
- `confused.png` or `confused.gif`
|
|
- `surprised.png` or `surprised.gif`
|
|
- `shocked.png` or `shocked.gif`
|
|
- `sleepy.png` or `sleepy.gif`
|
|
- `relaxed.png` or `relaxed.gif`
|
|
|
|
Recommended minimum set:
|
|
|
|
- `neutral`
|
|
- `happy`
|
|
- `thinking`
|
|
- `sad`
|
|
- `angry`
|
|
|
|
Fatigue reminder:
|
|
|
|
- Add `wakeup.gif` or `wakeup.png` to make the idle-fatigue reminder show a custom idol animation.
|
|
- The reminder defaults to `wakeup` when camera drowsiness is detected, then waits 60 seconds before it can trigger again.
|
|
- Optional NVS settings in namespace `fatigue`:
|
|
- `enabled` (`bool`, default `true`)
|
|
- `camera_enabled` (`bool`, default `true`)
|
|
- `camera_debug_preview` (`bool`, default `true`; shows the sampled frame with the eye ROI box)
|
|
- `camera_interval_sec` (`int`, default `3`)
|
|
- `camera_closed_samples` (`int`, default `2`)
|
|
- `silence_enabled` (`bool`, default `false`)
|
|
- `idle_timeout_sec` (`int`, default `12`)
|
|
- `listening_timeout_sec` (`int`, default `12`)
|
|
- `cooldown_sec` (`int`, default `60`)
|
|
- `emotion` (`string`, default `wakeup`)
|
|
- `message` (`string`, default Chinese wake-up line)
|
|
- `sound_asset` (`string`, optional OGG filename in the assets partition)
|
|
|
|
If an emotion-specific image is missing, the firmware falls back to `neutral`
|
|
before using the built-in icon.
|
|
|
|
For Zhengchen CAM boards, the build packages both subdirectories:
|
|
|
|
- Put static/default faces in `png/`, such as `png/neutral.png`.
|
|
- Put animated/special actions in `gif/`, such as `gif/wakeup.gif`.
|
|
- If both folders contain the same emotion name, PNG wins. For example,
|
|
`png/neutral.png` is used before `gif/neutral.gif`.
|
|
|
|
After adding or replacing files, run a full flash so the assets partition is
|
|
updated:
|
|
|
|
```bash
|
|
idf.py flash
|
|
```
|