Treehouse Mbed Team / Mbed 2 deprecated APS_DCM1SL

Dependencies:   mbed

Committer:
Slord2142
Date:
Tue Mar 12 22:16:03 2019 +0000
Revision:
49:65c714a5def2
Parent:
48:8e9de9ff1f22
Child:
50:db7056081354
ILR properly interrupts, I2C set up to interrupt (currently unused), and pins now reference the numFast table for when they turn on.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfwic 42:3ae73b61f657 1 //-------------------------------------------------------------------------------
mfwic 42:3ae73b61f657 2 //
mfwic 42:3ae73b61f657 3 // Treehouse Inc.
mfwic 42:3ae73b61f657 4 // Colorado Springs, Colorado
mfwic 42:3ae73b61f657 5 //
mfwic 42:3ae73b61f657 6 // Copyright (c) 2016 by Treehouse Designs Inc.
mfwic 42:3ae73b61f657 7 //
mfwic 42:3ae73b61f657 8 // This code is the property of Treehouse, Inc. (Treehouse) and may not be redistributed
mfwic 42:3ae73b61f657 9 // in any form without prior written permission from the copyright holder, Treehouse.
mfwic 42:3ae73b61f657 10 //
mfwic 42:3ae73b61f657 11 // The above copyright notice and this permission notice shall be included in
mfwic 42:3ae73b61f657 12 // all copies or substantial portions of the Software.
mfwic 42:3ae73b61f657 13 //
mfwic 42:3ae73b61f657 14 //-------------------------------------------------------------------------------
mfwic 42:3ae73b61f657 15 //
mfwic 42:3ae73b61f657 16 // REVISION HISTORY:
mfwic 42:3ae73b61f657 17 //
mfwic 42:3ae73b61f657 18 // $Author: $
mfwic 42:3ae73b61f657 19 // $Rev: $
mfwic 42:3ae73b61f657 20 // $Date: $
mfwic 42:3ae73b61f657 21 // $URL: $
mfwic 42:3ae73b61f657 22 //
mfwic 42:3ae73b61f657 23 //-------------------------------------------------------------------------------
mfwic 42:3ae73b61f657 24
mfwic 42:3ae73b61f657 25 #include "mbed.h"
mfwic 42:3ae73b61f657 26 #include "clocks.h"
mfwic 42:3ae73b61f657 27 #include "globals.h"
mfwic 42:3ae73b61f657 28 #include "Ticker.h"
mfwic 42:3ae73b61f657 29 #include "stdlib.h"
mfwic 42:3ae73b61f657 30 #include "all_io.h"
Slord2142 49:65c714a5def2 31 #include "menu.h"
Slord2142 49:65c714a5def2 32 unsigned short i;
Slord2142 49:65c714a5def2 33 unsigned short numFast = 5;
mfwic 42:3ae73b61f657 34
Slord2142 47:d10bf65cb7dc 35 volatile bool dosFlip = FALSE;
Slord2142 47:d10bf65cb7dc 36 volatile bool dofFlip = FALSE;
Slord2142 49:65c714a5def2 37 volatile bool enable = FALSE;
Slord2142 47:d10bf65cb7dc 38
Slord2142 47:d10bf65cb7dc 39 void slowFlip() {
Slord2142 47:d10bf65cb7dc 40 dosFlip = TRUE;
Slord2142 47:d10bf65cb7dc 41 }
Slord2142 47:d10bf65cb7dc 42
Slord2142 47:d10bf65cb7dc 43 void fastFlip() {
Slord2142 47:d10bf65cb7dc 44 dofFlip = TRUE;
Slord2142 47:d10bf65cb7dc 45 }
mfwic 42:3ae73b61f657 46
mfwic 42:3ae73b61f657 47 void initOut(void){
Slord2142 47:d10bf65cb7dc 48 /*ec2 = 1;
mfwic 42:3ae73b61f657 49 ec15 = 1;
mfwic 42:3ae73b61f657 50 ec26 = 1;
mfwic 42:3ae73b61f657 51 ec6 = 1;
mfwic 42:3ae73b61f657 52 ec12 = 1;
mfwic 42:3ae73b61f657 53 ec25 = 1;
mfwic 42:3ae73b61f657 54 ec36 = 1;
mfwic 42:3ae73b61f657 55 ec31 = 1;
mfwic 42:3ae73b61f657 56 ec9 = 1;
mfwic 42:3ae73b61f657 57 ec5 = 1;
mfwic 42:3ae73b61f657 58 ec24 = 1;
mfwic 42:3ae73b61f657 59 ec11 = 1;
mfwic 42:3ae73b61f657 60 ec1 = 1;
mfwic 42:3ae73b61f657 61 ec10 = 1;
mfwic 42:3ae73b61f657 62 ec23 = 1;
mfwic 42:3ae73b61f657 63 ec7 = 1;
mfwic 42:3ae73b61f657 64 ec18 = 1;
mfwic 42:3ae73b61f657 65 ec14 = 1;
mfwic 42:3ae73b61f657 66 ec27 = 1;
mfwic 42:3ae73b61f657 67 ec19 = 1;
mfwic 42:3ae73b61f657 68 ec32 = 1;
mfwic 42:3ae73b61f657 69 ec35 = 1;
mfwic 42:3ae73b61f657 70 ec21 = 1;
mfwic 42:3ae73b61f657 71 ec30 = 1;
mfwic 42:3ae73b61f657 72 ec33 = 1;
mfwic 42:3ae73b61f657 73 ec20 = 1;
mfwic 42:3ae73b61f657 74 ec34 = 1;
mfwic 42:3ae73b61f657 75 ec29 = 1;
mfwic 42:3ae73b61f657 76 ec8 = 1;
mfwic 42:3ae73b61f657 77 ec4 = 1;
mfwic 42:3ae73b61f657 78 ec17 = 1;
mfwic 42:3ae73b61f657 79 ec13 = 1;
mfwic 42:3ae73b61f657 80 ec26 = 1;
Slord2142 47:d10bf65cb7dc 81 ec22 = 1;*/
Slord2142 49:65c714a5def2 82 for(i = 0; i < 36; i++){
Slord2142 47:d10bf65cb7dc 83 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 84 }
mfwic 42:3ae73b61f657 85 }
mfwic 42:3ae73b61f657 86
Slord2142 48:8e9de9ff1f22 87 void flipSlow(void){
mfwic 42:3ae73b61f657 88 dosFlip = FALSE;
Slord2142 49:65c714a5def2 89 if(enable == FALSE){
Slord2142 47:d10bf65cb7dc 90 /*ec2 = !ec2;
Slord2142 47:d10bf65cb7dc 91 ec15 = !ec15;
Slord2142 47:d10bf65cb7dc 92 ec26 = !ec26;
Slord2142 47:d10bf65cb7dc 93 ec6 = !ec6;
Slord2142 47:d10bf65cb7dc 94 ec12 = !ec12;
Slord2142 47:d10bf65cb7dc 95 ec25 = !ec25;
Slord2142 47:d10bf65cb7dc 96 ec36 = !ec36;
Slord2142 47:d10bf65cb7dc 97 ec31 = !ec31;
Slord2142 47:d10bf65cb7dc 98 ec9 = !ec9;
Slord2142 47:d10bf65cb7dc 99 ec5 = !ec5;
Slord2142 47:d10bf65cb7dc 100 ec24 = !ec24;
Slord2142 47:d10bf65cb7dc 101 ec11 = !ec11;
Slord2142 47:d10bf65cb7dc 102 ec1 = !ec1;
Slord2142 47:d10bf65cb7dc 103 ec10 = !ec10;
Slord2142 47:d10bf65cb7dc 104 ec23 = !ec23;
Slord2142 47:d10bf65cb7dc 105 ec7 = !ec7;
Slord2142 47:d10bf65cb7dc 106 ec18 = !ec18;
Slord2142 47:d10bf65cb7dc 107 ec14 = !ec14;
Slord2142 47:d10bf65cb7dc 108 ec27 = !ec27;
Slord2142 47:d10bf65cb7dc 109 ec19 = !ec19;
Slord2142 47:d10bf65cb7dc 110 ec32 = !ec32;
Slord2142 47:d10bf65cb7dc 111 ec35 = !ec35;
Slord2142 47:d10bf65cb7dc 112 ec21 = !ec21;
Slord2142 47:d10bf65cb7dc 113 ec30 = !ec30;
Slord2142 47:d10bf65cb7dc 114 ec33 = !ec33;
Slord2142 47:d10bf65cb7dc 115 ec20 = !ec20;
Slord2142 47:d10bf65cb7dc 116 ec34 = !ec34;
Slord2142 47:d10bf65cb7dc 117 ec29 = !ec29;
Slord2142 47:d10bf65cb7dc 118 ec8 = !ec8;
Slord2142 47:d10bf65cb7dc 119 ec4 = !ec4;
Slord2142 47:d10bf65cb7dc 120 ec17 = !ec17;
Slord2142 47:d10bf65cb7dc 121 ec13 = !ec13;
Slord2142 47:d10bf65cb7dc 122 ec26 = !ec26;
Slord2142 47:d10bf65cb7dc 123 ec22 = !ec22;*/
Slord2142 49:65c714a5def2 124 for (i = numFast; i < 36; i++){
Slord2142 47:d10bf65cb7dc 125 if (ec[i] == 1){
Slord2142 47:d10bf65cb7dc 126 ec[i] = 0;
Slord2142 47:d10bf65cb7dc 127 }else{
Slord2142 47:d10bf65cb7dc 128 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 129 }
Slord2142 47:d10bf65cb7dc 130 }
Slord2142 47:d10bf65cb7dc 131
Slord2142 47:d10bf65cb7dc 132 }
Slord2142 47:d10bf65cb7dc 133 }
Slord2142 47:d10bf65cb7dc 134
Slord2142 48:8e9de9ff1f22 135 void flipFast(void){
Slord2142 47:d10bf65cb7dc 136 dofFlip = FALSE;
Slord2142 49:65c714a5def2 137 if(enable == TRUE){
Slord2142 49:65c714a5def2 138 for (i = 0; i < 36; i++){
Slord2142 47:d10bf65cb7dc 139 if (ec[i] == 1){
Slord2142 47:d10bf65cb7dc 140 ec[i] = 0;
Slord2142 47:d10bf65cb7dc 141 }else{
Slord2142 47:d10bf65cb7dc 142 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 143 }
Slord2142 47:d10bf65cb7dc 144 }
Slord2142 47:d10bf65cb7dc 145 }else{
Slord2142 47:d10bf65cb7dc 146 for (i = 0; i < numFast; i++){
Slord2142 47:d10bf65cb7dc 147 if (ec[i] == 1){
Slord2142 47:d10bf65cb7dc 148 ec[i] = 0;
Slord2142 47:d10bf65cb7dc 149 }else{
Slord2142 47:d10bf65cb7dc 150 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 151 }
Slord2142 47:d10bf65cb7dc 152 }
Slord2142 47:d10bf65cb7dc 153 }
Slord2142 47:d10bf65cb7dc 154 /*ec2 = !ec2;
mfwic 42:3ae73b61f657 155 ec15 = !ec15;
mfwic 42:3ae73b61f657 156 ec26 = !ec26;
mfwic 42:3ae73b61f657 157 ec6 = !ec6;
mfwic 42:3ae73b61f657 158 ec12 = !ec12;
mfwic 42:3ae73b61f657 159 ec25 = !ec25;
mfwic 42:3ae73b61f657 160 ec36 = !ec36;
mfwic 42:3ae73b61f657 161 ec31 = !ec31;
mfwic 42:3ae73b61f657 162 ec9 = !ec9;
mfwic 42:3ae73b61f657 163 ec5 = !ec5;
mfwic 42:3ae73b61f657 164 ec24 = !ec24;
mfwic 42:3ae73b61f657 165 ec11 = !ec11;
mfwic 42:3ae73b61f657 166 ec1 = !ec1;
mfwic 42:3ae73b61f657 167 ec10 = !ec10;
mfwic 42:3ae73b61f657 168 ec23 = !ec23;
mfwic 42:3ae73b61f657 169 ec7 = !ec7;
mfwic 42:3ae73b61f657 170 ec18 = !ec18;
mfwic 42:3ae73b61f657 171 ec14 = !ec14;
mfwic 42:3ae73b61f657 172 ec27 = !ec27;
mfwic 42:3ae73b61f657 173 ec19 = !ec19;
mfwic 42:3ae73b61f657 174 ec32 = !ec32;
mfwic 42:3ae73b61f657 175 ec35 = !ec35;
mfwic 42:3ae73b61f657 176 ec21 = !ec21;
mfwic 42:3ae73b61f657 177 ec30 = !ec30;
mfwic 42:3ae73b61f657 178 ec33 = !ec33;
mfwic 42:3ae73b61f657 179 ec20 = !ec20;
mfwic 42:3ae73b61f657 180 ec34 = !ec34;
mfwic 42:3ae73b61f657 181 ec29 = !ec29;
mfwic 42:3ae73b61f657 182 ec8 = !ec8;
mfwic 42:3ae73b61f657 183 ec4 = !ec4;
mfwic 42:3ae73b61f657 184 ec17 = !ec17;
mfwic 42:3ae73b61f657 185 ec13 = !ec13;
mfwic 42:3ae73b61f657 186 ec26 = !ec26;
mfwic 42:3ae73b61f657 187 ec22 = !ec22;
Slord2142 47:d10bf65cb7dc 188 }*/
mfwic 42:3ae73b61f657 189 }
mfwic 42:3ae73b61f657 190
mfwic 42:3ae73b61f657 191 void checkFlip(void){
Slord2142 48:8e9de9ff1f22 192 if(dosFlip == TRUE){
Slord2142 48:8e9de9ff1f22 193 flipSlow();
mfwic 42:3ae73b61f657 194 }
Slord2142 48:8e9de9ff1f22 195 if(dofFlip == TRUE){
Slord2142 48:8e9de9ff1f22 196 flipFast();
mfwic 42:3ae73b61f657 197 }
Slord2142 49:65c714a5def2 198 }
Slord2142 49:65c714a5def2 199
Slord2142 49:65c714a5def2 200 void ILR(void){
Slord2142 49:65c714a5def2 201 enable = TRUE;
Slord2142 49:65c714a5def2 202 flipFast();
Slord2142 49:65c714a5def2 203 }
Slord2142 49:65c714a5def2 204