| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
I.e. as replacement of MP_OBJ_IS_TYPE(), which takes into account subclassing.
|
| |
|
|\
| |
| | |
Support building "unix" port for ARM
|
| | |
|
| | |
|
|/
|
|
|
|
| |
Implement not, shl and shr in mpz library. Add function to create mpzs
on the stack, used for memory efficiency when rhs is a small int.
Factor out code to parse base-prefix of number into a dedicated function.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Don't need to wrap bitfields in their own struct. Compiler does the
correct thing without it.
|
| |
|
| |
|
|
|
|
| |
Also change int -> machine_int_t where appropriate.
|
|
|
|
|
| |
Some functionality is still missing (eg and, or, bit shift), and some
things are buggy (eg subtract).
|
| |
|
|
|
|
|
| |
strtonum clashes with BSD function of same name, and our version is
different so warrants a unique name. Addresses Issue #305.
|
| |
|
|
|
|
|
| |
Based on suggestion by @dpgeorge at
https://github.com/micropython/micropython/pull/313
|
|
|
|
|
|
| |
Specifically, VM's small ints are 31 bit, while parser's only 28. There's already
MP_OBJ_FITS_SMALL_INT(), so, for clarity, rename MP_FIT_SMALL_INT() to
MP_PARSE_FITS_SMALL_INT().
|
|
|
|
| |
TODO: De-duplicate DECODE_UINT, etc. definitions.
|
| |
|
|
|
|
|
|
|
| |
Assuming we have truncating (floor) division, way to do ceiling division
by N is to use formula (x + (N-1)) / N. Specifically, 63 bits, if stored
7 bits per byte, require exactly 9 bytes. 64 bits overflow that and require
10 bytes.
|
| |
|
| |
|
|\
| |
| | |
Support varlen encoding for arbitrary int and uint numbers
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Add pin mapping code.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit also introduces board directories and moves board
specific config into the appropriate board directory.
boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet
and hand-tweaked.
make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c,
and boards/BOARD-NAME/pins.csv as input and generates the file
build/pins_BOARD_NAME.c
The generated pin file for PYBOARD4 looks like this:
https://gist.github.com/dhylands/9063231
The generated pins file includes all of the supported alternate
functions, and includes upsupported alternate functions as comments.
See the commnet block at the top of stm/pin_map.c for details on
how to use the pin mapper.
I also went ahead and modified stm/gpio.c to use the pin mapper.
|
|/
|
|
|
|
|
|
| |
http://docs.python.org/3.3/library/functions.html#__import__ :
"When the name variable is of the form package.module, normally, the
top-level package (the name up till the first dot) is returned, not
the module named by name. However, when a non-empty fromlist argument
is given, the module named by name is returned."
|
| |
|
|
|
|
|
| |
This is compatible with what search path was before sys.path refactor,
with addition of module library path ("0:/lib").
|
|
|
|
|
| |
For this, record argument names along with each bytecode function. The code
still includes extensive debug logging support so far.
|
|
|
|
|
| |
In particular, unix outputs to stderr, to allow to run testsuite against
micropython built with debug output (by redirecting stderr to /dev/null).
|
| |
|
| |
|
|
|
|
|
|
| |
See http://www.python.org/dev/peps/pep-0420/#specification for spec. See
https://github.com/micropython/micropython/issues/298 for the discussion
of the implemented behavior.
|
| |
|
|
|
|
| |
Addresses issue #295.
|
| |
|
|
|
|
|
| |
Addresses issue #290, and hopefully sets up things to allow generators
throwing exceptions, etc.
|
| |
|
|
|
|
| |
Thanks to @pfalcon for the tip!
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each built-in exception is now a type, with base type BaseException.
C exceptions are created by passing a pointer to the exception type to
make an instance of. When raising an exception from the VM, an
instance is created automatically if an exception type is raised (as
opposed to an exception instance).
Exception matching (RT_BINARY_OP_EXCEPTION_MATCH) is now proper.
Handling of parse error changed to match new exceptions.
mp_const_type renamed to mp_type_type for consistency.
|
|
|
|
|
|
| |
Ultimately all static strings should be qstr. This entry in the type
structure is only used for printing error messages (to tell the type of
the bad argument), and printing objects that don't supply a .print method.
|
| |
|
|\
| |
| | |
Allow ports to define statically builtin functions.
|
| |
| |
| |
| | |
Convert unix open() to such.
|