Skip to content

Commit c4d9c87

Browse files
author
Benjamin Aigner
authored
Merge pull request #62 from asterics/RP2040
Support for Arduino Nano Connect RP2040
2 parents 90deeeb + d69ea9d commit c4d9c87

File tree

7 files changed

+308
-198
lines changed

7 files changed

+308
-198
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# The following lines of boilerplate have to be in your project's CMakeLists
22
# in this exact order for cmake to work correctly
3-
cmake_minimum_required(VERSION 3.5)
3+
cmake_minimum_required(VERSION 3.16)
44

55
set(SUPPORTED_TARGETS esp32)
66
include($ENV{IDF_PATH}/tools/cmake/project.cmake)

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,16 @@ With `idf.py -p (PORT) flash` or `make flash` you can upload this build to an ES
4040

4141
With `idf.py -p (PORT) monitor` or `make monitor` you can see the debug output (please use this output if you open an issue) or trigger basic test commands (mouse movement or a keyboard key press) on
4242
a connected target.
43+
44+
### esp32miniBT vs. Arduino Nano Connect
45+
46+
This firmware is used on 2 different devices in context of our assistive devices:
47+
* __esp32miniBT module__: This board is located in this repository and is used as addon for v2 FLipMouse, FABI and FLipPad PCBs which use either a TeensyLC or a ProMicro controller.
48+
* __Arduino Nano RP2040 Connect__: Version 3 of FLipMouse and FLipPad (maybe FABI as well) use this Arduino board, where we have a RP2040 controller AND the ESP32 on the same board (more RAM, more flash, cheaper than 2 boards).
49+
50+
__Note:__ Please select the correct type of board in `idf.py menuconfig`!
51+
52+
__Note:__ If you want to use this firmware on a custom board, you can select the external UART interface settings in menuconfig; for our boards the pinning, baudrate and UART config is pre-defined.
4353

4454
# Usage via Console or second UART
4555

main/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ idf_component_register(SRCS "ble_hidd_demo_main.c"
33
"hid_dev.c"
44
"hid_device_le_prf.c"
55
INCLUDE_DIRS "."
6-
REQUIRES esp_hid PRIV_REQUIRES esp32 esp_wifi esp_websocket_client esp_https_server esp_eth mdns lwip fatfs openssl esp_https_ota esp_hid app_update)
6+
REQUIRES esp_hid PRIV_REQUIRES esp_wifi esp_https_server esp_eth nvs_flash lwip fatfs esp_https_ota esp_hid app_update)
77

88
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-unused-const-variable)

main/Kconfig.projbuild

Lines changed: 31 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,35 @@
1-
menu "esp32_mouse_keyboard - FLipMouse & FABI config"
2-
3-
config MODULE_RX_PIN
4-
int "RX pin for command/HID UART"
5-
default 17
6-
range 1 39
7-
8-
config MODULE_TX_PIN
9-
int "TX pin for command/HID UART"
10-
default 16
11-
range 1 39
12-
13-
config MODULE_LED_PIN
14-
int "LED connection indicator pin"
15-
default 5
16-
range 1 39
17-
18-
config MODULE_UART_NR
19-
int "UART interface number"
20-
default 2
21-
range 1 2
1+
menu "esp32_mouse_keyboard / FLipMouse & FABI config"
2+
config USE_AS_FLIPMOUSE_FABI
3+
bool "Use project as FLipMouse/FABI Bluetooth module"
4+
default n
5+
help
6+
If this option is enabled, a FLipMouse/FABI Bluetooth module
7+
is built. If disabled, this project acts as demo code for Bluetooth
8+
HID code.
9+
10+
menu "Pinning for UART RX/TX & LED (if not a defined module)"
11+
visible if !USE_AS_FLIPMOUSE_FABI
12+
13+
config MODULE_RX_PIN
14+
int "RX pin for command/HID UART"
15+
default 17
16+
range 1 39
17+
18+
config MODULE_TX_PIN
19+
int "TX pin for command/HID UART"
20+
default 16
21+
range 1 39
22+
23+
config MODULE_LED_PIN
24+
int "LED connection indicator pin"
25+
default 5
26+
range 1 39
2227

28+
config MODULE_UART_NR
29+
int "UART interface number"
30+
default 2
31+
range 1 2
32+
endmenu
2333
config MODULE_USEKEYBOARD
2434
bool "Enable BLE-HID keyboard (UNUSED)"
2535
default y
@@ -56,50 +66,4 @@ menu "esp32_mouse_keyboard - FLipMouse & FABI config"
5666
If enabled, the module denies pairing requests by default.
5767
It is possible to enable the pairing by sending the pairing en-/disable command
5868
via the serial interface.
59-
60-
61-
config USE_AS_FLIPMOUSE_FABI
62-
bool "Use project as FLipMouse/FABI Bluetooth module"
63-
default n
64-
help
65-
If this option is enabled, a FLipMouse/FABI Bluetooth module
66-
is built. If disabled, this project acts as demo code for Bluetooth
67-
HID code.
68-
menu "FLipMouse / FABI configuration"
69-
visible if USE_AS_FLIPMOUSE_FABI
70-
71-
choice MODULE_TYPE
72-
prompt "Module type (FLipMouse/FABI)"
73-
depends on USE_AS_FLIPMOUSE_FABI
74-
help
75-
Specify the module type (FLipMouse or FABI).
76-
77-
config MODULE_FLIPMOUSE
78-
bool "FLipMouse"
79-
80-
config MODULE_FABI
81-
bool "FABI"
82-
endchoice
83-
84-
config FM_WEBGUI
85-
bool "Enable WebGUI (UNUSED)"
86-
default n
87-
help
88-
Enable the WebGUI for the FLipMouse in the ESP32.
89-
90-
config FM_OTA
91-
depends on MODULE_FLIPMOUSE
92-
bool "Enable programming via Teensy (UNUSED)"
93-
default n
94-
help
95-
Enable the update functionality via the Teensy module.
96-
97-
config FABI_OTA
98-
depends on MODULE_FABI
99-
bool "Enable programming via ArduinoProMicro (UNUSED)"
100-
default n
101-
help
102-
Enable the update functionality via the Arduino Pro Micro module.
103-
104-
endmenu
10569
endmenu

0 commit comments

Comments
 (0)