Add Nano 33 BLE board files.

This commit is contained in:
iabdalkader 2020-12-26 23:39:58 +02:00
parent e0f68f730f
commit cec82546fc
3 changed files with 241 additions and 0 deletions

View File

@ -0,0 +1,146 @@
/*
* This file is part of the OpenMV project.
*
* Copyright (c) 2013-2019 Ibrahim Abdelkader <iabdalkader@openmv.io>
* Copyright (c) 2013-2019 Kwabena W. Agyeman <kwagyeman@openmv.io>
*
* This work is licensed under the MIT license, see the file LICENSE for details.
*
* Image library configuration.
*/
#ifndef __IMLIB_CONFIG_H__
#define __IMLIB_CONFIG_H__
// Enable LAB LUT
//#define IMLIB_ENABLE_LAB_LUT
// Enable YUV LUT
//#define IMLIB_ENABLE_YUV_LUT
// Enable mean pooling
//#define IMLIB_ENABLE_MEAN_POOLING
// Enable midpoint pooling
//#define IMLIB_ENABLE_MIDPOINT_POOLING
// Enable binary ops
//#define IMLIB_ENABLE_BINARY_OPS
// Enable math ops
//#define IMLIB_ENABLE_MATH_OPS
// Enable flood_fill()
//#define IMLIB_ENABLE_FLOOD_FILL
// Enable mean()
//#define IMLIB_ENABLE_MEAN
// Enable median()
//#define IMLIB_ENABLE_MEDIAN
// Enable mode()
//#define IMLIB_ENABLE_MODE
// Enable midpoint()
//#define IMLIB_ENABLE_MIDPOINT
// Enable morph()
//#define IMLIB_ENABLE_MORPH
// Enable Gaussian
//#define IMLIB_ENABLE_GAUSSIAN
// Enable Laplacian
//#define IMLIB_ENABLE_LAPLACIAN
// Enable bilateral()
//#define IMLIB_ENABLE_BILATERAL
// Enable cartoon()
// #define IMLIB_ENABLE_CARTOON
// Enable linpolar()
//#define IMLIB_ENABLE_LINPOLAR
// Enable logpolar()
//#define IMLIB_ENABLE_LOGPOLAR
// Enable lens_corr()
//#define IMLIB_ENABLE_LENS_CORR
// Enable rotation_corr()
//#define IMLIB_ENABLE_ROTATION_CORR
// Enable phasecorrelate()
//#if defined(IMLIB_ENABLE_ROTATION_CORR)
//#define IMLIB_ENABLE_FIND_DISPLACEMENT
//#endif
// Enable get_similarity()
//#define IMLIB_ENABLE_GET_SIMILARITY
// Enable find_lines()
//#define IMLIB_ENABLE_FIND_LINES
// Enable find_line_segments()
//#define IMLIB_ENABLE_FIND_LINE_SEGMENTS
// Enable find_circles()
//#define IMLIB_ENABLE_FIND_CIRCLES
// Enable find_rects()
//#define IMLIB_ENABLE_FIND_RECTS
// Enable find_qrcodes() (14 KB)
//#define IMLIB_ENABLE_QRCODES
// Enable find_apriltags() (64 KB)
//#define IMLIB_ENABLE_APRILTAGS
// Enable fine find_apriltags() - (8-way connectivity versus 4-way connectivity)
// #define IMLIB_ENABLE_FINE_APRILTAGS
// Enable high res find_apriltags() - uses more RAM
// #define IMLIB_ENABLE_HIGH_RES_APRILTAGS
// Enable find_datamatrices() (26 KB)
//#define IMLIB_ENABLE_DATAMATRICES
// Enable find_barcodes() (42 KB)
//#define IMLIB_ENABLE_BARCODES
// Enable CMSIS NN
// #if !defined(CUBEAI)
// #define IMLIB_ENABLE_CNN
// #endif
// Enable Tensor Flow
#if !defined(CUBEAI)
//#define IMLIB_ENABLE_TF
#endif
// Enable FAST (20+ KBs).
// #define IMLIB_ENABLE_FAST
// Enable find_template()
//#define IMLIB_FIND_TEMPLATE
// Enable find_lbp()
//#define IMLIB_ENABLE_FIND_LBP
// Enable find_keypoints()
//#define IMLIB_ENABLE_FIND_KEYPOINTS
// Enable load, save and match descriptor
//#define IMLIB_ENABLE_DESCRIPTOR
// Enable find_hog()
//#define IMLIB_ENABLE_HOG
// Enable selective_search()
//#define IMLIB_ENABLE_SELECTIVE_SEARCH
// Enable STM32 DMA2D
//#define IMLIB_ENABLE_DMA2D
#endif //__IMLIB_CONFIG_H__

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,94 @@
/*
* This file is part of the OpenMV project.
*
* Copyright (c) 2013-2019 Ibrahim Abdelkader <iabdalkader@openmv.io>
* Copyright (c) 2013-2019 Kwabena W. Agyeman <kwagyeman@openmv.io>
*
* This work is licensed under the MIT license, see the file LICENSE for details.
*
* Board configuration and pin definitions.
*/
#ifndef __OMV_BOARDCONFIG_H__
#define __OMV_BOARDCONFIG_H__
// Architecture info
#define OMV_ARCH_STR "NANO33 M4" // 33 chars max
#define OMV_BOARD_TYPE "NANO33"
#define OMV_UNIQUE_ID_ADDR 0x10000060
// Needed by the SWD JTAG testrig - located at the bottom of the frame buffer stack.
#define OMV_SELF_TEST_SWD_ADDR MAIN_FB()->bpp
#define OMV_XCLK_MCO (0U)
#define OMV_XCLK_TIM (1U)
// Sensor external clock source.
#define OMV_XCLK_SOURCE (OMV_XCLK_TIM)
// Sensor external clock timer frequency.
#define OMV_XCLK_FREQUENCY (12000000)
// Sensor PLL register value.
#define OMV_OV7725_PLL_CONFIG (0x41) // x4
// Sensor Banding Filter Value
#define OMV_OV7725_BANDING (0x7F)
// RAW buffer size
#define OMV_RAW_BUF_SIZE (131072)
// Enable hardware JPEG
#define OMV_HARDWARE_JPEG (0)
// Enable sensor drivers
#define OMV_ENABLE_OV2640 (0)
#define OMV_ENABLE_OV5640 (0)
#define OMV_ENABLE_OV7690 (0)
#define OMV_ENABLE_OV7725 (0)
#define OMV_ENABLE_OV9650 (0)
#define OMV_ENABLE_MT9V034 (0)
#define OMV_ENABLE_LEPTON (0)
#define OMV_ENABLE_HM01B0 (0)
// Enable sensor features
#define OMV_ENABLE_OV5640_AF (0)
// Enable WiFi debug
#define OMV_ENABLE_WIFIDBG (1)
// Enable self-tests on first boot
#define OMV_ENABLE_SELFTEST (0)
// If buffer size is bigger than this threshold, the quality is reduced.
// This is only used for JPEG images sent to the IDE not normal compression.
#define JPEG_QUALITY_THRESH (320*240*2)
// Low and high JPEG QS.
#define JPEG_QUALITY_LOW 50
#define JPEG_QUALITY_HIGH 90
// FB Heap Block Size
#define OMV_UMM_BLOCK_SIZE 16
// Core VBAT for selftests
#define OMV_CORE_VBAT "3.3"
// USB IRQn.
#define OMV_USB_IRQN (USBD_IRQn)
// Linker script constants (see the linker script template port/x.ld.S).
#define OMV_FB_MEMORY SRAM // Framebuffer, fb_alloc
#define OMV_MAIN_MEMORY SRAM // data, bss and heap memory
#define OMV_STACK_MEMORY SRAM // stack memory
#define OMV_FB_SIZE (128K) // FB memory: header + QVGA/GS image
#define OMV_FB_ALLOC_SIZE (16K) // minimum fb alloc size
#define OMV_STACK_SIZE (10K)
#define OMV_HEAP_SIZE (64K)
#define OMV_JPEG_BUF_SIZE (16 * 1024) // IDE JPEG buffer (header + data).
#define OMV_TEXT_ORIGIN 0x00026000
#define OMV_TEXT_LENGTH 808K // FLASH_SIZE - SD_SIZE - FS_SIZE
#define OMV_SRAM_ORIGIN 0x20004000 // Reserve 16K for SD memory.
#define OMV_SRAM_LENGTH 240K // RAM_SIZE - SD_RAM_SIZE
#endif //__OMV_BOARDCONFIG_H__