Skip to content

maltsev-dev/esp32s3_experiments

Repository files navigation

запустить плату в бутлоадере idf.py fullclean idf.py build сделать аттач busid прошить, без монитора нажать RESET на плате сделать аттач busid в WSL запустить монитор Сделать програмный ресет = получить логи

idf.py --version . ~/esp/esp-idf/export.sh idf.py fullclean idf.py build

espflash erase-flash --port /dev/ttyACM0 --chip esp32s3 espflash flash --port /dev/ttyACM0 --chip esp32s3 target/xtensa-esp32s3-espidf/release/face espflash monitor --port /dev/ttyACM0 --chip esp32s3 --monitor-baud 115200 --log-format serial | tee logs.txt

```rust
let config = Config::default().baudrate(Hertz(115200));

let uart = UartDriver::new(
    peripherals.uart1,
    peripherals.pins.gpio43, // TX
    peripherals.pins.gpio44, // RX
// peripherals.pins.gpio17, // TX
// peripherals.pins.gpio18, // RX
    Option::<gpio::AnyIOPin>::None, // CTS
    Option::<gpio::AnyIOPin>::None, // RTS
    &config,
)?;
```

1600 х 1200 YUV(422/420)/YCbCr422, RGB565/555, 8-битные сжатые данные, 8/10-битные необработанные данные RGB

  fn generate_dummy_frame() -> Vec<u8> {
    let width = 160;
    let height = 120;
    let mut img = GrayImage::new(width, height);

    for y in 50..70 {
        for x in 10..140 {
            if (x + y) % 10 < 5 {
                img.put_pixel(x, y, Luma([200])); // светло-серый текст на черном фоне
            }
        }
    }

    // Кодируем в JPEG
    let mut buf = Vec::new();
    let mut encoder = JpegEncoder::new(&mut buf);
    encoder.encode_image(&img).unwrap();

    buf
}```

About

ESP32-S3 with TinyML inference

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published