From aaf4802d80cf9556f0b35747dbde735c1c3614ca Mon Sep 17 00:00:00 2001
From: Deomid Ryabkov <rojer@cesanta.com>
Date: Thu, 31 Mar 2016 19:27:26 +0300
Subject: [PATCH] Add file upload to CC3200 example

PUBLISHED_FROM=126bfdb9369f4bc2f09a21400caf797d995bef5b
---
 examples/CC3200/main.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/examples/CC3200/main.c b/examples/CC3200/main.c
index e39888505..cd0ad9d83 100644
--- a/examples/CC3200/main.c
+++ b/examples/CC3200/main.c
@@ -88,8 +88,16 @@ struct temp_data {
 
 static struct temp_data s_temp_data;
 
+static struct mg_str upload_fname(struct mg_connection *nc, struct mg_str fname) {
+  struct mg_str lfn;
+  lfn.len = fname.len + 3;
+  lfn.p = malloc(lfn.len);
+  memcpy((char *) lfn.p, "SL:", 3);
+  memcpy((char *) lfn.p + 3, fname.p, fname.len);
+  return lfn;
+}
+
 static void mg_ev_handler(struct mg_connection *nc, int ev, void *p) {
-  LOG(LL_DEBUG, ("Ev: %d", ev));
   switch (ev) {
     case MG_EV_ACCEPT: {
       char addr[32];
@@ -138,6 +146,11 @@ static void mg_ev_handler(struct mg_connection *nc, int ev, void *p) {
       bm222_get_data(s_accel_ctx);
       nc->ev_timer_time = mg_time() + (DATA_SAMPLING_INTERVAL_MS * 0.001);
     }
+    case MG_EV_HTTP_PART_BEGIN:
+    case MG_EV_HTTP_PART_DATA:
+    case MG_EV_HTTP_PART_END: {
+      mg_file_upload_handler(nc, ev, p, upload_fname);
+    }
   }
 }
 
@@ -287,7 +300,7 @@ static void mg_task(void *arg) {
   LOG(LL_INFO, ("MG task running"));
   GPIO_IF_LedToggle(MCU_RED_LED_GPIO);
 
-  osi_MsgQCreate(&s_v7_q, "MG", sizeof(struct event), 32 /* len */);
+  osi_MsgQCreate(&s_v7_q, "V7", sizeof(struct event), 32 /* len */);
 
   sl_Start(NULL, NULL, NULL);
   if (!tmp006_init(TMP006_ADDR, TMP006_CONV_2, false)) {
-- 
GitLab