Commit Graph

88 Commits

Author SHA1 Message Date
iabdalkader
6ae6ce0cf7 Reorder init functions. 2017-09-23 15:45:15 +02:00
iabdalkader
ace083430f Init USB before sensor init to log errors. 2017-09-23 15:00:50 +02:00
iabdalkader
07b7fb1f21 Update main.c for MP 1.9. 2017-09-21 16:58:57 +02:00
iabdalkader
c8d7a4188f Update built-in README. 2017-06-09 01:00:06 +02:00
iabdalkader
5887129a0a Remove inf file from fresh FS. 2017-06-09 00:30:13 +02:00
iabdalkader
4af10aaa2e Fix RTC init. 2017-06-07 22:59:42 +02:00
iabdalkader
7616e487f9 Handle CTRL+D/C/A just like MP boards. 2017-02-23 15:20:14 +02:00
iabdalkader
f7c49cc01d Add CAN init0/deinit in main.c 2017-02-23 15:16:04 +02:00
Kwabena W. Agyeman
c4b4a86100 Add flag for SWD programmer.
It can now check if the self-test passed.
2017-01-29 19:54:45 -05:00
iabdalkader
c9806c0588 Allow the IDE to interrupt main.py 2017-01-13 03:14:07 +02:00
iabdalkader
66a7330d1e Add comment about write buffer. 2017-01-12 17:29:59 +02:00
iabdalkader
b4aeb32e1b Add build option to enable stack protection. 2016-11-15 19:07:50 +02:00
iabdalkader
890d27d1dd Cleanup USBDBG code. 2016-11-15 18:53:34 +02:00
iabdalkader
60dc3f7e91 Remove ToF module. 2016-10-10 16:53:02 +02:00
iabdalkader
b665c65ed6 Rename mdefs.h to common.h 2016-08-30 22:37:04 +02:00
iabdalkader
4b07286284 Update colorbars test.
* Invert colorbars for OV7725.
* Increase colorbars thresholds.
2016-08-23 22:37:47 +02:00
iabdalkader
1cbcb7e434 Add M7 support 2016-08-12 22:43:50 +02:00
iabdalkader
0363fa8758 Add ToF module. 2016-07-27 15:21:33 +03:00
iabdalkader
39f439cda5 Fix the base priority when doing a soft-reset 2016-05-16 14:26:48 +02:00
iabdalkader
ba73787c8a Use MicroPython's SD Card Module. 2016-05-11 18:46:38 +02:00
iabdalkader
9a5992c03e Update code for MP v1.8 2016-05-09 21:46:29 +02:00
iabdalkader
c7c3ddce63 Add DAC init in main.c
* Fix issue #121
2016-05-01 15:50:10 +02:00
iabdalkader
8cd6fbf301 Replace pyboard and MP string descriptors. 2016-04-27 18:17:42 +02:00
iabdalkader
9ed107ccee Re-enable IRQs in main.c 2016-04-25 18:18:03 +02:00
iabdalkader
ef772db6c4 Up MP branch 2016-04-20 22:30:43 +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
iabdalkader
b92f146323 Add initial WINC1500 WiFi module driver.
* Note: partial implemented, based on CC3000 module (only scan, connect, ifconfig work)
2016-03-26 01:52:29 +02:00
Kwabena W. Agyeman
88907c438c Redid MLX Code
First, a few things:

The MLX 16x4 sensor has just too low of a resolution for mass appeal for
the price. The product is not going to sell very well. We need to look
into supporting sensors with a better res. Like the FLIR 1. The MLX
module was renamed to the "flir" module with this idea in mind.

The flir code now takes care of doing scaling and blending itself. I did
this to get rid of the user having to scale the image themselves and
blend themselves. Its too easy to run out of memory given our current
ultra small heap. In general, anything that requires multiple images in
RAM has got to go. When we do another OpenMV Cam with external RAM in
the MB range then maybe such functions will be safe. But, right now they
are definately not.

Anyway, moving on, I fixed a few bugs with the MLX math code. But, for
the most part was correct. I also added reconmended polling code for
brownouts as required by the datasheet.

Last, I designed this code like the LCD code to support a type value
when inited. This will allow the system to user a different sensor in the
future without any API changes to the user.

I will add test scripts for this next. Basic usage follows:

import flir
flir.init()
flir.display_ir(sensor.snapshot())

And that's it. Super easy. If the user wants the raw temp values they
can use flir.read_ir() to get the ta and to values. The display function
has a hidden alpha and scale argument for controling blending and the
min/max scaling.

The previous way we worked out scaling kinda sucked... it was a good
shot, but, controllable min and maxes that autoscale by default just
work better. If the user knows the temp range then they can just set the
min and max.'

Anyway, longest commit ever done.
2016-03-24 18:04:05 -04:00
Kwabena W. Agyeman
94910c8ed7 Move LCD code into module. It's now ultra fast, safe and friendly. I
tested everything too and added an example script (very simple).
2016-03-17 20:01:03 -04:00
iabdalkader
ebf13197a9 Disable USB IRQ before stopping script.
* This ensures that FS IRQ will never run during a soft-reset which
causes issues when using SD card.
2016-03-11 04:14:19 +02:00
iabdalkader
31697a163b Re-init storage after soft-reset. 2016-03-11 04:13:23 +02:00
iabdalkader
6cb7288def Add NORETURN to __fatal_error 2016-03-06 19:03:00 +02:00
iabdalkader
acc35704d8 Disable IRQs when doing a soft-reset. 2016-03-06 02:51:34 +02:00
iabdalkader
2ab317063d Re-exec REPL if there's no script to execute. 2016-03-06 02:39:58 +02:00
iabdalkader
3e5bfb27cc Move FatFS file buffer to main SRAM.
* Allows DMA transfers of file data.
2016-03-02 00:19:29 +02:00
iabdalkader
db667c061f Rename fb_stack to fb_alloc and call init0 in main 2016-02-17 05:24:17 +02:00
iabdalkader
70d3ffcb50 Enable selftests 2016-02-06 21:56:01 +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
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
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
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
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
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
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
aaeaff476d Delay sensor_init
* Call sensor_init after initializing USB mass storage to log errors.
2015-08-07 23:16:30 +02:00