{"id":16131995,"url":"https://github.com/jeija/librenard","last_synced_at":"2025-03-18T14:31:29.958Z","repository":{"id":145096726,"uuid":"150586017","full_name":"Jeija/librenard","owner":"Jeija","description":" Reverse Engineered Sigfox Stack - Library","archived":false,"fork":false,"pushed_at":"2021-05-03T19:26:18.000Z","size":94,"stargazers_count":23,"open_issues_count":0,"forks_count":10,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-02-28T10:18:08.372Z","etag":null,"topics":["microcontroller","reverse-engineering","sdr","sigfox"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jeija.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-27T12:49:30.000Z","updated_at":"2025-02-16T16:49:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1c11ec6-1faa-4c19-b54d-97c21ef2c1f2","html_url":"https://github.com/Jeija/librenard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeija%2Flibrenard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeija%2Flibrenard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeija%2Flibrenard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jeija%2Flibrenard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jeija","download_url":"https://codeload.github.com/Jeija/librenard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243933429,"owners_count":20370986,"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","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":["microcontroller","reverse-engineering","sdr","sigfox"],"created_at":"2024-10-09T22:28:43.035Z","updated_at":"2025-03-18T14:31:29.936Z","avatar_url":"https://github.com/Jeija.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `librenard` - Sigfox Protocol Library\n\n\u003cimg src=\"logo.svg\" align=\"right\" width=\"30%\"/\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://librenard.readthedocs.io\"\u003e\u003cimg src=\"https://readthedocs.org/projects/librenard/badge/?version=latest\" alt=\"ReadTheDocs\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://circleci.com/gh/Jeija/librenard\"\u003e\u003cimg src=\"https://circleci.com/gh/Jeija/librenard.svg?style=shield\u0026circle-token=812dca1abdf804f91805e8932f8eb0519aefd99e\" alt=\"CircleCI\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n`librenard` is a portable library written in the C programming language that implements [Sigfox](https://www.sigfox.com/) uplink and downlink frame encoding and decoding. It aims to be an open source replacement for [Sigfox's proprietary device library](https://build.sigfox.com/sigfox-library-for-devices). It can be used in conjuction with the CLI frontend [`renard`](https://github.com/Jeija/renard) and the SDR physical layer [`renard-phy`](https://github.com/Jeija/renard-phy) or be embedded in your custom IoT application on any microcontroller platform. For instance, [`renard-phy-s2lp`](https://github.com/Jeija/renard-phy-s2lp) can be used to build a completely open-source Sigfox device based on `librenard` and STMicroelectronics' S2-LP ultra-low power transceiver chip.\n\nIt has been tested on many platforms including Linux, macOS, Android (x86 and ARM), STM32L0 and ESP32 and should also be portable to other operating systems and various microcontroller platforms.\n\n## Installation and Compilation\n* Clone this repository:\n```\ngit clone https://github.com/Jeija/librenard\n```\n\n* `librenard` has no dependencies other than a working compiler and `make`. Compile using:\n```\ncd librenard\nmake\n```\n\n* This generates the static library file `librenard.a` which can be linked to your application or the `renard` CLI frontend.\n\n## Embedding\n`librenard` is designed to be statically linked with your own application, so that it can be embedded into microcontroller code or into other tools.\nFor using `librenard` you will have to tell your compiler about the path to the `librenard.a` static library file and about the path to the header includes.\n\nMost compilers (shown here: `gcc`) use the following options to specify library and header locations:\n```\ngcc -I librenard/src \u003cyour_C_sources\u003e librenard/librenard.a -o out\n```\n\nSee [`renard`](https://github.com/Jeija/renard) for an example of how to incorporate `librenard` into your application and build system.\nPlease refer to the [documentation](#documentation) for information on how to include the `librenard` headers in your source code and for information on how to use the `librenard` functions.\n\n## Documentation\nUp-to-date documentation is always available online at [Read the Docs](https://librenard.readthedocs.io).\n\nYou can build the documentation yourself by following these steps:\n* Clone the `librenard` if you have not already (see [Installation and Compilation](#installation-and-compilation))\n* `librenard` uses [sphinx](http://www.sphinx-doc.org), [doxygen](http://www.doxygen.org/) and [breathe](https://github.com/michaeljones/breathe) for documentation. You will need to install these dependencies.\n* Generate HTML documentation files:\n```\ncd librenard/doc\nmake html\n```\n* Open `doc/_build/html/index.html` in a web browser\n\n## TODOs\n* Implement empty Uplink frames (currently only supports 1-bit uplinks at minimum)\n* Implement [encrypted mode](https://www.disk91.com/2018/technology/sigfox/stop-telling-me-sigfox-is-clear-payload-for-real-youre-just-lazy/)\n* Implement support for OOB frames\n* Implement support for multiple RC Zones (...or only do that on PHY layer?)\n* Add Monarch support?\n* Implement support for repeater-like applications (evalute and expose repeater flag)\n* Once the satellite is up and running, implement Admiral LEO","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeija%2Flibrenard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeija%2Flibrenard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeija%2Flibrenard/lists"}