From 018531c54eeefc4a3fa3fbb024a4e60573d94992 Mon Sep 17 00:00:00 2001 From: wemos Date: Thu, 12 Aug 2021 13:57:20 +0800 Subject: [PATCH 1/2] add LOLIN_S2_MINI and LOLIN_S2_PICO boards support. --- ports/esp32/boards/LOLIN_S2_MINI/manifest.py | 4 + .../boards/LOLIN_S2_MINI/modules/s2mini.py | 57 +++++++++ .../boards/LOLIN_S2_MINI/mpconfigboard.cmake | 10 ++ .../boards/LOLIN_S2_MINI/mpconfigboard.h | 12 ++ .../boards/LOLIN_S2_MINI/sdkconfig.board | 6 + ports/esp32/boards/LOLIN_S2_PICO/manifest.py | 4 + .../boards/LOLIN_S2_PICO/modules/s2pico.py | 109 ++++++++++++++++++ .../boards/LOLIN_S2_PICO/mpconfigboard.cmake | 10 ++ .../boards/LOLIN_S2_PICO/mpconfigboard.h | 12 ++ .../boards/LOLIN_S2_PICO/sdkconfig.board | 6 + 10 files changed, 230 insertions(+) create mode 100644 ports/esp32/boards/LOLIN_S2_MINI/manifest.py create mode 100644 ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py create mode 100644 ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake create mode 100644 ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.h create mode 100644 ports/esp32/boards/LOLIN_S2_MINI/sdkconfig.board create mode 100644 ports/esp32/boards/LOLIN_S2_PICO/manifest.py create mode 100644 ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py create mode 100644 ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake create mode 100644 ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.h create mode 100644 ports/esp32/boards/LOLIN_S2_PICO/sdkconfig.board diff --git a/ports/esp32/boards/LOLIN_S2_MINI/manifest.py b/ports/esp32/boards/LOLIN_S2_MINI/manifest.py new file mode 100644 index 0000000000000..98d4247c607a9 --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_MINI/manifest.py @@ -0,0 +1,4 @@ +include("$(PORT_DIR)/boards/manifest.py") +freeze("./modules") + +freeze("$(MPY_DIR)/drivers/display", "ssd1306.py") diff --git a/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py b/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py new file mode 100644 index 0000000000000..834ac555889ef --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py @@ -0,0 +1,57 @@ +# LOLIN S2 MINI MicroPython Helper Library + + +from micropython import const +from machine import Pin, SPI, ADC +import machine, time + +import network + +# Pin Assignments + + + + +# SPI +SPI_MOSI = const(11) +SPI_MISO = const(9) +SPI_CLK = const(7) + +# I2C +I2C_SDA = const(33) +I2C_SCL = const(35) + +# DAC +DAC1 = const(17) +DAC2 = const(18) + +# LED +LED = const(15) + +#BUTTON +BUTTON = const(0) + + + +class led: + def __init__(self): + self._led = Pin(LED, Pin.OUT, value=0) + + def on(self): + self._led.value(1) + + def off(self): + self._led.value(0) + +class button: + def __init__(self): + self._btn = Pin(BUTTON, Pin.IN, Pin.PULL_UP) + + def get_button_status(self): + return self._btn.value() + + def set_button_callback(self, cb): + self._btn.irq(trigger=Pin.IRQ_FALLING, handler=cb) + + + diff --git a/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake new file mode 100644 index 0000000000000..a7ec955c7da7b --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.cmake @@ -0,0 +1,10 @@ +set(IDF_TARGET esp32s2) +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + boards/sdkconfig.spiram_sx + boards/sdkconfig.usb +) + +if(NOT MICROPY_FROZEN_MANIFEST) + set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) +endif() diff --git a/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.h b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.h new file mode 100644 index 0000000000000..bc2becbaeb2cd --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_MINI/mpconfigboard.h @@ -0,0 +1,12 @@ +#define MICROPY_HW_BOARD_NAME "LOLIN_S2_MINI" +#define MICROPY_HW_MCU_NAME "ESP32-S2FN4R2" + +#define MICROPY_PY_BLUETOOTH (0) +#define MICROPY_HW_ENABLE_SDCARD (0) + +#define MICROPY_HW_I2C0_SCL (35) +#define MICROPY_HW_I2C0_SDA (33) + +#define MICROPY_HW_SPI1_MOSI (11) +#define MICROPY_HW_SPI1_MISO (9) +#define MICROPY_HW_SPI1_SCK (7) diff --git a/ports/esp32/boards/LOLIN_S2_MINI/sdkconfig.board b/ports/esp32/boards/LOLIN_S2_MINI/sdkconfig.board new file mode 100644 index 0000000000000..1a7ef3f8b92ad --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_MINI/sdkconfig.board @@ -0,0 +1,6 @@ +CONFIG_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +CONFIG_USB_AND_UART=y +# LWIP +CONFIG_LWIP_LOCAL_HOSTNAME="LOLIN_S2_MINI" +# end of LWIP diff --git a/ports/esp32/boards/LOLIN_S2_PICO/manifest.py b/ports/esp32/boards/LOLIN_S2_PICO/manifest.py new file mode 100644 index 0000000000000..98d4247c607a9 --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_PICO/manifest.py @@ -0,0 +1,4 @@ +include("$(PORT_DIR)/boards/manifest.py") +freeze("./modules") + +freeze("$(MPY_DIR)/drivers/display", "ssd1306.py") diff --git a/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py b/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py new file mode 100644 index 0000000000000..2fb20e1a6e14a --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py @@ -0,0 +1,109 @@ +# LOLIN S2 PICO MicroPython Helper Library + + +from micropython import const +from machine import Pin, SPI, ADC, I2C +import machine, time +import ssd1306 + +import network + + +# Pin Assignments + +# SPI +SPI_MOSI = const(35) +SPI_MISO = const(36) +SPI_CLK = const(37) + +# I2C +I2C_SDA = const(8) +I2C_SCL = const(9) + +# DAC +DAC1 = const(17) +DAC2 = const(18) + +# LED +LED = const(10) + +# OLED +OLED_RST = const(18) + +#BUTTON +BUTTON = const(0) + + + + +class led: + def __init__(self): + self._led = Pin(LED, Pin.OUT, value=1) + def on(self): + self._led.value(0) + def off(self): + self._led.value(1) + +class button: + def __init__(self): + self._btn = Pin(BUTTON, Pin.IN, Pin.PULL_UP) + + def get_button_status(self): + return self._btn.value() + + def set_button_callback(self, cb): + self._btn.irq(trigger=Pin.IRQ_FALLING, handler=cb) + +class oled(ssd1306.SSD1306_I2C): + def __init__(self): + self.reset() + + # super().__init__(128,32,I2C(0)) + + def reset(self): + + Pin(OLED_RST, Pin.OUT).value(1) + time.sleep_ms(1) + Pin(OLED_RST, Pin.OUT).value(0) + time.sleep_ms(10) + Pin(OLED_RST, Pin.OUT).value(1) + + super().__init__(128,32,I2C(0)) + + def test(self): + + + self.fill(0) + self.fill_rect(0, 0, 32, 32, 1) + self.fill_rect(2, 2, 28, 28, 0) + self.vline(9, 8, 22, 1) + self.vline(16, 2, 22, 1) + self.vline(23, 8, 22, 1) + self.fill_rect(26, 24, 2, 4, 1) + self.text('MicroPython', 40, 0, 1) + self.text('SSD1306', 40, 12, 1) + self.text('OLED 128x32', 40, 24, 1) + self.show() + + def display_wifi(self): + + self.fill(0) + self.text("Scan...", 0, 0, 1) + self.show() + + sta_if = network.WLAN(network.STA_IF) + sta_if.active(True) + _wifi=sta_if.scan() + + self.fill(0) + self.text(str(len(_wifi))+' Networks', 0, 0, 1) + self.text(str(_wifi[0][3])+" - "+(_wifi[0][0]).decode("utf-8") , 0, 12, 1) + self.text(str(_wifi[1][3])+" - "+(_wifi[1][0]).decode("utf-8") , 0, 24, 1) + + self.show() + + + + + + diff --git a/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake new file mode 100644 index 0000000000000..a7ec955c7da7b --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.cmake @@ -0,0 +1,10 @@ +set(IDF_TARGET esp32s2) +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + boards/sdkconfig.spiram_sx + boards/sdkconfig.usb +) + +if(NOT MICROPY_FROZEN_MANIFEST) + set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py) +endif() diff --git a/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.h b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.h new file mode 100644 index 0000000000000..dc41d632accb3 --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_PICO/mpconfigboard.h @@ -0,0 +1,12 @@ +#define MICROPY_HW_BOARD_NAME "LOLIN_S2_PICO" +#define MICROPY_HW_MCU_NAME "ESP32-S2FN4R2" + +#define MICROPY_PY_BLUETOOTH (0) +#define MICROPY_HW_ENABLE_SDCARD (0) + +#define MICROPY_HW_I2C0_SCL (9) +#define MICROPY_HW_I2C0_SDA (8) + +#define MICROPY_HW_SPI1_MOSI (35) +#define MICROPY_HW_SPI1_MISO (36) +#define MICROPY_HW_SPI1_SCK (37) diff --git a/ports/esp32/boards/LOLIN_S2_PICO/sdkconfig.board b/ports/esp32/boards/LOLIN_S2_PICO/sdkconfig.board new file mode 100644 index 0000000000000..bf0f3e780e4d6 --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_PICO/sdkconfig.board @@ -0,0 +1,6 @@ +CONFIG_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +CONFIG_USB_AND_UART=y +# LWIP +CONFIG_LWIP_LOCAL_HOSTNAME="LOLIN_S2_PICO" +# end of LWIP From 5fe02ce9183b7c96f788299264d6adbe367a90d8 Mon Sep 17 00:00:00 2001 From: wemos Date: Sat, 14 Aug 2021 16:12:55 +0800 Subject: [PATCH 2/2] fix --- .../boards/LOLIN_S2_MINI/modules/s2mini.py | 11 ++--- .../boards/LOLIN_S2_PICO/modules/s2pico.py | 41 ++++++++----------- 2 files changed, 21 insertions(+), 31 deletions(-) diff --git a/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py b/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py index 834ac555889ef..5e6346895daba 100644 --- a/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py +++ b/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py @@ -10,8 +10,6 @@ # Pin Assignments - - # SPI SPI_MOSI = const(11) SPI_MISO = const(9) @@ -28,21 +26,21 @@ # LED LED = const(15) -#BUTTON +# BUTTON BUTTON = const(0) - class led: def __init__(self): self._led = Pin(LED, Pin.OUT, value=0) def on(self): self._led.value(1) - + def off(self): self._led.value(0) + class button: def __init__(self): self._btn = Pin(BUTTON, Pin.IN, Pin.PULL_UP) @@ -52,6 +50,3 @@ def get_button_status(self): def set_button_callback(self, cb): self._btn.irq(trigger=Pin.IRQ_FALLING, handler=cb) - - - diff --git a/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py b/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py index 2fb20e1a6e14a..da2c89157d4ef 100644 --- a/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py +++ b/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py @@ -30,20 +30,21 @@ # OLED OLED_RST = const(18) -#BUTTON +# BUTTON BUTTON = const(0) - - class led: def __init__(self): self._led = Pin(LED, Pin.OUT, value=1) + def on(self): self._led.value(0) + def off(self): self._led.value(1) + class button: def __init__(self): self._btn = Pin(BUTTON, Pin.IN, Pin.PULL_UP) @@ -54,24 +55,24 @@ def get_button_status(self): def set_button_callback(self, cb): self._btn.irq(trigger=Pin.IRQ_FALLING, handler=cb) + class oled(ssd1306.SSD1306_I2C): def __init__(self): self.reset() - + # super().__init__(128,32,I2C(0)) def reset(self): Pin(OLED_RST, Pin.OUT).value(1) - time.sleep_ms(1) + time.sleep_ms(1) Pin(OLED_RST, Pin.OUT).value(0) - time.sleep_ms(10) + time.sleep_ms(10) Pin(OLED_RST, Pin.OUT).value(1) - super().__init__(128,32,I2C(0)) + super().__init__(128, 32, I2C(0)) def test(self): - self.fill(0) self.fill_rect(0, 0, 32, 32, 1) @@ -80,30 +81,24 @@ def test(self): self.vline(16, 2, 22, 1) self.vline(23, 8, 22, 1) self.fill_rect(26, 24, 2, 4, 1) - self.text('MicroPython', 40, 0, 1) - self.text('SSD1306', 40, 12, 1) - self.text('OLED 128x32', 40, 24, 1) + self.text("MicroPython", 40, 0, 1) + self.text("SSD1306", 40, 12, 1) + self.text("OLED 128x32", 40, 24, 1) self.show() - + def display_wifi(self): self.fill(0) self.text("Scan...", 0, 0, 1) self.show() - + sta_if = network.WLAN(network.STA_IF) sta_if.active(True) - _wifi=sta_if.scan() + _wifi = sta_if.scan() self.fill(0) - self.text(str(len(_wifi))+' Networks', 0, 0, 1) - self.text(str(_wifi[0][3])+" - "+(_wifi[0][0]).decode("utf-8") , 0, 12, 1) - self.text(str(_wifi[1][3])+" - "+(_wifi[1][0]).decode("utf-8") , 0, 24, 1) + self.text(str(len(_wifi)) + " Networks", 0, 0, 1) + self.text(str(_wifi[0][3]) + " - " + (_wifi[0][0]).decode("utf-8"), 0, 12, 1) + self.text(str(_wifi[1][3]) + " - " + (_wifi[1][0]).decode("utf-8"), 0, 24, 1) self.show() - - - - - - pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy