wangzhibo
2026-09-11 659c470eba542383987aad227b7f918100f131fa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
menu "Xiaozhi Assistant"
 
config OTA_URL
    string "Default OTA URL"
    default "http://192.168.0.107:8002/xiaozhi/ota/"
    help
        The application will access this URL to check for new firmwares and server address.
 
choice
    prompt "Flash Assets"
    default FLASH_DEFAULT_ASSETS if !USE_EMOTE_MESSAGE_STYLE
    default FLASH_EXPRESSION_ASSETS if USE_EMOTE_MESSAGE_STYLE
    help
        Select the assets to flash.
 
    config FLASH_NONE_ASSETS
        bool "Do not flash assets"
    config FLASH_DEFAULT_ASSETS
        bool "Flash Default Assets"
        depends on !USE_EMOTE_MESSAGE_STYLE
    config FLASH_CUSTOM_ASSETS
        bool "Flash Custom Assets"
    config FLASH_EXPRESSION_ASSETS
        bool "Flash Emote Assets"
        depends on USE_EMOTE_MESSAGE_STYLE
endchoice
 
config CUSTOM_ASSETS_FILE
    depends on FLASH_CUSTOM_ASSETS
    string "Custom Assets File"
    default "assets.bin"
    help
        The custom assets file to flash.
        It can be a local file relative to the project directory or a remote url.
 
choice
    prompt "Default Language"
    default LANGUAGE_ZH_CN
    help
        Select device display language
 
    config LANGUAGE_ZH_CN
        bool "Chinese"
    config LANGUAGE_ZH_TW
        bool "Chinese Traditional"
    config LANGUAGE_EN_US
        bool "English"
    config LANGUAGE_JA_JP
        bool "Japanese"
    config LANGUAGE_KO_KR
        bool "Korean"
    config LANGUAGE_VI_VN
        bool "Vietnamese"
    config LANGUAGE_TH_TH
        bool "Thai"
    config LANGUAGE_DE_DE
        bool "German"
    config LANGUAGE_FR_FR
        bool "French"
    config LANGUAGE_ES_ES
        bool "Spanish"
    config LANGUAGE_IT_IT
        bool "Italian"
    config LANGUAGE_RU_RU
        bool "Russian"
    config LANGUAGE_AR_SA
        bool "Arabic"
    config LANGUAGE_HI_IN
        bool "Hindi"
    config LANGUAGE_PT_PT
        bool "Portuguese"
    config LANGUAGE_PL_PL
        bool "Polish"
    config LANGUAGE_CS_CZ
        bool "Czech"
    config LANGUAGE_FI_FI
        bool "Finnish"
    config LANGUAGE_TR_TR
        bool "Turkish"
    config LANGUAGE_ID_ID
        bool "Indonesian"
    config LANGUAGE_UK_UA
        bool "Ukrainian"
    config LANGUAGE_RO_RO
        bool "Romanian"
    config LANGUAGE_BG_BG
        bool "Bulgarian"
    config LANGUAGE_CA_ES
        bool "Catalan"
    config LANGUAGE_DA_DK
        bool "Danish"
    config LANGUAGE_EL_GR
        bool "Greek"
    config LANGUAGE_FA_IR
        bool "Persian"
    config LANGUAGE_FIL_PH
        bool "Filipino"
    config LANGUAGE_HE_IL
        bool "Hebrew"
    config LANGUAGE_HR_HR
        bool "Croatian"
    config LANGUAGE_HU_HU
        bool "Hungarian"
    config LANGUAGE_MS_MY
        bool "Malay"
    config LANGUAGE_NB_NO
        bool "Norwegian"
    config LANGUAGE_NL_NL
        bool "Dutch"
    config LANGUAGE_SK_SK
        bool "Slovak"
    config LANGUAGE_SL_SI
        bool "Slovenian"
    config LANGUAGE_SV_SE
        bool "Swedish"
    config LANGUAGE_SR_RS
        bool "Serbian"
endchoice
 
