You've already forked MicroPythonOS
mirror of
https://github.com/m5stack/MicroPythonOS.git
synced 2026-05-20 11:51:27 -07:00
Remove unused files
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
|
||||
|
||||
include(/home/user/sources/micropython-camera-API/src/micropython.cmake)
|
||||
include(/home/user/sources/MicroPythonOS/c_mpos/secp256k1-embedded_kdmukai/micropython.cmake)
|
||||
include(/home/user/sources/MicroPythonOS/c_mpos/micropython.cmake)
|
||||
@@ -1,16 +0,0 @@
|
||||
diff --git a/freezefs/archive.py b/freezefs/archive.py
|
||||
index 843090d..26e2029 100644
|
||||
--- a/freezefs/archive.py
|
||||
+++ b/freezefs/archive.py
|
||||
@@ -87,8 +87,9 @@ def to_python( pc_infolder, pc_outfile,
|
||||
|
||||
# Get files
|
||||
files = []
|
||||
- for path in glob( "**", root_dir=pc_infolder, recursive=True ):
|
||||
- fo = FileObject( pc_infolder, Path( path ), request_compression, level, wbits )
|
||||
+ for path in glob(os.path.join(pc_infolder, "**"), recursive=True):
|
||||
+ rel_path = os.path.relpath(path, pc_infolder)
|
||||
+ fo = FileObject(pc_infolder, Path(rel_path), request_compression, level, wbits)
|
||||
files.append( fo )
|
||||
|
||||
# Generate output
|
||||
-1131
File diff suppressed because it is too large
Load Diff
@@ -1,10 +0,0 @@
|
||||
diff --git a/ports/esp32/main_esp32s3/idf_component.yml b/ports/esp32/main_esp32s3/idf_component.yml
|
||||
index 05ab2f2..0ce3878 100644
|
||||
--- a/ports/esp32/main_esp32s3/idf_component.yml
|
||||
+++ b/ports/esp32/main_esp32s3/idf_component.yml
|
||||
@@ -4,3 +4,5 @@ dependencies:
|
||||
espressif/esp_tinyusb: "~1.0.0"
|
||||
idf:
|
||||
version: ">=5.0.4"
|
||||
+ espressif/esp32-camera:
|
||||
+ git: https://github.com/cnadler86/esp32-camera.git
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/tools/mpremote/mpremote/main.py b/tools/mpremote/mpremote/main.py
|
||||
index e6e3970..5501fa4 100644
|
||||
--- a/tools/mpremote/mpremote/main.py
|
||||
+++ b/tools/mpremote/mpremote/main.py
|
||||
@@ -477,7 +477,8 @@ class State:
|
||||
self.ensure_connected()
|
||||
soft_reset = self._auto_soft_reset if soft_reset is None else soft_reset
|
||||
if soft_reset or not self.transport.in_raw_repl:
|
||||
- self.transport.enter_raw_repl(soft_reset=soft_reset)
|
||||
+ #self.transport.enter_raw_repl(soft_reset=soft_reset)
|
||||
+ self.transport.enter_raw_repl(soft_reset=False)
|
||||
self._auto_soft_reset = False
|
||||
|
||||
def ensure_friendly_repl(self):
|
||||
@@ -1,12 +0,0 @@
|
||||
--- ports/esp32/managed_components/espressif__esp32-camera/sensors/private_include/ov5640_settings.h.orig 2025-04-30 13:55:08.270061607 +0200
|
||||
+++ ports/esp32/managed_components/espressif__esp32-camera/sensors/private_include/ov5640_settings.h 2025-04-25 11:34:00.519068438 +0200
|
||||
@@ -232,7 +232,8 @@
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_fmt_rgb565[][2] = {
|
||||
{FORMAT_CTRL, 0x01}, // RGB
|
||||
- {FORMAT_CTRL00, 0x61}, // RGB565 (BGR)
|
||||
+ //{FORMAT_CTRL00, 0x61}, // RGB565 (BGR)
|
||||
+ {FORMAT_CTRL00, 0x6F}, // RGB565 (RGB)
|
||||
{REGLIST_TAIL, 0x00}
|
||||
};
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/tools/mpremote/mpremote/main.py b/tools/mpremote/mpremote/main.py
|
||||
index e6e3970..5501fa4 100644
|
||||
--- a/tools/mpremote/mpremote/main.py
|
||||
+++ b/tools/mpremote/mpremote/main.py
|
||||
@@ -477,7 +477,8 @@ class State:
|
||||
self.ensure_connected()
|
||||
soft_reset = self._auto_soft_reset if soft_reset is None else soft_reset
|
||||
if soft_reset or not self.transport.in_raw_repl:
|
||||
- self.transport.enter_raw_repl(soft_reset=soft_reset)
|
||||
+ #self.transport.enter_raw_repl(soft_reset=soft_reset)
|
||||
+ self.transport.enter_raw_repl(soft_reset=False)
|
||||
self._auto_soft_reset = False
|
||||
|
||||
def ensure_friendly_repl(self):
|
||||
@@ -1,255 +0,0 @@
|
||||
/*
|
||||
* This file is part of the MicroPython project, http://micropython.org/
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2017 "Eric Poulsen" <eric@zyxod.com>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include "driver/gpio.h"
|
||||
#include "driver/adc.h"
|
||||
#include "esp_heap_caps.h"
|
||||
#include "multi_heap.h"
|
||||
|
||||
#include "py/nlr.h"
|
||||
#include "py/obj.h"
|
||||
#include "py/runtime.h"
|
||||
#include "py/mphal.h"
|
||||
#include "shared/timeutils/timeutils.h"
|
||||
#include "modmachine.h"
|
||||
#include "machine_rtc.h"
|
||||
#include "modesp32.h"
|
||||
|
||||
// These private includes are needed for idf_heap_info.
|
||||
#define MULTI_HEAP_FREERTOS
|
||||
#include "../multi_heap_platform.h"
|
||||
#include "../heap_private.h"
|
||||
|
||||
static mp_obj_t esp32_wake_on_touch(const mp_obj_t wake) {
|
||||
|
||||
if (machine_rtc_config.ext0_pin != -1) {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("no resources"));
|
||||
}
|
||||
// mp_raise_msg(&mp_type_RuntimeError, MP_ERROR_TEXT("touchpad wakeup not available for this version of ESP-IDF"));
|
||||
|
||||
machine_rtc_config.wake_on_touch = mp_obj_is_true(wake);
|
||||
return mp_const_none;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_1(esp32_wake_on_touch_obj, esp32_wake_on_touch);
|
||||
|
||||
static mp_obj_t esp32_wake_on_ext0(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
|
||||
if (machine_rtc_config.wake_on_touch) {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("no resources"));
|
||||
}
|
||||
enum {ARG_pin, ARG_level};
|
||||
const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_pin, MP_ARG_OBJ, {.u_obj = mp_obj_new_int(machine_rtc_config.ext0_pin)} },
|
||||
{ MP_QSTR_level, MP_ARG_BOOL, {.u_bool = machine_rtc_config.ext0_level} },
|
||||
};
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
|
||||
if (args[ARG_pin].u_obj == mp_const_none) {
|
||||
machine_rtc_config.ext0_pin = -1; // "None"
|
||||
} else {
|
||||
gpio_num_t pin_id = machine_pin_get_id(args[ARG_pin].u_obj);
|
||||
if (pin_id != machine_rtc_config.ext0_pin) {
|
||||
if (!RTC_IS_VALID_EXT_PIN(pin_id)) {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("invalid pin"));
|
||||
}
|
||||
machine_rtc_config.ext0_pin = pin_id;
|
||||
}
|
||||
}
|
||||
|
||||
machine_rtc_config.ext0_level = args[ARG_level].u_bool;
|
||||
machine_rtc_config.ext0_wake_types = MACHINE_WAKE_SLEEP | MACHINE_WAKE_DEEPSLEEP;
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_KW(esp32_wake_on_ext0_obj, 0, esp32_wake_on_ext0);
|
||||
|
||||
static mp_obj_t esp32_wake_on_ext1(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
|
||||
enum {ARG_pins, ARG_level};
|
||||
const mp_arg_t allowed_args[] = {
|
||||
{ MP_QSTR_pins, MP_ARG_OBJ, {.u_obj = mp_const_none} },
|
||||
{ MP_QSTR_level, MP_ARG_BOOL, {.u_bool = machine_rtc_config.ext1_level} },
|
||||
};
|
||||
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
|
||||
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
|
||||
uint64_t ext1_pins = machine_rtc_config.ext1_pins;
|
||||
|
||||
|
||||
// Check that all pins are allowed
|
||||
if (args[ARG_pins].u_obj != mp_const_none) {
|
||||
size_t len = 0;
|
||||
mp_obj_t *elem;
|
||||
mp_obj_get_array(args[ARG_pins].u_obj, &len, &elem);
|
||||
ext1_pins = 0;
|
||||
|
||||
for (int i = 0; i < len; i++) {
|
||||
|
||||
gpio_num_t pin_id = machine_pin_get_id(elem[i]);
|
||||
if (!RTC_IS_VALID_EXT_PIN(pin_id)) {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("invalid pin"));
|
||||
break;
|
||||
}
|
||||
ext1_pins |= (1ll << pin_id);
|
||||
}
|
||||
}
|
||||
|
||||
machine_rtc_config.ext1_level = args[ARG_level].u_bool;
|
||||
machine_rtc_config.ext1_pins = ext1_pins;
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_KW(esp32_wake_on_ext1_obj, 0, esp32_wake_on_ext1);
|
||||
|
||||
static mp_obj_t esp32_wake_on_ulp(const mp_obj_t wake) {
|
||||
if (machine_rtc_config.ext0_pin != -1) {
|
||||
mp_raise_ValueError(MP_ERROR_TEXT("no resources"));
|
||||
}
|
||||
machine_rtc_config.wake_on_ulp = mp_obj_is_true(wake);
|
||||
return mp_const_none;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_1(esp32_wake_on_ulp_obj, esp32_wake_on_ulp);
|
||||
|
||||
#if !SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
static mp_obj_t esp32_gpio_deep_sleep_hold(const mp_obj_t enable) {
|
||||
if (mp_obj_is_true(enable)) {
|
||||
gpio_deep_sleep_hold_en();
|
||||
} else {
|
||||
gpio_deep_sleep_hold_dis();
|
||||
}
|
||||
return mp_const_none;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_1(esp32_gpio_deep_sleep_hold_obj, esp32_gpio_deep_sleep_hold);
|
||||
#endif
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
|
||||
#include "soc/sens_reg.h"
|
||||
|
||||
static mp_obj_t esp32_raw_temperature(void) {
|
||||
SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR, 3, SENS_FORCE_XPD_SAR_S);
|
||||
SET_PERI_REG_BITS(SENS_SAR_TSENS_CTRL_REG, SENS_TSENS_CLK_DIV, 10, SENS_TSENS_CLK_DIV_S);
|
||||
CLEAR_PERI_REG_MASK(SENS_SAR_TSENS_CTRL_REG, SENS_TSENS_POWER_UP);
|
||||
CLEAR_PERI_REG_MASK(SENS_SAR_TSENS_CTRL_REG, SENS_TSENS_DUMP_OUT);
|
||||
SET_PERI_REG_MASK(SENS_SAR_TSENS_CTRL_REG, SENS_TSENS_POWER_UP_FORCE);
|
||||
SET_PERI_REG_MASK(SENS_SAR_TSENS_CTRL_REG, SENS_TSENS_POWER_UP);
|
||||
esp_rom_delay_us(100);
|
||||
SET_PERI_REG_MASK(SENS_SAR_TSENS_CTRL_REG, SENS_TSENS_DUMP_OUT);
|
||||
esp_rom_delay_us(5);
|
||||
int res = GET_PERI_REG_BITS2(SENS_SAR_SLAVE_ADDR3_REG, SENS_TSENS_OUT, SENS_TSENS_OUT_S);
|
||||
|
||||
return mp_obj_new_int(res);
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_0(esp32_raw_temperature_obj, esp32_raw_temperature);
|
||||
|
||||
#else
|
||||
|
||||
// IDF 5 exposes new internal temperature interface, and the ESP32C3/S2/S3
|
||||
// now have calibrated temperature settings in 5 discrete ranges.
|
||||
#include "driver/temperature_sensor.h"
|
||||
|
||||
static mp_obj_t esp32_mcu_temperature(void) {
|
||||
static temperature_sensor_handle_t temp_sensor = NULL;
|
||||
float tvalue;
|
||||
if (temp_sensor == NULL) {
|
||||
temperature_sensor_config_t temp_sensor_config = TEMPERATURE_SENSOR_CONFIG_DEFAULT(-10, 80);
|
||||
ESP_ERROR_CHECK(temperature_sensor_install(&temp_sensor_config, &temp_sensor));
|
||||
}
|
||||
ESP_ERROR_CHECK(temperature_sensor_enable(temp_sensor));
|
||||
ESP_ERROR_CHECK(temperature_sensor_get_celsius(temp_sensor, &tvalue));
|
||||
ESP_ERROR_CHECK(temperature_sensor_disable(temp_sensor));
|
||||
return mp_obj_new_int((int)(tvalue + 0.5));
|
||||
//return mp_obj_new_float(tvalue); // Always seems to return XX.80 degrees...
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_0(esp32_mcu_temperature_obj, esp32_mcu_temperature);
|
||||
|
||||
#endif
|
||||
|
||||
static mp_obj_t esp32_idf_heap_info(const mp_obj_t cap_in) {
|
||||
mp_int_t cap = mp_obj_get_int(cap_in);
|
||||
multi_heap_info_t info;
|
||||
heap_t *heap;
|
||||
mp_obj_t heap_list = mp_obj_new_list(0, 0);
|
||||
SLIST_FOREACH(heap, ®istered_heaps, next) {
|
||||
if (heap_caps_match(heap, cap)) {
|
||||
multi_heap_get_info(heap->heap, &info);
|
||||
mp_obj_t data[] = {
|
||||
MP_OBJ_NEW_SMALL_INT(heap->end - heap->start), // total heap size
|
||||
MP_OBJ_NEW_SMALL_INT(info.total_free_bytes), // total free bytes
|
||||
MP_OBJ_NEW_SMALL_INT(info.largest_free_block), // largest free contiguous
|
||||
MP_OBJ_NEW_SMALL_INT(info.minimum_free_bytes), // minimum free seen
|
||||
};
|
||||
mp_obj_t this_heap = mp_obj_new_tuple(4, data);
|
||||
mp_obj_list_append(heap_list, this_heap);
|
||||
}
|
||||
}
|
||||
return heap_list;
|
||||
}
|
||||
static MP_DEFINE_CONST_FUN_OBJ_1(esp32_idf_heap_info_obj, esp32_idf_heap_info);
|
||||
|
||||
static const mp_rom_map_elem_t esp32_module_globals_table[] = {
|
||||
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_esp32) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_wake_on_touch), MP_ROM_PTR(&esp32_wake_on_touch_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_wake_on_ext0), MP_ROM_PTR(&esp32_wake_on_ext0_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_wake_on_ext1), MP_ROM_PTR(&esp32_wake_on_ext1_obj) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_wake_on_ulp), MP_ROM_PTR(&esp32_wake_on_ulp_obj) },
|
||||
#if !SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
{ MP_ROM_QSTR(MP_QSTR_gpio_deep_sleep_hold), MP_ROM_PTR(&esp32_gpio_deep_sleep_hold_obj) },
|
||||
#endif
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
{ MP_ROM_QSTR(MP_QSTR_raw_temperature), MP_ROM_PTR(&esp32_raw_temperature_obj) },
|
||||
#else
|
||||
{ MP_ROM_QSTR(MP_QSTR_mcu_temperature), MP_ROM_PTR(&esp32_mcu_temperature_obj) },
|
||||
#endif
|
||||
{ MP_ROM_QSTR(MP_QSTR_idf_heap_info), MP_ROM_PTR(&esp32_idf_heap_info_obj) },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_NVS), MP_ROM_PTR(&esp32_nvs_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_Partition), MP_ROM_PTR(&esp32_partition_type) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_RMT), MP_ROM_PTR(&esp32_rmt_type) },
|
||||
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
||||
{ MP_ROM_QSTR(MP_QSTR_ULP), MP_ROM_PTR(&esp32_ulp_type) },
|
||||
#endif
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_WAKEUP_ALL_LOW), MP_ROM_FALSE },
|
||||
{ MP_ROM_QSTR(MP_QSTR_WAKEUP_ANY_HIGH), MP_ROM_TRUE },
|
||||
|
||||
{ MP_ROM_QSTR(MP_QSTR_HEAP_DATA), MP_ROM_INT(MALLOC_CAP_8BIT) },
|
||||
{ MP_ROM_QSTR(MP_QSTR_HEAP_EXEC), MP_ROM_INT(MALLOC_CAP_EXEC) },
|
||||
};
|
||||
|
||||
static MP_DEFINE_CONST_DICT(esp32_module_globals, esp32_module_globals_table);
|
||||
|
||||
const mp_obj_module_t esp32_module = {
|
||||
.base = { &mp_type_module },
|
||||
.globals = (mp_obj_dict_t *)&esp32_module_globals,
|
||||
};
|
||||
|
||||
MP_REGISTER_MODULE(MP_QSTR_esp32, esp32_module);
|
||||
@@ -1,14 +0,0 @@
|
||||
diff --git a/tools/mpremote/mpremote/main.py b/tools/mpremote/mpremote/main.py
|
||||
index e6e3970..5501fa4 100644
|
||||
--- a/tools/mpremote/mpremote/main.py
|
||||
+++ b/tools/mpremote/mpremote/main.py
|
||||
@@ -477,7 +477,8 @@ class State:
|
||||
self.ensure_connected()
|
||||
soft_reset = self._auto_soft_reset if soft_reset is None else soft_reset
|
||||
if soft_reset or not self.transport.in_raw_repl:
|
||||
- self.transport.enter_raw_repl(soft_reset=soft_reset)
|
||||
+ #self.transport.enter_raw_repl(soft_reset=soft_reset)
|
||||
+ self.transport.enter_raw_repl(soft_reset=False)
|
||||
self._auto_soft_reset = False
|
||||
|
||||
def ensure_friendly_repl(self):
|
||||
@@ -1,336 +0,0 @@
|
||||
#ifndef _OV5640_SETTINGS_H_
|
||||
#define _OV5640_SETTINGS_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "esp_attr.h"
|
||||
#include "ov5640_regs.h"
|
||||
|
||||
static const ratio_settings_t ratio_table[] = {
|
||||
// mw, mh, sx, sy, ex, ey, ox, oy, tx, ty
|
||||
{ 2560, 1920, 0, 0, 2623, 1951, 32, 16, 2844, 1968 }, //4x3
|
||||
{ 2560, 1704, 0, 110, 2623, 1843, 32, 16, 2844, 1752 }, //3x2
|
||||
{ 2560, 1600, 0, 160, 2623, 1791, 32, 16, 2844, 1648 }, //16x10
|
||||
{ 2560, 1536, 0, 192, 2623, 1759, 32, 16, 2844, 1584 }, //5x3
|
||||
{ 2560, 1440, 0, 240, 2623, 1711, 32, 16, 2844, 1488 }, //16x9
|
||||
{ 2560, 1080, 0, 420, 2623, 1531, 32, 16, 2844, 1128 }, //21x9
|
||||
{ 2400, 1920, 80, 0, 2543, 1951, 32, 16, 2684, 1968 }, //5x4
|
||||
{ 1920, 1920, 320, 0, 2543, 1951, 32, 16, 2684, 1968 }, //1x1
|
||||
{ 1088, 1920, 736, 0, 1887, 1951, 32, 16, 1884, 1968 } //9x16
|
||||
};
|
||||
|
||||
#define REG_DLY 0xffff
|
||||
#define REGLIST_TAIL 0x0000
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_default_regs[][2] = {
|
||||
{SYSTEM_CTROL0, 0x82}, // software reset
|
||||
{REG_DLY, 10}, // delay 10ms
|
||||
{SYSTEM_CTROL0, 0x42}, // power down
|
||||
|
||||
//enable pll
|
||||
{0x3103, 0x13},
|
||||
|
||||
//io direction
|
||||
{0x3017, 0xff},
|
||||
{0x3018, 0xff},
|
||||
|
||||
{DRIVE_CAPABILITY, 0xc3},
|
||||
{CLOCK_POL_CONTROL, 0x21},
|
||||
|
||||
{0x4713, 0x02},//jpg mode select
|
||||
|
||||
{ISP_CONTROL_01, 0x83}, // turn color matrix, awb and SDE
|
||||
|
||||
//sys reset
|
||||
{0x3000, 0x20}, // reset MCU
|
||||
{REG_DLY, 10}, // delay 10ms
|
||||
{0x3002, 0x1c},
|
||||
|
||||
//clock enable
|
||||
{0x3004, 0xff},
|
||||
{0x3006, 0xc3},
|
||||
|
||||
//isp control
|
||||
{0x5000, 0xa7},
|
||||
{ISP_CONTROL_01, 0xa3},//+scaling?
|
||||
{0x5003, 0x08},//special_effect
|
||||
|
||||
//unknown
|
||||
{0x370c, 0x02},//!!IMPORTANT
|
||||
{0x3634, 0x40},//!!IMPORTANT
|
||||
|
||||
//AEC/AGC
|
||||
{0x3a02, 0x03},
|
||||
{0x3a03, 0xd8},
|
||||
{0x3a08, 0x01},
|
||||
{0x3a09, 0x27},
|
||||
{0x3a0a, 0x00},
|
||||
{0x3a0b, 0xf6},
|
||||
{0x3a0d, 0x04},
|
||||
{0x3a0e, 0x03},
|
||||
{0x3a0f, 0x30},//ae_level
|
||||
{0x3a10, 0x28},//ae_level
|
||||
{0x3a11, 0x60},//ae_level
|
||||
{0x3a13, 0x43},
|
||||
{0x3a14, 0x03},
|
||||
{0x3a15, 0xd8},
|
||||
{0x3a18, 0x00},//gainceiling
|
||||
{0x3a19, 0xf8},//gainceiling
|
||||
{0x3a1b, 0x30},//ae_level
|
||||
{0x3a1e, 0x26},//ae_level
|
||||
{0x3a1f, 0x14},//ae_level
|
||||
|
||||
//vcm debug
|
||||
{0x3600, 0x08},
|
||||
{0x3601, 0x33},
|
||||
|
||||
//50/60Hz
|
||||
{0x3c01, 0xa4},
|
||||
{0x3c04, 0x28},
|
||||
{0x3c05, 0x98},
|
||||
{0x3c06, 0x00},
|
||||
{0x3c07, 0x08},
|
||||
{0x3c08, 0x00},
|
||||
{0x3c09, 0x1c},
|
||||
{0x3c0a, 0x9c},
|
||||
{0x3c0b, 0x40},
|
||||
|
||||
{0x460c, 0x22},//disable jpeg footer
|
||||
|
||||
//BLC
|
||||
{0x4001, 0x02},
|
||||
{0x4004, 0x02},
|
||||
|
||||
//AWB
|
||||
{0x5180, 0xff},
|
||||
{0x5181, 0xf2},
|
||||
{0x5182, 0x00},
|
||||
{0x5183, 0x14},
|
||||
{0x5184, 0x25},
|
||||
{0x5185, 0x24},
|
||||
{0x5186, 0x09},
|
||||
{0x5187, 0x09},
|
||||
{0x5188, 0x09},
|
||||
{0x5189, 0x75},
|
||||
{0x518a, 0x54},
|
||||
{0x518b, 0xe0},
|
||||
{0x518c, 0xb2},
|
||||
{0x518d, 0x42},
|
||||
{0x518e, 0x3d},
|
||||
{0x518f, 0x56},
|
||||
{0x5190, 0x46},
|
||||
{0x5191, 0xf8},
|
||||
{0x5192, 0x04},
|
||||
{0x5193, 0x70},
|
||||
{0x5194, 0xf0},
|
||||
{0x5195, 0xf0},
|
||||
{0x5196, 0x03},
|
||||
{0x5197, 0x01},
|
||||
{0x5198, 0x04},
|
||||
{0x5199, 0x12},
|
||||
{0x519a, 0x04},
|
||||
{0x519b, 0x00},
|
||||
{0x519c, 0x06},
|
||||
{0x519d, 0x82},
|
||||
{0x519e, 0x38},
|
||||
|
||||
//color matrix (Saturation)
|
||||
{0x5381, 0x1e},
|
||||
{0x5382, 0x5b},
|
||||
{0x5383, 0x08},
|
||||
{0x5384, 0x0a},
|
||||
{0x5385, 0x7e},
|
||||
{0x5386, 0x88},
|
||||
{0x5387, 0x7c},
|
||||
{0x5388, 0x6c},
|
||||
{0x5389, 0x10},
|
||||
{0x538a, 0x01},
|
||||
{0x538b, 0x98},
|
||||
|
||||
//CIP control (Sharpness)
|
||||
{0x5300, 0x10},//sharpness
|
||||
{0x5301, 0x10},//sharpness
|
||||
{0x5302, 0x18},//sharpness
|
||||
{0x5303, 0x19},//sharpness
|
||||
{0x5304, 0x10},
|
||||
{0x5305, 0x10},
|
||||
{0x5306, 0x08},//denoise
|
||||
{0x5307, 0x16},
|
||||
{0x5308, 0x40},
|
||||
{0x5309, 0x10},//sharpness
|
||||
{0x530a, 0x10},//sharpness
|
||||
{0x530b, 0x04},//sharpness
|
||||
{0x530c, 0x06},//sharpness
|
||||
|
||||
//GAMMA
|
||||
{0x5480, 0x01},
|
||||
{0x5481, 0x00},
|
||||
{0x5482, 0x1e},
|
||||
{0x5483, 0x3b},
|
||||
{0x5484, 0x58},
|
||||
{0x5485, 0x66},
|
||||
{0x5486, 0x71},
|
||||
{0x5487, 0x7d},
|
||||
{0x5488, 0x83},
|
||||
{0x5489, 0x8f},
|
||||
{0x548a, 0x98},
|
||||
{0x548b, 0xa6},
|
||||
{0x548c, 0xb8},
|
||||
{0x548d, 0xca},
|
||||
{0x548e, 0xd7},
|
||||
{0x548f, 0xe3},
|
||||
{0x5490, 0x1d},
|
||||
|
||||
//Special Digital Effects (SDE) (UV adjust)
|
||||
{0x5580, 0x06},//enable brightness and contrast
|
||||
{0x5583, 0x40},//special_effect
|
||||
{0x5584, 0x10},//special_effect
|
||||
{0x5586, 0x20},//contrast
|
||||
{0x5587, 0x00},//brightness
|
||||
{0x5588, 0x00},//brightness
|
||||
{0x5589, 0x10},
|
||||
{0x558a, 0x00},
|
||||
{0x558b, 0xf8},
|
||||
{0x501d, 0x40},// enable manual offset of contrast
|
||||
|
||||
//power on
|
||||
{0x3008, 0x02},
|
||||
|
||||
//50Hz
|
||||
{0x3c00, 0x04},
|
||||
|
||||
{REG_DLY, 300},
|
||||
{REGLIST_TAIL, 0x00}, // tail
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_fmt_jpeg[][2] = {
|
||||
{FORMAT_CTRL, 0x00}, // YUV422
|
||||
{FORMAT_CTRL00, 0x30}, // YUYV
|
||||
{0x3002, 0x00},//0x1c to 0x00 !!!
|
||||
{0x3006, 0xff},//0xc3 to 0xff !!!
|
||||
{0x471c, 0x50},//0xd0 to 0x50 !!!
|
||||
{REGLIST_TAIL, 0x00}, // tail
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_fmt_raw[][2] = {
|
||||
{FORMAT_CTRL, 0x03}, // RAW (DPC)
|
||||
{FORMAT_CTRL00, 0x00}, // RAW
|
||||
{REGLIST_TAIL, 0x00}
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_fmt_grayscale[][2] = {
|
||||
{FORMAT_CTRL, 0x00}, // YUV422
|
||||
{FORMAT_CTRL00, 0x10}, // Y8
|
||||
{REGLIST_TAIL, 0x00}
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_fmt_yuv422[][2] = {
|
||||
{FORMAT_CTRL, 0x00}, // YUV422
|
||||
{FORMAT_CTRL00, 0x30}, // YUYV
|
||||
{REGLIST_TAIL, 0x00}
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_fmt_rgb565[][2] = {
|
||||
{FORMAT_CTRL, 0x01}, // RGB
|
||||
//{FORMAT_CTRL00, 0x61}, // RGB565 (BGR)
|
||||
{FORMAT_CTRL00, 0x6F}, // RGB565 (RGB)
|
||||
{REGLIST_TAIL, 0x00}
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint8_t sensor_saturation_levels[9][11] = {
|
||||
{0x1d, 0x60, 0x03, 0x07, 0x48, 0x4f, 0x4b, 0x40, 0x0b, 0x01, 0x98},//-4
|
||||
{0x1d, 0x60, 0x03, 0x08, 0x54, 0x5c, 0x58, 0x4b, 0x0d, 0x01, 0x98},//-3
|
||||
{0x1d, 0x60, 0x03, 0x0a, 0x60, 0x6a, 0x64, 0x56, 0x0e, 0x01, 0x98},//-2
|
||||
{0x1d, 0x60, 0x03, 0x0b, 0x6c, 0x77, 0x70, 0x60, 0x10, 0x01, 0x98},//-1
|
||||
{0x1d, 0x60, 0x03, 0x0c, 0x78, 0x84, 0x7d, 0x6b, 0x12, 0x01, 0x98},//0
|
||||
{0x1d, 0x60, 0x03, 0x0d, 0x84, 0x91, 0x8a, 0x76, 0x14, 0x01, 0x98},//+1
|
||||
{0x1d, 0x60, 0x03, 0x0e, 0x90, 0x9e, 0x96, 0x80, 0x16, 0x01, 0x98},//+2
|
||||
{0x1d, 0x60, 0x03, 0x10, 0x9c, 0xac, 0xa2, 0x8b, 0x17, 0x01, 0x98},//+3
|
||||
{0x1d, 0x60, 0x03, 0x11, 0xa8, 0xb9, 0xaf, 0x96, 0x19, 0x01, 0x98},//+4
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint8_t sensor_special_effects[7][4] = {
|
||||
{0x06, 0x40, 0x2c, 0x08},//Normal
|
||||
{0x46, 0x40, 0x28, 0x08},//Negative
|
||||
{0x1e, 0x80, 0x80, 0x08},//Grayscale
|
||||
{0x1e, 0x80, 0xc0, 0x08},//Red Tint
|
||||
{0x1e, 0x60, 0x60, 0x08},//Green Tint
|
||||
{0x1e, 0xa0, 0x40, 0x08},//Blue Tint
|
||||
{0x1e, 0x40, 0xa0, 0x08},//Sepia
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_regs_gamma0[][2] = {
|
||||
{0x5480, 0x01},
|
||||
{0x5481, 0x08},
|
||||
{0x5482, 0x14},
|
||||
{0x5483, 0x28},
|
||||
{0x5484, 0x51},
|
||||
{0x5485, 0x65},
|
||||
{0x5486, 0x71},
|
||||
{0x5487, 0x7d},
|
||||
{0x5488, 0x87},
|
||||
{0x5489, 0x91},
|
||||
{0x548a, 0x9a},
|
||||
{0x548b, 0xaa},
|
||||
{0x548c, 0xb8},
|
||||
{0x548d, 0xcd},
|
||||
{0x548e, 0xdd},
|
||||
{0x548f, 0xea},
|
||||
{0x5490, 0x1d}
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_regs_gamma1[][2] = {
|
||||
{0x5480, 0x1},
|
||||
{0x5481, 0x0},
|
||||
{0x5482, 0x1e},
|
||||
{0x5483, 0x3b},
|
||||
{0x5484, 0x58},
|
||||
{0x5485, 0x66},
|
||||
{0x5486, 0x71},
|
||||
{0x5487, 0x7d},
|
||||
{0x5488, 0x83},
|
||||
{0x5489, 0x8f},
|
||||
{0x548a, 0x98},
|
||||
{0x548b, 0xa6},
|
||||
{0x548c, 0xb8},
|
||||
{0x548d, 0xca},
|
||||
{0x548e, 0xd7},
|
||||
{0x548f, 0xe3},
|
||||
{0x5490, 0x1d}
|
||||
};
|
||||
|
||||
static const DRAM_ATTR uint16_t sensor_regs_awb0[][2] = {
|
||||
{0x5180, 0xff},
|
||||
{0x5181, 0xf2},
|
||||
{0x5182, 0x00},
|
||||
{0x5183, 0x14},
|
||||
{0x5184, 0x25},
|
||||
{0x5185, 0x24},
|
||||
{0x5186, 0x09},
|
||||
{0x5187, 0x09},
|
||||
{0x5188, 0x09},
|
||||
{0x5189, 0x75},
|
||||
{0x518a, 0x54},
|
||||
{0x518b, 0xe0},
|
||||
{0x518c, 0xb2},
|
||||
{0x518d, 0x42},
|
||||
{0x518e, 0x3d},
|
||||
{0x518f, 0x56},
|
||||
{0x5190, 0x46},
|
||||
{0x5191, 0xf8},
|
||||
{0x5192, 0x04},
|
||||
{0x5193, 0x70},
|
||||
{0x5194, 0xf0},
|
||||
{0x5195, 0xf0},
|
||||
{0x5196, 0x03},
|
||||
{0x5197, 0x01},
|
||||
{0x5198, 0x04},
|
||||
{0x5199, 0x12},
|
||||
{0x519a, 0x04},
|
||||
{0x519b, 0x00},
|
||||
{0x519c, 0x06},
|
||||
{0x519d, 0x82},
|
||||
{0x519e, 0x38}
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,20 +0,0 @@
|
||||
diff --git a/ext_mod/lcd_bus/sdl_bus/sdl_bus.c b/ext_mod/lcd_bus/sdl_bus/sdl_bus.c
|
||||
index 9378148..d31ef20 100644
|
||||
--- a/ext_mod/lcd_bus/sdl_bus/sdl_bus.c
|
||||
+++ b/ext_mod/lcd_bus/sdl_bus/sdl_bus.c
|
||||
@@ -182,6 +182,15 @@
|
||||
self->panel_io_config.bytes_per_pixel = bpp / 8;
|
||||
self->texture = SDL_CreateTexture(self->renderer, (SDL_PixelFormatEnum)buffer_size, SDL_TEXTUREACCESS_STREAMING, width, height);
|
||||
SDL_SetTextureBlendMode(self->texture, SDL_BLENDMODE_BLEND);
|
||||
+
|
||||
+ // Check for SDL_WINDOW_FULLSCREEN environment variable
|
||||
+ if (getenv("SDL_WINDOW_FULLSCREEN") != NULL) {
|
||||
+ SDL_SetWindowFullscreen(self->window, SDL_WINDOW_FULLSCREEN);
|
||||
+ }
|
||||
+ // Set arrow cursor
|
||||
+ SDL_Cursor* cursor = SDL_CreateSystemCursor(SDL_SYSTEM_CURSOR_ARROW);
|
||||
+ SDL_SetCursor(cursor);
|
||||
+
|
||||
SDL_SetWindowSize(self->window, width, height);
|
||||
|
||||
self->rgb565_byte_swap = false;
|
||||
@@ -1,17 +0,0 @@
|
||||
diff --git a/api_drivers/common_api_drivers/frozen/other/task_handler.py b/api_drivers/common_api_drivers/frozen/other/task_handler.py
|
||||
index 67c85fa..99e9f4a 100644
|
||||
--- a/api_drivers/common_api_drivers/frozen/other/task_handler.py
|
||||
+++ b/api_drivers/common_api_drivers/frozen/other/task_handler.py
|
||||
@@ -82,9 +82,9 @@ class TaskHandler(object):
|
||||
self._callbacks.append((callback, event, user_data))
|
||||
|
||||
def remove_event_cb(self, callback):
|
||||
- for i, obj in self._callbacks:
|
||||
- if obj[0] == callback:
|
||||
- self._callbacks.remove(obj)
|
||||
+ for (cb, evt, data) in self._callbacks:
|
||||
+ if cb == callback:
|
||||
+ self._callbacks.remove((cb,evt,data))
|
||||
break
|
||||
|
||||
def deinit(self):
|
||||
@@ -1,23 +0,0 @@
|
||||
diff --git a/api_drivers/common_api_drivers/indev/cst816s.py b/api_drivers/common_api_drivers/indev/cst816s.py
|
||||
index 146bdae..46f3451 100644
|
||||
--- a/api_drivers/common_api_drivers/indev/cst816s.py
|
||||
+++ b/api_drivers/common_api_drivers/indev/cst816s.py
|
||||
@@ -40,7 +40,8 @@ _BPC1H = const(0xB2)
|
||||
_BPC1L = const(0xB3)
|
||||
|
||||
_ChipID = const(0xA7)
|
||||
-_ChipIDValue = const(0xB5)
|
||||
+_ChipIDValueS = const(0xB5) # cst816s
|
||||
+_ChipIDValue = const(0xB6) # cst816
|
||||
|
||||
_ProjID = const(0xA8)
|
||||
_FwVersion = const(0xA9)
|
||||
@@ -205,7 +206,7 @@ class CST816S(pointer_framework.PointerDriver):
|
||||
self._read_reg(_FwVersion)
|
||||
print('FW Version:', hex(self._rx_buf[0]))
|
||||
|
||||
- if chip_id != _ChipIDValue:
|
||||
+ if chip_id != _ChipIDValue and chip_id != ChipIDValueS:
|
||||
raise RuntimeError(f'Incorrect chip id ({hex(_ChipIDValue)})')
|
||||
|
||||
self._write_reg(_IrqCtl, _EnTouch | _EnChange)
|
||||
@@ -1,3 +0,0 @@
|
||||
#~/sources/lvgl_micropython/lib/lvgl/scripts/LVGLImage.py --ofmt BIN --cf RGB565 -o icon_64x64.bin icon_64x64.png
|
||||
#~/sources/lvgl_micropython/lib/lvgl/scripts/LVGLImage.py --ofmt BIN --cf RGB565 icon_64x64.png
|
||||
~/sources/lvgl_micropython/lib/lvgl/scripts/LVGLImage.py --ofmt BIN --cf RGB565A8 "$1"
|
||||
Reference in New Issue
Block a user