diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..e69de29 diff --git a/backup.py b/backup.py new file mode 100644 index 0000000..0cc1a9f --- /dev/null +++ b/backup.py @@ -0,0 +1,65 @@ +# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries +# SPDX-License-Identifier: Unlicense +"""CircuitPython I2C Device Address Scan""" +import board +import adafruit_ssd1306 +import neopixel +import rotaryio +import busio +import digitalio +import time + +# Setup the i2c bus +i2c = busio.I2C(board.A3, board.A2) + +# Get the oled +oled = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c) + +# Setup the NeoPixel +neopixel = neopixel.NeoPixel(board.NEOPIXEL, 1) + +# Setup the encoder +enc = rotaryio.IncrementalEncoder(board.D5, board.D4) + +# Setup the encoder button +enc_btn = digitalio.DigitalInOut(board.D3) +enc_btn.direction = digitalio.Direction.INPUT + + +# Start the main loop +last_position = None +colour = [0,0,0] +menu_item = 0 +sub_menu = False +while True: + if menu_item == 0: + menu = "[R] G B" + if menu_item == 1: + menu = "R [G] B" + if menu_item == 2: + menu = "R G [B]" + oled.fill(0) + oled.text(menu, 0, 0, 1) + current_value = neopixel[0] + oled.text(f"{current_value[0]}:{current_value[1]}:{current_value[2]}", 0, 10, 1) + position = enc.position + if last_position == None or position != last_position: + print(position) + last_position = position + if not enc_btn.value: + sub_menu = not sub_menu + enc.position = 0 + if not sub_menu: + menu_item = position % 3 + else: + colour[menu_item] = position + if enc.position < 0: + position = 0 + enc.position = 0 + if enc.position > 255: + position = 255 + enc.position = 255 + + neopixel.fill((colour[0],colour[1],colour[2])) + # oled.text(f'Position: {position}', 0, 0, 1) + oled.show() diff --git a/code.py b/code.py new file mode 100644 index 0000000..323d07b --- /dev/null +++ b/code.py @@ -0,0 +1,66 @@ +# SPDX-FileCopyrightText: 2021 Kattni Rembor for Adafruit Industries +# SPDX-License-Identifier: Unlicense +"""CircuitPython I2C Device Address Scan""" +import board +import adafruit_ssd1306 +import neopixel +import rotaryio +import busio +import digitalio +import time + +# Setup the i2c bus +i2c = busio.I2C(board.A3, board.A2) + +# Get the oled +oled = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c) + +# Setup the NeoPixel +neopixel = neopixel.NeoPixel(board.NEOPIXEL, 1) + +# Setup the encoder +enc = rotaryio.IncrementalEncoder(board.D5, board.D4) + +# Setup the encoder button +enc_btn = digitalio.DigitalInOut(board.D3) +enc_btn.direction = digitalio.Direction.INPUT + + +# Start the main loop +last_position = None +colour = [0,0,0] +menu_item = 0 +sub_menu = False +while True: + if menu_item == 0: + menu = "[R] G B" + if menu_item == 1: + menu = "R [G] B" + if menu_item == 2: + menu = "R G [B]" + oled.fill(0) + oled.text(menu, 0, 0, 1) + current_value = neopixel[0] + oled.text(f"{current_value[0]}:{current_value[1]}:{current_value[2]}", 0, 10, 1) + position = enc.position + if last_position == None or position != last_position: + print(position) + last_position = position + if not enc_btn.value: + sub_menu = not sub_menu + enc.position = 0 + time.sleep(0.1) + if not sub_menu: + menu_item = position % 3 + else: + colour[menu_item] = position + if enc.position < 0: + position = 0 + enc.position = 0 + if enc.position > 255: + position = 255 + enc.position = 255 + + neopixel.fill((colour[0],colour[1],colour[2])) + # oled.text(f'Position: {position}', 0, 0, 1) + oled.show() diff --git a/font5x8.bin b/font5x8.bin new file mode 100644 index 0000000..9a0563b Binary files /dev/null and b/font5x8.bin differ diff --git a/lib/adafruit_bitmap_font/__init__.py b/lib/adafruit_bitmap_font/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/adafruit_bitmap_font/bdf.mpy b/lib/adafruit_bitmap_font/bdf.mpy new file mode 100644 index 0000000..33bbd9f Binary files /dev/null and b/lib/adafruit_bitmap_font/bdf.mpy differ diff --git a/lib/adafruit_bitmap_font/bitmap_font.mpy b/lib/adafruit_bitmap_font/bitmap_font.mpy new file mode 100644 index 0000000..fec35b4 Binary files /dev/null and b/lib/adafruit_bitmap_font/bitmap_font.mpy differ diff --git a/lib/adafruit_bitmap_font/glyph_cache.mpy b/lib/adafruit_bitmap_font/glyph_cache.mpy new file mode 100644 index 0000000..a2e3f2c Binary files /dev/null and b/lib/adafruit_bitmap_font/glyph_cache.mpy differ diff --git a/lib/adafruit_bitmap_font/pcf.mpy b/lib/adafruit_bitmap_font/pcf.mpy new file mode 100644 index 0000000..98f1dec Binary files /dev/null and b/lib/adafruit_bitmap_font/pcf.mpy differ diff --git a/lib/adafruit_bitmap_font/ttf.mpy b/lib/adafruit_bitmap_font/ttf.mpy new file mode 100644 index 0000000..e91cee2 Binary files /dev/null and b/lib/adafruit_bitmap_font/ttf.mpy differ diff --git a/lib/adafruit_displayio_ssd1306.mpy b/lib/adafruit_displayio_ssd1306.mpy new file mode 100644 index 0000000..c916d48 Binary files /dev/null and b/lib/adafruit_displayio_ssd1306.mpy differ diff --git a/lib/adafruit_framebuf.mpy b/lib/adafruit_framebuf.mpy new file mode 100644 index 0000000..1174b01 Binary files /dev/null and b/lib/adafruit_framebuf.mpy differ diff --git a/lib/adafruit_ssd1306.mpy b/lib/adafruit_ssd1306.mpy new file mode 100644 index 0000000..e6816ca Binary files /dev/null and b/lib/adafruit_ssd1306.mpy differ diff --git a/lib/bitmap_font.mpy b/lib/bitmap_font.mpy new file mode 100644 index 0000000..fec35b4 Binary files /dev/null and b/lib/bitmap_font.mpy differ diff --git a/lib/font5x8.bin b/lib/font5x8.bin new file mode 100644 index 0000000..9a0563b Binary files /dev/null and b/lib/font5x8.bin differ diff --git a/lib/neopixel.mpy b/lib/neopixel.mpy new file mode 100644 index 0000000..f4610e6 Binary files /dev/null and b/lib/neopixel.mpy differ diff --git a/upload.sh b/upload.sh new file mode 100644 index 0000000..9a5f38c --- /dev/null +++ b/upload.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +echo "Mounting the disk" +# mount the disk +diskpath=$(udisksctl mount -b /dev/disk/by-label/CIRCUITPY) +echo "Disk mounted" + +# Change to the mounted folder +cd $(echo $diskpath | awk '{print $4}') + +echo "Backing up code to ~/Documents/Projects/light_control/backup.py" +# Backing up code +cp code.py ~/Documents/Projects/light_control/backup.py + +echo "Replacing code" +# Replacing code +cp -f ~/Documents/Projects/light_control/code.py code.py + +echo "Code uploaded, unmounting circuitpy" +sync +cd ~ + +udisksctl unmount -b /dev/disk/by-label/CIRCUITPY \ No newline at end of file