choice BOARD_TYPE
    prompt "Board Type"
    default BOARD_TYPE_BREAD_COMPACT_WIFI
    help
        Board type. 开发板类型
    config BOARD_TYPE_BREAD_COMPACT_WIFI
        bool "Bread Compact WiFi (面包板)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_WIFI_LCD
        bool "Bread Compact WiFi + LCD (面包板)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_WIFI_CAM
        bool "Bread Compact WiFi + LCD + Camera (面包板)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_ML307
        bool "Bread Compact ML307/EC801E (面包板 4G)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_NT26
        bool "Bread Compact NT26 (面包板 4G)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_ESP32
        bool "Bread Compact ESP32 DevKit (面包板)"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_BREAD_COMPACT_ESP32_LCD
        bool "Bread Compact ESP32 DevKit + LCD (面包板)"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_XMINI_C3_V3
        bool "Xmini C3 V3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_XMINI_C3_4G
        bool "Xmini C3 4G"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_XMINI_C3
        bool "Xmini C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_ESP_KORVO2_V3
        bool "Espressif Korvo2 V3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_KORVO2_V3_RNDIS
        bool "Espressif Korvo2 V3 RNDIS"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_SPARKBOT
        bool "Espressif SparkBot"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_SENSAIRSHUTTLE
        bool "Espressif ESP-SensairShuttle"
        depends on IDF_TARGET_ESP32C5
    config BOARD_TYPE_ESP_SPOT_S3
        bool "Espressif Spot-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_SPOT_C5
        bool "Espressif Spot-C5"
        depends on IDF_TARGET_ESP32C5
    config BOARD_TYPE_ESP_HI
        bool "Espressif ESP-HI"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_ESP_BOX_3
        bool "Espressif ESP-BOX-3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_BOX
        bool "Espressif ESP-BOX"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_BOX_LITE
        bool "Espressif ESP-BOX-Lite"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_P4_FUNCTION_EV_BOARD
        bool "Espressif ESP-P4-Function-EV-Board"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_ESP_VOCAT
        bool "Espressif ESP-VoCat"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_BOX_2
        bool "Kevin Box 2"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_C3
        bool "Kevin C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_KEVIN_SP_V3_DEV
        bool "Kevin SP V3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_SP_V4_DEV
        bool "Kevin SP V4"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_YUYING_313LCD
        bool "鱼鹰科技 3.13LCD"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_CGC
        bool "CGC"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_CGC_144
        bool "CGC 144"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_LICHUANG_DEV_S3
        bool "立创·实战派 ESP32-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LICHUANG_DEV_C3
        bool "立创·实战派 ESP32-C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_EDA_TV_PRO
        bool "EDA课程案例 EDA-TV-Pro"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_EDA_ROBOT_PRO
        bool "EDA课程案例 EDA-Robot-Pro"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_EDA_SUPER_BEAR
        bool "EDA课程案例 EDA-Super-Bear"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DF_K10
        bool "DFRobot 行空板 k10"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DF_S3_AI_CAM
        bool "DFRobot ESP32-S3 AI智能摄像头模块"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MAGICLICK_S3_2P4
        bool "神奇按钮 Magiclick_2.4"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MAGICLICK_S3_2P5
        bool "神奇按钮 Magiclick_2.5"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MAGICLICK_C3
        bool "神奇按钮 Magiclick_C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_MAGICLICK_C3_V2
        bool "神奇按钮 Magiclick_C3_v2"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_M5STACK_CORE_S3
        bool "M5Stack CoreS3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_CORE_TAB5
        bool "M5Stack Tab5"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_M5STACK_ATOM_S3_ECHO_BASE
        bool "M5Stack AtomS3 + Echo Base"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_ATOM_S3R_ECHO_BASE
        bool "M5Stack AtomS3R + Echo Base"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_ATOM_S3R_CAM_M12_ECHO_BASE
        bool "M5Stack AtomS3R CAM/M12 + Echo Base"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_ATOM_ECHOS3R
        bool "M5Stack AtomEchoS3R"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_CARDPUTER_ADV
        bool "M5Stack Cardputer Adv"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_ATOM_MATRIX_ECHO_BASE
        bool "M5Stack AtomMatrix + Echo Base"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_WAVESHARE_ESP32_TOUCH_LCD_3_5
        bool "Waveshare ESP32-Touch-LCD-3.5"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_WAVESHARE_ESP32_S3_CAM_XXXX
        bool "Waveshare ESP32-S3-CAM"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_AUDIO_BOARD
        bool "Waveshare ESP32-S3-Audio-Board"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_8
        bool "Waveshare ESP32-S3-Touch-AMOLED-1.8"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_43C
        bool "Waveshare ESP32-S3-Touch-AMOLED-1.43C"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_2_06
        bool "Waveshare ESP32-S3-Touch-AMOLED-2.06"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_2_06
        bool "Waveshare ESP32-C6-Touch-AMOLED-2.06"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_2_16
        bool "Waveshare ESP32-C6-Touch-AMOLED-2.16"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75
        bool "Waveshare ESP32-S3-Touch-AMOLED-1.75"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75C
        bool "Waveshare ESP32-S3-Touch-AMOLED-1.75C"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_83
        bool "Waveshare ESP32-S3-Touch-LCD-1.83"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4B
        bool "Waveshare ESP32-S3-Touch-LCD-4B"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4_3C
        bool "Waveshare ESP32-S3-Touch-LCD-4.3C"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85C
        bool "Waveshare ESP32-S3-Touch-LCD-1.85C"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85
        bool "Waveshare ESP32-S3-Touch-LCD-1.85"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_46
        bool "Waveshare ESP32-S3-Touch-LCD-1.46"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_C6_LCD_1_69
        bool "Waveshare ESP32-C6-LCD-1.69"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_LCD_1_83
        bool "Waveshare ESP32-C6-Touch-LCD-1.83"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_43
        bool "Waveshare ESP32-C6-Touch-AMOLOED-1.43"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_32
        bool "Waveshare ESP32-C6-Touch-AMOLOED-1.32"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_8
        bool "Waveshare ESP32-C6-Touch-AMOLED-1.8"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_32
        bool "Waveshare ESP32-S3-Touch-AMOLOED-1.32"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_49
        bool "Waveshare ESP32-S3-Touch-LCD-3.49"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_5
        bool "Waveshare ESP32-S3-Touch-LCD-3.5"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_ePaper_1_54_v1
        bool "Waveshare ESP32-S3-ePaper-1.54_v1"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_ePaper_1_54_v2
        bool "Waveshare ESP32-S3-ePaper-1.54_v2"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_ePaper_3_97
        bool "Waveshare ESP32-S3-ePaper-3.97"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_RLCD_4_2
        bool "Waveshare ESP32-S3-RLCD-4.2"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_5B
        bool "Waveshare ESP32-S3-Touch-LCD-3.5B"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_54
        bool "Waveshare ESP32-S3-Touch-LCD-1.54"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_S3_LCD_0_85
        bool "Waveshare ESP32-S3-LCD-0.85"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WAVESHARE_ESP32_P4_NANO
        bool "Waveshare ESP32-P4-NANO"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4B"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4_3
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4.3"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-7B"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_5
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.5"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4C"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-7"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-8"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-10.1"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_TUDOUZI
        bool "土豆子"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_CIRCLE_S3
        bool "LILYGO T-Circle-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_CAMERAPLUS_S3_V1_0_V1_1
        bool "LILYGO T-CameraPlus-S3_V1_0_V1_1"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_CAMERAPLUS_S3_V1_2
        bool "LILYGO T-CameraPlus-S3_V1_2"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_DISPLAY_S3_PRO_MVSRLORA
        bool "LILYGO T-Display-S3-Pro-MVSRLora"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_DISPLAY_S3_PRO_MVSRLORA_NO_BATTERY
        bool "LILYGO T-Display-S3-Pro-MVSRLora_No_Battery"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_DISPLAY_P4
        bool "LILYGO T-Display-P4"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_MOVECALL_MOJI_ESP32S3
        bool "Movecall Moji 小智AI衍生版"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MOVECALL_MOJI2_ESP32C5
        bool "Movecall Moji2.0 小智AI衍生版"
        depends on IDF_TARGET_ESP32C5
    config BOARD_TYPE_MOVECALL_CUICAN_ESP32S3
        bool "Movecall CuiCan 璀璨·AI吊坠"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3
        bool "正点原子DNESP32S3开发板"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX
        bool "正点原子DNESP32S3-BOX"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX0
        bool "正点原子DNESP32S3-BOX0"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX2_WIFI
        bool "正点原子DNESP32S3-BOX2-WIFI"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX2_4G
        bool "正点原子DNESP32S3-BOX2-4G"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3M_WIFI
        bool "正点原子DNESP32S3M-WIFI"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3M_4G
        bool "正点原子DNESP32S3M-4G"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX3
        bool "正点原子DNESP32S3-BOX3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DU_CHATX
        bool "嘟嘟开发板CHATX(wifi)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_TAIJI_PI_S3
        bool "太极小派esp32s3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_CUBE_0_85TFT_WIFI
        bool "无名科技星智0.85(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_CUBE_0_85TFT_ML307
        bool "无名科技星智0.85(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_CUBE_0_96OLED_WIFI
        bool "无名科技星智0.96(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_CUBE_0_96OLED_ML307
        bool "无名科技星智0.96(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_CUBE_1_54TFT_WIFI
        bool "无名科技星智1.54(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_CUBE_1_54TFT_ML307
        bool "无名科技星智1.54(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_METAL_1_54_WIFI
        bool "无名科技星智1.54 METAL(wifi)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_ABS_2_0
        bool "无名科技星智ABS 2.0"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SEEED_STUDIO_SENSECAP_WATCHER
        bool "Seeed Studio SenseCAP Watcher"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DOIT_S3_AIBOX
        bool "四博智联AI陪伴盒子"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MIXGO_NOVA
        bool "元控·青春"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_GENJUTECH_S3_1_54TFT
        bool "亘具科技1.54(s3)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_S3_LCD_EV_Board
        bool "乐鑫ESP S3 LCD EV Board开发板"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_S3_LCD_EV_Board_2
        bool "乐鑫ESP S3 LCD EV Board 2开发板"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ZHENGCHEN_1_54TFT_WIFI
        bool "征辰科技1.54(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ZHENGCHEN_1_54TFT_ML307
        bool "征辰科技1.54(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ZHENGCHEN_CAM
        bool "征辰科技AI Camera"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ZHENGCHEN_CAM_ML307
        bool "征辰科技AI Camera(ML307)"
    depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MINSI_K08_DUAL
        bool "敏思科技K08(DUAL)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SPOTPEAR_ESP32_S3_1_54_MUMA
        bool "Spotpear ESP32-S3-1.54-MUMA"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SPOTPEAR_ESP32_S3_1_28_BOX
        bool "Spotpear ESP32-S3-1.28-BOX"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_OTTO_ROBOT
        bool "ottoRobot"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ELECTRON_BOT
        bool "electronBot"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_JIUCHUAN
        bool "九川智能"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LABPLUS_MPYTHON_V3
        bool "labplus mpython_v3 board"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LABPLUS_LEDONG_V2
        bool "labplus ledong_v2 board"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SURFER_C3_1_14TFT
        bool "Surfer-C3-1.14TFT"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_YUNLIAO_S3
        bool "小智云聊-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_WIRELESS_TAG_WTP4C5MP07S
        bool "Wireless-Tag WTP4C5MP07S"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_AIPI_LITE
        bool "AIPI-Lite"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_HU_087
        bool "HU-087"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_Freenove_ESP32S3_DISPLAY_2_8_LCD
        bool "Freenove ESP32S3 Display 2.8 LCD"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_AI_VOX3
        bool "NULLLAB-AI-VOX3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SENING_XIAOZHI_ESP32S3
        bool "SENING_XIAOZHI_ESP32S3"
        depends on IDF_TARGET_ESP32S3
