robert@464: #N canvas 121 46 877 628 10; robert@464: #X obj 64 94 r bela_digitalIn11; robert@464: #X obj 219 94 r bela_digitalIn12; robert@464: #X obj 386 107 adc~ 13 14; robert@464: #X text 49 64 Digital in \, message rate; robert@464: #X text 214 69 Digital in \, message rate; robert@464: #X text 394 85 Digital ins \, signal rate; robert@464: #X obj 32 283 s bela_digitalOut15; robert@464: #X text 13 309 Digital out \, message rate; robert@464: #X obj 396 593 s bela_setDigital; robert@464: #X obj 396 533 loadbang; robert@464: #X msg 431 401 in 11; robert@464: #X text 524 390 First argument is the pin direction Second argument robert@464: is the pin number Third argument is the rate \, can be "~" or "sig" robert@464: for signal-rate or "message" for message-rate. Defaults to message-rate. robert@464: ; robert@464: #X msg 431 458 in 13 ~; robert@464: #X msg 432 429 in 12 message; robert@464: #X msg 517 506 disable 17; robert@464: #X obj 386 139 snapshot~; robert@464: #X obj 500 134 snapshot~; robert@464: #X obj 529 56 loadbang; robert@464: #X obj 384 181 print digitalIn13; robert@464: #X obj 500 183 print digitalIn14; robert@464: #X obj 497 105 metro 200; robert@464: #X text 525 474 To stop using a pin (e.g.: to save CPU) \, send a disable robert@464: message containing the pin number; robert@464: #X obj 224 280 dac~ 16; robert@464: #X obj 22 232 metro 500; robert@464: #X obj 32 257 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 robert@464: 1; robert@464: #X obj 224 253 phasor~ 300; robert@464: #X text 160 234 Nice \, anti-aliased square wave; robert@464: #X obj 22 207 loadbang; robert@464: #X text 15 181 Blink that LED!; robert@464: #X obj 411 306 dac~ 17; robert@464: #X obj 405 248 osc~ 300; robert@464: #X obj 470 248 phasor~ 169; robert@464: #X obj 457 278 -~ 0.5; robert@464: #X text 403 210 Sum signals together for unpredictable effects; robert@464: #X obj 612 303 dac~ 18; robert@464: #X text 198 305 Digital out \, signal rate; robert@464: #X text 378 325 Digital out \, signal rate; robert@464: #X text 588 325 Digital out \, signal rate; robert@464: #X obj 608 222 adc~; robert@464: #X obj 612 249 *~ 0.5; robert@464: #X obj 612 276 +~ 0.5; robert@464: #X text 585 203 The ultimate bit-crusher; robert@464: #X msg 426 555 in 11 \, in 12 \, in 13 ~ \, in 14 ~ \, out 15 \, out robert@464: 16 ~ \, out 17 ~ \, out 18 ~; robert@464: #X text 23 377 Each digital channel can be configured as either an robert@464: input or an output. Send messages to bela_setDigital to configure the robert@464: digitalPins (needed before using them). Pins settings can be modified robert@464: at will during execution. Message-rate input pins receive messages robert@464: only when the input changes. Message-rate output pins will write to robert@464: the output the most recent value you send them. Signal-rate inputs robert@464: and outputs are handled as regular audio channels. Outputs are thresholded robert@464: to 0.5 before being written to the actual output. Note that each pin robert@464: that is managed adds to the CPU usage \, so only activate the pins robert@464: you actually need.; robert@464: #X text 34 19 Digital channels are numbered 11 to 26 \, which corresponds robert@464: to Bela's 0 to 15 digital channels. They can be set to respond at message robert@464: rate or at signal rate; robert@464: #X obj 415 271 osc~ 1; robert@464: #X obj 385 157 change; robert@464: #X obj 500 158 change; robert@464: #X obj 64 116 print digitalIn11; robert@464: #X obj 219 117 print digitalIn12; robert@464: #X connect 0 0 48 0; robert@464: #X connect 1 0 49 0; robert@464: #X connect 2 0 15 0; robert@464: #X connect 2 1 16 0; robert@464: #X connect 9 0 42 0; robert@464: #X connect 10 0 8 0; robert@464: #X connect 12 0 8 0; robert@464: #X connect 13 0 8 0; robert@464: #X connect 14 0 8 0; robert@464: #X connect 15 0 46 0; robert@464: #X connect 16 0 47 0; robert@464: #X connect 17 0 20 0; robert@464: #X connect 20 0 16 0; robert@464: #X connect 20 0 15 0; robert@464: #X connect 23 0 24 0; robert@464: #X connect 24 0 6 0; robert@464: #X connect 25 0 22 0; robert@464: #X connect 27 0 23 0; robert@464: #X connect 30 0 29 0; robert@464: #X connect 31 0 32 0; robert@464: #X connect 32 0 29 0; robert@464: #X connect 38 0 39 0; robert@464: #X connect 38 1 39 0; robert@464: #X connect 39 0 40 0; robert@464: #X connect 40 0 34 0; robert@464: #X connect 42 0 8 0; robert@464: #X connect 45 0 29 0; robert@464: #X connect 46 0 18 0; robert@464: #X connect 47 0 19 0;