iabdalkader
a511f6203a
Add GPIO module
2014-03-07 20:53:57 +02:00
iabdalkader
db86110da6
Remove unsupported pragma
2014-03-07 20:53:07 +02:00
iabdalkader
ef6be8ab3c
Add stack unwinding code for HardFault exception
2014-03-07 20:43:28 +02:00
iabdalkader
9ce736322f
Add SPI driver and Python module
2014-03-07 20:38:03 +02:00
iabdalkader
27856cc8db
Fix SVGA regs
2014-03-05 17:12:03 +02:00
iabdalkader
cc23cb4c49
Set default brightness and gainceiling
2014-03-05 17:11:15 +02:00
iabdalkader
8eaa4fafb5
Improve flood algorithm
2014-03-04 20:02:35 +02:00
iabdalkader
46b8d97901
Fix blobs and array bugs
2014-03-04 01:57:35 +02:00
iabdalkader
da58d6b9ba
Enable 30FPS
...
* Set DSP input image to 800x600
* Enable 30FPS
2014-03-03 22:18:58 +02:00
iabdalkader
5a5c93f66b
Use volatile for curr_ticks
2014-03-03 16:32:11 +02:00
iabdalkader
ea113dcc34
Update exported modules
2014-03-03 16:31:35 +02:00
iabdalkader
cc314d555d
Use uint32_t for xalloc
2014-03-03 16:27:29 +02:00
iabdalkader
70a5e45129
Remove libc dependency
2014-03-03 16:24:50 +02:00
iabdalkader
c75969a9e8
Update image code to use fast math
2014-03-03 16:23:14 +02:00
iabdalkader
ccc88548f7
Add fast math functions
2014-03-03 16:18:48 +02:00
iabdalkader
ffb3dac484
Add time module
2014-03-03 16:17:42 +02:00
iabdalkader
9e6524f70c
Fix bug
...
* Reset sensor state before setting polarity
2014-03-03 16:03:12 +02:00
iabdalkader
b410b5038c
Add array_pop_back and fix bug
2014-03-02 19:38:41 +02:00
iabdalkader
1d62ec6101
Add two new sqrt functions
...
* Add vsqrt implemented with VSQRT instruction
* Add fsqrt IEEE float dependant approximation
2014-03-02 00:57:14 +02:00
iabdalkader
b6491622d4
Use volatile with I2C timeout
2014-03-01 20:40:49 +02:00
iabdalkader
7d7cc77571
Use sqrtf in haar
2014-03-01 20:40:17 +02:00
iabdalkader
facee324c8
Remove sqrt functions
2014-03-01 20:39:54 +02:00
iabdalkader
90dc4e448d
Fix -O flag
2014-03-01 17:32:16 +02:00
iabdalkader
9ad02e2b83
Add sqrt_qxx functions
2014-03-01 16:39:49 +02:00
iabdalkader
a1cf2c4602
Add array alloc with initial size
2014-03-01 15:29:45 +02:00
iabdalkader
f5b91439b2
Restructure Image Library
...
* Split image library into multiple source files
* Add new img/ to src
* Add median, kmeans, median, blob, SURF.
2014-03-01 15:27:37 +02:00
iabdalkader
41936ff96a
Add checks for NULL return from gc_*
2014-03-01 13:35:26 +02:00
iabdalkader
b21018f39e
Handle default case in set_pixformat
2014-03-01 13:33:31 +02:00
iabdalkader
d29dc4db7f
Add RNG module
2014-03-01 13:33:01 +02:00
iabdalkader
36bfe95829
Add check for array destructor
...
* Check if array destructor is not null before calling.
2014-02-27 14:12:44 +02:00
iabdalkader
d8f3ac933c
Add xalloc0
2014-02-25 18:47:27 +02:00
iabdalkader
5a12d1e372
Check if array destructor is NULL
2014-02-25 17:04:34 +02:00
iabdalkader
42be54aa72
Fix Makefile CFLAGS
2014-02-23 23:29:40 +02:00
iabdalkader
103f67801c
Fix USB divider
2014-02-23 23:26:39 +02:00
iabdalkader
d00ee2d083
Replace malloc calls with xalloc
2014-02-23 23:26:04 +02:00
iabdalkader
a2f0ee04f8
Add _bss_end for gccollect
2014-02-23 03:40:36 +02:00
iabdalkader
7630a9be74
Update python bindings for new libmp
2014-02-23 03:40:11 +02:00
iabdalkader
7891a89723
Use pendsv exception to interrupt running code
2014-02-23 03:37:46 +02:00
iabdalkader
427b03aaed
Add check if sensor_init failed
2014-02-21 23:35:40 +02:00
iabdalkader
e2e66d9240
Add OV2640 driver
2014-02-21 23:32:25 +02:00
iabdalkader
4b0dd6e62c
Update detect_objects to return empty list
...
* Update detect_objects to return empty list if there's no detection.
2014-02-21 23:24:07 +02:00
iabdalkader
1e14eacaa2
Update sensor code
...
* Add OV2640 PID
* Add DCMI polarities to sensor struct
* Set DCMI polarities in sensors init functions
* Update OV9650 to set DCMI polarities
2014-02-21 23:23:18 +02:00
iabdalkader
7efede186b
Check sensor_init result
2014-02-21 05:00:14 +02:00
iabdalkader
e83f72c8fe
Enabel OV9650 Internal Regulator
2014-02-21 03:32:27 +02:00
iabdalkader
e20bd56001
Disable systick alloc
2014-02-19 02:45:41 +02:00
iabdalkader
112f0b5ce3
Fix template mean
2014-02-18 03:17:21 +02:00
iabdalkader
474bfd1b71
Add template matching
...
* Add fast template matching using NCC
* Add some support functions to imlib
2014-02-17 21:59:13 +02:00
iabdalkader
86c7bb2041
Remove whitespaces from ld script
2014-02-14 15:56:33 +02:00
iabdalkader
8856f5e24d
Add assert str macro
2014-02-14 15:43:43 +02:00
iabdalkader
8668c17cba
Export open to python
2014-02-14 15:42:59 +02:00
iabdalkader
492b1488e2
Add support for loading haar cascade from file
2014-02-14 15:40:14 +02:00
iabdalkader
156d194bf8
Add file module
2014-02-14 15:38:03 +02:00
iabdalkader
9991b6b803
Update main
...
* Remove pyb prefix
* Export ticks() function to python
2014-02-13 23:00:33 +02:00
iabdalkader
8a91d9f6d4
Export imlib module
2014-02-13 03:17:51 +02:00
iabdalkader
4b6c073133
Cleanup file
...
* Fix line endings
* Remove whitespaces
2014-02-13 03:17:05 +02:00
iabdalkader
cb2da9fc9d
Add MP imlib module
2014-02-13 03:15:15 +02:00
iabdalkader
f7aff67ba5
Add MP image module
2014-02-13 03:14:38 +02:00
iabdalkader
b18744e8e7
Add py_assert helper macros
2014-02-13 03:13:11 +02:00
iabdalkader
ca39013097
Update imlib
...
* Use image for imlib functions
* Rename some types
2014-02-13 03:12:11 +02:00
iabdalkader
f0431b9b10
Remove sensor arg from py_sensor
2014-02-13 03:11:24 +02:00
iabdalkader
ddcf6919c1
Remove sensor struct arg
...
* Remove sensor arg from sensor functions
* Use sensor struct in sensor.c
2014-02-13 03:09:51 +02:00
iabdalkader
4afc74a3c1
Move framebuffer to separate header
2014-02-13 03:02:59 +02:00
iabdalkader
875e239157
Add USB debug interface module
...
* Add USB debug interface module
2014-02-13 02:13:24 +02:00
iabdalkader
f944b81571
Remove break from OTG_FS_WKUP_IRQHandler
2014-02-11 01:44:02 +02:00
iabdalkader
567feccc66
Fix usbdbg exec script
2014-02-10 03:11:53 +02:00
iabdalkader
e7da05d28b
Add USB debugging interface
2014-02-09 23:57:24 +02:00
iabdalkader
a8350215b0
Cleanup main
...
* Remove boot script
* Update main script
* Change namespace to openmv
2014-02-09 23:20:19 +02:00
iabdalkader
4e1306244a
Add OSC definition
2014-02-09 22:41:07 +02:00
iabdalkader
41ca67b709
Update RESET and PWDN for REV3
2014-02-08 01:10:36 +02:00
iabdalkader
422529dcea
Export sensor functions and constants to MP
2014-02-05 14:05:46 +02:00
iabdalkader
37f614367c
Add sensor MP bindings
...
* Add sensor MicroPython bindings
2014-02-04 18:56:11 +02:00
iabdalkader
aa6b1630a5
Add pendsv interrupt
...
* Enable pendsv interrupt to support Ctrl-c
2014-02-04 18:41:35 +02:00
iabdalkader
f8f3eebe2f
Update linker script
...
* Add _ram_start variable used for framebuffer.
* Check for enough space for MP cache.
* Increase MP's heap size to 32KB.
2014-02-03 17:55:34 +02:00
iabdalkader
ce5987f67e
Use correct address for sensor heap
2014-02-03 17:51:42 +02:00
iabdalkader
160b727809
Export LED as a Python module
2014-02-03 17:49:36 +02:00
iabdalkader
d175c69d19
Remove libusbcore and libusbdevcore from Makefile
...
* Remove USB libraries and use MP's stack for now.
2014-02-03 17:48:08 +02:00
iabdalkader
f2cfdf66ce
Add LED toggle function
2014-02-03 17:24:12 +02:00
iabdalkader
a44540f793
Add Initial Support for MicroPython
...
* Add pre-compiled MicroPython library and headers.
* Change Makefile to link libmp.a remove libusbgeneric
* Change linker script to support MicroPython memory layout.
* Change OTG handle name in stm32f4xx_it.c
* Change main to init libmp and export Python functions.
* Add MicroPython bindings to src
2014-02-01 21:56:45 +02:00
iabdalkader
659ffc73cc
Remove syscalls.c
2014-02-01 21:38:29 +02:00
iabdalkader
4609f0295e
Use main RAM block exclusively for frame buffers
...
* Remove malloc's on the main RAM block.
2014-02-01 20:44:53 +02:00
iabdalkader
9cddd79abd
Add systick_has_passed function
2014-02-01 19:13:02 +02:00
iabdalkader
a55ec77a9d
Add led_state function to led module
2014-02-01 19:08:04 +02:00
iabdalkader
48826fb1f6
Add new HW revision
...
* Remove power switch and its decoupling cap
* Resize the mounting holes to 2mm
* Connect the switch to NRST instead of BOOT0
* Change RGB LED footprint to PLCC-6
* Change switch footprint
* Add extra pads to usb connector
* Remove crystal and load caps, use ceramic resonator
2014-01-26 13:41:36 +02:00
iabdalkader
dcc33231b4
Remove CCM from cascade
2014-01-24 13:41:48 +02:00
iabdalkader
387f04d80d
Use CCM for stack and data sections
...
* Update linker script to use CCM for stack and data.
* Reserve main RAM block for heap.
* Update std library with weak _sbrk symbol.
* Override _sbrk to use entire main RAM block for malloc.
2014-01-24 13:37:30 +02:00
iabdalkader
5f152403fb
Update LED module to use systick task
2014-01-24 13:36:55 +02:00
iabdalkader
b3ebe766f4
Add Systick Task Scheduling
...
* Add periodic task scheduling to systick module.
2014-01-23 12:28:11 +02:00
iabdalkader
41c5fb117f
Move linker script to src/
2014-01-21 16:34:30 +02:00
iabdalkader
5ec44f4fb5
Add libfatfs to Makefile
2014-01-15 16:03:21 +02:00
iabdalkader
8bb57a94a8
Use SYSCLK frequency to derive sensor extclk
...
* Use current SYSCLK frequency to derive sensor's extclk.
2014-01-15 15:59:53 +02:00
iabdalkader
b581e244cc
Use I2C instead of SW SCCB
...
* Change SCCB to use I2C instead of soft SCCB
2014-01-15 14:54:50 +02:00
iabdalkader
3b5c554dd9
Set core frequency in main
...
* Set core frequency using rcc_ctrl
2014-01-15 14:29:23 +02:00
iabdalkader
bf253c22c3
Add RCC Control module
...
* Add RCC (Reset and Clock Control) module
2014-01-15 13:29:15 +02:00
iabdalkader
d778e82300
Update for the new hardware revision
...
* Fix PCLK1 divider to default value.
* Disable USB OTG ID and SOF pins used for sensors PWDN and RESET.
* Add PWDN and RESET pin configuration.
2014-01-07 13:32:37 +02:00
iabdalkader
3bd030d0a2
Disable OV965x Internal Regulator
2013-12-24 13:09:50 +02:00
iabdalkader
c6e4c29223
Change default gain ceiling to 4x
2013-12-13 18:46:21 +02:00
iabdalkader
7b11205d53
Add gain ceiling function
...
Add gain ceiling function to the HAL
Implement set gain ceiling function in ov9650
Change the main loop to accept gain ceiling command
2013-12-13 18:33:02 +02:00
iabdalkader
d34209ced0
Remove unused variable
...
Remove unused GROUP_EPS variable, a simpler merging algorithm is used.
2013-12-13 03:09:41 +02:00
iabdalkader
1967e7aef5
Remove calls to delay function
2013-12-13 02:49:54 +02:00
iabdalkader
b21069a435
Add a HAL to support more OV sensors.
...
* Move DMA and DCMI to new HAL
* Change OV9650 driver to sensor specific tasks only.
2013-12-13 01:31:32 +02:00
iabdalkader
0d8c75e0b4
Added the new hardware revision
...
Added missing DSP library
Fixed SysTick timer IRQ priority
userspace fixes
2013-12-06 03:40:57 +02:00
iabdalkader
5a259bbcf1
Fixed linker script to load haar cascade into CCM
...
Fixed issue with SCCB delay and optimization
Recompiled all libraries with optimization enabled (-O2)
Some more tweaks to the Sensor's registers
Added function to load CCM data into .ccm section in runtime
2013-12-02 22:17:45 +02:00
iabdalkader
b0c4f8e844
Added USB OTG FS support
...
Added userspace libusb driver
Fixed some registers now QCIF/QQCIF resoultions are working
Updated CMSIS and STM32F4xx standard peripheral libraries
2013-11-30 04:23:22 +02:00
iabdalkader
e7871c1d04
initial viola-jones face detection code
2013-11-25 14:24:06 +02:00
iabdalkader
773e24e566
added stm32f4xx_std compiled library and header
2013-11-25 10:30:55 +02:00
iabdalkader
38d83381e6
Moved all registers defintions to a separate file.
...
Added new enums for all resoultions and framerates.
Sensor configuration can be set via serial commands.
2013-11-21 00:19:18 +02:00
iabdalkader
8463773e63
some register fixes.
2013-11-19 23:11:00 +02:00
iabdalkader
125fbdf77a
Seperated the camera configuration into pixel, frame size and frame rate functions
2013-11-19 19:56:08 +02:00
iabdalkader
75b069345a
cleaned up the rgb_led code
2013-11-19 04:37:36 +02:00
iabdalkader
c6f7ed40d1
systick timer module
2013-11-19 04:34:41 +02:00
iabdalkader
8968c08392
Removed almost all hard-coded values.
...
Memory for the frame buffer is now allocated dynamically based on image format.
DMA stream will be configured based on image format.
New ov9650 struct to keep track of current config and frame_buffer.
New bin directory to hold a known working binary.
New imlib function for erosion.
New motion detection code.
2013-11-18 23:26:40 +02:00
iabdalkader
24a6572364
fixed some registers
2013-11-15 19:07:29 +02:00
iabdalkader
b439bdae91
Initial commit
2013-11-13 12:24:56 +02:00