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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
5 pin 0 DI from radio
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
6 pin 1 DO to radio (and green status led)
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
7 pin 2 SCK to radio
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
8 pin 3 output to LED string
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
9 pin 4 input from garage arduino
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
10 pin 5 output to garage arduino
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
11
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
12 (attiny85 pin 5 is MOSI, pin 6 is MISO, 7 might be clock)
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
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
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
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
74c1245e7aa0 bathroom arduino pin notes
drewp@bigasterisk.com
parents: 123
diff changeset
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