From 8b974057e4b529757966a8c3cdba3f14e242c6de Mon Sep 17 00:00:00 2001 From: adb Date: Thu, 19 Nov 2020 21:45:28 +0100 Subject: [PATCH] receive ATEM tallylights --- ATEMtoNRF/ATEMtoNRF.ino | 45 +++++++++++++++++++++++++++++++++++++++++ librarys/UIP_ATEM | 1 + 2 files changed, 46 insertions(+) create mode 100644 ATEMtoNRF/ATEMtoNRF.ino create mode 160000 librarys/UIP_ATEM diff --git a/ATEMtoNRF/ATEMtoNRF.ino b/ATEMtoNRF/ATEMtoNRF.ino new file mode 100644 index 0000000..d39a4fb --- /dev/null +++ b/ATEMtoNRF/ATEMtoNRF.ino @@ -0,0 +1,45 @@ +#include +#include +#include + +//Ethernet +byte mac[] = {0xAA, 0xDD, 0xBB, 0x10, 0x01, 0x01}; +IPAddress ip(192, 168, 0, 20); + +//IP of the ATEM switcher +ATEM AtemSwitcher(IPAddress(192, 168, 0, 50), 56417); + +//tally LEDs +const int tallyLED[] = {2,3}; +const int tallyLEDlength = 2; + +//define min interval to send data +unsigned long currentTime = millis(); +unsigned long previousTime = 0; +const long intervalTime = 1000; + +void setup(){ + for (int i=0; i < tallyLEDlength; i++){ + pinMode(tallyLED[i], OUTPUT); + digitalWrite(tallyLED[i], LOW); + } + + //start Ethernet + Ethernet.begin(mac,ip); + + Serial.begin(9600); + + //connect to the switcher + AtemSwitcher.serialOutput(true); + AtemSwitcher.connect(); +} + +void loop(){ + //check for new packets + AtemSwitcher.runLoop(); + + //write tally LEDs + for (int i=0; i < tallyLEDlength; i++){ + digitalWrite(tallyLED[i], !AtemSwitcher.getProgramTally(i+1)); + } +} diff --git a/librarys/UIP_ATEM b/librarys/UIP_ATEM new file mode 160000 index 0000000..d4cde78 --- /dev/null +++ b/librarys/UIP_ATEM @@ -0,0 +1 @@ +Subproject commit d4cde7879ad4b54ff08491950a2f7c96f61c363e