Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@4:03dac69c22c5, 2017-07-06 (annotated)
- Committer:
- Marc Nijdam 
- Date:
- Thu Jul 06 10:25:57 2017 -0700
- Revision:
- 4:03dac69c22c5
- Parent:
- 3:8e6494dda270
- Child:
- 6:65411183b48a
Making connect basic again
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Marc Nijdam | 0:9c0bcd840b37 | 1 | /* | 
| Marc Nijdam | 0:9c0bcd840b37 | 2 | * Copyright 2017, Helium Systems, Inc. | 
| Marc Nijdam | 3:8e6494dda270 | 3 | * All Rights Reserved. See LICENSE.txt for license information | 
| Marc Nijdam | 0:9c0bcd840b37 | 4 | */ | 
| Marc Nijdam | 0:9c0bcd840b37 | 5 | |
| Marc Nijdam | 0:9c0bcd840b37 | 6 | #include "mbed.h" | 
| Marc Nijdam | 0:9c0bcd840b37 | 7 | #include "Helium.h" | 
| Marc Nijdam | 1:a843f3d9d31c | 8 | #include <inttypes.h> | 
| Marc Nijdam | 0:9c0bcd840b37 | 9 | |
| Marc Nijdam | 0:9c0bcd840b37 | 10 | void report_status(int status) | 
| Marc Nijdam | 0:9c0bcd840b37 | 11 | { | 
| Marc Nijdam | 0:9c0bcd840b37 | 12 | if (helium_status_OK == status) { | 
| Marc Nijdam | 0:9c0bcd840b37 | 13 | printf("Succeeded\n"); | 
| Marc Nijdam | 0:9c0bcd840b37 | 14 | } else { | 
| Marc Nijdam | 1:a843f3d9d31c | 15 | printf("Failed (status %d)\n", status); | 
| Marc Nijdam | 0:9c0bcd840b37 | 16 | } | 
| Marc Nijdam | 0:9c0bcd840b37 | 17 | } | 
| Marc Nijdam | 0:9c0bcd840b37 | 18 | |
| Marc Nijdam | 0:9c0bcd840b37 | 19 | void report_status_result(int status, int result) | 
| Marc Nijdam | 0:9c0bcd840b37 | 20 | { | 
| Marc Nijdam | 0:9c0bcd840b37 | 21 | if (helium_status_OK == status) { | 
| Marc Nijdam | 0:9c0bcd840b37 | 22 | if (result == 0) { | 
| Marc Nijdam | 0:9c0bcd840b37 | 23 | printf("Succeeded\n"); | 
| Marc Nijdam | 0:9c0bcd840b37 | 24 | } else { | 
| Marc Nijdam | 0:9c0bcd840b37 | 25 | printf("Failed - %d", result); | 
| Marc Nijdam | 0:9c0bcd840b37 | 26 | } | 
| Marc Nijdam | 0:9c0bcd840b37 | 27 | } else { | 
| Marc Nijdam | 1:a843f3d9d31c | 28 | printf("Failed (status %d)\n", status); | 
| Marc Nijdam | 0:9c0bcd840b37 | 29 | } | 
| Marc Nijdam | 0:9c0bcd840b37 | 30 | } | 
| Marc Nijdam | 0:9c0bcd840b37 | 31 | |
| Marc Nijdam | 0:9c0bcd840b37 | 32 | |
| Marc Nijdam | 1:a843f3d9d31c | 33 | #if defined(TARGET_K64F) | 
| Marc Nijdam | 3:8e6494dda270 | 34 | Helium helium(D9, D7); // TX:D9, RX:D7 | 
| Marc Nijdam | 2:bfe503bcf0b8 | 35 | #elif defined(TARGET_WIZwiki_W7500) | 
| Marc Nijdam | 2:bfe503bcf0b8 | 36 | Helium helium(D1, D0); | 
| Marc Nijdam | 1:a843f3d9d31c | 37 | #else | 
| Marc Nijdam | 1:a843f3d9d31c | 38 | #error Please define helium with serial tx/rx | 
| Marc Nijdam | 1:a843f3d9d31c | 39 | #endif | 
| Marc Nijdam | 1:a843f3d9d31c | 40 | |
| Marc Nijdam | 1:a843f3d9d31c | 41 | Channel channel(&helium); | 
| Marc Nijdam | 1:a843f3d9d31c | 42 | |
| Marc Nijdam | 0:9c0bcd840b37 | 43 | int main() | 
| Marc Nijdam | 0:9c0bcd840b37 | 44 | { | 
| Marc Nijdam | 1:a843f3d9d31c | 45 | printf("Starting\n"); | 
| Marc Nijdam | 0:9c0bcd840b37 | 46 | |
| Marc Nijdam | 1:a843f3d9d31c | 47 | printf("Info - "); | 
| Marc Nijdam | 1:a843f3d9d31c | 48 | struct helium_info info; | 
| Marc Nijdam | 1:a843f3d9d31c | 49 | int status = helium.info(&info); | 
| Marc Nijdam | 1:a843f3d9d31c | 50 | if (helium_status_OK == status) { | 
| Marc Nijdam | 1:a843f3d9d31c | 51 | printf("%" PRIx64 " - ", info.mac); | 
| Marc Nijdam | 1:a843f3d9d31c | 52 | } | 
| Marc Nijdam | 1:a843f3d9d31c | 53 | report_status(status); | 
| Marc Nijdam | 1:a843f3d9d31c | 54 | |
| Marc Nijdam | 1:a843f3d9d31c | 55 | printf("Connecting - "); | 
| Marc Nijdam | 4:03dac69c22c5 | 56 | status = helium.connect(); | 
| Marc Nijdam | 1:a843f3d9d31c | 57 | report_status(status); | 
| Marc Nijdam | 1:a843f3d9d31c | 58 | |
| Marc Nijdam | 1:a843f3d9d31c | 59 | printf("Creating Channel - "); | 
| Marc Nijdam | 0:9c0bcd840b37 | 60 | int8_t result; | 
| Marc Nijdam | 0:9c0bcd840b37 | 61 | status = channel.begin("Helium Cloud MQTT", &result); | 
| Marc Nijdam | 0:9c0bcd840b37 | 62 | report_status(status); | 
| Marc Nijdam | 0:9c0bcd840b37 | 63 | |
| Marc Nijdam | 1:a843f3d9d31c | 64 | printf("Sending - "); | 
| Marc Nijdam | 0:9c0bcd840b37 | 65 | const char *data = "Hello Helium"; | 
| Marc Nijdam | 0:9c0bcd840b37 | 66 | status = channel.send(data, strlen(data), &result); | 
| Marc Nijdam | 0:9c0bcd840b37 | 67 | report_status_result(status, result); | 
| Marc Nijdam | 0:9c0bcd840b37 | 68 | } |