forked from external-repos/esp32cam-rtsp
Added M5Stack UnitCamS3
This commit is contained in:
8
.github/workflows/main.yml
vendored
8
.github/workflows/main.yml
vendored
@@ -5,17 +5,17 @@ jobs:
|
|||||||
name: Build
|
name: Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
- uses: actions/cache@v3
|
- uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: |
|
path: |
|
||||||
~/.cache/pip
|
~/.cache/pip
|
||||||
~/.platformio/.cache
|
~/.platformio/.cache
|
||||||
key: ${{ runner.os }}-pio
|
key: ${{ runner.os }}-pio
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.9'
|
python-version: '3.9'
|
||||||
- name: Install PlatformIO
|
- name: Install PlatformIO
|
||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
- name: Build firmware
|
- name: Build firmware
|
||||||
run: platformio run
|
run: platformio run
|
||||||
- name: Archive
|
- name: Archive
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: firmwares.zip
|
name: firmwares.zip
|
||||||
path: .pio/build/*/firmware.bin
|
path: .pio/build/*/firmware.bin
|
||||||
|
|||||||
@@ -111,7 +111,6 @@ constexpr camera_config_t ttgo_t_camera_settings = {
|
|||||||
.grab_mode = CAMERA_GRAB_LATEST};
|
.grab_mode = CAMERA_GRAB_LATEST};
|
||||||
|
|
||||||
constexpr camera_config_t m5stack_camera_settings = {
|
constexpr camera_config_t m5stack_camera_settings = {
|
||||||
.pin_pwdn = -1,
|
|
||||||
.pin_reset = -1,
|
.pin_reset = -1,
|
||||||
.pin_xclk = 10,
|
.pin_xclk = 10,
|
||||||
.pin_sscb_sda = 40,
|
.pin_sscb_sda = 40,
|
||||||
@@ -134,7 +133,7 @@ constexpr camera_config_t m5stack_camera_settings = {
|
|||||||
.frame_size = FRAMESIZE_SVGA,
|
.frame_size = FRAMESIZE_SVGA,
|
||||||
.jpeg_quality = 12,
|
.jpeg_quality = 12,
|
||||||
.fb_count = 1,
|
.fb_count = 1,
|
||||||
.fb_location = CAMERA_FB_IN_PSRAM,
|
.fb_location = CAMERA_FB_IN_DRAM,
|
||||||
.grab_mode = CAMERA_GRAB_LATEST};
|
.grab_mode = CAMERA_GRAB_LATEST};
|
||||||
|
|
||||||
constexpr camera_config_t wrover_kit_camera_settings = {
|
constexpr camera_config_t wrover_kit_camera_settings = {
|
||||||
@@ -190,3 +189,30 @@ constexpr camera_config_t xiao_esp32s3_camera_settings = {
|
|||||||
.fb_count = 2,
|
.fb_count = 2,
|
||||||
.fb_location = CAMERA_FB_IN_PSRAM,
|
.fb_location = CAMERA_FB_IN_PSRAM,
|
||||||
.grab_mode = CAMERA_GRAB_LATEST};
|
.grab_mode = CAMERA_GRAB_LATEST};
|
||||||
|
|
||||||
|
constexpr camera_config_t m5stack_unitcams3_camera_settings = {
|
||||||
|
.pin_pwdn = -1,
|
||||||
|
.pin_reset = 15,
|
||||||
|
.pin_xclk = 27,
|
||||||
|
.pin_sscb_sda = 25,
|
||||||
|
.pin_sscb_scl = 23,
|
||||||
|
.pin_d7 = 19,
|
||||||
|
.pin_d6 = 36,
|
||||||
|
.pin_d5 = 18,
|
||||||
|
.pin_d4 = 39,
|
||||||
|
.pin_d3 = 5,
|
||||||
|
.pin_d2 = 34,
|
||||||
|
.pin_d1 = 35,
|
||||||
|
.pin_d0 = 32,
|
||||||
|
.pin_vsync = 22,
|
||||||
|
.pin_href = 26,
|
||||||
|
.pin_pclk = 21,
|
||||||
|
.xclk_freq_hz = 20000000,
|
||||||
|
.ledc_timer = LEDC_TIMER_0,
|
||||||
|
.ledc_channel = LEDC_CHANNEL_0,
|
||||||
|
.pixel_format = PIXFORMAT_JPEG,
|
||||||
|
.frame_size = FRAMESIZE_SVGA,
|
||||||
|
.jpeg_quality = 12,
|
||||||
|
.fb_count = 1,
|
||||||
|
.fb_location = CAMERA_FB_IN_PSRAM,
|
||||||
|
.grab_mode = CAMERA_GRAB_LATEST};
|
||||||
@@ -32,6 +32,9 @@ constexpr camera_config_t default_camera_config = wrover_kit_camera_settings;
|
|||||||
#elif defined(BOARD_SEEED_XIAO_ESP32S3_SENSE)
|
#elif defined(BOARD_SEEED_XIAO_ESP32S3_SENSE)
|
||||||
constexpr const char *board_name = "Seed Xiao ESP32S3 Sense";
|
constexpr const char *board_name = "Seed Xiao ESP32S3 Sense";
|
||||||
constexpr camera_config_t default_camera_config = xiao_esp32s3_camera_settings;
|
constexpr camera_config_t default_camera_config = xiao_esp32s3_camera_settings;
|
||||||
|
#elif defined(BOARD_M5STACK_UNITCAMS3)
|
||||||
|
constexpr const char *board_name = "M5Stack UnitCamS3";
|
||||||
|
constexpr camera_config_t default_camera_config = m5stack_unitcams3_camera_settings;
|
||||||
#else
|
#else
|
||||||
#error No board defined
|
#error No board defined
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -16,7 +16,8 @@
|
|||||||
#default_envs = ttgo-t-beam
|
#default_envs = ttgo-t-beam
|
||||||
#default_envs = m5stack_esp32cam
|
#default_envs = m5stack_esp32cam
|
||||||
#default_envs = esp32_wrover_cam
|
#default_envs = esp32_wrover_cam
|
||||||
default_envs = seeed_xiao_esp32s3
|
#default_envs = seeed_xiao_esp32s3
|
||||||
|
#default_envs = m5stack_unitcams3
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
platform = espressif32
|
platform = espressif32
|
||||||
@@ -86,3 +87,10 @@ build_flags =
|
|||||||
board = seeed_xiao_esp32s3
|
board = seeed_xiao_esp32s3
|
||||||
build_flags =
|
build_flags =
|
||||||
-D BOARD_SEEED_XIAO_ESP32S3_SENSE
|
-D BOARD_SEEED_XIAO_ESP32S3_SENSE
|
||||||
|
-D BOARD_HAS_PSRAM
|
||||||
|
|
||||||
|
[env:m5stack_unitcams3]
|
||||||
|
board = esp32s3box
|
||||||
|
build_flags =
|
||||||
|
-D BOARD_M5STACK_UNITCAMS3
|
||||||
|
-D BOARD_HAS_PSRAM
|
||||||
@@ -300,8 +300,10 @@ void setup()
|
|||||||
// Disable brownout
|
// Disable brownout
|
||||||
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);
|
WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);
|
||||||
// LED_BUILTIN (GPIO33) has inverted logic false => LED on
|
// LED_BUILTIN (GPIO33) has inverted logic false => LED on
|
||||||
|
#ifdef LED_BUILTIN
|
||||||
pinMode(LED_BUILTIN, OUTPUT);
|
pinMode(LED_BUILTIN, OUTPUT);
|
||||||
digitalWrite(LED_BUILTIN, false);
|
digitalWrite(LED_BUILTIN, false);
|
||||||
|
#endif
|
||||||
|
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
Serial.setDebugOutput(true);
|
Serial.setDebugOutput(true);
|
||||||
@@ -348,7 +350,9 @@ void setup()
|
|||||||
iotWebConf.getApTimeoutParameter()->visible = true;
|
iotWebConf.getApTimeoutParameter()->visible = true;
|
||||||
iotWebConf.setConfigSavedCallback(on_config_saved);
|
iotWebConf.setConfigSavedCallback(on_config_saved);
|
||||||
iotWebConf.setWifiConnectionCallback(on_connected);
|
iotWebConf.setWifiConnectionCallback(on_connected);
|
||||||
|
#ifdef LED_BUILTIN
|
||||||
iotWebConf.setStatusPin(LED_BUILTIN, LOW);
|
iotWebConf.setStatusPin(LED_BUILTIN, LOW);
|
||||||
|
#endif
|
||||||
iotWebConf.init();
|
iotWebConf.init();
|
||||||
|
|
||||||
camera_init_result = initialize_camera();
|
camera_init_result = initialize_camera();
|
||||||
|
|||||||
Reference in New Issue
Block a user