Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
tao150111
arduino-esp32
提交
275e6ffa
A
arduino-esp32
项目概览
tao150111
/
arduino-esp32
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
arduino-esp32
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
275e6ffa
编写于
8月 01, 2021
作者:
M
me-no-dev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add example ESP32-S2 USB-ONLY board
上级
934b6460
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
217 addition
and
19 deletion
+217
-19
boards.txt
boards.txt
+98
-1
cores/esp32/FirmwareMSC.cpp
cores/esp32/FirmwareMSC.cpp
+22
-4
cores/esp32/USB.cpp
cores/esp32/USB.cpp
+8
-2
cores/esp32/USBMSC.cpp
cores/esp32/USBMSC.cpp
+1
-1
cores/esp32/firmware_msc_fat.c
cores/esp32/firmware_msc_fat.c
+7
-11
variants/esp32s2usb/pins_arduino.h
variants/esp32s2usb/pins_arduino.h
+81
-0
未找到文件。
boards.txt
浏览文件 @
275e6ffa
...
...
@@ -181,7 +181,7 @@ esp32s2.build.dfu_on_boot=0
esp32s2.build.f_cpu=240000000L
esp32s2.build.flash_size=4MB
esp32s2.build.flash_freq=80m
esp32s2.build.flash_mode=
q
io
esp32s2.build.flash_mode=
d
io
esp32s2.build.boot=qio
esp32s2.build.partitions=default
esp32s2.build.defines=
...
...
@@ -649,6 +649,103 @@ pico32.menu.DebugLevel.verbose.build.code_debug=5
##############################################################
esp32s2usb.name=ESP32S2 Native USB
esp32s2usb.vid.0=0x303a
esp32s2usb.pid.0=0x0003
esp32s2usb.upload.tool=esptool_py
esp32s2usb.upload.maximum_size=1310720
esp32s2usb.upload.maximum_data_size=327680
esp32s2usb.upload.flags=
esp32s2usb.upload.extra_flags=
esp32s2usb.upload.use_1200bps_touch=true
esp32s2usb.upload.wait_for_upload_port=true
esp32s2usb.upload.speed=921600
esp32s2usb.serial.disableDTR=false
esp32s2usb.serial.disableRTS=false
esp32s2usb.build.tarch=xtensa
esp32s2usb.build.bootloader_addr=0x1000
esp32s2usb.build.target=esp32s2
esp32s2usb.build.mcu=esp32s2
esp32s2usb.build.core=esp32
esp32s2usb.build.variant=esp32s2usb
esp32s2usb.build.board=ESP32S2_USB
esp32s2usb.build.cdc_on_boot=1
esp32s2usb.build.msc_on_boot=1
esp32s2usb.build.dfu_on_boot=1
esp32s2usb.build.f_cpu=240000000L
esp32s2usb.build.flash_size=4MB
esp32s2usb.build.flash_freq=80m
esp32s2usb.build.flash_mode=dio
esp32s2usb.build.boot=qio
esp32s2usb.build.partitions=default
esp32s2usb.build.defines=
esp32s2usb.menu.PSRAM.disabled=Disabled
esp32s2usb.menu.PSRAM.disabled.build.defines=
esp32s2usb.menu.PSRAM.enabled=Enabled
esp32s2usb.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
esp32s2usb.menu.FlashSize.4M=4MB (32Mb)
esp32s2usb.menu.FlashSize.4M.build.flash_size=4MB
esp32s2usb.menu.FlashSize.8M=8MB (64Mb)
esp32s2usb.menu.FlashSize.8M.build.flash_size=8MB
esp32s2usb.menu.FlashSize.8M.build.partitions=default_8MB
esp32s2usb.menu.FlashSize.16M=16MB (128Mb)
esp32s2usb.menu.FlashSize.16M.build.flash_size=16MB
esp32s2usb.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
esp32s2usb.menu.PartitionScheme.default.build.partitions=default
esp32s2usb.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
esp32s2usb.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
esp32s2usb.menu.PartitionScheme.default_8MB=8M Flash (3MB APP/1.5MB FAT)
esp32s2usb.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
esp32s2usb.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
esp32s2usb.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
esp32s2usb.menu.PartitionScheme.minimal.build.partitions=minimal
esp32s2usb.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
esp32s2usb.menu.PartitionScheme.no_ota.build.partitions=no_ota
esp32s2usb.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
esp32s2usb.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
esp32s2usb.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
esp32s2usb.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
esp32s2usb.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
esp32s2usb.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
esp32s2usb.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
esp32s2usb.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
esp32s2usb.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
esp32s2usb.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
esp32s2usb.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
esp32s2usb.menu.PartitionScheme.huge_app.build.partitions=huge_app
esp32s2usb.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
esp32s2usb.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
esp32s2usb.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
esp32s2usb.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
esp32s2usb.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FAT)
esp32s2usb.menu.PartitionScheme.fatflash.build.partitions=ffat
esp32s2usb.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
esp32s2usb.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS)
esp32s2usb.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
esp32s2usb.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
esp32s2usb.menu.DebugLevel.none=None
esp32s2usb.menu.DebugLevel.none.build.code_debug=0
esp32s2usb.menu.DebugLevel.error=Error
esp32s2usb.menu.DebugLevel.error.build.code_debug=1
esp32s2usb.menu.DebugLevel.warn=Warn
esp32s2usb.menu.DebugLevel.warn.build.code_debug=2
esp32s2usb.menu.DebugLevel.info=Info
esp32s2usb.menu.DebugLevel.info.build.code_debug=3
esp32s2usb.menu.DebugLevel.debug=Debug
esp32s2usb.menu.DebugLevel.debug.build.code_debug=4
esp32s2usb.menu.DebugLevel.verbose=Verbose
esp32s2usb.menu.DebugLevel.verbose.build.code_debug=5
##############################################################
esp32wroverkit.name=ESP32 Wrover Kit (all versions)
esp32wroverkit.upload.tool=esptool_py
esp32wroverkit.upload.maximum_size=1310720
...
...
cores/esp32/FirmwareMSC.cpp
浏览文件 @
275e6ffa
...
...
@@ -17,9 +17,27 @@
#include "esp_partition.h"
#include "esp_ota_ops.h"
#include "esp32-hal.h"
#include "pins_arduino.h"
#include "firmware_msc_fat.h"
#if CONFIG_TINYUSB_MSC_ENABLED
#ifndef USB_FW_MSC_VENDOR_ID
#define USB_FW_MSC_VENDOR_ID "ESP32" //max 8 chars
#endif
#ifndef USB_FW_MSC_PRODUCT_ID
#define USB_FW_MSC_PRODUCT_ID "Firmware MSC"//max 16 chars
#endif
#ifndef USB_FW_MSC_PRODUCT_REVISION
#define USB_FW_MSC_PRODUCT_REVISION "1.0" //max 4 chars
#endif
#ifndef USB_FW_MSC_VOLUME_NAME
#define USB_FW_MSC_VOLUME_NAME "ESP32-FWMSC" //max 11 chars
#endif
#ifndef USB_FW_MSC_SERIAL_NUMBER
#define USB_FW_MSC_SERIAL_NUMBER 0x00000000
#endif
ESP_EVENT_DEFINE_BASE
(
ARDUINO_FIRMWARE_MSC_EVENTS
);
esp_err_t
arduino_usb_event_post
(
esp_event_base_t
event_base
,
int32_t
event_id
,
void
*
event_data
,
size_t
event_data_size
,
TickType_t
ticks_to_wait
);
esp_err_t
arduino_usb_event_handler_register_with
(
esp_event_base_t
event_base
,
int32_t
event_id
,
esp_event_handler_t
event_handler
,
void
*
event_handler_arg
);
...
...
@@ -334,7 +352,7 @@ FirmwareMSC::FirmwareMSC():msc(){}
FirmwareMSC
::~
FirmwareMSC
(){}
bool
FirmwareMSC
::
begin
(){
if
(
!
msc_update_setup_disk
(
"ESP32-FWMSC"
,
0x0
)){
if
(
!
msc_update_setup_disk
(
USB_FW_MSC_VOLUME_NAME
,
USB_FW_MSC_SERIAL_NUMBER
)){
return
false
;
}
...
...
@@ -345,9 +363,9 @@ bool FirmwareMSC::begin(){
}
}
msc
.
vendorID
(
"ESP32S2"
);
//max 8 chars
msc
.
productID
(
"Firmware MSC"
);
//max 16 chars
msc
.
productRevision
(
"1.0"
);
//max 4 chars
msc
.
vendorID
(
USB_FW_MSC_VENDOR_ID
);
msc
.
productID
(
USB_FW_MSC_PRODUCT_ID
);
msc
.
productRevision
(
USB_FW_MSC_PRODUCT_REVISION
);
msc
.
onStartStop
(
msc_start_stop
);
msc
.
onRead
(
msc_read
);
msc
.
onWrite
(
msc_write
);
...
...
cores/esp32/USB.cpp
浏览文件 @
275e6ffa
...
...
@@ -31,6 +31,12 @@
#ifndef USB_SERIAL
#define USB_SERIAL "0"
#endif
#ifndef USB_WEBUSB_ENABLED
#define USB_WEBUSB_ENABLED false
#endif
#ifndef USB_WEBUSB_URL
#define USB_WEBUSB_URL "https://espressif.github.io/arduino-esp32/webusb.html"
#endif
#if CFG_TUD_DFU_RUNTIME
static
uint16_t
load_dfu_descriptor
(
uint8_t
*
dst
,
uint8_t
*
itf
)
...
...
@@ -116,8 +122,8 @@ ESPUSB::ESPUSB(size_t task_stack_size, uint8_t event_task_priority)
,
usb_protocol
(
MISC_PROTOCOL_IAD
)
,
usb_attributes
(
TUSB_DESC_CONFIG_ATT_SELF_POWERED
)
,
usb_power_ma
(
500
)
,
webusb_enabled
(
false
)
,
webusb_url
(
"https://espressif.github.io/arduino-esp32/webusb.html"
)
,
webusb_enabled
(
USB_WEBUSB_ENABLED
)
,
webusb_url
(
USB_WEBUSB_URL
)
,
_started
(
false
)
,
_task_stack_size
(
task_stack_size
)
,
_event_task_priority
(
event_task_priority
)
...
...
cores/esp32/USBMSC.cpp
浏览文件 @
275e6ffa
...
...
@@ -61,7 +61,7 @@ static void cplstr(void *dst, const void * src, size_t max_len){
// Invoked when received GET_MAX_LUN request, required for multiple LUNs implementation
uint8_t
tud_msc_get_maxlun_cb
(
void
)
{
log_v
(
"
"
);
log_v
(
"
%u"
,
MSC_ACTIVE_LUN
);
return
MSC_ACTIVE_LUN
;
}
...
...
cores/esp32/firmware_msc_fat.c
浏览文件 @
275e6ffa
...
...
@@ -13,27 +13,22 @@
// limitations under the License.
#include "firmware_msc_fat.h"
static
void
cplstr
(
void
*
dst
,
const
void
*
src
,
size_t
max_len
){
//copy up to max_len chars from src to dst and do not terminate
static
size_t
cplstr
(
void
*
dst
,
const
void
*
src
,
size_t
max_len
){
if
(
!
src
||
!
dst
||
!
max_len
){
return
;
return
0
;
}
size_t
l
=
strlen
((
const
char
*
)
src
);
if
(
l
>
max_len
){
l
=
max_len
;
}
memcpy
(
dst
,
src
,
l
);
return
l
;
}
//copy up to max_len chars from src to dst, adding spaces up to max_len. do not terminate
static
void
cplstrsp
(
void
*
dst
,
const
void
*
src
,
size_t
max_len
){
if
(
!
src
||
!
dst
||
!
max_len
){
return
;
}
size_t
l
=
strlen
((
const
char
*
)
src
);
if
(
l
>
max_len
){
l
=
max_len
;
}
memcpy
(
dst
,
src
,
l
);
size_t
l
=
cplstr
(
dst
,
src
,
max_len
);
for
(
l
;
l
<
max_len
;
l
++
){
((
uint8_t
*
)
dst
)[
l
]
=
0x20
;
}
...
...
@@ -89,6 +84,7 @@ static void fat16_set_table_index(uint8_t * table, uint16_t index, uint16_t valu
*
(
uint16_t
*
)(
table
+
offset
)
=
value
;
}
//Interface
const
char
*
fat_file_system_type
(
bool
fat16
)
{
return
((
fat16
)
?
FAT16_FILE_SYSTEM_TYPE
:
FAT12_FILE_SYSTEM_TYPE
);
}
...
...
variants/esp32s2usb/pins_arduino.h
0 → 100644
浏览文件 @
275e6ffa
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
// Default USB Settings
#define USB_VID 0x303A
#define USB_PID 0x0003
#define USB_MANUFACTURER "Espressif Systems"
#define USB_PRODUCT "ESP32-S2-USB"
#define USB_SERIAL "0"
#define USB_WEBUSB_ENABLED false
#define USB_WEBUSB_URL "https://espressif.github.io/arduino-esp32/webusb.html"
// Default USB FirmwareMSC Settings
#define USB_FW_MSC_VENDOR_ID "ESP32-S2" //max 8 chars
#define USB_FW_MSC_PRODUCT_ID "Firmware MSC" //max 16 chars
#define USB_FW_MSC_PRODUCT_REVISION "1.23" //max 4 chars
#define USB_FW_MSC_VOLUME_NAME "S2-Firmware" //max 11 chars
#define USB_FW_MSC_SERIAL_NUMBER 0x00000000
#define EXTERNAL_NUM_INTERRUPTS 46
#define NUM_DIGITAL_PINS 48
#define NUM_ANALOG_INPUTS 20
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
#define digitalPinHasPWM(p) (p < 46)
static
const
uint8_t
TX
=
43
;
static
const
uint8_t
RX
=
44
;
static
const
uint8_t
SDA
=
8
;
static
const
uint8_t
SCL
=
9
;
static
const
uint8_t
SS
=
34
;
static
const
uint8_t
MOSI
=
35
;
static
const
uint8_t
MISO
=
37
;
static
const
uint8_t
SCK
=
36
;
static
const
uint8_t
A0
=
1
;
static
const
uint8_t
A1
=
2
;
static
const
uint8_t
A2
=
3
;
static
const
uint8_t
A3
=
4
;
static
const
uint8_t
A4
=
5
;
static
const
uint8_t
A5
=
6
;
static
const
uint8_t
A6
=
7
;
static
const
uint8_t
A7
=
8
;
static
const
uint8_t
A8
=
9
;
static
const
uint8_t
A9
=
10
;
static
const
uint8_t
A10
=
11
;
static
const
uint8_t
A11
=
12
;
static
const
uint8_t
A12
=
13
;
static
const
uint8_t
A13
=
14
;
static
const
uint8_t
A14
=
15
;
static
const
uint8_t
A15
=
16
;
static
const
uint8_t
A16
=
17
;
static
const
uint8_t
A17
=
18
;
static
const
uint8_t
A18
=
19
;
static
const
uint8_t
A19
=
20
;
static
const
uint8_t
T1
=
1
;
static
const
uint8_t
T2
=
2
;
static
const
uint8_t
T3
=
3
;
static
const
uint8_t
T4
=
4
;
static
const
uint8_t
T5
=
5
;
static
const
uint8_t
T6
=
6
;
static
const
uint8_t
T7
=
7
;
static
const
uint8_t
T8
=
8
;
static
const
uint8_t
T9
=
9
;
static
const
uint8_t
T10
=
10
;
static
const
uint8_t
T11
=
11
;
static
const
uint8_t
T12
=
12
;
static
const
uint8_t
T13
=
13
;
static
const
uint8_t
T14
=
14
;
static
const
uint8_t
DAC1
=
17
;
static
const
uint8_t
DAC2
=
18
;
#endif
/* Pins_Arduino_h */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录