-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e0f1f0b
commit 954cae1
Showing
1,740 changed files
with
167,138 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
# mutphy | ||
mutation testing for physical computing | ||
# MutPhy: Mutation testing for physical computing | ||
Sharing self-developed tools in mutation testing research | ||
|
||
Qianqian Zhu, Andy Zaidman. Mutation Testing for Physical Computing. proceedings of the IEEE 18th International Conference on Software Quality, Reliability and Security (QRS 2018), IEEE, Lisbon, Portugal, 2018. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
*.py[cod] | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Packages | ||
*.egg | ||
*.egg-info | ||
dist | ||
build | ||
eggs | ||
parts | ||
bin | ||
var | ||
sdist | ||
develop-eggs | ||
.installed.cfg | ||
lib | ||
lib64 | ||
|
||
# Installer logs | ||
pip-log.txt | ||
|
||
# Unit test / coverage reports | ||
.coverage | ||
.tox | ||
nosetests.xml | ||
|
||
# Translations | ||
*.mo | ||
|
||
# Mr Developer | ||
.mr.developer.cfg | ||
.project | ||
.pydevproject | ||
*.sw[op] | ||
|
||
# TeX | ||
*.log | ||
*.aux | ||
docs/*.pdf | ||
|
||
# Python | ||
VIRTUAL/ | ||
.cache/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
language: python | ||
python: | ||
- 2.7 | ||
- 3.3 | ||
- 3.4 | ||
- 3.5 | ||
- 3.6 | ||
install: | ||
- pip install -r requirements-dev.txt | ||
script: | ||
- py.test -v |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# Changelog | ||
|
||
This project follows semantic versioning. | ||
|
||
Possible log types: | ||
|
||
- `[add]` for new features. | ||
- `[chg]` for changes in existing functionality. | ||
- `[dep]` for once-stable features removed in upcoming releases. | ||
- `[rem]` for deprecated features removed in this release. | ||
- `[fix]` for any bug fixes. | ||
- `[sec]` to invite users to upgrade in case of vulnerabilities. | ||
|
||
### v1.0.0 (2017-07-30) | ||
|
||
This is the first release that can be considered stable. It involves some API | ||
changes, so you might need to adapt your scripts (mainly because some default | ||
arguments to `CharLCD` were removed). | ||
|
||
If you notice any documentation that hasn't been updated yet to the newer API, | ||
please let us know! | ||
|
||
- [add] Support for `MCP23008` and `MCP23014^ I²C port expanders (#43, #59) | ||
- [add] Add `RPLCD.__version__` attribute | ||
- [fix] Fix bug in auto linebreak algorithm (#53) | ||
- [fix] Fix bugs in show_charmap script (#52) | ||
- [fix] Fix error in A02 character map | ||
- [chg] Remove default args for `gpio.CharLCD`, pins and numbering mode always | ||
need to be specified explicitly from now on | ||
- [chg] Remove default for `i2c.CharLCD` i2c_expander parameter, | ||
always needs to be specified explicitly from now on | ||
- [chg] Remove all enums (`Alignment`, `CursorMode`, `ShiftMode`, | ||
`BacklightMode`), replace them with string based API (#67) | ||
- [chg] Rewrite test scripts, expose them all through a single entry point | ||
script: `lcdtest.py` (#58, #59) | ||
|
||
### v0.9.0 (2017-05-09) | ||
|
||
This version can be considered the release candidate for the 1.0 release. | ||
|
||
- [add] Support for i2c port expanders (#20) | ||
- [add] Implement proper automatic encoding of unicode strings, | ||
add encoding tables for A00 and A02 character maps (#40) | ||
- [add] Implement convenience functions for CR/LF (#45) | ||
- [add] Add documentation (#37) | ||
- [dep] Deprecate context managers (#18) | ||
- [rem] Drop support for Python 3.2 | ||
|
||
### v0.4.0 (2016-09-12) | ||
|
||
- [fix] Fix problem when auto-linebreaks clash with manual linebreaks (#14) | ||
- [fix] Fix wiring pin for GND (#25) | ||
- [add] Add option to disable auto linebreaks (#14) | ||
- [add] Add backlight GPIO control (#21) | ||
|
||
### v0.3.0 (2014-07-03) | ||
|
||
- [add] Implemented support for custom characters (#4) | ||
- [fix] Fixed a bug that caused offsets on 16x4 displays (#16) | ||
|
||
### v0.2.0 (2014-04-20) | ||
|
||
- [add] Removed all external dependencies | ||
- [add] New ``show_charmap.py`` helper script | ||
|
||
### v0.1.3 (2013-06-26) | ||
|
||
- [fix] Bugfix (#13) | ||
|
||
### v0.1.2 (2013-06-17) | ||
|
||
- [add] Added character caching | ||
- [add] Added support for 16x2 LCD | ||
- [fix] Bugfixes | ||
|
||
### v0.1.1 (2013-05-12) | ||
|
||
- Initial release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Contributing | ||
|
||
Thanks a lot for any contribution! | ||
|
||
To keep code quality high and maintenance work low, please adhere to the | ||
following guidelines when creating a pull request: | ||
|
||
- Please follow the [coding | ||
guidelines](https://github.com/dbrgn/RPLCD#coding-guidelines). | ||
- Use meaningful commit messages: Please follow the advice in [this | ||
blogpost](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). | ||
First line of your commit message should be a very short summary (ideally 50 | ||
characters or less) in the imperative mood. After the first line of the commit | ||
message, add a blank line and then a more detailed explanation (when relevant). | ||
|
||
The following items make my life easier, but are optional: | ||
|
||
- If you know how to use `git rebase`, please rebase/sqash your commits so that | ||
unnecessary noise in the commit history is avoided. | ||
- If you have have previously filed a GitHub issue and want to contribute code | ||
that addresses that issue, I prefer it if you use | ||
[hub](https://github.com/github/hub) to convert your existing issue to a pull | ||
request. To do that, first push the changes to a separate branch in your fork | ||
and then issue the following command: | ||
|
||
hub pull-request -b dbrgn:master -i <issue-number> -h <your-github-username>:<your-branch-name> | ||
|
||
This is no strict requirement though, if you don't have hub installed or | ||
prefer to use the web interface, then feel free to post a traditional pull | ||
request. | ||
|
||
Thanks for your contribution! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Main Developers | ||
|
||
- Danilo Bargen / @dbrgn | ||
|
||
Contributors | ||
|
||
- @beargun (bugfix) | ||
- @stripwax (backlight circuit support) | ||
- @rameshg87 (wiring docs) | ||
- @thijstriemstra (fixes to README and setup.py) | ||
- @GoranLundberg (support for MCP23008 and MCP23017 I²C port expander) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
Copyright (C) 2013-2017 Danilo Bargen and contributors | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy of | ||
this software and associated documentation files (the "Software"), to deal in | ||
the Software without restriction, including without limitation the rights to | ||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||
the Software, and to permit persons to whom the Software is furnished to do so, | ||
subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
include README.rst LICENSE CHANGELOG.md CONTRIBUTORS | ||
include lcdtest.py | ||
include lcdtests/*.py | ||
recursive-exclude * *.pyc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
RPLCD | ||
##### | ||
|
||
.. image:: https://badges.gitter.im/RPLCD/Lobby.svg | ||
:alt: Join the chat at https://gitter.im/RPLCD/Lobby | ||
:target: https://gitter.im/RPLCD/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge | ||
.. image:: https://img.shields.io/travis/dbrgn/RPLCD/master.svg | ||
:target: https://travis-ci.org/dbrgn/RPLCD | ||
:alt: Build Status | ||
.. image:: https://img.shields.io/pypi/v/RPLCD.svg | ||
:target: https://pypi.python.org/pypi/RPLCD/ | ||
:alt: PyPI Version | ||
.. image:: https://img.shields.io/pypi/wheel/RPLCD.svg | ||
:target: https://pypi.python.org/pypi/RPLCD/ | ||
:alt: PyPI Wheel | ||
.. image:: https://img.shields.io/pypi/pyversions/RPLCD.svg | ||
:target: https://pypi.python.org/pypi/RPLCD/ | ||
:alt: PyPI Python Versions | ||
.. image:: https://img.shields.io/badge/dependencies-0-blue.svg | ||
:target: https://pypi.python.org/pypi/RPLCD/ | ||
:alt: Dependencies | ||
.. image:: https://img.shields.io/pypi/l/RPLCD.svg | ||
:target: https://pypi.python.org/pypi/RPLCD/ | ||
:alt: License | ||
|
||
A Python 3/2 Raspberry PI Character LCD library for the Hitachi HD44780 | ||
controller. It supports both GPIO (parallel) mode as well as boards with an I2C | ||
port expander (e.g. the PCF8574 or the MCP23008). | ||
|
||
This library is inspired by Adafruit Industries' CharLCD_ library as well as by | ||
Arduino's LiquidCrystal_ library. | ||
|
||
No external dependencies (except the ``RPi.GPIO`` library, which comes | ||
preinstalled on Raspbian) are needed to use this library. | ||
|
||
.. image:: https://raw.github.com/dbrgn/RPLCD/master/photo-i2c.jpg | ||
:alt: Photo of 20x4 LCD in action | ||
|
||
|
||
Setup | ||
===== | ||
|
||
You can install RPLCD directly from `PyPI | ||
<https://pypi.python.org/pypi/RPLCD/>`_ using pip:: | ||
|
||
$ sudo pip install RPLCD | ||
|
||
If you want to use I2C, you also need smbus:: | ||
|
||
$ sudo apt install python-smbus | ||
|
||
You can also install the library manually without pip. Either just copy the | ||
scripts to your working directory and import them, or download the repository | ||
and run ``python setup.py install`` to install it into your Python package | ||
directory. | ||
|
||
|
||
Features | ||
======== | ||
|
||
Implemented | ||
----------- | ||
|
||
- Simple to use API | ||
- Support for both 4 bit and 8 bit modes | ||
- Support for both parallel (GPIO) and I²C connection | ||
- Support for custom characters | ||
- Support for backlight control circuits | ||
- Built-in support for `A00` and `A02` character tables | ||
- Python 2/3 compatible | ||
- Caching: Only write characters if they changed | ||
- No external dependencies (except `RPi.GPIO`, and `python-smbus` if you need | ||
I²C support) | ||
|
||
Wishlist | ||
-------- | ||
|
||
These things may get implemented in the future, depending on my free time and | ||
motivation: | ||
|
||
- MicroPython port | ||
|
||
Supported I²C Port Expanders | ||
---------------------------- | ||
|
||
- PCF8574 (used by a lot of I²C LCD adapters on Ali Express) | ||
- MCP23008 (used in Adafruit I²C LCD backpack) | ||
- MCP23017 | ||
|
||
|
||
Documentation | ||
============= | ||
|
||
You can find the documentation here: https://readthedocs.org/projects/rplcd/ | ||
|
||
|
||
Testing | ||
======= | ||
|
||
Interactive Test Script | ||
----------------------- | ||
|
||
To test your LCD, please run the ``lcdtest.py`` script with the ``testsuite`` | ||
target. | ||
|
||
Unit Tests | ||
---------- | ||
|
||
There are also unit tests. First, install dependencies: | ||
|
||
pip install -U -r requirements-dev.txt | ||
|
||
Then run the tests: | ||
|
||
py.test -v | ||
|
||
|
||
Coding Guidelines | ||
================= | ||
|
||
`PEP8 <http://www.python.org/dev/peps/pep-0008/>`__ via `flake8 | ||
<https://pypi.python.org/pypi/flake8>`_ with ``max-line-width`` set to 99 and | ||
``E126-E128,C901`` ignored:: | ||
|
||
flake8 --max-line-length=99 --ignore=E126,E127,E128,C901 RPLCD/lcd.py | ||
|
||
|
||
Resources | ||
========= | ||
|
||
- TC2004A-01 Data Sheet: http://www.adafruit.com/datasheets/TC2004A-01.pdf | ||
- HD44780U Data Sheet: http://www.adafruit.com/datasheets/HD44780.pdf | ||
|
||
|
||
License | ||
======= | ||
|
||
This code is licensed under the MIT license, see the `LICENSE file | ||
<https://github.com/dbrgn/RPLCD/blob/master/LICENSE>`_ or `tldrlegal | ||
<http://www.tldrlegal.com/license/mit-license>`_ for more information. | ||
|
||
|
||
.. _charlcd: https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/tree/master/Adafruit_CharLCD | ||
.. _liquidcrystal: http://arduino.cc/en/Reference/LiquidCrystal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Release process | ||
|
||
Signing key: 3578F667F2F3A5FA (https://keybase.io/dbrgn) | ||
|
||
Used variables: | ||
|
||
export VERSION={VERSION} | ||
export GPG=3578F667F2F3A5FA | ||
|
||
Update version numbers: | ||
|
||
vim -p setup.py CHANGELOG.md RPLCD/__init__.py docs/conf.py | ||
|
||
Do a signed commit and signed tag of the release: | ||
|
||
git add setup.py CHANGELOG.md RPLCD/__init__.py docs/conf.py | ||
git commit -S${GPG} -m "Release v${VERSION}" | ||
git tag -u ${GPG} -m "Release v${VERSION}" v${VERSION} | ||
|
||
Build source and binary distributions: | ||
|
||
python3 setup.py sdist | ||
python3 setup.py bdist_wheel | ||
|
||
Sign files: | ||
|
||
gpg --detach-sign -u ${GPG} -a dist/RPLCD-${VERSION}.tar.gz | ||
gpg --detach-sign -u ${GPG} -a dist/RPLCD-${VERSION}-py2.py3-none-any.whl | ||
|
||
Upload package to PyPI: | ||
|
||
twine3 upload dist/RPLCD-${VERSION}* | ||
git push | ||
git push --tags |
Oops, something went wrong.