daisy_bsp 0.5.1

A board support package for the Electro-Smith Daisy Seed
Documentation
#![allow(clippy::unreadable_literal)]
#![allow(clippy::excessive_precision)]

pub const LENGTH: usize = 512;
type Wavetable = [f32; LENGTH];

// 512 samples @ 48 KHz = 93.75 Hz
pub static SAW: Wavetable = [
    0.0000000000,
    -1.0000000000,
    -0.7617416840,
    -0.8973038553,
    -0.7952467679,
    -0.8684955392,
    -0.8026719089,
    -0.8521037367,
    -0.8031754238,
    -0.8399762757,
    -0.8008617851,
    -0.8298087747,
    -0.7971288642,
    -0.8207023893,
    -0.7925816186,
    -0.8122346872,
    -0.7875241277,
    -0.8041811211,
    -0.7821258594,
    -0.7964113640,
    -0.7764886983,
    -0.7888446070,
    -0.7706775647,
    -0.7814280933,
    -0.7647357747,
    -0.7741259254,
    -0.7586933308,
    -0.7669128331,
    -0.7525716684,
    -0.7597705155,
    -0.7463865062,
    -0.7526853961,
    -0.7401496309,
    -0.7456471933,
    -0.7338700518,
    -0.7386479794,
    -0.7275547720,
    -0.7316815455,
    -0.7212093155,
    -0.7247429607,
    -0.7148380970,
    -0.7178282608,
    -0.7084446861,
    -0.7109342235,
    -0.7020319987,
    -0.7040582037,
    -0.6956024399,
    -0.6971980101,
    -0.6891580099,
    -0.6903518134,
    -0.6827003850,
    -0.6835180746,
    -0.6762309805,
    -0.6766954903,
    -0.6697509985,
    -0.6698829500,
    -0.6632614664,
    -0.6630795020,
    -0.6567632669,
    -0.6562843264,
    -0.6502571625,
    -0.6494967135,
    -0.6437438146,
    -0.6427160462,
    -0.6372237996,
    -0.6359417854,
    -0.6306976220,
    -0.6291734587,
    -0.6241657246,
    -0.6224106505,
    -0.6176284979,
    -0.6156529936,
    -0.6110862872,
    -0.6089001631,
    -0.6045393989,
    -0.6021518699,
    -0.5979881056,
    -0.5954078567,
    -0.5914326506,
    -0.5886678934,
    -0.5848732516,
    -0.5819317737,
    -0.5783101040,
    -0.5751993126,
    -0.5717433834,
    -0.5684703431,
    -0.5651732484,
    -0.5617447146,
    -0.5585998423,
    -0.5550222907,
    -0.5520232948,
    -0.5483029479,
    -0.5454437239,
    -0.5415865734,
    -0.5388612371,
    -0.5348730648,
    -0.5322759323,
    -0.5281623284,
    -0.5256878993,
    -0.5214542781,
    -0.5190972203,
    -0.5147488352,
    -0.5125039710,
    -0.5080459271,
    -0.5059082212,
    -0.5013454866,
    -0.4993100353,
    -0.4946474517,
    -0.4927094732,
    -0.4879517647,
    -0.4861065904,
    -0.4812583721,
    -0.4795014387,
    -0.4745672238,
    -0.4728940666,
    -0.4678782727,
    -0.4662845196,
    -0.4611914750,
    -0.4596728404,
    -0.4545067889,
    -0.4530590693,
    -0.4478241753,
    -0.4464432448,
    -0.4411435967,
    -0.4398254031,
    -0.4344650178,
    -0.4332055789,
    -0.4277884046,
    -0.4265838055,
    -0.4211137245,
    -0.4199601147,
    -0.4144409463,
    -0.4133345373,
    -0.4077700397,
    -0.4067071030,
    -0.4011009754,
    -0.4000778408,
    -0.3944337250,
    -0.3934467786,
    -0.3877682606,
    -0.3868139440,
    -0.3811045552,
    -0.3801793639,
    -0.3744425821,
    -0.3735430647,
    -0.3677823149,
    -0.3669050725,
    -0.3611237279,
    -0.3602654130,
    -0.3544667953,
    -0.3536241118,
    -0.3478114917,
    -0.3469811942,
    -0.3411577919,
    -0.3403366855,
    -0.3345056707,
    -0.3336906108,
    -0.3278551028,
    -0.3270429953,
    -0.3212060633,
    -0.3203938641,
    -0.3145585268,
    -0.3137432424,
    -0.3079124681,
    -0.3070911555,
    -0.3012678619,
    -0.3004376290,
    -0.2946246826,
    -0.2937826883,
    -0.2879829047,
    -0.2871263592,
    -0.2813425021,
    -0.2804686677,
    -0.2747034489,
    -0.2738096399,
    -0.2680657188,
    -0.2671493024,
    -0.2614292852,
    -0.2604876816,
    -0.2547941214,
    -0.2538248046,
    -0.2481602003,
    -0.2471606985,
    -0.2415274945,
    -0.2404953909,
    -0.2348959764,
    -0.2338289095,
    -0.2282656181,
    -0.2271612824,
    -0.2216363913,
    -0.2204925379,
    -0.2150082676,
    -0.2138227048,
    -0.2083812180,
    -0.2071518121,
    -0.2017552135,
    -0.2004798890,
    -0.1951302246,
    -0.1938069652,
    -0.1885062214,
    -0.1871330707,
    -0.1818831740,
    -0.1804582355,
    -0.1752610518,
    -0.1737824904,
    -0.1686398243,
    -0.1671058661,
    -0.1620194605,
    -0.1604283938,
    -0.1553999290,
    -0.1537501048,
    -0.1487811982,
    -0.1470710309,
    -0.1421632365,
    -0.1403912042,
    -0.1355460115,
    -0.1337106567,
    -0.1289294910,
    -0.1270294211,
    -0.1223136423,
    -0.1203475302,
    -0.1156984325,
    -0.1136650168,
    -0.1090838285,
    -0.1069819144,
    -0.1024697969,
    -0.1002982562,
    -0.0958563042,
    -0.0936140761,
    -0.0892433165,
    -0.0869294078,
    -0.0826308000,
    -0.0802442854,
    -0.0760187204,
    -0.0735587433,
    -0.0694070435,
    -0.0668728157,
    -0.0627957348,
    -0.0601865372,
    -0.0561847596,
    -0.0534999425,
    -0.0495740833,
    -0.0468130665,
    -0.0429636708,
    -0.0401259440,
    -0.0363534873,
    -0.0334386101,
    -0.0297434977,
    -0.0267510998,
    -0.0231336668,
    -0.0200634484,
    -0.0165239594,
    -0.0133756911,
    -0.0099143403,
    -0.0066878632,
    -0.0033047742,
    -0.0000000000,
    0.0033047742,
    0.0066878632,
    0.0099143403,
    0.0133756911,
    0.0165239594,
    0.0200634484,
    0.0231336668,
    0.0267510998,
    0.0297434977,
    0.0334386101,
    0.0363534873,
    0.0401259440,
    0.0429636708,
    0.0468130665,
    0.0495740833,
    0.0534999425,
    0.0561847596,
    0.0601865372,
    0.0627957348,
    0.0668728157,
    0.0694070435,
    0.0735587433,
    0.0760187204,
    0.0802442854,
    0.0826308000,
    0.0869294078,
    0.0892433165,
    0.0936140761,
    0.0958563042,
    0.1002982562,
    0.1024697969,
    0.1069819144,
    0.1090838285,
    0.1136650168,
    0.1156984325,
    0.1203475302,
    0.1223136423,
    0.1270294211,
    0.1289294910,
    0.1337106567,
    0.1355460115,
    0.1403912042,
    0.1421632365,
    0.1470710309,
    0.1487811982,
    0.1537501048,
    0.1553999290,
    0.1604283938,
    0.1620194605,
    0.1671058661,
    0.1686398243,
    0.1737824904,
    0.1752610518,
    0.1804582355,
    0.1818831740,
    0.1871330707,
    0.1885062214,
    0.1938069652,
    0.1951302246,
    0.2004798890,
    0.2017552135,
    0.2071518121,
    0.2083812180,
    0.2138227048,
    0.2150082676,
    0.2204925379,
    0.2216363913,
    0.2271612824,
    0.2282656181,
    0.2338289095,
    0.2348959764,
    0.2404953909,
    0.2415274945,
    0.2471606985,
    0.2481602003,
    0.2538248046,
    0.2547941214,
    0.2604876816,
    0.2614292852,
    0.2671493024,
    0.2680657188,
    0.2738096399,
    0.2747034489,
    0.2804686677,
    0.2813425021,
    0.2871263592,
    0.2879829047,
    0.2937826883,
    0.2946246826,
    0.3004376290,
    0.3012678619,
    0.3070911555,
    0.3079124681,
    0.3137432424,
    0.3145585268,
    0.3203938641,
    0.3212060633,
    0.3270429953,
    0.3278551028,
    0.3336906108,
    0.3345056707,
    0.3403366855,
    0.3411577919,
    0.3469811942,
    0.3478114917,
    0.3536241118,
    0.3544667953,
    0.3602654130,
    0.3611237279,
    0.3669050725,
    0.3677823149,
    0.3735430647,
    0.3744425821,
    0.3801793639,
    0.3811045552,
    0.3868139440,
    0.3877682606,
    0.3934467786,
    0.3944337250,
    0.4000778408,
    0.4011009754,
    0.4067071030,
    0.4077700397,
    0.4133345373,
    0.4144409463,
    0.4199601147,
    0.4211137245,
    0.4265838055,
    0.4277884046,
    0.4332055789,
    0.4344650178,
    0.4398254031,
    0.4411435967,
    0.4464432448,
    0.4478241753,
    0.4530590693,
    0.4545067889,
    0.4596728404,
    0.4611914750,
    0.4662845196,
    0.4678782727,
    0.4728940666,
    0.4745672238,
    0.4795014387,
    0.4812583721,
    0.4861065904,
    0.4879517647,
    0.4927094732,
    0.4946474517,
    0.4993100353,
    0.5013454866,
    0.5059082212,
    0.5080459271,
    0.5125039710,
    0.5147488352,
    0.5190972203,
    0.5214542781,
    0.5256878993,
    0.5281623284,
    0.5322759323,
    0.5348730648,
    0.5388612371,
    0.5415865734,
    0.5454437239,
    0.5483029479,
    0.5520232948,
    0.5550222907,
    0.5585998423,
    0.5617447146,
    0.5651732484,
    0.5684703431,
    0.5717433834,
    0.5751993126,
    0.5783101040,
    0.5819317737,
    0.5848732516,
    0.5886678934,
    0.5914326506,
    0.5954078567,
    0.5979881056,
    0.6021518699,
    0.6045393989,
    0.6089001631,
    0.6110862872,
    0.6156529936,
    0.6176284979,
    0.6224106505,
    0.6241657246,
    0.6291734587,
    0.6306976220,
    0.6359417854,
    0.6372237996,
    0.6427160462,
    0.6437438146,
    0.6494967135,
    0.6502571625,
    0.6562843264,
    0.6567632669,
    0.6630795020,
    0.6632614664,
    0.6698829500,
    0.6697509985,
    0.6766954903,
    0.6762309805,
    0.6835180746,
    0.6827003850,
    0.6903518134,
    0.6891580099,
    0.6971980101,
    0.6956024399,
    0.7040582037,
    0.7020319987,
    0.7109342235,
    0.7084446861,
    0.7178282608,
    0.7148380970,
    0.7247429607,
    0.7212093155,
    0.7316815455,
    0.7275547720,
    0.7386479794,
    0.7338700518,
    0.7456471933,
    0.7401496309,
    0.7526853961,
    0.7463865062,
    0.7597705155,
    0.7525716684,
    0.7669128331,
    0.7586933308,
    0.7741259254,
    0.7647357747,
    0.7814280933,
    0.7706775647,
    0.7888446070,
    0.7764886983,
    0.7964113640,
    0.7821258594,
    0.8041811211,
    0.7875241277,
    0.8122346872,
    0.7925816186,
    0.8207023893,
    0.7971288642,
    0.8298087747,
    0.8008617851,
    0.8399762757,
    0.8031754238,
    0.8521037367,
    0.8026719089,
    0.8684955392,
    0.7952467679,
    0.8973038553,
    0.7617416840,
    1.0000000000,
];

