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

Revision:
16:7e5aab2fabba
Parent:
15:5433f9d94cd7
Child:
17:acc075ff3fcb
--- a/main.cpp	Fri Aug 28 21:04:44 2015 +0000
+++ b/main.cpp	Sun Aug 30 21:10:11 2015 +0000
@@ -52,13 +52,13 @@
 #include "httpserverapp.h"
 
 //#include "stm32f4xx_hal.h"
-#include "stm32f4xx_hal_rcc.h"
+//#include "stm32f4xx_hal_rcc.h"
 
 /* Free-RTOS includes */
 #include "FreeRTOS.h"
-#include "task.h"
-#include "semphr.h"
-#include "portmacro.h"
+//#include "task.h"
+//#include "semphr.h"
+//#include "portmacro.h"
 
 #include "osi.h"
 
@@ -114,22 +114,23 @@
     GPIO_InitTypeDef GPIO_InitStruct;
     __GPIOA_CLK_ENABLE();
     
-    /*Configure GPIO pin : GPIO_AF0_MCO PA8 */     
-    GPIO_InitStruct.Pin = GPIO_PIN_8;
-    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
-    GPIO_InitStruct.Pull = GPIO_PULLUP;
-    GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
+    //Configure GPIO pin : GPIO_AF0_MCO PA8      
+    GPIO_InitStruct.Pin       = GPIO_PIN_8;
+    GPIO_InitStruct.Mode      = GPIO_MODE_AF_PP;
+    GPIO_InitStruct.Pull      = GPIO_PULLUP;
+    GPIO_InitStruct.Speed     = GPIO_SPEED_HIGH;
     GPIO_InitStruct.Alternate = GPIO_AF0_MCO;
     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
     
-#if defined OV5642_CAM 
+//    #ifndef MT9D111_CAM 
     /* MCO1 output 16MHz */   
-    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_1);
-#else 
+//    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI, RCC_MCODIV_1);
+//#else 
     /* MCO1 output 8MHz */   
-    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSE, RCC_MCODIV_2);
-#endif
+//    HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI, RCC_MCODIV_2);
+//#endif
     wait_ms(500);
+    
 }
 
 void toggleLed(int ind){
@@ -170,10 +171,9 @@
 //							MAIN FUNCTION
 //****************************************************************************
 int main(void) {
+ 
+   int rv = 0;
 
-   SCB->SHCSR |= 0x00070000; 
-   int rv = 0;
-   
    //
    // Configuring UART
    //
@@ -212,7 +212,7 @@
     //
     DisplayBanner(APP_NAME);
     
-    createMutex();
+//    createMutex();
     
 //#endif
 
@@ -233,7 +233,7 @@
                         NULL );
 
     Uart_Write((uint8_t*)"HttpServerApp Initializing \n\r");
-
+    
     //
     // Start the task scheduler
     //
@@ -242,143 +242,7 @@
 	return 0;
 }
 
-/**
-  * @brief  This function handles Hard Fault exception.
-  * @param  None
-  * @retval None
-  */
-extern "C" void HardFault_Handler(void)
-{
-  /* Go to infinite loop when Hard Fault exception occurs */
-  Uart_Write((uint8_t*)"\n\rHardFault_Handler \n\r");
-  printf("Hard Fault Register SCB->HSFR     0x%X \r\n",SCB->HFSR);
-  printf("Fault bits set SCB->CFSR          0x%X \r\n",SCB->CFSR);
-  printf("Call to Memory Address SCB->BFAR  0x%X ERROR!\r\n",SCB->BFAR);
-  printf("Call to Memory Address SCB->MMFAR 0x%X ERROR!\r\n",SCB->MMFAR);
-  Uart_Write((uint8_t*)"HardFault_Handler \n\r");
-  while (1)
-  {
-  }
-}
 
-/**
-  * @brief  This function handles Memory Manage exception.
-  * @param  None
-  * @retval None
-  */
-extern "C" void MemManage_Handler(void)
-{ 
-  Uart_Write((uint8_t*)"\n\rMemManage_Handler \n\r");
-  printf("Fault bits set SCB->CFSR          0x%X \r\n",SCB->CFSR); 
-  printf("Call to Memory Address SCB->BFAR  0x%X ERROR!\r\n",SCB->BFAR);
-  printf("Call to Memory Address SCB->MMFAR 0x%X ERROR!\r\n",SCB->MMFAR);
-  Uart_Write((uint8_t*)"MemManage_Handler \n\r");
-  /* Go to infinite loop when Memory Manage exception occurs */
-  while (1)
-  {
-  }
-}
-
-/**
-  * @brief  This function handles Bus Fault exception.
-  * @param  None
-  * @retval None
-  */
-extern "C" void BusFault_Handler(void)
-{
-  Uart_Write((uint8_t*)"\n\rBusFault_Handler \n\r");
-  printf("Fault bits set SCB->CFSR          0x%X \r\n",SCB->CFSR); 
-  printf("Call to Memory Address SCB->BFAR  0x%X ERROR!\r\n",SCB->BFAR);
-  printf("Call to Memory Address SCB->MMFAR 0x%X ERROR!\r\n",SCB->MMFAR);
-  Uart_Write((uint8_t*)"BusFault_Handler \n\r");
-  /* Go to infinite loop when Bus Fault exception occurs */
-  while (1)
-  {
-  }
-}
-
-/**
-  * @brief  This function handles Usage Fault exception.
-  * @param  None
-  * @retval None
-  */
-extern "C" void UsageFault_Handler(void)
-{
-  Uart_Write((uint8_t*)"UsageFault_Handler \n\r");
-  /* Go to infinite loop when Usage Fault exception occurs */
-  while (1)
-  {
-  }
-}
-
-/**
-  * @brief  This function handles SVCall exception.
-  * @param  None
-  * @retval None
-  */
-/*  
-extern "C" void SVC_Handler(void)
-{
-	Uart_Write((uint8_t*)"SVC_Handler \n\r");
-}
-*/
-/**
-  * @brief  This function handles Debug Monitor exception.
-  * @param  None
-  * @retval None
-  */
-extern "C" void DebugMon_Handler(void)
-{
-	Uart_Write((uint8_t*)"DebugMon_Handler \n\r");
-}
-
-/**
-  * @brief  This function handles PendSVC exception.
-  * @param  None
-  * @retval None
-  */
-/*  
-extern "C" void PendSV_Handler(void)
-{
-	Uart_Write((uint8_t*)"PendSV_Handler \n\r");
-}
-*/
-/**
-  * @brief  This function handles SysTick Handler.
-  * @param  None
-  * @retval None
-  */
-/*  
-extern "C" void SysTick_Handler(void)
-{
-  Uart_Write((uint8_t*)"SysTick_Handler \n\r");
-  HAL_IncTick();
-}
-*/
-/**
-  * @brief  DMA interrupt handler.
-  * @param  None
-  * @retval None
-  */
-/*    
-void DMA2_Stream1_IRQHandler(void)
-{
-  Uart_Write((uint8_t*)"DMA2_Stream1_IRQHandler \n\r");
-  HAL_DMA_IRQHandler(&hdma_dcmi);  
-}
-*/
-/**
-  * @brief  DCMI interrupt handler.
-  * @param  None
-  * @retval None
-  */ 
- /* 
-void DCMI_IRQHandler(void)
-{
-  Uart_Write((uint8_t*)"DCMI_IRQHandler \n\r");
-  HAL_DCMI_IRQHandler(&hdcmi);
-}
-*/
 //*****************************************************************************
 //
 // Close the Doxygen group.