{"id":15481738,"url":"https://github.com/arlk/crazyflie.jl","last_synced_at":"2025-08-07T02:14:27.247Z","repository":{"id":61797597,"uuid":"195477201","full_name":"arlk/Crazyflie.jl","owner":"arlk","description":"A julia package that can fly","archived":false,"fork":false,"pushed_at":"2020-02-08T14:51:19.000Z","size":18,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-22T15:49:07.985Z","etag":null,"topics":["crazyflie","drone","julia"],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arlk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-05T23:28:07.000Z","updated_at":"2024-01-08T15:35:42.000Z","dependencies_parsed_at":"2022-10-21T11:15:20.230Z","dependency_job_id":null,"html_url":"https://github.com/arlk/Crazyflie.jl","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/arlk/Crazyflie.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arlk%2FCrazyflie.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arlk%2FCrazyflie.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arlk%2FCrazyflie.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arlk%2FCrazyflie.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arlk","download_url":"https://codeload.github.com/arlk/Crazyflie.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arlk%2FCrazyflie.jl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269185726,"owners_count":24374634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-07T02:00:09.698Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crazyflie","drone","julia"],"created_at":"2024-10-02T05:05:53.940Z","updated_at":"2025-08-07T02:14:27.223Z","avatar_url":"https://github.com/arlk.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crazyflie.jl\n\n[![Build Status](https://travis-ci.org/arlk/Crazyflie.jl.svg?branch=master)](https://travis-ci.org/arlk/Crazyflie.jl) [![codecov](https://codecov.io/gh/arlk/Crazyflie.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/arlk/Crazyflie.jl)\n\nThis package provides a Julia interface for [crazyflie-lib-python](https://github.com/bitcraze/crazyflie-lib-python) to communicate with a [crazyflie](https://bitcraze.io).\n\n## Installation\n\nFollow directions from [crazyflie-lib-python](https://github.com/bitcraze/crazyflie-lib-python) to (system-wide) install the python library and any necessary dependencies. Then from the REPL\n\n```julia\njulia\u003e ] add Crazyflie\n```\n\n## Usage\n\n#### Scan for crazyflies\n\n```julia\njulia\u003e scan()\nFound 2 crazyflies:\n        radio://0/60/2M\n        radio://0/80/2M\n```\n\n#### Run an algorithm\n\nThe `play` function takes the crazyflie [uri](https://wiki.bitcraze.io/doc:crazyflie:api:python:index#uniform_resource_identifier_uri) and the anonymous function in the `do...end` block as inputs:\n\n```julia\nplay(uri) do cf\n  # send commands\nend\n```\n\nIt constructs the [SyncCrazyflie](https://github.com/bitcraze/crazyflie-lib-python/blob/master/cflib/crazyflie/syncCrazyflie.py) python object, connects to the crazyflie, runs the provided algorithm, and disconnects from the crazyflie.\n\nA motor ramp test example: This is already included in the [examples](https://github.com/arlk/Crazyflie.jl/blob/master/src/examples.jl) and can be invoked directly.\n\n```julia\nfunction motor_ramp_test(uri)\n    play(uri) do cf\n        cf.commander.send_setpoint(0, 0, 0, 0)\n        thrust = 20000\n        for i = 1:20\n            cf.commander.send_setpoint(0, 0, 0, thrust)\n            thrust += i \u003e 10 ? -500 : 500\n            sleep(0.1)\n        end\n        cf.commander.send_setpoint(0, 0, 0, 0)\n        sleep(0.1)\n    end\nend\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farlk%2Fcrazyflie.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farlk%2Fcrazyflie.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farlk%2Fcrazyflie.jl/lists"}