endchoice
 
choice
    depends on BOARD_TYPE_LILYGO_T_DISPLAY_P4
    prompt "Select the screen type"
    default SCREEN_TYPE_HI8561
        config SCREEN_TYPE_HI8561
            bool "HI8561"
        config SCREEN_TYPE_RM69A10
            bool "RM69A10"
endchoice
 
choice
    depends on BOARD_TYPE_LILYGO_T_DISPLAY_P4
    prompt "Select the color format of the screen"
    default SCREEN_PIXEL_FORMAT_RGB565
        config SCREEN_PIXEL_FORMAT_RGB565
            bool "RGB565"
        config SCREEN_PIXEL_FORMAT_RGB888
            bool "RGB888"
endchoice
 
choice ESP_S3_LCD_EV_Board_Version_TYPE
    depends on BOARD_TYPE_ESP_S3_LCD_EV_Board
    prompt "EV_BOARD Type"
    default ESP_S3_LCD_EV_Board_1p4
    config ESP_S3_LCD_EV_Board_1p4
        bool "乐鑫ESP32_S3_LCD_EV_Board-MB_V1.4"
    config ESP_S3_LCD_EV_Board_1p5
        bool "乐鑫ESP32_S3_LCD_EV_Board-MB_V1.5"
endchoice
 
