-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Configuration Profile Add Code to Support Power Management for M5StickCPlus2
- Loading branch information
1 parent
f189172
commit d48d60f
Showing
8 changed files
with
239 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
CONFIG_ADC_CAL_EFUSE_TP_ENABLE=n | ||
CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=n | ||
CONFIG_ADC_CAL_LUT_ENABLE=n | ||
CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y | ||
CONFIG_APP_REPRODUCIBLE_BUILD=y | ||
CONFIG_BF20A6_SUPPORT=n | ||
CONFIG_BF3005_SUPPORT=n | ||
CONFIG_BOARD_TYPE_M5_STICKC_PLUS_2=y | ||
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y | ||
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y | ||
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y | ||
CONFIG_BOOTLOADER_WDT_ENABLE=n | ||
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1 | ||
CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=n | ||
CONFIG_BT_ENABLED=y | ||
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU=517 | ||
CONFIG_BT_NIMBLE_ENABLED=y | ||
CONFIG_BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN=11 | ||
CONFIG_BT_NIMBLE_HOST_TASK_STACK_SIZE=5632 | ||
CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1 | ||
CONFIG_BT_NIMBLE_NVS_PERSIST=y | ||
CONFIG_BT_NIMBLE_ROLE_BROADCASTER=n | ||
CONFIG_BT_NIMBLE_ROLE_CENTRAL=n | ||
CONFIG_BT_NIMBLE_ROLE_OBSERVER=n | ||
CONFIG_BT_NIMBLE_SM_LEGACY=n | ||
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME="j" | ||
CONFIG_BUTTON_LONG_PRESS_TIME_MS=500 | ||
CONFIG_BUTTON_SERIAL_TIME_MS=100 | ||
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y | ||
CONFIG_COMPILER_OPTIMIZATION_SIZE=y | ||
CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y | ||
CONFIG_COMPILER_WARN_WRITE_STRINGS=y | ||
CONFIG_DEBUG_MODE=y | ||
CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE=y | ||
CONFIG_EFUSE_VIRTUAL=y | ||
CONFIG_ESP32_REV_MIN_3=y | ||
CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO=y | ||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y | ||
CONFIG_ESP_COEX_SW_COEXIST_ENABLE=n | ||
CONFIG_ESP_CONSOLE_NONE=y | ||
CONFIG_ESP_DEBUG_OCDAWARE=n | ||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y | ||
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n | ||
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=n | ||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=12288 | ||
CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT=y | ||
CONFIG_ESP_TASK_WDT_INIT=n | ||
CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=n | ||
CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=n | ||
CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=0 | ||
CONFIG_ESP_WIFI_MGMT_SBUF_NUM=6 | ||
CONFIG_ESP_WIFI_NVS_ENABLED=n | ||
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=2 | ||
CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=6 | ||
CONFIG_ETH_USE_ESP32_EMAC=n | ||
CONFIG_ETH_USE_SPI_ETHERNET=n | ||
CONFIG_FATFS_PER_FILE_CACHE=n | ||
CONFIG_FREERTOS_INTERRUPT_BACKTRACE=n | ||
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3 | ||
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2560 | ||
CONFIG_GC0308_SUPPORT=n | ||
CONFIG_GC032A_SUPPORT=n | ||
CONFIG_GC2145_SUPPORT=n | ||
CONFIG_HTTPD_ERR_RESP_NO_DELAY=n | ||
CONFIG_LOG_COLORS=n | ||
CONFIG_LWIP_DHCPS=n | ||
CONFIG_LWIP_IPV6=n | ||
CONFIG_LWIP_NETIF_LOOPBACK=n | ||
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=n | ||
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=n | ||
CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=n | ||
CONFIG_MBEDTLS_HARDWARE_MPI=n | ||
CONFIG_MBEDTLS_HAVE_TIME=n | ||
CONFIG_MBEDTLS_PEM_PARSE_C=n | ||
CONFIG_MBEDTLS_PEM_WRITE_C=n | ||
CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=n | ||
CONFIG_MBEDTLS_SSL_ALPN=n | ||
CONFIG_MBEDTLS_SSL_RENEGOTIATION=n | ||
CONFIG_MBEDTLS_X509_CRL_PARSE_C=n | ||
CONFIG_MBEDTLS_X509_CSR_PARSE_C=n | ||
CONFIG_MQTT_PROTOCOL_311=n | ||
CONFIG_MQTT_TRANSPORT_SSL=n | ||
CONFIG_NEWLIB_NANO_FORMAT=y | ||
CONFIG_NT99141_SUPPORT=n | ||
CONFIG_OV2640_SUPPORT=n | ||
CONFIG_OV3660_SUPPORT=n | ||
CONFIG_OV5640_SUPPORT=n | ||
CONFIG_OV7670_SUPPORT=n | ||
CONFIG_OV7725_SUPPORT=n | ||
CONFIG_PARTITION_TABLE_CUSTOM=y | ||
CONFIG_PARTITION_TABLE_OFFSET=0x9000 | ||
CONFIG_SC030IOT_SUPPORT=n | ||
CONFIG_SCCB_CLK_FREQ=200000 | ||
CONFIG_SPIFFS_CACHE=n | ||
CONFIG_SPIFFS_GC_MAX_RUNS=1 | ||
CONFIG_SPIFFS_MAX_PARTITIONS=1 | ||
CONFIG_SPIFFS_PAGE_CHECK=n | ||
CONFIG_SPIFFS_USE_MAGIC=n | ||
CONFIG_SPIFFS_USE_MTIME=n | ||
CONFIG_SPIRAM=y | ||
CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y | ||
CONFIG_SPIRAM_BANKSWITCH_ENABLE=n | ||
CONFIG_SPIRAM_MEMTEST=n | ||
CONFIG_UART_ISR_IN_IRAM=y | ||
CONFIG_UNITY_ENABLE_DOUBLE=n | ||
CONFIG_UNITY_ENABLE_FLOAT=n | ||
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=n | ||
CONFIG_VFS_SUPPORT_IO=n | ||
CONFIG_WS_TRANSPORT=n |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
// M5StickCPlus implmentation - uses IP5303 Power PMU | ||
// | ||
#include <driver/gpio.h> | ||
#include <esp_adc/adc_oneshot.h> | ||
|
||
#define POWER_HOLD_GPIO 4 | ||
#define BATTERY_ADC_CHANNEL ADC_CHANNEL_2 | ||
|
||
static adc_oneshot_unit_handle_t adc1_handle = NULL; | ||
|
||
esp_err_t power_init(void) | ||
{ | ||
// Set the power hold pin to keep the device from powering down straight away | ||
gpio_reset_pin(POWER_HOLD_GPIO); | ||
gpio_set_direction(POWER_HOLD_GPIO, GPIO_MODE_OUTPUT); | ||
gpio_set_level(POWER_HOLD_GPIO, 1); | ||
|
||
// Initialise the ADC to measure battery level | ||
//-------------ADC1 Init---------------// | ||
adc_oneshot_unit_init_cfg_t init_config1 = { | ||
.unit_id = ADC_UNIT_1, | ||
}; | ||
ESP_ERROR_CHECK(adc_oneshot_new_unit(&init_config1, &adc1_handle)); | ||
JADE_ASSERT(adc1_handle); | ||
|
||
//-------------ADC1 Config---------------// | ||
adc_oneshot_chan_cfg_t config = { | ||
.bitwidth = ADC_BITWIDTH_DEFAULT, | ||
.atten = ADC_ATTEN_DB_12, | ||
}; | ||
ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, BATTERY_ADC_CHANNEL, &config)); | ||
|
||
return ESP_OK; | ||
} | ||
|
||
esp_err_t power_shutdown(void) | ||
{ | ||
gpio_set_level(POWER_HOLD_GPIO, 0); | ||
return ESP_OK; | ||
} | ||
|
||
esp_err_t power_screen_on(void) { return ESP_OK; } | ||
esp_err_t power_screen_off(void) { return ESP_OK; } | ||
|
||
esp_err_t power_backlight_on(const uint8_t brightness) { return ESP_OK; } | ||
esp_err_t power_backlight_off(void) { return ESP_OK; } | ||
|
||
esp_err_t power_camera_on(void) { return ESP_OK; } | ||
esp_err_t power_camera_off(void) { return ESP_OK; } | ||
|
||
uint16_t power_get_vbat(void) | ||
{ | ||
JADE_ASSERT(adc1_handle); | ||
|
||
int vbat = 0; | ||
ESP_ERROR_CHECK(adc_oneshot_read(adc1_handle, BATTERY_ADC_CHANNEL, &vbat)); | ||
return (uint16_t)(vbat * 1.7); | ||
} | ||
|
||
uint8_t power_get_battery_status(void) | ||
{ | ||
const uint16_t vbat = power_get_vbat(); | ||
if (vbat > 4000) { | ||
return 5; | ||
} else if (vbat > 3800) { | ||
return 4; | ||
} else if (vbat > 3600) { | ||
return 3; | ||
} else if (vbat > 3400) { | ||
return 2; | ||
} else if (vbat > 3200) { | ||
return 1; | ||
} | ||
return 0; | ||
} | ||
|
||
bool power_get_battery_charging(void) { return 0; } | ||
uint16_t power_get_ibat_charge(void) { return 0; } | ||
uint16_t power_get_ibat_discharge(void) { return 0; } | ||
uint16_t power_get_vusb(void) { return 0; } | ||
uint16_t power_get_iusb(void) { return 0; } | ||
uint16_t power_get_temp(void) { return 0; } | ||
|
||
bool usb_connected(void) { return true; } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters