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.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Diff: main.cpp
- Revision:
- 17:fc98adcf835a
- Parent:
- 16:70374ab2404f
- Child:
- 20:a9aab92d378b
--- a/main.cpp Tue Dec 11 00:25:58 2018 +0000
+++ b/main.cpp Sun Dec 16 13:29:53 2018 +0000
@@ -92,7 +92,7 @@
* @param size Size of the body
*/
void led_post_callback(MbedCloudClientResource *resource, const uint8_t *buffer, uint16_t size) {
- printf("POST received. Going to blink LED pattern: %s\n", res_led->get_value().c_str());
+ printf("POST received. Payload: %s\n", res_led->get_value().c_str());
led = atoi(res_led->get_value().c_str());
}
@@ -119,7 +119,7 @@
* @param endpoint Information about the registered endpoint such as the name (so you can find it back in portal)
*/
void registered(const ConnectorClientEndpointInfo *endpoint) {
- printf("Connected to Pelion Device Management. Endpoint Name: %s\n", endpoint->internal_endpoint_name.c_str());
+ printf("Registered to Pelion Device Management. Endpoint Name: %s\n", endpoint->internal_endpoint_name.c_str());
endpointInfo = endpoint;
}
@@ -144,18 +144,18 @@
sen_acc_gyro.enable_g();
printf("\033[2J\033[20A");
- printf ("\r\nSensors configuration:\r\n");
+ printf ("\nSensors configuration:\n");
sen_hum_temp.read_id(&id);
- printf("HTS221 humidity & temperature = 0x%X\r\n", id);
+ printf("HTS221 humidity & temperature = 0x%X\n", id);
sen_press_temp.read_id(&id);
- printf("LPS22HB pressure & temperature = 0x%X\r\n", id);
+ printf("LPS22HB pressure & temperature = 0x%X\n", id);
sen_mag.read_id(&id);
- printf("LIS3MDL magnetometer = 0x%X\r\n", id);
+ printf("LIS3MDL magnetometer = 0x%X\n", id);
sen_acc_gyro.read_id(&id);
- printf("LSM6DSL accelerometer & gyroscope = 0x%X\r\n", id);
+ printf("LSM6DSL accelerometer & gyroscope = 0x%X\n", id);
- printf("\r\n"); ;
+ printf("\n"); ;
}
/**
@@ -167,12 +167,12 @@
int32_t axes[3];
uint32_t uval;
- printf("\r\n");
+ printf("\n");
fval1 = fval2 = 0.0;
sen_hum_temp.get_humidity(&fval1);
sen_hum_temp.get_temperature(&fval2);
- printf("HTS221 temp: %7.2f C, humidity: %7.2f %%\r\n", fval1, fval2);
+ printf("HTS221 temp: %7.2f C, humidity: %7.2f %%\n", fval1, fval2);
if (endpointInfo) {
res_humidity->set_value(fval1);
res_temperature->set_value(fval2);
@@ -181,7 +181,7 @@
fval1 = fval2 = 0.0;
sen_press_temp.get_pressure(&fval1);
sen_press_temp.get_temperature(&fval2);
- printf("LPS22HB temp: %7.2f C, pressure: %7.2f mbar \r\n", fval1, fval2);
+ printf("LPS22HB temp: %7.2f C, pressure: %7.2f mbar \n", fval1, fval2);
#ifdef SEND_ALL_SENSORS
if (endpointInfo) {
res_pressure->set_value(fval1);
@@ -190,13 +190,13 @@
#endif /* SEND_ALL_SENSORS */
sen_mag.get_m_axes(axes);
- printf("LIS3MDL mag: %7ld x, %7ld y, %7ld z [mgauss] \r\n", axes[0], axes[1], axes[2]);
+ printf("LIS3MDL mag: %7ld x, %7ld y, %7ld z [mgauss] \n", axes[0], axes[1], axes[2]);
sen_acc_gyro.get_x_axes(axes);
- printf("LSM6DSL acc: %7ld x, %7ld y, %7ld z [mg] \r\n", axes[0], axes[1], axes[2]);
+ printf("LSM6DSL acc: %7ld x, %7ld y, %7ld z [mg] \n", axes[0], axes[1], axes[2]);
sen_acc_gyro.get_g_axes(axes);
- printf("LSM6DSL gyro: %7ld x, %7ld y, %7ld z [mdps] \r\n", axes[0], axes[1], axes[2]);
+ printf("LSM6DSL gyro: %7ld x, %7ld y, %7ld z [mdps] \n", axes[0], axes[1], axes[2]);
#ifdef SEND_ALL_SENSORS
if (endpointInfo) {
res_gyroscope_x->set_value((float)axes[0]);
@@ -206,12 +206,12 @@
#endif /* SEND_ALL_SENSORS */
// if (sen_distance.get_distance(&uval) == VL53L0X_ERROR_NONE) {
-// printf("VL53L0X [mm]: %6ld\r\n", uval);
+// printf("VL53L0X [mm]: %6ld\n", uval);
// #ifdef SEND_ALL_SENSORS
// if (endpointInfo) res_distance->set_value((float)uval);
// #endif /* SEND_ALL_SENSORS */
// } else {
-// printf("VL53L0X [mm]: --\r\n");
+// printf("VL53L0X [mm]: --\n");
// #ifdef SEND_ALL_SENSORS
// if (endpointInfo) res_distance->set_value(99999.9);
// #endif /* SEND_ALL_SENSORS */
@@ -221,11 +221,16 @@
}
int main(void) {
- printf("Starting Simple Pelion Device Management Client example\n");
+ printf("\nStarting Simple Pelion Device Management Client example\n");
// If the User button is pressed ons start, then format storage.
+ DigitalIn *user_button = new DigitalIn(BUTTON1);
+#if TARGET_DISCO_L475VG_IOT01A
+ // The user button on DISCO_L475VG_IOT01A works the other way around
const int PRESSED = 0;
- DigitalIn *user_button = new DigitalIn(BUTTON1);
+#else
+ const int PRESSED = 1;
+#endif
if (user_button->read() == PRESSED) {
printf("User button is pushed on start. Formatting the storage...\n");
int storage_status = fs.reformat(&sd);
@@ -265,6 +270,8 @@
printf("Connected to the network successfully. IP address: %s\n", net->get_ip_address());
+ printf("Initializing Pelion Device Management Client...\n");
+
// SimpleMbedCloudClient handles registering over LwM2M to Pelion DM
SimpleMbedCloudClient client(net, bd, &fs);
int client_status = client.init();
@@ -336,7 +343,7 @@
// Register with Pelion DM
client.register_and_connect();
- int i = 600; // wait 60 seconds
+ int i = 600; // wait up 60 seconds before attaching sensors and button events
while (i-- > 0 && !client.is_client_registered()) {
wait_ms(100);
}