RPLCD | A Raspberry Pi LCD library for the widely used Hitachi HD44780 controller, written in Python. GPIO (

 by   dbrgn Python Version: 1.3.1 License: MIT

kandi X-RAY | RPLCD Summary

kandi X-RAY | RPLCD Summary

RPLCD is a Python library typically used in Internet of Things (IoT), Raspberry Pi applications. RPLCD has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can install using 'pip install RPLCD' or download it from GitHub, PyPI.

A Raspberry Pi LCD library for the widely used Hitachi HD44780 controller, written in Python. GPIO (parallel) and I²C modes supported.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              RPLCD has a low active ecosystem.
              It has 242 star(s) with 69 fork(s). There are 16 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 10 open issues and 73 have been closed. On average issues are closed in 230 days. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of RPLCD is 1.3.1

            kandi-Quality Quality

              RPLCD has 0 bugs and 0 code smells.

            kandi-Security Security

              RPLCD has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              RPLCD code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              RPLCD is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              RPLCD releases are not available. You will need to build from source code and install.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              RPLCD saves you 1023 person hours of effort in developing the same functionality from scratch.
              It has 2323 lines of code, 84 functions and 25 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed RPLCD and discovered the below as its top functions. This is intended to give you an instant insight into RPLCD implemented functionality, and help decide if they suit your requirements.
            • Send an instruction
            • Send data to GPIO
            • Pulse data
            • Pulse the pins
            • Write 4 bits
            • Write 8 bits to the pin
            • Wait for the device to finish
            • Set backlight mode
            • Write byte to file
            • Context manager
            • Clears the screen
            • Set the text alignment mode
            • Close the connection
            • Send data to the device
            • Set the write shift mode
            • Set the cursor position
            • Set the cursor mode
            • Enable or disable display
            Get all kandi verified functions for this library.

            RPLCD Key Features

            No Key Features are available at this moment for RPLCD.

            RPLCD Examples and Code Snippets

            No Code Snippets are available at this moment for RPLCD.

            Community Discussions

            QUESTION

            Protocol for writing data to 16x2 LCD via I2C
            Asked 2017-Jul-01 at 01:13

            I am new to electronics and has completed a tutorial on how to operate a 16x2 Character LCD via I2C in Arduino using liquidCrystal_I2C. Everything works fine but I have a question about the low level interaction between the I2C and the LCD. Looking at the library's source code, I notice that when writing a 4 bits nibble (LiquidCrystal_I2C::write4bits), the code writes the nibble to the I2C expander first (LiquidCrystal_I2C::expanderWrite), and then writes again when pulsing the Enable bit. Why is the first expanderWrite necessary? Why can't write4bits just call pulseEnable (with the blacklight bit set)?

            I am sure there is a reason as I checked other library like RPLCD and see a similar pattern. Can anyone enlighten me? Thank you.

            ...

            ANSWER

            Answered 2017-Jul-01 at 01:13

            From the datasheet I found the LCD requires specific timing in the communication protocol. On the rising edge of the enable line the Register Select and Read/Write lines must have already settled for tsu1 (100ns). On the falling edge of the enable line the data must have already settled for tsu2 (60ns). By writing _data they are also writing the RS and R/W lines as they are the lower nibble of _data.

            This article covers the topic very thoroughly.

            Source https://stackoverflow.com/questions/44836514

            QUESTION

            Check to see if a file exists, and create it if it doesn't
            Asked 2017-Jun-19 at 21:02

            I tried a try: catch but it isn't working. I suppose I could change it to an if statement but don't understand why this isn't working. This is my very first "real" project. I'm building an irrigation controller and creating a dictionary of schedules for irrigation. The first is the code I have so far and the second code is the "test" by itself that I'm trying. Every time I run the code it rewrites over the existing file, when what I want is for it to open the file if it already exists and NOT write it again.

            ...

            ANSWER

            Answered 2017-Jun-19 at 21:01

            You can use os.path.exists("schedule.dat"). It returns a boolean result.

            An alternative solution using os.stat involves:

            Source https://stackoverflow.com/questions/44639854

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install RPLCD

            You can install using 'pip install RPLCD' or download it from GitHub, PyPI.
            You can use RPLCD like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            Install
          • PyPI

            pip install RPLCD

          • CLONE
          • HTTPS

            https://github.com/dbrgn/RPLCD.git

          • CLI

            gh repo clone dbrgn/RPLCD

          • sshUrl

            git@github.com:dbrgn/RPLCD.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link