ELEC2645 (2019/20) / Mbed 2 deprecated el18loc_final

Dependencies:   mbed

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?

UserRevisionLine numberNew 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