int main() { UDPReceiver receiver(PORT_RELAY_CONTROL); receiver.init_connection(); DiamondPMM relayBoard; DiamondPMMStateRelay relays(relayBoard); uint16_t packet_length; uint8_t *array; //Energizing the camera-power relays by default relays.setRelay(0, true); relays.setRelay(1, true); while(1) { packet_length = receiver.listen(); array = new uint8_t[packet_length]; receiver.get_packet(array); if((packet_length == strlen(PASSPHRASE))+2 && (strncmp((char *)array, PASSPHRASE, strlen(PASSPHRASE)) == 0)) { uint8_t relay_number = array[packet_length-2]; bool on_if_true = array[packet_length-1]; printf("Valid relay-control passphrase received: %d %s\n", relay_number, (on_if_true ? "ON" : "OFF")); relays.setRelay(relay_number, on_if_true); } else { printf("Invalid relay-control passphrase received: %s\n", array); } delete array; } return 0; }
void tcp_relay2(int timeout,int s1,int d1,int s2,int d2) { int sdv[2][2]; int rccs[2]; sdv[0][0] = s1; sdv[0][1] = d1; sdv[1][0] = s2; sdv[1][1] = d2; relays(timeout,2,sdv,rccs); }
int main(int argc, char* argv[]) { DiamondPMM relayBoard; DiamondPMMStateRelay relays(relayBoard); int value; bool set; relays.setRelay(atoi(argv[1]), 1); sleep(10); relays.setRelay(atoi(argv[1]), 0); //sleep(10); //relays.setRelay(3, 0); //sleep(10); return 0; }