https://github.com/majerle/lwow
Lightweight onewire protocol library for embedded systems. It uses UART peripheral or GPIO toggling
https://github.com/majerle/lwow
1-wire dma ds18b20 hardware ibutton lightweight onewire protocol sensors stm32 uart usart
Last synced: 3 months ago
JSON representation
Lightweight onewire protocol library for embedded systems. It uses UART peripheral or GPIO toggling
- Host: GitHub
- URL: https://github.com/majerle/lwow
- Owner: MaJerle
- License: mit
- Created: 2018-03-29T21:50:29.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2025-03-30T12:46:29.000Z (4 months ago)
- Last Synced: 2025-04-13T00:48:54.247Z (3 months ago)
- Topics: 1-wire, dma, ds18b20, hardware, ibutton, lightweight, onewire, protocol, sensors, stm32, uart, usart
- Language: C
- Homepage: https://majerle.eu/projects/lwow-one-wire-uart-communication
- Size: 3.77 MB
- Stars: 216
- Watchers: 10
- Forks: 46
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# Lightweight onewire library
LwOW is lightweight, platform independent library for Onewire protocol for embedded systems.
Its primary focus is to allow UART peripheral (hardware) for physical communication for sensors and other slaves.
Alternatively, the separation of the LwOW and low-level system-related part allows direct GPIO in/out toggling, for a simple communication.More about 1-Wire over UART can be found on link below.
https://www.maximintegrated.com/en/app-notes/index.mvp/id/214
Read first: Documentation
## Features
* Written in C (C11)
* Platform independent, uses custom low-level layer for device drivers
* 1-Wire protocol fits UART specifications at ``9600`` and ``115200`` bauds
* Allows standard one-wire single-gpio manual control (when UARTs are no more available by the system)
* Hardware is responsible for timing characteristics
* Allows DMA on the high-performance microcontrollers
* Different device drivers included
* DS18B20 temperature sensor is natively supported
* Works with operating system due to hardware timing management
* Separate thread-safe API is available
* API for device scan, reading and writing single bits
* User friendly MIT license## Contribute
Fresh contributions are always welcome. Simple instructions to proceed:
1. Fork Github repository
2. Follow [C style & coding rules](https://github.com/MaJerle/c-code-style) already used in the project
3. Create a pull request to develop branch with new features or bug fixesAlternatively you may:
1. Report a bug
2. Ask for a feature request