Frame Synchronization with external signal.
MTi 670/680 with GNSS ⇒ Send 1 PPS
ROScube X with mraa ⇒ GPIO ⇒ Trigger ISR + Camera
Download Neuron Library from the link: https://github.com/Adlink-ROS/mraa/releases
And then install Neuron Library from the deb file:
# Example for RQX-58G
sudo apt install neuron-library_1.3.13_arm64_ubuntu1804.deb
git clone https://github.com/Adlink-ROS/camera_trigger_daemon.git
cd camera_trigger_daemon/
RQX-58G supports Free Run Mode and Frame Sync Mode.
- 0 -> Free Run mode
- 1 -> Frame Sync mode
For more details, you can go to Frame Synchronization.
We provide a daemon to trigger cameras when GPIO interrupts by external signal.
sudo python3 adlink_camera_sync [mode] [-f freq] [-t gpio_num] [-h help]
- mode:
- sync:
- set frame sync mode
- enable isr if gpio_num != None
- enable trigger daemon
- free:
- disable trigger daemon
- set free run mode
- sync:
- While sync mode, supports two options
- freq: the trigger frequency (default 5 Hz) range from 1 to 20 Hz
- gpio_num: whether triggered by GPIO in
- help: more detail about argument
# Trigger camera directly by 5 Hz(default) without ISR.
sudo python3 adlink_camera_sync sync
# Oprional: trigger camera by 10 Hz with ISR (from GPIO_NUM 5).
sudo python3 adlink_camera_sync sync -f 10 -t 5
sudo python3 adlink_camera_sync free
When run Sync mode, show the message "pidfile /tmp/daemon-example.pid already exist. Daemon already running?".
That means pid
of daemon already exist, you need stop the daemon by running Free mode first.
If the daemon didn't work, please check the daemon.log
file.