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
src/clocks.cpp@49:65c714a5def2, 2019-03-12 (annotated)
- 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?
| User | Revision | Line number | New 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 |