Skip to content
/ Helix Public

Personal project to create a hardware-abstract high-level programming language for drones

Notifications You must be signed in to change notification settings

gonsp/Helix

Repository files navigation

Helix is a hardware-abstract programming language for drones.

If you want to write some code to be executed in an spefic drone, you will be very attached to its particular hardware, firmware and particularities.
However, every drone has the same basic instructions like to move to a position, to rotate, or to land, etc.

Helix aims to be an abstraction for all those constraints, so as a programmer, you can write software that will be executed in any drone without needing to adapt it to a particular case.

You will just need:
- To write your code in a .hx file, following the Helix's grammar, using the drones' basic instructions. (You can check code examples in this project)
- To have an implementation of Helix for your specific drone.

In order to write an implementation of Helix, so you can run Helix code in your specific drone, you just need to extend the DroneController class, implementing the required methods. You will also need to implement the comunication with the drone to send the basic instructions.
The Helix's interpreter shouldn't be changed.

By now, there are two implementations already writen. One of them is for the LibrePilot's firmware (www.librepilot.org). The other is just a simulation of a flight, showing the simulated plath in Google Earth.

To run the interpreter, you just need the following commands:

git clone https://github.com/GonMolon/Helix
cd Helix
make
./bin/helix_parser examples/vertical_spiral.hx -simulation

About

Personal project to create a hardware-abstract high-level programming language for drones

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published