Added lookup tables
[hackover2013-badge-firmware.git] / drivers / dac / daclookups_12bit.h
1 /**************************************************************************/
2 /*!
3 @file daclookups_12bit.h
4 @author K. Townsend (microBuilder.eu)
5
6 @section LICENSE
7
8 Software License Agreement (BSD License)
9
10 Copyright (c) 2012, microBuilder SARL
11 All rights reserved.
12
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 1. Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 2. Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 3. Neither the name of the copyright holders nor the
21 names of its contributors may be used to endorse or promote products
22 derived from this software without specific prior written permission.
23
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
25 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
28 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 */
35 /**************************************************************************/
36
37 #ifndef _DACLOOKUPS_12BIT_H_
38 #define _DACLOOKUPS_12BIT_H_
39
40 #include "projectconfig.h"
41
42 /* Note: If flash space is tight a quarter sine wave is enough
43 to generate full sine and cos waves, but some additional
44 calculation will be required at each step after the first
45 quarter wave. */
46
47 const uint16_t DACLookup_FullSine_9Bit[512] =
48 {
49 2048, 2073, 2098, 2123, 2148, 2174, 2199, 2224,
50 2249, 2274, 2299, 2324, 2349, 2373, 2398, 2423,
51 2448, 2472, 2497, 2521, 2546, 2570, 2594, 2618,
52 2643, 2667, 2690, 2714, 2738, 2762, 2785, 2808,
53 2832, 2855, 2878, 2901, 2924, 2946, 2969, 2991,
54 3013, 3036, 3057, 3079, 3101, 3122, 3144, 3165,
55 3186, 3207, 3227, 3248, 3268, 3288, 3308, 3328,
56 3347, 3367, 3386, 3405, 3423, 3442, 3460, 3478,
57 3496, 3514, 3531, 3548, 3565, 3582, 3599, 3615,
58 3631, 3647, 3663, 3678, 3693, 3708, 3722, 3737,
59 3751, 3765, 3778, 3792, 3805, 3817, 3830, 3842,
60 3854, 3866, 3877, 3888, 3899, 3910, 3920, 3930,
61 3940, 3950, 3959, 3968, 3976, 3985, 3993, 4000,
62 4008, 4015, 4022, 4028, 4035, 4041, 4046, 4052,
63 4057, 4061, 4066, 4070, 4074, 4077, 4081, 4084,
64 4086, 4088, 4090, 4092, 4094, 4095, 4095, 4095,
65 4095, 4095, 4095, 4095, 4094, 4092, 4090, 4088,
66 4086, 4084, 4081, 4077, 4074, 4070, 4066, 4061,
67 4057, 4052, 4046, 4041, 4035, 4028, 4022, 4015,
68 4008, 4000, 3993, 3985, 3976, 3968, 3959, 3950,
69 3940, 3930, 3920, 3910, 3899, 3888, 3877, 3866,
70 3854, 3842, 3830, 3817, 3805, 3792, 3778, 3765,
71 3751, 3737, 3722, 3708, 3693, 3678, 3663, 3647,
72 3631, 3615, 3599, 3582, 3565, 3548, 3531, 3514,
73 3496, 3478, 3460, 3442, 3423, 3405, 3386, 3367,
74 3347, 3328, 3308, 3288, 3268, 3248, 3227, 3207,
75 3186, 3165, 3144, 3122, 3101, 3079, 3057, 3036,
76 3013, 2991, 2969, 2946, 2924, 2901, 2878, 2855,
77 2832, 2808, 2785, 2762, 2738, 2714, 2690, 2667,
78 2643, 2618, 2594, 2570, 2546, 2521, 2497, 2472,
79 2448, 2423, 2398, 2373, 2349, 2324, 2299, 2274,
80 2249, 2224, 2199, 2174, 2148, 2123, 2098, 2073,
81 2048, 2023, 1998, 1973, 1948, 1922, 1897, 1872,
82 1847, 1822, 1797, 1772, 1747, 1723, 1698, 1673,
83 1648, 1624, 1599, 1575, 1550, 1526, 1502, 1478,
84 1453, 1429, 1406, 1382, 1358, 1334, 1311, 1288,
85 1264, 1241, 1218, 1195, 1172, 1150, 1127, 1105,
86 1083, 1060, 1039, 1017, 995, 974, 952, 931,
87 910, 889, 869, 848, 828, 808, 788, 768,
88 749, 729, 710, 691, 673, 654, 636, 618,
89 600, 582, 565, 548, 531, 514, 497, 481,
90 465, 449, 433, 418, 403, 388, 374, 359,
91 345, 331, 318, 304, 291, 279, 266, 254,
92 242, 230, 219, 208, 197, 186, 176, 166,
93 156, 146, 137, 128, 120, 111, 103, 96,
94 88, 81, 74, 68, 61, 55, 50, 44,
95 39, 35, 30, 26, 22, 19, 15, 12,
96 10, 8, 6, 4, 2, 1, 1, 0,
97 0, 0, 1, 1, 2, 4, 6, 8,
98 10, 12, 15, 19, 22, 26, 30, 35,
99 39, 44, 50, 55, 61, 68, 74, 81,
100 88, 96, 103, 111, 120, 128, 137, 146,
101 156, 166, 176, 186, 197, 208, 219, 230,
102 242, 254, 266, 279, 291, 304, 318, 331,
103 345, 359, 374, 388, 403, 418, 433, 449,
104 465, 481, 497, 514, 531, 548, 565, 582,
105 600, 618, 636, 654, 673, 691, 710, 729,
106 749, 768, 788, 808, 828, 848, 869, 889,
107 910, 931, 952, 974, 995, 1017, 1039, 1060,
108 1083, 1105, 1127, 1150, 1172, 1195, 1218, 1241,
109 1264, 1288, 1311, 1334, 1358, 1382, 1406, 1429,
110 1453, 1478, 1502, 1526, 1550, 1575, 1599, 1624,
111 1648, 1673, 1698, 1723, 1747, 1772, 1797, 1822,
112 1847, 1872, 1897, 1922, 1948, 1973, 1998, 2023
113 };
114
115 const uint16_t DACLookup_FullSine_8Bit[256] =
116 {
117 2048, 2098, 2148, 2198, 2248, 2298, 2348, 2398,
118 2447, 2496, 2545, 2594, 2642, 2690, 2737, 2784,
119 2831, 2877, 2923, 2968, 3013, 3057, 3100, 3143,
120 3185, 3226, 3267, 3307, 3346, 3385, 3423, 3459,
121 3495, 3530, 3565, 3598, 3630, 3662, 3692, 3722,
122 3750, 3777, 3804, 3829, 3853, 3876, 3898, 3919,
123 3939, 3958, 3975, 3992, 4007, 4021, 4034, 4045,
124 4056, 4065, 4073, 4080, 4085, 4089, 4093, 4094,
125 4095, 4094, 4093, 4089, 4085, 4080, 4073, 4065,
126 4056, 4045, 4034, 4021, 4007, 3992, 3975, 3958,
127 3939, 3919, 3898, 3876, 3853, 3829, 3804, 3777,
128 3750, 3722, 3692, 3662, 3630, 3598, 3565, 3530,
129 3495, 3459, 3423, 3385, 3346, 3307, 3267, 3226,
130 3185, 3143, 3100, 3057, 3013, 2968, 2923, 2877,
131 2831, 2784, 2737, 2690, 2642, 2594, 2545, 2496,
132 2447, 2398, 2348, 2298, 2248, 2198, 2148, 2098,
133 2048, 1997, 1947, 1897, 1847, 1797, 1747, 1697,
134 1648, 1599, 1550, 1501, 1453, 1405, 1358, 1311,
135 1264, 1218, 1172, 1127, 1082, 1038, 995, 952,
136 910, 869, 828, 788, 749, 710, 672, 636,
137 600, 565, 530, 497, 465, 433, 403, 373,
138 345, 318, 291, 266, 242, 219, 197, 176,
139 156, 137, 120, 103, 88, 74, 61, 50,
140 39, 30, 22, 15, 10, 6, 2, 1,
141 0, 1, 2, 6, 10, 15, 22, 30,
142 39, 50, 61, 74, 88, 103, 120, 137,
143 156, 176, 197, 219, 242, 266, 291, 318,
144 345, 373, 403, 433, 465, 497, 530, 565,
145 600, 636, 672, 710, 749, 788, 828, 869,
146 910, 952, 995, 1038, 1082, 1127, 1172, 1218,
147 1264, 1311, 1358, 1405, 1453, 1501, 1550, 1599,
148 1648, 1697, 1747, 1797, 1847, 1897, 1947, 1997
149 };
150
151 const uint16_t DACLookup_FullSine_7Bit[128] =
152 {
153 2048, 2148, 2248, 2348, 2447, 2545, 2642, 2737,
154 2831, 2923, 3013, 3100, 3185, 3267, 3346, 3423,
155 3495, 3565, 3630, 3692, 3750, 3804, 3853, 3898,
156 3939, 3975, 4007, 4034, 4056, 4073, 4085, 4093,
157 4095, 4093, 4085, 4073, 4056, 4034, 4007, 3975,
158 3939, 3898, 3853, 3804, 3750, 3692, 3630, 3565,
159 3495, 3423, 3346, 3267, 3185, 3100, 3013, 2923,
160 2831, 2737, 2642, 2545, 2447, 2348, 2248, 2148,
161 2048, 1947, 1847, 1747, 1648, 1550, 1453, 1358,
162 1264, 1172, 1082, 995, 910, 828, 749, 672,
163 600, 530, 465, 403, 345, 291, 242, 197,
164 156, 120, 88, 61, 39, 22, 10, 2,
165 0, 2, 10, 22, 39, 61, 88, 120,
166 156, 197, 242, 291, 345, 403, 465, 530,
167 600, 672, 749, 828, 910, 995, 1082, 1172,
168 1264, 1358, 1453, 1550, 1648, 1747, 1847, 1947
169 };
170
171 const uint16_t DACLookup_FullSine_6Bit[64] =
172 {
173 2048, 2248, 2447, 2642, 2831, 3013, 3185, 3346,
174 3495, 3630, 3750, 3853, 3939, 4007, 4056, 4085,
175 4095, 4085, 4056, 4007, 3939, 3853, 3750, 3630,
176 3495, 3346, 3185, 3013, 2831, 2642, 2447, 2248,
177 2048, 1847, 1648, 1453, 1264, 1082, 910, 749,
178 600, 465, 345, 242, 156, 88, 39, 10,
179 0, 10, 39, 88, 156, 242, 345, 465,
180 600, 749, 910, 1082, 1264, 1453, 1648, 1847
181 };
182
183 const uint16_t DACLookup_FullSine_5Bit[32] =
184 {
185 2048, 2447, 2831, 3185, 3495, 3750, 3939, 4056,
186 4095, 4056, 3939, 3750, 3495, 3185, 2831, 2447,
187 2048, 1648, 1264, 910, 600, 345, 156, 39,
188 0, 39, 156, 345, 600, 910, 1264, 1648
189 };
190
191 #endif
This page took 0.059857 seconds and 5 git commands to generate.