Treehouse Mbed Team / Mbed 2 deprecated APS_DCM1SL

Dependencies:   mbed

Committer:
Slord2142
Date:
Sun Mar 10 21:39:14 2019 +0000
Revision:
47:d10bf65cb7dc
Parent:
42:3ae73b61f657
Child:
48:8e9de9ff1f22
Experimental slow/fast clock control method.

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 47:d10bf65cb7dc 31 int i;
mfwic 42:3ae73b61f657 32
Slord2142 47:d10bf65cb7dc 33 volatile bool dosFlip = FALSE;
Slord2142 47:d10bf65cb7dc 34 volatile bool dofFlip = FALSE;
Slord2142 47:d10bf65cb7dc 35
Slord2142 47:d10bf65cb7dc 36 void slowFlip() {
Slord2142 47:d10bf65cb7dc 37 dosFlip = TRUE;
Slord2142 47:d10bf65cb7dc 38 }
Slord2142 47:d10bf65cb7dc 39
Slord2142 47:d10bf65cb7dc 40 void fastFlip() {
Slord2142 47:d10bf65cb7dc 41 dofFlip = TRUE;
Slord2142 47:d10bf65cb7dc 42 }
mfwic 42:3ae73b61f657 43
mfwic 42:3ae73b61f657 44 void initOut(void){
Slord2142 47:d10bf65cb7dc 45 /*ec2 = 1;
mfwic 42:3ae73b61f657 46 ec15 = 1;
mfwic 42:3ae73b61f657 47 ec26 = 1;
mfwic 42:3ae73b61f657 48 ec6 = 1;
mfwic 42:3ae73b61f657 49 ec12 = 1;
mfwic 42:3ae73b61f657 50 ec25 = 1;
mfwic 42:3ae73b61f657 51 ec36 = 1;
mfwic 42:3ae73b61f657 52 ec31 = 1;
mfwic 42:3ae73b61f657 53 ec9 = 1;
mfwic 42:3ae73b61f657 54 ec5 = 1;
mfwic 42:3ae73b61f657 55 ec24 = 1;
mfwic 42:3ae73b61f657 56 ec11 = 1;
mfwic 42:3ae73b61f657 57 ec1 = 1;
mfwic 42:3ae73b61f657 58 ec10 = 1;
mfwic 42:3ae73b61f657 59 ec23 = 1;
mfwic 42:3ae73b61f657 60 ec7 = 1;
mfwic 42:3ae73b61f657 61 ec18 = 1;
mfwic 42:3ae73b61f657 62 ec14 = 1;
mfwic 42:3ae73b61f657 63 ec27 = 1;
mfwic 42:3ae73b61f657 64 ec19 = 1;
mfwic 42:3ae73b61f657 65 ec32 = 1;
mfwic 42:3ae73b61f657 66 ec35 = 1;
mfwic 42:3ae73b61f657 67 ec21 = 1;
mfwic 42:3ae73b61f657 68 ec30 = 1;
mfwic 42:3ae73b61f657 69 ec33 = 1;
mfwic 42:3ae73b61f657 70 ec20 = 1;
mfwic 42:3ae73b61f657 71 ec34 = 1;
mfwic 42:3ae73b61f657 72 ec29 = 1;
mfwic 42:3ae73b61f657 73 ec8 = 1;
mfwic 42:3ae73b61f657 74 ec4 = 1;
mfwic 42:3ae73b61f657 75 ec17 = 1;
mfwic 42:3ae73b61f657 76 ec13 = 1;
mfwic 42:3ae73b61f657 77 ec26 = 1;
Slord2142 47:d10bf65cb7dc 78 ec22 = 1;*/
Slord2142 47:d10bf65cb7dc 79 for(i = 0; i < 34; i++){
Slord2142 47:d10bf65cb7dc 80 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 81 }
mfwic 42:3ae73b61f657 82 }
mfwic 42:3ae73b61f657 83
Slord2142 47:d10bf65cb7dc 84 void flipSlow(unsigned short numFast){
mfwic 42:3ae73b61f657 85 dosFlip = FALSE;
mfwic 42:3ae73b61f657 86 if(!ILR_enable){
Slord2142 47:d10bf65cb7dc 87 /*ec2 = !ec2;
Slord2142 47:d10bf65cb7dc 88 ec15 = !ec15;
Slord2142 47:d10bf65cb7dc 89 ec26 = !ec26;
Slord2142 47:d10bf65cb7dc 90 ec6 = !ec6;
Slord2142 47:d10bf65cb7dc 91 ec12 = !ec12;
Slord2142 47:d10bf65cb7dc 92 ec25 = !ec25;
Slord2142 47:d10bf65cb7dc 93 ec36 = !ec36;
Slord2142 47:d10bf65cb7dc 94 ec31 = !ec31;
Slord2142 47:d10bf65cb7dc 95 ec9 = !ec9;
Slord2142 47:d10bf65cb7dc 96 ec5 = !ec5;
Slord2142 47:d10bf65cb7dc 97 ec24 = !ec24;
Slord2142 47:d10bf65cb7dc 98 ec11 = !ec11;
Slord2142 47:d10bf65cb7dc 99 ec1 = !ec1;
Slord2142 47:d10bf65cb7dc 100 ec10 = !ec10;
Slord2142 47:d10bf65cb7dc 101 ec23 = !ec23;
Slord2142 47:d10bf65cb7dc 102 ec7 = !ec7;
Slord2142 47:d10bf65cb7dc 103 ec18 = !ec18;
Slord2142 47:d10bf65cb7dc 104 ec14 = !ec14;
Slord2142 47:d10bf65cb7dc 105 ec27 = !ec27;
Slord2142 47:d10bf65cb7dc 106 ec19 = !ec19;
Slord2142 47:d10bf65cb7dc 107 ec32 = !ec32;
Slord2142 47:d10bf65cb7dc 108 ec35 = !ec35;
Slord2142 47:d10bf65cb7dc 109 ec21 = !ec21;
Slord2142 47:d10bf65cb7dc 110 ec30 = !ec30;
Slord2142 47:d10bf65cb7dc 111 ec33 = !ec33;
Slord2142 47:d10bf65cb7dc 112 ec20 = !ec20;
Slord2142 47:d10bf65cb7dc 113 ec34 = !ec34;
Slord2142 47:d10bf65cb7dc 114 ec29 = !ec29;
Slord2142 47:d10bf65cb7dc 115 ec8 = !ec8;
Slord2142 47:d10bf65cb7dc 116 ec4 = !ec4;
Slord2142 47:d10bf65cb7dc 117 ec17 = !ec17;
Slord2142 47:d10bf65cb7dc 118 ec13 = !ec13;
Slord2142 47:d10bf65cb7dc 119 ec26 = !ec26;
Slord2142 47:d10bf65cb7dc 120 ec22 = !ec22;*/
Slord2142 47:d10bf65cb7dc 121 for (i = numFast; i < 34; i++){
Slord2142 47:d10bf65cb7dc 122 if (ec[i] == 1){
Slord2142 47:d10bf65cb7dc 123 ec[i] = 0;
Slord2142 47:d10bf65cb7dc 124 }else{
Slord2142 47:d10bf65cb7dc 125 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 126 }
Slord2142 47:d10bf65cb7dc 127 }
Slord2142 47:d10bf65cb7dc 128
Slord2142 47:d10bf65cb7dc 129 }
Slord2142 47:d10bf65cb7dc 130 }
Slord2142 47:d10bf65cb7dc 131
Slord2142 47:d10bf65cb7dc 132 void flipFast(unsigned short numFast){
Slord2142 47:d10bf65cb7dc 133 dofFlip = FALSE;
Slord2142 47:d10bf65cb7dc 134 if(ILR_enable){
Slord2142 47:d10bf65cb7dc 135 for (i = 0; i < 34; i++){
Slord2142 47:d10bf65cb7dc 136 if (ec[i] == 1){
Slord2142 47:d10bf65cb7dc 137 ec[i] = 0;
Slord2142 47:d10bf65cb7dc 138 }else{
Slord2142 47:d10bf65cb7dc 139 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 140 }
Slord2142 47:d10bf65cb7dc 141 }
Slord2142 47:d10bf65cb7dc 142 }else{
Slord2142 47:d10bf65cb7dc 143 for (i = 0; i < numFast; i++){
Slord2142 47:d10bf65cb7dc 144 if (ec[i] == 1){
Slord2142 47:d10bf65cb7dc 145 ec[i] = 0;
Slord2142 47:d10bf65cb7dc 146 }else{
Slord2142 47:d10bf65cb7dc 147 ec[i] = 1;
Slord2142 47:d10bf65cb7dc 148 }
Slord2142 47:d10bf65cb7dc 149 }
Slord2142 47:d10bf65cb7dc 150 }
Slord2142 47:d10bf65cb7dc 151 /*ec2 = !ec2;
mfwic 42:3ae73b61f657 152 ec15 = !ec15;
mfwic 42:3ae73b61f657 153 ec26 = !ec26;
mfwic 42:3ae73b61f657 154 ec6 = !ec6;
mfwic 42:3ae73b61f657 155 ec12 = !ec12;
mfwic 42:3ae73b61f657 156 ec25 = !ec25;
mfwic 42:3ae73b61f657 157 ec36 = !ec36;
mfwic 42:3ae73b61f657 158 ec31 = !ec31;
mfwic 42:3ae73b61f657 159 ec9 = !ec9;
mfwic 42:3ae73b61f657 160 ec5 = !ec5;
mfwic 42:3ae73b61f657 161 ec24 = !ec24;
mfwic 42:3ae73b61f657 162 ec11 = !ec11;
mfwic 42:3ae73b61f657 163 ec1 = !ec1;
mfwic 42:3ae73b61f657 164 ec10 = !ec10;
mfwic 42:3ae73b61f657 165 ec23 = !ec23;
mfwic 42:3ae73b61f657 166 ec7 = !ec7;
mfwic 42:3ae73b61f657 167 ec18 = !ec18;
mfwic 42:3ae73b61f657 168 ec14 = !ec14;
mfwic 42:3ae73b61f657 169 ec27 = !ec27;
mfwic 42:3ae73b61f657 170 ec19 = !ec19;
mfwic 42:3ae73b61f657 171 ec32 = !ec32;
mfwic 42:3ae73b61f657 172 ec35 = !ec35;
mfwic 42:3ae73b61f657 173 ec21 = !ec21;
mfwic 42:3ae73b61f657 174 ec30 = !ec30;
mfwic 42:3ae73b61f657 175 ec33 = !ec33;
mfwic 42:3ae73b61f657 176 ec20 = !ec20;
mfwic 42:3ae73b61f657 177 ec34 = !ec34;
mfwic 42:3ae73b61f657 178 ec29 = !ec29;
mfwic 42:3ae73b61f657 179 ec8 = !ec8;
mfwic 42:3ae73b61f657 180 ec4 = !ec4;
mfwic 42:3ae73b61f657 181 ec17 = !ec17;
mfwic 42:3ae73b61f657 182 ec13 = !ec13;
mfwic 42:3ae73b61f657 183 ec26 = !ec26;
mfwic 42:3ae73b61f657 184 ec22 = !ec22;
Slord2142 47:d10bf65cb7dc 185 }*/
mfwic 42:3ae73b61f657 186 }
mfwic 42:3ae73b61f657 187
mfwic 42:3ae73b61f657 188 void checkFlip(void){
mfwic 42:3ae73b61f657 189 if(dosFlip){
Slord2142 47:d10bf65cb7dc 190 flipSlow(5);
mfwic 42:3ae73b61f657 191 }
mfwic 42:3ae73b61f657 192 if(dofFlip){
Slord2142 47:d10bf65cb7dc 193 flipFast(5);
mfwic 42:3ae73b61f657 194 }
mfwic 42:3ae73b61f657 195 }