Simple LM35 temperature sensor for adafruit neopixel
Fork of PololuLedStrip by
led_strip_write_color.s@4:d3b60bd43811, 2013-02-28 (annotated)
- Committer:
- DavidEGrayson
- Date:
- Thu Feb 28 00:42:44 2013 +0000
- Revision:
- 4:d3b60bd43811
- Parent:
- 0:06475317f283
- Child:
- 5:690fdfb595de
Proof of the concept that we can achieve variable delays by jumping into a particular portion of a large subroutine with noops.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DavidEGrayson | 0:06475317f283 | 1 | AREA asm_func, CODE, READONLY |
DavidEGrayson | 0:06475317f283 | 2 | EXPORT led_strip_write_color |
DavidEGrayson | 0:06475317f283 | 3 | |
DavidEGrayson | 0:06475317f283 | 4 | led_strip_write_color |
DavidEGrayson | 4:d3b60bd43811 | 5 | push {r4, r12, r7} |
DavidEGrayson | 0:06475317f283 | 6 | |
DavidEGrayson | 0:06475317f283 | 7 | ldr r12, [r0] ; Read the next color. |
DavidEGrayson | 0:06475317f283 | 8 | rbit r12, r12 ; Reverse the order of the bits. |
DavidEGrayson | 0:06475317f283 | 9 | rev r12, r12 ; Reverse the order of the bytes. |
DavidEGrayson | 0:06475317f283 | 10 | mov r7, #24 ; Initialize the loop counter register. |
DavidEGrayson | 0:06475317f283 | 11 | |
DavidEGrayson | 0:06475317f283 | 12 | send_led_strip_bit |
DavidEGrayson | 0:06475317f283 | 13 | str r3, [r1] ; Drive the line high. |
DavidEGrayson | 0:06475317f283 | 14 | rrxs r12, r12 ; Rotate right through carry. |
DavidEGrayson | 0:06475317f283 | 15 | |
DavidEGrayson | 0:06475317f283 | 16 | nop |
DavidEGrayson | 0:06475317f283 | 17 | nop |
DavidEGrayson | 0:06475317f283 | 18 | nop |
DavidEGrayson | 0:06475317f283 | 19 | nop |
DavidEGrayson | 0:06475317f283 | 20 | nop |
DavidEGrayson | 0:06475317f283 | 21 | nop |
DavidEGrayson | 0:06475317f283 | 22 | nop |
DavidEGrayson | 0:06475317f283 | 23 | nop |
DavidEGrayson | 0:06475317f283 | 24 | nop |
DavidEGrayson | 0:06475317f283 | 25 | nop |
DavidEGrayson | 0:06475317f283 | 26 | |
DavidEGrayson | 0:06475317f283 | 27 | nop |
DavidEGrayson | 0:06475317f283 | 28 | nop |
DavidEGrayson | 0:06475317f283 | 29 | nop |
DavidEGrayson | 0:06475317f283 | 30 | nop |
DavidEGrayson | 0:06475317f283 | 31 | nop |
DavidEGrayson | 0:06475317f283 | 32 | nop |
DavidEGrayson | 0:06475317f283 | 33 | nop |
DavidEGrayson | 0:06475317f283 | 34 | nop |
DavidEGrayson | 0:06475317f283 | 35 | nop |
DavidEGrayson | 0:06475317f283 | 36 | nop |
DavidEGrayson | 0:06475317f283 | 37 | |
DavidEGrayson | 0:06475317f283 | 38 | nop |
DavidEGrayson | 0:06475317f283 | 39 | nop |
DavidEGrayson | 0:06475317f283 | 40 | nop |
DavidEGrayson | 0:06475317f283 | 41 | nop |
DavidEGrayson | 0:06475317f283 | 42 | nop |
DavidEGrayson | 0:06475317f283 | 43 | nop |
DavidEGrayson | 0:06475317f283 | 44 | nop |
DavidEGrayson | 0:06475317f283 | 45 | nop |
DavidEGrayson | 0:06475317f283 | 46 | nop |
DavidEGrayson | 0:06475317f283 | 47 | nop |
DavidEGrayson | 0:06475317f283 | 48 | |
DavidEGrayson | 0:06475317f283 | 49 | nop |
DavidEGrayson | 0:06475317f283 | 50 | nop |
DavidEGrayson | 0:06475317f283 | 51 | nop |
DavidEGrayson | 0:06475317f283 | 52 | nop |
DavidEGrayson | 0:06475317f283 | 53 | nop |
DavidEGrayson | 0:06475317f283 | 54 | nop |
DavidEGrayson | 0:06475317f283 | 55 | nop |
DavidEGrayson | 0:06475317f283 | 56 | nop |
DavidEGrayson | 0:06475317f283 | 57 | nop |
DavidEGrayson | 0:06475317f283 | 58 | nop |
DavidEGrayson | 0:06475317f283 | 59 | |
DavidEGrayson | 0:06475317f283 | 60 | nop |
DavidEGrayson | 0:06475317f283 | 61 | nop |
DavidEGrayson | 0:06475317f283 | 62 | nop |
DavidEGrayson | 0:06475317f283 | 63 | nop |
DavidEGrayson | 0:06475317f283 | 64 | nop |
DavidEGrayson | 0:06475317f283 | 65 | nop |
DavidEGrayson | 0:06475317f283 | 66 | nop |
DavidEGrayson | 0:06475317f283 | 67 | nop |
DavidEGrayson | 0:06475317f283 | 68 | nop |
DavidEGrayson | 0:06475317f283 | 69 | nop |
DavidEGrayson | 0:06475317f283 | 70 | |
DavidEGrayson | 0:06475317f283 | 71 | nop |
DavidEGrayson | 0:06475317f283 | 72 | nop |
DavidEGrayson | 0:06475317f283 | 73 | nop |
DavidEGrayson | 0:06475317f283 | 74 | nop |
DavidEGrayson | 0:06475317f283 | 75 | nop |
DavidEGrayson | 0:06475317f283 | 76 | nop |
DavidEGrayson | 0:06475317f283 | 77 | nop |
DavidEGrayson | 0:06475317f283 | 78 | nop |
DavidEGrayson | 0:06475317f283 | 79 | nop |
DavidEGrayson | 0:06475317f283 | 80 | nop |
DavidEGrayson | 0:06475317f283 | 81 | |
DavidEGrayson | 0:06475317f283 | 82 | nop |
DavidEGrayson | 0:06475317f283 | 83 | nop |
DavidEGrayson | 0:06475317f283 | 84 | nop |
DavidEGrayson | 0:06475317f283 | 85 | nop |
DavidEGrayson | 0:06475317f283 | 86 | |
DavidEGrayson | 0:06475317f283 | 87 | it cc ; If the bit to send it 0... |
DavidEGrayson | 0:06475317f283 | 88 | strcc r3, [r2] ; Drive the line low. |
DavidEGrayson | 0:06475317f283 | 89 | |
DavidEGrayson | 0:06475317f283 | 90 | nop |
DavidEGrayson | 0:06475317f283 | 91 | nop |
DavidEGrayson | 0:06475317f283 | 92 | nop |
DavidEGrayson | 0:06475317f283 | 93 | nop |
DavidEGrayson | 0:06475317f283 | 94 | nop |
DavidEGrayson | 0:06475317f283 | 95 | nop |
DavidEGrayson | 0:06475317f283 | 96 | nop |
DavidEGrayson | 0:06475317f283 | 97 | nop |
DavidEGrayson | 0:06475317f283 | 98 | nop |
DavidEGrayson | 0:06475317f283 | 99 | nop |
DavidEGrayson | 0:06475317f283 | 100 | |
DavidEGrayson | 0:06475317f283 | 101 | nop |
DavidEGrayson | 0:06475317f283 | 102 | nop |
DavidEGrayson | 0:06475317f283 | 103 | nop |
DavidEGrayson | 0:06475317f283 | 104 | nop |
DavidEGrayson | 0:06475317f283 | 105 | nop |
DavidEGrayson | 0:06475317f283 | 106 | nop |
DavidEGrayson | 0:06475317f283 | 107 | nop |
DavidEGrayson | 0:06475317f283 | 108 | nop |
DavidEGrayson | 0:06475317f283 | 109 | nop |
DavidEGrayson | 0:06475317f283 | 110 | nop |
DavidEGrayson | 0:06475317f283 | 111 | |
DavidEGrayson | 0:06475317f283 | 112 | nop |
DavidEGrayson | 0:06475317f283 | 113 | nop |
DavidEGrayson | 0:06475317f283 | 114 | nop |
DavidEGrayson | 0:06475317f283 | 115 | nop |
DavidEGrayson | 0:06475317f283 | 116 | nop |
DavidEGrayson | 0:06475317f283 | 117 | nop |
DavidEGrayson | 0:06475317f283 | 118 | nop |
DavidEGrayson | 0:06475317f283 | 119 | nop |
DavidEGrayson | 0:06475317f283 | 120 | nop |
DavidEGrayson | 0:06475317f283 | 121 | nop |
DavidEGrayson | 0:06475317f283 | 122 | |
DavidEGrayson | 0:06475317f283 | 123 | nop |
DavidEGrayson | 0:06475317f283 | 124 | nop |
DavidEGrayson | 0:06475317f283 | 125 | nop |
DavidEGrayson | 0:06475317f283 | 126 | nop |
DavidEGrayson | 0:06475317f283 | 127 | nop |
DavidEGrayson | 0:06475317f283 | 128 | nop |
DavidEGrayson | 0:06475317f283 | 129 | nop |
DavidEGrayson | 0:06475317f283 | 130 | nop |
DavidEGrayson | 0:06475317f283 | 131 | nop |
DavidEGrayson | 0:06475317f283 | 132 | nop |
DavidEGrayson | 0:06475317f283 | 133 | |
DavidEGrayson | 0:06475317f283 | 134 | nop |
DavidEGrayson | 0:06475317f283 | 135 | nop |
DavidEGrayson | 0:06475317f283 | 136 | nop |
DavidEGrayson | 0:06475317f283 | 137 | nop |
DavidEGrayson | 0:06475317f283 | 138 | nop |
DavidEGrayson | 0:06475317f283 | 139 | nop |
DavidEGrayson | 0:06475317f283 | 140 | nop |
DavidEGrayson | 0:06475317f283 | 141 | nop |
DavidEGrayson | 0:06475317f283 | 142 | nop |
DavidEGrayson | 0:06475317f283 | 143 | nop |
DavidEGrayson | 0:06475317f283 | 144 | |
DavidEGrayson | 0:06475317f283 | 145 | nop |
DavidEGrayson | 0:06475317f283 | 146 | nop |
DavidEGrayson | 0:06475317f283 | 147 | nop |
DavidEGrayson | 0:06475317f283 | 148 | nop |
DavidEGrayson | 0:06475317f283 | 149 | nop |
DavidEGrayson | 0:06475317f283 | 150 | nop |
DavidEGrayson | 0:06475317f283 | 151 | nop |
DavidEGrayson | 0:06475317f283 | 152 | nop |
DavidEGrayson | 0:06475317f283 | 153 | nop |
DavidEGrayson | 0:06475317f283 | 154 | |
DavidEGrayson | 0:06475317f283 | 155 | |
DavidEGrayson | 0:06475317f283 | 156 | it cs ; If the bit to send is 1... |
DavidEGrayson | 0:06475317f283 | 157 | strcs r3, [r2] ; Drive the line low. |
DavidEGrayson | 0:06475317f283 | 158 | |
DavidEGrayson | 4:d3b60bd43811 | 159 | ldr r4, =delay_region |
DavidEGrayson | 4:d3b60bd43811 | 160 | add r4, r4, 34*2 |
DavidEGrayson | 4:d3b60bd43811 | 161 | blx r4 |
DavidEGrayson | 4:d3b60bd43811 | 162 | |
DavidEGrayson | 4:d3b60bd43811 | 163 | sub r7, r7, #1 ; Decrement the loop counter. |
DavidEGrayson | 4:d3b60bd43811 | 164 | cbz r7, led_strip_asm_end ; If we have sent 24 bits, go to the end. |
DavidEGrayson | 4:d3b60bd43811 | 165 | b send_led_strip_bit ; Otherwise, go back and send another bit. |
DavidEGrayson | 4:d3b60bd43811 | 166 | |
DavidEGrayson | 4:d3b60bd43811 | 167 | led_strip_asm_end |
DavidEGrayson | 4:d3b60bd43811 | 168 | pop {r4, r12, r7} |
DavidEGrayson | 4:d3b60bd43811 | 169 | bx lr |
DavidEGrayson | 4:d3b60bd43811 | 170 | |
DavidEGrayson | 4:d3b60bd43811 | 171 | |
DavidEGrayson | 4:d3b60bd43811 | 172 | delay_region |
DavidEGrayson | 4:d3b60bd43811 | 173 | ; The following is 128 no-ops |
DavidEGrayson | 0:06475317f283 | 174 | nop |
DavidEGrayson | 0:06475317f283 | 175 | nop |
DavidEGrayson | 0:06475317f283 | 176 | nop |
DavidEGrayson | 0:06475317f283 | 177 | nop |
DavidEGrayson | 0:06475317f283 | 178 | nop |
DavidEGrayson | 0:06475317f283 | 179 | nop |
DavidEGrayson | 0:06475317f283 | 180 | nop |
DavidEGrayson | 0:06475317f283 | 181 | nop |
DavidEGrayson | 0:06475317f283 | 182 | nop |
DavidEGrayson | 0:06475317f283 | 183 | nop |
DavidEGrayson | 0:06475317f283 | 184 | nop |
DavidEGrayson | 0:06475317f283 | 185 | nop |
DavidEGrayson | 0:06475317f283 | 186 | nop |
DavidEGrayson | 4:d3b60bd43811 | 187 | nop |
DavidEGrayson | 4:d3b60bd43811 | 188 | nop |
DavidEGrayson | 4:d3b60bd43811 | 189 | nop |
DavidEGrayson | 4:d3b60bd43811 | 190 | |
DavidEGrayson | 0:06475317f283 | 191 | nop |
DavidEGrayson | 0:06475317f283 | 192 | nop |
DavidEGrayson | 0:06475317f283 | 193 | nop |
DavidEGrayson | 0:06475317f283 | 194 | nop |
DavidEGrayson | 0:06475317f283 | 195 | nop |
DavidEGrayson | 0:06475317f283 | 196 | nop |
DavidEGrayson | 0:06475317f283 | 197 | nop |
DavidEGrayson | 0:06475317f283 | 198 | nop |
DavidEGrayson | 0:06475317f283 | 199 | nop |
DavidEGrayson | 0:06475317f283 | 200 | nop |
DavidEGrayson | 0:06475317f283 | 201 | nop |
DavidEGrayson | 0:06475317f283 | 202 | nop |
DavidEGrayson | 0:06475317f283 | 203 | nop |
DavidEGrayson | 0:06475317f283 | 204 | nop |
DavidEGrayson | 0:06475317f283 | 205 | nop |
DavidEGrayson | 0:06475317f283 | 206 | nop |
DavidEGrayson | 4:d3b60bd43811 | 207 | |
DavidEGrayson | 0:06475317f283 | 208 | nop |
DavidEGrayson | 0:06475317f283 | 209 | nop |
DavidEGrayson | 0:06475317f283 | 210 | nop |
DavidEGrayson | 0:06475317f283 | 211 | nop |
DavidEGrayson | 4:d3b60bd43811 | 212 | nop |
DavidEGrayson | 4:d3b60bd43811 | 213 | nop |
DavidEGrayson | 0:06475317f283 | 214 | nop |
DavidEGrayson | 0:06475317f283 | 215 | nop |
DavidEGrayson | 0:06475317f283 | 216 | nop |
DavidEGrayson | 0:06475317f283 | 217 | nop |
DavidEGrayson | 0:06475317f283 | 218 | nop |
DavidEGrayson | 0:06475317f283 | 219 | nop |
DavidEGrayson | 0:06475317f283 | 220 | nop |
DavidEGrayson | 0:06475317f283 | 221 | nop |
DavidEGrayson | 0:06475317f283 | 222 | nop |
DavidEGrayson | 0:06475317f283 | 223 | nop |
DavidEGrayson | 0:06475317f283 | 224 | |
DavidEGrayson | 0:06475317f283 | 225 | nop |
DavidEGrayson | 0:06475317f283 | 226 | nop |
DavidEGrayson | 0:06475317f283 | 227 | nop |
DavidEGrayson | 0:06475317f283 | 228 | nop |
DavidEGrayson | 0:06475317f283 | 229 | nop |
DavidEGrayson | 0:06475317f283 | 230 | nop |
DavidEGrayson | 0:06475317f283 | 231 | nop |
DavidEGrayson | 0:06475317f283 | 232 | nop |
DavidEGrayson | 0:06475317f283 | 233 | nop |
DavidEGrayson | 0:06475317f283 | 234 | nop |
DavidEGrayson | 4:d3b60bd43811 | 235 | nop |
DavidEGrayson | 4:d3b60bd43811 | 236 | nop |
DavidEGrayson | 4:d3b60bd43811 | 237 | nop |
DavidEGrayson | 4:d3b60bd43811 | 238 | nop |
DavidEGrayson | 4:d3b60bd43811 | 239 | nop |
DavidEGrayson | 4:d3b60bd43811 | 240 | nop |
DavidEGrayson | 0:06475317f283 | 241 | |
DavidEGrayson | 0:06475317f283 | 242 | nop |
DavidEGrayson | 0:06475317f283 | 243 | nop |
DavidEGrayson | 0:06475317f283 | 244 | nop |
DavidEGrayson | 0:06475317f283 | 245 | nop |
DavidEGrayson | 0:06475317f283 | 246 | nop |
DavidEGrayson | 0:06475317f283 | 247 | nop |
DavidEGrayson | 0:06475317f283 | 248 | nop |
DavidEGrayson | 0:06475317f283 | 249 | nop |
DavidEGrayson | 0:06475317f283 | 250 | nop |
DavidEGrayson | 0:06475317f283 | 251 | nop |
DavidEGrayson | 4:d3b60bd43811 | 252 | nop |
DavidEGrayson | 4:d3b60bd43811 | 253 | nop |
DavidEGrayson | 4:d3b60bd43811 | 254 | nop |
DavidEGrayson | 4:d3b60bd43811 | 255 | nop |
DavidEGrayson | 4:d3b60bd43811 | 256 | nop |
DavidEGrayson | 4:d3b60bd43811 | 257 | nop |
DavidEGrayson | 0:06475317f283 | 258 | |
DavidEGrayson | 0:06475317f283 | 259 | nop |
DavidEGrayson | 0:06475317f283 | 260 | nop |
DavidEGrayson | 0:06475317f283 | 261 | nop |
DavidEGrayson | 0:06475317f283 | 262 | nop |
DavidEGrayson | 0:06475317f283 | 263 | nop |
DavidEGrayson | 0:06475317f283 | 264 | nop |
DavidEGrayson | 0:06475317f283 | 265 | nop |
DavidEGrayson | 0:06475317f283 | 266 | nop |
DavidEGrayson | 0:06475317f283 | 267 | nop |
DavidEGrayson | 0:06475317f283 | 268 | nop |
DavidEGrayson | 0:06475317f283 | 269 | nop |
DavidEGrayson | 0:06475317f283 | 270 | nop |
DavidEGrayson | 0:06475317f283 | 271 | nop |
DavidEGrayson | 0:06475317f283 | 272 | nop |
DavidEGrayson | 0:06475317f283 | 273 | nop |
DavidEGrayson | 0:06475317f283 | 274 | nop |
DavidEGrayson | 0:06475317f283 | 275 | |
DavidEGrayson | 0:06475317f283 | 276 | nop |
DavidEGrayson | 0:06475317f283 | 277 | nop |
DavidEGrayson | 0:06475317f283 | 278 | nop |
DavidEGrayson | 0:06475317f283 | 279 | nop |
DavidEGrayson | 0:06475317f283 | 280 | nop |
DavidEGrayson | 0:06475317f283 | 281 | nop |
DavidEGrayson | 0:06475317f283 | 282 | nop |
DavidEGrayson | 0:06475317f283 | 283 | nop |
DavidEGrayson | 0:06475317f283 | 284 | nop |
DavidEGrayson | 0:06475317f283 | 285 | nop |
DavidEGrayson | 4:d3b60bd43811 | 286 | nop |
DavidEGrayson | 4:d3b60bd43811 | 287 | nop |
DavidEGrayson | 4:d3b60bd43811 | 288 | nop |
DavidEGrayson | 4:d3b60bd43811 | 289 | nop |
DavidEGrayson | 4:d3b60bd43811 | 290 | nop |
DavidEGrayson | 4:d3b60bd43811 | 291 | nop |
DavidEGrayson | 4:d3b60bd43811 | 292 | |
DavidEGrayson | 0:06475317f283 | 293 | nop |
DavidEGrayson | 0:06475317f283 | 294 | nop |
DavidEGrayson | 0:06475317f283 | 295 | nop |
DavidEGrayson | 0:06475317f283 | 296 | nop |
DavidEGrayson | 0:06475317f283 | 297 | nop |
DavidEGrayson | 0:06475317f283 | 298 | nop |
DavidEGrayson | 4:d3b60bd43811 | 299 | nop |
DavidEGrayson | 4:d3b60bd43811 | 300 | nop |
DavidEGrayson | 4:d3b60bd43811 | 301 | nop |
DavidEGrayson | 4:d3b60bd43811 | 302 | nop |
DavidEGrayson | 4:d3b60bd43811 | 303 | nop |
DavidEGrayson | 4:d3b60bd43811 | 304 | nop |
DavidEGrayson | 4:d3b60bd43811 | 305 | nop |
DavidEGrayson | 4:d3b60bd43811 | 306 | nop |
DavidEGrayson | 4:d3b60bd43811 | 307 | nop |
DavidEGrayson | 4:d3b60bd43811 | 308 | nop |
DavidEGrayson | 4:d3b60bd43811 | 309 | bx lr ; return |
DavidEGrayson | 0:06475317f283 | 310 | |
DavidEGrayson | 0:06475317f283 | 311 | END |