choice DISPLAY_OLED_TYPE
    depends on BOARD_TYPE_BREAD_COMPACT_WIFI || BOARD_TYPE_BREAD_COMPACT_ML307 || BOARD_TYPE_BREAD_COMPACT_NT26 || BOARD_TYPE_BREAD_COMPACT_ESP32 || BOARD_TYPE_HU_087
    prompt "OLED Type"
    default OLED_SSD1306_128X32
    help
        OLED Monochrome Display Type
    config OLED_SSD1306_128X32
        bool "SSD1306 128*32"
    config OLED_SSD1306_128X64
        bool "SSD1306 128*64"
    config OLED_SH1106_128X64
        bool "SH1106 128*64"
endchoice
 
choice DISPLAY_LCD_TYPE
    depends on BOARD_TYPE_BREAD_COMPACT_WIFI_LCD || BOARD_TYPE_BREAD_COMPACT_ESP32_LCD || BOARD_TYPE_CGC || BOARD_TYPE_BREAD_COMPACT_WIFI_CAM
    prompt "LCD Type"
    default LCD_ST7789_240X320
    help
        LCD Display Type
    config LCD_ST7789_240X320
        bool "ST7789 240*320, IPS"
    config LCD_ST7789_240X320_NO_IPS
        bool "ST7789 240*320, Non-IPS"
    config LCD_ST7789_170X320
        bool "ST7789 170*320"
    config LCD_ST7789_172X320
        bool "ST7789 172*320"
    config LCD_ST7789_240X280
        bool "ST7789 240*280"
    config LCD_ST7789_240X240
        bool "ST7789 240*240"
    config LCD_ST7789_240X240_7PIN
        bool "ST7789 240*240, 7PIN"
    config LCD_ST7789_240X135
        bool "ST7789 240*135"
    config LCD_ST7735_128X160
        bool "ST7735 128*160"
    config LCD_ST7735_128X128
        bool "ST7735 128*128"
    config LCD_ST7796_320X480
        bool "ST7796 320*480 IPS"
    config LCD_ST7796_320X480_NO_IPS
        bool "ST7796 320*480, Non-IPS"
    config LCD_ILI9341_240X320
        bool "ILI9341 240*320"
    config LCD_ILI9341_240X320_NO_IPS
        bool "ILI9341 240*320, Non-IPS"
    config LCD_GC9A01_240X240
        bool "GC9A01 240*240 Circle"
    config LCD_CUSTOM
        bool "Custom LCD (自定义屏幕参数)"
