micropython/ports/esp32/boards/UM_NANOS3/modules/nanos3.py

47 wiersze
1.1 KiB
Python

# NanoS3 Helper Library
# MIT license; Copyright (c) 2023 Seon Rozenblum - Unexpected Maker
#
# Project home:
# https://nanos3.io
# Import required libraries
from micropython import const
from machine import Pin, ADC
import time
# TinyS3 Hardware Pin Assignments
# RGB LED Pins
RGB_DATA = const(41)
RGB_PWR = const(42)
# SPI
SPI_MOSI = const(35)
SPI_MISO = const(37)
SPI_CLK = const(36)
# I2C
I2C_SDA = const(8)
I2C_SCL = const(9)
# Helper functions
def set_pixel_power(state):
"""Enable or Disable power to the onboard NeoPixel to either show colour, or to reduce power for deep sleep."""
Pin(RGB_PWR, Pin.OUT).value(state)
# NeoPixel rainbow colour wheel
def rgb_color_wheel(wheel_pos):
"""Color wheel to allow for cycling through the rainbow of RGB colors."""
wheel_pos = wheel_pos % 255
if wheel_pos < 85:
return 255 - wheel_pos * 3, 0, wheel_pos * 3
elif wheel_pos < 170:
wheel_pos -= 85
return 0, wheel_pos * 3, 255 - wheel_pos * 3
else:
wheel_pos -= 170
return wheel_pos * 3, 255 - wheel_pos * 3, 0