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
Damien George
fa2f1f72e0
extmod, ujson: Slight reduction in code size.
2014-09-21 23:43:03 +01:00
Damien George
89e4657c69
extmod: Add loads to ujson module.
2014-09-21 23:43:03 +01:00
Damien George
c95359ecc6
Merge branch 'dhylands-timer-pwm2'
2014-09-21 22:56:07 +01:00
Damien George
0e58c5810d
stmhal: Add pulse_width_ratio to timer channel object.
...
This allows to set the pulse width (for PWM mode) as a ratio relative to
the period of the timer. Eg, 0.5 is a 50% duty cycle. You can set the
ratio in the channel init, or using channel.pulse_width_ratio; the
latter can also read the pulse width as a ratio.
2014-09-21 22:54:02 +01:00
Dave Hylands
becbc87fd7
Add Timer support (PWM, OC, IC) for stmhal and teensy
2014-09-19 09:26:13 -07:00
Damien George
2842945e76
stmhal: Fix bugs in documentation so it compiles.
2014-09-17 23:27:42 +00:00
Damien George
8bb44f69f2
lib: Add basic README.
2014-09-18 00:13:03 +01:00
Damien George
3d61528fe7
py: Add 'builtins' module.
2014-09-17 23:17:26 +01:00
Damien George
612045f53f
py: Add native json printing using existing print framework.
...
Also add start of ujson module with dumps implemented. Enabled in unix
and stmhal ports. Test passes on both.
2014-09-17 22:56:34 +01:00
Damien George
8a9b999f1c
py: Make dict use a bit less RAM when iterating; properly del values.
...
Heap RAM was being allocated to print dicts and do some other types of
iterating. Now these iterations use 1 word of state on the stack.
Deleting elements from a dict was not allowing the value to be reclaimed
by the GC. This is now fixed.
2014-09-17 15:53:03 +01:00
Damien George
1d7fb82f0a
stmhal: Change 64-bit arithmetic to 32-bit for SD card block addressing.
...
By measuring SD card addresses in blocks and not bytes, one can get away
with using 32-bit numbers.
This patch also uses proper atomic lock/unlock around SD card
read/write, adds SD.info() function, and gives error code for failed
read/writes.
2014-09-15 23:49:57 +01:00
Felix Domke
6ff42c54bb
stmhal/sdcard.c: add pyb.SD.write
2014-09-15 22:34:16 +01:00
Felix Domke
09de030651
stmhal/hal/src/stm32f4xx_hal_sd.c: fix SDHC card capacity
2014-09-15 22:34:07 +01:00
Damien George
d4a799f152
py: Make asm_arm_less_op take destination register as first arg.
...
This gets ARM native emitter working againg and addresses issue #858 .
2014-09-15 16:39:24 +01:00
Damien George
b92cbe6129
py: Move definition of mp_sys_exit to core.
...
sys.exit always raises SystemExit so doesn't need a special
implementation for each port. If C exit() is really needed, use the
standard os._exit function.
Also initialise mp_sys_path and mp_sys_argv in teensy port.
2014-09-15 15:53:09 +01:00
Damien George
83695596ed
py: Fix build error when float disabled; add test for divmod.
2014-09-13 19:58:18 +01:00
Damien George
8594ce2280
py: Implement divmod, % and proper // for floating point.
...
Tested and working on unix and pyboard.
2014-09-13 18:43:09 +01:00
Damien George
5c6783496d
Merge branch 'iabdalkader-memcpy'
2014-09-13 00:13:28 +01:00
Damien George
32781cce6d
stmhal: Slightly improved memcpy; memset uses word store when aligned.
2014-09-13 00:12:41 +01:00
Damien George
5792500ccc
Merge branch 'memcpy' of github.com:iabdalkader/micropython into iabdalkader-memcpy
2014-09-12 23:23:49 +01:00
Damien George
bb29546868
py: Load strings as objects when compiling viper.
...
Eventually, viper wants to be able to use raw pointers to strings and
arrays for efficient access. But for now, let's just load strings as a
Python object so they can be used as normal. This will anyway be
compatible with eventual intended viper behaviour.
Addresses issue #857 .
2014-09-12 23:15:06 +01:00
Damien George
89ab3be0b1
Merge branch 'master' of github.com:micropython/micropython
2014-09-11 22:28:58 +01:00
Damien George
20beff9ae3
py and libm: Add asinf,acosf; print higher precision for float.
...
Also use less stack space when printing single precision float.
Addition of asinf and acosf addresses issue #851 .
2014-09-11 22:24:45 +01:00
Damien George
5f0c18e583
Merge pull request #852 from techno/staccel_LIS3DSH
...
Add LIS3DSH accelometer support to staccel.py
2014-09-11 20:36:44 +01:00
iabdalkader
d60580eb5e
Optimize memcpy more
2014-09-11 19:01:48 +02:00
Hirotaka Kawata
2b4af54992
Add LIS3DSH accelometer support to staccel.py
2014-09-11 16:40:53 +09:00
iabdalkader
81b2ddf5d1
Memcpy: copy words
2014-09-11 07:49:21 +02:00
Damien George
953074315e
py: Enable struct/binary-helper to parse q and Q sized ints.
...
Addresses issue #848 .
2014-09-10 22:10:33 +01:00
Damien George
6eae861685
py: Put define of x86 argument registers in asmx86.h.
2014-09-08 22:16:35 +00:00
Damien George
7ff996c237
py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files.
...
Towards resolving issue #50 .
2014-09-08 23:05:16 +01:00
Damien George
377b80b624
py: Print imported module's location (__file__) if available.
2014-09-08 10:45:23 +01:00
Damien George
5c00757a5c
stmhal: uart ioctl uses EINVAL, and checks TXE bit for write-ability.
2014-09-07 20:57:18 +01:00
Damien George
013d53c0b4
Remove skeletal modselect from extmod and just put it in stmhal.
2014-09-07 20:42:01 +01:00
Damien George
e2a618615d
stmhal: Fix modselect so non-hashable objects can be polled.
2014-09-07 20:41:09 +01:00
Damien George
c7687ad7e6
py: Rename mp_builtin_id to mp_obj_id and make it public.
2014-09-07 20:41:09 +01:00
Damien George
a2f55fe12b
stmhal: Add polling ability to UART object.
2014-09-07 20:40:32 +01:00
Damien George
6c9c7bc75a
stmhal: Implement generic select.select and select.poll.
2014-09-07 20:40:32 +01:00
Damien George
c8c44a4c2e
py: Add ioctl method to stream protocol; add initial modselect.
2014-09-07 20:40:10 +01:00
Damien George
8105736982
py: Clean up x86-64 native assembler; allow use of extended regs.
...
Native x86-64 now has 3 locals in registers.
2014-09-07 01:06:19 +01:00
Damien George
25d904105c
py: Adjust regs for x86 so that 1 more local can live in a reg.
2014-09-06 23:24:32 +00:00
Damien George
91fe0d4880
unix: Fix modffi to be able to return double on x86 machines.
2014-09-06 23:04:42 +00:00
Damien George
03281b3850
py: Allow x86 native functions to take arguments.
...
Fix some bugs with x86 stack and saving registers correctly.
2014-09-06 22:38:50 +00:00
Damien George
c90f59ec3a
py: Add support for emitting native x86 machine code.
2014-09-06 23:06:36 +01:00
Damien George
33b50a0217
Merge branch 'master' of github.com:micropython/micropython
2014-09-06 18:39:39 +01:00