Commit Graph

804 Commits

Author SHA1 Message Date
iabdalkader
318b67da42 Fix typo. 2016-05-25 03:42:57 +02:00
iabdalkader
39f439cda5 Fix the base priority when doing a soft-reset 2016-05-16 14:26:48 +02:00
iabdalkader
8f35a14ad8 Update USBDBG patch version. 2016-05-16 14:22:59 +02:00
iabdalkader
2e2c563227 Re-implement line filters with Python callbacks. 2016-05-16 14:22:30 +02:00
iabdalkader
5265211cc4 Remove USBDBG FRAME_UPDATE command. 2016-05-16 13:40:09 +02:00
iabdalkader
5d9fbf729c Enable some MP optimizations. 2016-05-16 13:37:27 +02:00
iabdalkader
fea0b45eaa Update MP branch.
* Fix ADC channels.
* Add 427 AF file.
2016-05-12 18:25:06 +02:00
iabdalkader
a865075e85 Fix Makefile dependencies.
* Fixes issue with parallel builds (make -jn)
2016-05-12 14:28:27 +02:00
iabdalkader
959d3e5410 Disable STM-HAL build in MicroPython. 2016-05-12 14:02:45 +02:00
iabdalkader
f61d89e0a4 Fix Makefile Verbosity.
* Make build more quite.
2016-05-12 14:01:14 +02:00
iabdalkader
23f1935924 Enable modmachine. 2016-05-12 12:53:55 +02:00
iabdalkader
ba73787c8a Use MicroPython's SD Card Module. 2016-05-11 18:46:38 +02:00
iabdalkader
8e503f4145 Update to MP v1.8 2016-05-09 21:46:41 +02:00
iabdalkader
9a5992c03e Update code for MP v1.8 2016-05-09 21:46:29 +02:00
iabdalkader
2803a8f483 Update MP branch. 2016-05-04 21:37:15 +02:00
iabdalkader
c10fc56f44 MLX fixes.
* Alloc variables using xalloc.
* Change ADC resolution to 18 bits.
2016-05-04 21:37:10 +02:00
iabdalkader
e5cde106fb Remove MLX variables from linker script 2016-05-04 20:14:52 +02:00
iabdalkader
2b26d46f1e Fix py_fir memory issues. 2016-05-04 20:14:38 +02:00
iabdalkader
1f150c1847 Cleanup Makefile.
* Rename binary files.
* Misc cleanups
2016-05-03 19:16:43 +02:00
iabdalkader
a314b59d1a Generate a combined binary for the programming jig. 2016-05-03 16:12:52 +02:00
iabdalkader
a0d7c69cb7 Remove old CC3K code. 2016-05-02 23:11:11 +02:00
iabdalkader
d8359a99e1 Define MAIN_FW_ADDR. 2016-05-01 15:51:20 +02:00
iabdalkader
c7c3ddce63 Add DAC init in main.c
* Fix issue #121
2016-05-01 15:50:10 +02:00
iabdalkader
260caaa8e7 Fix WINC client.send() zeros data being sent.
* Issue #129
2016-04-30 23:08:23 +02:00
Kwabena W. Agyeman
fc605b0a80 Made histeg work for RGB565.
Added YUV to RGB565 conversion to make this happen.
2016-04-29 23:03:19 -04:00
iabdalkader
6b581af1b1 Add mass erase to make flash. 2016-04-29 20:32:14 +02:00
Ibrahim Abd Elkader
ebb7053040 Merge pull request #132 from kwagyeman/master
Add missing cam functionality
2016-04-28 23:58:27 +02:00
iabdalkader
0d5aaf5064 Fix USB descriptors.
* This fix makes the bootloader+fw image enumerate correctly on Linux and Windows.
2016-04-28 12:47:21 +02:00
Kwabena W. Agyeman
80cb701d3b Add missing cam functionality
Added the ability to turn AGC off. Kinda will need the ability to restore
AGC settings back to user specified ones in the future... but, this will
do for now.

Added the ability to turn AEC off. Objectively this function probably
won't be used. But, in low light situations it can help.

Added get_fb() to allow you to get the last image snapshot returned.

There was some old exposure function in the code that was getting
optimized out. So, I deleted the used methods that didn't have any code
in them and commented out the only method that did.
2016-04-27 21:53:06 -04:00
iabdalkader
794bb367ae Fix Bootloader CDC descriptors.
* Removed some unused descriptors, but mainly set the CDC interface number to (1)
  same as MP, as Windows doesn't like different interface numbers for the same device.
2016-04-27 19:38:44 +02:00
iabdalkader
8cd6fbf301 Replace pyboard and MP string descriptors. 2016-04-27 18:17:42 +02:00
iabdalkader
130fcbf162 Pass wValue to control requests. 2016-04-27 08:34:20 +02:00
iabdalkader
cadb73eb5e Fix Makefile build order. 2016-04-26 22:58:07 +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
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
Kwabena W. Agyeman
bb9d79d744 Fixed dilate.
This was bugged. Tested and now works.
2016-04-21 13:11:38 -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
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
Kwabena W. Agyeman
8a2852b706 Fixed file buffer bug.
This wasn't getting reinited breaking the system.
2016-04-14 23:56:54 -04: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
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