NuMaker connection with AWS IoT thru MQTT/HTTPS

Dependencies:   MQTT

Committer:
ccli8
Date:
Thu Sep 02 11:34:22 2021 +0800
Revision:
45:7d315fb1ba3e
Parent:
29:e890b0fdce53
Fix MQTT client ID collision

If not assigned, generate unique MQTT client ID:
1. For non-TZ targets, use FMC/UID.
2. For TZ targets (NS), FMC/UID is inaccessible. Use random instead.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ccli8 29:e890b0fdce53 1 /*
ccli8 29:e890b0fdce53 2 * Copyright (c) 2019 Nuvoton Technology Corporation
ccli8 29:e890b0fdce53 3 *
ccli8 29:e890b0fdce53 4 * SPDX-License-Identifier: Apache-2.0
ccli8 29:e890b0fdce53 5 *
ccli8 29:e890b0fdce53 6 * Licensed under the Apache License, Version 2.0 (the "License");
ccli8 29:e890b0fdce53 7 * you may not use this file except in compliance with the License.
ccli8 29:e890b0fdce53 8 * You may obtain a copy of the License at
ccli8 29:e890b0fdce53 9 *
ccli8 29:e890b0fdce53 10 * http://www.apache.org/licenses/LICENSE-2.0
ccli8 29:e890b0fdce53 11 *
ccli8 29:e890b0fdce53 12 * Unless required by applicable law or agreed to in writing, software
ccli8 29:e890b0fdce53 13 * distributed under the License is distributed on an "AS IS" BASIS,
ccli8 29:e890b0fdce53 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ccli8 29:e890b0fdce53 15 * See the License for the specific language governing permissions and
ccli8 29:e890b0fdce53 16 * limitations under the License.
ccli8 29:e890b0fdce53 17 */
ccli8 29:e890b0fdce53 18
ccli8 29:e890b0fdce53 19 #include "mbed.h"
ccli8 29:e890b0fdce53 20
ccli8 29:e890b0fdce53 21 /* Support host command communicating via USB VCOM
ccli8 29:e890b0fdce53 22 *
ccli8 29:e890b0fdce53 23 * WARNING: For mass production, remove this file.
ccli8 29:e890b0fdce53 24 */
ccli8 29:e890b0fdce53 25
ccli8 29:e890b0fdce53 26 /* Check weak reference/definition at the link:
ccli8 29:e890b0fdce53 27 * http://www.keil.com/support/man/docs/ARMLINK/armlink_pge1362065917715.htm */
ccli8 29:e890b0fdce53 28
ccli8 29:e890b0fdce53 29 extern "C" {
ccli8 29:e890b0fdce53 30 MBED_USED void pump_host_command(void);
ccli8 29:e890b0fdce53 31 MBED_WEAK int fetch_host_command(void);
ccli8 29:e890b0fdce53 32 MBED_WEAK void dispatch_host_command(int);
ccli8 29:e890b0fdce53 33 }
ccli8 29:e890b0fdce53 34
ccli8 29:e890b0fdce53 35 void pump_host_command(void)
ccli8 29:e890b0fdce53 36 {
ccli8 29:e890b0fdce53 37 if (fetch_host_command && dispatch_host_command) {
ccli8 29:e890b0fdce53 38 dispatch_host_command(fetch_host_command());
ccli8 29:e890b0fdce53 39 }
ccli8 29:e890b0fdce53 40 }