- 09 Feb, 2016 3 commits
-
-
Paul Sokolovsky authored
Per the previously discussed plan. mount() still stays backward-compatible, and new mkfs() is rought and takes more args than needed. But is a step in a forward direction.
-
Damien George authored
-
Damien George authored
This allows you to pass a number (being an address) to a viper function that expects a pointer, and also allows casting of integers to pointers within viper functions. This was actually the original behaviour, but it regressed due to native type identifiers being promoted to 4 bits in width.
-
- 08 Feb, 2016 3 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
-
Alex March authored
-
- 06 Feb, 2016 8 commits
-
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
If MICROPY_VFS_FAT is defined, mp_type_fileio & mp_type_textio won't be defined, as these may be alredy defined elsewhere. The idea is to have compartmentalized VFS FatFs class, which can work in parallel with some other "main" filesystem. E.g., for unix port, mp_type_fileio, etc. will be defined for the main POSIX filesystem, while stmhal/file.c will be a self-contained VFS file class.
-
Paul Sokolovsky authored
Move definition of mp_builtin_open_obj to a separate module, then file.c becomes more or less compartmentalized FatFs file class, which can be used together with file class implementations for other (V)FSes.
-
Paul Sokolovsky authored
Don't repeat MP_STATE_PORT(fs_user_mount), use local var.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
That's not true e.g. on Linux.
-
Paul Sokolovsky authored
-
Paul Sokolovsky authored
To allow to reuse stmhal/diskio for ports which don't have flash but have other storage devices.
-
- 03 Feb, 2016 2 commits
-
-
Damien George authored
This function computes (x**y)%z in an efficient way. For large arguments this operation is otherwise not computable by doing x**y and then %z. It's currently not used, but is added in case it's useful one day.
-
Doug Currie authored
For these 3 bitwise operations there are now fast functions for positive-only arguments, and general functions for arbitrary sign arguments (the fast functions are the existing implementation). By default the fast functions are not used (to save space) and instead the general functions are used for all operations. Enable MICROPY_OPT_MPZ_BITWISE to use the fast functions for positive arguments.
-
- 02 Feb, 2016 5 commits
-
-
Damien George authored
Before this patch, the native types for uint and ptr/ptr8/ptr16/ptr32 all overlapped and it was possible to make a mistake in casting. Now, these types are all separate and any coding mistakes will be raised as runtime errors.
-
Damien George authored
-
Damien George authored
-
Peter Hinch authored
-
- 01 Feb, 2016 3 commits
-
-
Paul Sokolovsky authored
Fixes use of uninitialized structure field by tinf_uncompress().
-
Damien George authored
Fixes issue #1812.
-
Damien George authored
-
- 31 Jan, 2016 1 commit
-
-
Damien George authored
-
- 30 Jan, 2016 3 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
Previous to this patch the DMA was setup and then the I2C address sent. If the I2C address sending failed (eg no I2C device on the bus) then the DMA was left in an inconsistent state. This patch moves the DMA setup to after a successful sending of the I2C address(es). See issue #1765.
-
- 29 Jan, 2016 7 commits
-
-
Damien George authored
-
Damien George authored
-
Damien George authored
USB CDC no longer needs TIM3 (which was originally used for LED(4) PWM) and so TIM3 has been freed for general purpose use by the user. Hence LED(4) lost its PWM capabilities. This patch reinstates the PWM capabilities using a semi-generic piece of code which allows to configure a timer and PWM channel to use for any LED. But the PWM capability is only configured if the LED is set to an intensity between 1 and 254 (ie only when needed). In that case the relevant timer is configured for PWM. It's up to the user to make sure the timers are not used if PWM is active. This patch also makes sure that PWM LEDs are turned off using standard GPIO when calling led.off() or led.intensity(0), instead of just setting the PWM counter to zero.
-
Damien George authored
TIM3 is no longer used by USB CDC for triggering outgoing data, so we can now make it available to the user. PWM fading on LED(4) is now gone, but will be reinstated in a new way.
-
Damien George authored
Previous to this patch the USB CDC driver used TIM3 to trigger the sending of outgoing data over USB serial. This patch changes the behaviour so that the USB SOF interrupt is used to trigger the processing of the sending. This reduces latency and increases bandwidth of outgoing data. Thanks to Martin Fischer, aka @hoihu, for the idea and initial prototype. See PR #1713.
-
Damien George authored
For single prec, exponents never get larger than about 37. For double prec, exponents can be larger than 99 and need 3 bytes to format. This patch makes the number of bytes needed configurable. Addresses issue #1772.
-
Paul Sokolovsky authored
Calling it from mp_init() is too late for some ports (like Unix), and leads to incomplete stack frame being captured, with following GC issues. So, now each port should call mp_stack_ctrl_init() on its own, ASAP after startup, and taking special precautions so it really was called before stack variables get allocated (because if such variable with a pointer is missed, it may lead to over-collecting (typical symptom is segfaulting)).
-
- 28 Jan, 2016 3 commits
-
-
Paul Sokolovsky authored
-
Dave Hylands authored
When using newer glibc's the compiler automatically sets _FORTIFY_SOURCE when building with -O1 and this causes a special inlined version of printf to be declared which then bypasses our version of printf.
-
Damien George authored
MP_BC_NOT was removed and the "not" operation made a proper unary operator, and the opcode format table needs to be updated to reflect this change (but actually the change is only cosmetic).
-
- 27 Jan, 2016 2 commits
-
-
Paul Sokolovsky authored
-
Damien George authored
Supported return types are: object, bool, int, uint. For example: @micropython.asm_thumb def foo(r0, r1) -> uint: add(r0, r0, r1)
-