Skip to content

Commit

Permalink
Separated sections into individual adocs
Browse files Browse the repository at this point in the history
Each section of the documentation is now in its own adoc file. The
index.adoc file acts as the compile point for all sections. This
separation will allow the editing of the individual sections, without
effecting other sections.
  • Loading branch information
SwindleA committed Sep 20, 2023
1 parent e92cb45 commit fdeb6de
Show file tree
Hide file tree
Showing 30 changed files with 324 additions and 280 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@

=== Example Applications

If you're curious about what Pi4Micronaut is capable of, check out some of the working applications created using our library.

==== Remote Mointoring Check-In System
https://github.com/oss-slu/SLU_OSS_CheckIn
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
=== Currently Supported Hardware

If you plan on creating an application using any of the hardware components listed below, then our library is perfect for you!

We plan on offering support for many more hardware components in the future. If you have a hardware component you would like to use but can't find, feel free to checkout how you can add support for it under "Contributing to the Library"

* Push Button
* Slide Switch
* Rotary Encoder
* RFID Scanner
* LEDs
* RGB LEDs
* LCDs
* Photosensors
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

== Adding to/Creating an Application

TODO: outline how to create a basic applicaton like we did for the start of the check-in system +
TODO: outline how someone should add our jar to their exsisting application
1 change: 1 addition & 0 deletions micronautpi4j-utils/src/docs/asciidoc/components.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
== Components
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
=== Communicating with a Hardware Component

TODO: outline the use and access of application.yaml for an app +
TODO: Consolidate the format and include examples of how each comm type is used
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

==== Digital Input
To define in application.yaml add digital-input as a field under pi4j, then add each component under digital-input
Each component will need

* name: Name of the component
* address: GPIO pin associated with component
* debounce:
* pull: Either PULL_UP or PULL_DOWN depending on component
* provider: pigpio-digital-input

[source,yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=digitalInput]
----

<.> Component Identifier (Used in @Named annotations)
<.> Component Name
<.> Address of connected GPIO pin
<.> Debounce value
<.> Pull value (PULL_UP or PULL_DOWN)
<.> Provider (pigpio-digital-input)
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
==== Digital Output
To define in application.yaml add digital-output as a field under pi4j, then add each component under digital-input
Each component will need

* name: Name of the component
* address: GPIO pin associated with component
* initial: Initial value, either LOW or HIGH
* shutdown: State to take when program successfully shuts down properly, either LOW or HIGH
* provider: pigpio-digital-output
[source,yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=digitalOutput]
----
<1> Component Identifier (Used in @Named annotations)
<2> Component Name
<3> Address of connected GPIO pin
<4> Value to have on shutdown (HIGH = Off, LOW = On)
<5> Value to have on startup
<6> Provider (pigpio-digital-output)
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
==== I2C

[source,yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=i2c]
----
<1> Component Identifier (Used in @Named annotations)
<2> Component Name
<3> Device bus (0 or 1)
<4> Device address

TODO: add I2C information
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

==== Multipin Configurations

Multipin components are unique in that they require several of the same type of pin in order to function properly.
Each class of multipin component (Digital Input, PWM), is declared slightly differently in the application.yaml file

.Example Multipin Digital Input declaration
[source, yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=multiInput]
----
<.> Top level field for multipin digital inputs (equivlent of digital-output declaration)
<.> Component Identifier (Used in @Named annotations)
<.> Component Name
<.> Addresses for each pin (Each component has a specific order outlined in the component description)
<.> Debounce values for each pin (same order as above)
<.> Pull values for each pin (same order as above)
<.> Shutdown value (All pins have the same shut down)
<.> Startup value (All pins have the same start up)
<.> Provider (All pins have the same provider)

.Example Multipin PWM declaration
[source, yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=multipwm]
----
<.> Top level field for multipin PWMs (equivlent of digital-output declaration)
<.> Component Identifier (Used in @Named annotations)
<.> Component Name
<.> Addresses for each pin (Each component has a specific order outlined in the component description)
<.> PWM types for each pin (same order as above)
<.> Provider (All pins have the same provider)
<.> Startup values (Same order as above)
<.> Shutdown values (Same order as above)
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
==== PWM
To define in application.yaml add digital-input as a field under pi4j, then add each component under digital-input
Each component will need

* name: Name of the component
* address: GPIO pin associated with component
* pwmType: Either SOFTWARE or HARDWARE based upon which type of PWM you wish to use
* provider: pigpio-pwm
[source,yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=pwm]
----
<1> Component Identifier (Used in @Named annotations)
<2> Component Name
<3> Address of connected GPIO pin
<4> PWM Type (HARDWARE or SOFTWARE)
<5> Provider (pigpio-digital-output)
<6> Value to have on start up
<7> Value to have on shut down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

==== SPI

[source,yaml]
----
include::../../../../../../components/src/main/resources/application.yml[tags=spi]
----
<1> Component Identifier (Used in @Named annotations)
<2> Component Name
<3> TO DO: Figure out what this address is
<4> Baud rate
<5> Address of GPIO Reset pin

TODO: add SPI information
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
=== Input Components
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
==== Photosensor

TODO: add in photosensor support docs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
==== Push Button
===== Constructors

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/inputDevices/PushButtonHelper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/inputDevices/PushButtonHelper.java[tags=method]
----

===== An Example Controller

====== This controller uses the push button to turn an LED on and off

[source, java]
----
include::../../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/PushButtonController.java[tag=ex]
----
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
==== RFID Scanner
===== Constructors

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/inputDevices/RFidHelper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/inputDevices/RFidHelper.java[tag=method]
----

===== An Example Controller

====== This controller uses the RFID scanner to write and read to a card

[source, java]
----
include::../../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/RFidController.java[tag=ex]
----
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
==== Rotary Encoder
===== YAML Pin Order
The order for declaring pins for a Rotary Encoder component in the application.yaml file is as follows

Expand All @@ -18,14 +19,14 @@ the sw pin would be the one connected to GPIO 17, the clk pin would be connected

[source, java]
----
include::../../../main/java/com/opensourcewithslu/inputDevices/RotaryEncoderHelper.java[tag=const]
include::../../../../main/java/com/opensourcewithslu/inputDevices/RotaryEncoderHelper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../main/java/com/opensourcewithslu/inputDevices/RotaryEncoderHelper.java[tags=method]
include::../../../../main/java/com/opensourcewithslu/inputDevices/RotaryEncoderHelper.java[tags=method]
----

===== An Example Controller
Expand All @@ -34,5 +35,5 @@ include::../../../main/java/com/opensourcewithslu/inputDevices/RotaryEncoderHelp

[source, java]
----
include::../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/RotaryEncoderController.java[tag=ex]
include::../../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/RotaryEncoderController.java[tag=ex]
----
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
==== Slide Switch
===== Constructors

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/inputDevices/SlideSwitchHelper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/inputDevices/SlideSwitchHelper.java[tags=method]
----

===== An Example Controller

====== This controller sets up two slide switches

[source, java]
----
include::../../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/SlideSwitchController.java[tag=ex]
----
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
=== Output Components
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
==== LCD
===== Constructors

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/outputDevices/LCD1602Helper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/outputDevices/LCD1602Helper.java[tags=method]
----

===== An Example Controller

[source, java]
----
include::../../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/lcdController.java[tag=ex]
----
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
==== LED
===== Constructors

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/outputDevices/LEDHelper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../../main/java/com/opensourcewithslu/outputDevices/LEDHelper.java[tags=method]
----

===== An Example Controller

====== This controller turns the LED on and off

TODO: Create an example LED Controller
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
==== RGB LED

===== YAML Pin Order
The order for declaring pins for a RGB LED component in the application.yaml file is as follows

Expand All @@ -18,19 +20,19 @@ the red pin would be the one connected to GPIO 17, green to GPIO 18, and blue to

[source, java]
----
include::../../../main/java/com/opensourcewithslu/outputDevices/RGBLEDHelper.java[tag=const]
include::../../../../main/java/com/opensourcewithslu/outputDevices/RGBLEDHelper.java[tag=const]
----

===== Methods

[source, java]
----
include::../../../main/java/com/opensourcewithslu/outputDevices/RGBLEDHelper.java[tags=method]
include::../../../../main/java/com/opensourcewithslu/outputDevices/RGBLEDHelper.java[tags=method]
----

===== An Example Controller

[source, java]
----
include::../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/rgbController.java[tag=ex]
include::../../../../../../components/src/main/java/com/opensourcewithslu/components/controllers/rgbController.java[tag=ex]
----
3 changes: 3 additions & 0 deletions micronautpi4j-utils/src/docs/asciidoc/howContribute.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
== Contributing to the Library

TODO: outline how someone can contribute to our library
20 changes: 0 additions & 20 deletions micronautpi4j-utils/src/docs/asciidoc/i2cComponents/lcdScreen.adoc

This file was deleted.

Loading

0 comments on commit fdeb6de

Please sign in to comment.