{"id":18759006,"url":"https://github.com/tattdcodemonkey/hmc5883l","last_synced_at":"2025-07-26T00:33:39.172Z","repository":{"id":22968295,"uuid":"26318217","full_name":"TattdCodeMonkey/hmc5883l","owner":"TattdCodeMonkey","description":"elixir module for interfacing with HMC5883L using elixir_ale","archived":false,"fork":false,"pushed_at":"2021-09-25T02:46:33.000Z","size":1471,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-23T18:50:30.111Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TattdCodeMonkey.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":"2014-11-07T12:09:35.000Z","updated_at":"2021-09-25T02:46:35.000Z","dependencies_parsed_at":"2022-08-21T07:40:42.994Z","dependency_job_id":null,"html_url":"https://github.com/TattdCodeMonkey/hmc5883l","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/TattdCodeMonkey/hmc5883l","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TattdCodeMonkey%2Fhmc5883l","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TattdCodeMonkey%2Fhmc5883l/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TattdCodeMonkey%2Fhmc5883l/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TattdCodeMonkey%2Fhmc5883l/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TattdCodeMonkey","download_url":"https://codeload.github.com/TattdCodeMonkey/hmc5883l/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TattdCodeMonkey%2Fhmc5883l/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266966661,"owners_count":24013749,"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-07-25T02:00:09.625Z","response_time":70,"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":[],"created_at":"2024-11-07T17:48:46.352Z","updated_at":"2025-07-26T00:33:39.143Z","avatar_url":"https://github.com/TattdCodeMonkey.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"HMC5883L\n========\n[![Hex version](https://img.shields.io/hexpm/v/hmc5883l.svg \"Hex\nversion\")](https://hex.pm/packages/hmc5883l)\n\nThis is an OTP application for reading the HMC5883L magnetic compass. It utilizes elixir_ale for configuring and reading the compass over i2c bus.\n\n- **HMC5883L:** OTP Application, supervises HMC5883L.State \u0026 HMC5883L.Supervisor. Also exposes public API\n\t- start/2: starts application\n\n- **Event Manager:**\n\t- {:raw_reading, {x,y,z}} - raised with raw x, y, z axis reading from i2c bus\n\t- {:scaled_reading, {x,y,z}} - raised with scaled x, y, z axis reading from i2c bus. scale is based on current gain setting\n\t- {:heading, decoded_heading} - raised when heading is decoded from a scaled reading\n\t- {:available, boolean_availibity} - raised with true when HMC5883L.Driver is successfully initialized, raised with false when HMC5883L.Driver terminates\n\n  Event manager is registered with a named based on the configured sensor name, following the template `:hmc5883l_[name]_evtmgr`.\n\n## Configuration\n\n```elixir\nconfig :hmc5883l, sensors: [\n\t%{\n\t\tname: \"ch1\",\n\t\ti2c: \"i2c-1\",\n\t\tconfig: %{\n\t\t\tgain: 1.3,\n  \t\tmode: :continuous,\n  \t\tbias: :normal,\n  \t\tdata_rate: 15,\n  \t\taveraging: 8\n\t\t}\n\t}\n]\n```\n\n`name`   : used to identify the sensor and name processes\n`i2c`    : name of the i2c bus to connect to the sensor on\n`config` : compass configuration values. See HMC5883L.CompassConfiguration for more information\n\n## Installation\nAvailable in Hex, the package can be installed as:\n\n  1. Add hmc5883l to your list of dependencies in `mix.exs`:\n    ```elixir\n        def deps do\n          [{:hmc5883l, \"~\u003e 0.5.0\"}]\n        end\n    ```\n\n  2. Ensure hmc5883l is started before your application:\n\n    ```elixir  \n        def application do\n          [applications: [:hmc5883l]]\n        end\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftattdcodemonkey%2Fhmc5883l","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftattdcodemonkey%2Fhmc5883l","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftattdcodemonkey%2Fhmc5883l/lists"}