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
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
|
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
config NXWIDGETS
bool "Enable NxWidgets"
default n
depends on NX && HAVE_CXX
---help---
Enable support for NxWidgets
if NXWIDGETS
menu "NX Server/Device Configuration"
config NXWIDGETS_FLICKERFREE
bool "Enable Flicker Reduction Logic"
default y if NX_LCDDRIVER
default n if !NX_LCDDRIVER
---help---
Because of their performance an in the manner in which they are
updated, LCDs may be prone to "flicker" in the displays when Widgets
are updated. Often more complex (and slower) options are availble
to reduce the flicker. Enabling this option will enabled those
lower-performance flicker-reductions measures where-ever thay may
be available.
config NXWIDGETS_EXTERNINIT
bool "External display Initialization"
default n
---help---
Define to support external display initialization.
config NXWIDGETS_DEVNO
int "LCD Device Number"
default 0
depends on NXWIDGETS_EXTERNINIT || NX_LCDDRIVER
---help---
LCD device number (in case there are more than one LCDs connected).
Default: 0
config NXWIDGETS_VPLANE
int "Plane Number"
default 0
depends on !NX_LCDDRIVER && !NXWIDGETS_EXTERNINIT
---help---
Only a single video plane is supported. Default: 0
if NX_MULTIUSER
config NXWIDGET_SERVERINIT
bool "Start server"
default y
depends on !NUTTX_KERNEL
---help---
If this option is selected, then the NxWidgets::CNxServer class will
bring up the NX server when it is initialized. If this option is
not selected then the NxWidgets::CNxServer constructor
initialization logic will assume that the NX server has been started
by other, external logic and will simply attempt to connect to the
server.
if NXWIDGET_SERVERINIT
config NXWIDGETS_SERVERPRIO
int "NX Server priority"
default 110
---help---
Priority of the NX server. This applies only if NX is configured in
multi-user mode (NX_MULTIUSER=y). Default: 110.
NOTE: Of the three priority definitions here, NXWIDGETS_SERVERPRIO
should have the highest priority to avoid data overrun race conditions.
Such errors would most likely appear as duplicated rows of data on the
display.
config NXWIDGETS_SERVERSTACK
int "NX Server Stack Size"
default 2048
---help---
NX server thread stack size (in multi-user mode). Default 2048
endif # NXWIDGET_SERVERINIT
config NXWIDGETS_CLIENTPRIO
int "NX Client Priority"
default 100
---help---
The thread that calls CNxServer::connect() will be re-prioritized to
this priority. This applies only if NX is configured in multi-user
mode (NX_MULTIUSER=y). Default: 100
config NXWIDGETS_LISTENERPRIO
int "NX Listener Priority"
default 100
---help---
Priority of the NX event listener thread. This applies only if NX
is configured in multi-user mode (NX_MULTIUSER=y). Default: 100
config NXWIDGETS_LISTENERSTACK
int "NX Listener Stack Size"
default 2048
---help---
NX listener thread stack size (in multi-user mode). Default 2048
endif # NX_MULTIUSER
config NXWIDGET_EVENTWAIT
bool "Event Waiting"
default n
---help---
Build in support for external window event, modal loop management
logic. This includes methods to wait for windows events to occur
so that looping logic can sleep until something interesting happens
with the window.
endmenu # NX Server/Device Configuration
menu "NXWidget Configuration"
config NXWIDGETS_BPP
int "BPP"
---help---
Supported bits-per-pixel {8, 16, 24, 32}. Default: The smallest
BPP configuration supported by NX.
config NXWIDGETS_SIZEOFCHAR
int "Size of a character (1 or 2 bytes)"
range 1 2
---help---
Size of character {1 or 2 bytes}. Default Determined by
NXWIDGETS_SIZEOFCHAR
comment "NXWidget Default Values"
config NXWIDGETS_SYSTEM_CUSTOM_FONTID
bool "Use a Custom Default Font"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWIDGETS_SYSTEM_CUSTOM_FONTID
config NXWIDGETS_DEFAULT_FONTID
int "Default Font ID"
default 0
---help---
Use this default NxWidgets font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif # NXWIDGETS_SYSTEM_CUSTOM_FONTID
config NXWIDGETS_TNXARRAY_INITIALSIZE
int "Initial Size of Dynamic Arrays"
default 16
---help---
Default dynamic array size (in entries). Default: 16
config NXWIDGETS_TNXARRAY_SIZEINCREMENT
int "Dyanamic Array Reallocation Size Increment"
default 8
---help---
Default dynamic array realloctino increment (in entries). Default: 8
config NXWIDGETS_CUSTOM_FILLCOLORS
bool "Custom Default Fill Colors"
default n
---help---
Select custom default colors for the widget background. If defined,
the hexadecimal values for all filled colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWIDGETS_CUSTOM_FILLCOLORS
config NXWIDGETS_DEFAULT_BACKGROUNDCOLOR
hex "Default Normal Background Color"
---help---
Normal background color. Default: RGB(148,189,215)
config NXWIDGETS_DEFAULT_SELECTEDBACKGROUNDCOLOR
hex "Default Selected Background Color"
---help---
Default selected background color. Default: RGB(206,227,241)
config NXWIDGETS_DEFAULT_HIGHLIGHTCOLOR
hex "Default Highlight Color"
---help---
Highlight color. Currently this color is only used in clist
boxes, progress bars, and slider grips. Default: RGB(192,192,192)
endif # NXWIDGETS_CUSTOM_FILLCOLORS
config NXWIDGETS_CUSTOM_EDGECOLORS
bool "Custom Default Edge Colors"
default n
---help---
Select custom default colors for the widget edges. If defined,
then hexadecimal values for all edge colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWIDGETS_CUSTOM_EDGECOLORS
config NXWIDGETS_DEFAULT_SHINEEDGECOLOR
hex "Default Shiny Edge Color"
---help---
Shiny side boarder color. Default: RGB(248,248,248)
config NXWIDGETS_DEFAULT_SHADOWEDGECOLOR
hex "Default Shadow Edge Color"
---help---
Shadowed side border color. Default: RGB(35,58,73)
endif # NXWIDGETS_CUSTOM_EDGECOLORS
config NXWIDGETS_CUSTOM_TEXTCOLORS
bool "Custom Default Text colors"
default n
---help---
Select custom colors for the widget text. If defined, then
hexadecimal values for all text colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWIDGETS_CUSTOM_TEXTCOLORS
config NXWIDGETS_DEFAULT_DISABLEDTEXTCOLOR
hex "Default Disabled Text Color"
---help---
Text color on a disabled widget: Default: RGB(192,192,192)
config NXWIDGETS_DEFAULT_ENABLEDTEXTCOLOR
hex "Default Enabled Text Color"
---help---
Text color on a enabled widget. Default: RGB(248,248,248)
config NXWIDGETS_DEFAULT_SELECTEDTEXTCOLOR
hex "Default Selected Text Color"
---help---
Text color on a selected widget. Default: RGB(0,0,0)
config NXWIDGETS_DEFAULT_FONTCOLOR
hex "Default Default Font Color"
---help---
Default font color. Default: RGB(255,255,255)
endif # NXWIDGETS_CUSTOM_TEXTCOLORS
config NXWIDGETS_TRANSPARENT_COLOR
hex "Transparent Color"
default 0x0
---help---
Transparent color. Default: RGB(0,0,0)
comment "Keypad behavior"
config NXWIDGETS_FIRST_REPEAT_TIME
int "First Repeat Time"
default 500
---help---
Time taken before a key starts repeating (in milliseconds). Default: 500
config NXWIDGETS_CONTINUE_REPEAT_TIME
int "Continue Repeat Time"
default 200
---help---
Time taken before a repeating key repeats again (in milliseconds).
Default: 200
config NXWIDGETS_DOUBLECLICK_TIME
int "Double Click Time"
default 350
---help---
Left button release-press time for double click (in milliseconds).
Default: 350
config NXWIDGETS_KBDBUFFER_SIZE
int "Keyboard Buffer Size"
default 16
---help---
Size of incoming character buffer, i.e., the maximum number of
characters that can be entered between NX polling cycles without
losing data.
config NXWIDGETS_CURSORCONTROL_SIZE
int "Cursor Control Buffer Size"
default 4
---help---
Size of incoming cursor control buffer, i.e., the maximum number
of cursor controls that can between entered by NX polling cycles
without losing data. Default: 4
config NXWIDGET_MEMMONITOR
bool "Memory Usage Monitor"
default n
---help---
Enable memory usage monitor instrumentation. This feature is only
used by the NxWidget/NxWM unit tests.
endmenu # NXWidget Configuration
endif # NxWidgets
config NXWM
bool "Enable NxWM"
default n
depends on NXWIDGETS && NX_MULTIUSER
---help---
Enable support for the NuttX Tiny Window Manager (NxWM)
if NXWM
menu "NxWM General settings"
config NXWM_LARGE_ICONS
bool "Use large icons"
default n
---help---
The default icons are nominally 25x25 pixels for a small
resolution/display, this is a good selection. For example, a
320x240 display that is 4.5cm x 3.375 would have a resolution of
about 71 dots per cm. In this case, the icon would be 0.35cm.
If you use a larger display, these smaller icons may seem
inappropriately small. In this case, you have two options: (1)
Enable image scaling which will make the icons "fuzzy" looking, or
(2) select this option to enable use of larger icons.
config NXWM_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWM_CUSTOM_FONTID
config NXWM_DEFAULT_FONTID
int "Font ID"
default 0
---help---
Use this NxWM default font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif # NXWM_CUSTOM_FONTID
config NXWM_UNITTEST
bool "NxWM Unit Test"
default n
---help---
Enable Hooks for the NxWM Unit Test
comment "Color configuration"
config NXWM_CUSTOM_FILLCOLORS
bool "Custom Default Fill Colors"
default n
---help---
Select custom default colors for the widget background. If defined,
the hexadecimal values for all filled colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWM_CUSTOM_FILLCOLORS
config NXWM_DEFAULT_BACKGROUNDCOLOR
hex "Background Color"
---help---
Normal background color. Default: RGB(148,189,215)
config NXWM_DEFAULT_SELECTEDBACKGROUNDCOLOR
hex "Normal Background Color"
---help---
Select background color. Default: RGB(206,227,241)
endif # NXWM_DEFAULT_BACKGROUNDCOLOR
config NXWM_CUSTOM_EDGECOLORS
bool "Custom Default Edge Colors"
default n
---help---
Select custom default colors for the widget edges. If defined,
then hexadecimal values for all edge colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWM_CUSTOM_EDGECOLORS
config NXWM_DEFAULT_SHINEEDGECOLOR
hex "Shiny Edge Color"
---help---
Color of the bright edge of a border. Default: RGB(255,255,255)
config NXWM_DEFAULT_SHADOWEDGECOLOR
hex "Shadow Edge Color"
---help---
Color of the shadowed edge of a border. Default: RGB(0,0,0)
endif # NXWM_CUSTOM_EDGECOLORS
config NXWM_CUSTOM_TEXTCOLORS
bool "Custom Default Text colors"
default n
---help---
Select custom colors for the widget text. If defined, then
hexadecimal values for all text colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n.
if NXWM_CUSTOM_TEXTCOLORS
config NXWM_DEFAULT_FONTCOLOR
hex "Default Font Color"
---help---
Default fong color. Default: RGB(0,0,0)
config NXWM_TRANSPARENT_COLOR
hex "Transparent Color"
default 0x0
---help---
The "transparent" color. Default: RGB(0,0,0)
endif # NXWM_CUSTOM_TEXTCOLORS
comment "Background Image"
config NXWM_DISABLE_BACKGROUND_IMAGE
bool "Disable Background Image"
default n if !NXWM_DISABLE_MINIMIZE
default y if NXWM_DISABLE_MINIMIZE
---help---
Disable support for the "Desktop" background image.
config NXWM_BACKGROUND_IMAGE
string "Background Image"
default "NXWidgets::g_nuttxBitmap160x160"
depends on !NXWM_DISABLE_BACKGROUND_IMAGE
---help---
The name of the image to use in the background window. Default:
"NXWidgets::g_nuttxBitmap160x160"
endmenu # NxWM General Configuration
menu "NxWM Taskbar Configuration"
comment "Horizontal and vertical spacing of icons in the task bar"
config NXWM_TASKBAR_VSPACING
int "Vertical Spacing"
default 2
---help---
Vertical spacing. Default: 2 pixels
config NXWM_TASKBAR_HSPACING
int "Horizontal Spacing"
default 2
---help---
Horizontal spacing. Default: 2 rows
choice NXWM_TASKBAR_LOCATION
prompt "Taskbar Location"
default NXWM_TASKBAR_TOP
config NXWM_TASKBAR_TOP
bool "Top"
---help---
Task bar is at the top of the display
config NXWM_TASKBAR_BOTTOM
bool "Bottom"
---help---
Task bar is at the bottom of the display
config NXWM_TASKBAR_LEFT
bool "Left"
---help---
Task bar is on the left side of the display
config NXWM_TASKBAR_RIGHT
bool "Right"
---help---
Task bar is on the right side of the display
endchoice
config NXWM_CUSTOM_TASKBAR_WIDTH
bool "Use Custom Taskbar width"
default n
---help---
Set to override the default taskbar thickness (either vertical or
horizontal). The default depends on the selected horizontal or
vertical spacing. Default: 25 + 2*spacing
if NXWM_CUSTOM_TASKBAR_WIDTH
config NXWM_TASKBAR_WIDTH
int "Taskbar Width"
default 29 if !NXWM_LARGE_ICONS
default 54 if !NXWM_LARGE_ICONS
---help---
Task bar thickness (either vertical or horizontal). Default: 25 + 2*2
endif # NXWM_CUSTOM_TASKBAR_WIDTH
config NXWM_TASKBAR_ICONSCALE
bool "Scale Icons"
default n
---help---
Enable scaling of icons in the task bar
if NXWM_TASKBAR_ICONSCALE
config NXWM_TASKBAR_ICONWIDTH
int "Icon Width (pixels)"
default 50
---help---
Scaled width of each taskbar ICON in pixels.
config NXWM_TASKBAR_ICONHEIGHT
int "Icon Height (rows)"
default 42
---help---
Scaled height of each taskbar ICON in pixels.
endif # NXWM_TASKBAR_ICONSCALE
config NXWM_DISABLE_MINIMIZE
bool "Disable Minimize Button"
default n
---help---
If the "desktop" is empty, users have no need to minimize any
windows. If the buttons are small, it's easy to hit minimize
button accidentally when trying to close an application.
config NXWM_TASKBAR_NO_BORDER
bool "Suppress Taskbar border"
default n
---help---
Suppress drawing a the border around the taskbar.
endmenu # NxWM Taskbar Configuration
menu "NxWM Toolbar Configuration"
config NXWM_CUSTOM_TOOLBAR_HEIGHT
bool "Use Custom Toolbar Height"
default n
---help---
Set to override the default tooldar height The default depends on
the selected horizontal or vertical spacing. Default: 21 + 2*spacing
or 42 + 2*spacing if large icons are selected
if NXWM_CUSTOM_TOOLBAR_HEIGHT
config NXWM_TOOLBAR_HEIGHT
int "Toolbar Height"
default 25 if !NXWM_LARGE_ICONS
default 46 if NXWM_LARGE_ICONS
---help---
The height of the tool bar in each application window. At present,
all icons are 21 pixels in height and, hence, require a task bar of
at least that size. Default: 21 + 2*2or 42 + 2*spacing if large
icons are selected
endif # NXWM_CUSTOM_TOOLBAR_HEIGHT
endmenu # NxWM Toolbar Configuration
menu "NxWM Application Window Configuration"
config NXWM_CUSTOM_APPWINDOW_ICONS
bool "Custom Start/Stop Application Window Icons"
default n
---help---
Select to override the default Application Window Stop and Minimize Icons.
if NXWM_CUSTOM_APPWINDOW_ICONS
config NXWM_STOP_BITMAP
string "Stop Icon"
default "NxWM::g_stopBitmap"
---help---
The glyph to use as the Stop icon. Default: NxWM::g_stopBitmap
config NXWM_MINIMIZE_BITMAP
string "Minimize Icon"
default "NxWM::g_minimizeBitmap"
---help---
The glyph to use as the Minimize icon. Default: NxWM::g_minimizeBitmap
endif # NXWM_CUSTOM_APPWINDOW_ICONS
endmenu # NxWM Application Window Configuration
menu "NxWM Start Window Configuration"
comment "Horizontal and vertical spacing of icons in the task bar"
config NXWM_STARTWINDOW_VSPACING
int "Vertical Spacing"
default 4
---help---
Vertical spacing. Default: 4 pixels
config NXWM_STARTWINDOW_HSPACING
int "Horizontal Spacing"
default 4
---help---
Horizontal spacing. Default: 4 rows
config NXWM_CUSTOM_STARTWINDOW_ICON
bool "Custom Start Window Icon"
default n
---help---
Select to override the default Start Window Icon: NxWM::g_playBitmap24x24
if NXWM_CUSTOM_STARTWINDOW_ICON
config NXWM_STARTWINDOW_ICON
string "StartWindow Icon"
default "NxWM::g_playBitmap24x24"
---help---
The glyph to use as the start window icon. Default: NxWM::g_playBitmap24x24
endif # NXWM_CUSTOM_STARTWINDOW_ICON
config NXWM_STARTWINDOW_MQNAME
string "Message Queue Name"
default "/dev/nxwm"
---help---
The well known name of the message queue. Used to communicated from
CWindowMessenger to the start window thread. Default: "/dev/nxwm"
config NXWM_STARTWINDOW_MXMSGS
int "Max Messages"
default 32
---help---
The maximum number of messages to queue before blocking. Defualt 32
config NXWM_STARTWINDOW_MXMPRIO
int "Message Priority"
default 42
---help---
The message priority. Default: 42.
config NXWM_STARTWINDOW_PRIO
int "StartWindow Task Priority"
default 100
---help---
Priority of the StartWindow task. Default: 100.
NOTE: This priority should be less than NXWIDGETS_SERVERPRIO or else
there may be data overrun errors. Such errors would most likely appear
as duplicated rows of data on the display.
config NXWM_STARTWINDOW_STACKSIZE
int "StartWindow Task Stack Size"
default 2048
---help---
The stack size to use when starting the StartWindow task. Default:
2048 bytes.
endmenu # Start Window Configuration
menuconfig NXWM_NXCONSOLE
bool "NxConsole Window"
default y
---help---
Enable support for the NxConsole window which provides a text window
in which you can interact with NSH.
if NXWM_NXCONSOLE
config NXWM_NXCONSOLE_PRIO
int "NxConsole Task Priority"
default 100
---help---
Priority of the NxConsole task. Default: 100.
NOTE: This priority should be less than NXWIDGETS_SERVERPRIO or
else there may be data overrun errors. Such errors would most likely
appear as duplicated rows of data on the display.
config NXWM_NXCONSOLE_STACKSIZE
int "NxConsole Task Stack Size"
default 2048
---help---
The stack size to use when starting the NxConsole task. Default:
2048 bytes.
config NXWM_NXCONSOLE_CUSTOM_COLORS
bool "Custom NxConsole Colors"
default n
---help---
Select custom default colors for the NxConsole window. If defined,
the hexadecimal values for all NxConsole colors must be provided
(there are no default colors because the hexadecimal representation
of the default colors depend on the pixel depth). Default: n
if NXWM_NXCONSOLE_CUSTOM_COLORS
config NXWM_NXCONSOLE_WCOLOR
hex "NxConsole Background Color"
---help---
The color of the NxConsole window background. Default:
RGB(192,192,192)
config NXWM_NXCONSOLE_FONTCOLOR
hex "NxConsole Font Color"
---help---
The color of the fonts to use in the NxConsole window.
Default: RGB(0,0,0)
endif # NXWM_NXCONSOLE_CUSTOM_COLORS
config NXWM_NXCONSOLE_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXWM_DEFAULT_FONTID).
if NXWM_NXCONSOLE_CUSTOM_FONTID
config NXWM_NXCONSOLE_FONTID
int "NxConsole Font ID"
default 0
---help---
Use this default font ID in the NxConsole window instead of the
NxWM font ID (NXWM_DEFAULT_FONTID). Default: 0
endif # NXWM_NXCONSOLE_CUSTOM_FONTID
config NXWM_CUSTOM_NXCONSOLE_ICON
bool "Custom NxConsole Icon"
default n
---help---
Select to override the default NxConsole Window Icon: NxWM::g_cmdBitmap
if NXWM_CUSTOM_NXCONSOLE_ICON
config NXWM_NXCONSOLE_ICON
string "NxConsole Icon"
default "NxWM::g_cmdBitmap"
---help---
The glyph to use as the NxConsole icon. Default: NxWM::g_cmdBitmap
endif # NXWM_NXCONSOLE_ICON
endif # NXWM_NXCONSOLE
menu "NxWM Touchscreen Configuration"
config NXWM_TOUCHSCREEN
bool "Touchscreen Support"
default y if INPUT
default n if !INPUT
---help---
Define to build in touchscreen support.
if NXWM_TOUCHSCREEN
comment "Touchscreen device settings"
config NXWM_TOUCHSCREEN_DEVINIT
bool "Touchscreen Device Initialization"
default y
depends on !NUTTX_KERNEL
---help---
It this option is selected, then the NxWM:CTouchscreen listener
thread will call a function arch_tcinitialize(NXWM_TOUCHSCREEN_DEVNO)
in order to instantiate the touchscreen driver at path
NXWM_TOUCHSCREEN_DEVPATH. If NXWM_TOUCHSCREEN_DEVINIT is not
selected, then the NxWM:CTouchscreen listener thread will assume
that the driver has already been initialized at
NXWM_TOUCHSCREEN_DEVPATH.
NOTE that in the kernel build, all touchscreen initialize must be
performed in kernel logic prior to the execution of NxWM.
config NXWM_TOUCHSCREEN_DEVNO
int "Touchscreen Device Number"
default 0
---help---
Touchscreen device minor number, i.e., the N in /dev/inputN.
Default: 0
config NXWM_TOUCHSCREEN_DEVPATH
string "Touchscreen Device Path"
default "/dev/input0"
---help---
The full path to the touchscreen device. Default: "/dev/input0"
config NXWM_TOUCHSCREEN_SIGNO
int "Touchscreen Signal Number"
default 5
---help---
The realtime signal used to wake up the touchscreen listener
thread. Default: 5
config NXWM_TOUCHSCREEN_LISTENERPRIO
int "Touchscreen Listener Task Priority"
default 100
---help---
Priority of the touchscreen listener thread. Default: 100
config NXWM_TOUCHSCREEN_LISTENERSTACK
int "Touchscreen Listener Task Stack Size"
default 1024
---help---
Touchscreen listener thread stack size. Default 1024
config NXWM_TOUCHSCREEN_CONFIGDATA
bool "Touchscreen configuration data"
default n
depends on PLATFORM_CONFIGDATA
---help---
If the architecture supports retention of configuration data, then
you may select this option to save touchscreen configuration data.
Otherwise, the touchscreen calibration must be performed each time
that you boot the system.
endif # NXWM_TOUCHSCREEN
endmenu # NxWM Touchscreen Configuration
menu "NxWM Keyboard Configuration"
config NXWM_KEYBOARD
bool "Keyboard Support"
default n
---help---
Define to build in touchscreen support.
if NXWM_KEYBOARD
comment "Keyboard device settings"
config NXWM_KEYBOARD_DEVPATH
string "Keyboard Device Path"
default "/dev/console"
---help---
The full path to the touchscreen device. Default: "/dev/console"
config NXWM_KEYBOARD_SIGNO
int "Keyboard Task Signal Number"
default 6
---help---
The realtime signal used to wake up the touchscreen listener thread.
Default: 6
config NXWM_KEYBOARD_BUFSIZE
int "Keyboard Buffer Size"
default 16
---help---
The size of the keyboard read data buffer. Default: 16
config NXWM_KEYBOARD_LISTENERPRIO
int "Keyboard Listener Task Priority"
default 100
---help---
Priority of the touchscreen listener thread. Default: 100
config NXWM_KEYBOARD_LISTENERSTACK
int "Keyboard Listener Task Stack Size"
default 2048
---help---
Keyboard listener thread stack size. Default: 1024
endif # NXWM_KEYBOARD
endmenu # NxWM Keyboard Configuration
menu "NxWM Calibration display settings"
config NXWM_CALIBRATION_MARGIN
int "Calibration Margin"
default 40
---help---
The Calbration display consists of a target press offset from the edges
of the display by this number of pixels (in the horizontal direction)
or rows (in the vertical). The closer that you can comfortabley
position the press positions to the edge, the more accurate will be the
linear interpolation (provide that the hardware provides equally good
measurements near the edges).
config NXWM_CALIBRATION_CUSTOM_COLORS
bool "Custom Calibration Colors"
default n
---help---
Select custom default colors for the calibration window. If
defined, the hexadecimal values for all calibration window
colors must be provided (there are no default colors because
the hexadecimal representation of the default colors depend
on the pixel depth). Default: n
if NXWM_CALIBRATION_CUSTOM_COLORS
config NXWM_CALIBRATION_BACKGROUNDCOLOR
hex "Background Color"
---help---
The background color of the touchscreen calibration display.
Default: Same as NXWM_DEFAULT_BACKGROUNDCOLOR.
config NXWM_CALIBRATION_LINECOLOR
hex "Line Color"
---help---
The color of the lines used in the touchscreen calibration display.
Default: RGB(0, 0, 128) (dark blue)
config NXWM_CALIBRATION_CIRCLECOLOR
hex "Normal Circle Color"
---help---
The color of the circle in the touchscreen calibration display.
Default: RGB(255, 255, 255) (white)
config NXWM_CALIBRATION_TOUCHEDCOLOR
hex "Touched Circle Color"
---help---
The color of the circle in the touchscreen calibration display after
the touch is recorder. Default: RGB(255, 255, 96) (very light yellow)
endif # NXWM_CALIBRATION_CUSTOM_COLORS
config NXWM_CALIBRATION_MESSAGES
bool "Add Instructions in Center"
default n
---help---
By default, the calibration screen is clear excecpt for the
calibration touchpoints. If this options are enabled, then
instructions when to touch and when to release the touch will
be added in the center of the display,
if NXWM_CALIBRATION_MESSAGES
config NXWM_CALIBRATION_CUSTOM_FONTID
bool "Use a Custom Font in Calibration Display"
default n
---help---
Set to override the system default font id (NXFONT_DEFAULT).
if NXWM_CALIBRATION_CUSTOM_FONTID
config NXWM_CALIBRATION_FONTID
int "Calibration Font ID"
default 0
---help---
Use this default NxWidgets font ID instead of the system font ID
(NXFONT_DEFAULT). Default: 0
endif # NXWM_CALIBRATION_CUSTOM_FONTID
config NXWM_CALIBRATION_AVERAGE
bool "Average Samples"
default n
---help---
Collect multiple samples at each calibration position and use the
average of the samples. NOTE that is option is not available if we are
not providing instructions on the display. That is because it would
be impossible to know what to do if we are collecting multiple samples
at each position.
if NXWM_CALIBRATION_AVERAGE
config NXWM_CALIBRATION_NSAMPLES
int "Number of Samples in Average"
default 4
range 2 255
---help---
This is the number of samples to use in the average.
config NXWM_CALIBRATION_DISCARD_MINMAX
bool "Discard minimum and maximum values"
default n
---help---
Discard the largest and smallest values before averaging. This
setting is ignored if NXWM_CALIBRATION_NSAMPLES < 3.
endif # NXWM_CALIBRATION_AVERAGE
endif # NXWM_CALIBRATION_MESSAGES
config NXWM_CALIBRATION_ANISOTROPIC
bool "Anisotropic Scaling"
default n
---help---
Most touchscreens have the property that the X value consistent across
the entire vertial range of the display, i.e., if you press in the
upper left of the display and in the low right of the display, then
only the Y value will change. This is true of some touchscreens:
For some touchscreens the X values in the same vertical column will
change as the Y values change. Here I use the term anisotropic to
describe that (that is not really the correct use of term term, but
I have not yet thought of a better name).
If you have such an LCD, then you may select this option to enable
some much more complex scaling alorithms to handle this case. Not
only are these algorithms more complex, but they are (currenly)
implemented using floating point. As a result, you should not select
this option if you have a lower end MCU without hardware floating
point support.
config NXWM_CUSTOM_CALIBRATION_ICON
bool "Custom Calibration Icon"
default n
---help---
Select to override the default Calibration Window Icon:
NxWM::g_calibrationBitmap
if NXWM_CUSTOM_CALIBRATION_ICON
config NXWM_CALIBRATION_ICON
string "Callibration Icon"
default "NxWM::g_calibrationBitmap"
---help---
The ICON to use for the touchscreen calibration application. Default:
NxWM::g_calibrationBitmap
endif # NXWM_CUSTOM_CALIBRATION_ICON
config NXWM_CALIBRATION_SIGNO
int "Calibration Signal Number"
default 5
---help---
The realtime signal used to wake up the touchscreen calibration
thread. Default: 5
config NXWM_CALIBRATION_LISTENERPRIO
int "Calibration Task Priority"
default 100
---help---
Priority of the calibration listener thread. Default: 100
config NXWM_CALIBRATION_LISTENERSTACK
int "Calibration Task Stack Size"
default 2048
---help---
Calibration listener thread stack size. Default 2048
endmenu # NxWM Calibration display settings
menu "NxWM Hex Calculator display settings"
config NXWM_HEXCALCULATOR_CUSTOM_COLORS
bool "Custom Hex Calculator Colors"
default n
---help---
Select custom default colors for the Hex Calcualtor window. If
defined, the hexadecimal values for all hex calculator colors
must be provided (there are no default colors because the
hexadecimal representation of the default colors depend on the
pixel depth). Default: n
if NXWM_HEXCALCULATOR_CUSTOM_COLORS
config NXWM_HEXCALCULATOR_BACKGROUNDCOLOR
hex "Calculator Background Color"
---help---
The background color of the calculator display. Default: Same
as NXWM_DEFAULT_BACKGROUNDCOLOR
endif # NXWM_HEXCALCULATOR_CUSTOM_COLORS
config NXWM_CUSTOM_HEXCALCULATOR_ICON
bool "Custom Hex Calculator Icon"
default n
---help---
Select to override the default Hex Calculator Window Icon:
NxWM::g_calculatorBitmap
if NXWM_CUSTOM_HEXCALCULATOR_ICON
config NXWM_HEXCALCULATOR_ICON
string "Calculator Icon"
default "NxWM::g_calculatorBitmap"
---help---
The ICON to use for the hex calculator application. Default:
"NxWM::g_calculatorBitmap"
endif # NXWM_CUSTOM_HEXCALCULATOR_ICON
config NXWM_HEXCALCULATOR_CUSTOM_FONTID
bool "Use Custom Default Font"
default n
---help---
Set to override the system default font id (NXWM_DEFAULT_FONTID).
if NXWM_HEXCALCULATOR_CUSTOM_FONTID
config NXWM_HEXCALCULATOR_FONTID
int "Calculator Font ID"
default 0
---help---
Use this default font ID in the calculator window instead of the
NxWM font ID (NXWM_DEFAULT_FONTID). Default: 0
endif # NXWM_HEXCALCULATOR_FONTID
endmenu # NxWM Hex Calculator display settings
config NXWM_MEDIAPLAYER
bool "NxWM Media Player"
default n
---help---
Enable support for the MP3 Media Player. This features requires
a board that includes an MP3 Codec chip, such as the Mikromedia
boards available from MikroElektronica, along with a NuttX port
with a device driver for the MP3 codec.
NOTE: This application is currently under development and just
a shell of an app which will be developed soon.
endif # NXWM
|