// 512 samples @ 48 KHz = 93.75 Hz
pub static SIN: Wavetable = [
    0.,
    0.012271538,
    0.024541229,
    0.036807224,
    0.049067676,
    0.061320737,
    0.07356457,
    0.08579731,
    0.09801714,
    0.110222206,
    0.12241068,
    0.1345807,
    0.14673047,
    0.15885815,
    0.17096189,
    0.18303989,
    0.19509032,
    0.20711137,
    0.21910124,
    0.2310581,
    0.24298018,
    0.25486565,
    0.26671275,
    0.2785197,
    0.29028466,
    0.30200595,
    0.31368175,
    0.3253103,
    0.33688986,
    0.34841868,
    0.35989505,
    0.3713172,
    0.38268343,
    0.39399204,
    0.4052413,
    0.41642955,
    0.42755508,
    0.43861625,
    0.44961134,
    0.46053872,
    0.47139674,
    0.48218378,
    0.4928982,
    0.50353837,
    0.51410276,
    0.52458966,
    0.53499764,
    0.545325,
    0.55557024,
    0.5657318,
    0.57580817,
    0.58579785,
    0.5956993,
    0.60551107,
    0.6152316,
    0.6248595,
    0.6343933,
    0.64383155,
    0.65317285,
    0.6624158,
    0.671559,
    0.680601,
    0.68954057,
    0.69837624,
    0.70710677,
    0.71573085,
    0.7242471,
    0.7326543,
    0.7409511,
    0.7491364,
    0.7572088,
    0.76516724,
    0.77301043,
    0.7807372,
    0.7883464,
    0.7958369,
    0.8032075,
    0.81045717,
    0.8175848,
    0.8245893,
    0.8314696,
    0.8382247,
    0.8448536,
    0.8513552,
    0.8577286,
    0.86397284,
    0.87008697,
    0.8760701,
    0.8819213,
    0.88763964,
    0.8932243,
    0.8986745,
    0.9039893,
    0.909168,
    0.9142098,
    0.9191139,
    0.9238795,
    0.9285061,
    0.9329928,
    0.937339,
    0.94154406,
    0.9456073,
    0.94952816,
    0.953306,
    0.95694035,
    0.9604305,
    0.96377605,
    0.96697646,
    0.97003126,
    0.97293997,
    0.9757021,
    0.9783174,
    0.98078525,
    0.9831055,
    0.98527765,
    0.9873014,
    0.9891765,
    0.99090266,
    0.99247956,
    0.993907,
    0.9951847,
    0.9963126,
    0.99729043,
    0.9981181,
    0.99879545,
    0.99932235,
    0.9996988,
    0.9999247,
    1.,
    0.9999247,
    0.9996988,
    0.99932235,
    0.99879545,
    0.9981181,
    0.99729043,
    0.9963126,
    0.9951847,
    0.993907,
    0.99247956,
    0.99090266,
    0.9891765,
    0.9873014,
    0.98527765,
    0.9831055,
    0.98078525,
    0.9783174,
    0.9757021,
    0.97293997,
    0.97003126,
    0.96697646,
    0.96377605,
    0.9604305,
    0.95694035,
    0.953306,
    0.94952816,
    0.9456073,
    0.94154406,
    0.937339,
    0.9329928,
    0.9285061,
    0.9238795,
    0.9191139,
    0.9142098,
    0.909168,
    0.9039893,
    0.8986745,
    0.8932243,
    0.88763964,
    0.8819213,
    0.8760701,
    0.87008697,
    0.86397284,
    0.8577286,
    0.8513552,
    0.8448536,
    0.8382247,
    0.8314696,
    0.8245893,
    0.8175848,
    0.81045717,
    0.8032075,
    0.7958369,
    0.7883464,
    0.7807372,
    0.77301043,
    0.76516724,
    0.7572088,
    0.7491364,
    0.7409511,
    0.7326543,
    0.7242471,
    0.71573085,
    0.70710677,
    0.69837624,
    0.68954057,
    0.680601,
    0.671559,
    0.6624158,
    0.65317285,
    0.64383155,
    0.6343933,
    0.6248595,
    0.6152316,
    0.60551107,
    0.5956993,
    0.58579785,
    0.57580817,
    0.5657318,
    0.55557024,
    0.545325,
    0.53499764,
    0.52458966,
    0.51410276,
    0.50353837,
    0.4928982,
    0.48218378,
    0.47139674,
    0.46053872,
    0.44961134,
    0.43861625,
    0.42755508,
    0.41642955,
    0.4052413,
    0.39399204,
    0.38268343,
    0.3713172,
    0.35989505,
    0.34841868,
    0.33688986,
    0.3253103,
    0.31368175,
    0.30200595,
    0.29028466,
    0.2785197,
    0.26671275,
    0.25486565,
    0.24298018,
    0.2310581,
    0.21910124,
    0.20711137,
    0.19509032,
    0.18303989,
    0.17096189,
    0.15885815,
    0.14673047,
    0.1345807,
    0.12241068,
    0.110222206,
    0.09801714,
    0.08579731,
    0.07356457,
    0.061320737,
    0.049067676,
    0.036807224,
    0.024541229,
    0.012271538,
    0.00000000000000012246469,
    -0.012271538,
    -0.024541229,
    -0.036807224,
    -0.049067676,
    -0.061320737,
    -0.07356457,
    -0.08579731,
    -0.09801714,
    -0.110222206,
    -0.12241068,
    -0.1345807,
    -0.14673047,
    -0.15885815,
    -0.17096189,
    -0.18303989,
    -0.19509032,
    -0.20711137,
    -0.21910124,
    -0.2310581,
    -0.24298018,
    -0.25486565,
    -0.26671275,
    -0.2785197,
    -0.29028466,
    -0.30200595,
    -0.31368175,
    -0.3253103,
    -0.33688986,
    -0.34841868,
    -0.35989505,
    -0.3713172,
    -0.38268343,
    -0.39399204,
    -0.4052413,
    -0.41642955,
    -0.42755508,
    -0.43861625,
    -0.44961134,
    -0.46053872,
    -0.47139674,
    -0.48218378,
    -0.4928982,
    -0.50353837,
    -0.51410276,
    -0.52458966,
    -0.53499764,
    -0.545325,
    -0.55557024,
    -0.5657318,
    -0.57580817,
    -0.58579785,
    -0.5956993,
    -0.60551107,
    -0.6152316,
    -0.6248595,
    -0.6343933,
    -0.64383155,
    -0.65317285,
    -0.6624158,
    -0.671559,
    -0.680601,
    -0.68954057,
    -0.69837624,
    -0.70710677,
    -0.71573085,
    -0.7242471,
    -0.7326543,
    -0.7409511,
    -0.7491364,
    -0.7572088,
    -0.76516724,
    -0.77301043,
    -0.7807372,
    -0.7883464,
    -0.7958369,
    -0.8032075,
    -0.81045717,
    -0.8175848,
    -0.8245893,
    -0.8314696,
    -0.8382247,
    -0.8448536,
    -0.8513552,
    -0.8577286,
    -0.86397284,
    -0.87008697,
    -0.8760701,
    -0.8819213,
    -0.88763964,
    -0.8932243,
    -0.8986745,
    -0.9039893,
    -0.909168,
    -0.9142098,
    -0.9191139,
    -0.9238795,
    -0.9285061,
    -0.9329928,
    -0.937339,
    -0.94154406,
    -0.9456073,
    -0.94952816,
    -0.953306,
    -0.95694035,
    -0.9604305,
    -0.96377605,
    -0.96697646,
    -0.97003126,
    -0.97293997,
    -0.9757021,
    -0.9783174,
    -0.98078525,
    -0.9831055,
    -0.98527765,
    -0.9873014,
    -0.9891765,
    -0.99090266,
    -0.99247956,
    -0.993907,
    -0.9951847,
    -0.9963126,
    -0.99729043,
    -0.9981181,
    -0.99879545,
    -0.99932235,
    -0.9996988,
    -0.9999247,
    -1.,
    -0.9999247,
    -0.9996988,
    -0.99932235,
    -0.99879545,
    -0.9981181,
    -0.99729043,
    -0.9963126,
    -0.9951847,
    -0.993907,
    -0.99247956,
    -0.99090266,
    -0.9891765,
    -0.9873014,
    -0.98527765,
    -0.9831055,
    -0.98078525,
    -0.9783174,
    -0.9757021,
    -0.97293997,
    -0.97003126,
    -0.96697646,
    -0.96377605,
    -0.9604305,
    -0.95694035,
    -0.953306,
    -0.94952816,
    -0.9456073,
    -0.94154406,
    -0.937339,
    -0.9329928,
    -0.9285061,
    -0.9238795,
    -0.9191139,
    -0.9142098,
    -0.909168,
    -0.9039893,
    -0.8986745,
    -0.8932243,
    -0.88763964,
    -0.8819213,
    -0.8760701,
    -0.87008697,
    -0.86397284,
    -0.8577286,
    -0.8513552,
    -0.8448536,
    -0.8382247,
    -0.8314696,
    -0.8245893,
    -0.8175848,
    -0.81045717,
    -0.8032075,
    -0.7958369,
    -0.7883464,
    -0.7807372,
    -0.77301043,
    -0.76516724,
    -0.7572088,
    -0.7491364,
    -0.7409511,
    -0.7326543,
    -0.7242471,
    -0.71573085,
    -0.70710677,
    -0.69837624,
    -0.68954057,
    -0.680601,
    -0.671559,
    -0.6624158,
    -0.65317285,
    -0.64383155,
    -0.6343933,
    -0.6248595,
    -0.6152316,
    -0.60551107,
    -0.5956993,
    -0.58579785,
    -0.57580817,
    -0.5657318,
    -0.55557024,
    -0.545325,
    -0.53499764,
    -0.52458966,
    -0.51410276,
    -0.50353837,
    -0.4928982,
    -0.48218378,
    -0.47139674,
    -0.46053872,
    -0.44961134,
    -0.43861625,
    -0.42755508,
    -0.41642955,
    -0.4052413,
    -0.39399204,
    -0.38268343,
    -0.3713172,
    -0.35989505,
    -0.34841868,
    -0.33688986,
    -0.3253103,
    -0.31368175,
    -0.30200595,
    -0.29028466,
    -0.2785197,
    -0.26671275,
    -0.25486565,
    -0.24298018,
    -0.2310581,
    -0.21910124,
    -0.20711137,
    -0.19509032,
    -0.18303989,
    -0.17096189,
    -0.15885815,
    -0.14673047,
    -0.1345807,
    -0.12241068,
    -0.110222206,
    -0.09801714,
    -0.08579731,
    -0.07356457,
    -0.061320737,
    -0.049067676,
    -0.036807224,
    -0.024541229,
    -0.012271538,
];

/*
pub fn generate_sin() {
    let length = 512;
    let range = 1.;
    let pi = std::f64::consts::PI;
    for x in 0..length {
        let phase = (x as f64 / length as f64) * pi * 2.;
        let y = phase.sin();
        print!("{}, ", (y * range) as f32);
    }
}
*/