rger

Dependencies:   mbed

Committer:
kevinrhyne
Date:
Tue Dec 08 12:23:46 2015 +0000
Revision:
0:a50960b2f6bd
solenoc

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kevinrhyne 0:a50960b2f6bd 1 #include "HardwareControl.h"
kevinrhyne 0:a50960b2f6bd 2
kevinrhyne 0:a50960b2f6bd 3 HardwareControl::HardwareControl(){
kevinrhyne 0:a50960b2f6bd 4 /*
kevinrhyne 0:a50960b2f6bd 5 SOL1(p25);
kevinrhyne 0:a50960b2f6bd 6 SOL2(p26);
kevinrhyne 0:a50960b2f6bd 7 SOL3(p27);
kevinrhyne 0:a50960b2f6bd 8 SOL4(p28);
kevinrhyne 0:a50960b2f6bd 9 SOL5(p23);
kevinrhyne 0:a50960b2f6bd 10 SOL6(p22);
kevinrhyne 0:a50960b2f6bd 11 SOL7(p21);
kevinrhyne 0:a50960b2f6bd 12
kevinrhyne 0:a50960b2f6bd 13 */
kevinrhyne 0:a50960b2f6bd 14
kevinrhyne 0:a50960b2f6bd 15 }
kevinrhyne 0:a50960b2f6bd 16
kevinrhyne 0:a50960b2f6bd 17
kevinrhyne 0:a50960b2f6bd 18
kevinrhyne 0:a50960b2f6bd 19 void HardwareControl::playNote(int binaryNote, int length){
kevinrhyne 0:a50960b2f6bd 20
kevinrhyne 0:a50960b2f6bd 21
kevinrhyne 0:a50960b2f6bd 22 // Solenoc note controls
kevinrhyne 0:a50960b2f6bd 23 // =====================
kevinrhyne 0:a50960b2f6bd 24 //
kevinrhyne 0:a50960b2f6bd 25 // C arpeggio : 1 - 193 - 241 - 254
kevinrhyne 0:a50960b2f6bd 26 //
kevinrhyne 0:a50960b2f6bd 27 // C: NONE ASSERTEDS, AIR
kevinrhyne 0:a50960b2f6bd 28 // Binary represent-------------ation: 00000001
kevinrhyne 0:a50960b2f6bd 29 // Integer representation: 1
kevinrhyne 0:a50960b2f6bd 30
kevinrhyne 0:a50960b2f6bd 31 // D: SOL1, AIR
kevinrhyne 0:a50960b2f6bd 32 // Binary representation: 10000001
kevinrhyne 0:a50960b2f6bd 33 // Integer representation: 129
kevinrhyne 0:a50960b2f6bd 34
kevinrhyne 0:a50960b2f6bd 35 // E: SOL1, SOL2, AIR
kevinrhyne 0:a50960b2f6bd 36 // Binary representation: 11000001
kevinrhyne 0:a50960b2f6bd 37 // Integer representation: 193
kevinrhyne 0:a50960b2f6bd 38
kevinrhyne 0:a50960b2f6bd 39 // F: SOL1, SOL2, AIR
kevinrhyne 0:a50960b2f6bd 40 // Binary representation: 11100001
kevinrhyne 0:a50960b2f6bd 41 // Integer representation: 225
kevinrhyne 0:a50960b2f6bd 42
kevinrhyne 0:a50960b2f6bd 43 // Fs: SOL1, SOL3, SOL4, AIR
kevinrhyne 0:a50960b2f6bd 44 // Binary representation: 10110001
kevinrhyne 0:a50960b2f6bd 45 // Integer representation: 177
kevinrhyne 0:a50960b2f6bd 46
kevinrhyne 0:a50960b2f6bd 47 // G: SOL1, SOL2, SOL3, SOL4, AIR
kevinrhyne 0:a50960b2f6bd 48 // Binary representation: 11110001
kevinrhyne 0:a50960b2f6bd 49 // Integer representation: 241
kevinrhyne 0:a50960b2f6bd 50
kevinrhyne 0:a50960b2f6bd 51 // Gs: SOL1, SOL3, SOL4, SOL5, AIR
kevinrhyne 0:a50960b2f6bd 52 // Binary representation: 10111001
kevinrhyne 0:a50960b2f6bd 53 // Integer representation: 185
kevinrhyne 0:a50960b2f6bd 54
kevinrhyne 0:a50960b2f6bd 55 // A: SOL1, SOL2, SOL3, SOL4, SOL5, AIR
kevinrhyne 0:a50960b2f6bd 56 // Binary representation: 11111001
kevinrhyne 0:a50960b2f6bd 57 // Integer representation: 249
kevinrhyne 0:a50960b2f6bd 58
kevinrhyne 0:a50960b2f6bd 59 // As: SOL1, SOL3, SOL4, SOL5, SOL6, AIR
kevinrhyne 0:a50960b2f6bd 60 // Binary representation: 10111101
kevinrhyne 0:a50960b2f6bd 61 // Integer representation: 189
kevinrhyne 0:a50960b2f6bd 62
kevinrhyne 0:a50960b2f6bd 63 // B: SOL1 - SOL6, AIR
kevinrhyne 0:a50960b2f6bd 64 // Binary representation: 11111101
kevinrhyne 0:a50960b2f6bd 65 // Integer representation: 254
kevinrhyne 0:a50960b2f6bd 66
kevinrhyne 0:a50960b2f6bd 67 // R: ALL ASSERTED // REST
kevinrhyne 0:a50960b2f6bd 68 // Binary representation: 11111110
kevinrhyne 0:a50960b2f6bd 69 // Integer representation: 254
kevinrhyne 0:a50960b2f6bd 70
kevinrhyne 0:a50960b2f6bd 71
kevinrhyne 0:a50960b2f6bd 72 DigitalOut SOL1(p25);
kevinrhyne 0:a50960b2f6bd 73 DigitalOut SOL2(p26);
kevinrhyne 0:a50960b2f6bd 74 DigitalOut SOL3(p27);
kevinrhyne 0:a50960b2f6bd 75 DigitalOut SOL4(p28);
kevinrhyne 0:a50960b2f6bd 76 DigitalOut SOL5(p23);
kevinrhyne 0:a50960b2f6bd 77 DigitalOut SOL6(p22);
kevinrhyne 0:a50960b2f6bd 78 DigitalOut SOL7(p21);
kevinrhyne 0:a50960b2f6bd 79 DigitalOut AIR(p24); //Air
kevinrhyne 0:a50960b2f6bd 80
kevinrhyne 0:a50960b2f6bd 81 SOL1 = binaryNote & 128;
kevinrhyne 0:a50960b2f6bd 82 SOL2 = binaryNote & 64;
kevinrhyne 0:a50960b2f6bd 83 SOL3 = binaryNote & 32;
kevinrhyne 0:a50960b2f6bd 84 SOL4 = binaryNote & 16;
kevinrhyne 0:a50960b2f6bd 85 SOL5 = binaryNote & 8;
kevinrhyne 0:a50960b2f6bd 86 SOL6 = binaryNote & 4;
kevinrhyne 0:a50960b2f6bd 87 SOL7 = binaryNote & 2;
kevinrhyne 0:a50960b2f6bd 88 AIR = binaryNote & 1;
kevinrhyne 0:a50960b2f6bd 89
kevinrhyne 0:a50960b2f6bd 90 wait_ms(length);
kevinrhyne 0:a50960b2f6bd 91
kevinrhyne 0:a50960b2f6bd 92 }