endchoice
 
choice DISPLAY_ESP32S3_KORVO2_V3
    depends on BOARD_TYPE_ESP_KORVO2_V3 || BOARD_TYPE_ESP_KORVO2_V3_RNDIS
    prompt "ESP32S3_KORVO2_V3 LCD Type"
    default ESP32S3_KORVO2_V3_LCD_ST7789
    help
        LCD Display Type
    config ESP32S3_KORVO2_V3_LCD_ST7789
        bool "ST7789 240*280"
    config ESP32S3_KORVO2_V3_LCD_ILI9341
        bool "ILI9341 240*320"
endchoice
 
choice DISPLAY_ESP32S3_CAM_XXXX
    depends on BOARD_TYPE_WAVESHARE_ESP32_S3_CAM_XXXX
    prompt "ESP32S3_CAM LCD Type"
    default BSP_LCD_SIZE_2INCH
    help
        LCD Display Type
    config BSP_LCD_SIZE_2INCH
        bool "2inch Touch LCD Module"
 
    config BSP_LCD_SIZE_2_8INCH
        bool "2.8inch Touch LCD Module"
 
    config BSP_LCD_SIZE_3_5INCH
        bool "3.5inch Touch LCD Module"
 
    config BSP_LCD_SIZE_1_83INCH
        bool "1.83inch Touch LCD Module"
endchoice
 
choice DISPLAY_ESP32S3_AUDIO_BOARD
    depends on BOARD_TYPE_WAVESHARE_ESP32_S3_AUDIO_BOARD
    prompt "ESP32S3_AUDIO_BOARD LCD Type"
    default AUDIO_BOARD_LCD_JD9853
    help
        LCD Display Type
    config AUDIO_BOARD_LCD_JD9853
        bool "JD9853 320*172"
    config AUDIO_BOARD_LCD_ST7789
        bool "ST7789 240*320"
endchoice
 
choice DISPLAY_ESP32S3_TOUCH_LCD_1_85C
    depends on BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85C
    prompt "ESP32S3_TOUCH_LCD_1_85C version"
    default VERSION_2_0
    help
        hardware version
    config VERSION_1_0
        bool "version 1.0"
    config VERSION_2_0
        bool "version 2.0"
endchoice
 
 
choice DISPLAY_STYLE
    prompt "Select display style"
    default USE_DEFAULT_MESSAGE_STYLE
    help
        Select display style for Xiaozhi device
 
    config USE_DEFAULT_MESSAGE_STYLE
        bool "Enable default message style"
 
    config USE_WECHAT_MESSAGE_STYLE
        bool "Enable WeChat Message Style"
 
    config USE_EMOTE_MESSAGE_STYLE
        bool "Emote animation style"
        depends on BOARD_TYPE_ESP_BOX || BOARD_TYPE_ESP_BOX_3 \
            || BOARD_TYPE_ESP_VOCAT || BOARD_TYPE_LICHUANG_DEV_S3 \
            || BOARD_TYPE_ESP_SENSAIRSHUTTLE
endchoice
 
config USE_MULTILINE_CHAT_MESSAGE
    bool "Use multiline chat message display (default mode only)"
    depends on USE_DEFAULT_MESSAGE_STYLE
    default n
    help
        When enabled, the chat message area in the default display mode shows
        multiple wrapped lines that grow upward from the bottom of the screen,
        with auto-adaptive height.
        When disabled (default), a single-line horizontally scrolling label
        is shown at the bottom of the screen.
 
