Workshop example
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); }