void loop() { static uint32_t last_run = 0; uint32_t current_time = millis(); if (current_time - last_run >= 5000) { Serial.println("==============="); for (uint8_t i = 0; i < CAM_COUNT; i++) { Serial.print("Camera["); Serial.print(i + 1); Serial.print("] = "); Serial.print(cam_status[i].status, BIN); Serial.print(" "); Serial.print((millis() - cam_status[i].ref_time) / 1000); Serial.println(" sec ago"); } Serial.println("==============="); Serial.println("request..."); network.send(14, "E", 1); network.send(13, "E", 1); last_run = millis(); } network.update(); network.receive(1000); read_buttons(); indication(current_time); };
int main() { printf("Receiver started.\n"); bus.set_receiver(receiver_function); bus.strategy.link.set_id(bus.device_id()); bus.strategy.link.add_node(45, remote_ip, 16000); bus.strategy.link.start_listening(16001); bus.begin(); while (true) loop(); return 0; }
void loop() { bus.update(); bus.receive(); // Show information every second static uint32_t last = PJON_MILLIS(); if ((uint32_t)(PJON_MILLIS() - last) >= 1000) { printf("PING/s: %f\n", 1000.0f * float(count) / float((uint32_t)(PJON_MILLIS() - last))); last = PJON_MILLIS(); count = 0; } }
void setup() { Serial.begin(38400); Serial.println("boot"); network.set_receiver(receive); pinMode(led_mode_1, OUTPUT); pinMode(led_mode_2, OUTPUT); pinMode(led_cam_1, OUTPUT); pinMode(led_cam_2, OUTPUT); pinMode(led_cam_3, OUTPUT); pinMode(led_cam_4, OUTPUT); pinMode(buzzer, OUTPUT); pinMode(psu_1, OUTPUT); pinMode(psu_2, OUTPUT); pinMode(button_power, INPUT); pinMode(button_mode, INPUT); digitalWrite(led_mode_1, LOW); digitalWrite(led_mode_2, LOW); digitalWrite(led_cam_1, LOW); digitalWrite(led_cam_2, LOW); digitalWrite(led_cam_3, LOW); digitalWrite(led_cam_4, LOW); digitalWrite(buzzer, LOW); digitalWrite(psu_1, LOW); digitalWrite(psu_2, LOW); digitalWrite(button_power, HIGH); digitalWrite(button_mode, HIGH); Timer1.initialize(INDICATION_TIMER * 1000); Timer1.attachInterrupt(indication); }
int main() { uint32_t baud_rate = 9600; printf("PJON ThroughSerial RS485-BlinkWithResponse Transmitter test \n"); printf("Opening serial port /dev/ttyAMA0 @ %d \n", baud_rate); int s = serialOpen("/dev/ttyAMA0", baud_rate); if(int(s) < 0) printf("ERROR - Serial open fail"); if(wiringPiSetup() == -1) printf("ERROR - WiringPi setup fail"); printf("Strategy Serial link configuration \n"); bus.strategy.set_serial(s); bus.strategy.set_baud_rate(baud_rate); bus.strategy.set_enable_RS485_pin(1); // GPIO pin 18 = WiringPi pin 1 printf("Bus initialization \n"); bus.set_synchronous_acknowledge(false); bus.set_receiver(receiver_function); bus.begin(); printf("Repeated sending dispatch \n"); bus.send_repeatedly(44, "B", 1, 1000000); printf("Packet transmission \n"); bus.update(); printf("Reception attempt \n"); bus.receive(); printf("No errors occurred \n"); printf("Press control + c to quit \n"); while(true) { bus.update(); bus.receive(); } return 0; };
static void receiver_function(uint8_t *payload, uint16_t length, const PJON_Packet_Info &packet_info) { bus.reply("P", 1); count++; };