From 2a3445b9bb6de46ea40fce5bdee79be96e0b4ec5 Mon Sep 17 00:00:00 2001 From: coelner Date: Thu, 17 Jun 2021 15:15:37 +0200 Subject: [PATCH] first draft for dashboard and global status --- .../Schematic_RM370_2021-01-24.pdf | 2104 +++++++++++++++++ esp8266-RM370-interrupt/communication.ino | 87 +- .../esp8266-RM370-interrupt.ino | 50 +- esp8266-dashboard/communication.ino | 51 +- esp8266-dashboard/esp8266-dashboard.ino | 64 +- 5 files changed, 2264 insertions(+), 92 deletions(-) create mode 100644 esp8266-RM370-interrupt/Schematic_RM370_2021-01-24.pdf diff --git a/esp8266-RM370-interrupt/Schematic_RM370_2021-01-24.pdf b/esp8266-RM370-interrupt/Schematic_RM370_2021-01-24.pdf new file mode 100644 index 0000000..698167f --- /dev/null +++ b/esp8266-RM370-interrupt/Schematic_RM370_2021-01-24.pdf @@ -0,0 +1,2104 @@ +%PDF-1.4 +%ºß¬à +3 0 obj +<> +endobj +4 0 obj +<< +/Length 26888 +>> +stream +0.20 w +0 G +2 J +0 j +100 M +1.00 g +[] 0 d +0.00 827.50 1169.00 -827.50 re +f +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +216.000 807.000 m +216.000 817.000 l +216.000 21.000 m +216.000 11.000 l +412.000 807.000 m +412.000 817.000 l +412.000 21.000 m +412.000 11.000 l +608.000 807.000 m +608.000 817.000 l +608.000 21.000 m +608.000 11.000 l +804.000 807.000 m +804.000 817.000 l +804.000 21.000 m +804.000 11.000 l +1000.000 807.000 m +1000.000 817.000 l +1000.000 21.000 m +1000.000 11.000 l +20.000 611.000 m +10.000 611.000 l +1149.000 611.000 m +1159.000 611.000 l +20.000 415.000 m +10.000 415.000 l +1149.000 415.000 m +1159.000 415.000 l +20.000 219.000 m +10.000 219.000 l +1149.000 219.000 m +1159.000 219.000 l +20.000 23.000 m +10.000 23.000 l +1149.000 23.000 m +1159.000 23.000 l +S +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +11.50 709.00 Td +(A) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +1150.50 709.00 Td +(A) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +11.50 513.00 Td +(B) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +1150.50 513.00 Td +(B) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +11.50 317.00 Td +(C) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +1150.50 317.00 Td +(C) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +11.50 121.00 Td +(D) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +1150.50 121.00 Td +(D) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +118.00 808.50 Td +(1) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +118.00 12.50 Td +(1) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +314.00 808.50 Td +(2) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +314.00 12.50 Td +(2) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +510.00 808.50 Td +(3) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +510.00 12.50 Td +(3) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +706.00 808.50 Td +(4) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +706.00 12.50 Td +(4) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +902.00 808.50 Td +(5) Tj +ET +10.00 w +BT +/F1 9 Tf +9.00 TL +0.533 0.000 0.000 rg +902.00 12.50 Td +(5) Tj +ET +2 J +0 j +100 M +1.00 w +0.53 0.00 0.00 RG +[] 0 d +20.00 807.00 1129.00 -786.00 re +S +2 J +0 j +100 M +1.00 w +0.53 0.00 0.00 RG +[] 0 d +10.00 817.00 1149.00 -806.00 re +S +2 J +0 j +100 M +1.00 w +0.53 0.00 0.00 RG +[] 0 d +705.00 101.00 444.00 -80.00 re +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +0.00 g +[] 0 d +705.100 61.750 m +1148.630 61.750 l +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +0.00 g +[] 0 d +809.630 41.750 m +1148.630 41.750 l +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +0.00 g +[] 0 d +1069.610 100.930 m +1069.630 61.750 l +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +0.00 g +[] 0 d +1069.630 61.750 m +1069.630 41.750 l +S +10.00 w +BT +/F1 11 Tf +11.00 TL +0.533 0.000 0.000 rg +710.00 88.00 Td +(TITLE:) Tj +ET +10.00 w +BT +/F1 13 Tf +13.00 TL +0.000 0.000 1.000 rg +767.62 75.41 Td +(Sheet_1) Tj +ET +10.00 w +BT +/F1 11 Tf +11.00 TL +0.533 0.000 0.000 rg +1074.62 74.75 Td +(REV:) Tj +ET +10.00 w +BT +/F1 12 Tf +12.00 TL +0.000 0.000 1.000 rg +1112.62 74.75 Td +(1.0) Tj +ET +10.00 w +BT +/F1 11 Tf +11.00 TL +0.533 0.000 0.000 rg +814.62 26.00 Td +(Date:) Tj +ET +10.00 w +BT +/F1 12 Tf +12.00 TL +0.000 0.000 1.000 rg +861.62 25.52 Td +(2021-01-15) Tj +ET +10.00 w +BT +/F1 11 Tf +11.00 TL +0.533 0.000 0.000 rg +1073.62 46.00 Td +(Sheet:) Tj +ET +10.00 w +BT +/F1 12 Tf +12.00 TL +0.000 0.000 1.000 rg +1118.62 45.52 Td +(1/1) Tj +ET +10.00 w +BT +/F1 11 Tf +11.00 TL +0.533 0.000 0.000 rg +953.62 25.75 Td +(Drawn By:) Tj +ET +10.00 w +BT +/F1 12 Tf +12.00 TL +0.000 0.000 1.000 rg +1018.63 25.75 Td +(waenger) Tj +ET +10.00 w +BT +/F1 11 Tf +11.00 TL +0.533 0.000 0.000 rg +814.62 47.75 Td +(Company:) Tj +ET +10.00 w +BT +/F1 12 Tf +12.00 TL +0.000 0.000 1.000 rg +881.25 47.64 Td +(Your Company) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +0.00 g +[] 0 d +809.630 61.750 m +809.630 21.750 l +S +0.33 0.53 1.00 rg +[] 0 d +760.394 39.565 m +760.535 39.671 760.707 39.723 760.904 39.723 c +761.168 39.723 761.451 39.630 761.752 39.448 c +762.053 39.266 762.342 38.980 762.618 38.587 c +763.687 40.221 l +763.355 40.678 762.944 41.035 762.446 41.287 c +761.948 41.539 761.420 41.662 760.867 41.662 c +760.081 41.662 759.393 41.433 758.815 40.977 c +758.238 40.520 757.949 39.922 757.949 39.196 c +757.949 38.675 758.133 38.177 758.502 37.709 c +758.766 37.375 759.245 36.971 759.933 36.502 c +760.529 36.098 760.898 35.817 761.033 35.659 c +761.168 35.501 761.236 35.348 761.236 35.196 c +761.236 35.009 761.150 34.851 760.972 34.710 c +760.793 34.575 760.560 34.505 760.265 34.505 c +759.522 34.505 758.834 34.898 758.207 35.688 c +756.825 34.154 l +757.439 33.533 757.998 33.100 758.496 32.865 c +758.993 32.631 759.552 32.514 760.161 32.514 c +761.217 32.514 762.022 32.801 762.581 33.375 c +763.140 33.949 763.417 34.564 763.417 35.208 c +763.417 35.700 763.281 36.151 763.011 36.572 c +762.741 36.988 762.176 37.492 761.316 38.078 c +760.775 38.447 760.456 38.693 760.351 38.821 c +760.241 38.950 760.185 39.079 760.185 39.208 c +760.179 39.343 760.253 39.460 760.394 39.565 c +h +f +0.33 0.53 1.00 rg +[] 0 d +745.024 39.975 m +740.699 39.975 l +741.055 42.417 l +741.055 42.417 745.644 42.423 745.669 42.423 c +746.271 42.423 746.762 42.892 746.762 43.466 c +746.762 44.040 746.271 44.508 745.669 44.508 c +745.650 44.508 739.009 44.508 739.009 44.508 c +737.314 32.736 l +744.268 32.736 l +744.268 32.736 l +744.852 32.748 745.325 33.205 745.325 33.761 c +745.325 34.329 744.839 34.792 744.243 34.792 c +744.219 34.792 739.931 34.786 739.931 34.786 c +740.385 37.908 l +740.385 37.908 744.790 37.902 744.827 37.902 c +745.429 37.902 745.921 38.370 745.921 38.944 c +745.933 39.466 745.540 39.893 745.024 39.975 c +h +f +0.33 0.53 1.00 rg +[] 0 d +782.922 44.502 m +782.903 44.502 776.262 44.502 776.262 44.502 c +774.579 32.742 l +781.539 32.742 l +781.539 32.742 l +782.123 32.754 782.596 33.211 782.596 33.767 c +782.596 34.335 782.111 34.798 781.515 34.798 c +781.490 34.798 777.202 34.792 777.202 34.792 c +777.657 37.914 l +777.657 37.914 782.062 37.908 782.105 37.908 c +782.707 37.908 783.198 38.376 783.198 38.950 c +783.198 39.466 782.805 39.893 782.289 39.975 c +777.964 39.975 l +778.320 42.417 l +778.320 42.417 782.909 42.423 782.934 42.423 c +783.536 42.423 784.027 42.892 784.027 43.466 c +784.015 44.034 783.530 44.502 782.922 44.502 c +h +f +0.33 0.53 1.00 rg +[] 0 d +795.350 38.868 m +795.350 40.022 795.067 41.047 794.508 41.931 c +793.949 42.816 793.224 43.466 792.327 43.876 c +791.430 44.291 790.072 44.496 788.236 44.496 c +786.282 44.496 l +784.599 32.736 l +788.432 32.736 l +790.042 32.736 791.301 32.965 792.204 33.422 c +793.107 33.878 793.863 34.605 794.459 35.594 c +795.055 36.590 795.350 37.679 795.350 38.868 c +h +792.315 36.438 m +791.866 35.794 791.277 35.337 790.539 35.073 c +790.011 34.886 789.163 34.792 787.990 34.792 c +787.228 34.792 l +788.315 42.429 l +788.899 42.429 l +789.851 42.429 790.613 42.288 791.184 42.001 c +791.756 41.714 792.198 41.310 792.517 40.783 c +792.831 40.256 792.990 39.606 792.990 38.827 c +792.984 37.884 792.763 37.082 792.315 36.438 c +h +f +0.33 0.53 1.00 rg +[] 0 d +804.472 39.003 m +803.102 38.283 l +802.992 37.334 802.144 36.602 801.124 36.602 c +800.025 36.602 799.134 37.451 799.134 38.499 c +799.134 39.548 800.025 40.397 801.124 40.397 c +801.548 40.397 801.941 40.268 802.261 40.057 c +803.962 40.953 l +803.041 44.479 l +801.094 44.479 l +794.459 32.766 l +796.941 32.766 l +798.341 35.261 l +803.219 35.261 l +803.870 32.766 l +806.106 32.766 l +804.472 39.003 l +h +f +0.33 0.53 1.00 rg +[] 0 d +800.393 38.546 m +800.393 38.142 800.737 37.814 801.161 37.814 c +801.585 37.814 801.929 38.142 801.929 38.546 c +801.929 38.950 801.585 39.278 801.161 39.278 c +800.737 39.278 800.393 38.950 800.393 38.546 c +h +f +0.33 0.53 1.00 rg +[] 0 d +755.056 40.069 m +755.056 40.069 755.056 40.075 755.056 40.069 c +754.288 40.069 l +754.208 40.209 l +753.895 40.684 753.501 41.041 753.028 41.287 c +752.549 41.533 751.793 41.656 751.228 41.656 c +750.387 41.656 749.582 41.439 748.814 41.006 c +748.046 40.572 747.432 39.969 746.977 39.190 c +746.523 38.417 746.289 37.597 746.289 36.742 c +746.289 35.618 746.645 34.634 747.358 33.785 c +748.071 32.936 749.035 32.514 750.245 32.514 c +750.774 32.514 751.247 32.596 751.671 32.772 c +752.095 32.941 752.549 33.240 753.034 33.673 c +753.034 33.673 753.606 33.199 753.612 33.205 c +753.968 32.936 754.411 32.766 754.890 32.736 c +755.111 32.736 l +755.142 32.988 l +755.922 39.249 l +755.916 39.249 755.916 39.249 755.910 39.249 c +755.910 39.700 755.529 40.063 755.056 40.069 c +h +753.262 35.870 m +752.985 35.372 752.641 35.003 752.230 34.769 c +751.818 34.534 751.339 34.417 750.786 34.417 c +750.123 34.417 749.582 34.622 749.158 35.044 c +748.734 35.460 748.525 36.010 748.525 36.690 c +748.525 37.574 748.802 38.294 749.361 38.857 c +749.920 39.419 750.596 39.694 751.394 39.694 c +752.082 39.694 752.635 39.483 753.053 39.067 c +753.471 38.646 753.679 38.095 753.679 37.404 c +753.679 36.883 753.538 36.367 753.262 35.870 c +h +f +0.33 0.53 1.00 rg +[] 0 d +729.837 43.360 m +729.377 44.526 728.627 45.574 727.638 46.423 c +726.121 47.723 724.155 48.444 722.109 48.444 c +720.340 48.444 718.650 47.917 717.225 46.921 c +716.537 46.441 715.941 45.873 715.450 45.228 c +715.143 45.269 714.829 45.293 714.510 45.293 c +712.747 45.293 711.082 44.637 709.835 43.448 c +708.588 42.259 707.900 40.678 707.900 38.991 c +707.900 37.428 708.508 35.928 709.607 34.769 c +710.480 33.849 711.610 33.199 712.857 32.895 c +713.398 31.360 714.921 30.253 716.709 30.253 c +718.951 30.253 720.776 31.993 720.776 34.130 c +720.776 34.253 720.770 34.382 720.758 34.505 c +726.465 37.363 l +725.218 39.425 l +719.762 36.695 l +719.019 37.504 717.925 38.013 716.709 38.013 c +714.946 38.013 713.441 36.936 712.876 35.436 c +711.438 36.040 710.431 37.404 710.431 38.997 c +710.431 41.141 712.255 42.886 714.510 42.886 c +715.302 42.886 716.046 42.669 716.672 42.294 c +717.428 44.467 719.578 46.037 722.109 46.037 c +725.058 46.037 727.478 43.917 727.804 41.193 c +727.908 41.205 728.013 41.211 728.117 41.211 c +729.880 41.211 731.312 39.846 731.312 38.165 c +731.312 36.572 730.028 35.266 728.394 35.132 c +726.569 35.132 l +726.489 35.149 726.403 35.155 726.317 35.155 c +725.611 35.155 725.039 34.611 725.039 33.937 c +725.039 33.299 725.555 32.777 726.213 32.725 c +726.213 32.713 l +728.394 32.713 l +728.504 32.713 l +728.615 32.725 l +730.040 32.842 731.361 33.457 732.332 34.464 c +733.308 35.477 733.849 36.789 733.849 38.165 c +733.849 40.590 732.159 42.663 729.837 43.360 c +h +716.709 35.630 m +717.575 35.630 718.282 34.956 718.282 34.130 c +718.282 33.305 717.575 32.631 716.709 32.631 c +715.843 32.631 715.136 33.305 715.136 34.130 c +715.136 34.956 715.843 35.630 716.709 35.630 c +h +f +0.33 0.53 1.00 rg +[] 0 d +768.810 36.280 m +767.035 41.439 l +764.836 41.439 l +767.404 33.925 l +764.811 29.556 l +767.176 29.556 l +774.346 41.439 l +771.931 41.439 l +f +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +555.76 494.33 Td +(WEMOS) Tj +ET +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +555.76 503.67 Td +(U1) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +0.00 g +[] 0 d +530.000 401.000 m +530.000 491.000 l +S +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +0.00 g +[] 0 d +530.000 491.000 m +590.000 491.000 l +S +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +0.00 g +[] 0 d +590.000 491.000 m +590.000 401.000 l +S +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +0.00 g +[] 0 d +590.000 401.000 m +530.000 401.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 408.00 Td +(3V3) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +506.42 412.00 Td +(3V3) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 411.000 m +530.000 411.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 418.00 Td +(D8) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +511.36 422.00 Td +(D8) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 421.000 m +530.000 421.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 428.00 Td +(D7) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +511.36 432.00 Td +(D7) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 431.000 m +530.000 431.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 438.00 Td +(D6) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +511.36 442.00 Td +(D6) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 441.000 m +530.000 441.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 448.00 Td +(D5) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +511.36 452.00 Td +(D5) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 451.000 m +530.000 451.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 458.00 Td +(D0) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +511.36 462.00 Td +(D0) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 461.000 m +530.000 461.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 468.00 Td +(A0) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +512.14 472.00 Td +(A0) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 471.000 m +530.000 471.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +533.00 478.00 Td +(RST) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +506.05 482.00 Td +(RST) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +510.000 481.000 m +530.000 481.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +575.14 408.00 Td +(5V) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 412.00 Td +(5V) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 411.000 m +590.000 411.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +566.36 418.00 Td +(GND) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 422.00 Td +(GND) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 421.000 m +590.000 421.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +574.36 428.00 Td +(D4) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 432.00 Td +(D4) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 431.000 m +590.000 431.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +574.36 438.00 Td +(D3) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 442.00 Td +(D3) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 441.000 m +590.000 441.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +574.36 448.00 Td +(D2) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 452.00 Td +(D2) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 451.000 m +590.000 451.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +574.36 458.00 Td +(D1) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 462.00 Td +(D1) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 461.000 m +590.000 461.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +574.58 468.00 Td +(RX) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 472.00 Td +(RX) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 471.000 m +590.000 471.000 l +S +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +575.29 478.00 Td +(TX) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.553 0.137 0.137 rg +596.00 482.00 Td +(TX) Tj +ET +1 J +1 j +1.00 w +0.55 0.14 0.14 RG +[] 0 d +610.000 481.000 m +590.000 481.000 l +S +BT +/F3 12 Tf +12.00 TL +0.000 g +1.00 -0.00 0.00 1.00 742.00 275.00 Tm +(GND) Tj +ET +2 J +0 j +100 M +1.00 w +0.00 G +0.00 g +[] 0 d +745.00 287.00 20.00 -1.00 re +B +1 J +1 j +1.00 w +0.00 G +0.00 g +[] 0 d +755.000 297.000 m +755.000 287.000 l +S +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +464.03 479.00 Td +(200k) Tj +ET +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +464.03 488.00 Td +(R9) Tj +ET +2 J +0 j +100 M +1.00 w +0.63 0.00 0.00 RG +[] 0 d +460.00 476.00 20.00 -10.00 re +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +480.000 471.000 m +490.000 471.000 l +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +460.000 471.000 m +450.000 471.000 l +S +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +684.62 484.75 Td +(4 channel logic level shifter bss138) Tj +ET +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +739.03 493.00 Td +(U2) Tj +ET +2 J +0 j +100 M +1.00 w +0.00 G +[] 0 d +705.000 481.000 m +785.000 481.000 l +787.761 481.000 790.000 478.761 790.000 476.000 c +790.000 416.000 l +790.000 413.239 787.239 411.000 785.000 411.000 c +705.000 411.000 l +702.239 411.000 700.000 413.761 700.000 416.000 c +700.000 476.000 l +700.000 478.761 702.761 481.000 705.000 481.000 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +712.00 468.00 Td +(LV1) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +699.28 472.00 Td +(0) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +690.000 471.000 m +710.000 471.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +712.00 458.00 Td +(LV2) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +699.28 462.00 Td +(1) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +690.000 461.000 m +710.000 461.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +712.00 448.00 Td +(LV) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +699.28 452.00 Td +(2) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +690.000 451.000 m +710.000 451.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +712.00 428.00 Td +(LV3) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +699.28 432.00 Td +(4) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +690.000 431.000 m +710.000 431.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +712.00 418.00 Td +(LV4) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +699.28 422.00 Td +(5) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +690.000 421.000 m +710.000 421.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +759.38 468.00 Td +(HV1) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +785.00 472.00 Td +(6) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +800.000 471.000 m +780.000 471.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +759.38 458.00 Td +(HV2) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +785.00 462.00 Td +(7) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +800.000 461.000 m +780.000 461.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +765.09 448.00 Td +(HV) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +785.00 452.00 Td +(8) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +800.000 451.000 m +780.000 451.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +759.38 428.00 Td +(HV3) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +785.00 432.00 Td +(10) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +800.000 431.000 m +780.000 431.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +759.38 418.00 Td +(HV4) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +785.00 422.00 Td +(11) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +800.000 421.000 m +780.000 421.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +712.00 438.00 Td +(GND) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +699.28 442.00 Td +(3) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +690.000 441.000 m +710.000 441.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +757.36 438.00 Td +(GND) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +785.00 442.00 Td +(9) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +800.000 441.000 m +780.000 441.000 l +S +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +967.24 364.71 Td +(1N4007W) Tj +ET +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +980.03 354.71 Td +(D1) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +980.000 375.000 m +990.000 381.000 l +980.000 387.000 l +h +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1005.000 381.000 m +990.000 381.000 l +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +965.000 381.000 m +980.000 381.000 l +S +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +0.00 g +[] 0 d +990.000 387.000 m +990.000 375.000 l +S +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +351.33 394.00 Td +(micro USBFemale) Tj +ET +10.00 w +BT +/F2 9 Tf +9.00 TL +0.000 0.000 0.502 rg +351.32 403.00 Td +(USB1) Tj +ET +2 J +0 j +100 M +1.00 w +0.53 0.00 0.00 RG +0.94 g +[] 0 d +340.00 386.00 25.00 -50.00 re +B +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +350.000 326.000 m +350.000 336.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +349.49 378.00 Td +(V+) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +370.00 382.00 Td +(1) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +385.000 381.000 m +365.000 381.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +351.98 368.00 Td +(D-) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +370.00 372.00 Td +(2) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +385.000 371.000 m +365.000 371.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +348.71 358.00 Td +(D+) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +370.00 362.00 Td +(3) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +385.000 361.000 m +365.000 361.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +352.29 348.00 Td +(ID) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +370.00 352.00 Td +(4) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +385.000 351.000 m +365.000 351.000 l +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +352.77 338.00 Td +(V-) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +370.00 342.00 Td +(5) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +385.000 341.000 m +365.000 341.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +1034.000 381.000 m +1005.000 381.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +1034.000 401.000 m +450.000 401.000 l +450.000 471.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +490.000 471.000 m +510.000 471.000 l +S +10.00 w +BT +/F3 9 Tf +9.00 TL +0.000 0.000 0.502 rg +1083.00 365.00 Td +(RM 370 pcb) Tj +ET +10.00 w +BT +/F3 9 Tf +9.00 TL +0.000 0.000 0.502 rg +1083.00 516.00 Td +(RM370) Tj +ET +1.00 w +0.53 0.00 0.00 RG +1054.00 481.00 m 1054.00 482.66 1052.66 484.00 1051.00 484.00 c +1049.34 484.00 1048.00 482.66 1048.00 481.00 c +1048.00 479.34 1049.34 478.00 1051.00 478.00 c +1052.66 478.00 1054.00 479.34 1054.00 481.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 478.00 Td +(R8 Testpin RED) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 482.00 Td +(2) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 481.000 m +1048.000 481.000 l +S +1.00 w +0.53 0.00 0.00 RG +1054.00 461.00 m 1054.00 462.66 1052.66 464.00 1051.00 464.00 c +1049.34 464.00 1048.00 462.66 1048.00 461.00 c +1048.00 459.34 1049.34 458.00 1051.00 458.00 c +1052.66 458.00 1054.00 459.34 1054.00 461.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 458.00 Td +(R13 Testpin YELLOW) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 462.00 Td +(3) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 461.000 m +1048.000 461.000 l +S +1.00 w +0.53 0.00 0.00 RG +1054.00 441.00 m 1054.00 442.66 1052.66 444.00 1051.00 444.00 c +1049.34 444.00 1048.00 442.66 1048.00 441.00 c +1048.00 439.34 1049.34 438.00 1051.00 438.00 c +1052.66 438.00 1054.00 439.34 1054.00 441.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 438.00 Td +(R12 Testpin GREEN) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 442.00 Td +(4) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 441.000 m +1048.000 441.000 l +S +1.00 w +0.53 0.00 0.00 RG +1054.00 421.00 m 1054.00 422.66 1052.66 424.00 1051.00 424.00 c +1049.34 424.00 1048.00 422.66 1048.00 421.00 c +1048.00 419.34 1049.34 418.00 1051.00 418.00 c +1052.66 418.00 1054.00 419.34 1054.00 421.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 418.00 Td +(R35 Testpin 3V3) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 422.00 Td +(5) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 421.000 m +1048.000 421.000 l +S +1.00 w +0.53 0.00 0.00 RG +1054.00 401.00 m 1054.00 402.66 1052.66 404.00 1051.00 404.00 c +1049.34 404.00 1048.00 402.66 1048.00 401.00 c +1048.00 399.34 1049.34 398.00 1051.00 398.00 c +1052.66 398.00 1054.00 399.34 1054.00 401.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 398.00 Td +(VBAT) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 402.00 Td +(6) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 401.000 m +1048.000 401.000 l +S +1.00 w +0.53 0.00 0.00 RG +1054.00 381.00 m 1054.00 382.66 1052.66 384.00 1051.00 384.00 c +1049.34 384.00 1048.00 382.66 1048.00 381.00 c +1048.00 379.34 1049.34 378.00 1051.00 378.00 c +1052.66 378.00 1054.00 379.34 1054.00 381.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 378.00 Td +(VCC) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 382.00 Td +(7) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 381.000 m +1048.000 381.000 l +S +1.00 w +0.53 0.00 0.00 RG +1054.00 501.00 m 1054.00 502.66 1052.66 504.00 1051.00 504.00 c +1049.34 504.00 1048.00 502.66 1048.00 501.00 c +1048.00 499.34 1049.34 498.00 1051.00 498.00 c +1052.66 498.00 1054.00 499.34 1054.00 501.00 c +S +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1056.00 498.00 Td +(Q1 Testpin Buzzer) Tj +ET +BT +/F1 9 Tf +9.00 TL +0.000 0.000 1.000 rg +1043.29 502.00 Td +(1) Tj +ET +1 J +1 j +1.00 w +0.53 0.00 0.00 RG +[] 0 d +1034.000 501.000 m +1048.000 501.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +1034.000 421.000 m +1034.000 407.000 l +666.000 405.000 l +666.000 451.000 l +690.000 451.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +1034.000 441.000 m +1012.000 441.000 l +1012.000 421.000 l +800.000 421.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +1034.000 461.000 m +995.000 461.000 l +995.000 431.000 l +800.000 431.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +1034.000 481.000 m +950.000 481.000 l +950.000 461.000 l +800.000 461.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +800.000 471.000 m +934.000 471.000 l +934.000 501.000 l +1034.000 501.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +690.000 441.000 m +675.000 441.000 l +675.000 371.000 l +755.000 371.000 l +755.000 297.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +610.000 421.000 m +651.000 421.000 l +651.000 371.000 l +675.000 371.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +800.000 441.000 m +815.000 441.000 l +815.000 371.000 l +755.000 371.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +965.000 381.000 m +620.000 381.000 l +620.000 411.000 l +610.000 411.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +385.000 381.000 m +620.000 381.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +385.000 341.000 m +675.000 341.000 l +675.000 371.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +800.000 451.000 m +825.000 451.000 l +825.000 381.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +610.000 451.000 m +649.000 451.000 l +649.000 471.000 l +690.000 471.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +690.000 461.000 m +679.000 461.000 l +679.000 578.000 l +351.000 578.000 l +351.000 431.000 l +510.000 431.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +510.000 441.000 m +360.000 441.000 l +360.000 567.000 l +662.000 567.000 l +662.000 431.000 l +690.000 431.000 l +S +1 J +1 j +1.00 w +0.00 0.53 0.00 RG +0.00 g +[] 0 d +690.000 421.000 m +655.000 421.000 l +655.000 556.000 l +370.000 556.000 l +370.000 451.000 l +510.000 451.000 l +S +0.80 0.00 0.00 rg +622.50 381.00 m 622.50 382.38 621.38 383.50 620.00 383.50 c +618.62 383.50 617.50 382.38 617.50 381.00 c +617.50 379.62 618.62 378.50 620.00 378.50 c +621.38 378.50 622.50 379.62 622.50 381.00 c +f +0.80 0.00 0.00 rg +677.50 371.00 m 677.50 372.38 676.38 373.50 675.00 373.50 c +673.62 373.50 672.50 372.38 672.50 371.00 c +672.50 369.62 673.62 368.50 675.00 368.50 c +676.38 368.50 677.50 369.62 677.50 371.00 c +f +0.80 0.00 0.00 rg +757.50 371.00 m 757.50 372.38 756.38 373.50 755.00 373.50 c +753.62 373.50 752.50 372.38 752.50 371.00 c +752.50 369.62 753.62 368.50 755.00 368.50 c +756.38 368.50 757.50 369.62 757.50 371.00 c +f +0.80 0.00 0.00 rg +827.50 381.00 m 827.50 382.38 826.38 383.50 825.00 383.50 c +823.62 383.50 822.50 382.38 822.50 381.00 c +822.50 379.62 823.62 378.50 825.00 378.50 c +826.38 378.50 827.50 379.62 827.50 381.00 c +f +endstream +endobj +1 0 obj +<> +endobj +5 0 obj +<< +/Descent -209 +/CapHeight 727 +/StemV 0 +/Type /FontDescriptor +/Flags 32 +/FontBBox [-559 -303 1446 1050] +/FontName /Verdana +/ItalicAngle 0 +/Ascent 1005 +>> +endobj +6 0 obj +<> +endobj +7 0 obj +<< +/Descent -325 +/CapHeight 500 +/StemV 80 +/Type /FontDescriptor +/Flags 32 +/FontBBox [-665 -325 2000 1006] +/FontName /Arial +/ItalicAngle 0 +/Ascent 1006 +>> +endobj +8 0 obj +<> +endobj +9 0 obj +<< +/Type /Font +/BaseFont /Times-Roman +/Subtype /Type1 +/Encoding /WinAnsiEncoding +/FirstChar 32 +/LastChar 255 +>> +endobj +2 0 obj +<< +/ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +/Font << +/F1 6 0 R +/F2 8 0 R +/F3 9 0 R +>> +/XObject << +>> +>> +endobj +10 0 obj +<< +/Producer (jsPDF 0.0.0) +/CreationDate (D:20210124085053+01'00') +>> +endobj +11 0 obj +<< +/Type /Catalog +/Pages 1 0 R +/OpenAction [3 0 R /FitH null] +/PageLayout /OneColumn +>> +endobj +xref +0 12 +0000000000 65535 f +0000027066 00000 n +0000029687 00000 n +0000000015 00000 n +0000000125 00000 n +0000027123 00000 n +0000027293 00000 n +0000028347 00000 n +0000028516 00000 n +0000029560 00000 n +0000029811 00000 n +0000029897 00000 n +trailer +<< +/Size 12 +/Root 11 0 R +/Info 10 0 R +/ID [ <56B60A3C011893A120ACBA85C00B04A5> <56B60A3C011893A120ACBA85C00B04A5> ] +>> +startxref +30001 +%%EOF \ No newline at end of file diff --git a/esp8266-RM370-interrupt/communication.ino b/esp8266-RM370-interrupt/communication.ino index abf4399..3538732 100644 --- a/esp8266-RM370-interrupt/communication.ino +++ b/esp8266-RM370-interrupt/communication.ino @@ -7,6 +7,7 @@ bool initCommunication() { } WifiEspNowBroadcast.onReceive(processRx, nullptr); LOG("MAC address of this node is %s", WiFi.softAPmacAddress().c_str()); + WiFi.softAPmacAddress(ownState.originMAC); return true; } @@ -16,7 +17,7 @@ ICACHE_RAM_ATTR void processRx(const uint8_t mac[6], const uint8_t* buf, size_t } else { - receiveBuffer[rxCounter] = *(rm370*)buf; + receiveBuffer[rxCounter] = *(rm370*)buf; //ToDo check if it breaks anything //shift ring buffer input pointer if (rxCounter + 1 < MAX_PEERS) { rxCounter++; @@ -25,7 +26,7 @@ ICACHE_RAM_ATTR void processRx(const uint8_t mac[6], const uint8_t* buf, size_t rxCounter = 0; } } - LOG("Message from %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); + LOG("[%02d] Message from %02X:%02X:%02X:%02X:%02X:%02X", rxCounter, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); } void checkMessage() { @@ -34,11 +35,6 @@ void checkMessage() { byte loopPointer = (rxCounter + 1 < MAX_PEERS) ? (rxCounter + 1) : 0; while (loopPointer != rxHandlePointer) { - int ret = memcmp(receiveBuffer[loopPointer].messageID, receiveBuffer[rxHandlePointer].messageID, sizeof(receiveBuffer[rxHandlePointer].messageID)); - if (ret == 0) { - DEBUGLOG("already processed message"); - return; - } //shift ring buffer working pointer if (loopPointer + 1 < MAX_PEERS) { loopPointer++; @@ -46,36 +42,55 @@ void checkMessage() { else { loopPointer = 0; } - } - //check against our own state - int ret = memcmp(ownState.messageID, receiveBuffer[rxHandlePointer].messageID, sizeof(ownState.messageID)); + }//Todo wrong bracket placement? + //check against our own state - could or should also be done by MAC + int ret = memcmp(&ownState.originMAC[0], &receiveBuffer[rxHandlePointer].originMAC[0], sizeof(receiveBuffer[rxHandlePointer].originMAC)); + //int ret = memcmp(ownState.messageID, receiveBuffer[rxHandlePointer].messageID, sizeof(ownState.messageID)); if (ret == 0) { DEBUGLOG("backloop message"); return; } else { - //copy latest messageID - memcpy(transmitBuffer.messageID, &receiveBuffer[rxHandlePointer].messageID, sizeof(transmitBuffer.messageID)); - } - switch (receiveBuffer[rxHandlePointer].code) { - case 'r': - alarmTrigger = true; - warningTrigger = false; - transmitBuffer.code = 'r'; - LOG("ALARM received"); - break; - case 'y': - if (!alarmTrigger) { - warningTrigger = true; - LOG("WARNING received"); - } - transmitBuffer.code = 'y'; - break; - case 'g': - transmitBuffer.code = 'g'; - break; - default: - break; + transmitBuffer = receiveBuffer[rxHandlePointer]; + //copy latest messageID and origins MAC + //memcpy(transmitBuffer.messageID, &receiveBuffer[rxHandlePointer].messageID, sizeof(transmitBuffer.messageID)); + //memcpy(transmitBuffer.batteryWarning, &receiveBuffer[rxHandlePointer].batteryWarning, sizeof(transmitBuffer.batteryWarning)); + //memcpy(&transmitBuffer.originMAC[0], &receiveBuffer[rxHandlePointer].originMAC[0], sizeof(transmitBuffer.originMAC)); + + LOG("Origin MAC %02X:%02X:%02X:%02X:%02X:%02X", + transmitBuffer.originMAC[0], + transmitBuffer.originMAC[1], + transmitBuffer.originMAC[2], + transmitBuffer.originMAC[3], + transmitBuffer.originMAC[4], + transmitBuffer.originMAC[5]); + + switch (receiveBuffer[rxHandlePointer].code) { + case 'r': + alarmTrigger = true; + warningTrigger = false; + transmitBuffer.code = 'r'; + LOG("\tALARM received"); + break; + case 'y': + if (!alarmTrigger) { + warningTrigger = true; + LOG("\tWARNING received"); + } + else { + LOG("\tWARNING received - NOP"); + } + transmitBuffer.code = 'y'; + break; + case 'g': + transmitBuffer.code = 'g'; +#if defined(GLOBAL_VERBOSE) + LOG("\tGREEN received - relay"); +#endif + break; + default: + break; + } } } else { @@ -84,7 +99,7 @@ void checkMessage() { } void sendMessage() { - uint8_t transmitBuf[sizeof(transmitBuffer)/sizeof(uint8_t)]; //ToDo + uint8_t transmitBuf[sizeof(transmitBuffer) / sizeof(uint8_t)]; //ToDo //copy buffer memcpy(transmitBuf, &transmitBuffer, sizeof(transmitBuffer)); WifiEspNowBroadcast.send(transmitBuf, sizeof(transmitBuf)); @@ -97,7 +112,9 @@ void sendMessage() { for (int i = 0; i < nPeers; ++i) { DEBUGLOG(" %02X:%02X:%02X:%02X:%02X:%02X", peers[i].mac[0], peers[i].mac[1], peers[i].mac[2], peers[i].mac[3], peers[i].mac[4], peers[i].mac[5]); } - globalStart = millis(); + if (transmitBuffer.code == 'r' || transmitBuffer.code == 'y') { + globalStart = millis(); + } //clean state - transmitBuffer.code = 'g'; + transmitBuffer.code = 'X'; } diff --git a/esp8266-RM370-interrupt/esp8266-RM370-interrupt.ino b/esp8266-RM370-interrupt/esp8266-RM370-interrupt.ino index 1f0af0b..98dc20d 100644 --- a/esp8266-RM370-interrupt/esp8266-RM370-interrupt.ino +++ b/esp8266-RM370-interrupt/esp8266-RM370-interrupt.ino @@ -3,6 +3,8 @@ //#define DEBUGLOG(fmt, ...) #define DEBUGLOG(fmt, ...) (Serial.printf("%09llu: [DEBUG] " fmt "\n", GetTimestamp(), ##__VA_ARGS__)); +#define GLOBAL_VERBOSE 1//activate if the 'GREEN' status should be globally available + #define debounceDelay 1000 //LED shining duration #define globalDelay 20000 #define alarmDelay 50 @@ -21,12 +23,14 @@ const uint8_t key[16] = { 0 }; #include //https://github.com/yoursunny/WifiEspNow #include //Ticker Library +//version 1.1 - added originMAC typedef struct { char PREAMBLE1 = 'R'; char PREAMBLE2 = 'M'; uint8_t messageID[20]; - char code = 'g'; // [g, y, r] + char code = 'g'; // [g, y, r, X] bool batteryWarning = false; //ToDo not implemented yet + uint8_t originMAC[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; } rm370; @@ -46,16 +50,15 @@ Ticker alarmGenerator; Ticker warningGenerator; volatile bool alarmTrigger = false; //global volatile bool warningTrigger = false; //global -volatile bool debounceTrigger = false; +volatile bool debounceTrigger = false; //real physics workaround volatile unsigned long globalStart = 0; //real physics workaround volatile unsigned long debounceStart = 0; //real physics workaround volatile unsigned long nowMillis = millis(); //real physics workaround volatile unsigned long lastADCRead = 0; -volatile byte rxCounter = 0; -volatile byte rxHandlePointer = 0; +volatile byte rxCounter = 0; //marker for the receive interrupt callback +volatile byte rxHandlePointer = 0; //marker for internal processing -//uint8_t broadcastMac[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; int64_t GetTimestamp() { struct timeval tv; @@ -73,16 +76,16 @@ void buzzerTone() { void batteryCheck() { int sensorValue = analogRead(BAT_Pin); - DEBUGLOG("[DEBUG] AnalogRead: %i",sensorValue); - lastADCRead = millis(); - int voltage = map(sensorValue, 0, 1023, 0, 5000); - DEBUGLOG("[DEBUG] VoltageMap: %i mV",voltage); - if (voltage < 3000) { - ownState.batteryWarning = true; - } - else { - ownState.batteryWarning = false; - } + DEBUGLOG("AnalogRead: %i", sensorValue); + lastADCRead = millis(); + int voltage = map(sensorValue, 0, 1023, 0, 5000); + DEBUGLOG("VoltageMap: %i mV", voltage); + if (voltage < 3000) { + ownState.batteryWarning = true; + } + else { + ownState.batteryWarning = false; + } } void buzzerTest() { LOG("Test alarm buzzer"); @@ -136,7 +139,7 @@ void globalStatus() { } void setup() { - pinMode(RED_Pin, INPUT_PULLUP); + pinMode(RED_Pin, INPUT_PULLUP); pinMode(YELLOW_Pin, INPUT_PULLUP); pinMode(GREEN_Pin, INPUT_PULLUP); pinMode(BUZZER_Pin, OUTPUT); @@ -149,7 +152,9 @@ void setup() { Serial.flush(); delay(1000); LOG("\n\nInterrupt D7,D6,D5 with Serial.print"); - +#if defined(GLOBAL_VERBOSE) + LOG("\nGlobal verbose ACTIVE"); +#endif if (!initCommunication()) { ESP.restart(); } @@ -176,11 +181,16 @@ void loop() { if (ownState.code == 'y') { DEBUGLOG("YELLOW LED"); } + //Todo check for code 'g' if (!(ownState.code == 'r' || ownState.code == 'y')) { DEBUGLOG("GREEN LED"); } //send own status +#if defined(GLOBAL_VERBOSE) + if (ownState.code == 'r' || ownState.code == 'y' || ownState.code == 'g') { +#else if (ownState.code == 'r' || ownState.code == 'y') { +#endif //generate unique identifier char messageIDString[65]; itoa(millis(), messageIDString, 10); @@ -202,13 +212,17 @@ void loop() { rxHandlePointer = 0; } //forward received messages + +#if defined(GLOBAL_VERBOSE) + if (transmitBuffer.code == 'r' || transmitBuffer.code == 'y' || transmitBuffer.code == 'g') { +#else if (transmitBuffer.code == 'r' || transmitBuffer.code == 'y') { +#endif sendMessage(); } } } - ICACHE_RAM_ATTR void IntREDCallback() { if (!debounceTrigger) { alarmTrigger = true; diff --git a/esp8266-dashboard/communication.ino b/esp8266-dashboard/communication.ino index b28cf02..3ba2b31 100644 --- a/esp8266-dashboard/communication.ino +++ b/esp8266-dashboard/communication.ino @@ -10,16 +10,20 @@ bool initCommunication() { return true; } +/* + process wifi stack Rx interrupt +*/ ICACHE_RAM_ATTR void processRx(const uint8_t mac[6], const uint8_t* buf, size_t count, void* cbarg) { - if (count != sizeof(receiveBuffer[rxCounter].payload)) { + //simple frame size check + if (count != sizeof(receiveBuffer[rxCounter])) { return; } else { - memcpy(receiveBuffer[rxCounter].mac, &mac, sizeof(mac)); - receiveBuffer[rxCounter].payload = *(rm370*)buf; + receiveBuffer[rxCounter] = *(rm370*)buf; + //memcpy(&receiveBuffer[rxCounter].originMAC[0], &mac, sizeof(receiveBuffer[rxCounter].originMAC)); //dont overwrite original package //shift ring buffer input pointer - if (rxCounter < MAX_PEERS) { + if (rxCounter + 1 < MAX_PEERS) { rxCounter++; } else { @@ -29,40 +33,43 @@ ICACHE_RAM_ATTR void processRx(const uint8_t mac[6], const uint8_t* buf, size_t LOG("Message from %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); } +/* + +*/ void checkMessage() { - if (receiveBuffer[rxHandlePointer].payload.PREAMBLE1 == 'R' && receiveBuffer[rxHandlePointer].payload.PREAMBLE2 == 'M') { - switch (receiveBuffer[rxHandlePointer].payload.code) { + if (receiveBuffer[rxHandlePointer].PREAMBLE1 == 'R' && receiveBuffer[rxHandlePointer].PREAMBLE2 == 'M') { + LOG("Origin MAC %02X:%02X:%02X:%02X:%02X:%02X || \tStatus: %c | BatWarn: %c", + receiveBuffer[rxHandlePointer].originMAC[0], + receiveBuffer[rxHandlePointer].originMAC[1], + receiveBuffer[rxHandlePointer].originMAC[2], + receiveBuffer[rxHandlePointer].originMAC[3], + receiveBuffer[rxHandlePointer].originMAC[4], + receiveBuffer[rxHandlePointer].originMAC[5], + receiveBuffer[rxHandlePointer].code, + (receiveBuffer[rxHandlePointer].batteryWarning) ? '!' : '.'); + switch (receiveBuffer[rxHandlePointer].code) { case 'r': + //LOG("\tALARM received"); break; case 'y': + //LOG("\tWARNING received"); break; case 'g': + //LOG("\tGREEN received"); break; default: break; } - if (receiveBuffer[rxHandlePointer].payload.batteryWarning == true) { - + if (receiveBuffer[rxHandlePointer].batteryWarning == true) { + //LOG("\tBAT Warning received"); } + refreshGlobalStatus = true; } else { DEBUGLOG("Payload does not contain known preamble."); } } + void sendMessage() { - /* - uint8_t transmitBuf[sizeof(transmitBuffer)]; - //copy buffer - memcpy(transmitBuf, &transmitBuffer, sizeof(transmitBuffer)); - WifiEspNowBroadcast.send(transmitBuf, sizeof(transmitBuf)); - DEBUGLOG("Sending message: %c", transmitBuffer.code); - //EXPLAINATION WifiEspNow Broadcast - DEBUGLOG("Recipients:"); - WifiEspNowPeerInfo peers[MAX_PEERS]; - int nPeers = std::min(WifiEspNow.listPeers(peers, MAX_PEERS), MAX_PEERS); - for (int i = 0; i < nPeers; ++i) { - DEBUGLOG(" %02X:%02X:%02X:%02X:%02X:%02X", peers[i].mac[0], peers[i].mac[1], peers[i].mac[2], peers[i].mac[3], peers[i].mac[4], peers[i].mac[5]); - } - */ } diff --git a/esp8266-dashboard/esp8266-dashboard.ino b/esp8266-dashboard/esp8266-dashboard.ino index f54c59f..bf1f319 100644 --- a/esp8266-dashboard/esp8266-dashboard.ino +++ b/esp8266-dashboard/esp8266-dashboard.ino @@ -13,36 +13,28 @@ const uint8_t key[16] = {0}; #elif defined(ESP32) #include #endif -#include //https://github.com/yoursunny/WifiEspNow +#include //https://github.com/yoursunny/WifiEspNow #include //Ticker Library +//the sended message over the ether typedef struct { char PREAMBLE1 = 'R'; char PREAMBLE2 = 'M'; uint8_t messageID[20]; char code = 'g'; // [g, y, r] bool batteryWarning = false; //ToDo not implemented yet + uint8_t originMAC[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; } rm370; -typedef struct { - uint8_t mac[6]; - rm370 payload; -} rm370_message; - -typedef struct { - rm370_message* lastMessage; - char identifier[20]; -} node; - -rm370_message receiveBuffer[MAX_PEERS]; +rm370 receiveBuffer[MAX_PEERS]; +Ticker globalStatusTicker; volatile unsigned long globalStart = 0; //real physics workaround volatile unsigned long now = millis(); //real physics workaround volatile byte rxCounter = 0; volatile byte rxHandlePointer = 0; - -//uint8_t broadcastMac[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +volatile bool refreshGlobalStatus = false; int64_t GetTimestamp() { struct timeval tv; @@ -51,17 +43,55 @@ int64_t GetTimestamp() { } void globalStatus() { + + /* + print global overview + battery warning + ToDo: + last message time stamp --> see following task + show missing stations --> new structure needed + */ + if (!refreshGlobalStatus) { + return; + } + DEBUGLOG("available Peers:"); + WifiEspNowPeerInfo peers[MAX_PEERS]; + int nPeers = std::min(WifiEspNow.listPeers(peers, MAX_PEERS), MAX_PEERS); + byte loopPointer = (rxCounter - 1 >= 0) ? (rxCounter - 1) : MAX_PEERS - 1; + byte lastLoopPointer = rxCounter; + for (int i = 0; i < nPeers; ++i) { + LOG(" %02X:%02X:%02X:%02X:%02X:%02X", peers[i].mac[0], peers[i].mac[1], peers[i].mac[2], peers[i].mac[3], peers[i].mac[4], peers[i].mac[5]); + //walk backwards through the buffer to get the latest message + while (loopPointer != lastLoopPointer) + { + //DEBUGLOG("lastLoopPointer | loopPointer: %d|%d", lastLoopCounter, loopPointer); + int ret = memcmp(&receiveBuffer[loopPointer].originMAC[0], &peers[i].mac, sizeof(receiveBuffer[loopPointer].originMAC)); + if (ret == 0) { + LOG("\tStatus: %c | BatWarn: %c", receiveBuffer[loopPointer].code, (receiveBuffer[loopPointer].batteryWarning) ? '!' : '.'); + lastLoopPointer = loopPointer; + break; + } + if (loopPointer - 1 >= 0) { + loopPointer--; + } + else { + loopPointer = MAX_PEERS - 1; + } + } + } + refreshGlobalStatus = false; } void setup() { Serial.begin(115200); Serial.flush(); delay(1000); - LOG("\n\nwith Serial.print"); + LOG("\n\nDashboard with Serial.print"); if (!initCommunication()) { ESP.restart(); } + globalStatusTicker.attach(1.0, globalStatus); LOG("Setup completed.\n"); } @@ -69,14 +99,14 @@ void loop() { //loop things now = millis(); WifiEspNowBroadcast.loop(); - globalStatus(); + //process remaining rxBuffer while (rxHandlePointer != rxCounter) { checkMessage(); //shift ring buffer working pointer - if (rxHandlePointer < MAX_PEERS) { + if (rxHandlePointer + 1 < MAX_PEERS) { rxHandlePointer++; } else {