Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
LUTs/LUTs.h@30:08cc4ec58d07, 2020-05-26 (annotated)
- Committer:
- lukeocarwright
- Date:
- Tue May 26 10:17:47 2020 +0000
- Revision:
- 30:08cc4ec58d07
- Parent:
- 21:60f01b17b0a6
Sorted Settings Menu Final Touches. More Code Tidying.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lukeocarwright | 7:33cb5f2db1ee | 1 | #ifndef LUTs_H |
lukeocarwright | 7:33cb5f2db1ee | 2 | #define LUTs_H |
lukeocarwright | 7:33cb5f2db1ee | 3 | |
lukeocarwright | 7:33cb5f2db1ee | 4 | #include "mbed.h" |
lukeocarwright | 7:33cb5f2db1ee | 5 | #include "N5110.h" |
lukeocarwright | 7:33cb5f2db1ee | 6 | #include "Gamepad.h" |
lukeocarwright | 7:33cb5f2db1ee | 7 | |
lukeocarwright | 7:33cb5f2db1ee | 8 | /** LUTs class |
lukeocarwright | 7:33cb5f2db1ee | 9 | * @author Luke Cartwright, University of Leeds |
lukeocarwright | 7:33cb5f2db1ee | 10 | * @brief generates LUTs |
lukeocarwright | 7:33cb5f2db1ee | 11 | * @date May 2020 |
lukeocarwright | 7:33cb5f2db1ee | 12 | */ |
lukeocarwright | 14:9cfe0041cc4e | 13 | |
lukeocarwright | 7:33cb5f2db1ee | 14 | class LUTs |
lukeocarwright | 7:33cb5f2db1ee | 15 | { |
lukeocarwright | 7:33cb5f2db1ee | 16 | public: |
lukeocarwright | 21:60f01b17b0a6 | 17 | /** Constructor */ |
lukeocarwright | 7:33cb5f2db1ee | 18 | LUTs(); |
lukeocarwright | 21:60f01b17b0a6 | 19 | /** Destructior */ |
lukeocarwright | 7:33cb5f2db1ee | 20 | ~LUTs(); |
lukeocarwright | 7:33cb5f2db1ee | 21 | |
lukeocarwright | 30:08cc4ec58d07 | 22 | //Methods |
lukeocarwright | 21:60f01b17b0a6 | 23 | /** Generates all wavetables using preset central values |
lukeocarwright | 21:60f01b17b0a6 | 24 | * @genrates preset wavetables |
lukeocarwright | 21:60f01b17b0a6 | 25 | * @Outputs as global variables |
lukeocarwright | 21:60f01b17b0a6 | 26 | * @1024 Points per table (0->(2^16)-1) |
lukeocarwright | 21:60f01b17b0a6 | 27 | */ |
lukeocarwright | 10:258a1eca02cc | 28 | void initial_wavetables(); |
lukeocarwright | 21:60f01b17b0a6 | 29 | |
lukeocarwright | 21:60f01b17b0a6 | 30 | /**Generatres Sin Wavetable |
lukeocarwright | 21:60f01b17b0a6 | 31 | * @outputs Sin Wavetable as Global Variable |
lukeocarwright | 21:60f01b17b0a6 | 32 | */ |
lukeocarwright | 7:33cb5f2db1ee | 33 | void sin_wavetable(); |
lukeocarwright | 21:60f01b17b0a6 | 34 | |
lukeocarwright | 21:60f01b17b0a6 | 35 | /**Generatres Tri Wavetable |
lukeocarwright | 21:60f01b17b0a6 | 36 | * @outputs Tri Wavetable as Global Variable |
lukeocarwright | 21:60f01b17b0a6 | 37 | * @with defined PulseWidth |
lukeocarwright | 21:60f01b17b0a6 | 38 | */ |
lukeocarwright | 10:258a1eca02cc | 39 | void tri_wavetable(int pulsewidth); |
lukeocarwright | 21:60f01b17b0a6 | 40 | |
lukeocarwright | 21:60f01b17b0a6 | 41 | /**Generatres Pulse Wavetable |
lukeocarwright | 21:60f01b17b0a6 | 42 | * @outputs Pulse Wavetable as Global Variable |
lukeocarwright | 21:60f01b17b0a6 | 43 | * @with defined PulseWidth |
lukeocarwright | 21:60f01b17b0a6 | 44 | */ |
lukeocarwright | 11:6ae098535da9 | 45 | void pulse_wavetable(int pulsewidth); |
lukeocarwright | 7:33cb5f2db1ee | 46 | |
lukeocarwright | 7:33cb5f2db1ee | 47 | private: |
lukeocarwright | 30:08cc4ec58d07 | 48 | //variables |
lukeocarwright | 21:60f01b17b0a6 | 49 | double rem; //Remainder (used for rounding) |
lukeocarwright | 21:60f01b17b0a6 | 50 | float sin_d; //Sin Double var |
lukeocarwright | 21:60f01b17b0a6 | 51 | uint16_t sin_u; //Sin Unsigned var |
lukeocarwright | 21:60f01b17b0a6 | 52 | float dif; //Difference required in Tri wav |
lukeocarwright | 21:60f01b17b0a6 | 53 | uint16_t dif_u; //Unsigned version of dif |
lukeocarwright | 21:60f01b17b0a6 | 54 | int i; //Itterator |
lukeocarwright | 21:60f01b17b0a6 | 55 | float rise_t; //Rise time for tri wav |
lukeocarwright | 21:60f01b17b0a6 | 56 | uint16_t rise_tu; //Unsigned version of rise_t |
lukeocarwright | 21:60f01b17b0a6 | 57 | uint16_t fall_tu; //unsigned measure of fall time for tri wav |
lukeocarwright | 21:60f01b17b0a6 | 58 | float up_t; //Time At max for square |
lukeocarwright | 21:60f01b17b0a6 | 59 | int up_tu; //Unsigned version of up_t |
lukeocarwright | 15:1c67f064278e | 60 | |
lukeocarwright | 15:1c67f064278e | 61 | //Methods |
lukeocarwright | 21:60f01b17b0a6 | 62 | /**Prints Certain Tri wavetable results for checking |
lukeocarwright | 30:08cc4ec58d07 | 63 | * @Multiples of 64 for tri_wav values for debug |
lukeocarwright | 21:60f01b17b0a6 | 64 | */ |
lukeocarwright | 15:1c67f064278e | 65 | void tri_wav_results(); |
lukeocarwright | 7:33cb5f2db1ee | 66 | }; |
lukeocarwright | 7:33cb5f2db1ee | 67 | #endif |