Skip to content

Commit c4a7a98

Browse files
authored
Merge branch 'docu-3.16' into patch-1
2 parents 7bec94a + 681c5f1 commit c4a7a98

22 files changed

+2522
-696
lines changed

README.md

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# WiringPi Library
2+
23
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.
34

4-
**Key Features:**
5+
**Key Features:**
6+
57
- **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).
68
- **High Performance:** By directly accessing the hardware registers, WiringPi ensures minimal latency and maximum performance for your GPIO operations.
79
- **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
5052
make <example-name | really-all>
5153
```
5254

53-
The tool `gpio` can be used to set single pins as well as get the state of everything at once:
55+
To use WiringPi in a project with CMake, the following snippet is all that is required provided that WiringPi is installed.
56+
57+
```CMake
58+
add_executable(example
59+
# project sources...
60+
)
5461
62+
target_link_libraries(
63+
example
64+
65+
PRIVATE wiringPi
66+
)
5567
```
68+
69+
The tool `gpio` can be used to set single pins as well as get the state of everything at once:
70+
71+
```none
5672
pi@wiringdemo:~ $ gpio readall
5773
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
5874
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
@@ -82,12 +98,10 @@ pi@wiringdemo:~ $ gpio readall
8298
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
8399
```
84100

85-
86101
## Documentation
87102

88-
[German](https://github.com/WiringPi/WiringPi/blob/master/documentation/deutsch/functions.md)
89-
[English](https://github.com/WiringPi/WiringPi/blob/master/documentation/english/functions.md)
90-
103+
[German](./documentation/deutsch/functions.md)
104+
[English](./documentation/english/functions.md)
91105

92106
## Installing
93107

@@ -105,42 +119,42 @@ cd WiringPi
105119

106120
# build the package
107121
./build debian
108-
mv debian-template/wiringpi-3.0-1.deb .
122+
mv debian-template/wiringpi-3.x.deb .
109123

110124
# install it
111-
sudo apt install ./wiringpi-3.0-1.deb
125+
sudo apt install ./wiringpi-3.x.deb
112126
```
113127

114-
115128
### Prebuilt Binaries
116129

117130
Grab the latest release from [here](https://github.com/WiringPi/WiringPi/releases).
118131

119-
120132
Unzip/use the portable prebuilt verison:
121133

122134
```sh
123135
# unzip the archive
124-
tar -xfv wiringpi_3.0.tar.gz
136+
tar -xfv wiringpi_3.x.tar.gz
125137
```
126138

127139
Install the debian package:
128140

129141
```sh
130142
# install a dpkg
131-
sudo apt install ./wiringpi-3.0-1.deb
143+
sudo apt install ./wiringpi-3.x.deb
132144
```
133145

134-
135146
## Ports
136147

137-
wiringPi has been wrapped for multiple languages:
148+
wiringPi has been wrapped for multiple languages:
149+
150+
NOTE: these wrappers are _not_ updated and maintained in sync with WiringPi version 3+,
151+
therefore we cannot guarantee functionality or provide support for a specific implementation.
138152

139-
* Node - https://github.com/WiringPi/WiringPi-Node
140-
* Perl - https://github.com/WiringPi/WiringPi-Perl
141-
* PHP - https://github.com/WiringPi/WiringPi-PHP
142-
* Python - https://github.com/WiringPi/WiringPi-Python
143-
* Ruby - https://github.com/WiringPi/WiringPi-Ruby
153+
- Node - [https://github.com/WiringPi/WiringPi-Node](https://github.com/WiringPi/WiringPi-Node)
154+
- Perl - [https://github.com/WiringPi/WiringPi-Perl](https://github.com/WiringPi/WiringPi-Perl)
155+
- PHP - [https://github.com/WiringPi/WiringPi-PHP](https://github.com/WiringPi/WiringPi-PHP)
156+
- Python - [https://github.com/WiringPi/WiringPi-Python](https://github.com/WiringPi/WiringPi-Python)
157+
- Ruby - [https://github.com/WiringPi/WiringPi-Ruby](https://github.com/WiringPi/WiringPi-Ruby)
144158

145159
## Support
146160

@@ -156,9 +170,9 @@ Please don't email GC2 for reporting issues, you might [contact us](mailto:wirin
156170

157171
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.
158172

159-
* The last "old wiringPi" source of Gordon's release can be found at the
173+
- The last "old wiringPi" source of Gordon's release can be found at the
160174
[`final_source_2.50`](https://github.com/WiringPi/WiringPi/tree/final_official_2.50) tag.
161-
* The default `master` branch contains code that has been written since version 2.5
175+
- The default `master` branch contains code that has been written since version 2.5
162176
to provide support for newer hardware as well as new features.
163177

164178
: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.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.14
1+
3.16

0 commit comments

Comments
 (0)