Merge pull request #628 from openmv/freq_scaling_updates

Freq scaling updates
This commit is contained in:
Ibrahim Abd Elkader 2019-10-28 18:37:03 +02:00 committed by GitHub
commit 74876892f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 6 deletions

View File

@ -5,8 +5,7 @@ import sensor, image, time, cpufreq
sensor.reset() # Reset and initialize the sensor.
sensor.set_pixformat(sensor.GRAYSCALE) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QQVGA) # Set frame size to QVGA (320x240)
sensor.skip_frames(time = 2000) # Wait for settings take effect.
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
clock = time.clock() # Create a clock object to track the FPS.
def test_image_processing():
@ -17,6 +16,7 @@ def test_image_processing():
print("\nFrequency Scaling Test...")
for f in cpufreq.get_supported_frequencies():
print("Testing CPU Freq: %dMHz..." %(f))
cpufreq.set_frequency(f)
clock.reset()
test_image_processing()

View File

@ -21,7 +21,7 @@
#define ARRAY_LENGTH(x) (sizeof(x)/sizeof(x[0]))
#if defined(STM32H7)
static const uint32_t cpufreq_freqs[] = {100, 200, 400};
static const uint32_t cpufreq_freqs[] = {120, 240, 480};
#elif defined(STM32F7)
static const uint32_t cpufreq_pllq[] = {5, 6, 7, 8, 9};
static const uint32_t cpufreq_freqs[] = {120, 144, 168, 192, 216};
@ -109,7 +109,7 @@ mp_obj_t py_cpufreq_set_frequency(mp_obj_t cpufreq_obj)
RCC_CLOCKTYPE_D1PCLK1 | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1);
switch (cpufreq) {
case 100:
case 120:
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV4; // D1CPRE
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1; // HPRE
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV1; // D2PPRE1
@ -118,7 +118,7 @@ mp_obj_t py_cpufreq_set_frequency(mp_obj_t cpufreq_obj)
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV1; // D3PPRE
break;
case 200:
case 240:
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV2; // D1CPRE
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV1; // HPRE
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; // D2PPRE1
@ -127,7 +127,7 @@ mp_obj_t py_cpufreq_set_frequency(mp_obj_t cpufreq_obj)
RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; // D3PPRE
break;
case 400:
case 480:
RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; // D1CPRE
RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; // HPRE
RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; // D2PPRE1