Skip to content

Commit 1e54ee6

Browse files
committed
samples: net: cloud: aws_iot_mqtt: add hl78xx driver config file
Add HL78xx driver config to AWS IoT MQTT sample Signed-off-by: Zafer SEN <zafersn93@gmail.com>
1 parent fb1161a commit 1e54ee6

File tree

2 files changed

+119
-8
lines changed

2 files changed

+119
-8
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# The HL7800 driver gets its IP settings from the cell network
2+
CONFIG_NET_CONFIG_SETTINGS=n
3+
CONFIG_NET_DHCPV4=n
4+
CONFIG_DNS_SERVER_IP_ADDRESSES=n
5+
# NB-IoT has large latency, so increase timeouts. It is ok to use this for Cat-M1 as well.
6+
# CONFIG_NET_SOCKETS_DNS_TIMEOUT=12000
7+
CONFIG_NET_SOCKETS_CONNECT_TIMEOUT=15000
8+
# Wait for the network to be ready
9+
CONFIG_NET_CONNECTION_MANAGER=y
10+
CONFIG_NET_SAMPLE_COMMON_WAIT_DNS_SERVER_ADDITION=y
11+
# Don't require device to have time/date
12+
CONFIG_MBEDTLS_HAVE_TIME_DATE=n
13+
14+
# Network management
15+
CONFIG_NET_MGMT=y
16+
CONFIG_NET_MGMT_EVENT=y
17+
18+
#PM
19+
CONFIG_PM_DEVICE=y
20+
CONFIG_PM_DEVICE_RUNTIME=y
21+
CONFIG_PM_DEVICE_POWER_DOMAIN=y
22+
CONFIG_POWER_DOMAIN=y
23+
24+
# Logging
25+
CONFIG_LOG=y
26+
CONFIG_LOG_MODE_DEFERRED=y
27+
CONFIG_LOG_BUFFER_SIZE=32768
28+
CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=16384
29+
30+
# For extra verbosity
31+
CONFIG_MODEM_MODULES_LOG_LEVEL_DBG=y
32+
CONFIG_MODEM_LOG_LEVEL_DBG=y
33+
CONFIG_NET_CONFIG_LOG_LEVEL_DBG=y
34+
CONFIG_NET_IF_LOG_LEVEL_DBG=y
35+
CONFIG_NET_LOG=y
36+
CONFIG_NET_BUF_LOG=y
37+
CONFIG_NET_MGMT_EVENT_LOG_LEVEL_DBG=y
38+
CONFIG_NET_CONTEXT_LOG_LEVEL_DBG=y
39+
CONFIG_DNS_RESOLVER_LOG_LEVEL_DBG=y
40+
CONFIG_MODEM_CHAT_LOG_BUFFER_SIZE=1024
41+
CONFIG_NET_CORE_LOG_LEVEL_DBG=y
42+
CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y
43+
CONFIG_MODEM_HL78XX_LOG_CONTEXT_VERBOSE_DEBUG=y
44+
45+
CONFIG_STACK_SENTINEL=y
46+
CONFIG_THREAD_STACK_INFO=y
47+
CONFIG_STACK_SENTINEL=y
48+
CONFIG_THREAD_ANALYZER=y
49+
CONFIG_HW_STACK_PROTECTION=y
50+
CONFIG_STACK_CANARIES=y
51+
CONFIG_THREAD_STACK_INFO=y
52+
53+
#system
54+
CONFIG_HEAP_MEM_POOL_SIZE=4096
55+
CONFIG_MAIN_STACK_SIZE=4096
56+
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
57+
CONFIG_IDLE_STACK_SIZE=4096
58+
CONFIG_ISR_STACK_SIZE=4096
59+
CONFIG_SHELL_STACK_SIZE=4096
60+
#uart
61+
CONFIG_UART_ASYNC_API=y
62+
CONFIG_UART_INTERRUPT_DRIVEN=n
63+
CONFIG_MULTITHREADING=y
64+
65+
66+
CONFIG_DEBUG=y
67+
CONFIG_DEBUG_OPTIMIZATIONS=n
68+
69+
70+
# Modem driver
71+
CONFIG_MODEM=y
72+
#hl78xx modem
73+
CONFIG_MODEM_HL78XX=y
74+
CONFIG_MODEM_HL7812=y
75+
# Statistics
76+
CONFIG_MODEM_STATS=y
77+
CONFIG_SHELL=y
78+
79+
# Testing
80+
CONFIG_MODEM_AT_SHELL=n
81+
CONFIG_PM_DEVICE_SHELL=y
82+
CONFIG_SHELL_WILDCARD=n
83+
CONFIG_KERNEL_SHELL=y
84+
CONFIG_DEVICE_SHELL=y
85+
CONFIG_FILE_SYSTEM_SHELL=y
86+
CONFIG_NET_SHELL=y
87+
CONFIG_MODEM_HL78XX_APN_SOURCE_NETWORK=n
88+
#apn source
89+
# GET APN from KCONFIG
90+
# CONFIG_MODEM_HL78XX_APN_SOURCE_KCONFIG=y
91+
# CONFIG_MODEM_HL78XX_APN="xxxxxxxxxxx"
92+
93+
# GET APN from ICCID / IMSI
94+
# CONFIG_MODEM_HL78XX_APN_SOURCE_ICCID=y
95+
# CONFIG_MODEM_HL78XX_APN_SOURCE_IMSI=y
96+
# CONFIG_MODEM_HL78XX_APN_PROFILES="xxx=1234567, vodofone=8988239"
97+
98+
CONFIG_MODEM_HL78XX_APN_SOURCE_NETWORK=y
99+
100+
CONFIG_MODEM_HL78XX_AUTO_RAT=n
101+
# CONFIG_MODEM_HL78XX_AUTORAT_OVER_WRITE_PRL=y
102+
# CONFIG_MODEM_HL78XX_AUTORAT_PRL_PROFILES="2,1,3"
103+
CONFIG_MODEM_HL78XX_BOOT_IN_FULLY_FUNCTIONAL_MODE=y

