Mercurial > code > home > repos > homeauto
annotate service/garageArduino/bathroom_recv/bathroom_recv.ino @ 462:7ec5945752b7
some old Measurement and Locator edits
Ignore-this: 188ecdf63f49b7a58f99a5961c6c23a6
author | drewp@bigasterisk.com |
---|---|
date | Sat, 20 Apr 2019 23:35:46 -0700 |
parents | 74c1245e7aa0 |
children |
rev | line source |
---|---|
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
1 /* |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
2 board: 'Digispark (Tiny Core)' |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
3 programmer: 'Digispark' |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
4 |
133 | 5 pin 0 DI from radio |
6 pin 1 DO to radio (and green status led) | |
7 pin 2 SCK to radio | |
8 pin 3 output to LED string | |
9 pin 4 input from garage arduino | |
10 pin 5 output to garage arduino | |
11 | |
12 (attiny85 pin 5 is MOSI, pin 6 is MISO, 7 might be clock) | |
13 | |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
14 */ |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
15 #include <VirtualWire.h> |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
16 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
17 #include <Adafruit_NeoPixel.h> |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
18 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
19 // Parameter 1 = number of pixels in strip |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
20 // Parameter 2 = pin number (most are valid) |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
21 // Parameter 3 = pixel type flags, add together as needed: |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
22 // NEO_RGB Pixels are wired for RGB bitstream |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
23 // NEO_GRB Pixels are wired for GRB bitstream |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
24 // NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels) |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
25 // NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip) |
133 | 26 Adafruit_NeoPixel strip = Adafruit_NeoPixel(4, 3, NEO_GRB + NEO_KHZ800); |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
27 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
28 #define SET(i, r, g, b) strip.setPixelColor(i, strip.Color(r, g, b)); strip.show(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
29 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
30 int numLeds = 4; |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
31 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
32 void wakeUpPattern() { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
33 for (int t = 0; t < 255; t += 2) { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
34 for (int i = 0; i < numLeds; i++) { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
35 //SET(i, 255 - t, max(0, 255 - t * 2), max(0, 255 - t * 3)); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
36 SET(i, |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
37 (i % 2) ? (255 - t) : 0, |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
38 (i % 2) ? 0 : (255 - t), |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
39 (i % 2) ? (255 - t) : 0); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
40 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
41 delay(10); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
42 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
43 SET(0, 0, 0, 0); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
44 SET(1, 0, 0, 0); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
45 SET(2, 0, 0, 0); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
46 SET(3, 0, 0, 0); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
47 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
48 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
49 void blinkFailedMessageError() { |
123
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
50 digitalWrite(1, 1); |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
51 delay(100); |
123
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
52 digitalWrite(1, 0); |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
53 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
54 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
55 void blinkShortBufferError() { |
123
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
56 digitalWrite(1, 1); |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
57 delay(100); |
123
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
58 digitalWrite(1, 0); |
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
59 delay(50); |
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
60 digitalWrite(1, 1); |
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
61 delay(100); |
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
62 digitalWrite(1, 0); |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
63 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
64 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
65 void setup() { |
123
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
66 pinMode(1, OUTPUT); // for errors |
83fc811eeddd
report message errors on the builtin green led, not on an output
drewp@bigasterisk.com
parents:
122
diff
changeset
|
67 |
133 | 68 vw_set_rx_pin(4); |
122
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
69 vw_setup(2000); // Bits per sec |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
70 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
71 vw_rx_start(); // Start the receiver PLL running |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
72 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
73 strip.begin(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
74 strip.show(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
75 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
76 wakeUpPattern(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
77 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
78 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
79 void loop() { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
80 uint8_t buf[VW_MAX_MESSAGE_LEN]; |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
81 uint8_t buflen = VW_MAX_MESSAGE_LEN; |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
82 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
83 vw_wait_rx(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
84 int success = vw_get_message(buf, &buflen); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
85 if (!success) { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
86 blinkFailedMessageError(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
87 return; |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
88 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
89 if (buflen < numLeds * 3) { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
90 blinkShortBufferError(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
91 return; |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
92 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
93 |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
94 for (int i=0; i < numLeds; i++) { |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
95 strip.setPixelColor(i, strip.Color( |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
96 buf[i * 3 + 0], |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
97 buf[i * 3 + 1], |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
98 buf[i * 3 + 2])); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
99 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
100 strip.show(); |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
101 } |
fcf97a7f674c
garage arduino sends brite/* color changes out on virtualwire to a digispark now
drewp@bigasterisk.com
parents:
diff
changeset
|
102 |