Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
arduino-esp32
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
arduino-esp32
Commits
788a4caf
Unverified
Commit
788a4caf
authored
Apr 10, 2023
by
Me No Dev
Committed by
GitHub
Apr 10, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into release/v2.x
parents
2ff2b43a
224e778b
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
142 additions
and
13 deletions
+142
-13
CMakeLists.txt
CMakeLists.txt
+1
-0
boards.txt
boards.txt
+3
-5
docs/source/installing.rst
docs/source/installing.rst
+2
-2
libraries/Insights/src/Insights.cpp
libraries/Insights/src/Insights.cpp
+7
-2
libraries/Insights/src/Insights.h
libraries/Insights/src/Insights.h
+1
-1
libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino
libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino
+4
-0
libraries/RainMaker/src/AppInsights.cpp
libraries/RainMaker/src/AppInsights.cpp
+81
-0
libraries/RainMaker/src/AppInsights.h
libraries/RainMaker/src/AppInsights.h
+12
-0
libraries/USB/examples/Gamepad/Gamepad.ino
libraries/USB/examples/Gamepad/Gamepad.ino
+31
-3
No files found.
CMakeLists.txt
View file @
788a4caf
...
...
@@ -99,6 +99,7 @@ set(LIBRARY_SRCS
libraries/RainMaker/src/RMakerType.cpp
libraries/RainMaker/src/RMakerQR.cpp
libraries/RainMaker/src/RMakerUtils.cpp
libraries/RainMaker/src/AppInsights.cpp
libraries/SD_MMC/src/SD_MMC.cpp
libraries/SD/src/SD.cpp
libraries/SD/src/sd_diskio.cpp
...
...
boards.txt
View file @
788a4caf
...
...
@@ -17817,12 +17817,12 @@ deneyapkart1Av2.menu.DFUOnBoot.default.build.dfu_on_boot=0
deneyapkart1Av2.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
deneyapkart1Av2.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
deneyapkart1Av2.menu.UploadMode.default=UART0 / Hardware CDC
deneyapkart1Av2.menu.UploadMode.default.upload.use_1200bps_touch=false
deneyapkart1Av2.menu.UploadMode.default.upload.wait_for_upload_port=false
deneyapkart1Av2.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
deneyapkart1Av2.menu.UploadMode.cdc.upload.use_1200bps_touch=true
deneyapkart1Av2.menu.UploadMode.cdc.upload.wait_for_upload_port=true
deneyapkart1Av2.menu.UploadMode.default=UART0 / Hardware CDC
deneyapkart1Av2.menu.UploadMode.default.upload.use_1200bps_touch=false
deneyapkart1Av2.menu.UploadMode.default.upload.wait_for_upload_port=false
deneyapkart1Av2.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
deneyapkart1Av2.menu.PartitionScheme.default.build.partitions=default
...
...
@@ -22714,5 +22714,3 @@ crabik_slot_esp32_s3.menu.EraseFlash.all=Enabled
crabik_slot_esp32_s3.menu.EraseFlash.all.upload.erase_cmd=-e
##############################################################
docs/source/installing.rst
View file @
788a4caf
...
...
@@ -25,11 +25,11 @@ This is the way to install Arduino-ESP32 directly from the Arduino IDE.
- Stable release link::
https://
raw.githubusercontent.com/espressif/arduino-esp32/gh-pages
/package_esp32_index.json
https://
espressif.github.io/arduino-esp32
/package_esp32_index.json
- Development release link::
https://
raw.githubusercontent.com/espressif/arduino-esp32/gh-pages
/package_esp32_dev_index.json
https://
espressif.github.io/arduino-esp32
/package_esp32_dev_index.json
.. note::
...
...
libraries/Insights/src/Insights.cpp
View file @
788a4caf
...
...
@@ -49,13 +49,18 @@ ESPInsightsClass::~ESPInsightsClass(){
end
();
}
bool
ESPInsightsClass
::
begin
(
const
char
*
auth_key
,
const
char
*
node_id
,
uint32_t
log_type
,
bool
alloc_ext_ram
){
bool
ESPInsightsClass
::
begin
(
const
char
*
auth_key
,
const
char
*
node_id
,
uint32_t
log_type
,
bool
alloc_ext_ram
,
bool
use_default_transport
){
if
(
!
initialized
){
if
(
log_type
==
0xFFFFFFFF
){
log_type
=
(
ESP_DIAG_LOG_TYPE_ERROR
|
ESP_DIAG_LOG_TYPE_WARNING
|
ESP_DIAG_LOG_TYPE_EVENT
);
}
esp_insights_config_t
config
=
{.
log_type
=
log_type
,
.
node_id
=
node_id
,
.
auth_key
=
auth_key
,
.
alloc_ext_ram
=
alloc_ext_ram
};
esp_err_t
err
=
esp_insights_init
(
&
config
);
esp_err_t
err
=
ESP_OK
;
if
(
use_default_transport
)
{
err
=
esp_insights_init
(
&
config
);
}
else
{
err
=
esp_insights_enable
(
&
config
);
}
if
(
err
!=
ESP_OK
)
{
log_e
(
"Failed to initialize ESP Insights, err:0x%x"
,
err
);
}
...
...
libraries/Insights/src/Insights.h
View file @
788a4caf
...
...
@@ -90,7 +90,7 @@ class ESPInsightsClass
ESPInsightsClass
();
~
ESPInsightsClass
();
bool
begin
(
const
char
*
auth_key
,
const
char
*
node_id
=
NULL
,
uint32_t
log_type
=
0xFFFFFFFF
,
bool
alloc_ext_ram
=
false
);
bool
begin
(
const
char
*
auth_key
,
const
char
*
node_id
=
NULL
,
uint32_t
log_type
=
0xFFFFFFFF
,
bool
alloc_ext_ram
=
false
,
bool
use_default_transport
=
true
);
void
end
();
bool
send
();
const
char
*
nodeID
();
...
...
libraries/RainMaker/examples/RMakerSwitch/RMakerSwitch.ino
View file @
788a4caf
...
...
@@ -2,6 +2,7 @@
#include "RMaker.h"
#include "WiFi.h"
#include "WiFiProv.h"
#include "AppInsights.h"
#define DEFAULT_POWER_MODE true
const
char
*
service_name
=
"PROV_1234"
;
...
...
@@ -98,6 +99,9 @@ void setup()
RMaker
.
enableSchedule
();
RMaker
.
enableScenes
();
// Enable ESP Insights. Insteads of using the default http transport, this function will
// reuse the existing MQTT connection of Rainmaker, thereby saving memory space.
initAppInsights
();
RMaker
.
enableSystemService
(
SYSTEM_SERV_FLAGS_ALL
,
2
,
2
,
2
);
...
...
libraries/RainMaker/src/AppInsights.cpp
0 → 100644
View file @
788a4caf
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include <inttypes.h>
#if defined(CONFIG_ESP_INSIGHTS_ENABLED) && defined(CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK)
#include "Arduino.h"
#include "AppInsights.h"
#include "Insights.h"
#include <esp_rmaker_mqtt.h>
#include <esp_insights.h>
#include <esp_diagnostics.h>
#include <esp_rmaker_core.h>
#include <esp_rmaker_common_events.h>
extern
"C"
{
bool
esp_rmaker_mqtt_is_budget_available
();
}
#define INSIGHTS_TOPIC_SUFFIX "diagnostics/from-node"
#define INSIGHTS_TOPIC_RULE "insights_message_delivery"
static
void
_rmakerCommonEventHandler
(
void
*
arg
,
esp_event_base_t
event_base
,
int32_t
event_id
,
void
*
event_data
)
{
if
(
event_base
!=
RMAKER_COMMON_EVENT
)
{
return
;
}
esp_insights_transport_event_data_t
data
;
switch
(
event_id
)
{
case
RMAKER_MQTT_EVENT_PUBLISHED
:
memset
(
&
data
,
0
,
sizeof
(
data
));
data
.
msg_id
=
*
(
int
*
)
event_data
;
esp_event_post
(
INSIGHTS_EVENT
,
INSIGHTS_EVENT_TRANSPORT_SEND_SUCCESS
,
&
data
,
sizeof
(
data
),
portMAX_DELAY
);
break
;
default:
break
;
}
}
static
int
_appInsightsDataSend
(
void
*
data
,
size_t
len
)
{
char
topic
[
128
];
int
msg_id
=
-
1
;
if
(
data
==
NULL
)
{
return
0
;
}
char
*
node_id
=
esp_rmaker_get_node_id
();
if
(
!
node_id
)
{
return
-
1
;
}
if
(
esp_rmaker_mqtt_is_budget_available
()
==
false
)
{
return
ESP_FAIL
;
}
esp_rmaker_create_mqtt_topic
(
topic
,
sizeof
(
topic
),
INSIGHTS_TOPIC_SUFFIX
,
INSIGHTS_TOPIC_RULE
);
esp_rmaker_mqtt_publish
(
topic
,
data
,
len
,
RMAKER_MQTT_QOS1
,
&
msg_id
);
return
msg_id
;
}
bool
initAppInsights
(
uint32_t
log_type
,
bool
alloc_ext_ram
)
{
char
*
node_id
=
esp_rmaker_get_node_id
();
esp_insights_transport_config_t
transport
;
transport
.
userdata
=
NULL
;
transport
.
callbacks
.
data_send
=
_appInsightsDataSend
;
transport
.
callbacks
.
init
=
NULL
;
transport
.
callbacks
.
deinit
=
NULL
;
transport
.
callbacks
.
connect
=
NULL
;
transport
.
callbacks
.
disconnect
=
NULL
;
esp_insights_transport_register
(
&
transport
);
esp_event_handler_register
(
RMAKER_COMMON_EVENT
,
ESP_EVENT_ANY_ID
,
_rmakerCommonEventHandler
,
NULL
);
return
Insights
.
begin
(
NULL
,
node_id
,
log_type
,
alloc_ext_ram
,
false
);
}
#else
bool
initAppInsights
(
uint32_t
log_type
,
bool
alloc_ext_ram
)
{
return
false
;
}
#endif
libraries/RainMaker/src/AppInsights.h
0 → 100644
View file @
788a4caf
/*
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
#include "sdkconfig.h"
#include "Arduino.h"
#include <inttypes.h>
bool
initAppInsights
(
uint32_t
log_type
=
0xffffffff
,
bool
alloc_ext_ram
=
false
);
libraries/USB/examples/Gamepad/Gamepad.ino
View file @
788a4caf
...
...
@@ -14,13 +14,41 @@ void setup() {
pinMode
(
buttonPin
,
INPUT_PULLUP
);
Gamepad
.
begin
();
USB
.
begin
();
Serial
.
begin
(
115200
);
Serial
.
println
(
"
\n
==================
\n
USB Gamepad Testing
\n
==================
\n
"
);
Serial
.
println
(
"Press BOOT Button to activate the USB gamepad."
);
Serial
.
println
(
"Longer press will change the affected button and controls."
);
Serial
.
println
(
"Shorter press/release just activates the button and controls."
);
}
void
loop
()
{
static
uint8_t
padID
=
0
;
static
long
lastPress
=
0
;
int
buttonState
=
digitalRead
(
buttonPin
);
if
((
buttonState
!=
previousButtonState
)
&&
(
buttonState
==
LOW
))
{
Gamepad
.
pressButton
(
BUTTON_START
);
Gamepad
.
releaseButton
(
BUTTON_START
);
if
(
buttonState
!=
previousButtonState
)
{
if
(
buttonState
==
LOW
)
{
// BOOT Button pressed
Gamepad
.
pressButton
(
padID
);
// Buttons 1 to 32
Gamepad
.
leftStick
(
padID
<<
3
,
padID
<<
3
);
// X Axis, Y Axis
Gamepad
.
rightStick
(
-
(
padID
<<
2
),
padID
<<
2
);
// Z Axis, Z Rotation
Gamepad
.
leftTrigger
(
padID
<<
4
);
// X Rotation
Gamepad
.
rightTrigger
(
-
(
padID
<<
4
));
// Y Rotation
Gamepad
.
hat
((
padID
&
0x7
)
+
1
);
// Point of View Hat
log_d
(
"Pressed PadID [%d]"
,
padID
);
lastPress
=
millis
();
}
else
{
Gamepad
.
releaseButton
(
padID
);
Gamepad
.
leftStick
(
0
,
0
);
Gamepad
.
rightStick
(
0
,
0
);
Gamepad
.
leftTrigger
(
0
);
Gamepad
.
rightTrigger
(
0
);
Gamepad
.
hat
(
HAT_CENTER
);
log_d
(
"Released PadID [%d]
\n
"
,
padID
);
if
(
millis
()
-
lastPress
>
300
)
{
padID
=
(
padID
+
1
)
&
0x1F
;
log_d
(
"Changed padID to %d
\n
"
,
padID
);
}
}
}
previousButtonState
=
buttonState
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment