Port of TI's CC3100 Websock camera demo. Using FreeRTOS, mbedTLS, also parts of Arducam for cams ov5642 and 0v2640. Can also use MT9D111. Work in progress. Be warned some parts maybe a bit flacky. This is for Seeed Arch max only, for an M3, see the demo for CM3 using the 0v5642 aducam mini.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
dflet
Date:
Sat Sep 12 22:38:40 2015 +0000
Parent:
19:3dd3e7f30f8b
Child:
21:38c6b11aa348
Commit message:
Changed SPI port. SPI now appears to work correctly. Cam MT9D111 still not working correctly.

Changed in this revision

camera_app/httpserverapp/httpserverapp.cpp Show annotated file Show diff for this revision Revisions of this file
http/server/HttpCore.cpp Show annotated file Show diff for this revision Revisions of this file
http/server/HttpSocket.cpp Show annotated file Show diff for this revision Revisions of this file
http/server/HttpStatic.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
simplelink/G_functions/fPtr_func.cpp Show annotated file Show diff for this revision Revisions of this file
simplelink/cc3100_spawn.cpp Show annotated file Show diff for this revision Revisions of this file
utils/app_config.h Show annotated file Show diff for this revision Revisions of this file
--- a/camera_app/httpserverapp/httpserverapp.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/camera_app/httpserverapp/httpserverapp.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -70,7 +70,7 @@
 
 using namespace mbed_cc3100;
 
-cc3100 _cc3100_Mod(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100_Mod(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 /****************************************************************************/
 /*				MACROS										*/
--- a/http/server/HttpCore.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/http/server/HttpCore.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -49,7 +49,7 @@
 
 using namespace mbed_cc3100;
 
-cc3100 _cc3100Module_(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100Module_(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 OsiSyncObj_t        g_WaitSyncObj;
 
@@ -302,8 +302,8 @@
 										HttpCore_CloseConnection(uConnection);
 								}
 							}
-//							else if((iRecvLen != SL_EAGAIN) && (iRecvLen != SL_POOL_IS_EMPTY))
-							else if((iRecvLen == SL_EAGAIN) && (iRecvLen != SL_POOL_IS_EMPTY) && (ResponseComplete) && (!ws_Flag))
+							else if((iRecvLen != SL_EAGAIN) && (iRecvLen != SL_POOL_IS_EMPTY))
+//							else if((iRecvLen == SL_EAGAIN) && (iRecvLen != SL_POOL_IS_EMPTY) && (ResponseComplete) && (!ws_Flag))
 							{
 //								HttpDebug("\r\n Http Client close\n\r");
 								HttpCore_CloseConnection(uConnection);
@@ -316,7 +316,7 @@
 								g_state.connections[uConnection].timeout++;
 								if(g_state.connections[uConnection].connectionState != WebSocketDataRecv)
 								{
-									if(g_state.connections[uConnection].timeout >= 60) //30 sec timeout
+									if(g_state.connections[uConnection].timeout >= 60) //60 sec timeout
 									{
 										HttpCore_CloseConnection(uConnection);
 									}
--- a/http/server/HttpSocket.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/http/server/HttpSocket.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -29,7 +29,7 @@
 
 using namespace mbed_cc3100;
 
-cc3100 _cc3100_Module(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100_Module(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 #define OSI_DELAY(x)    osi_Sleep(x); //os idle
 
--- a/http/server/HttpStatic.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/http/server/HttpStatic.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -28,7 +28,7 @@
 using namespace mbed_cc3100;
 
 //cc3100 _cc3100Module(NC, NC, PE_5, PE_4, PE_6, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
-cc3100 _cc3100Module(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100Module(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 
 /**
--- a/main.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/main.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -76,7 +76,7 @@
 /* Off board leds */
   DigitalOut led1(PB_15);
   DigitalOut led2(PB_14);
-cc3100 _cc3100(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 static void Start_MCO1(void);
 void initLEDs(void);
--- a/simplelink/G_functions/fPtr_func.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/simplelink/G_functions/fPtr_func.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -48,7 +48,7 @@
     
 using namespace mbed_cc3100;
     
-cc3100 _cc3100_(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100_(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 #ifdef __cplusplus
 extern "C" {
--- a/simplelink/cc3100_spawn.cpp	Thu Sep 10 17:56:09 2015 +0000
+++ b/simplelink/cc3100_spawn.cpp	Sat Sep 12 22:38:40 2015 +0000
@@ -49,7 +49,7 @@
 
 #define _SL_MAX_INTERNAL_SPAWN_ENTRIES      10
 
-cc3100 _cc3100(NC, NC, PD_12, PD_13, PD_11, SPI(PB_5, PB_4, PB_3));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
+cc3100 _cc3100(NC, NC, PD_12, PD_13, PD_11, SPI(PC_3, PC_2, PB_10));//Seeed_Arch_Max  irq, nHib, cs, mosi, miso, sck
 
 typedef struct _SlInternalSpawnEntry_t {
     _SlSpawnEntryFunc_t 		        pEntry;
--- a/utils/app_config.h	Thu Sep 10 17:56:09 2015 +0000
+++ b/utils/app_config.h	Sat Sep 12 22:38:40 2015 +0000
@@ -15,8 +15,8 @@
 
 #define ENABLE_JPEG
 //#define MT9D111_CAM
-#define OV5642_CAM
-//#define OV2640_CAM
+//#define OV5642_CAM
+#define OV2640_CAM
 
 //#define XGA_FRAME
 //#define VGA_FRAME