Jack Humbert
9 years ago
|
@@ -0,0 +1,357 @@
|
|
|
+#include <avr/io.h>
|
|
|
+#include <avr/interrupt.h>
|
|
|
+#include <avr/pgmspace.h>
|
|
|
+
|
|
|
+#define FREQUENCY_LUT_LENGTH 349
|
|
|
+
|
|
|
+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
|
|
|
+};
|