add saola button pin support, esp32 build with board_test

This commit is contained in:
hathach 2020-04-07 13:42:48 +07:00
parent 51944f0dc9
commit 6a9f971882
8 changed files with 62 additions and 7 deletions

View File

@ -0,0 +1,14 @@
# The following five lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
# example src directory
set(EXTRA_COMPONENT_DIRS "src")
# TOP is absolute path to root directory of TinyUSB git repo
set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(board_test)

View File

@ -0,0 +1,4 @@
CONFIG_IDF_CMAKE=y
CONFIG_IDF_TARGET="esp32s2"
CONFIG_IDF_TARGET_ESP32S2=y

View File

@ -0,0 +1,19 @@
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "."
REQUIRES freertos soc)
target_compile_options(${COMPONENT_TARGET} PUBLIC
"-DCFG_TUSB_MCU=OPT_MCU_ESP32S2"
"-DCFG_TUSB_OS=OPT_OS_FREERTOS"
)
idf_component_get_property( FREERTOS_ORIG_INCLUDE_PATH freertos ORIG_INCLUDE_PATH)
target_include_directories(${COMPONENT_TARGET} PUBLIC
"${FREERTOS_ORIG_INCLUDE_PATH}"
"${TOP}/hw"
"${TOP}/src"
)
target_sources(${COMPONENT_TARGET} PUBLIC
"${TOP}/hw/bsp/esp32s2_saola/esp32s2_saola.c"
)

View File

@ -73,3 +73,10 @@ int main(void)
return 0;
}
#if CFG_TUSB_MCU == OPT_MCU_ESP32S2
void app_main(void)
{
main();
}
#endif

View File

@ -39,8 +39,11 @@
#error CFG_TUSB_MCU must be defined
#endif
#ifndef CFG_TUSB_OS
#define CFG_TUSB_OS OPT_OS_NONE
#endif
#define CFG_TUSB_RHPORT0_MODE OPT_MODE_NONE
#define CFG_TUSB_OS OPT_OS_NONE
// CFG_TUSB_DEBUG is defined by compiler in DEBUG build
// #define CFG_TUSB_DEBUG 0

View File

@ -5,6 +5,10 @@ cmake_minimum_required(VERSION 3.5)
# example src directory
set(EXTRA_COMPONENT_DIRS "src")
# TOP is absolute path to root directory of TinyUSB git repo
set(TOP "../../..")
get_filename_component(TOP "${TOP}" REALPATH)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(cdc_msc_freertos)

View File

@ -1,7 +1,3 @@
# TOP is absolute path to root directory of TinyUSB git repo
set(TOP "../../../..")
get_filename_component(TOP "${TOP}" REALPATH)
idf_component_register(SRCS "main.c" "usb_descriptors.c" "msc_disk.c"
INCLUDE_DIRS "."
REQUIRES freertos soc)

View File

@ -32,7 +32,10 @@
// MACRO TYPEDEF CONSTANT ENUM DECLARATION
//--------------------------------------------------------------------+
#define LED_PIN 21
#define LED_PIN 21
#define BUTTON_PIN 0
#define BUTTON_STATE_ACTIVE 0
// Initialize on-board peripherals : led, button, uart and USB
void board_init(void)
@ -41,6 +44,11 @@ void board_init(void)
gpio_pad_select_gpio(LED_PIN);
gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);
// Button
gpio_pad_select_gpio(BUTTON_PIN);
gpio_set_direction(BUTTON_PIN, GPIO_MODE_INPUT);
gpio_set_pull_mode(BUTTON_PIN, BUTTON_STATE_ACTIVE ? GPIO_PULLDOWN_ONLY : GPIO_PULLUP_ONLY);
// USB Controller Hal init
usb_hal_context_t hal = {
.use_external_phy = false // use built-in PHY
@ -58,7 +66,7 @@ void board_led_write(bool state)
// a '1' means active (pressed), a '0' means inactive.
uint32_t board_button_read(void)
{
return 0;
return gpio_get_level(BUTTON_PIN) == BUTTON_STATE_ACTIVE;
}
// Get characters from UART