Skip to main content

cjn's library of Raspberry Pi functions, drivers, tools, ...

Project description

cjn_PiTools - A collection of modules for Raspberry Pi projects

cjn_PiTools is comprised of several modules (follow links to respective documentation)

NOTE: These links point to the github repo since relative links to other .md files do not work on PyPI.

Module Description/Purpose
PiBlinky A multiple threaded LED driver for Raspberry Pi
PiOLED Display multi-line messages on a shared Raspberry Pi connected OLED display
DS18B20 DS18B20 temperature sensor library using the w1_therm kernel driver
initW1buses Initialize the W1 buses and set write permission on found therm_bulk_read file(s)
ADC121C ADC121C* 12-bit ADC library for Raspberry Pi
SHT3x SHT3x Temperature/RH sensor library for Raspberry Pi
HTU21D HTU21D Temperature/RH sensor library for Raspberry Pi
MCP23008 MCP23008 8-Bit I/O Expander library for Raspberry Pi
PCA9548 PCA9548A/TCA9548A I2C port expander library for Raspberry Pi
shared Classes and functions used across cjn_PiTools

These drivers work with both RPi.GPIO / smbus2 (for local control) and pigpio for (local and remote control).

Developed and tested on Raspbian GNU/Linux 11 (bullseye) and Python 3.9.2, and supported on all higher versions.

In this documentation, "tool script" refers to a Python project that imports and uses cjn_PiTools. Some may be simple scripts, and others may themselves be installed packages.


Installation and usage

If using the RPi.GPIO and/or smbus2 drivers:

pip install cjn_PiTools

If using the pigpio driver:

pip install cjn_PiTools[pigpio]
  • And you will also need to install the pigpiod daemon (sudo apt install pigpiod) and start it manually or at boot. Here's a systemd service file for starting pigpiod at boot:

      [Unit]
      Description=Daemon required to control GPIO pins via pigpio
    
      [Service]
      ExecStart=/usr/local/bin/pigpiod -l
      Type=forking
      TimeoutStopSec=20
    
      [Install]
      WantedBy=multi-user.target
    

Key changes since the prior major public release (1.1)

V1.2.1 Changes

  • HTU21D dummy user reg reads for measurement reads stability, init changed do_soft_reset > do_reset, consistent with SHT3x.
  • PCA9548 monitor_ch feature
  • ADC121C read_conversion_result force_address switch added to address issue when a second process accesses the device and leaves the address register set elsewhere

V1.2 Changes PiOLED uses shared memory, changed from display_file - cjnfuncs 3.2 dependency PiOLED add toolname to pioled_display_driver pioled_shm_lock and pioled_go_flag .get_lock() calls PiOLED taillog command Debug logging of MCP23008 set_register() and set_bits() values


Revision history

  • 1.2.1 260526 HTU21D dummy user reg reads for measurement reads stability PCA9548 monitor_ch ADC121C read_conversion_result force_address switch added PiOLED tweaks HTU21D init changed do_soft_reset > do_reset, consistent with SHT3x
  • 1.2 260506 PiOLED uses shared memory, changed from display_file - cjnfuncs 3.2 dependency PiOLED add toolname to pioled_display_driver pioled_shm_lock and pioled_go_flag .get_lock() calls PiOLED taillog command Debug logging of MCP23008 set_register() and set_bits() values
  • 1.1.1 260401 - pyproject.toml cleanup, keywords
  • 1.1 260401 - Added ADC121C, HTU21D, MCP23008, PCA9548, and SHT3x drivers
  • 1.0 260207 - New. Bundled PiBlinky, PiOLED, initW1buses, and DS18B20 modules

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cjn_pitools-1.2.1.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cjn_pitools-1.2.1-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file cjn_pitools-1.2.1.tar.gz.

File metadata

  • Download URL: cjn_pitools-1.2.1.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for cjn_pitools-1.2.1.tar.gz
Algorithm Hash digest
SHA256 0bc74be2e672aedbc2bccc361937eb905ceb6357d5dc53b0fb16858a940c9e76
MD5 494c0f772be5d8311a3fba38064c133e
BLAKE2b-256 64b3220fcc60444bd85b9d1ad12b4610d3cedfdf9dc03338f56ab77c3f6970dd

See more details on using hashes here.

File details

Details for the file cjn_pitools-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: cjn_pitools-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for cjn_pitools-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 07ff51b14e07b7940a476f01d0ec11f90a5d0972cfa7dedc8fc2c0b206da04af
MD5 94db93702b085666f32e12fc31424de1
BLAKE2b-256 5be5c644186c115fb82c53d9c373e367554aa5a8783258094e9bd6e38a3e49b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page