Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 3:7643714ec664, committed 2015-06-26
- Comitter:
- dflet
- Date:
- Fri Jun 26 22:53:54 2015 +0000
- Parent:
- 2:b92db44a29b4
- Child:
- 4:c27adffcfec2
- Commit message:
- WIP commit 4
Changed in this revision
--- a/camera_app/camera_app.cpp Fri Jun 26 16:49:04 2015 +0000
+++ b/camera_app/camera_app.cpp Fri Jun 26 22:53:54 2015 +0000
@@ -54,6 +54,7 @@
#include "mt9d111.h"
#include "i2cconfig.h"
#include "cli_uart.h"
+#include "Led_config.h"
using namespace mbed_cc3100;
@@ -358,15 +359,20 @@
// Perform Image Capture
//
Uart_Write((uint8_t*)"CaptureImage Start\n\r");
+
+ HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn);
+ HAL_NVIC_EnableIRQ(DCMI_IRQn);
HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT, (uint32_t)p_buffer, sizeof(g_image.g_image_buffer));
/* Wait for frame */
while ((DCMI->CR & DCMI_CR_CAPTURE) != 0) {
-
+ GPIO_IF_LedToggle(MCU_RED_LED_GPIO);
}
+ HAL_NVIC_DisableIRQ(DCMI_IRQn);
+ HAL_NVIC_DisableIRQ(DMA2_Stream1_IRQn);
g_frame_end = 1;
- Uart_Write((uint8_t*)"CaptureImage Complete\n\r");
+ Uart_Write((uint8_t*)"\n\rCaptureImage Complete\n\r");
/* The frame is finished, but DMA still waiting
for data because we set max frame size
so we need to abort the DMA transfer here */
--- a/camera_app/stm32f4xx_msp.c Fri Jun 26 16:49:04 2015 +0000
+++ b/camera_app/stm32f4xx_msp.c Fri Jun 26 22:53:54 2015 +0000
@@ -98,7 +98,7 @@
PB6 ------> DCMI_D5
PB7 ------> DCMI_VSYNC
*/
- GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
+ GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
@@ -118,6 +118,14 @@
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF13_DCMI;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PC9 */
+ GPIO_InitStruct.Pin = GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF0_MCO;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
@@ -147,7 +155,7 @@
/* System interrupt init*/
HAL_NVIC_SetPriority(DCMI_IRQn, 0, 0);
- HAL_NVIC_EnableIRQ(DCMI_IRQn);
+// HAL_NVIC_EnableIRQ(DCMI_IRQn);
/* USER CODE BEGIN DCMI_MspInit 1 */
// Uart_Write((uint8_t*)"HAL_DCMI_MspInit complete \n\r");
/* USER CODE END DCMI_MspInit 1 */
@@ -186,7 +194,7 @@
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_9|GPIO_PIN_10);
- HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8);
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_9|GPIO_PIN_8);
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7);
--- 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
//
--- a/utils/Led_config.cpp Fri Jun 26 16:49:04 2015 +0000 +++ b/utils/Led_config.cpp Fri Jun 26 22:53:54 2015 +0000 @@ -13,7 +13,7 @@ //! //! \return none //! -//! \brief Turns a specific LED Off +//! \brief Turns a specific LED On // //***************************************************************************** void
--- a/utils/Led_config.h Fri Jun 26 16:49:04 2015 +0000
+++ b/utils/Led_config.h Fri Jun 26 22:53:54 2015 +0000
@@ -8,7 +8,7 @@
NO_LED,
led3 = 0x1, /* RED LED D7/GP9/Pin64 */
led4 = 0x2, /* ORANGE LED D6/GP10/Pin1 */
- led5 = 0x4 /* GREEN LED D5/GP11/Pin2 */
+ led5 = 0x3 /* GREEN LED D5/GP11/Pin2 */
} ledEnum;
@@ -16,7 +16,7 @@
typedef enum
{
NO_LED_IND = NO_LED,
- MCU_SENDING_DATA_IND = led3,
+ MCU_SENDING_DATA_IND = 4,
MCU_ASSOCIATED_IND, /* Device associated to an AP */
MCU_IP_ALLOC_IND, /* Device acquired an IP */
MCU_SERVER_INIT_IND, /* Device connected to remote server */
@@ -24,10 +24,10 @@
MCU_ON_IND, /* Device SLHost invoked successfully */
MCU_EXECUTE_SUCCESS_IND, /* Task executed sucessfully */
MCU_EXECUTE_FAIL_IND, /* Task execution failed */
- MCU_RED_LED_GPIO, /* GP09 for LED RED as per LP 3.0 */
- MCU_ORANGE_LED_GPIO,/* GP10 for LED ORANGE as per LP 3.0 */
- MCU_GREEN_LED_GPIO, /* GP11 for LED GREEN as per LP 3.0 */
- MCU_ALL_LED_IND
+ MCU_RED_LED_GPIO = led3, /* GP09 for LED RED as per LP 3.0 */
+ MCU_ORANGE_LED_GPIO = led4,/* GP10 for LED ORANGE as per LP 3.0 */
+ MCU_GREEN_LED_GPIO = led5, /* GP11 for LED GREEN as per LP 3.0 */
+ MCU_ALL_LED_IND = 12
} ledNames;
//*****************************************************************************