Damien George
8b03d944e2
py: Remove IOError since it's deprecated; use OSError instead.
...
In CPython IOError (and EnvironmentError) is deprecated and aliased to
OSError. All modules that used to raise IOError now raise OSError (or a
derived exception).
In Micro Python we never used IOError (except 1 place, incorrectly) and
so don't need to keep it.
See http://legacy.python.org/dev/peps/pep-3151/ for background.
2014-09-30 13:59:30 +00:00
Damien George
1c6a1dc740
py: Allow x86-64 to mov r16 to rm16 with extended src reg.
...
Fixes bug with x86-64 viper ptr16.
2014-09-29 22:44:18 +01:00
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