示例#1
0
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);
};
示例#2
0
文件: Receiver.cpp 项目: 4ib3r/PJON
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;
}
示例#3
0
文件: Receiver.cpp 项目: 4ib3r/PJON
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;
  }
}
示例#4
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);
}
示例#5
0
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;
};
示例#6
0
文件: Receiver.cpp 项目: 4ib3r/PJON
static void receiver_function(uint8_t *payload, uint16_t length, const PJON_Packet_Info &packet_info) {
	bus.reply("P", 1);
	count++;
 };