#include <stdlib.h>
#include "cloud/car_info.h"
#include "cloud/cloud_request.h"
+#include "cloud/cloud_lap_request.h"
+#include "cloud/lap_info.h"
#include "log.h"
#include "config.h"
-#include "connection_manager.h"
#include "net-util.h"
+#include "resource/resource_led.h"
+
+#define CONFIG_LED_STATE_KEY_READY "ready"
+#define CONFIG_DEFAULT_LED_3BIT_READY 1, 0, 1
+#define CONFIG_DEFAULT_LED_24BIT_READY 215, 15, 96
+
+#define CONFIG_LED_STATE_KEY_FAIL "fail"
+#define CONFIG_DEFAULT_LED_3BIT_FAIL 1, 0, 0
+#define CONFIG_DEFAULT_LED_24BIT_FAIL 255, 0, 0
typedef struct communication_data_ {
gboolean is_initialized;
car_info_destroy(_communication.car_info);
}
+
+void cloud_communication_post_lap(const long laptime, const char *driver_name)
+{
+ lap_info_t *lap = lap_info_create();
+
+ lap_info_set_car_id(lap, car_info_get_car_id(_communication.car_info));
+ lap_info_set_user_name(lap, driver_name);
+ lap_info_set_lap_time(lap, laptime);
+
+ _D("POST lap");
+ cloud_lap_request_api_racing_post(lap, (cloud_request_lap_post_finish_cb)post_response_cb, NULL);
+
+ lap_info_destroy(lap);
+}
+
static void post_response_cb(request_result_e result, void *user_data)
{
if (result == SUCCESS) {
_I("POST SUCCESS");
+ resource_led_set_rgb_colors(CONFIG_LED_STATE_KEY_READY,
+ CONFIG_DEFAULT_LED_3BIT_READY,
+ CONFIG_DEFAULT_LED_24BIT_READY,
+ LED_COLOR_GREEN);
}
else {
_I("POST FAILURE");
+ resource_led_set_rgb_colors(CONFIG_LED_STATE_KEY_FAIL,
+ CONFIG_DEFAULT_LED_3BIT_FAIL,
+ CONFIG_DEFAULT_LED_24BIT_FAIL,
+ LED_COLOR_RED);
}
}
car_info_set_car_ap_mac(_communication.car_info, ap_mac);
car_info_set_ap_ssid(_communication.car_info, ap_ssid);
car_info_set_car_ip(_communication.car_info, ip_addr);
-}
\ No newline at end of file
+}