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..5e6346895daba --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_MINI/modules/s2mini.py @@ -0,0 +1,52 @@ +# 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..da2c89157d4ef --- /dev/null +++ b/ports/esp32/boards/LOLIN_S2_PICO/modules/s2pico.py @@ -0,0 +1,104 @@ +# 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 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