Skip to content

Commit aaa617d

Browse files
author
Qinghao Shi
authored
Add more snippets (#109)
* add more example snippets * deprecate wait function
1 parent bfc8d92 commit aaa617d

File tree

3 files changed

+111
-0
lines changed

3 files changed

+111
-0
lines changed

APIs_Drivers/Watchdog_ex_1/main.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright (c) 2020 Arm Limited and affiliates.
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include "mbed.h"
7+
8+
const uint32_t TIMEOUT_MS = 5000;
9+
InterruptIn button(BUTTON1);
10+
volatile int countdown = 9;
11+
12+
void trigger()
13+
{
14+
Watchdog::get_instance().kick();
15+
countdown = 9;
16+
}
17+
18+
int main()
19+
{
20+
printf("\r\nTarget started.\r\n");
21+
22+
Watchdog &watchdog = Watchdog::get_instance();
23+
watchdog.start(TIMEOUT_MS);
24+
button.rise(&trigger);
25+
26+
uint32_t watchdog_timeout = watchdog.get_timeout();
27+
printf("Watchdog initialized to %lu ms.\r\n", watchdog_timeout);
28+
printf("Press BUTTON1 at least once every %lu ms to kick the "
29+
"watchdog and prevent system reset.\r\n", watchdog_timeout);
30+
31+
while (1) {
32+
printf("\r%3i", countdown--);
33+
fflush(stdout);
34+
ThisThread::sleep_for(TIMEOUT_MS / 10);
35+
}
36+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* Copyright (c) 2020 Arm Limited and affiliates.
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include "mbed.h"
7+
8+
int main(void)
9+
{
10+
MeshInterface *mesh = MeshInterface::get_default_instance();
11+
12+
int status = mesh->connect();
13+
if (status) {
14+
printf("Connection failed! error %d\n", status);
15+
return status;
16+
}
17+
18+
printf("Connected!\n");
19+
20+
UDPSocket sock;
21+
status = sock.open(mesh);
22+
if (status) {
23+
printf("Failed to open socket, error %d\n", status);
24+
}
25+
26+
// Now the interface is connected, and I can communicate with Sockets
27+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
/*
2+
* Copyright (c) 2020 Arm Limited and affiliates.
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include "mbed.h"
7+
#include "mbed_trace.h"
8+
9+
const char cert[] = /* your certificate, see above */ "";
10+
11+
int main(void)
12+
{
13+
14+
nsapi_size_or_error_t result;
15+
NetworkInterface *net = NetworkInterface::get_default_instance();
16+
17+
if (!net) {
18+
printf("Error! No network inteface found.\n");
19+
return 0;
20+
}
21+
22+
printf("Connecting to network\n");
23+
result = net->connect();
24+
if (result != 0) {
25+
printf("Error! net->connect() returned: %d\n", result);
26+
return result;
27+
}
28+
29+
TLSSocket *socket = new TLSSocket;
30+
result = socket->set_root_ca_cert(cert);
31+
if (result != 0) {
32+
printf("Error: socket->set_root_ca_cert() returned %d\n", result);
33+
return result;
34+
}
35+
36+
result = socket->open(net);
37+
if (result != 0) {
38+
printf("Error! socket->open() returned: %d\n", result);
39+
return result;
40+
}
41+
42+
printf("Connecting to os.mbed.com\n");
43+
result = socket->connect(SocketAddress("os.mbed.com", 443));
44+
if (result != 0) {
45+
printf("Error! socket->connect() returned: %d\n", result);
46+
return result;
47+
}
48+
}

0 commit comments

Comments
 (0)