From 0acbcc415bbc3ab5b80aeee23ce4258052d9ac2e Mon Sep 17 00:00:00 2001 From: Daniel Thompson Date: Thu, 30 Jan 2020 22:11:31 +0000 Subject: wasp: Reorganise the board support diff --git a/Makefile b/Makefile index 70f65a3..6cc89a3 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ micropython: $(RM) micropython/ports/nrf/build-$(BOARD)-s132/frozen_content.c $(MAKE) -C micropython/ports/nrf \ BOARD=$(BOARD) SD=s132 \ - FROZEN_MANIFEST=$(PWD)/manifest/$(BOARD).py + FROZEN_MANIFEST=$(PWD)/wasp/boards/$(BOARD)/manifest.py python3 -m nordicsemi dfu genpkg \ --dev-type 0x0052 \ --application micropython/ports/nrf/build-$(BOARD)-s132/firmware.hex \ diff --git a/manifest/dsd6.py b/manifest/dsd6.py deleted file mode 100644 index e69de29..0000000 diff --git a/manifest/nitrogen.py b/manifest/nitrogen.py deleted file mode 100644 index e69de29..0000000 diff --git a/manifest/pinetime.py b/manifest/pinetime.py deleted file mode 100644 index 7175d74..0000000 --- a/manifest/pinetime.py +++ /dev/null @@ -1,12 +0,0 @@ -freeze('$(MPY_DIR)/../wasp', - ( - 'boot.py', - 'demo.py', - 'drivers/battery.py', - 'drivers/signal.py', - 'drivers/st7789.py', - 'logo.py', - 'pinetime.py' - ), - opt=3 -) diff --git a/wasp/boards/dsd6/manifest.py b/wasp/boards/dsd6/manifest.py new file mode 100644 index 0000000..e69de29 diff --git a/wasp/boards/nitrogen/manifest.py b/wasp/boards/nitrogen/manifest.py new file mode 100644 index 0000000..e69de29 diff --git a/wasp/boards/pinetime/manifest.py b/wasp/boards/pinetime/manifest.py new file mode 100644 index 0000000..22fd135 --- /dev/null +++ b/wasp/boards/pinetime/manifest.py @@ -0,0 +1,12 @@ +freeze('../..', + ( + 'boot.py', + 'demo.py', + 'drivers/battery.py', + 'drivers/signal.py', + 'drivers/st7789.py', + 'logo.py', + ), + opt=3 +) +freeze('.', 'watch.py', opt=3) diff --git a/wasp/boards/pinetime/watch.py b/wasp/boards/pinetime/watch.py new file mode 100644 index 0000000..730eebc --- /dev/null +++ b/wasp/boards/pinetime/watch.py @@ -0,0 +1,53 @@ +from machine import Pin +#from machine import Signal +from machine import SPI + +from drivers.battery import Battery +from drivers.signal import Signal +from drivers.st7789 import ST7789_SPI + +class Display(ST7789_SPI): + def __init__(self): + spi = SPI(0) + # Mode 3, maximum clock speed! + spi.init(polarity=1, phase=1, baudrate=8000000) + + # Configure the display + cs = Pin("DISP_CS", Pin.OUT) + dc = Pin("DISP_DC", Pin.OUT) + rst = Pin("DISP_RST", Pin.OUT) + + super().__init__(240, 240, spi, cs=cs, dc=dc, res=rst) + +class Backlight(object): + lo = Pin("BL_LO", Pin.OUT, value=0) + mid = Pin("BL_MID", Pin.OUT, value=1) + hi = Pin("BL_HI", Pin.OUT, value=1) + + def __init__(self, level=1): + self.set(level) + + def set(self, level): + hi = 1 + mid = 1 + lo = 1 + + if level >= 3: + hi = 0 + elif level == 2: + mid = 0 + elif level == 1: + lo = 0 + + self.hi(hi) + self.mid(mid) + self.lo(lo) + +backlight = Backlight(0) +display = Display() +backlight.set(1) + +battery = Battery( + Pin('BATTERY', Pin.IN), + Signal(Pin('CHARGING', Pin.IN), invert=True), + Signal(Pin('USB_PWR', Pin.IN), invert=True)) diff --git a/wasp/boot.py b/wasp/boot.py index 79601e7..08d5c12 100644 --- a/wasp/boot.py +++ b/wasp/boot.py @@ -1,6 +1,6 @@ import logo -import pinetime +import watch -pinetime.display.rleblit(logo.pine64, fg=0xffff) +watch.display.rleblit(logo.pine64, fg=0xffff) diff --git a/wasp/demo.py b/wasp/demo.py index b74d3e6..9da9f5f 100644 --- a/wasp/demo.py +++ b/wasp/demo.py @@ -7,7 +7,7 @@ # len(colors) is not a multiple of 5 ;-) ). # -import pinetime, logo, time, gc +import watch, logo, time, gc colors = ( 0xffff, @@ -38,8 +38,8 @@ def run(): l = logo.micropython else: l = logo.pine64 - pinetime.display.fill(0) + watch.display.fill(0) - pinetime.display.rleblit(l, fg=c) + watch.display.rleblit(l, fg=c) time.sleep(2) gc.collect() diff --git a/wasp/pinetime.py b/wasp/pinetime.py deleted file mode 100644 index 730eebc..0000000 --- a/wasp/pinetime.py +++ /dev/null @@ -1,53 +0,0 @@ -from machine import Pin -#from machine import Signal -from machine import SPI - -from drivers.battery import Battery -from drivers.signal import Signal -from drivers.st7789 import ST7789_SPI - -class Display(ST7789_SPI): - def __init__(self): - spi = SPI(0) - # Mode 3, maximum clock speed! - spi.init(polarity=1, phase=1, baudrate=8000000) - - # Configure the display - cs = Pin("DISP_CS", Pin.OUT) - dc = Pin("DISP_DC", Pin.OUT) - rst = Pin("DISP_RST", Pin.OUT) - - super().__init__(240, 240, spi, cs=cs, dc=dc, res=rst) - -class Backlight(object): - lo = Pin("BL_LO", Pin.OUT, value=0) - mid = Pin("BL_MID", Pin.OUT, value=1) - hi = Pin("BL_HI", Pin.OUT, value=1) - - def __init__(self, level=1): - self.set(level) - - def set(self, level): - hi = 1 - mid = 1 - lo = 1 - - if level >= 3: - hi = 0 - elif level == 2: - mid = 0 - elif level == 1: - lo = 0 - - self.hi(hi) - self.mid(mid) - self.lo(lo) - -backlight = Backlight(0) -display = Display() -backlight.set(1) - -battery = Battery( - Pin('BATTERY', Pin.IN), - Signal(Pin('CHARGING', Pin.IN), invert=True), - Signal(Pin('USB_PWR', Pin.IN), invert=True)) -- cgit v0.10.2