Library for VS1053 chip with non blocking call to check dreq and cancel playback function

Dependents:   VS1053Player MP3_test MP3_final_S4P_ANDRIAMARO_RAKOTO_1

Fork of VS1053lib by clemente di caprio

Committer:
ollie8
Date:
Thu Dec 26 09:14:07 2013 +0000
Revision:
4:ce980c240ae1
Parent:
0:e97876f96d4b
fixed bug

Who changed what in which revision?

UserRevisionLine numberNew contents of line
clemente 0:e97876f96d4b 1 /* User application code loading tables for VS10xx */
clemente 0:e97876f96d4b 2 /* Spectrum Analizer plugin ver.0.9 */
clemente 0:e97876f96d4b 3
clemente 0:e97876f96d4b 4 #if 0
clemente 0:e97876f96d4b 5 void LoadUserCode(void) {
clemente 0:e97876f96d4b 6 int i = 0;
clemente 0:e97876f96d4b 7
clemente 0:e97876f96d4b 8 while (i<sizeof(plugin)/sizeof(plugin[0])) {
clemente 0:e97876f96d4b 9 unsigned short addr, n, val;
clemente 0:e97876f96d4b 10 addr = plugin[i++];
clemente 0:e97876f96d4b 11 n = plugin[i++];
clemente 0:e97876f96d4b 12 if (n & 0x8000U) { /* RLE run, replicate n samples */
clemente 0:e97876f96d4b 13 n &= 0x7FFF;
clemente 0:e97876f96d4b 14 val = plugin[i++];
clemente 0:e97876f96d4b 15 while (n--) {
clemente 0:e97876f96d4b 16 WriteVS10xxRegister(addr, val);
clemente 0:e97876f96d4b 17 }
clemente 0:e97876f96d4b 18 } else { /* Copy run, copy n samples */
clemente 0:e97876f96d4b 19 while (n--) {
clemente 0:e97876f96d4b 20 val = plugin[i++];
clemente 0:e97876f96d4b 21 WriteVS10xxRegister(addr, val);
clemente 0:e97876f96d4b 22 }
clemente 0:e97876f96d4b 23 }
clemente 0:e97876f96d4b 24 }
clemente 0:e97876f96d4b 25 }
clemente 0:e97876f96d4b 26 #endif
clemente 0:e97876f96d4b 27
clemente 0:e97876f96d4b 28 #ifndef SKIP_PLUGIN_VARNAME
clemente 0:e97876f96d4b 29 #define PLUGINGA_SIZE 968
clemente 0:e97876f96d4b 30 const unsigned short gaplugin[968] = { /* Compressed plugin */
clemente 0:e97876f96d4b 31 #endif
clemente 0:e97876f96d4b 32 0x0007, 0x0001, 0x8050, 0x0006, 0x0018, 0x3613, 0x0024, 0x3e00, /* 0 */
clemente 0:e97876f96d4b 33 0x3801, 0x0000, 0x16d7, 0xf400, 0x55c0, 0x0000, 0x0c17, 0xf400, /* 8 */
clemente 0:e97876f96d4b 34 0x57c0, 0x0007, 0x9257, 0xb080, 0x0024, 0x3f00, 0x0024, 0x2000, /* 10 */
clemente 0:e97876f96d4b 35 0x0000, 0x36f0, 0x1801, 0x2800, 0x31c0, 0x0007, 0x0001, 0x805c, /* 18 */
clemente 0:e97876f96d4b 36 0x0006, 0x00d6, 0x3e12, 0xb817, 0x3e12, 0x3815, 0x3e05, 0xb814, /* 20 */
clemente 0:e97876f96d4b 37 0x3615, 0x0024, 0x0000, 0x800a, 0x3e10, 0x3801, 0x0006, 0x0000, /* 28 */
clemente 0:e97876f96d4b 38 0x3e10, 0xb803, 0x0000, 0x0303, 0x3e11, 0x3805, 0x3e11, 0xb807, /* 30 */
clemente 0:e97876f96d4b 39 0x3e14, 0x3812, 0xb884, 0x130c, 0x3410, 0x4024, 0x4112, 0x10d0, /* 38 */
clemente 0:e97876f96d4b 40 0x4010, 0x008c, 0x4010, 0x0024, 0xf400, 0x4012, 0x3000, 0x3840, /* 40 */
clemente 0:e97876f96d4b 41 0x3009, 0x3801, 0x0000, 0x0041, 0xfe02, 0x0024, 0x2900, 0x8440, /* 48 */
clemente 0:e97876f96d4b 42 0x48b2, 0x0024, 0x36f3, 0x0844, 0x6306, 0x8845, 0xae3a, 0x8840, /* 50 */
clemente 0:e97876f96d4b 43 0xbf8e, 0x8b41, 0xac32, 0xa846, 0xffc8, 0xabc7, 0x3e01, 0x7800, /* 58 */
clemente 0:e97876f96d4b 44 0xf400, 0x4480, 0x6090, 0x0024, 0x6090, 0x0024, 0xf400, 0x4015, /* 60 */
clemente 0:e97876f96d4b 45 0x3009, 0x3446, 0x3009, 0x37c7, 0x3009, 0x1800, 0x3009, 0x3844, /* 68 */
clemente 0:e97876f96d4b 46 0x48b3, 0xe1e0, 0x4882, 0x4040, 0xfeca, 0x0024, 0x5ac2, 0x0024, /* 70 */
clemente 0:e97876f96d4b 47 0x5a52, 0x0024, 0x4cc2, 0x0024, 0x48ba, 0x4040, 0x4eea, 0x4801, /* 78 */
clemente 0:e97876f96d4b 48 0x4eca, 0x9800, 0xff80, 0x1bc1, 0xf1eb, 0xe3e2, 0xf1ea, 0x184c, /* 80 */
clemente 0:e97876f96d4b 49 0x4c8b, 0xe5e4, 0x48be, 0x9804, 0x488e, 0x41c6, 0xfe82, 0x0024, /* 88 */
clemente 0:e97876f96d4b 50 0x5a8e, 0x0024, 0x525e, 0x1b85, 0x4ffe, 0x0024, 0x48b6, 0x41c6, /* 90 */
clemente 0:e97876f96d4b 51 0x4dd6, 0x48c7, 0x4df6, 0x0024, 0xf1d6, 0x0024, 0xf1d6, 0x0024, /* 98 */
clemente 0:e97876f96d4b 52 0x4eda, 0x0024, 0x0000, 0x0fc3, 0x2900, 0x8440, 0x4e82, 0x0024, /* a0 */
clemente 0:e97876f96d4b 53 0x4084, 0x130c, 0x0006, 0x0100, 0x3440, 0x4024, 0x4010, 0x0024, /* a8 */
clemente 0:e97876f96d4b 54 0xf400, 0x4012, 0x3200, 0x4024, 0xb132, 0x0024, 0x4214, 0x0024, /* b0 */
clemente 0:e97876f96d4b 55 0xf224, 0x0024, 0x6230, 0x0024, 0x0001, 0x0001, 0x2800, 0x2b49, /* b8 */
clemente 0:e97876f96d4b 56 0x0000, 0x0024, 0xf400, 0x40c2, 0x3200, 0x0024, 0xff82, 0x0024, /* c0 */
clemente 0:e97876f96d4b 57 0x48b2, 0x0024, 0xb130, 0x0024, 0x6202, 0x0024, 0x003f, 0xf001, /* c8 */
clemente 0:e97876f96d4b 58 0x2800, 0x2e51, 0x0000, 0x1046, 0xfe64, 0x0024, 0x48be, 0x0024, /* d0 */
clemente 0:e97876f96d4b 59 0x2800, 0x2f40, 0x3a01, 0x8024, 0x3200, 0x0024, 0xb010, 0x0024, /* d8 */
clemente 0:e97876f96d4b 60 0xc020, 0x0024, 0x3a00, 0x0024, 0x36f4, 0x1812, 0x36f1, 0x9807, /* e0 */
clemente 0:e97876f96d4b 61 0x36f1, 0x1805, 0x36f0, 0x9803, 0x36f0, 0x1801, 0x3405, 0x9014, /* e8 */
clemente 0:e97876f96d4b 62 0x36f3, 0x0024, 0x36f2, 0x1815, 0x2000, 0x0000, 0x36f2, 0x9817, /* f0 */
clemente 0:e97876f96d4b 63 0x0007, 0x0001, 0x80c7, 0x0006, 0x01c0, 0x3e12, 0xb817, 0x3e12, /* f8 */
clemente 0:e97876f96d4b 64 0x3815, 0x3e05, 0xb814, 0x3625, 0x0024, 0x0000, 0x800a, 0x3e10, /* 100 */
clemente 0:e97876f96d4b 65 0x7802, 0x3e10, 0xf804, 0x3e11, 0x7810, 0x3e14, 0x7813, 0x0006, /* 108 */
clemente 0:e97876f96d4b 66 0x0051, 0x3e13, 0xf80e, 0x3e13, 0x4024, 0x3009, 0x3840, 0x3009, /* 110 */
clemente 0:e97876f96d4b 67 0x3852, 0x2911, 0xf140, 0x0006, 0x06d0, 0x3100, 0x5bd2, 0x0006, /* 118 */
clemente 0:e97876f96d4b 68 0xc351, 0x3009, 0x1800, 0x3009, 0x0402, 0x6126, 0x0024, 0x0006, /* 120 */
clemente 0:e97876f96d4b 69 0x00d1, 0x2800, 0x4d05, 0xb882, 0x0024, 0x0006, 0x0011, 0x3009, /* 128 */
clemente 0:e97876f96d4b 70 0x3850, 0x0006, 0x0010, 0x3009, 0x3800, 0x2914, 0xbec0, 0x0000, /* 130 */
clemente 0:e97876f96d4b 71 0x1800, 0x0006, 0x0010, 0xb882, 0x0024, 0x2915, 0x7ac0, 0x0000, /* 138 */
clemente 0:e97876f96d4b 72 0x1700, 0x0000, 0x0301, 0x3900, 0x5bc0, 0x0006, 0xc351, 0x3009, /* 140 */
clemente 0:e97876f96d4b 73 0x1bd0, 0x3009, 0x0404, 0x0006, 0x0051, 0x2800, 0x3d00, 0x3901, /* 148 */
clemente 0:e97876f96d4b 74 0x0024, 0x4448, 0x0401, 0x4192, 0x0024, 0x6498, 0x2401, 0x001f, /* 150 */
clemente 0:e97876f96d4b 75 0x4001, 0x6412, 0x0024, 0x0006, 0x0011, 0x2800, 0x3c51, 0x0000, /* 158 */
clemente 0:e97876f96d4b 76 0x058e, 0x2400, 0x4c0e, 0x0000, 0x0013, 0x0006, 0x0051, 0x0006, /* 160 */
clemente 0:e97876f96d4b 77 0x1a03, 0x3100, 0x4024, 0xf212, 0x44c4, 0x4346, 0x0024, 0xf400, /* 168 */
clemente 0:e97876f96d4b 78 0x40d5, 0x3500, 0x8024, 0x612a, 0x0024, 0x0000, 0x0024, 0x2800, /* 170 */
clemente 0:e97876f96d4b 79 0x4c51, 0x0000, 0x0024, 0x3613, 0x0024, 0x3100, 0x3800, 0x2915, /* 178 */
clemente 0:e97876f96d4b 80 0x7dc0, 0xf200, 0x0024, 0x003f, 0xfec2, 0x4082, 0x4411, 0x3113, /* 180 */
clemente 0:e97876f96d4b 81 0x1bc0, 0xa122, 0x0024, 0x0000, 0x2002, 0x6124, 0x2401, 0x0000, /* 188 */
clemente 0:e97876f96d4b 82 0x1002, 0x2800, 0x4608, 0x0000, 0x0024, 0x003f, 0xf802, 0x3100, /* 190 */
clemente 0:e97876f96d4b 83 0x4024, 0xb124, 0x0024, 0x2800, 0x4bc0, 0x3900, 0x8024, 0x6124, /* 198 */
clemente 0:e97876f96d4b 84 0x0024, 0x0000, 0x0802, 0x2800, 0x4848, 0x0000, 0x0024, 0x003f, /* 1a0 */
clemente 0:e97876f96d4b 85 0xfe02, 0x3100, 0x4024, 0xb124, 0x0024, 0x2800, 0x4bc0, 0x3900, /* 1a8 */
clemente 0:e97876f96d4b 86 0x8024, 0x6124, 0x0024, 0x0000, 0x0402, 0x2800, 0x4a88, 0x0000, /* 1b0 */
clemente 0:e97876f96d4b 87 0x0024, 0x003f, 0xff02, 0x3100, 0x4024, 0xb124, 0x0024, 0x2800, /* 1b8 */
clemente 0:e97876f96d4b 88 0x4bc0, 0x3900, 0x8024, 0x6124, 0x0401, 0x003f, 0xff82, 0x2800, /* 1c0 */
clemente 0:e97876f96d4b 89 0x4bc8, 0xb124, 0x0024, 0x3900, 0x8024, 0xb882, 0x8c4c, 0x3830, /* 1c8 */
clemente 0:e97876f96d4b 90 0x4024, 0x0006, 0x0091, 0x3904, 0xd84c, 0x0006, 0x00d1, 0x0000, /* 1d0 */
clemente 0:e97876f96d4b 91 0x0013, 0x3100, 0x904c, 0x4202, 0x9bcc, 0x39f0, 0x4024, 0x3100, /* 1d8 */
clemente 0:e97876f96d4b 92 0x4024, 0x3c00, 0x4024, 0xf400, 0x44c1, 0x34f0, 0x8024, 0x6126, /* 1e0 */
clemente 0:e97876f96d4b 93 0x0024, 0x0006, 0x06d0, 0x2800, 0x5dd8, 0x4294, 0x0024, 0x2400, /* 1e8 */
clemente 0:e97876f96d4b 94 0x5d82, 0x0000, 0x0024, 0xf400, 0x4411, 0x3123, 0x0024, 0x3100, /* 1f0 */
clemente 0:e97876f96d4b 95 0x8024, 0x4202, 0x0024, 0x4182, 0x2401, 0x0000, 0x2002, 0x2800, /* 1f8 */
clemente 0:e97876f96d4b 96 0x5d89, 0x0000, 0x0024, 0x3013, 0x184c, 0x30f0, 0x7852, 0x6124, /* 200 */
clemente 0:e97876f96d4b 97 0xb850, 0x0006, 0x0001, 0x2800, 0x5588, 0x4088, 0x44c2, 0x4224, /* 208 */
clemente 0:e97876f96d4b 98 0x0024, 0x4122, 0x0024, 0x4122, 0x0024, 0xf400, 0x4051, 0x2900, /* 210 */
clemente 0:e97876f96d4b 99 0x7440, 0x0000, 0x56c8, 0x4224, 0x0024, 0x4122, 0x0024, 0x4122, /* 218 */
clemente 0:e97876f96d4b 100 0x0024, 0x2900, 0x69c0, 0xf400, 0x4051, 0x0004, 0x0002, 0x3009, /* 220 */
clemente 0:e97876f96d4b 101 0x1bd0, 0x3023, 0x1bd2, 0x30e0, 0x4024, 0x6124, 0x0024, 0x0000, /* 228 */
clemente 0:e97876f96d4b 102 0x4002, 0x2800, 0x5988, 0x0000, 0x0024, 0x0000, 0x0001, 0x3820, /* 230 */
clemente 0:e97876f96d4b 103 0x4024, 0x30e0, 0x4024, 0x6124, 0x0001, 0x003f, 0xff42, 0x2800, /* 238 */
clemente 0:e97876f96d4b 104 0x5d88, 0x4182, 0x0024, 0x0000, 0x0024, 0x2800, 0x5d95, 0x0000, /* 240 */
clemente 0:e97876f96d4b 105 0x0024, 0x3613, 0x0024, 0x3e14, 0xc024, 0x2900, 0x1700, 0x3e14, /* 248 */
clemente 0:e97876f96d4b 106 0x0024, 0x36e3, 0x008c, 0x30e0, 0x4024, 0xfe22, 0x4411, 0x48b6, /* 250 */
clemente 0:e97876f96d4b 107 0x048c, 0x3900, 0x8024, 0x3033, 0x0c4c, 0x0006, 0x0011, 0x6892, /* 258 */
clemente 0:e97876f96d4b 108 0x04c2, 0xa122, 0x0402, 0x6126, 0x0024, 0x0006, 0x0093, 0x2800, /* 260 */
clemente 0:e97876f96d4b 109 0x6701, 0x0000, 0x0024, 0xb882, 0x184c, 0x3413, 0x3812, 0x0006, /* 268 */
clemente 0:e97876f96d4b 110 0x00d2, 0x3a00, 0x5bd2, 0x3300, 0x4024, 0x0000, 0x0013, 0x3c00, /* 270 */
clemente 0:e97876f96d4b 111 0x4024, 0xf400, 0x44c1, 0x34f0, 0x8024, 0x6126, 0x0024, 0x0006, /* 278 */
clemente 0:e97876f96d4b 112 0x0111, 0x2800, 0x6718, 0x4294, 0x0024, 0x2400, 0x66c2, 0x0000, /* 280 */
clemente 0:e97876f96d4b 113 0x0024, 0x0003, 0xf001, 0x3101, 0x0024, 0xb412, 0x0024, 0x0028, /* 288 */
clemente 0:e97876f96d4b 114 0x0001, 0x2800, 0x66c5, 0x6144, 0x0024, 0x0004, 0x0002, 0x2800, /* 290 */
clemente 0:e97876f96d4b 115 0x6681, 0x4422, 0x0024, 0x0000, 0x1002, 0x6422, 0x0024, 0x2800, /* 298 */
clemente 0:e97876f96d4b 116 0x66c0, 0x3900, 0x4024, 0x3900, 0x4024, 0x3113, 0x0c4c, 0x36f3, /* 2a0 */
clemente 0:e97876f96d4b 117 0x4024, 0x36f3, 0xd80e, 0x36f4, 0x5813, 0x36f1, 0x5810, 0x36f0, /* 2a8 */
clemente 0:e97876f96d4b 118 0xd804, 0x36f0, 0x5802, 0x3405, 0x9014, 0x36f3, 0x0024, 0x36f2, /* 2b0 */
clemente 0:e97876f96d4b 119 0x1815, 0x2000, 0x0000, 0x36f2, 0x9817, 0x0007, 0x0001, 0x1868, /* 2b8 */
clemente 0:e97876f96d4b 120 0x0006, 0x000f, 0x0032, 0x004f, 0x007e, 0x00c8, 0x013d, 0x01f8, /* 2c0 */
clemente 0:e97876f96d4b 121 0x0320, 0x04f6, 0x07e0, 0x0c80, 0x13d8, 0x1f7f, 0x3200, 0x4f5f, /* 2c8 */
clemente 0:e97876f96d4b 122 0x61a8, 0x0006, 0x8008, 0x0000, 0x0007, 0x0001, 0x81a7, 0x0006, /* 2d0 */
clemente 0:e97876f96d4b 123 0x0054, 0x3e12, 0xb814, 0x0000, 0x800a, 0x3e10, 0x3801, 0x3e10, /* 2d8 */
clemente 0:e97876f96d4b 124 0xb803, 0x3e11, 0x7806, 0x3e11, 0xf813, 0x3e13, 0xf80e, 0x3e13, /* 2e0 */
clemente 0:e97876f96d4b 125 0x4024, 0x3e04, 0x7810, 0x449a, 0x0040, 0x0001, 0x0003, 0x2800, /* 2e8 */
clemente 0:e97876f96d4b 126 0x7304, 0x4036, 0x03c1, 0x0003, 0xffc2, 0xb326, 0x0024, 0x0018, /* 2f0 */
clemente 0:e97876f96d4b 127 0x0042, 0x4326, 0x4495, 0x4024, 0x40d2, 0x0000, 0x0180, 0xa100, /* 2f8 */
clemente 0:e97876f96d4b 128 0x4090, 0x0010, 0x0fc2, 0x4204, 0x0024, 0xbc82, 0x4091, 0x459a, /* 300 */
clemente 0:e97876f96d4b 129 0x0024, 0x0000, 0x0054, 0x2800, 0x7204, 0xbd86, 0x4093, 0x2400, /* 308 */
clemente 0:e97876f96d4b 130 0x71c5, 0xfe01, 0x5e0c, 0x5c43, 0x5f2d, 0x5e46, 0x020c, 0x5c56, /* 310 */
clemente 0:e97876f96d4b 131 0x8a0c, 0x5e53, 0x5e0c, 0x5c43, 0x5f2d, 0x5e46, 0x020c, 0x5c56, /* 318 */
clemente 0:e97876f96d4b 132 0x8a0c, 0x5e52, 0x0024, 0x4cb2, 0x4405, 0x0018, 0x0044, 0x654a, /* 320 */
clemente 0:e97876f96d4b 133 0x0024, 0x2800, 0x8000, 0x36f4, 0x5810, 0x0007, 0x0001, 0x81d1, /* 328 */
clemente 0:e97876f96d4b 134 0x0006, 0x0080, 0x3e12, 0xb814, 0x0000, 0x800a, 0x3e10, 0x3801, /* 330 */
clemente 0:e97876f96d4b 135 0x3e10, 0xb803, 0x3e11, 0x7806, 0x3e11, 0xf813, 0x3e13, 0xf80e, /* 338 */
clemente 0:e97876f96d4b 136 0x3e13, 0x4024, 0x3e04, 0x7810, 0x449a, 0x0040, 0x0000, 0x0803, /* 340 */
clemente 0:e97876f96d4b 137 0x2800, 0x7ec4, 0x30f0, 0x4024, 0x0fff, 0xfec2, 0xa020, 0x0024, /* 348 */
clemente 0:e97876f96d4b 138 0x0fff, 0xff02, 0xa122, 0x0024, 0x4036, 0x0024, 0x0000, 0x1fc2, /* 350 */
clemente 0:e97876f96d4b 139 0xb326, 0x0024, 0x0010, 0x4002, 0x4326, 0x4495, 0x4024, 0x40d2, /* 358 */
clemente 0:e97876f96d4b 140 0x0000, 0x0180, 0xa100, 0x4090, 0x0010, 0x0042, 0x4204, 0x0024, /* 360 */
clemente 0:e97876f96d4b 141 0xbc82, 0x4091, 0x459a, 0x0024, 0x0000, 0x0054, 0x2800, 0x7dc4, /* 368 */
clemente 0:e97876f96d4b 142 0xbd86, 0x4093, 0x2400, 0x7d85, 0xfe01, 0x5e0c, 0x5c43, 0x5f2d, /* 370 */
clemente 0:e97876f96d4b 143 0x5e46, 0x0024, 0x5c56, 0x0024, 0x5e53, 0x5e0c, 0x5c43, 0x5f2d, /* 378 */
clemente 0:e97876f96d4b 144 0x5e46, 0x0024, 0x5c56, 0x0024, 0x5e52, 0x0024, 0x4cb2, 0x4405, /* 380 */
clemente 0:e97876f96d4b 145 0x0010, 0x4004, 0x654a, 0x9810, 0x0000, 0x0144, 0xa54a, 0x1bd1, /* 388 */
clemente 0:e97876f96d4b 146 0x0006, 0x0013, 0x3301, 0xc444, 0x687e, 0x2005, 0xad76, 0x8445, /* 390 */
clemente 0:e97876f96d4b 147 0x4ed6, 0x8784, 0x36f3, 0x64c2, 0xac72, 0x8785, 0x4ec2, 0xa443, /* 398 */
clemente 0:e97876f96d4b 148 0x3009, 0x2440, 0x3009, 0x2741, 0x36f3, 0xd80e, 0x36f1, 0xd813, /* 3a0 */
clemente 0:e97876f96d4b 149 0x36f1, 0x5806, 0x36f0, 0x9803, 0x36f0, 0x1801, 0x2000, 0x0000, /* 3a8 */
clemente 0:e97876f96d4b 150 0x36f2, 0x9814, 0x0007, 0x0001, 0x8211, 0x0006, 0x000e, 0x4c82, /* 3b0 */
clemente 0:e97876f96d4b 151 0x0024, 0x0000, 0x0024, 0x2000, 0x0005, 0xf5c2, 0x0024, 0x0000, /* 3b8 */
clemente 0:e97876f96d4b 152 0x0980, 0x2000, 0x0000, 0x6010, 0x0024, 0x000a, 0x0001, 0x0050,
clemente 0:e97876f96d4b 153 #ifndef SKIP_PLUGIN_VARNAME
clemente 0:e97876f96d4b 154 };
clemente 0:e97876f96d4b 155 #endif