choice WAKE_WORD_TYPE
    prompt "Wake Word Implementation Type"
    default USE_AFE_WAKE_WORD if (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
    default WAKE_WORD_DISABLED
    help
        Choose the type of wake word implementation to use
 
    config WAKE_WORD_DISABLED
        bool "Disabled"
        help
            Disable wake word detection
 
    config USE_ESP_WAKE_WORD
        bool "Wakenet model without AFE"
        depends on IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C6 || (IDF_TARGET_ESP32 && SPIRAM)
        help
            Support ESP32 C3、ESP32 C5 与 ESP32 C6, and (ESP32 with PSRAM)
 
    config USE_AFE_WAKE_WORD
        bool "Wakenet model with AFE"
        depends on (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
        help
            Support AEC if available, requires ESP32 S3 and PSRAM
 
    config USE_CUSTOM_WAKE_WORD
        bool "Multinet model (Custom Wake Word)"
        depends on (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
        help
            Requires ESP32 S3 and PSRAM
 
endchoice
 
config CUSTOM_WAKE_WORD
    string "Custom Wake Word"
    default "xiao tu dou"
    depends on USE_CUSTOM_WAKE_WORD
    help
        Custom Wake Word, use pinyin for Chinese, separated by spaces
 
config CUSTOM_WAKE_WORD_DISPLAY
    string "Custom Wake Word Display"
    default "小土豆"
    depends on USE_CUSTOM_WAKE_WORD
    help
        Greeting sent to the server after wake word detection
 
config CUSTOM_WAKE_WORD_THRESHOLD
    int "Custom Wake Word Threshold (%)"
    default 20
    range 1 99
    depends on USE_CUSTOM_WAKE_WORD
    help
        Custom Wake Word Threshold, range 1-99, the smaller the more sensitive, default 20
 
config SEND_WAKE_WORD_DATA
    bool "Send Wake Word Data"
    default y
    depends on USE_AFE_WAKE_WORD || USE_CUSTOM_WAKE_WORD
    help
        Send wake word data to the server as the first message of the conversation and wait for response
 
config WAKE_WORD_DETECTION_IN_LISTENING
    bool "Enable Wake Word Detection in Listening Mode"
    default n
    depends on USE_AFE_WAKE_WORD || USE_CUSTOM_WAKE_WORD
    help
        Enable wake word detection while in listening mode.
        When enabled, the device can detect wake word during listening,
        which allows interrupting the current conversation.
        When disabled (default), wake word detection is turned off during listening.
 
config USE_AUDIO_PROCESSOR
    bool "Enable Audio Noise Reduction"
    default y
    depends on (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
    help
        Requires ESP32 S3 and PSRAM
 
config USE_DEVICE_AEC
    bool "Enable Device-Side AEC"
    default n
        depends on USE_AUDIO_PROCESSOR && (BOARD_TYPE_ESP_BOX_3 || BOARD_TYPE_ESP_BOX || BOARD_TYPE_ESP_BOX_LITE \
        || BOARD_TYPE_LICHUANG_DEV_S3 || BOARD_TYPE_ESP_KORVO2_V3 || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75|| BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75C || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_83\
        || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_2_06 || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4_3 \
        || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B \
        || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C || BOARD_TYPE_ESP_S3_LCD_EV_Board_2 || BOARD_TYPE_YUNLIAO_S3 \
        || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 \
        || BOARD_TYPE_ESP_VOCAT || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_49 || BOARD_TYPE_WAVESHARE_ESP32_S3_RLCD_4_2 || BOARD_TYPE_ZHENGCHEN_CAM || BOARD_TYPE_ZHENGCHEN_CAM_ML307 \
        || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4_3C || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_54 || BOARD_TYPE_WAVESHARE_ESP32_S3_LCD_0_85 || BOARD_TYPE_AI_VOX3 || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_43C)
    help
        To work properly, device-side AEC requires a clean output reference path from the speaker signal and physical acoustic isolation between the microphone and speaker.
 
config USE_SERVER_AEC
    bool "Enable Server-Side AEC (Unstable)"
    default n
    depends on USE_AUDIO_PROCESSOR
    help
        To work perperly, server-side AEC requires server support
 
config USE_AUDIO_DEBUGGER
    bool "Enable Audio Debugger"
    default n
    help
        Enable audio debugger, send audio data through UDP to the host machine
 
menu "WiFi Configuration Method"
    help
        WiFi Configuration Method Selection
    config USE_HOTSPOT_WIFI_PROVISIONING
        bool "Hotspot"
        default y
        help
            Use WiFi Hotspot to transmit WiFi configuration data
    config USE_ACOUSTIC_WIFI_PROVISIONING
        bool "Acoustic"
        help
            Use audio signal to transmit WiFi configuration data
 
    config USE_ESP_BLUFI_WIFI_PROVISIONING
        bool "Esp Blufi"
        help
            Use esp blufi protocol to transmit WiFi configuration data
        select BT_ENABLED
        select BT_BLE_42_FEATURES_SUPPORTED
        select BT_BLE_BLUFI_ENABLE
        select MBEDTLS_DHM_C
endmenu
 
config AUDIO_DEBUG_UDP_SERVER
    string "Audio Debug UDP Server Address"
    default "192.168.2.100:8000"
    depends on USE_AUDIO_DEBUGGER
    help
        UDP server address, format: IP:PORT, used to receive audio debugging data
 
config RECEIVE_CUSTOM_MESSAGE
    bool "Enable Custom Message Reception"
    default n
    help
        Enable custom message reception, allow the device to receive custom messages from the server (preferably through the MQTT protocol)
 
menu "Camera Configuration"
    depends on !IDF_TARGET_ESP32
 
    comment "Warning: Please read the help text before modifying these settings."
 
    config XIAOZHI_CAMERA_ALLOW_JPEG_INPUT
        bool "Allow JPEG Input"
        default n
        help
            Allow JPEG Input format for the camera.
 
            This option may need to be enabled when using a USB camera.
 
            Not currently supported when used simultaneously with XIAOZHI_ENABLE_ROTATE_CAMERA_IMAGE.
 
    config XIAOZHI_ENABLE_HARDWARE_JPEG_ENCODER
        bool "Enable Hardware JPEG Encoder"
        default y
        depends on SOC_JPEG_ENCODE_SUPPORTED
        help
            Use hardware JPEG encoder on ESP32-P4 to encode image to JPEG.
            See https://docs.espressif.com/projects/esp-idf/en/stable/esp32p4/api-reference/peripherals/jpeg.html for more details.
 
    config XIAOZHI_ENABLE_HARDWARE_JPEG_DECODER
        bool "Enable Hardware JPEG Decoder"
        default n
        depends on SOC_JPEG_DECODE_SUPPORTED && XIAOZHI_CAMERA_ALLOW_JPEG_INPUT
        help
            Use hardware JPEG decoder on ESP32-P4 to decode JPEG to image.
            See https://docs.espressif.com/projects/esp-idf/en/stable/esp32p4/api-reference/peripherals/jpeg.html for more details.
 
    config XIAOZHI_ENABLE_CAMERA_DEBUG_MODE
        bool "Enable Camera Debug Mode"
        default n
        help
            Enable camera debug mode, print camera debug information to the console.
            Only works on boards that support camera.
 
    config XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP
        bool "Enable software camera buffer endianness swapping"
        default n
        depends on !CAMERA_SENSOR_SWAP_PIXEL_BYTE_ORDER
        help
            This option treats the camera buffer as a uint16_t[] array and performs byte-swapping (endianness conversion) on each element.
 
            Should only be modified by development board integration engineers.
 
            **Incorrect usage may result in incorrect image colors!**
 
            ATTENTION: If the option CAMERA_SENSOR_SWAP_PIXEL_BYTE_ORDER is available for your sensor, please use that instead.
 
    menuconfig XIAOZHI_ENABLE_ROTATE_CAMERA_IMAGE
        bool "Enable Camera Image Rotation"
        default n
        depends on !XIAOZHI_CAMERA_ALLOW_JPEG_INPUT
        help
            Enable camera image rotation, rotate the camera image to the correct orientation.
            - On ESP32-P4, rotation is handled by PPA hardware.
            - On other chips, rotation is done in software with performance cost.
            - For 180° rotation, use HFlip + VFlip instead of this option.
 
            Not currently supported when used simultaneously with XIAOZHI_CAMERA_ALLOW_JPEG_INPUT.
 
    if XIAOZHI_ENABLE_ROTATE_CAMERA_IMAGE
        choice XIAOZHI_CAMERA_IMAGE_ROTATION_ANGLE
            prompt "Camera Image Rotation Angle (clockwise)"
            default XIAOZHI_CAMERA_IMAGE_ROTATION_ANGLE_90
            help
                Camera image rotation angle.
            config XIAOZHI_CAMERA_IMAGE_ROTATION_ANGLE_90
                bool "90°"
            config XIAOZHI_CAMERA_IMAGE_ROTATION_ANGLE_270
                bool "270°"
            comment "For 180° rotation, use HFlip + VFlip instead of this option"
        endchoice
    endif
endmenu
 
menu "TAIJIPAI_S3_CONFIG"
    depends on BOARD_TYPE_TAIJI_PI_S3
    choice I2S_TYPE_TAIJIPI_S3
        prompt "taiji-pi-S3 I2S Type"
        default TAIJIPAI_I2S_TYPE_STD
        help
            I2S 类型选择
        config TAIJIPAI_I2S_TYPE_STD
            bool "I2S Type STD"
        config TAIJIPAI_I2S_TYPE_PDM
            bool "I2S Type PDM"
    endchoice
 
    config I2S_USE_2SLOT
    bool "Enable I2S 2 Slot"
    default y
    help
        启动双声道
endmenu
 
endmenu