You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					383 lines
				
				3.4 KiB
			
		
		
			
		
	
	
					383 lines
				
				3.4 KiB
			|   
											10 years ago
										 | #include <avr/io.h>
 | ||
|  | #include <avr/interrupt.h>
 | ||
|  | #include <avr/pgmspace.h>
 | ||
|  | #include "luts.h"
 | ||
|  | 
 | ||
|  | const float vibrato_lut[VIBRATO_LUT_LENGTH] = | ||
|  | { | ||
|  | 	1.0022336811487, | ||
|  | 	1.0042529943610, | ||
|  | 	1.0058584256028, | ||
|  | 	1.0068905285205, | ||
|  | 	1.0072464122237, | ||
|  | 	1.0068905285205, | ||
|  | 	1.0058584256028, | ||
|  | 	1.0042529943610, | ||
|  | 	1.0022336811487, | ||
|  | 	1.0000000000000, | ||
|  | 	0.9977712970630, | ||
|  | 	0.9957650169978, | ||
|  | 	0.9941756956510, | ||
|  | 	0.9931566259436, | ||
|  | 	0.9928057204913, | ||
|  | 	0.9931566259436, | ||
|  | 	0.9941756956510, | ||
|  | 	0.9957650169978, | ||
|  | 	0.9977712970630, | ||
|  | 	1.0000000000000, | ||
|  | }; | ||
|  | 
 | ||
