The Squirrel interpreter for FRDM-K64F, extended with a set of classes that provide access to the mbed functionality (currently DigitalIn, DigitalInOut, DigitalOut, InterruptIn, PwmOut, Ticker, Timeout, Timer).
Dependencies: SQUIRREL3 mbed sqbind-0_99
The Squirrel interpreter for FRDM-K64F.
NOTE: Currently of POC quality.
See http://www.squirrel-lang.org/ for information about the Squirrel language.
Currently the following (a subset of their functionality) mbed classes are available from within Squirrel:
- DigitalIn
- DigitalOut
- DigitalInOut
- PwmOut
- Ticker
- Timeout
- Timer
In addition, InterruptIn is supported, but interrupts are noted when they occur, but only delivered from the main loop of the interpreter.
See also README.txt in the root of the project.
sqk64f/sqk64f.cpp@0:6f55c7651ccc, 2014-12-16 (annotated)
- Committer:
- jhnwkmn
- Date:
- Tue Dec 16 12:54:53 2014 +0000
- Revision:
- 0:6f55c7651ccc
- Child:
- 1:540008bb92a2
Added README.txt;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jhnwkmn | 0:6f55c7651ccc | 1 | /* |
jhnwkmn | 0:6f55c7651ccc | 2 | @License@ |
jhnwkmn | 0:6f55c7651ccc | 3 | */ |
jhnwkmn | 0:6f55c7651ccc | 4 | |
jhnwkmn | 0:6f55c7651ccc | 5 | #include <sqmbed/interruptin.h> |
jhnwkmn | 0:6f55c7651ccc | 6 | #include <mbed.h> |
jhnwkmn | 0:6f55c7651ccc | 7 | |
jhnwkmn | 0:6f55c7651ccc | 8 | namespace |
jhnwkmn | 0:6f55c7651ccc | 9 | { |
jhnwkmn | 0:6f55c7651ccc | 10 | |
jhnwkmn | 0:6f55c7651ccc | 11 | uint32_t u_PTA; |
jhnwkmn | 0:6f55c7651ccc | 12 | uint32_t u_PTB; |
jhnwkmn | 0:6f55c7651ccc | 13 | uint32_t u_PTC; |
jhnwkmn | 0:6f55c7651ccc | 14 | uint32_t u_PTD; |
jhnwkmn | 0:6f55c7651ccc | 15 | uint32_t u_PTE; |
jhnwkmn | 0:6f55c7651ccc | 16 | |
jhnwkmn | 0:6f55c7651ccc | 17 | } |
jhnwkmn | 0:6f55c7651ccc | 18 | |
jhnwkmn | 0:6f55c7651ccc | 19 | namespace |
jhnwkmn | 0:6f55c7651ccc | 20 | { |
jhnwkmn | 0:6f55c7651ccc | 21 | |
jhnwkmn | 0:6f55c7651ccc | 22 | void deliverInterrupts(uint32_t base, uint16_t value) |
jhnwkmn | 0:6f55c7651ccc | 23 | { |
jhnwkmn | 0:6f55c7651ccc | 24 | int p = 0; |
jhnwkmn | 0:6f55c7651ccc | 25 | |
jhnwkmn | 0:6f55c7651ccc | 26 | while (value) { |
jhnwkmn | 0:6f55c7651ccc | 27 | int bit = (value & 0x1); |
jhnwkmn | 0:6f55c7651ccc | 28 | |
jhnwkmn | 0:6f55c7651ccc | 29 | if (bit) { |
jhnwkmn | 0:6f55c7651ccc | 30 | SqMbed::InterruptIn::deliver(static_cast<PinName>(base + p)); |
jhnwkmn | 0:6f55c7651ccc | 31 | } |
jhnwkmn | 0:6f55c7651ccc | 32 | |
jhnwkmn | 0:6f55c7651ccc | 33 | value >>= 1; |
jhnwkmn | 0:6f55c7651ccc | 34 | ++p; |
jhnwkmn | 0:6f55c7651ccc | 35 | } |
jhnwkmn | 0:6f55c7651ccc | 36 | } |
jhnwkmn | 0:6f55c7651ccc | 37 | |
jhnwkmn | 0:6f55c7651ccc | 38 | uint32_t readAndReset(uint32_t* pValue) |
jhnwkmn | 0:6f55c7651ccc | 39 | { |
jhnwkmn | 0:6f55c7651ccc | 40 | uint32_t value; |
jhnwkmn | 0:6f55c7651ccc | 41 | int status = 0; |
jhnwkmn | 0:6f55c7651ccc | 42 | |
jhnwkmn | 0:6f55c7651ccc | 43 | do { |
jhnwkmn | 0:6f55c7651ccc | 44 | value = __LDREXW(pValue); |
jhnwkmn | 0:6f55c7651ccc | 45 | status = __STREXW(0, pValue); |
jhnwkmn | 0:6f55c7651ccc | 46 | } while (status != 0); // Retry until no-one has modified in between. |
jhnwkmn | 0:6f55c7651ccc | 47 | |
jhnwkmn | 0:6f55c7651ccc | 48 | __DMB(); |
jhnwkmn | 0:6f55c7651ccc | 49 | |
jhnwkmn | 0:6f55c7651ccc | 50 | return value; |
jhnwkmn | 0:6f55c7651ccc | 51 | } |
jhnwkmn | 0:6f55c7651ccc | 52 | |
jhnwkmn | 0:6f55c7651ccc | 53 | } |
jhnwkmn | 0:6f55c7651ccc | 54 | |
jhnwkmn | 0:6f55c7651ccc | 55 | namespace SqMbed |
jhnwkmn | 0:6f55c7651ccc | 56 | { |
jhnwkmn | 0:6f55c7651ccc | 57 | |
jhnwkmn | 0:6f55c7651ccc | 58 | void InterruptIn::postponeInterrupt(PinName p) |
jhnwkmn | 0:6f55c7651ccc | 59 | { |
jhnwkmn | 0:6f55c7651ccc | 60 | uint16_t value = static_cast<uint16_t>(p) & 0x1f; |
jhnwkmn | 0:6f55c7651ccc | 61 | |
jhnwkmn | 0:6f55c7651ccc | 62 | switch (static_cast<uint32_t>(p) >> GPIO_PORT_SHIFT) { |
jhnwkmn | 0:6f55c7651ccc | 63 | case PTA0 >> GPIO_PORT_SHIFT: |
jhnwkmn | 0:6f55c7651ccc | 64 | u_PTA |= (1 << value); |
jhnwkmn | 0:6f55c7651ccc | 65 | break; |
jhnwkmn | 0:6f55c7651ccc | 66 | |
jhnwkmn | 0:6f55c7651ccc | 67 | case PTB0 >> GPIO_PORT_SHIFT: |
jhnwkmn | 0:6f55c7651ccc | 68 | u_PTB |= (1 << value); |
jhnwkmn | 0:6f55c7651ccc | 69 | break; |
jhnwkmn | 0:6f55c7651ccc | 70 | |
jhnwkmn | 0:6f55c7651ccc | 71 | case PTC0 >> GPIO_PORT_SHIFT: |
jhnwkmn | 0:6f55c7651ccc | 72 | u_PTC |= (1 << value); |
jhnwkmn | 0:6f55c7651ccc | 73 | break; |
jhnwkmn | 0:6f55c7651ccc | 74 | |
jhnwkmn | 0:6f55c7651ccc | 75 | case PTD0 >> GPIO_PORT_SHIFT: |
jhnwkmn | 0:6f55c7651ccc | 76 | u_PTD |= (1 << value); |
jhnwkmn | 0:6f55c7651ccc | 77 | break; |
jhnwkmn | 0:6f55c7651ccc | 78 | |
jhnwkmn | 0:6f55c7651ccc | 79 | case PTE0 >> GPIO_PORT_SHIFT: |
jhnwkmn | 0:6f55c7651ccc | 80 | u_PTE |= (1 << value); |
jhnwkmn | 0:6f55c7651ccc | 81 | break; |
jhnwkmn | 0:6f55c7651ccc | 82 | |
jhnwkmn | 0:6f55c7651ccc | 83 | default: |
jhnwkmn | 0:6f55c7651ccc | 84 | printf("Unknown PinName: %d", p); |
jhnwkmn | 0:6f55c7651ccc | 85 | } |
jhnwkmn | 0:6f55c7651ccc | 86 | } |
jhnwkmn | 0:6f55c7651ccc | 87 | |
jhnwkmn | 0:6f55c7651ccc | 88 | void InterruptIn::flushInterrupts() |
jhnwkmn | 0:6f55c7651ccc | 89 | { |
jhnwkmn | 0:6f55c7651ccc | 90 | uint32_t pta = readAndReset(&u_PTA); |
jhnwkmn | 0:6f55c7651ccc | 91 | uint32_t ptb = readAndReset(&u_PTB); |
jhnwkmn | 0:6f55c7651ccc | 92 | uint32_t ptc = readAndReset(&u_PTC); |
jhnwkmn | 0:6f55c7651ccc | 93 | uint32_t ptd = readAndReset(&u_PTD); |
jhnwkmn | 0:6f55c7651ccc | 94 | uint32_t pte = readAndReset(&u_PTE); |
jhnwkmn | 0:6f55c7651ccc | 95 | |
jhnwkmn | 0:6f55c7651ccc | 96 | if (pta != 0) { |
jhnwkmn | 0:6f55c7651ccc | 97 | deliverInterrupts(PTA0, pta); |
jhnwkmn | 0:6f55c7651ccc | 98 | } |
jhnwkmn | 0:6f55c7651ccc | 99 | |
jhnwkmn | 0:6f55c7651ccc | 100 | if (ptb != 0) { |
jhnwkmn | 0:6f55c7651ccc | 101 | deliverInterrupts(PTB0, ptb); |
jhnwkmn | 0:6f55c7651ccc | 102 | } |
jhnwkmn | 0:6f55c7651ccc | 103 | |
jhnwkmn | 0:6f55c7651ccc | 104 | if (ptc != 0) { |
jhnwkmn | 0:6f55c7651ccc | 105 | deliverInterrupts(PTC0, ptc); |
jhnwkmn | 0:6f55c7651ccc | 106 | } |
jhnwkmn | 0:6f55c7651ccc | 107 | |
jhnwkmn | 0:6f55c7651ccc | 108 | if (ptd != 0) { |
jhnwkmn | 0:6f55c7651ccc | 109 | deliverInterrupts(PTD0, ptd); |
jhnwkmn | 0:6f55c7651ccc | 110 | } |
jhnwkmn | 0:6f55c7651ccc | 111 | |
jhnwkmn | 0:6f55c7651ccc | 112 | if (pte != 0) { |
jhnwkmn | 0:6f55c7651ccc | 113 | deliverInterrupts(PTE0, pte); |
jhnwkmn | 0:6f55c7651ccc | 114 | } |
jhnwkmn | 0:6f55c7651ccc | 115 | } |
jhnwkmn | 0:6f55c7651ccc | 116 | |
jhnwkmn | 0:6f55c7651ccc | 117 | void bindPlatform(HSQUIRRELVM vm) |
jhnwkmn | 0:6f55c7651ccc | 118 | { |
jhnwkmn | 0:6f55c7651ccc | 119 | // Check PinNames.h |
jhnwkmn | 0:6f55c7651ccc | 120 | SQBIND_CONSTANT(vm, PTA0); |
jhnwkmn | 0:6f55c7651ccc | 121 | SQBIND_CONSTANT(vm, PTA1); |
jhnwkmn | 0:6f55c7651ccc | 122 | SQBIND_CONSTANT(vm, PTA2); |
jhnwkmn | 0:6f55c7651ccc | 123 | SQBIND_CONSTANT(vm, PTA3); |
jhnwkmn | 0:6f55c7651ccc | 124 | SQBIND_CONSTANT(vm, PTA4); |
jhnwkmn | 0:6f55c7651ccc | 125 | SQBIND_CONSTANT(vm, PTA5); |
jhnwkmn | 0:6f55c7651ccc | 126 | SQBIND_CONSTANT(vm, PTA6); |
jhnwkmn | 0:6f55c7651ccc | 127 | SQBIND_CONSTANT(vm, PTA7); |
jhnwkmn | 0:6f55c7651ccc | 128 | SQBIND_CONSTANT(vm, PTA8); |
jhnwkmn | 0:6f55c7651ccc | 129 | SQBIND_CONSTANT(vm, PTA9); |
jhnwkmn | 0:6f55c7651ccc | 130 | SQBIND_CONSTANT(vm, PTA10); |
jhnwkmn | 0:6f55c7651ccc | 131 | SQBIND_CONSTANT(vm, PTA11); |
jhnwkmn | 0:6f55c7651ccc | 132 | SQBIND_CONSTANT(vm, PTA12); |
jhnwkmn | 0:6f55c7651ccc | 133 | SQBIND_CONSTANT(vm, PTA13); |
jhnwkmn | 0:6f55c7651ccc | 134 | SQBIND_CONSTANT(vm, PTA14); |
jhnwkmn | 0:6f55c7651ccc | 135 | SQBIND_CONSTANT(vm, PTA15); |
jhnwkmn | 0:6f55c7651ccc | 136 | SQBIND_CONSTANT(vm, PTA16); |
jhnwkmn | 0:6f55c7651ccc | 137 | SQBIND_CONSTANT(vm, PTA17); |
jhnwkmn | 0:6f55c7651ccc | 138 | SQBIND_CONSTANT(vm, PTA18); |
jhnwkmn | 0:6f55c7651ccc | 139 | SQBIND_CONSTANT(vm, PTA19); |
jhnwkmn | 0:6f55c7651ccc | 140 | SQBIND_CONSTANT(vm, PTA20); |
jhnwkmn | 0:6f55c7651ccc | 141 | SQBIND_CONSTANT(vm, PTA21); |
jhnwkmn | 0:6f55c7651ccc | 142 | SQBIND_CONSTANT(vm, PTA22); |
jhnwkmn | 0:6f55c7651ccc | 143 | SQBIND_CONSTANT(vm, PTA23); |
jhnwkmn | 0:6f55c7651ccc | 144 | SQBIND_CONSTANT(vm, PTA24); |
jhnwkmn | 0:6f55c7651ccc | 145 | SQBIND_CONSTANT(vm, PTA25); |
jhnwkmn | 0:6f55c7651ccc | 146 | SQBIND_CONSTANT(vm, PTA26); |
jhnwkmn | 0:6f55c7651ccc | 147 | SQBIND_CONSTANT(vm, PTA27); |
jhnwkmn | 0:6f55c7651ccc | 148 | SQBIND_CONSTANT(vm, PTA28); |
jhnwkmn | 0:6f55c7651ccc | 149 | SQBIND_CONSTANT(vm, PTA29); |
jhnwkmn | 0:6f55c7651ccc | 150 | SQBIND_CONSTANT(vm, PTA30); |
jhnwkmn | 0:6f55c7651ccc | 151 | SQBIND_CONSTANT(vm, PTA31); |
jhnwkmn | 0:6f55c7651ccc | 152 | SQBIND_CONSTANT(vm, PTB0); |
jhnwkmn | 0:6f55c7651ccc | 153 | SQBIND_CONSTANT(vm, PTB1); |
jhnwkmn | 0:6f55c7651ccc | 154 | SQBIND_CONSTANT(vm, PTB2); |
jhnwkmn | 0:6f55c7651ccc | 155 | SQBIND_CONSTANT(vm, PTB3); |
jhnwkmn | 0:6f55c7651ccc | 156 | SQBIND_CONSTANT(vm, PTB4); |
jhnwkmn | 0:6f55c7651ccc | 157 | SQBIND_CONSTANT(vm, PTB5); |
jhnwkmn | 0:6f55c7651ccc | 158 | SQBIND_CONSTANT(vm, PTB6); |
jhnwkmn | 0:6f55c7651ccc | 159 | SQBIND_CONSTANT(vm, PTB7); |
jhnwkmn | 0:6f55c7651ccc | 160 | SQBIND_CONSTANT(vm, PTB8); |
jhnwkmn | 0:6f55c7651ccc | 161 | SQBIND_CONSTANT(vm, PTB9); |
jhnwkmn | 0:6f55c7651ccc | 162 | SQBIND_CONSTANT(vm, PTB10); |
jhnwkmn | 0:6f55c7651ccc | 163 | SQBIND_CONSTANT(vm, PTB11); |
jhnwkmn | 0:6f55c7651ccc | 164 | SQBIND_CONSTANT(vm, PTB12); |
jhnwkmn | 0:6f55c7651ccc | 165 | SQBIND_CONSTANT(vm, PTB13); |
jhnwkmn | 0:6f55c7651ccc | 166 | SQBIND_CONSTANT(vm, PTB14); |
jhnwkmn | 0:6f55c7651ccc | 167 | SQBIND_CONSTANT(vm, PTB15); |
jhnwkmn | 0:6f55c7651ccc | 168 | SQBIND_CONSTANT(vm, PTB16); |
jhnwkmn | 0:6f55c7651ccc | 169 | SQBIND_CONSTANT(vm, PTB17); |
jhnwkmn | 0:6f55c7651ccc | 170 | SQBIND_CONSTANT(vm, PTB18); |
jhnwkmn | 0:6f55c7651ccc | 171 | SQBIND_CONSTANT(vm, PTB19); |
jhnwkmn | 0:6f55c7651ccc | 172 | SQBIND_CONSTANT(vm, PTB20); |
jhnwkmn | 0:6f55c7651ccc | 173 | SQBIND_CONSTANT(vm, PTB21); |
jhnwkmn | 0:6f55c7651ccc | 174 | SQBIND_CONSTANT(vm, PTB22); |
jhnwkmn | 0:6f55c7651ccc | 175 | SQBIND_CONSTANT(vm, PTB23); |
jhnwkmn | 0:6f55c7651ccc | 176 | SQBIND_CONSTANT(vm, PTB24); |
jhnwkmn | 0:6f55c7651ccc | 177 | SQBIND_CONSTANT(vm, PTB25); |
jhnwkmn | 0:6f55c7651ccc | 178 | SQBIND_CONSTANT(vm, PTB26); |
jhnwkmn | 0:6f55c7651ccc | 179 | SQBIND_CONSTANT(vm, PTB27); |
jhnwkmn | 0:6f55c7651ccc | 180 | SQBIND_CONSTANT(vm, PTB28); |
jhnwkmn | 0:6f55c7651ccc | 181 | SQBIND_CONSTANT(vm, PTB29); |
jhnwkmn | 0:6f55c7651ccc | 182 | SQBIND_CONSTANT(vm, PTB30); |
jhnwkmn | 0:6f55c7651ccc | 183 | SQBIND_CONSTANT(vm, PTB31); |
jhnwkmn | 0:6f55c7651ccc | 184 | SQBIND_CONSTANT(vm, PTC0); |
jhnwkmn | 0:6f55c7651ccc | 185 | SQBIND_CONSTANT(vm, PTC1); |
jhnwkmn | 0:6f55c7651ccc | 186 | SQBIND_CONSTANT(vm, PTC2); |
jhnwkmn | 0:6f55c7651ccc | 187 | SQBIND_CONSTANT(vm, PTC3); |
jhnwkmn | 0:6f55c7651ccc | 188 | SQBIND_CONSTANT(vm, PTC4); |
jhnwkmn | 0:6f55c7651ccc | 189 | SQBIND_CONSTANT(vm, PTC5); |
jhnwkmn | 0:6f55c7651ccc | 190 | SQBIND_CONSTANT(vm, PTC6); |
jhnwkmn | 0:6f55c7651ccc | 191 | SQBIND_CONSTANT(vm, PTC7); |
jhnwkmn | 0:6f55c7651ccc | 192 | SQBIND_CONSTANT(vm, PTC8); |
jhnwkmn | 0:6f55c7651ccc | 193 | SQBIND_CONSTANT(vm, PTC9); |
jhnwkmn | 0:6f55c7651ccc | 194 | SQBIND_CONSTANT(vm, PTC10); |
jhnwkmn | 0:6f55c7651ccc | 195 | SQBIND_CONSTANT(vm, PTC11); |
jhnwkmn | 0:6f55c7651ccc | 196 | SQBIND_CONSTANT(vm, PTC12); |
jhnwkmn | 0:6f55c7651ccc | 197 | SQBIND_CONSTANT(vm, PTC13); |
jhnwkmn | 0:6f55c7651ccc | 198 | SQBIND_CONSTANT(vm, PTC14); |
jhnwkmn | 0:6f55c7651ccc | 199 | SQBIND_CONSTANT(vm, PTC15); |
jhnwkmn | 0:6f55c7651ccc | 200 | SQBIND_CONSTANT(vm, PTC16); |
jhnwkmn | 0:6f55c7651ccc | 201 | SQBIND_CONSTANT(vm, PTC17); |
jhnwkmn | 0:6f55c7651ccc | 202 | SQBIND_CONSTANT(vm, PTC18); |
jhnwkmn | 0:6f55c7651ccc | 203 | SQBIND_CONSTANT(vm, PTC19); |
jhnwkmn | 0:6f55c7651ccc | 204 | SQBIND_CONSTANT(vm, PTC20); |
jhnwkmn | 0:6f55c7651ccc | 205 | SQBIND_CONSTANT(vm, PTC21); |
jhnwkmn | 0:6f55c7651ccc | 206 | SQBIND_CONSTANT(vm, PTC22); |
jhnwkmn | 0:6f55c7651ccc | 207 | SQBIND_CONSTANT(vm, PTC23); |
jhnwkmn | 0:6f55c7651ccc | 208 | SQBIND_CONSTANT(vm, PTC24); |
jhnwkmn | 0:6f55c7651ccc | 209 | SQBIND_CONSTANT(vm, PTC25); |
jhnwkmn | 0:6f55c7651ccc | 210 | SQBIND_CONSTANT(vm, PTC26); |
jhnwkmn | 0:6f55c7651ccc | 211 | SQBIND_CONSTANT(vm, PTC27); |
jhnwkmn | 0:6f55c7651ccc | 212 | SQBIND_CONSTANT(vm, PTC28); |
jhnwkmn | 0:6f55c7651ccc | 213 | SQBIND_CONSTANT(vm, PTC29); |
jhnwkmn | 0:6f55c7651ccc | 214 | SQBIND_CONSTANT(vm, PTC30); |
jhnwkmn | 0:6f55c7651ccc | 215 | SQBIND_CONSTANT(vm, PTC31); |
jhnwkmn | 0:6f55c7651ccc | 216 | SQBIND_CONSTANT(vm, PTD0); |
jhnwkmn | 0:6f55c7651ccc | 217 | SQBIND_CONSTANT(vm, PTD1); |
jhnwkmn | 0:6f55c7651ccc | 218 | SQBIND_CONSTANT(vm, PTD2); |
jhnwkmn | 0:6f55c7651ccc | 219 | SQBIND_CONSTANT(vm, PTD3); |
jhnwkmn | 0:6f55c7651ccc | 220 | SQBIND_CONSTANT(vm, PTD4); |
jhnwkmn | 0:6f55c7651ccc | 221 | SQBIND_CONSTANT(vm, PTD5); |
jhnwkmn | 0:6f55c7651ccc | 222 | SQBIND_CONSTANT(vm, PTD6); |
jhnwkmn | 0:6f55c7651ccc | 223 | SQBIND_CONSTANT(vm, PTD7); |
jhnwkmn | 0:6f55c7651ccc | 224 | SQBIND_CONSTANT(vm, PTD8); |
jhnwkmn | 0:6f55c7651ccc | 225 | SQBIND_CONSTANT(vm, PTD9); |
jhnwkmn | 0:6f55c7651ccc | 226 | SQBIND_CONSTANT(vm, PTD10); |
jhnwkmn | 0:6f55c7651ccc | 227 | SQBIND_CONSTANT(vm, PTD11); |
jhnwkmn | 0:6f55c7651ccc | 228 | SQBIND_CONSTANT(vm, PTD12); |
jhnwkmn | 0:6f55c7651ccc | 229 | SQBIND_CONSTANT(vm, PTD13); |
jhnwkmn | 0:6f55c7651ccc | 230 | SQBIND_CONSTANT(vm, PTD14); |
jhnwkmn | 0:6f55c7651ccc | 231 | SQBIND_CONSTANT(vm, PTD15); |
jhnwkmn | 0:6f55c7651ccc | 232 | SQBIND_CONSTANT(vm, PTD16); |
jhnwkmn | 0:6f55c7651ccc | 233 | SQBIND_CONSTANT(vm, PTD17); |
jhnwkmn | 0:6f55c7651ccc | 234 | SQBIND_CONSTANT(vm, PTD18); |
jhnwkmn | 0:6f55c7651ccc | 235 | SQBIND_CONSTANT(vm, PTD19); |
jhnwkmn | 0:6f55c7651ccc | 236 | SQBIND_CONSTANT(vm, PTD20); |
jhnwkmn | 0:6f55c7651ccc | 237 | SQBIND_CONSTANT(vm, PTD21); |
jhnwkmn | 0:6f55c7651ccc | 238 | SQBIND_CONSTANT(vm, PTD22); |
jhnwkmn | 0:6f55c7651ccc | 239 | SQBIND_CONSTANT(vm, PTD23); |
jhnwkmn | 0:6f55c7651ccc | 240 | SQBIND_CONSTANT(vm, PTD24); |
jhnwkmn | 0:6f55c7651ccc | 241 | SQBIND_CONSTANT(vm, PTD25); |
jhnwkmn | 0:6f55c7651ccc | 242 | SQBIND_CONSTANT(vm, PTD26); |
jhnwkmn | 0:6f55c7651ccc | 243 | SQBIND_CONSTANT(vm, PTD27); |
jhnwkmn | 0:6f55c7651ccc | 244 | SQBIND_CONSTANT(vm, PTD28); |
jhnwkmn | 0:6f55c7651ccc | 245 | SQBIND_CONSTANT(vm, PTD29); |
jhnwkmn | 0:6f55c7651ccc | 246 | SQBIND_CONSTANT(vm, PTD30); |
jhnwkmn | 0:6f55c7651ccc | 247 | SQBIND_CONSTANT(vm, PTD31); |
jhnwkmn | 0:6f55c7651ccc | 248 | SQBIND_CONSTANT(vm, PTE0); |
jhnwkmn | 0:6f55c7651ccc | 249 | SQBIND_CONSTANT(vm, PTE1); |
jhnwkmn | 0:6f55c7651ccc | 250 | SQBIND_CONSTANT(vm, PTE2); |
jhnwkmn | 0:6f55c7651ccc | 251 | SQBIND_CONSTANT(vm, PTE3); |
jhnwkmn | 0:6f55c7651ccc | 252 | SQBIND_CONSTANT(vm, PTE4); |
jhnwkmn | 0:6f55c7651ccc | 253 | SQBIND_CONSTANT(vm, PTE5); |
jhnwkmn | 0:6f55c7651ccc | 254 | SQBIND_CONSTANT(vm, PTE6); |
jhnwkmn | 0:6f55c7651ccc | 255 | SQBIND_CONSTANT(vm, PTE7); |
jhnwkmn | 0:6f55c7651ccc | 256 | SQBIND_CONSTANT(vm, PTE8); |
jhnwkmn | 0:6f55c7651ccc | 257 | SQBIND_CONSTANT(vm, PTE9); |
jhnwkmn | 0:6f55c7651ccc | 258 | SQBIND_CONSTANT(vm, PTE10); |
jhnwkmn | 0:6f55c7651ccc | 259 | SQBIND_CONSTANT(vm, PTE11); |
jhnwkmn | 0:6f55c7651ccc | 260 | SQBIND_CONSTANT(vm, PTE12); |
jhnwkmn | 0:6f55c7651ccc | 261 | SQBIND_CONSTANT(vm, PTE13); |
jhnwkmn | 0:6f55c7651ccc | 262 | SQBIND_CONSTANT(vm, PTE14); |
jhnwkmn | 0:6f55c7651ccc | 263 | SQBIND_CONSTANT(vm, PTE15); |
jhnwkmn | 0:6f55c7651ccc | 264 | SQBIND_CONSTANT(vm, PTE16); |
jhnwkmn | 0:6f55c7651ccc | 265 | SQBIND_CONSTANT(vm, PTE17); |
jhnwkmn | 0:6f55c7651ccc | 266 | SQBIND_CONSTANT(vm, PTE18); |
jhnwkmn | 0:6f55c7651ccc | 267 | SQBIND_CONSTANT(vm, PTE19); |
jhnwkmn | 0:6f55c7651ccc | 268 | SQBIND_CONSTANT(vm, PTE20); |
jhnwkmn | 0:6f55c7651ccc | 269 | SQBIND_CONSTANT(vm, PTE21); |
jhnwkmn | 0:6f55c7651ccc | 270 | SQBIND_CONSTANT(vm, PTE22); |
jhnwkmn | 0:6f55c7651ccc | 271 | SQBIND_CONSTANT(vm, PTE23); |
jhnwkmn | 0:6f55c7651ccc | 272 | SQBIND_CONSTANT(vm, PTE24); |
jhnwkmn | 0:6f55c7651ccc | 273 | SQBIND_CONSTANT(vm, PTE25); |
jhnwkmn | 0:6f55c7651ccc | 274 | SQBIND_CONSTANT(vm, PTE26); |
jhnwkmn | 0:6f55c7651ccc | 275 | SQBIND_CONSTANT(vm, PTE27); |
jhnwkmn | 0:6f55c7651ccc | 276 | SQBIND_CONSTANT(vm, PTE28); |
jhnwkmn | 0:6f55c7651ccc | 277 | SQBIND_CONSTANT(vm, PTE29); |
jhnwkmn | 0:6f55c7651ccc | 278 | SQBIND_CONSTANT(vm, PTE30); |
jhnwkmn | 0:6f55c7651ccc | 279 | SQBIND_CONSTANT(vm, PTE31); |
jhnwkmn | 0:6f55c7651ccc | 280 | SQBIND_CONSTANT(vm, LED_RED); |
jhnwkmn | 0:6f55c7651ccc | 281 | SQBIND_CONSTANT(vm, LED_GREEN); |
jhnwkmn | 0:6f55c7651ccc | 282 | SQBIND_CONSTANT(vm, LED_BLUE); |
jhnwkmn | 0:6f55c7651ccc | 283 | SQBIND_CONSTANT(vm, LED1); |
jhnwkmn | 0:6f55c7651ccc | 284 | SQBIND_CONSTANT(vm, LED2); |
jhnwkmn | 0:6f55c7651ccc | 285 | SQBIND_CONSTANT(vm, LED3); |
jhnwkmn | 0:6f55c7651ccc | 286 | SQBIND_CONSTANT(vm, LED4); |
jhnwkmn | 0:6f55c7651ccc | 287 | SQBIND_CONSTANT(vm, SW2); |
jhnwkmn | 0:6f55c7651ccc | 288 | SQBIND_CONSTANT(vm, SW3); |
jhnwkmn | 0:6f55c7651ccc | 289 | SQBIND_CONSTANT(vm, USBTX); |
jhnwkmn | 0:6f55c7651ccc | 290 | SQBIND_CONSTANT(vm, USBRX); |
jhnwkmn | 0:6f55c7651ccc | 291 | SQBIND_CONSTANT(vm, D0); |
jhnwkmn | 0:6f55c7651ccc | 292 | SQBIND_CONSTANT(vm, D1); |
jhnwkmn | 0:6f55c7651ccc | 293 | SQBIND_CONSTANT(vm, D2); |
jhnwkmn | 0:6f55c7651ccc | 294 | SQBIND_CONSTANT(vm, D3); |
jhnwkmn | 0:6f55c7651ccc | 295 | SQBIND_CONSTANT(vm, D4); |
jhnwkmn | 0:6f55c7651ccc | 296 | SQBIND_CONSTANT(vm, D5); |
jhnwkmn | 0:6f55c7651ccc | 297 | SQBIND_CONSTANT(vm, D6); |
jhnwkmn | 0:6f55c7651ccc | 298 | SQBIND_CONSTANT(vm, D7); |
jhnwkmn | 0:6f55c7651ccc | 299 | SQBIND_CONSTANT(vm, D8); |
jhnwkmn | 0:6f55c7651ccc | 300 | SQBIND_CONSTANT(vm, D9); |
jhnwkmn | 0:6f55c7651ccc | 301 | SQBIND_CONSTANT(vm, D10); |
jhnwkmn | 0:6f55c7651ccc | 302 | SQBIND_CONSTANT(vm, D11); |
jhnwkmn | 0:6f55c7651ccc | 303 | SQBIND_CONSTANT(vm, D12); |
jhnwkmn | 0:6f55c7651ccc | 304 | SQBIND_CONSTANT(vm, D13); |
jhnwkmn | 0:6f55c7651ccc | 305 | SQBIND_CONSTANT(vm, D14); |
jhnwkmn | 0:6f55c7651ccc | 306 | SQBIND_CONSTANT(vm, D15); |
jhnwkmn | 0:6f55c7651ccc | 307 | SQBIND_CONSTANT(vm, I2C_SCL); |
jhnwkmn | 0:6f55c7651ccc | 308 | SQBIND_CONSTANT(vm, I2C_SDA); |
jhnwkmn | 0:6f55c7651ccc | 309 | SQBIND_CONSTANT(vm, A0); |
jhnwkmn | 0:6f55c7651ccc | 310 | SQBIND_CONSTANT(vm, A1); |
jhnwkmn | 0:6f55c7651ccc | 311 | SQBIND_CONSTANT(vm, A2); |
jhnwkmn | 0:6f55c7651ccc | 312 | SQBIND_CONSTANT(vm, A3); |
jhnwkmn | 0:6f55c7651ccc | 313 | SQBIND_CONSTANT(vm, A4); |
jhnwkmn | 0:6f55c7651ccc | 314 | SQBIND_CONSTANT(vm, A5); |
jhnwkmn | 0:6f55c7651ccc | 315 | |
jhnwkmn | 0:6f55c7651ccc | 316 | SQBIND_CONSTANT(vm, PullNone); |
jhnwkmn | 0:6f55c7651ccc | 317 | SQBIND_CONSTANT(vm, PullDown); |
jhnwkmn | 0:6f55c7651ccc | 318 | SQBIND_CONSTANT(vm, PullUp); |
jhnwkmn | 0:6f55c7651ccc | 319 | SQBIND_CONSTANT(vm, PullDefault); |
jhnwkmn | 0:6f55c7651ccc | 320 | } |
jhnwkmn | 0:6f55c7651ccc | 321 | |
jhnwkmn | 0:6f55c7651ccc | 322 | } |