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:
3:7643714ec664
Parent:
2:b92db44a29b4
Child:
4:c27adffcfec2
--- a/main.cpp	Fri Jun 26 16:49:04 2015 +0000
+++ b/main.cpp	Fri Jun 26 22:53:54 2015 +0000
@@ -97,7 +97,8 @@
   
   RCC_OscInitTypeDef RCC_OscInitStruct;
   RCC_ClkInitTypeDef RCC_ClkInitStruct;
-
+//  RCC_PeriphCLKInitTypeDef PeriphClkInitStruct;//Used for ov7670 test
+  
   __PWR_CLK_ENABLE();
 
   __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
@@ -120,15 +121,25 @@
   RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
   HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5);
   
+  //Used for ov7670 test
+//  PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_PLLI2S;
+//  PeriphClkInitStruct.PLLI2S.PLLI2SN = 192;
+//  PeriphClkInitStruct.PLLI2S.PLLI2SR = 2;
+//  HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct);
+  
   /* RCC_MCODIV_5 33.6MHz mco output on pin PC_9 (cam xclk) */
   /* RCC_MCODIV_4 42MHz mco output on pin PC_9 (cam xclk) */
   /* RCC_MCODIV_3 56MHz mco output on pin PC_9 (cam xclk) */
   HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_5);
+  //Used for ov7670 test
+  /* RCC_MCODIV_4 24MHz mco output on pin PC_9 (cam xclk) */
+//  HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_PLLI2SCLK, RCC_MCODIV_4);
 
   HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
-
-
-
+  
+  //Used for ov7670 test
+//  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
+  
 }
  
 void MX_DCMI_Init()
@@ -136,7 +147,7 @@
 
   hdcmi.Instance = DCMI;
   hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE;
-  hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_FALLING;
+  hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_RISING;//FALLING
   hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_LOW;
   hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_LOW;
   hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME;
@@ -160,7 +171,7 @@
 
   /* DMA interrupt init */
   HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 0, 0);
-  HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);
+//  HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);
 
 }
 
@@ -239,7 +250,9 @@
 int main(void) {
 
    int rv = 0;
+   
    SystemClock_Config();
+   
    //
    // Configuring UART
    //