2 /*
3 Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
4 All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 *
34 */
36 //
37 // Input / output device configuration definitions
38 //
40 //#include <ti/procsdk_audio/procsdk_audio_typ.h>
41 #include <procsdk_audio_typ.h>
43 #include <acptype.h>
44 #include <acpbeta.h>
45 #include <pafstd_a.h>
46 #include <pafdec_a.h>
47 #include <pafenc_a.h>
48 #include <pafsio.h>
50 #include <alpha/pcm_a.h>
52 #include <inpbuf_a.h>
53 #include <outbuf_a.h>
55 #include <pa_i13_evmk2g_io_a.h> //<pa_i13_evmda830_io_a.h>
57 #ifndef SIMULATE_SIO
58 #include <sap_d10.h>
59 #else // SIMULATE_SIO
60 #include <dap_e17.h>
61 #endif // SIMULATE_SIO
63 #define rb32DECSourceDecode 0xc024,0x0b81
64 #define ob32DECSourceDecodeNone 0x0001,0x0000
66 #define rb32IBSioSelect 0xc022,0x0581
67 #define ob32IBSioSelect(X) (X)|0x0080,0x0000
69 #define ob32OBSioSelect(X) (X)|0x0080,0x0000
70 #define rb32DECSourceSelect_3 0xc024,0x09b1
71 #define wb32DECSourceSelect_3 0xc024,0x09f1
73 #define writePA3Await(RB32,WB32) 0xcd0b,5+2,0x0204,200,10,WB32,RB32
75 // -----------------------------------------------------------------------------
76 //
77 // Input device configurations & shortcut definitions
78 //
80 #ifndef SIMULATE_SIO
81 const struct
82 {
83 Int n;
84 const PAF_SIO_Params *x[DEVINP_N];
85 } patchs_devinp[1] =
86 {
87 DEVINP_N,
88 // These values reflect the definitions DEVINP_* in pa*io_a.h:
89 NULL, // InNone
90 (const PAF_SIO_Params *) &SAP_D10_RX_HDMI_STEREO, // InHDMIStereo
91 (const PAF_SIO_Params *) &SAP_D10_RX_HDMI, // InHDMI
92 (const PAF_SIO_Params *) &SAP_D10_RX_DIR, // InDigital
93 (const PAF_SIO_Params *) &SAP_D10_RX_ADC_44100HZ, // InAnalog
94 };
96 #else // SIMULATE_SIO
97 const struct
98 {
99 Int n;
100 const PAF_SIO_Params *x[DEVINP_N];
101 } patchs_devinp[1] =
102 {
103 DEVINP_N,
104 // These values reflect the definitions DEVINP_* in pa*io_a.h:
105 NULL, // InNone
106 NULL, //(const PAF_SIO_Params *) &DAP_E17_RX_DIR, // InDigital
107 (const PAF_SIO_Params *) &DAP_E17_RX_ADC_48000HZ, // InAnalog
108 NULL, //(const PAF_SIO_Params *) &DAP_E17_RX_ADC_STEREO_48000HZ, // InAnalogStereo
109 NULL, //(const PAF_SIO_Params *) &DAP_E17_RX_1394_STEREO, // In1394Stereo
110 NULL, //(const PAF_SIO_Params *) &DAP_E17_RX_1394, // In1394
111 NULL, // InRingIO
112 NULL, //(const PAF_SIO_Params *) &DAP_E17_RX_HDMI, // InHDMI
113 NULL, //(const PAF_SIO_Params *) &DAP_E17_RX_HDMI_STEREO // InHDMIStereo
114 };
116 #endif // SIMULATE_SIO
118 // .............................................................................
119 // execPAIInNone
120 #define CUS_SIGMA32_S \
121 writeDECSourceSelectNone, \
122 writeIBSioSelectN(DEVINP_NULL), \
123 0xcdf0,execPAIInNone
125 #pragma DATA_SECTION(cus_sigma32_s0, ".none")
126 const ACP_Unit cus_sigma32_s0[] = {
127 0xc900 + 0 - 1,
128 CUS_SIGMA32_S,
129 };
131 const ACP_Unit cus_sigma32_s[] = {
132 0xc900 + sizeof (cus_sigma32_s0) / 2 - 1,
133 CUS_SIGMA32_S,
134 };
136 #ifndef SIMULATE_SIO
137 // execPAIInHDMIStereo
138 #define CUS_SIGMA33_S \
139 writeDECSourceSelectNone, \
140 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
141 writePCMChannelConfigurationProgramStereoUnknown, \
142 writePCMScaleVolumeN(0), \
143 writeDECChannelMapFrom2(0,1), \
144 writeIBUnknownTimeoutN(8*1024), \
145 writeIBScanAtHighSampleRateModeEnable, \
146 writeIBEmphasisOverrideNo, \
147 writeIBPrecisionOverride24, \
148 writeIBSampleRateOverrideStandard, \
149 writeIBSioSelectN(DEVINP_HDMI_STEREO), \
150 wroteDECSourceProgramUnknown, \
151 writeDECSourceSelectAuto, \
152 0xcdf0,execPAIInHDMIStereo
154 #pragma DATA_SECTION(cus_sigma33_s0, ".none")
155 const ACP_Unit cus_sigma33_s0[] = {
156 0xc900 + 0 - 1,
157 CUS_SIGMA33_S,
158 };
160 const ACP_Unit cus_sigma33_s[] = {
161 0xc900 + sizeof (cus_sigma33_s0) / 2 - 1,
162 CUS_SIGMA33_S,
163 };
165 // execPAIInHDMI
166 #define CUS_SIGMA34_S \
167 writeDECSourceSelectNone, \
168 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
169 writePCMChannelConfigurationProgramSurround4_1, \
170 writePCMScaleVolumeN(0), \
171 writeDECChannelMapFrom16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
172 writeIBUnknownTimeoutN(15*1024), \
173 writeIBScanAtHighSampleRateModeEnable, \
174 writeIBEmphasisOverrideNo, \
175 writeIBPrecisionOverride24, \
176 writeIBSampleRateOverrideStandard, \
177 writeIBSioSelectN(DEVINP_HDMI), \
178 wroteDECSourceProgramUnknown, \
179 writeDECSourceSelectAuto, \
180 0xcdf0,execPAIInHDMI
182 // writeDECChannelMapFrom16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
183 #pragma DATA_SECTION(cus_sigma34_s0, ".none")
184 const ACP_Unit cus_sigma34_s0[] = {
185 0xc900 + 0 - 1,
186 CUS_SIGMA34_S,
187 };
189 const ACP_Unit cus_sigma34_s[] = {
190 0xc900 + sizeof (cus_sigma34_s0) / 2 - 1,
191 CUS_SIGMA34_S,
192 };
194 // execPAIInDigital
195 #define CUS_SIGMA35_S \
196 writeDECSourceSelectNone, \
197 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
198 writeIBUnknownTimeoutN(2*2048), \
199 writeIBScanAtHighSampleRateModeDisable, \
200 writePCMChannelConfigurationProgramStereoUnknown, \
201 writePCMScaleVolumeN(0), \
202 writeDECChannelMapFrom16(0,1,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3), \
203 writeIBEmphasisOverrideDisable, \
204 writeIBPrecisionDefaultOriginal, \
205 writeIBPrecisionOverrideDetect, \
206 writeIBSampleRateOverrideStandard, \
207 writeIBSioSelectN(DEVINP_DIR), \
208 wroteDECSourceProgramUnknown, \
209 writeDECSourceSelectAuto, \
210 0xcdf0,execPAIInDigital
212 #pragma DATA_SECTION(cus_sigma35_s0, ".none")
213 const ACP_Unit cus_sigma35_s0[] = {
214 0xc900 + 0 - 1,
215 CUS_SIGMA35_S,
216 };
218 const ACP_Unit cus_sigma35_s[] = {
219 0xc900 + sizeof (cus_sigma35_s0) / 2 - 1,
220 CUS_SIGMA35_S,
221 };
223 // execPAIInAnalog
224 #define CUS_SIGMA36_S \
225 writeDECSourceSelectNone, \
226 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
227 writePCMChannelConfigurationProgramSurround4_1, \
228 writePCMScaleVolumeN(2*6), \
229 writeDECChannelMapFrom16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
230 writeIBEmphasisOverrideNo, \
231 writeIBPrecisionOverride24, \
232 writeIBSampleRateOverride44100Hz, \
233 writeIBSioSelectN(DEVINP_ADC), \
234 writeDECSourceSelectPCM, \
235 0xcdf0,execPAIInAnalog
237 #pragma DATA_SECTION(cus_sigma36_s0, ".none")
238 const ACP_Unit cus_sigma36_s0[] = {
239 0xc900 + 0 - 1,
240 CUS_SIGMA36_S,
241 };
243 const ACP_Unit cus_sigma36_s[] = {
244 0xc900 + sizeof (cus_sigma36_s0) / 2 - 1,
245 CUS_SIGMA36_S,
246 };
248 #else // SIMULATE_SIO
249 // execPAIInDigital
250 #define CUS_SIGMA33_S \
251 writeDECSourceSelectNone, \
252 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
253 writeIBUnknownTimeoutN(2*2048), \
254 writeIBScanAtHighSampleRateModeDisable, \
255 writePCMChannelConfigurationProgramStereoUnknown, \
256 writePCMScaleVolumeN(0), \
257 writeDECChannelMapFrom16(0,1,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3), \
258 writeIBEmphasisOverrideDisable, \
259 writeIBPrecisionDefaultOriginal, \
260 writeIBPrecisionOverrideDetect, \
261 writeIBSampleRateOverrideStandard, \
262 writeIBSioSelectN(DEVINP_DIR), \
263 wroteDECSourceProgramUnknown, \
264 writeDECSourceSelectAuto, \
265 0xcdf0,execPAIInDigital
267 #pragma DATA_SECTION(cus_sigma33_s0, ".none")
268 const ACP_Unit cus_sigma33_s0[] = {
269 0xc900 + 0 - 1,
270 CUS_SIGMA33_S,
271 };
273 const ACP_Unit cus_sigma33_s[] = {
274 0xc900 + sizeof (cus_sigma33_s0) / 2 - 1,
275 CUS_SIGMA33_S,
276 };
278 // execPAIInAnalog
279 #define CUS_SIGMA34_S \
280 writeDECSourceSelectNone, \
281 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
282 writePCMChannelConfigurationProgramSurround4_1, \
283 writePCMScaleVolumeN(2*6), \
284 writeDECChannelMapFrom16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
285 writeIBEmphasisOverrideNo, \
286 writeIBPrecisionOverride24, \
287 writeIBSampleRateOverride48000Hz, \
288 writeIBSioSelectN(DEVINP_ADC1), \
289 writeDECSourceSelectPCM, \
290 0xcdf0,execPAIInAnalog
292 #pragma DATA_SECTION(cus_sigma34_s0, ".none")
293 const ACP_Unit cus_sigma34_s0[] = {
294 0xc900 + 0 - 1,
295 CUS_SIGMA34_S,
296 };
298 const ACP_Unit cus_sigma34_s[] = {
299 0xc900 + sizeof (cus_sigma34_s0) / 2 - 1,
300 CUS_SIGMA34_S,
301 };
303 // execPAIInAnalogStereo
304 #define CUS_SIGMA35_S \
305 writeDECSourceSelectNone, \
306 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
307 writePCMChannelConfigurationProgramStereoUnknown, \
308 writePCMScaleVolumeN(2*6), \
309 writeDECChannelMapFrom16(0,1,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3), \
310 writeIBEmphasisOverrideNo, \
311 writeIBPrecisionOverride24, \
312 writeIBSampleRateOverride48000Hz, \
313 writeIBSioSelectN(DEVINP_ADC_STEREO), \
314 writeDECSourceSelectPCM, \
315 0xcdf0,execPAIInAnalogStereo
317 #pragma DATA_SECTION(cus_sigma35_s0, ".none")
318 const ACP_Unit cus_sigma35_s0[] = {
319 0xc900 + 0 - 1,
320 CUS_SIGMA35_S,
321 };
323 const ACP_Unit cus_sigma35_s[] = {
324 0xc900 + sizeof (cus_sigma35_s0) / 2 - 1,
325 CUS_SIGMA35_S,
326 };
328 // execPAIInSing
329 #define CUS_SIGMA38_S \
330 writeDECSourceSelectNone, \
331 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
332 writeIBEmphasisOverrideNo, \
333 writeIBPrecisionOverride24, \
334 writeIBSampleRateOverride48000Hz, \
335 writeIBSioSelectN(DEVINP_ADC1), \
336 writeDECSourceSelectSing, \
337 0xcdf0,execPAIInSing
339 #pragma DATA_SECTION(cus_sigma38_s0, ".none")
340 const ACP_Unit cus_sigma38_s0[] = {
341 0xc900 + 0 - 1,
342 CUS_SIGMA38_S,
343 };
345 const ACP_Unit cus_sigma38_s[] = {
346 0xc900 + sizeof (cus_sigma38_s0) / 2 - 1,
347 CUS_SIGMA38_S,
348 };
350 // execPAIInHDMI
351 #define CUS_SIGMA40_S \
352 writeDECSourceSelectNone, \
353 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
354 writePCMChannelConfigurationProgramSurround4_1, \
355 writePCMScaleVolumeN(0), \
356 writeDECChannelMapFrom16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
357 writeIBUnknownTimeoutN(15*1024), \
358 writeIBScanAtHighSampleRateModeEnable, \
359 writeIBEmphasisOverrideNo, \
360 writeIBPrecisionOverride24, \
361 writeIBSampleRateOverrideStandard, \
362 writeIBSioSelectN(DEVINP_HDMI), \
363 wroteDECSourceProgramUnknown, \
364 writeDECSourceSelectAuto, \
365 0xcdf0,execPAIInHDMI
367 #pragma DATA_SECTION(cus_sigma40_s0, ".none")
368 const ACP_Unit cus_sigma40_s0[] = {
369 0xc900 + 0 - 1,
370 CUS_SIGMA40_S,
371 };
373 const ACP_Unit cus_sigma40_s[] = {
374 0xc900 + sizeof (cus_sigma40_s0) / 2 - 1,
375 CUS_SIGMA40_S,
376 };
378 // .............................................................................
379 // execPAIIn1394Stereo
380 #define CUS_SIGMA45_S \
381 writeDECSourceSelectNone, \
382 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
383 writePCMChannelConfigurationProgramStereoUnknown, \
384 writePCMScaleVolumeN(0), \
385 writeDECChannelMapFrom2(0,1), \
386 writeIBUnknownTimeoutN(8*1024), \
387 writeIBScanAtHighSampleRateModeEnable, \
388 writeIBEmphasisOverrideNo, \
389 writeIBPrecisionOverride24, \
390 writeIBSampleRateOverrideStandard, \
391 writeIBSioSelectN(DEVINP_1394_STEREO), \
392 wroteDECSourceProgramUnknown, \
393 writeDECSourceSelectAuto, \
394 0xcdf0,execPAIIn1394Stereo
396 #pragma DATA_SECTION(cus_sigma45_s0, ".none")
397 const ACP_Unit cus_sigma45_s0[] = {
398 0xc900 + 0 - 1,
399 CUS_SIGMA45_S,
400 };
402 const ACP_Unit cus_sigma45_s[] = {
403 0xc900 + sizeof (cus_sigma45_s0) / 2 - 1,
404 CUS_SIGMA45_S,
405 };
408 // execPAIIn1394
409 #define CUS_SIGMA46_S \
410 writeDECSourceSelectNone, \
411 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
412 writePCMChannelConfigurationProgramSurround4_1, \
413 writePCMScaleVolumeN(0), \
414 writeDECChannelMapFrom16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
415 writeIBUnknownTimeoutN(15*1024), \
416 writeIBScanAtHighSampleRateModeEnable, \
417 writeIBEmphasisOverrideNo, \
418 writeIBPrecisionOverride24, \
419 writeIBSampleRateOverrideStandard, \
420 writeIBSioSelectN(DEVINP_1394), \
421 wroteDECSourceProgramUnknown, \
422 writeDECSourceSelectAuto, \
423 0xcdf0,execPAIIn1394
425 #pragma DATA_SECTION(cus_sigma46_s0, ".none")
426 const ACP_Unit cus_sigma46_s0[] = {
427 0xc900 + 0 - 1,
428 CUS_SIGMA46_S,
429 };
431 const ACP_Unit cus_sigma46_s[] = {
432 0xc900 + sizeof (cus_sigma46_s0) / 2 - 1,
433 CUS_SIGMA46_S,
434 };
436 #endif // SIMULATE_SIO
439 // -----------------------------------------------------------------------------
440 //
441 // Output device configurations & shortcut definitions
442 //
444 #ifndef SIMULATE_SIO
445 const struct
446 {
447 Int n;
448 const PAF_SIO_Params *x[DEVOUT_N];
449 } patchs_devout[1] =
450 {
451 DEVOUT_N,
452 // These values reflect the definitions DEVOUT_* in pa*io_a.h:
453 NULL, // OutNone
454 (const PAF_SIO_Params *) &SAP_D10_TX_DAC, // OutAnalog
455 (const PAF_SIO_Params *) &SAP_D10_TX_DAC_SLAVE, // OutAnalogSlave
456 };
458 #else // SIMULATE_SIO
460 const struct
461 {
462 Int n;
463 const PAF_SIO_Params *x[DEVOUT_N];
464 } patchs_devout[1] =
465 {
466 DEVOUT_N,
467 // These values reflect the definitions DEVOUT_* in pa*io_a.h:
468 NULL, // OutNone
469 (const PAF_SIO_Params *) &DAP_E17_TX_DAC, // OutAnalog
470 NULL, //(const PAF_SIO_Params *) &DAP_E17_TX_DIT, // OutDigital
471 NULL, //(const PAF_SIO_Params *) &DAP_E17_TX_DAC_SLAVE, // OutAnalogSlave
472 NULL, //(const PAF_SIO_Params *) &DAP_E17_TX_STEREO_DAC_SLAVE, // OutAnalogSlaveStereo
473 NULL, //(const PAF_SIO_Params *) &DAP_E17_TX_2STEREO_DAC_SLAVE, // OutAnalogSlave2Stereo
474 NULL, // OutRingIO
475 NULL, // OutRingIO
476 NULL, // OutRingIO
477 NULL, //(const PAF_SIO_Params *) &DAP_E17_TX_4TDM, // OutTdm4
478 NULL, //(const PAF_SIO_Params *) &DAP_E17_TX_8TDM, // OutTdm8
479 };
481 #endif // SIMULATE_SIO
483 // .............................................................................
484 #if 0 // (***) FL: remove change in Dec sourceSelect since this will cause break in TaskAsip
485 // execPAIOutNone
486 #define CUS_SIGMA48_S \
487 rb32DECSourceSelect_3, \
488 writeDECSourceSelectNone, \
489 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
490 writeOBSioSelectN(DEVOUT_NULL), \
491 wb32DECSourceSelect_3, \
492 0xcdf0,execPAIOutNone
493 #else
494 // execPAIOutNone
495 #define CUS_SIGMA48_S \
496 writeOBSioSelectN(DEVOUT_NULL), \
497 writePA3Await(rb32OBSioSelect,ob32OBSioSelect(DEVOUT_NULL)), \
498 0xcdf0,execPAIOutNone
499 #endif
501 #pragma DATA_SECTION(cus_sigma48_s0, ".none")
502 const ACP_Unit cus_sigma48_s0[] = {
503 0xc900 + 0 - 1,
504 CUS_SIGMA48_S,
505 };
507 const ACP_Unit cus_sigma48_s[] = {
508 0xc900 + sizeof (cus_sigma48_s0) / 2 - 1,
509 CUS_SIGMA48_S,
510 };
512 #ifndef SIMULATE_SIO
513 // .............................................................................
514 // execPAIOutAnalog
515 #ifdef TEST_MULTICHANNEL
516 #if 0 // (***) FL: remove change in Dec sourceSelect since this will cause break in TaskAsip
517 #define CUS_SIGMA49_S \
518 rb32DECSourceSelect_3, \
519 writeDECSourceSelectNone, \
520 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
521 writeOBSioSelectN(DEVOUT_DAC), \
522 writeENCChannelMapTo16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
523 wb32DECSourceSelect_3, \
524 0xcdf0,execPAIOutAnalog
525 #else
526 #define CUS_SIGMA49_S \
527 writeOBSioSelectN(DEVOUT_DAC), \
528 writeENCChannelMapTo16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
529 0xcdf0,execPAIOutAnalog
530 #endif
531 #else // TEST_MULTICHANNEL
532 #define CUS_SIGMA49_S \
533 rb32DECSourceSelect_3, \
534 writeDECSourceSelectNone, \
535 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
536 writeOBSioSelectN(2), \
537 writeENCChannelMapTo16(0,1,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3,-3), \
538 wb32DECSourceSelect_3, \
539 0xcdf0,execPAIOutAnalog
540 #endif // TEST_MULTICHANNEL
542 #else // SIMULATE_SIO
543 #if 0 // (***) FL: remove change in Dec sourceSelect since this will cause break in TaskAsip
544 #define CUS_SIGMA49_S \
545 rb32DECSourceSelect_3, \
546 writeDECSourceSelectNone, \
547 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
548 writeOBSioSelectN(1), \
549 writeENCChannelMapTo16(3,7,2,6,1,5,0,4,-3,-3,-3,-3,-3,-3,-3,-3), \
550 wb32DECSourceSelect_3, \
551 0xcdf0,execPAIOutAnalog
552 #else
553 #define CUS_SIGMA49_S \
554 writeOBSioSelectN(1), \
555 writePA3Await(rb32OBSioSelect,ob32OBSioSelect(1)), \
556 writeENCChannelMapTo16(3,7,2,6,1,5,0,4,-3,-3,-3,-3,-3,-3,-3,-3), \
557 0xcdf0,execPAIOutAnalog
558 #endif
560 #endif // SIMULATE_SIO
562 #pragma DATA_SECTION(cus_sigma49_s0, ".none")
563 const ACP_Unit cus_sigma49_s0[] = {
564 0xc900 + 0 - 1,
565 CUS_SIGMA49_S,
566 };
568 const ACP_Unit cus_sigma49_s[] = {
569 0xc900 + sizeof (cus_sigma49_s0) / 2 - 1,
570 CUS_SIGMA49_S,
571 };
574 // .............................................................................
575 // execPAIOutAnalogSlave
576 #if 0 // (***) FL: remove change in Dec sourceSelect since this will cause break in TaskAsip
577 #define CUS_SIGMA50_S \
578 rb32DECSourceSelect_3, \
579 writeDECSourceSelectNone, \
580 writePA3Await(rb32DECSourceDecode,ob32DECSourceDecodeNone), \
581 writeOBSioSelectN(DEVOUT_DAC_SLAVE), \
582 writeENCChannelMapTo16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
583 wb32DECSourceSelect_3, \
584 0xcdf0,execPAIOutAnalogSlave
585 #else
586 #define CUS_SIGMA50_S \
587 writeOBSioSelectN(DEVOUT_DAC_SLAVE), \
588 writeENCChannelMapTo16(0,4,1,5,2,6,3,7,-3,-3,-3,-3,-3,-3,-3,-3), \
589 0xcdf0,execPAIOutAnalogSlave
590 #endif
592 #pragma DATA_SECTION(cus_sigma50_s0, ".none")
593 const ACP_Unit cus_sigma50_s0[] = {
594 0xc900 + 0 - 1,
595 CUS_SIGMA50_S,
596 };
598 const ACP_Unit cus_sigma50_s[] = {
599 0xc900 + sizeof (cus_sigma50_s0) / 2 - 1,
600 CUS_SIGMA50_S,
601 };
603 // EOF