1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     mic_Types.h
4 
5   Copyright (C)2009 Nintendo Co., Ltd.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law. They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Rev: 37733 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_MIC_CTR_MIC_TYPES_H_
17 #define NN_MIC_CTR_MIC_TYPES_H_
18 
19 #include <nn/Result.h>
20 
21 namespace nn {
22 namespace mic {
23 namespace CTR {
24     /* Please see man pages for details
25 
26     */
27     enum SamplingType
28     {
29         SAMPLING_TYPE_8BIT         = 0,                       //!< Enable 8-bit (unsigned) sampling. Output data range is 0 to 255.
30         SAMPLING_TYPE_16BIT        = 1,                       //!< Enable 16-bit (unsigned) sampling. Output data range is 0 to 65535.
31         SAMPLING_TYPE_SIGNED_8BIT  = 2,                       //!< Enable 8-bit (signed) sampling. Output data range is -128 to 127.
32         SAMPLING_TYPE_SIGNED_16BIT = 3                        //!< Enable 16-bit (signed) sampling. Output data range is -32768 to 32767.
33     };
34     /* Please see man pages for details
35 
36     */
37     enum SamplingRate
38     {
39         SAMPLING_RATE_32730      = 0,                         //!< 32.73kHz (actually 32728.498046875 Hz)
40         SAMPLING_RATE_16360      = 1,                         //!< 16.36kHz (actually  16364.2490234375 Hz)
41         SAMPLING_RATE_10910      = 2,                         //!< 10.91kHz (actually  10909.4993489583 Hz)
42         SAMPLING_RATE_8180       = 3                          //!< 8.18kHz  (actually  8182.12451171875 Hz)
43     };
44 
45     /* Please see man pages for details */
46     const u8 SAMPLING_TYPE_8BIT_SILENT_DATA = 128;
47     /* Please see man pages for details */
48     const u16 SAMPLING_TYPE_16BIT_SILENT_DATA = 32768;
49     /* Please see man pages for details */
50     const s8 SAMPLING_TYPE_SIGNED_8BIT_SILENT_DATA = 0;
51     /* Please see man pages for details */
52     const s16 SAMPLING_TYPE_SIGNED_16BIT_SILENT_DATA = 0;
53 
54     /* Please see man pages for details
55 
56 
57 
58 
59 
60     */
61     const int g_ForbiddenArea[8]  = {3, 5, 9, 16, 32, 51, 110, 128};
62 
63     const u8 TYPE_8BIT_GUARANTEED_RANGE = 201;
64     const u16 TYPE_16BIT_GUARANTEED_RANGE = 51310;
65 
66     /* Please see man pages for details
67 
68     */
69     const u8 TYPE_8BIT_GUARANTEED_INPUT_MIN = 27;
70     /* Please see man pages for details
71 
72     */
73     const u8 TYPE_8BIT_GUARANTEED_INPUT_MAX = TYPE_8BIT_GUARANTEED_INPUT_MIN + TYPE_8BIT_GUARANTEED_RANGE;
74     /* Please see man pages for details
75 
76     */
77     const u16 TYPE_16BIT_GUARANTEED_INPUT_MIN = 7105;
78     /* Please see man pages for details
79 
80     */
81     const u16 TYPE_16BIT_GUARANTEED_INPUT_MAX = TYPE_16BIT_GUARANTEED_INPUT_MIN + TYPE_16BIT_GUARANTEED_RANGE;
82     /* Please see man pages for details
83 
84     */
85     const s8 TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MIN = -101;
86     /* Please see man pages for details
87 
88     */
89     const s8 TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MAX = TYPE_SIGNED_8BIT_GUARANTEED_INPUT_MIN + TYPE_8BIT_GUARANTEED_RANGE;
90     /* Please see man pages for details
91 
92     */
93     const s16 TYPE_SIGNED_16BIT_GUARANTEED_INPUT_MIN = -25663;
94     /* Please see man pages for details
95 
96     */
97     const s16 TYPE_SIGNED_16BIT_GUARANTEED_INPUT_MAX = TYPE_SIGNED_16BIT_GUARANTEED_INPUT_MIN + TYPE_16BIT_GUARANTEED_RANGE;
98 
99     /* Please see man pages for details
100 
101 
102     */
103     const u8 AMP_GAIN_DEFAULT_VALUE = 43;
104 
105 } // namespace CTR
106 } // namespace mic
107 } // namespace nn
108 
109 #endif //NN_MIC_CTR_MIC_TYPES_H_
110