Commit Graph

1479 Commits

Author SHA1 Message Date
iabdalkader
10e6e974d3 Update FW images. 2016-04-27 07:51:34 +02:00
iabdalkader
c2ac84044f Move terminal update callback 2016-04-27 02:12:41 +02:00
iabdalkader
5217dedb8c Remove mismatch flag.
* Not really needed, nothing runs unless connected is set True.
2016-04-27 01:57:03 +02:00
iabdalkader
9f7980eec4 Fix IDE undo. 2016-04-26 23:32:11 +02:00
iabdalkader
cadb73eb5e Fix Makefile build order. 2016-04-26 22:58:07 +02:00
Ibrahim Abd Elkader
a0d0949bbb Merge pull request #131 from kwagyeman/master
Final Imlib Cleanup
2016-04-26 22:50:40 +02:00
Kwabena W. Agyeman
7a01a9bede Final Imlib Cleanup
Finished going through imlib.c.
-> Histeq uses fb_alloc now and has hook for RGB histeq when reserve YUV
LUT is added (coming soon in next PR).

Cleanuped py_helper.c/h
-> No functional changes. Just added some header info.

Finished going through py_image.c
* 1 - Finished general code cleanup and updating everything to using new
library functions. In particular, I updated the remaining find_*
functions with the new roi clipping code when they accept rois.
* 2 - Made blob stuff return a list when nothing is found so you don't
have to do an if on the returned value anymore.
* 3 - img subscr is more powerful now allowing image reading and
writing. I updated this because I had to use it to find a previous bug
with socket.send() for the WINC driver.
* 4 - Renamed find_eyes to find_eye. Because it just finds one eye.
* 5 - Other than that just general code cleanup to make functions look
consistent.

And yes, changes have been test. Face tracking, eye tracking, keypoints,
etc. all work still.

Future things todo before release:
1 - Change all LAB stuff to YUV.
2 - Add in reverse YUV->RGB LUT and update functions like Mode() to use
this so they don't generate messed up outputs, also histeq() too.
3 - Add any remaining sensor control functions like agc control.
2016-04-25 21:55:49 -04:00
Ibrahim Abd Elkader
3ac7872188 Merge pull request #130 from kwagyeman/master
Improve JPEG capabilities.
2016-04-26 02:47:08 +02:00
iabdalkader
232461295d Remove old DFU code. 2016-04-25 20:35:36 +02:00
iabdalkader
54be7503e6 Update IDE to handle the new bootloader. 2016-04-25 18:22:41 +02:00
iabdalkader
3d38908f2a Update main Makefile
* Add bootloader sources.
* Generate main FW image dfu, bootloader dfu and combined dfu image.
2016-04-25 18:20:20 +02:00
iabdalkader
508f303d91 Move ISR vector start of the main firmware image. 2016-04-25 18:19:39 +02:00
iabdalkader
d14c55251d Change interrupt vector table offset.
* Set to 0x08010000 where the main FW image starts
2016-04-25 18:18:27 +02:00
iabdalkader
9ed107ccee Re-enable IRQs in main.c 2016-04-25 18:18:03 +02:00
iabdalkader
87740c0170 Add CDC bootloader source dir 2016-04-25 18:17:21 +02:00
Kwabena W. Agyeman
367e5fdd3d Improved JPEG capabilities.
* Added the ability to control the quality on JPEG functions... However,
due to our JPEG implementation this doesn't seem to help. 90% JPEG
quality images and regular images should be about equal. But, you can
see heavy degredation with 90% still. E.g. text is unreabable. Not
exactly sure why this is happening but it can be fixed later.

* Changed the compress() function to compressed(). Also, it now
compresses using FB_Alloc to prevent realloc issues when compressing.

