Activity
Add a picture of the hardware in action and center all README images.
Add a picture of the hardware in action and center all README images.
Force push
Add a picture of the hardware in action and center all README images.
Add a picture of the hardware in action and center all README images.
Force push
Add a picture of the hardware in action and center all README images.
Add a picture of the hardware in action and center all README images.
Force push
Add a picture of the hardware in action and center all README images.
Add a picture of the hardware in action and center all README images.
Add an image of the real hardware synchronizing.
Add an image of the real hardware synchronizing.
Update gtimer and gsync drivers to use the updated Gpio utility.
Update gtimer and gsync drivers to use the updated Gpio utility.
Force push
Use libgpiod for GPIO control instead of the legacy sysfs API.
Use libgpiod for GPIO control instead of the legacy sysfs API.
Force push
Use libgpiod for GPIO control instead of the legacy sysfs API.
Use libgpiod for GPIO control instead of the legacy sysfs API.
Add libgpiod to the cross compilation image.
Add libgpiod to the cross compilation image.
Remove unecessary expected_wakeup variable.
Remove unecessary expected_wakeup variable.
Fix a signage bug in the computation of dt_i and dt_j.
Fix a signage bug in the computation of dt_i and dt_j.
Add a script that launches gtimer and gsync as real-time processes.
Add a script that launches gtimer and gsync as real-time processes.
Document application state machines and high level program flow.
Document application state machines and high level program flow.
Force push
Document application state machines and high level program flow.
Document application state machines and high level program flow.
Do not allow ToggleOutput() and WaitForEdge() to set the GPIO direction.
Do not allow ToggleOutput() and WaitForEdge() to set the GPIO direction.
Fix missing conversion of omega_i from nanosec to radians.
Fix missing conversion of omega_i from nanosec to radians.
Use GNU getopt_long() to parse program args from the command line.
Use GNU getopt_long() to parse program args from the command line.
Force push
Cross compile boost libraries so that they can be used by project tar…
Cross compile boost libraries so that they can be used by project tar…
First pass at implementing the synchronization loop.
First pass at implementing the synchronization loop.
Force push
First pass at implementing the synchronization loop.
First pass at implementing the synchronization loop.
Force push
First pass at implementing the synchronization loop.
First pass at implementing the synchronization loop.
Force push
Use the Kuramoto Model to compute wakeup times that bring the machine…
Use the Kuramoto Model to compute wakeup times that bring the machine…
Force push
Use the Kuramoto Model to compute wakeup times that bring the machine…
Use the Kuramoto Model to compute wakeup times that bring the machine…
Force push
Use the Kuramoto Model to compute wakeup times that bring the machine…
Use the Kuramoto Model to compute wakeup times that bring the machine…
Make it more clear why we assert that atomic_bool be lock free.
Make it more clear why we assert that atomic_bool be lock free.
Force push
Make it more clear why we assert that atomic_bool be lock free.
Make it more clear why we assert that atomic_bool be lock free.
Fix cppcoreguidelines-pro-type-member-init warnings.
Fix cppcoreguidelines-pro-type-member-init warnings.