예제 #1
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;
}
예제 #2
0
파일: Transmitter.cpp 프로젝트: 4ib3r/PJON
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;
};