|  | const uint16_t frequency_lut[FREQUENCY_LUT_LENGTH] = | ||
|  | { | ||
|  | 	0x8E0B, | ||
|  | 	0x8C02, | ||
|  | 	0x8A00, | ||
|  | 	0x8805, | ||
|  | 	0x8612, | ||
|  | 	0x8426, | ||
|  | 	0x8241, | ||
|  | 	0x8063, | ||
|  | 	0x7E8C, | ||
|  | 	0x7CBB, | ||
|  | 	0x7AF2, | ||
|  | 	0x792E, | ||
|  | 	0x7772, | ||
|  | 	0x75BB, | ||
|  | 	0x740B, | ||
|  | 	0x7261, | ||
|  | 	0x70BD, | ||
|  | 	0x6F20, | ||
|  | 	0x6D88, | ||
|  | 	0x6BF6, | ||
|  | 	0x6A69, | ||
|  | 	0x68E3, | ||
|  | 	0x6762, | ||
|  | 	0x65E6, | ||
|  | 	0x6470, | ||
|  | 	0x6300, | ||
|  | 	0x6194, | ||
|  | 	0x602E, | ||
|  | 	0x5ECD, | ||
|  | 	0x5D71, | ||
|  | 	0x5C1A, | ||
|  | 	0x5AC8, | ||
|  | 	0x597B, | ||
|  | 	0x5833, | ||
|  | 	0x56EF, | ||
|  | 	0x55B0, | ||
|  | 	0x5475, | ||
|  | 	0x533F, | ||
|  | 	0x520E, | ||
|  | 	0x50E1, | ||
|  | 	0x4FB8, | ||
|  | 	0x4E93, | ||
|  | 	0x4D73, | ||
|  | 	0x4C57, | ||
|  | 	0x4B3E, | ||
|  | 	0x4A2A, | ||
|  | 	0x491A, | ||
|  | 	0x480E, | ||
|  | 	0x4705, | ||
|  | 	0x4601, | ||
|  | 	0x4500, | ||
|  | 	0x4402, | ||
|  | 	0x4309, | ||
|  | 	0x4213, | ||
|  | 	0x4120, | ||
|  | 	0x4031, | ||
|  | 	0x3F46, | ||
|  | 	0x3E5D, | ||
|  | 	0x3D79, | ||
|  | 	0x3C97, | ||
|  | 	0x3BB9, | ||
|  | 	0x3ADD, | ||
|  | 	0x3A05, | ||
|  | 	0x3930, | ||
|  | 	0x385E, | ||
|  | 	0x3790, | ||
|  | 	0x36C4, | ||
|  | 	0x35FB, | ||
|  | 	0x3534, | ||
|  | 	0x3471, | ||
|  | 	0x33B1, | ||
|  | 	0x32F3, | ||
|  | 	0x3238, | ||
|  | 	0x3180, | ||
|  | 	0x30CA, | ||
|  | 	0x3017, | ||
|  | 	0x2F66, | ||
|  | 	0x2EB8, | ||
|  | 	0x2E0D, | ||
|  | 	0x2D64, | ||
|  | 	0x2CBD, | ||
|  | 	0x2C19, | ||
|  | 	0x2B77, | ||
|  | 	0x2AD8, | ||
|  | 	0x2A3A, | ||
|  | 	0x299F, | ||
|  | 	0x2907, | ||
|  | 	0x2870, | ||
|  | 	0x27DC, | ||
|  | 	0x2749, | ||
|  | 	0x26B9, | ||
|  | 	0x262B, | ||
|  | 	0x259F, | ||
|  | 	0x2515, | ||
|  | 	0x248D, | ||
|  | 	0x2407, | ||
|  | 	0x2382, | ||
|  | 	0x2300, | ||
|  | 	0x2280, | ||
|  | 	0x2201, | ||
|  | 	0x2184, | ||
|  | 	0x2109, | ||
|  | 	0x2090, | ||
|  | 	0x2018, | ||
|  | 	0x1FA3, | ||
|  | 	0x1F2E, | ||
|  | 	0x1EBC, | ||
|  | 	0x1E4B, | ||
|  | 	0x1DDC, | ||
|  | 	0x1D6E, | ||
|  | 	0x1D02, | ||
|  | 	0x1C98, | ||
|  | 	0x1C2F, | ||
|  | 	0x1BC8, | ||
|  | 	0x1B62, | ||
|  | 	0x1AFD, | ||
|  | 	0x1A9A, | ||
|  | 	0x1A38, | ||
|  | 	0x19D8, | ||
|  | 	0x1979, | ||
|  | 	0x191C, | ||
|  | 	0x18C0, | ||
|  | 	0x1865, | ||
|  | 	0x180B, | ||
|  | 	0x17B3, | ||
|  | 	0x175C, | ||
|  | 	0x1706, | ||
|  | 	0x16B2, | ||
|  | 	0x165E, | ||
|  | 	0x160C, | ||
|  | 	0x15BB, | ||
|  | 	0x156C, | ||
|  | 	0x151D, | ||
|  | 	0x14CF, | ||
|  | 	0x1483, | ||
|  | 	0x1438, | ||
|  | 	0x13EE, | ||
|  | 	0x13A4, | ||
|  | 	0x135C, | ||
|  | 	0x1315, | ||
|  | 	0x12CF, | ||
|  | 	0x128A, | ||
|  | 	0x1246, | ||
|  | 	0x1203, | ||
|  | 	0x11C1, | ||
|  | 	0x1180, | ||
|  | 	0x1140, | ||
|  | 	0x1100, | ||
|  | 	0x10C2, | ||
|  | 	0x1084, | ||
|  | 	0x1048, | ||
|  | 	0x100C, | ||
|  | 	0xFD1, | ||
|  | 	0xF97, | ||
|  | 	0xF5E, | ||
|  | 	0xF25, | ||
|  | 	0xEEE, | ||
|  | 	0xEB7, | ||
|  | 	0xE81, | ||
|  | 	0xE4C, | ||
|  | 	0xE17, | ||
|  | 	0xDE4, | ||
|  | 	0xDB1, | ||
|  | 	0xD7E, | ||
|  | 	0xD4D, | ||
|  | 	0xD1C, | ||
|  | 	0xCEC, | ||
|  | 	0xCBC, | ||
|  | 	0xC8E, | ||
|  | 	0xC60, | ||
|  | 	0xC32, | ||
|  | 	0xC05, | ||
|  | 	0xBD9, | ||
|  | 	0xBAE, | ||
|  | 	0xB83, | ||
|  | 	0xB59, | ||
|  | 	0xB2F, | ||
|  | 	0xB06, | ||
|  | 	0xADD, | ||
|  | 	0xAB6, | ||
|  | 	0xA8E, | ||
|  | 	0xA67, | ||
|  | 	0xA41, | ||
|  | 	0xA1C, | ||
|  | 	0x9F7, | ||
|  | 	0x9D2, | ||
|  | 	0x9AE, | ||
|  | 	0x98A, | ||
|  | 	0x967, | ||
|  | 	0x945, | ||
|  | 	0x923, | ||
|  | 	0x901, | ||
|  | 	0x8E0, | ||
|  | 	0x8C0, | ||
|  | 	0x8A0, | ||
|  | 	0x880, | ||
|  | 	0x861, | ||
|  | 	0x842, | ||
|  | 	0x824, | ||
|  | 	0x806, | ||
|  | 	0x7E8, | ||
|  | 	0x7CB, | ||
|  | 	0x7AF, | ||
|  | 	0x792, | ||
|  | 	0x777, | ||
|  | 	0x75B, | ||
|  | 	0x740, | ||
|  | 	0x726, | ||
|  | 	0x70B, | ||
|  | 	0x6F2, | ||
|  | 	0x6D8, | ||
|  | 	0x6BF, | ||
|  | 	0x6A6, | ||
|  | 	0x68E, | ||
|  | 	0x676, | ||
|  | 	0x65E, | ||
|  | 	0x647, | ||
|  | 	0x630, | ||
|  | 	0x619, | ||
|  | 	0x602, | ||
|  | 	0x5EC, | ||
|  | 	0x5D7, | ||
|  | 	0x5C1, | ||
|  | 	0x5AC, | ||
|  | 	0x597, | ||
|  | 	0x583, | ||
|  | 	0x56E, | ||
|  | 	0x55B, | ||
|  | 	0x547, | ||
|  | 	0x533, | ||
|  | 	0x520, | ||
|  | 	0x50E, | ||
|  | 	0x4FB, | ||
|  | 	0x4E9, | ||
|  | 	0x4D7, | ||
|  | 	0x4C5, | ||
|  | 	0x4B3, | ||
|  | 	0x4A2, | ||
|  | 	0x491, | ||
|  | 	0x480, | ||
|  | 	0x470, | ||
|  | 	0x460, | ||
|  | 	0x450, | ||
|  | 	0x440, | ||
|  | 	0x430, | ||
|  | 	0x421, | ||
|  | 	0x412, | ||
|  | 	0x403, | ||
|  | 	0x3F4, | ||
|  | 	0x3E5, | ||
|  | 	0x3D7, | ||
|  | 	0x3C9, | ||
|  | 	0x3BB, | ||
|  | 	0x3AD, | ||
|  | 	0x3A0, | ||
|  | 	0x393, | ||
|  | 	0x385, | ||
|  | 	0x379, | ||
|  | 	0x36C, | ||
|  | 	0x35F, | ||
|  | 	0x353, | ||
|  | 	0x347, | ||
|  | 	0x33B, | ||
|  | 	0x32F, | ||
|  | 	0x323, | ||
|  | 	0x318, | ||
|  | 	0x30C, | ||
|  | 	0x301, | ||
|  | 	0x2F6, | ||
|  | 	0x2EB, | ||
|  | 	0x2E0, | ||
|  | 	0x2D6, | ||
|  | 	0x2CB, | ||
|  | 	0x2C1, | ||
|  | 	0x2B7, | ||
|  | 	0x2AD, | ||
|  | 	0x2A3, | ||
|  | 	0x299, | ||
|  | 	0x290, | ||
|  | 	0x287, | ||
|  | 	0x27D, | ||
|  | 	0x274, | ||
|  | 	0x26B, | ||
|  | 	0x262, | ||
|  | 	0x259, | ||
|  | 	0x251, | ||
|  | 	0x248, | ||
|  | 	0x240, | ||
|  | 	0x238, | ||
|  | 	0x230, | ||
|  | 	0x228, | ||
|  | 	0x220, | ||
|  | 	0x218, | ||
|  | 	0x210, | ||
|  | 	0x209, | ||
|  | 	0x201, | ||
|  | 	0x1FA, | ||
|  | 	0x1F2, | ||
|  | 	0x1EB, | ||
|  | 	0x1E4, | ||
|  | 	0x1DD, | ||
|  | 	0x1D6, | ||
|  | 	0x1D0, | ||
|  | 	0x1C9, | ||
|  | 	0x1C2, | ||
|  | 	0x1BC, | ||
|  | 	0x1B6, | ||
|  | 	0x1AF, | ||
|  | 	0x1A9, | ||
|  | 	0x1A3, | ||
|  | 	0x19D, | ||
|  | 	0x197, | ||
|  | 	0x191, | ||
|  | 	0x18C, | ||
|  | 	0x186, | ||
|  | 	0x180, | ||
|  | 	0x17B, | ||
|  | 	0x175, | ||
|  | 	0x170, | ||
|  | 	0x16B, | ||
|  | 	0x165, | ||
|  | 	0x160, | ||
|  | 	0x15B, | ||
|  | 	0x156, | ||
|  | 	0x151, | ||
|  | 	0x14C, | ||
|  | 	0x148, | ||
|  | 	0x143, | ||
|  | 	0x13E, | ||
|  | 	0x13A, | ||
|  | 	0x135, | ||
|  | 	0x131, | ||
|  | 	0x12C, | ||
|  | 	0x128, | ||
|  | 	0x124, | ||
|  | 	0x120, | ||
|  | 	0x11C, | ||
|  | 	0x118, | ||
|  | 	0x114, | ||
|  | 	0x110, | ||
|  | 	0x10C, | ||
|  | 	0x108, | ||
|  | 	0x104, | ||
|  | 	0x100, | ||
|  | 	0xFD, | ||
|  | 	0xF9, | ||
|  | 	0xF5, | ||
|  | 	0xF2, | ||
|  | 	0xEE, | ||
|  | }; | ||
|  | 
 |