* Added new compress() function. This function compresses an image in
place and if that image is the frame bufffer then it will update the
frame buffer bpp value to reflect the image was compressed. Users can use
this function to basically finalize the frame buffer and then pass the FB
to functions that need to send image bytes. The benefit of using this
function is that it should allow higher quality JPEGs and let everything
run at a faster speed while connected to the IDE.

I made this function to speed up WiFi. However, I encountered a bug with
the winc.send() method. It appears to zero the bytes it sends. I didn't
debug further except to verify that the image data became zero after
calling send.
2016-04-23 16:37:21 -04:00
Ibrahim Abd Elkader
4075eae03d Merge pull request #126 from kwagyeman/master
scripts cleanup
2016-04-23 02:07:56 +02:00
Kwabena W. Agyeman
4c88c110cf 60 Scripts.
Everything except the DAC script works. That has to be fixed. Anyway, we
have a ton of example for launch. So, hopefully, comments about how to
do stuff should be limited.

That said, the PYB module is in a poor state still. Stuff kinda works and
kinda doesn't from it.

One day... There won't be any fires to put out on this project and I can
stop working so hard.
2016-04-21 20:01:17 -04:00
Ibrahim Abd Elkader
e2d665eb9e Merge pull request #125 from kwagyeman/master
Fix dilate.
2016-04-21 20:07:19 +02:00
Kwabena W. Agyeman
bb9d79d744 Fixed dilate.
This was bugged. Tested and now works.
2016-04-21 13:11:38 -04:00
Ibrahim Abd Elkader
fe36dd8ff4 Merge pull request #123 from kwagyeman/master
Refactor some example scripts.
2016-04-21 00:25:56 +02:00
Kwabena W. Agyeman
2006cf9746 Example Work
* Filled in all the board control examples. Everything works except for
DAC.

* Moved test drawing scripts to drawing dir and renamed them and added
comments.

* Filled in all the image filter stuff. There are still some tests that
can be renamed, commented, and added to this folder. But, I will do that
later.

* Fixed motion detection thresholds.

* Fixed LCD script comments.

* Fixed BLE return value.
2016-04-20 17:10:44 -04:00
iabdalkader
da612ff75f Apply HAL I2C/DMA patch from MicroPython. 2016-04-20 23:03:39 +02:00
iabdalkader
ef772db6c4 Up MP branch 2016-04-20 22:30:43 +02:00
Ibrahim Abd Elkader
4992789c1b Merge pull request #120 from kwagyeman/master
imlib cleanups
2016-04-20 12:45:47 +02:00
Kwabena W. Agyeman
b534dc6ffc Imlib cleanup
*Changed subimg to copy.
*Made blend work the same way as all our other double image argument
functions.
*Changed bilt to replace (the name of bilt is way to esoteric). Replace
gives you the basic assignment op.
* Removed scale/sacled. I removed this code because we don't want to
encourage people to scale things and allocate additional images in
memory. I decided to keep copy() for completeness sakes... but, I don't
see anyone using it. (By completeness sakes I mean that we now have the
assignment op, copy op, etc. for an image object).
* Removed rainbow. This feature is built into the FIR module now.

Moving on, compress needs to be renamed to compressed and a new compress
function will need to be added.

The compress() function will compress the image (or frame buffer, etc)
and not return a new object. The compressed() function will return a new
object and not compress the original image.

The compress function will make it easier for users to compress images
once they are done working on them before sending the image some where.
I don't see compressed() being used much then after adding the
compress() function. Since the compress() function won't use up heap
space this makes it very good.
2016-04-19 21:42:56 -04:00
iabdalkader
23d9898065 Update WINC1500 to Rev-B 2016-04-16 02:40:18 +02:00
Ibrahim Abd Elkader
398eb7f95b Merge pull request #119 from kwagyeman/master
Fix file buffer init bug.
2016-04-15 13:45:14 +02:00
Kwabena W. Agyeman
8a2852b706 Fixed file buffer bug.
This wasn't getting reinited breaking the system.
2016-04-14 23:56:54 -04:00
Ibrahim Abd Elkader
7ace96de2c Merge pull request #118 from kwagyeman/master
Fix blob code.