samples/net/cloud/aws_iot_mqtt/src/main.c

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616
#include <zephyr/net/tls_credentials.h>
1717
#include <zephyr/data/json.h>
1818
#include <zephyr/random/random.h>
19+
#include <zephyr/pm/device.h>
20+
#include <zephyr/pm/device_runtime.h>
1921
#include <zephyr/logging/log.h>
2022
#include "net_sample_common.h"
2123

22-
2324
#if defined(CONFIG_MBEDTLS_MEMORY_DEBUG)
2425
#include <mbedtls/memory_buffer_alloc.h>
2526
#endif
@@ -31,9 +32,9 @@ LOG_MODULE_REGISTER(aws, LOG_LEVEL_DBG);
3132
#define AWS_BROKER_PORT CONFIG_AWS_MQTT_PORT
3233

3334
#define MQTT_BUFFER_SIZE 256u
34-
#define APP_BUFFER_SIZE 4096u
35+
#define APP_BUFFER_SIZE 4096u
3536

36-
#define MAX_RETRIES 10u
37+
#define MAX_RETRIES 10u
3738
#define BACKOFF_EXP_BASE_MS 1000u
3839
#define BACKOFF_EXP_MAX_MS 60000u
3940
#define BACKOFF_CONST_MS 5000u
@@ -49,11 +50,11 @@ static struct mqtt_client client_ctx;
4950
static const char mqtt_client_name[] = CONFIG_AWS_THING_NAME;
5051

5152
static uint32_t messages_received_counter;
52-
static bool do_publish; /* Trigger client to publish */
53+
static bool do_publish; /* Trigger client to publish */
5354
static bool do_subscribe; /* Trigger client to subscribe */
5455

5556
#if (CONFIG_AWS_MQTT_PORT == 443 && !defined(CONFIG_MQTT_LIB_WEBSOCKET))
56-
static const char * const alpn_list[] = {"x-amzn-mqtt-ca"};
57+
static const char *const alpn_list[] = {"x-amzn-mqtt-ca"};
5758
#endif
5859

5960
#define TLS_TAG_DEVICE_CERTIFICATE 1
@@ -193,8 +194,8 @@ static ssize_t handle_published_message(const struct mqtt_publish_param *pub)
193194
const char *mqtt_evt_type_to_str(enum mqtt_evt_type type)
194195
{
195196
static const char *const types[] = {
196-
"CONNACK", "DISCONNECT", "PUBLISH", "PUBACK", "PUBREC",
197-
"PUBREL", "PUBCOMP", "SUBACK", "UNSUBACK", "PINGRESP",
197+
"CONNACK", "DISCONNECT", "PUBLISH", "PUBACK", "PUBREC",
198+
"PUBREL", "PUBCOMP", "SUBACK", "UNSUBACK", "PINGRESP",
198199
};
199200

200201
return (type < ARRAY_SIZE(types)) ? types[type] : "<unknown>";
@@ -281,7 +282,7 @@ struct backoff_context {
281282

282283
#if defined(CONFIG_AWS_EXPONENTIAL_BACKOFF)
283284
uint32_t attempt_max_backoff; /* ms */
284-
uint32_t max_backoff; /* ms */
285+
uint32_t max_backoff; /* ms */
285286
#endif
286287
};
287288

@@ -453,7 +454,14 @@ static int resolve_broker_addr(struct sockaddr_in *broker)
453454
int main(void)
454455
{
455456
setup_credentials();
457+
/* Not quite sure where to invoke */
458+
#ifdef CONFIG_MODEM_HL78XX
459+
const struct device *modem = DEVICE_DT_GET(DT_ALIAS(modem));
456460

461+
LOG_INF("Powering on modem\n");
462+
pm_device_action_run(modem, PM_DEVICE_ACTION_RESUME);
463+
#endif
464+
/* ------------------- */
457465
wait_for_network();
458466

459467
for (;;) {

0 commit comments

Comments
 (0)