semvec/pypi-packages huggingface dataset:
piepd 0.0.3.6
High level ePaper display utilty
Requires Python: >=3.7

## Context

This tool is showcased in the project [IotaWorkshop](https://github.com/Tsangares/iotaworkshop)

# Summary

This is a high level e-paper libaray. It supports QR code displays and allows easy lines of text writing along with right text align. Ideally if used this libaray should be imported to use the helpful class `EPD`.

**Note** This works for all waveshare screens when you import it. Simply change the line from,

    from waveshare_epd import epd1in54_V2
	
To whatever screen you have. For instance the 5.83 inch BW screen

    from waveshare_epd import epd5in83
	
Or the color version (bc)

    from waveshare_epd import epd5in8bc
	
	
# Installation

This project depends on `Pillow` but there are a variety of ways of installing it so I did not mark it as a dependency in the pypi package, you can install it using,

    pip install pillow
   
Simply install this package from the pypi repo

    pip install piepd
	
# Command Line Interface

There are a few example displays that can be run through the cli,	

	epd occipied #Displays text saying the tools is occupied
	epd --help #To see altenative displays

# Implementation Example

	from epd import EPD
	epd = EPD()
	epd.setFontSize(21)
	epd.drawText("Hello world",draw=False) #Draws this text on the screen
	epd.drawText("Left",draw=False) #Does not display yet until draw=True
	
	#The following line will right align the text and put it on the previous line
	epd.drawText("Right",right=True,overlap=True,draw=True)
	
	#Once you are completly done using the dislplay run
	epd.close()
# Wiring

| Board pin name | Board pin | RPi pin name | 
|----------------|-----------|--------------|
| VCC            | 1         | 3v3          | 
| GND            | 6         | GND          | 
| DIN            | 19        | GPIO10, MOSI | 
| CLK            | 11        | GPIO11, SCKL | 
| CS             | 24        | GPIO8, CE0   | 
| DC             | 22        | GPIO25       | 
| RST            | 11        | GPIO17       | 
| BUSY           | 18        | GPIO24       |
servo-lock 0.0.1.7
Servo utility for the MG996R; but any servo works.
Requires Python: >=3.7

## Context

This tool is showcased in the project [IotaWorkshop](https://github.com/Tsangares/iotaworkshop)

# Summary

This tool can be both used as a command line interface or be imported into your project. What this repo has that others do not is some math to calculate the estimated time it takes to rotate the servo to a sepecific destination. The utility handles all the pin IO and all you have to do is specify the location the servo needs to be in and the library will do the rest.

# Installation

This project requires `RPi.GPIO`, and I installed it using the arch repo using,

    yay -S python-raspberry-gpio
	
But ubuntu or rasbian can use,

    pip install RPi.GPIO

To install the servo library simply pull from the pip repo,

    pip install servo-lock
	
# Command Line Interface Examples

To send the servo to a sepecific location simply use the command

    servo move 19 90 #Moves the servo on pin 19 to 90 degrees
pibeep 0.0.1.5
Buzzer utility for pi
Requires Python: >=3.7

## Context

This tool is showcased in the project [IotaWorkshop](https://github.com/Tsangares/iotaworkshop)

# Summary

This is a beeping utility for the common buzzer. This package comes with a variety of beeps that can be called from a command line inteface or imported from python.

# Installation

This package requires `RPi.GPIO`, which I installed on arch arm using

    yay -S python-raspberry-gpio
	
But ubuntu or rasbian can use,

    pip install RPi.GPIO

To install pibeep simply install the pip package.

    pip install pibeep
	
You can then look at the examples on how to run as a cli. You can also import it into your project using,

	from pibeep import pulseBeep,beepDuration
	beepDuration(pin=12,duration=.33) #beeper on pin 12, on for .33 sec
	pulseBeep(pin=12,freq=25,duration=1) #pulse beep at 25HZ for 1 seccond


# Beeps

 - short: duration 0.05 sec
 - medium: duration 0.25 sec
 - long: duration 1.00 sec
 - warning: pulses 8HZ for 1.5 sec duration
 - confirmed: pulses 16HZ for .5 sec duration
 - brr: pulses 50HZ for .5 sec duration
 
# Example

The cli can be use any of the listed above beeps in the format as the following commands:

    beep warning --pin 12 #Warning sound
    beep short --pin 12 #Small beep
	beep brr --pin 12 #A rumbling sound
	beep confirmed --pin 12 #A sound that conveys success

Usually I need to run it as sudo to have the correct permissions, but it depends on your setup.