Skip to content

Implement SSD1306 sleep/wake functionality #19

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Feb 18, 2021
Merged

Conversation

SAK917
Copy link
Contributor

@SAK917 SAK917 commented Feb 18, 2021

Add sleep() and wake() methods and an is_awake property to allow users to put the display into a power-saving mode. Uses the bus object passed to the SSD1306 class at initialization to write to the device. Commands for entering and exiting sleep mode derived from the SSD1306 datasheet.

Tested on a Monochrome 1.3" 128x64 OLED graphic display

Added:
  self._is_awake - stores current state of the display
  is_awake - property that returns the current state
  sleep() - method that puts display to sleep
  wake() - method that wakes display from sleep
self._is_awake = True # Display starts in active state (_INIT_SEQUENCE)

@property
def is_awake(self):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename to awake

"""
return self._is_awake

def sleep(self):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be part of the awake property = setting it to True or False puts it to sleep or not

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. @ladyada please re-review in case you strongly disagree with the API.

@ladyada ladyada merged commit 8226c2a into adafruit:master Feb 18, 2021
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Feb 24, 2021
Updating https://github.com/adafruit/Adafruit_CircuitPython_DHT to 3.5.6 from 3.5.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_DHT#62 from jposada202020/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306 to 1.3.0 from 1.2.4:
  > Merge pull request adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306#19 from SAK917/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_IL0373 to 1.3.6 from 1.3.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_IL0373#21 from makermelissa/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_INA260 to 1.3.0 from 1.2.6:
  > Merge pull request adafruit/Adafruit_CircuitPython_INA260#15 from gpongelli/patch-1

Updating https://github.com/adafruit/Adafruit_CircuitPython_MCP2515 to 1.0.4 from 1.0.3:
  > Changed py_modules to packages

Updating https://github.com/adafruit/Adafruit_CircuitPython_SCD30 to 2.0.3 from 2.0.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_SCD30#10 from caternuson/remove_asc

Updating https://github.com/adafruit/Adafruit_CircuitPython_SSD1608 to 1.2.5 from 1.2.4:
  > Merge pull request adafruit/Adafruit_CircuitPython_SSD1608#10 from makermelissa/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_SSD1681 to 1.0.2 from 1.0.1:
  > Merge pull request adafruit/Adafruit_CircuitPython_SSD1681#3 from makermelissa/main

Updating https://github.com/adafruit/Adafruit_CircuitPython_ST7789 to 1.4.4 from 1.4.3:
  > Merge pull request adafruit/Adafruit_CircuitPython_ST7789#22 from wildestpixel/patch-2

Updating https://github.com/adafruit/Adafruit_CircuitPython_VL53L0X to 3.3.6 from 3.3.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_VL53L0X#26 from caternuson/iss25

Updating https://github.com/adafruit/Adafruit_CircuitPython_VL6180X to 1.2.6 from 1.2.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_VL6180X#17 from OleMchls/patch-1

Updating https://github.com/adafruit/Adafruit_CircuitPython_Gizmo to 1.3.0 from 1.2.4:
  > Merge pull request adafruit/Adafruit_CircuitPython_Gizmo#15 from makermelissa/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_MagTag to 1.7.0 from 1.6.1:
  > Merge pull request adafruit/Adafruit_CircuitPython_MagTag#56 from KTibow/patch-2

Updating https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT to 5.0.2 from 5.0.1:
  > Merge pull request adafruit/Adafruit_CircuitPython_MiniMQTT#69 from dlizotte-uwo/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_Motor to 3.2.7 from 3.2.6:
  > Merge pull request adafruit/Adafruit_CircuitPython_Motor#52 from jedgarpark/pico-dc-motor-example

Updating https://github.com/adafruit/Adafruit_CircuitPython_PIOASM to 0.1.6 from 0.1.5:
  > Merge pull request adafruit/Adafruit_CircuitPython_PIOASM#8 from jepler/commas

Updating https://github.com/adafruit/Adafruit_CircuitPython_PortalBase to 1.2.3 from 1.2.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_PortalBase#13 from Neradoc/patch-1

Updating https://github.com/adafruit/Adafruit_CircuitPython_Bundle/circuitpython_library_list.md to NA from NA:
  > Added the following libraries: Adafruit_CircuitPython_SSD1681
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants