You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<!-- Enter a brief description/summary of your PR here. What does it add, and why is it necessary? Does this new feature solve any problems or bugs? How was it tested — automated or manual software tests, physical hardware tests, or some other method or combination of testing techniques? -->
4
6
5
7
## PR Checklist
6
8
7
-
-[ ] Closes #xxx
8
9
-[ ] Tests pass
9
10
-[ ] Any related documentation has been updated, if necessary
10
11
11
12
## Detailed Description
12
13
13
-
<!-- Provide a more detailed description and any additional information. -->
14
+
<!-- Provide a more detailed description and any additional information. -->
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+16-6Lines changed: 16 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,11 +6,9 @@
6
6
7
7
* Before making contributions, understand the purpose and functionality of the Pi4Micronaut library.
8
8
9
-
* Review the library documentation, any related articles, or tutorials.
10
-
11
-
Our documentation can be found online at [oss-slu.github.io/Pi4Micronaut](https://oss-slu.github.io/Pi4Micronaut/). Good information and tutorials on Raspberry Pis and electronic components can be found online from [Sunfounder](https://docs.sunfounder.com/en/latest/), [SparkFun](https://learn.sparkfun.com/), or others.
12
-
13
-
This file will go over some quick information about our library, but please refer to our documentation webpage for more complete information.
9
+
* Review the library documentation, any related articles, or tutorials.
10
+
* Our documentation can be found online at [oss-slu.github.io/Pi4Micronaut](https://oss-slu.github.io/Pi4Micronaut/). Good information and tutorials on Raspberry Pis and electronic components can be found online from [Sunfounder](https://docs.sunfounder.com/en/latest/), [SparkFun](https://learn.sparkfun.com/), or others.
11
+
* This file will go over some quick information about our library, but please refer to our documentation webpage for more complete information.
14
12
15
13
### Set Up Your Development Environment
16
14
@@ -62,6 +60,8 @@ This file will go over some quick information about our library, but please refe
62
60
63
61
* Note: A test suite will be developed in future to test the components without the use of external hardware
64
62
63
+
* To run tests, use the command `./gradlew test`
64
+
65
65
### Signing the Contributor License Agreement
66
66
67
67
* While creating a pull request, you’ll be prompted to sign a Contributor License Agreement. Please do so by logging in with your GitHub account.
@@ -96,6 +96,13 @@ This file will go over some quick information about our library, but please refe
96
96
97
97
Thanks for considering a contribution to the Pi4Micronaut library! Your involvement helps make the project better for everyone.
98
98
99
+
## Commands and Gradle Tasks
100
+
101
+
Here are some useful commands and Gradle tasks for working with the Pi4Micronaut library:
102
+
***Build the Project:**`./gradlew build` - Compiles the code and builds the project.
103
+
***Run Tests:**`./gradlew test` - Executes the test suite.
104
+
***Compile AsciiDoc Documentation:**`./gradlew asciidoctor` - Generates the documentation from AsciiDoc files. The output can be found in `pi4micronaut-utils/build/docs/asciidoc`.
105
+
99
106
## How to Create a New Component
100
107
101
108
If it's compatible with a Raspberry Pi, then it should work well with Pi4Micronaut. The following steps should encompass in brief how most components are added to the library; further details can be found on our documentation webpage. Start by creating a new issue to suggest changes.
@@ -122,7 +129,7 @@ All controllers should be kept here: `components/src/main/java/com/opensourcewit
122
129
123
130
### Thoroughly test
124
131
125
-
Contributors should thoroughly test their integrations. Software unit tests should be written in `pi4micronaut-utils/src/test/java/com/opensourcewithslu/(inputdevices or outputdevices)`.
132
+
Contributors should thoroughly test their integrations. Software unit tests should be written in `pi4micronaut-utils/src/test/java/com/opensourcewithslu/(inputdevices or outputdevices)`. They can be run with `./gradlew test`.
126
133
127
134
Hardware testing should also be done. When submitting a pull request, make sure to include how you tested the component, any circuits that you may have used, and how to run any examples you may have created. Instructions for how to conduct hardware testing, including how to send the files over to the Raspberry Pi device, are on our online documentation.
128
135
@@ -133,3 +140,6 @@ It is important that reviewers are able to replicate your work in order to prope
133
140
We write documentation files for each component, which are compiled and hosted on our online documentation webpage. Create an .adoc file with the component name as the file name. Make sure to include all the information that the other components include. Simply copy/paste an existing component's documentation and edit as needed. Add the file here: `pi4micronaut-utils/src/docs/asciidoc/components/(inputComponents or outputComponents)`.
134
141
135
142
Also ensure that the classes you have written have appropriate Javadoc comments.
[](https://central.sonatype.com/artifact/io.github.oss-slu/pi4micronaut-utils)
[](https://join.slack.com/t/oswslu/shared_invite/zt-24f0qhjbo-NkSfQ4LOg5wXxBdxP4vzfA)
10
+
[](https://oss-slu.github.io/connect_with/donate)
Pi4Micronaut is an innovative Java library crafted for developers who aim to build Internet of Things (IoT) applications leveraging the Raspberry Pi platform. This software is designed to run directly on the Raspberry Pi, providing an interface between the high-level Micronaut framework and the low-level hardware control provided by Pi4J. It serves as a vital tool for Java developers who wish to create sophisticated IoT solutions that interact with various sensors and electronic components. By abstracting the complexity of hardware interactions, Pi4Micronaut allows developers to focus on crafting business logic and features, making it easier to bring IoT applications from concept to deployment rapidly.
6
16
7
17
The existence of Pi4Micronaut is justified by the need for a robust, scalable, and efficient way to bridge the gap between enterprise-grade software and the physical world of hardware. It is particularly valuable for projects that demand both the high-performance, microservices-oriented capabilities of the Micronaut framework and the versatile hardware interaction that the Raspberry Pi offers. Whether it's for home automation, industrial monitoring, or educational purposes, Pi4Micronaut empowers developers to deliver reliable and sophisticated IoT applications that can run headless on a Raspberry Pi or be managed remotely, providing convenience, control, and customization to the end-users.
8
18
9
-
**Note:** Pi4Micronaut doesn't work with the latest Raspberry Pi 5 because of its whole new architecture. Pi4J and pigpio libraries doesn't provide support for Pi 5 yet. Look out for the latest version of Pi4J to work with Pi5's in the future.
19
+
**Note:** Pi4Micronaut doesn't work with the latest Raspberry Pi 5 because of its whole new architecture. The Pi4J and pigpio libraries doesn't provide support for Pi 5 yet. Look out for the latest version of Pi4J to work with Pi 5 in the future.
10
20
11
21
### Information
12
22
@@ -16,29 +26,29 @@ The existence of Pi4Micronaut is justified by the need for a robust, scalable, a
0 commit comments