annotate doc/Config-vars @ 534:6c96725718c3

armio.c: C11x GPIO setup properly separated from C139
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 05 Nov 2018 17:10:06 +0000
parents 569c3d522e5c
children 5019764a0e9f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
523
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 The following Bourne shell variables can be set on the ./configure.sh command
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 line to tweak the firmware build configuration:
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 ALLOW_CSIM_GSM
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 Per TI's original design, the AT+CSIM command does not allow GSM APDUs
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 of class 0xA0. Openmoko found some need for them, and they patched
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 their modem fw to allow these APDUs with AT+CSIM. With our new hybrid
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 modem fw this policy setting is configurable at build time; the default
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 is ALLOW_CSIM_GSM=1 (GSM APDUs allowed).
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 DISABLE_SLEEP
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 The general default is DISABLE_SLEEP=0, and the firmware automatically
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 enables all of the chipset's available sleep modes on boot. Setting
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 DISABLE_SLEEP=1 causes all sleep modes to be disabled by default on
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 boot (they can still be enabled with the AT%SLEEP command); this
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 setting is needed for FCDEV3B V1 boards that have a hardware bug that
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 causes breakage when sleep modes are enabled.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 DSAMPLE_FULL_COLOR
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 When the firmware's R2D component (normally present only in UI-enabled
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 builds) is built for any target other than c139, one of TI's D-Sample
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 framebuffer drivers is enabled: either color or B&W. (The actual
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 hardware pokes are omitted when the build target is anything other than
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 dsample, but the framebuffer is still maintained in RAM.) By default
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 the color framebuffer driver is enabled; setting DSAMPLE_FULL_COLOR=0
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 switches to the B&W framebuffer driver.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 L1_DYN_DSP_DWNLD
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 This setting enables TI's dynamic DSP patch download mechanism. When
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 the firmware is built for a Calypso target with DSP ROM version 36 in
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 the silicon (all FreeCalypso-made hw and most of the supported legacy
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 targets), L1_DYN_DSP_DWNLD is enabled by default and needs to be kept
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 enabled for correct operation: the patch code we got from TI for this
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 ROM is the dynamic download version, and the ARM-side L1 code expects
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 all of these patches to be present, both the static part and the
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 dynamic parts. However, one can build our fw with L1_DYN_DSP_DWNLD=0
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 for experimental testing, to see what breaks when the dynamic patches
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 are omitted.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 L1_VOICE_MEMO_AMR
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 This setting enables or disables support in L1 and in the RiViera Audio
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 Service for AMR voice memo recording and playback. This code has not
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 been properly studied yet and no test AT commands are provided for it,
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 but it is enabled by default like in TI's original TCS211 fw.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 MELODY_E2
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 This setting enables or disables support in L1 and in the RiViera Audio
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 Service for playing E2-format melodies. The default is MELODY_E2=1
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 like in TI's original TCS211 fw. Note that Melody E1 support is always
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 enabled; setting MELODY_E2=0 disables only Melody E2, but not E1.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 SERIAL_DYNAMIC_SWITCH
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 TI's TCS211 fw includes a provision (only for Bluetooth-enabled fw in
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 TI's original) to switch one UART between the AT command interface and
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 RVTMUX while the other UART is fixed for Bluetooth. In FreeCalypso we
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 have changed this code to work without Bluetooth, for the purpose of
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 switching the user-facing MODEM UART between AT commands and RVTMUX,
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 but the mechanism does not work properly yet and is disabled by default.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 Enable it with SERIAL_DYNAMIC_SWITCH=1 if you would like to play with
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 it.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 SPEECH_RECO
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 This setting enables or disables support in L1 and in the RiViera Audio
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 Service for TI's speech recognition mechanism. This code and the
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 underlying DSP facility itself have not been properly studied yet and
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 no test AT commands are provided for it, but it is enabled by default
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 like in TI's original TCS211 fw.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 SUFFIX
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 This setting is solely for configuration management. If you make a
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 build with any of the settings described in this document changed from
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 the default, you should also pass a SUFFIX=-xxx argument so your special
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 build will be appropriately identified in the build directory name and
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 in the firmware version ID string compiled into the image. The naming
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 of suffixes is up to you, but here are some examples:
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 DSAMPLE_FULL_COLOR=0 UI_CONFIG=bigbw SUFFIX=-bw
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 L1_DYN_DSP_DWNLD=0 SUFFIX=-nodyn
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 MELODY_E2=0 SUFFIX=-noe2
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 SERIAL_DYNAMIC_SWITCH=1 SUFFIX=-sds
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 SPEECH_RECO=0 SUFFIX=-nosr
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 TR_BAUD_CONFIG=TR_BAUD_812500 SUFFIX=-812500
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 USE_STR2IND=1 SUFFIX=-s2i
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 TR_BAUD_CONFIG
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 The value of this symbol is an alphanumeric keyword of the form
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 TR_BAUD_xxxxxx; the default is TR_BAUD_115200. See
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 src/cs/drivers/drv_core/uart/traceswitch.h for the available baud rate
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 choices; the most practical use is setting TR_BAUD_CONFIG=TR_BAUD_812500
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 when you need to run the RVTMUX serial channel at the maximum possible
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 baud rate.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 UI_CONFIG
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 The 3 allowed values for this setting are bigcolor, bigbw and 84x48,
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 selecting one of the 3 UI configurations supported by TI's code. The
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 default is 84x48 when the firmware is built for target c11x or c139,
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 and bigcolor otherwise.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 USE_STR2IND
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 Unlike TI's original firmwares, we build without str2ind by default.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 You can enable str2ind with USE_STR2IND=1, but the time to build the fw
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 will be significantly longer as the compiler has to be run twice for
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 each C source file, with str2ind sandwiched in between.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 The following Bourne shell variables are used inside the build system in the
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 individual component build recipes (components/*) but cannot be set on the
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 ./configure.sh line because they are fixed in the overall fw build recipes
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 (configs/*):
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 GPRS
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 Self-explanatory: enables or disables GPRS.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 MMI
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 TI's original config variable: MMI=0 for the AT-command-controlled
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 modem configuration or MMI=2 for the UI-enabled configuration with
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 BMI and MFW.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 SRVC
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 TI's original config variable, selects the presence or absence of data
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 services other than GPRS as follows:
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 SRVC=0: voice and SMS only
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 SRVC=1: CSD and fax enabled
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 SRVC=2: CSD enabled, but not fax
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 Finally, CHIPSET, DSP, RF and AMR variables reflect the physical configuration
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 of the selected target hw that no amount of software hacking can change.
569c3d522e5c doc/Config-vars: written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 (The AMR variable indicates the presence or absence of AMR support in the DSP.)