Damien George
dfef4249eb
py: Fix viper store on x86; add tests for viper ptr16.
2014-09-29 21:41:41 +00:00
Damien George
e9dac3b4d0
py: Add casting to viper; add native mem stores to viper.
...
Viper can now do the following:
def store(p:ptr8, c:int):
p[0] = c
This does a store of c to the memory pointed to by p using a machine
instructions inline in the code.
2014-09-29 22:10:41 +01:00
Damien George
44c96b2314
tests: Add tests for viper binary operations.
2014-09-29 19:42:06 +01:00
Damien George
3112cde900
py: Implement more binary ops for viper emitter.
...
This included a bit of restructuring of the assembler backends. Note
that the ARM backend is missing a few functions and won't compile.
2014-09-29 19:42:06 +01:00
Damien George
6f81348fa2
py: Allow viper to use ints as direct conditionals in jumps.
...
Allows things like: if 1: ...
2014-09-29 19:42:06 +01:00
Damien George
a7329615eb
py: Fix types, uint -> mp_uint_t.
2014-09-29 19:42:06 +01:00
Damien George
0b610de017
py: Make macro names in assemblers consistent, and tidy up a bit.
2014-09-29 19:42:06 +01:00
Damien George
d66e48662b
py: Add store r8 and store r16 ops to asm_x86 and asm_x64.
2014-09-29 19:42:06 +01:00
Damien George
851f15f34c
py: In asmthumb, clean up unit/int types and ite ops.
2014-09-29 19:42:06 +01:00
Damien George
860805aae7
unix: Remove unnecessary #defines from config.
2014-09-29 19:41:49 +01:00
Damien George
41249e17c3
stmhal, fatfs: Use stdlib for string fns; make all private fns static.
...
We save some code bytes by using builtin string functions.
2014-09-29 15:26:46 +01:00
Damien George
3a2795e200
stmhal: Add label to internal flash drive on creation.
2014-09-29 15:26:11 +01:00
Damien George
f042d7a4d7
stmhal: Fix edge case for timer PWM of 100%.
...
Also improve precision of calculating PWM percent in integer mode.
Also update teensy with edge case fix.
2014-09-29 14:15:01 +01:00
Damien George
853708738e
Merge pull request #881 from dhylands/elapsed
...
Added pyb.elapsed_millis and pyb.elapsed_micros
2014-09-29 12:42:31 +01:00
Damien George
6e2051377f
Merge pull request #880 from dhylands/irq-align
...
teensy: Enable 8-byte stack alignment for IRQ Handlers.
2014-09-29 12:22:53 +01:00
Damien George
305c4d49be
Merge pull request #878 from bvernoux/master
...
Fix error: unknown type name 'size_t'
2014-09-29 12:22:16 +01:00
Damien George
bf683e6b32
Merge pull request #877 from dhylands/timer-overflow
...
Fix timer overflow code.
2014-09-29 12:18:48 +01:00
Dave Hylands
a21f56b2d5
Added pyb.elapsed_millis and pyb.elapsed_micros
...
tested using:
stmhal: https://github.com/dhylands/upy-examples/blob/master/elapsed.py
teensy: https://github.com/dhylands/upy-examples/blob/master/teensy/elapsed.py
2014-09-28 11:24:44 -07:00
Dave Hylands
ada691e704
teensy: Enable 8-byte stack alignment for IRQ Handlers.
2014-09-28 10:17:44 -07:00
bvernoux
f6f248b464
Fix error: unknown type name 'size_t'
2014-09-28 09:54:35 +02:00
Dave Hylands
39296b40d4
Fix timer overflow code.
...
Teensy doesn't need to worry about overflows since all of
its timers are only 16-bit.
For PWM, the pulse width needs to be able to vary from 0..period+1
(pulse-width == period+1 corresponds to 100% PWM)
I couldn't test the 0xffffffff cases since we can't currently get a
period that big in python. With a prescaler of 0, that corresponds
to a freq of 0.039 (i.e. cycle every 25.56 seconds), and we can't
set that using freq or period.
I also tested both stmhal and teensy with floats disabled, which
required a few other code changes to compile.
2014-09-27 19:40:37 -07:00
Damien George
f90b59e610
stmhal, modcc3k: Add ioctl to cc3k sockets so select works.
2014-09-26 13:52:41 +00:00
Damien George
133b083b89
py: Clean up nlr*.S to make it easier to read; fix clang .bss error.
...
It seems that newer versions of clang don't like the .bss directive, so
we don't use it for OSX.
Addressing issues #865 and #875 .
2014-09-26 13:07:26 +00:00
Damien George
b766e79510
stmhal: Initial implementation of cc3k module and driver.
...
Pulled in and modified work done by mux/iabdalkader on cc3k driver, from
iabdalkader-cc3k-update branch. That branch was terribly messy and had
too many conflicts to merge neatly.
2014-09-26 00:57:26 +01:00
Damien George
f996d8854f
drivers, cc3k: Move cc3000 driver from stmhal to drivers directory.
2014-09-26 00:56:45 +01:00
Damien George
55a5b80793
docs: Make images and youtube video links work for LCD and AMP docs.
...
Images are currently served from micropython.org/static. I don't know
if there is a better way to handle images.
2014-09-25 19:42:27 +01:00
Damien George
cde0ca21bf
py: Simplify JSON str printing (while still conforming to JSON spec).
...
The JSON specs are relatively flexible and allow us to use one function
to print strings, be they ascii, bytes or utf-8 encoded.
2014-09-25 17:35:56 +01:00
Damien George
d19c256656
docs: Imported tutorials from previous documentation system.
2014-09-25 17:23:06 +01:00
Damien George
6162bea5b2
docs: Initial commit of Sphinx documentation framework.
2014-09-25 17:23:06 +01:00
blmorris
4f449120e1
Change allows tests/unix/ffi_float.py to pass on OSX
2014-09-25 16:31:30 +01:00
Damien George
2234c3f23d
tests: Add test for exception matching of a tuple of exceptions.
2014-09-25 15:49:26 +01:00
Damien George
4bcd04bcad
py: Tidy up exception matching; allow matching of tuple of exceptions.
...
Addresses issue #864 .
2014-09-25 15:49:26 +01:00
Damien George
16ef60fba6
Updated CODECONVENTIONS to clarify use of integer types.
2014-09-25 15:49:26 +01:00
Damien George
b0261341d3
py: For malloc and vstr functions, use size_t exclusively for int type.
...
It seems most sensible to use size_t for measuring "number of bytes" in
malloc and vstr functions (since that's what size_t is for). We don't
use mp_uint_t because malloc and vstr are not Micro Python specific.
2014-09-25 15:49:26 +01:00
Damien George
ac04a8a56a
stmhal: Enable 8-byte stack alignment for IRQ handlers.
2014-09-25 15:47:53 +01:00
Damien George
e8ea0724da
stmhal, timer: Factor code to compute PWM percent; improve 32bit case.
...
Also do the same for teensy timer code.
2014-09-25 15:44:10 +01:00
Damien George
3fafe730d3
Merge pull request #868 from dhylands/fix-teensy-float
...
Add pulse_width_percent to teensy.
2014-09-25 14:51:44 +01:00
Dave Hylands
53d5fa641f
Add pulse_width_percent to teensy.
...
Fix stmhal and teensy print routines to report actual prescaler an period.
Fix teensy build to use soft-float
Add USE_ARDUINO_TOOLCHAIN option to teensy build
2014-09-23 23:19:36 -07:00
Damien George
52b5d76a6b
py: Free non-interned strings in the parser when not needed.
...
mp_parse_node_free now frees the memory associated with non-interned
strings. And the parser calls mp_parse_node_free when discarding a
non-used node (such as a doc string).
Also, the compiler now frees the parse tree explicitly just before it
exits (as opposed to relying on the caller to do this).
Addresses issue #708 as best we can.
2014-09-23 15:31:56 +00:00
Damien George
d6230f62c7
py: Make native emitter handle multi-compare and not/is not/not in ops.
2014-09-23 14:15:45 +00:00
Damien George
96e20c600f
tests: Fix uctypes tests to run on 64bit arch; enable more native tests.
2014-09-23 14:15:45 +00:00
Damien George
5a5555e385
Merge pull request #869 from stinos/windows-up
...
windows: Enable input(), sys.maxsize(), ujson module, emergency exceptio...
2014-09-23 14:58:52 +01:00
Damien George
9f53275042
Merge pull request #871 from blmorris/osx_build_fix
...
Fix unix/Makefile to build on OSX
2014-09-23 14:57:14 +01:00
blmorris
fa6567a39f
Clean up logical flow for setting LDFLAGS to build for Linux and OSX
...
Add more specific comments describing what is going on.
2014-09-23 09:42:18 -04:00
Damien George
eaaebf3291
stmhal: Initialise stack pointer correctly.
...
Stack is full descending and must be 8-byte aligned. It must start off
pointing to just above the last byte of RAM.
Previously, stack started pointed to last byte of RAM (eg 0x2001ffff)
and so was not 8-byte aligned. This caused a bug in combination with
alloca.
This patch also updates some debug printing code.
Addresses issue #872 (among many other undiscovered issues).
2014-09-23 10:59:05 +01:00
blmorris
8afb9b3863
Incorporate change in assignment logic suggested by dhylands
2014-09-22 23:00:42 -04:00
blmorris
1fae787493
Fix unix/Makefile to build on OSX
...
Force OSX to compile with clang even if gcc is available
Change LDFLAGS syntax to be compatible with clang
Fix questionable syntax on line 90
Remove extraneous tab character
2014-09-22 15:16:14 -04:00
stijn
8c41920a90
windows: Enable input(), sys.maxsize(), ujson module, emergency exception buf, os module
2014-09-22 11:10:27 +02:00
Damien George
2c180f7ccc
extmod, ujson: Add test and comment for loads.
2014-09-21 23:43:03 +01:00
Damien George
df1e92ba3a
extmod, ujson: Add \uxxxx parsing in json strings.
2014-09-21 23:43:03 +01:00