Commit Graph

2757 Commits

Author SHA1 Message Date
Ibrahim Abd Elkader
d850325de4 Merge pull request #60 from kwagyeman/master
Cleaned up some whitespace and unnecessary header.
2016-02-14 17:02:18 +02:00
Kwabena W. Agyeman
ffaea46159 Removed unneeded headers.
And... added a comment about the implementation being standard.
2016-02-14 09:38:42 -05:00
Kwabena W. Agyeman
c622e05b58 Re-added timeout.
Given how the SCCB won't fail it should really be 0... but, then the
rountines wouldn't return if there was a failure.
2016-02-14 09:27:04 -05:00
iabdalkader
5deaf38a34 Switch to 2x2 (4:2:0) Chroma Subsampling. 2016-02-14 11:20:04 +02:00
iabdalkader
77239a5891 Support 2x1(4:2:2) Chroma subsampling. 2016-02-14 07:34:43 +02:00
Kwabena W. Agyeman
b6eb26d324 Lowered timeout.
It was previous set to 10 seconds... since the timeout is in ms. Now
it's at 1 second. This represents 100 clocks at 100KHz I2c. Also, I
noticed general call mode was being set for the I2C which is not at all
something we want (the ability to address multiple devices at once).

I tested the changes with all my cameras. No problems. This was 4 units
(2 being the original protos).
2016-02-13 23:05:27 -05:00
Kwabena W. Agyeman
abac52534c Reviewed code. No errors. Cleaned up some whitespace and unncessary
header.
2016-02-13 21:55:10 -05:00
iabdalkader
597b9aeba4 Emit proper JPEG headers for grayscale images. 2016-02-14 01:54:19 +02:00
Ibrahim Abd Elkader
21eabc63bf Merge pull request #59 from kwagyeman/master
Made XALLOC better.
2016-02-14 00:59:50 +02:00
Kwabena W. Agyeman
456c4ab757 Made XALLOC better. Now the functions detect if you are trying to alloc
0 bytes and don't fail if you do that. Additionally, I added some
comments on behavior. (I studied what the gc functions did extensively
to know the behavior of this stuff). All changes have been tested with
code that does memory allocs.
2016-02-13 13:56:33 -05:00
iabdalkader
ee6192aeba Use a faster BinDCT.
* A slightly faster BinDCT.
* JPEG time: GS:22ms RGB:62ms (tested on color-bar images).
2016-02-13 04:28:26 +02:00
Ibrahim Abd Elkader
2e9f25515b Merge pull request #57 from kwagyeman/master
Made Soft I2C Pretty
2016-02-12 18:05:03 +02:00
Kwabena W. Agyeman
095c95a998 Made Soft I2C Pretty 2016-02-12 00:31:26 -05:00
iabdalkader
9685cbb727 Small JPEG optimizations. 2016-02-12 07:08:22 +02:00
iabdalkader
3acb5903a2 Optimize Grayscale JPEG.
* Skip UV tables for Grayscale images.
2016-02-12 04:40:36 +02:00
iabdalkader
f8bfbfabe9 Add sensor.get_id function to return PID. 2016-02-10 19:00:05 +02:00
iabdalkader
4ed583380e Remove mp.h include 2016-02-10 18:24:30 +02:00
iabdalkader
a0b2f3f7fa Fix frame request flag. 2016-02-09 03:40:20 +02:00
iabdalkader
0a8a1fd58c Return error from extclk_config. 2016-02-09 02:44:26 +02:00
iabdalkader
312fabad13 Add jpeg line buffer to linker script. 2016-02-09 02:17:05 +02:00
iabdalkader
d4b13d21ce Add support for special effects. 2016-02-09 02:08:07 +02:00
iabdalkader
dbd69a3a25 Remove framebuffer locking.
* Not needed anymore.
2016-02-09 01:11:25 +02:00
iabdalkader
74d084ee6b Add frame size check to keypoints 2016-02-09 01:05:34 +02:00
iabdalkader
ed69e4b15a Transfer raw frames line by line.
* Add HAL_DCMI_Start_DMA_MB to allow line by line transfers for
  raw frames using DMA double buffering feature.
* This means bigger grayscale resolution that would not otherwise
  fit into RAM.
* YUV to Grayscale conversion on the fly (as the frame being read).
* It's possible to perform differencing (and maybe JPEG) on the fly.
* Additionally, FPS for grayscale should be exactly like RGB
  (since there's no additional step after capturing the frame)
2016-02-08 16:53:11 +02:00
iabdalkader
bcb72ef7ff Use a single resolution table. 2016-02-08 16:11:57 +02:00
iabdalkader
dd8fcf0ece Better JPEG scaling. 2016-02-07 03:20:04 +02:00
iabdalkader
4627f21623 Remove extra resolution from size table. 2016-02-07 02:39:32 +02:00
iabdalkader
fa27c540ee Use __REV16 to swap pixels 2016-02-07 02:36:26 +02:00
iabdalkader
69cd07e923 Add sanity checks and meaningful error messages. 2016-02-07 02:34:47 +02:00
iabdalkader
9a18497b56 Adjust board configs. 2016-02-07 02:34:03 +02:00
iabdalkader
07e0385bf0 Add HQVGA resolution. 2016-02-07 02:32:16 +02:00
iabdalkader
f074958595 Use __REV instructions in imlib 2016-02-06 23:57:59 +02:00
iabdalkader
700d82642b Enable H/V zoom to support arbitrary scaling. 2016-02-06 22:34:00 +02:00
iabdalkader
70d3ffcb50 Enable selftests 2016-02-06 21:56:01 +02:00
iabdalkader
79264b6ab0 Fix bug in integral image.
* First row was skipped.
2016-02-06 21:15:39 +02:00
iabdalkader
05da962b73 Write the LSBs of VOUTSIZE and HOUTSIZE 2016-02-06 20:36:18 +02:00
iabdalkader
eb97a51183 Fix the ABI version to avoid breaking older IDE's 2016-02-06 19:19:55 +02:00
iabdalkader
b8e442b60c Add openmv board config headers and remove hal_msp.h 2016-02-06 19:13:45 +02:00
iabdalkader
cf641af6b0 Add command to return script running flag.
* Return script running flag to disable/enable execute and stop buttons.
* Up ABI version
2016-02-06 17:59:52 +02:00
iabdalkader
d76fa2b558 Remove the JPEG offset buffer.
* Set the address of the DMA transfer to addr + offset to allow JPEG
  Compression of the framebuffer without overwriting image pixels.
* This saves 1KBs of stack and conditionals in jpeg_put_bytes/char.
2016-02-06 17:13:53 +02:00
iabdalkader
544dee93ae Remove USBDBG clear flags (not needed anymore). 2016-02-06 17:03:50 +02:00
iabdalkader
c0a9e5279f Use soft_reset in main.
* This fixes the issue with script upload failing when gc is locked,
  and resets peripherals to their initial state.
2016-02-06 15:32:12 +02:00
iabdalkader
fb429f175f Lower sleep time after sensor power cycle. 2016-02-06 15:31:26 +02:00
iabdalkader
14df7fc05f Add sensor_init0.
* This resets the framebuffer state.
2016-02-06 04:08:39 +02:00
iabdalkader
14891b1cc8 More JPEG cleanup 2016-02-06 03:53:48 +02:00
iabdalkader
b2480801d1 Small JPEG optimizations. 2016-02-06 00:14:25 +02:00
iabdalkader
7f76f68d82 Fix quantization tables initialization. 2016-02-05 23:55:52 +02:00
iabdalkader
5721ab40da Adjust stack and heap sizes 2016-02-05 23:55:30 +02:00
iabdalkader
a231b17055 JPEG-compress the frame buffer to lower bandwidth. 2016-02-05 02:42:03 +02:00
iabdalkader
ab833d4302 Set all sensors XCLK to 12MHz 2016-02-05 02:41:03 +02:00
iabdalkader
ec1de1c2eb Replace sensor struct clock polarities with flags. 2016-02-05 02:38:07 +02:00
iabdalkader
e0c5822c28 Raise exception if pixel format is not supported. 2016-02-05 02:15:22 +02:00
iabdalkader
8e60588455 Support in place JPEG compression.
* Modify the JPEG compressor to allow in place compression.
2016-02-04 21:56:48 +02:00
iabdalkader
e9147d4594 Remove extra byte in JPEG image size. 2016-02-04 07:04:20 +02:00
iabdalkader
7fff1dc12b Add Grayscale Support to the JPEG compressor. 2016-02-04 07:03:49 +02:00
iabdalkader
bab1ec7dbf Mirror image when colorbar is enabled.
* This allows the OV7725 to pass self-tests without changes.
2016-02-04 00:38:30 +02:00
iabdalkader
3627778d80 Increase heap to 0xCB00 2016-02-04 00:19:04 +02:00
iabdalkader
562e2ce9ca Add FSIN pin. 2016-02-04 00:07:50 +02:00
iabdalkader
d378a1bbfa Remove unused defines. 2016-02-04 00:03:01 +02:00
iabdalkader
22154c2bad Adjust PLL setting.
* XCLK=12MHz PCLK=48MHz
2016-02-04 00:01:15 +02:00
iabdalkader
fd418576c0 Optimize JPEG library. 2016-02-04 00:00:29 +02:00
iabdalkader
726e3a8e21 Add RGB565 to YUV lookup table 2016-02-03 23:45:20 +02:00
iabdalkader
23fe7b6363 Move framebuffer sync code before snapshot code.
* This forces the IDE to read the image before any drawing, which
  Fixes the double buffering issue.
2016-02-03 02:47:54 +02:00
iabdalkader
38efbd5bbe Add missing register. 2016-02-02 00:43:12 +02:00
iabdalkader
5203fd8434 Pass slave address to SCCB_Read/Write
* Add slave address to sensor struct.
* Pass slave address to every SCCB_Read/Write function.
* Pass a pointer to the sensor struct to sensor functions.
2016-01-28 14:09:12 +02:00
iabdalkader
6752aeacf3 Add support for OV7725 2016-01-28 12:42:17 +02:00
iabdalkader
756c5965d4 Add initial OV7725 driver 2016-01-28 12:40:55 +02:00
iabdalkader
b4aeaa4f16 Add SCCB_Probe function.
* Remove hard-coded SCCB slave address.
* Add probe function to find slave address.
2016-01-28 12:37:29 +02:00
iabdalkader
3bad11fd61 More fixes to MLX driver
* Fix read raw to return rotated ir readings.
* Add refresh rate parameter to mlx_init.
* Rename mlx_read to mlx_read_ir.
* Add mlx_read_ta to return the ambient temperature.
2016-01-25 23:30:17 +02:00
iabdalkader
7358952c14 Misc fixes to the MLX driver 2016-01-25 22:31:57 +02:00
iabdalkader
5677c28b4d Update MLX driver.
* Update MLX driver to support the new MLX90621.
2016-01-24 02:13:31 +02:00
iabdalkader
a846005c16 Add more comments to imlib_threshold 2015-10-04 01:15:30 +02:00
iabdalkader
b55a93069d Remove unused prototype. 2015-10-04 01:09:52 +02:00
iabdalkader
2bda1d13a3 Increase sensor_snapshot timeout 2015-10-04 00:26:46 +02:00
iabdalkader
5a8c7ec311 Add PY_ASSERT_FALSE_MSG to py_assert.h 2015-10-04 00:10:28 +02:00
iabdalkader
5924de6ee3 Increase sensor_snapshot timeout. 2015-09-26 03:25:45 +02:00
iabdalkader
4f392e4639 Rename pincfg.h to stm32f4xx_hal_msp.h 2015-09-24 14:21:39 +02:00
iabdalkader
a1e4f79256 Clean up pincfg.h 2015-09-24 14:15:10 +02:00
iabdalkader
8a28cba8c7 Fix servo timers
* call servo_init in main
* Fix servo timer, number of channels and pin mappings.
2015-09-24 02:04:51 +02:00
iabdalkader
d11e8f7212 Inline systick_has_passed call in sensor_snapshot 2015-09-23 02:03:26 +02:00
iabdalkader
8fabc9b35a Fix image module globals_dict_table 2015-09-22 02:27:51 +02:00
iabdalkader
e3f41d674e Add sensor_snapshot timeout 2015-09-22 01:34:21 +02:00
iabdalkader
4491000c44 Remove some old unused files
* omv/systick.h
* omv/stm32f4xx_it.c
2015-08-20 16:29:11 +02:00
iabdalkader
78a6d54c89 Remove old systick.c 2015-08-20 16:26:55 +02:00
iabdalkader
d031ea87f1 Implement set_pixel 2015-08-20 16:25:37 +02:00
iabdalkader
940f3a0d7d Disabled self tests for OMV1
* RGB QVGA doesn't fit in OMV1's RAM, fix the script or write another one.
2015-08-18 23:54:49 +02:00
iabdalkader
d7130234d3 Return script buffer without copying.
* Since IDE interrupts are enabled after compiling the script, we can
just return a pointer to the script buffer without copying it first.
2015-08-17 19:48:45 +02:00
iabdalkader
b33f7b4c29 Add functions to disable/enable IDE interrupts
* This constrains IDE interrupts avoiding the need for critical sections.
2015-08-17 19:48:18 +02:00
iabdalkader
bf9401ee6f Remove unused #define 2015-08-16 01:11:05 +02:00
iabdalkader
20b823333a Free script buffer after copying it. 2015-08-16 00:16:16 +02:00
iabdalkader
02ac02643e Increase QCIF res 2015-08-15 16:54:09 +02:00
iabdalkader
891f6ab96b Move FS cache to main SRAM for OMV2 2015-08-15 16:50:14 +02:00
iabdalkader
801f74c2da Remove global misc functions
* Remove redundant functions
2015-08-13 23:18:59 +02:00
iabdalkader
7d949694ef Fix main script FS template 2015-08-13 23:15:57 +02:00
iabdalkader
eb29fc8894 Add sanity checks to draw_string 2015-08-13 23:15:35 +02:00
iabdalkader
83c52c020f Fix draw_string to support Grayscale 2015-08-13 23:14:52 +02:00
iabdalkader
533f0e3e8f Re-init MP state and use pyexec_file/str
* Use pyexec_file/str with re-raise flag
* re-init MP state before executing scripts
2015-08-13 00:22:55 +02:00
iabdalkader
cbbd93b0ca Add the selftest script in main 2015-08-09 22:06:57 +02:00
iabdalkader
d9d991054d Clear debug flags when initializing usbdbg 2015-08-09 21:58:31 +02:00
iabdalkader
54288c5351 Add image module
* Move Image class and misc functions to image module
2015-08-09 13:00:06 +02:00
iabdalkader
0dffedda92 Fix typo 2015-08-08 00:33:26 +02:00
iabdalkader
fa12a1a704 Log fatal errors to file 2015-08-08 00:31:59 +02:00
iabdalkader
4376e87609 Revert sensor_init and check error after USB init 2015-08-08 00:30:39 +02:00
iabdalkader
9af3b9eaba Return different error codes in sensor_init 2015-08-07 23:31:45 +02:00
iabdalkader
aaeaff476d Delay sensor_init
* Call sensor_init after initializing USB mass storage to log errors.
2015-08-07 23:16:30 +02:00
iabdalkader
b99df66659 Wait for IDE to read the frame buffer
* Wait for the IDE to read the frame buffer after trying the lock.
2015-08-07 17:55:11 +02:00
iabdalkader
4c9982b7e9 Rename usbdbg clear script to clear flags 2015-08-06 12:20:17 +02:00
iabdalkader
939c47da6c Add ring buffer 2015-08-01 11:07:22 +02:00
iabdalkader
8c1ff900a8 Fix OPENMV1 build
* Fix board config files
* Fix linker script
* Fix sdcard CD
2015-08-01 10:56:37 +02:00
iabdalkader
856938fea5 Add image get/set pixel 2015-07-31 14:13:09 +02:00
iabdalkader
78abfb87e6 Add PY_ASSERT_TRUE_MSG 2015-07-31 14:11:26 +02:00
iabdalkader
269345303b Add image subscr 2015-07-31 12:37:45 +02:00
iabdalkader
e446e03f9d Remove check for unused pyexec_mode_kind 2015-07-30 17:37:31 +02:00
iabdalkader
b42da07430 Remove reset_mode 2015-07-30 17:33:12 +02:00
iabdalkader
d43eda7e51 Move parse and compile inside exception handler
* This allows syntax errors to be caught and printed
2015-07-29 23:04:41 +02:00
iabdalkader
86a141e51a Add set color bar function 2015-07-29 22:32:05 +02:00
iabdalkader
f6d5129cc7 Clear fb ready flag when stopping script
* This stops the IDE from reading the same frame buffer
2015-07-29 22:04:36 +02:00
iabdalkader
f34b07f015 Update print function 2015-07-18 07:05:13 +02:00
iabdalkader
7fbe54ad4e Update headers for MP 1.4.4 2015-07-18 07:04:46 +02:00
iabdalkader
f7d71cd594 More parse and compile script to main thread 2015-07-13 07:51:48 +02:00
iabdalkader
e2f634675f Rename ptr to mem for consistency. 2015-07-13 07:07:46 +02:00
iabdalkader
a26f752285 Change memory exception to MemoryError 2015-07-13 07:07:02 +02:00
iabdalkader
b5e90c4c8d Add xalloc_fail 2015-07-13 07:06:25 +02:00
iabdalkader
a94b324bb4 Call DCMI DMA abort in sensor reset function
* Call DMA abort in sensor reset function just in case there's a
DMA request in progress.
2015-07-12 07:58:41 +02:00
iabdalkader
4618aeb496 Enable DCMI interrupts 2015-07-12 07:57:34 +02:00
iabdalkader
16fdecf7f4 Remove hard sensor reset 2015-07-12 04:11:44 +02:00
iabdalkader
c76c75e7b0 Fixe jpeg mode assignment 2015-07-12 03:15:10 +02:00
iabdalkader
54bf1b4334 Add JPEG mode to dcmi_config
* This also disables DCMI interrupts the second time dcmi_config is called
2015-07-12 02:24:46 +02:00
iabdalkader
3f9d97c511 Increase heap 2015-07-12 01:48:33 +02:00
iabdalkader
fb7d17a127 Remove xalloc_init 2015-07-12 00:38:26 +02:00
iabdalkader
c5fb6657fd Use nlr_raise in xalloc 2015-07-12 00:36:48 +02:00
iabdalkader
765632af91 Check number of stages when loading cascade 2015-07-10 04:10:03 +02:00
iabdalkader
57ebe7eb9c Fix the number of features and rectangles
* Fix the number of features and rectangles when loading cascades from flash
2015-07-10 02:58:07 +02:00
iabdalkader
e273e43961 Add stages kw arg to load cascade function 2015-07-10 02:57:30 +02:00
iabdalkader
e00d92f6f7 Fix find_features
* Add all objects to returned list.
2015-07-10 01:36:26 +02:00
iabdalkader
9d51051ba8 Return FR_NO_FILE if built-in cascade not found 2015-07-09 04:38:07 +02:00
iabdalkader
d0d1883354 Add Built-in Haar Cascades
* Add common cascades to flash
2015-07-09 03:49:57 +02:00
iabdalkader
ff611f3706 Increase flash storage size 2015-07-08 23:08:41 +02:00
iabdalkader
4ff2d795bd Fix text length 2015-07-08 23:00:10 +02:00
iabdalkader
42b439a52e Change IDE interrupt type
* Change IDE interrupt from OSError to Exception
2015-07-08 22:27:44 +02:00
iabdalkader
0ffb74df7a Lower pixel clock frequency to 54MHz
* Lower pixel clock frequency to be within the DCMI specs (max 54MHz)
2015-07-04 21:13:16 +02:00
iabdalkader
182a844cd2 Add FW version command
* Add FW version command to usbdbg.
* Add FW version function to openmv.py
* Check for major version in the IDE.
2015-07-04 03:44:42 +02:00
iabdalkader
2de4c717eb Cleanup the MLX module
* Set update rate to 32Hz
* Use ambient temp to scale IR data
* Return a GRAYSCALE or RAINBOW image
2015-05-07 09:54:39 +03:00
iabdalkader
d38112fb3c Add set_saturation function 2015-05-05 14:02:44 +03:00
iabdalkader
54ae5ff425 Add new resolution for LCD 2015-05-05 13:39:16 +03:00
iabdalkader
e540a52f29 Fix soft I2C pin mapping 2015-05-05 13:29:53 +03:00
iabdalkader
09e77b5da8 Fix volume labels and root dir 2015-05-04 11:51:46 +03:00
iabdalkader
8a68746a37 Increase heap size 2015-05-03 11:04:16 +03:00
iabdalkader
1879988bcb Set correct stack limit for MP 2015-05-03 10:58:58 +03:00
iabdalkader
aed7c8678e Clear frame ready in sensor_init 2015-05-03 10:25:15 +03:00
iabdalkader
ace7b976fb Remove init_modules
* init modules is not needed anymore.
2015-05-03 10:22:07 +03:00
iabdalkader
4d92e632fc Use MCO as sensor clock source for OMV2 2015-05-01 04:59:28 +03:00
iabdalkader
b9801708c8 Fix SDCARD chip detect 2015-05-01 04:58:39 +03:00
iabdalkader
1c66afe971 Fix mlx undefined reference 2015-05-01 04:58:16 +03:00
iabdalkader
117b6d862d Alloc only k rows for median filter 2015-05-01 04:57:14 +03:00
iabdalkader
76c96cab61 Use FB for intergal images for OMV1/2 2015-05-01 04:56:41 +03:00
iabdalkader
74cba716b7 Fix image window for OMV2 2015-05-01 04:44:53 +03:00
iabdalkader
57cccca3f3 Add support for OpenMV2 2015-05-01 04:44:31 +03:00
iabdalkader
338320ad3c Update MP 2015-04-29 04:13:07 +03:00
iabdalkader
fa7ab8f70a Rename lab.c to lab_tab.c 2015-04-29 04:11:37 +03:00
iabdalkader
021fa678c9 Remove old pin config and MSP code 2015-04-29 04:05:58 +03:00
iabdalkader
fafd586b32 Disable LAB table for OpenMV1
* The LAB lookup is too big for 512K flash, it used to fit
at some point but not after enabling all the needed modules.

* The imlib_rgb_to_lab function is way slower than LAB lookup,
  but it's a must to maintain support for OMV1
2015-04-29 04:02:40 +03:00
iabdalkader
8197a44c3f Fix fast_cbrtf 2015-04-29 04:01:36 +03:00
iabdalkader
b244eb0ec8 Remove old modules from omv/Makefile 2015-04-29 00:46:45 +03:00
iabdalkader
977b068316 Use pendsv_nlr_jump_hard to schedule HW PENDSV 2015-04-29 00:46:02 +03:00
iabdalkader
7cd5e9e840 Add comment on RGB565->RGB888 macros 2015-04-28 23:29:50 +03:00
iabdalkader
aeee94726b Remove USB from ISR section 2015-04-28 22:48:27 +03:00
iabdalkader
12fd9d5df2 Return compiled script instead of vstr
* Compile the script when the last part is received.
* This makes sure script_buf is not changed before it's compiled
2015-04-25 23:39:58 +03:00
iabdalkader
ecdcac56d2 Add missing headers 2015-04-25 23:34:42 +03:00
iabdalkader
9b068dd992 Add extern ffs_strerror 2015-04-25 23:06:36 +03:00
iabdalkader
1edee935d1 Add atomic sections to SCCB/I2C read/write 2015-04-25 22:28:02 +03:00
iabdalkader
a8928ca3b2 Move clock module to py_time 2015-04-22 02:27:37 +02:00
iabdalkader
6d2fafa947 Remove old peripheral modules
* Remove old peripheral modules
* Use MP's built-in modules
2015-04-22 00:07:20 +02:00
iabdalkader
74d6fa4314 Remove RNG 2015-04-15 23:40:11 +02:00
iabdalkader
74bb497e52 Update FatFS to 0.10c 2015-04-15 23:40:11 +02:00
iabdalkader
754cce406c Implement debugging over CDC 2015-02-08 11:12:24 +02:00
iabdalkader
a888f769bc Fix temlate matching 2014-12-18 20:15:13 +02:00
iabdalkader
40d43a2a8c Add OMV Debug Interface 2014-11-06 15:14:33 +02:00
iabdalkader
551a8be156 Increase delay for IDE 2014-11-02 15:53:02 +02:00
iabdalkader
cea31c1774 Use one request for locking and header
* Use one request for locking and FB header to save bandwidth
2014-11-01 15:58:52 +02:00
iabdalkader
899ec65507 Add delay if IDE tried to lock FB
* Fix #27
2014-10-31 13:57:17 +02:00
iabdalkader
ef9bf26981 Add Eye Detector 2014-10-25 15:33:02 +02:00
iabdalkader
cf92de7c8a Modify LBP to use a cascade 2014-10-21 16:51:07 +02:00
iabdalkader
a2780e5a5a Add invert,binary 2014-10-21 16:47:00 +02:00
iabdalkader
56c7bb31ab Fix typo 2014-10-20 13:17:33 +02:00
iabdalkader
e4003e3e96 Enable UXGA 2014-10-06 17:37:51 +02:00
iabdalkader
07b1269ed0 Fix read/write return mp_obj_t 2014-10-05 00:14:25 +02:00
iabdalkader
4891184b67 Fix uart read/write 2014-10-03 22:56:39 +02:00
iabdalkader
97ea356e9d Use larger stack limit 2014-10-02 01:38:50 +02:00
iabdalkader
b45dec9b1a Use MP_ATOMIC_SECTION to enable/disable IRQs 2014-10-02 01:38:28 +02:00
iabdalkader
17d3e73f86 Update MP branch 2014-10-01 01:41:38 +02:00
iabdalkader
d2fd0f631d Disable patch prog 2014-10-01 01:41:13 +02:00
iabdalkader
559da9af95 Remove RNG from ISR 2014-10-01 01:35:59 +02:00
iabdalkader
90309715c9 Pass RGB to image_threshold and convert to LAB 2014-09-28 16:40:06 +02:00
iabdalkader
2ba464310e Fix XYZ lookup 2014-09-28 15:37:23 +02:00
iabdalkader
2706b0c41b Move xyz table to /img 2014-09-28 15:35:51 +02:00
iabdalkader
3fca55514a Remove commented code 2014-09-27 18:57:12 +02:00
shimniok@gmail.com
dbb2019b9a Added feature to reset into DFU from omv onboard software when receiving USBDB_BOOT 2014-09-26 22:55:01 -06:00
shimniok@gmail.com
cbace2759a added functionality for starting bootloader via USBDBG_BOOT 2014-09-26 11:15:27 -06:00
iabdalkader
8467c67f06 Add System Reset Command
* Add sys reset to USBDBG and IDE
2014-09-25 03:37:00 +02:00
iabdalkader
422778e7b3 Add priority, sub_priority to gpio_init_exti 2014-09-24 23:56:30 +02:00
iabdalkader
a70dc7052d Fix GPIO pin defs 2014-09-24 23:55:15 +02:00
iabdalkader
0224c29588 Fix GPIO pin mapping 2014-09-24 23:26:59 +02:00
iabdalkader
04c1fe0d0e Fix FAST ROI
* Find all KPs then discard based on ROI (for small ROIs)
2014-09-24 22:56:45 +02:00
iabdalkader
ec8ed77f27 Fix SDRAM Timings 2014-09-24 22:25:27 +02:00
iabdalkader
ce3d435137 Add load_lbp 2014-09-24 22:25:14 +02:00
iabdalkader
3a04f1c74a Optimize PPM writer 2014-09-20 09:02:24 +02:00
iabdalkader
65cd8a133a Update license
* Switch to MIT
* Add license notice to source files
2014-09-20 05:09:52 +02:00
iabdalkader
bd56912fb6 Fix uSD SPI issue corrupting framebuffer 2014-09-20 03:34:54 +02:00
iabdalkader
5f51438029 Add LBP 2014-09-20 02:02:22 +02:00
iabdalkader
a25650562c Cleanup main 2014-09-18 19:23:10 +02:00
iabdalkader
27f5ae0093 Move FS cache to heap
* This will alloc FS cache only if it's needed.
* Increase heap to ~45K
2014-09-18 19:22:21 +02:00
iabdalkader
e01565cdb5 Fix quant table init 2014-09-17 22:16:04 +02:00
iabdalkader
c41cbc1e85 Format LICENSE 2014-09-17 21:42:23 +02:00
iabdalkader
a44be5d38b Compile for OMV2 only 2014-09-17 21:39:35 +02:00
iabdalkader
8854f0a9d5 Add JPEG encoder 2014-09-17 21:39:19 +02:00
iabdalkader
9cb9c4b892 Move more Objects to ISR section 2014-09-17 21:32:55 +02:00
iabdalkader
cc522583bb Fix lab,xyz tables 2014-09-17 21:20:19 +02:00
iabdalkader
73543a727e Expand heap a bit 2014-09-12 20:55:29 +02:00
iabdalkader
dcd65daee5 Add threshold, scale KW args to VJ detector 2014-09-12 20:53:43 +02:00
iabdalkader
52c71f387e Add STD to cascade. 2014-09-12 19:00:21 +02:00
iabdalkader
9fa248f44b Bug fixes and optimization 2014-09-12 18:59:49 +02:00
iabdalkader
c30adb6ea1 Fix scaled integral 2014-09-12 18:44:26 +02:00
iabdalkader
8bfc2c92a9 Add threshold param to haar detector 2014-09-12 14:32:18 +02:00
iabdalkader
918026a22c Use ROI in Keypoint detector 2014-09-12 13:56:08 +02:00
iabdalkader
017b62d20d Use integral_scaled 2014-09-12 13:48:17 +02:00
iabdalkader
b2d39d3e66 Add integral_scaled prototype 2014-09-12 13:42:37 +02:00
iabdalkader
065a3cb337 Remove SCALE_FACTOR const 2014-09-12 11:50:17 +02:00
iabdalkader
e898bbd15a Fix assertion code 2014-09-12 11:47:14 +02:00
iabdalkader
4a0790635e Check draw_line image boundaries 2014-09-11 11:49:36 +02:00
iabdalkader
04b013b33b Cleanup 2014-09-11 07:35:33 +02:00
iabdalkader
fe778e07f9 Use integral_alloc 2014-09-11 07:08:35 +02:00
iabdalkader
f8e08b9749 Add draw_line 2014-09-11 07:05:36 +02:00
iabdalkader
1bb823b981 Add integral_alloc 2014-09-11 07:03:49 +02:00
iabdalkader
5ec8511f90 Better atan2f 2014-09-11 07:02:52 +02:00
iabdalkader
aa93ab7c42 Use bytes for scores 2014-09-11 06:05:21 +02:00
iabdalkader
44669573ce Minor fixes 2014-09-11 05:52:43 +02:00
iabdalkader
649344c40c More fixes to median 2014-09-11 03:40:51 +02:00
iabdalkader
54fec0f294 Fix median 2014-09-10 23:18:15 +02:00
iabdalkader
b8d989be57 Update MP branch 2014-09-10 23:16:37 +02:00
iabdalkader
7bb8bef8a1 Add Update FB Command 2014-09-10 22:22:50 +02:00
iabdalkader
949fbfef51 Save angle when writing descriptor 2014-09-10 19:00:13 +02:00
iabdalkader
c70960d17e Add save descriptor from ROI 2014-09-10 18:59:34 +02:00
iabdalkader
d0cce539de Fix atan2f 2014-09-09 17:04:04 +02:00
iabdalkader
50062826d2 Add missing header 2014-09-09 15:09:06 +02:00
iabdalkader
3270d08241 Add UART defs 2014-09-09 15:08:25 +02:00
iabdalkader
903f756a7c Misc Fixes, add load/save descriptor 2014-09-09 15:07:22 +02:00
iabdalkader
06c8f77662 Add ceil 2014-09-09 15:02:34 +02:00
iabdalkader
2f5b82ec77 Update UART code 2014-09-05 18:09:07 +02:00
iabdalkader
41d531242a Fix big frame size 2014-09-04 01:03:38 +02:00
iabdalkader
cf9be6bf71 Mirror/VFLIP when building for OMV2 2014-09-03 23:47:09 +02:00
iabdalkader
c12f559d62 Remove sd from isr section
* Overflows on OMV2
2014-09-03 23:37:19 +02:00
iabdalkader
734eca7e97 Add Color to draw_string 2014-09-03 19:16:41 +02:00
iabdalkader
d142654920 Add Scaled Integral Function 2014-09-03 16:17:46 +02:00
iabdalkader
2e81c7a150 Cleanup Haar code 2014-09-03 16:14:17 +02:00
iabdalkader
b2eb44910a Add subimg 2014-09-02 16:29:20 +02:00
iabdalkader
5fdd6e09a3 Add font rendering 2014-09-01 23:43:06 +02:00
iabdalkader
06c9253644 Rework blob counting 2014-09-01 16:52:14 +02:00
iabdalkader
29202f1f99 Add morphological operations, fix threshold 2014-09-01 16:50:58 +02:00
iabdalkader
526efdac04 Small Optimizations 2014-09-01 16:17:33 +02:00
iabdalkader
ad1daadd69 Add more objects to .isr_vector 2014-09-01 15:41:19 +02:00
iabdalkader
82e46987b1 Remove deinit 2014-09-01 15:40:10 +02:00
iabdalkader
4a39ffc65b Add module names for debugging 2014-08-31 15:12:11 +02:00
iabdalkader
99657a2207 Fix I2C init/deinit 2014-08-31 14:13:29 +02:00
iabdalkader
b621643763 Opt imlib_integral_image 2014-08-30 19:19:07 +02:00
iabdalkader
19121dec9f Fix exported functions 2014-08-30 18:35:37 +02:00
iabdalkader
d8c057d935 Optimize blob alloc 2014-08-30 17:31:28 +02:00
iabdalkader
8ab90c57c4 Optimize imlib_threshold 2014-08-29 22:39:58 +02:00
iabdalkader
f500fe28d1 Remove mp_sys_exit 2014-08-29 19:38:04 +02:00
iabdalkader
cb3e021a40 Enable EXTI 2014-08-29 19:37:19 +02:00
iabdalkader
78eee3fcc6 Resize FLASH storage 2014-08-29 19:36:32 +02:00
iabdalkader
459ec97aad Use PKHBT to pack SMUAD operands 2014-08-29 13:21:22 +02:00
iabdalkader
25abc200f9 Add FAST/FREAK detector
* Remove SURF code and MP functions
* Add FAST/FREAK keypoint extractor/descriptor
* Add FAST/FREAK Python example
2014-08-27 17:34:58 +02:00
iabdalkader
0aeab28640 Update MP Modules
* Update all modules for new API
* Move modules to built-in
2014-08-26 20:32:43 +02:00
iabdalkader
590bd22e2e Cleanup linker script 2014-08-26 17:30:03 +02:00
iabdalkader
f1d1aa5c67 Cleanup all Makefiles
* Add verbose option
* Fix link dependencies
2014-08-26 17:17:59 +02:00
iabdalkader
d61526a974 Add atan2, log2 and log 2014-08-26 12:09:51 +02:00
iabdalkader
82efa9042d Throw Exception When malloc Fails 2014-08-25 20:55:52 +02:00
iabdalkader
7038cb25c6 Export gc_collect and random 2014-08-25 14:37:17 +02:00
iabdalkader
bf3f6633ea Use SIMD in Alpha Blend 2014-08-25 14:36:36 +02:00
iabdalkader
1117c49ff9 Use LOW GPIO Speed 2014-08-25 14:34:01 +02:00
iabdalkader
e13e902d80 Add 1 to max temp scale 2014-08-25 14:33:44 +02:00
iabdalkader
9572faf78f Add scaled function
* Returns new scaled image
2014-08-25 14:32:31 +02:00
iabdalkader
45c3a5d3ae Use DMA for SPI transfers 2014-08-25 14:32:16 +02:00
iabdalkader
9752af11df WFI When sleeping 2014-08-25 14:27:10 +02:00
iabdalkader
cc09ad155e Use SDRAM for FB base 2014-08-23 10:47:42 +02:00
iabdalkader
e21794b4cb Reset DMA stream before re-init 2014-08-23 10:47:01 +02:00
iabdalkader
777fafc8ef Fix ld script 2014-08-21 12:30:09 +02:00
iabdalkader
5d5f801051 Add USR_SPI defs 2014-08-20 22:14:30 +02:00
iabdalkader
9e0136dbc8 Add proper fb locking 2014-08-20 21:17:27 +02:00
iabdalkader
dac7beadc6 Add mutex 2014-08-20 21:10:43 +02:00
iabdalkader
43aa7688a6 Fix RNG 2014-08-19 19:06:27 +02:00
iabdalkader
729fedfe6f Use new scale function 2014-08-18 12:40:13 +02:00
iabdalkader
f1861a332a Add scale, blit and blend functions
* Add scale, blit, blend and rainbow
* Update imlib header
* Export new functions to MP
2014-08-18 12:36:47 +02:00
iabdalkader
d151388e73 Add SDRAM region 2014-08-18 10:40:50 +02:00
iabdalkader
133f2fccb9 Retry to init before failing 2014-08-18 10:36:32 +02:00
iabdalkader
074557265d Add rainbow filter 2014-08-18 10:33:46 +02:00
iabdalkader
5722436a63 Add MLX90620 driver 2014-08-18 10:26:32 +02:00
iabdalkader
563ab52eca Add Soft I2C 2014-08-18 10:21:48 +02:00
iabdalkader
02999f2432 Rename stm32f407_hal_msp 2014-08-10 19:42:14 +02:00
iabdalkader
12d062d1bc Enable GPIO and SPI
* Fix GPIO/SPI code
* Use buffers in SPI read/write
* Add pin qstrs OMV2
* remove old led files
* Update LCD user examples
2014-08-10 19:39:19 +02:00
iabdalkader
a93cd7fd7a Use CPP to generate linker scripts 2014-07-31 06:26:19 +02:00
iabdalkader
52da153c0c Fix sdram init function 2014-07-31 06:19:23 +02:00
iabdalkader
4215697e00 Add checks for OPENMV2 2014-07-31 06:12:53 +02:00
iabdalkader
046d7afa98 Enable GPIOF clock 2014-07-31 05:57:56 +02:00
iabdalkader
4242a753fe Fix SDRAM test 2014-07-31 05:57:38 +02:00
iabdalkader
ba49bc9c9f Add SDRAM driver
* Add SDRAM driver
* Add SDRAM to linker script
* Add FMC drivers to Makefile
2014-07-23 08:08:29 +02:00
iabdalkader
b67ee0e5f3 Add SD SDIO driver 2014-07-23 08:06:56 +02:00
iabdalkader
92ded74fd9 Add IR LED Support 2014-07-21 03:55:54 +02:00
iabdalkader
381e24d315 Add support for STM32F429 2014-07-17 09:16:04 +02:00
iabdalkader
6389cce8b3 Export select 2014-07-14 04:17:11 +02:00
iabdalkader
dfab091f25 Add select 2014-07-14 03:43:21 +02:00
iabdalkader
932398820b Keep track of socket state 2014-07-14 03:42:29 +02:00
iabdalkader
2fd8af0bf5 Disable IRQs around spi calls
* Fixes SPI transfer failures.
* Set highest baudrates for SD and CC3K
2014-07-09 04:34:16 +02:00
iabdalkader
78ad46dd34 Add set_quality for JPEG mode 2014-07-09 04:31:39 +02:00
iabdalkader
366171b042 Replace spi_recv with macro
* Set baudrate prescaler to 2
2014-07-07 04:59:14 +02:00
iabdalkader
d30c06f55a Set max Rx/Tx packet size 2014-07-07 03:17:46 +02:00
iabdalkader
3681237acf Split recv packets 2014-07-07 02:04:36 +02:00
iabdalkader
b07cb91357 Add CC patch programmer 2014-07-07 02:03:20 +02:00
iabdalkader
74280e07c6 Update CC3K SPI driver 2014-07-05 03:45:16 +02:00
iabdalkader
2d3abcf2f4 Add wlan and socket python modules 2014-07-05 03:41:43 +02:00
iabdalkader
545c29763e Fix SPI timeout 2014-07-02 00:03:59 +02:00
iabdalkader
3ee3716842 Clear connected flag when interrupted 2014-06-30 03:47:42 +02:00
iabdalkader
52bf272e8e Move test for USBDBG before snapshot 2014-06-30 03:47:04 +02:00
iabdalkader
30169f3aaa Add buffer protocol to image 2014-06-30 03:46:32 +02:00
iabdalkader
34ca3ed295 Lower default Qs 2014-06-30 03:46:09 +02:00
iabdalkader
73f0d348bc More fixes to SD code 2014-06-30 03:45:03 +02:00
iabdalkader
94c46ab309 Cleanup SDCARD code 2014-06-28 19:54:06 +02:00
iabdalkader
92563b6190 Add SDCARD SPI driver 2014-06-28 01:26:32 +02:00
iabdalkader
0191702058 Export open 2014-06-27 23:46:13 +02:00
iabdalkader
1c7f8d7bdf Move GPIO configuration to MSP 2014-06-27 22:21:59 +02:00
iabdalkader
2d833b2ab5 Fix warning 2014-06-25 19:51:09 +02:00
iabdalkader
f23336e3ae Return the number of SURF matches 2014-06-25 19:50:45 +02:00
iabdalkader
5470b6c72f Add new constants 2014-06-25 19:50:30 +02:00
iabdalkader
185ab2877c ADD JPEG support
* ADD higher resolutions
* Set GPIO to low speed
* Use frame_ready to sync snapshots
2014-06-25 19:47:23 +02:00
iabdalkader
d96b1d9656 Update USBDBG
* Update commands
* Sync FB dump
2014-06-25 19:46:22 +02:00
iabdalkader
561c97cb41 Add JPEG regs
* Some fixes to old registers
2014-06-25 15:54:16 +02:00
iabdalkader
f8eb7b35e1 Fix br/cont/gain 2014-06-21 09:44:25 +02:00
iabdalkader
aaa06a4021 Add Get/Set sensor attributes 2014-06-21 09:43:26 +02:00
iabdalkader
b5587adc65 Add sensor controls 2014-06-21 09:41:27 +02:00
iabdalkader
aaa51cfdf6 Fix DMA mode 2014-06-20 15:30:02 +02:00
iabdalkader
bd2783f2b1 Enable FIFO 2014-06-20 09:52:46 +02:00
iabdalkader
62b8eadbfc Remove unused variable 2014-06-19 23:24:45 +02:00
iabdalkader
2ea09a43db Add template saving 2014-06-19 23:21:18 +02:00
iabdalkader
ad65c304dd Fix exceptions 2014-06-19 23:21:04 +02:00
iabdalkader
9fb77ee5ac Enable HaarCascade and Image 2014-06-19 23:20:32 +02:00
iabdalkader
64b883ceaf Update sensor drivers
* Add set_contrast
* Fix set_brightness
2014-06-19 23:19:11 +02:00
iabdalkader
06ed1c0a53 Update PPM
* Fix ppm_read
* Add ppm_write_subimg
2014-06-19 23:16:59 +02:00
iabdalkader
ce3ab63337 Fix template matching 2014-06-19 23:14:11 +02:00
iabdalkader
c1dab26fca Fix more sources to use HAL 2014-06-18 21:20:22 +02:00
iabdalkader
51458b1c2e Update USB Debug Interface 2014-06-18 17:29:09 +02:00
iabdalkader
1e4b6fa8fd Update sources to new HAL 2014-06-18 17:28:46 +02:00
iabdalkader
8c3712b55d Move linker script to omv 2014-06-18 17:11:04 +02:00
iabdalkader
7a4cee620b Add MP header 2014-06-15 21:18:22 +02:00
iabdalkader
55740aa14d Add OMV Makefile 2014-06-15 21:17:01 +02:00
iabdalkader
b00d9c2e97 Update sources for new STHAL/MP 2014-06-15 21:15:13 +02:00
iabdalkader
4df970b418 Move files to OMV 2014-06-14 12:28:45 +02:00