* Remove MP code from omv/img/
2016-04-15 00:41:46 +02:00
Kwabena W. Agyeman
1b9be6f81c Fixed blob merge bug.
Merging now keeps trying after a merge to make sure it's collected
everything.
2016-04-13 23:48:16 -04:00
Kwabena W. Agyeman
16daeb83a2 Fixed blob code.
Removed micropython code from the image libary. Also, blobs are now 10
tuple values by default now. The multilist thing has been removed from
blobs and it will return just a list of blobs instead of a tree of
lists.

Filter functions still work too.
2016-04-13 23:16:51 -04:00
Ibrahim Abd Elkader
32acc9cb4e Merge pull request #115 from kwagyeman/master
Remove old code.
2016-04-10 01:38:43 +02:00
Kwabena W. Agyeman
9e5d379c18 Remove old code.
Pixels, centroid, and orientation are calculated in the blob code now.
As for threshold, it is no longer needed (plus, it required storing a
secondary image in RAM which isn't really something we can handle).
2016-04-09 19:32:14 -04:00
Ibrahim Abd Elkader
ddd855137e Merge pull request #114 from kwagyeman/master
New blob code.
2016-04-10 01:22:16 +02:00
Kwabena W. Agyeman
d1ff36602a New blob code.
Blob tracking has now been updated to work without requiring prior
segmentation of the image. You can still run it on a segmented image,
but, that is not needed anymore.

Use the copy color feature of the OpenMV IDE to get a color in the
image. Once you have that you can then pass the color to find_blobs which
will output a tuple of lists of blobs for each color. By default, all
blobs less than 1/1000th of the image are filtered out, however, you can
add a custom filter function which gets the image and the blob about to
be added to the list and you can decide to filter it or not.

For marker tracking, we now have a function called find markers which
basically merges all the blobs found by find blobs into one list of
blobs. Each new blob will have a color code value which will tell you
what colors are part of that blob. We support tracking up to 30 unique
colors this way.
2016-04-09 11:43:35 -04:00
iabdalkader
50fe3e96bc Don't add Ta to To_min and To_max.
* Fixes issue #113.
2016-04-09 15:27:53 +02:00
iabdalkader
fe177b0894 Update Release Tag Name. 2016-04-08 00:45:02 +02:00
iabdalkader
48d7828c3c Fix FIRMWARE_VERSION_MINOR. 2016-04-08 00:44:11 +02:00
iabdalkader
7b8c401956 Fix PyInstaller spec file. 2016-04-07 21:15:57 +02:00
iabdalkader
5a850e3f86 Fix CHANGELOG typos. 2016-04-07 21:15:14 +02:00
iabdalkader
540438e4e4 Increment IDE version. 2016-04-07 20:59:34 +02:00
iabdalkader
6e6bfbd384 Update Change Log. 2016-04-07 20:48:20 +02:00
iabdalkader
4c87720915 Update firmware images. 2016-04-07 20:48:04 +02:00
iabdalkader
38925e1f00 Add GDK pixbuf loaders on Linux only. 2016-04-07 20:38:49 +02:00
iabdalkader
f5db80f886 Add GDK PyInstaller runtime hook.
* This is required for the older GTK/GDK versions we're using.
2016-04-07 19:52:43 +02:00
iabdalkader
4724c6eb64 Fix mkpkg.sh script 2016-04-07 19:45:54 +02:00
iabdalkader
a26ed949a3 Fix conflict with Pyinstaller script.
* Use glob.glob
2016-04-07 19:37:42 +02:00
iabdalkader
39495a1fd7 Update WiFi streaming scripts. 2016-04-06 02:58:42 +02:00
iabdalkader
270fd4437d Update WiFi streaming script. 2016-04-06 02:57:11 +02:00