Added CMake Linking Example
This commit is contained in:
43
README.md
43
README.md
@@ -1,7 +1,9 @@
|
|||||||
# WiringPi Library
|
# WiringPi Library
|
||||||
|
|
||||||
Welcome to the WiringPi Library, the highly performant GPIO access library for Raspberry Pi boards. This library is written in C and is designed to provide fast and efficient control of the GPIO pins by directly accessing the hardware registers using DMA.
|
Welcome to the WiringPi Library, the highly performant GPIO access library for Raspberry Pi boards. This library is written in C and is designed to provide fast and efficient control of the GPIO pins by directly accessing the hardware registers using DMA.
|
||||||
|
|
||||||
**Key Features:**
|
**Key Features:**
|
||||||
|
|
||||||
- **Support:** WiringPi supports all Raspberry Pi Boards including Pi 5 ( :construction: On the Pi 5, only the GCLK functionality is currently not supported due to missing documentation of the RP1 chip).
|
- **Support:** WiringPi supports all Raspberry Pi Boards including Pi 5 ( :construction: On the Pi 5, only the GCLK functionality is currently not supported due to missing documentation of the RP1 chip).
|
||||||
- **High Performance:** By directly accessing the hardware registers, WiringPi ensures minimal latency and maximum performance for your GPIO operations.
|
- **High Performance:** By directly accessing the hardware registers, WiringPi ensures minimal latency and maximum performance for your GPIO operations.
|
||||||
- **Wide Adoption:** WiringPi is widely used in numerous projects, making it a reliable choice for your Raspberry Pi GPIO needs.
|
- **Wide Adoption:** WiringPi is widely used in numerous projects, making it a reliable choice for your Raspberry Pi GPIO needs.
|
||||||
@@ -50,9 +52,23 @@ cd examples
|
|||||||
make <example-name | really-all>
|
make <example-name | really-all>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To use WiringPi in a project with CMake, the following snippet is all that is required provided that WiringPi is installed.
|
||||||
|
|
||||||
|
```CMake
|
||||||
|
add_executable(example
|
||||||
|
# project sources...
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(
|
||||||
|
example
|
||||||
|
|
||||||
|
PRIVATE wiringPi
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
The tool `gpio` can be used to set single pins as well as get the state of everything at once:
|
The tool `gpio` can be used to set single pins as well as get the state of everything at once:
|
||||||
|
|
||||||
```
|
```none
|
||||||
pi@wiringdemo:~ $ gpio readall
|
pi@wiringdemo:~ $ gpio readall
|
||||||
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
|
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
|
||||||
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
|
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
|
||||||
@@ -82,12 +98,10 @@ pi@wiringdemo:~ $ gpio readall
|
|||||||
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
|
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
[German](https://github.com/WiringPi/WiringPi/blob/master/documentation/deutsch/functions.md)
|
[German](./documentation/deutsch/functions.md)
|
||||||
[English](https://github.com/WiringPi/WiringPi/blob/master/documentation/english/functions.md)
|
[English](./documentation/english/functions.md)
|
||||||
|
|
||||||
|
|
||||||
## Installing
|
## Installing
|
||||||
|
|
||||||
@@ -111,12 +125,10 @@ mv debian-template/wiringpi-3.0-1.deb .
|
|||||||
sudo apt install ./wiringpi-3.0-1.deb
|
sudo apt install ./wiringpi-3.0-1.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Prebuilt Binaries
|
### Prebuilt Binaries
|
||||||
|
|
||||||
Grab the latest release from [here](https://github.com/WiringPi/WiringPi/releases).
|
Grab the latest release from [here](https://github.com/WiringPi/WiringPi/releases).
|
||||||
|
|
||||||
|
|
||||||
Unzip/use the portable prebuilt verison:
|
Unzip/use the portable prebuilt verison:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
@@ -131,16 +143,15 @@ Install the debian package:
|
|||||||
sudo apt install ./wiringpi-3.0-1.deb
|
sudo apt install ./wiringpi-3.0-1.deb
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Ports
|
## Ports
|
||||||
|
|
||||||
wiringPi has been wrapped for multiple languages:
|
wiringPi has been wrapped for multiple languages:
|
||||||
|
|
||||||
* Node - https://github.com/WiringPi/WiringPi-Node
|
- Node - [https://github.com/WiringPi/WiringPi-Node](https://github.com/WiringPi/WiringPi-Node)
|
||||||
* Perl - https://github.com/WiringPi/WiringPi-Perl
|
- Perl - [https://github.com/WiringPi/WiringPi-Perl](https://github.com/WiringPi/WiringPi-Perl)
|
||||||
* PHP - https://github.com/WiringPi/WiringPi-PHP
|
- PHP - [https://github.com/WiringPi/WiringPi-PHP](https://github.com/WiringPi/WiringPi-PHP)
|
||||||
* Python - https://github.com/WiringPi/WiringPi-Python
|
- Python - [https://github.com/WiringPi/WiringPi-Python](https://github.com/WiringPi/WiringPi-Python)
|
||||||
* Ruby - https://github.com/WiringPi/WiringPi-Ruby
|
- Ruby - [https://github.com/WiringPi/WiringPi-Ruby](https://github.com/WiringPi/WiringPi-Ruby)
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
@@ -156,9 +167,9 @@ Please don't email GC2 for reporting issues, you might [contact us](mailto:wirin
|
|||||||
|
|
||||||
This repository is the continuation of 'Gordon's wiringPi 2.5' which has been [deprecated](https://web.archive.org/web/20220405225008/http://wiringpi.com/wiringpi-deprecated/), a while ago.
|
This repository is the continuation of 'Gordon's wiringPi 2.5' which has been [deprecated](https://web.archive.org/web/20220405225008/http://wiringpi.com/wiringpi-deprecated/), a while ago.
|
||||||
|
|
||||||
* The last "old wiringPi" source of Gordon's release can be found at the
|
- The last "old wiringPi" source of Gordon's release can be found at the
|
||||||
[`final_source_2.50`](https://github.com/WiringPi/WiringPi/tree/final_official_2.50) tag.
|
[`final_source_2.50`](https://github.com/WiringPi/WiringPi/tree/final_official_2.50) tag.
|
||||||
* The default `master` branch contains code that has been written since version 2.5
|
- The default `master` branch contains code that has been written since version 2.5
|
||||||
to provide support for newer hardware as well as new features.
|
to provide support for newer hardware as well as new features.
|
||||||
|
|
||||||
:information_source:️ Since 2024, [GC2](https://github.com/GrazerComputerClub) has taken over maintenance of the project, supporting new OS versions as well as current hardware generations. We are dedicated to keeping the arguably best-performing GPIO Library for Raspberry Pi running smoothly. We strive to do our best, but please note that this is a community effort, and we cannot provide any guarantees or take responsibility for implementing specific features you may need.
|
:information_source:️ Since 2024, [GC2](https://github.com/GrazerComputerClub) has taken over maintenance of the project, supporting new OS versions as well as current hardware generations. We are dedicated to keeping the arguably best-performing GPIO Library for Raspberry Pi running smoothly. We strive to do our best, but please note that this is a community effort, and we cannot provide any guarantees or take responsibility for implementing specific features you may need.
|
||||||
|
|||||||
Reference in New Issue
Block a user