aboutsummaryrefslogtreecommitdiff
path: root/extmod
AgeCommit message (Collapse)Author
2015-03-19extmod/crypto: Add static keyword where it should be.Damien George
2015-03-19extmod: Update uzlib to 1.2.1.Paul Sokolovsky
Fixes for compiler warnings in pedantic mode.
2015-03-18extmod: Update re1.5 to 0.7.Paul Sokolovsky
Includes static function fix and all the previous improvements and fixes by @dpgeorge.
2015-03-17extmod/ure: Fix msvc warning resulting from memset on const char ** pointerstijn
2015-03-14py, extmod: Remove include of unnecessary system headers.Damien George
2015-03-10extmod: Pull in upstream changes to re1.5; fixes bugs with regex errors.Damien George
2015-03-04extmod/ure: Correctly return None when a group has no match.Damien George
See issue #1122.
2015-02-21extmod: Pull in upstream changes to re1.5; fixes bug, adds named class.Damien George
2015-02-18extmod/modure: Make num_matches store actual number of matches.Damien George
2015-02-08py: Parse big-int/float/imag constants directly in parser.Damien George
Previous to this patch, a big-int, float or imag constant was interned (made into a qstr) and then parsed at runtime to create an object each time it was needed. This is wasteful in RAM and not efficient. Now, these constants are parsed straight away in the parser and turned into objects. This allows constants with large numbers of digits (so addresses issue #1103) and takes us a step closer to #722.
2015-02-02extmod: Make ujson.loads raise exception if given empty string.Damien George
Addresses issue #1097.
2015-01-28py: Change vstr so that it doesn't null terminate buffer by default.Damien George
This cleans up vstr so that it's a pure "variable buffer", and the user can decide whether they need to add a terminating null byte. In most places where vstr is used, the vstr did not need to be null terminated and so this patch saves code size, a tiny bit of RAM, and makes vstr usage more efficient. When null termination is needed it must be done explicitly using vstr_null_terminate.
2015-01-28moduzlib: Align out buffer to block size; shrink when decompression done.Paul Sokolovsky
2015-01-28moduzlib: Implement raw DEFLATE decoding support.Paul Sokolovsky
2015-01-26moduzlib: Update to uzlib v1.2.Paul Sokolovsky
Actually manage size of the output buffer.
2015-01-23modujson: .loads(): Handle more whitespace characters.Paul Sokolovsky
2015-01-21py: Remove mp_obj_str_builder and use vstr instead.Damien George
With this patch str/bytes construction is streamlined. Always use a vstr to build a str/bytes object. If the size is known beforehand then use vstr_init_len to allocate only required memory. Otherwise use vstr_init and the vstr will grow as needed. Then use mp_obj_new_str_from_vstr to create a str/bytes object using the vstr memory. Saves code ROM: 68 bytes on stmhal, 108 bytes on bare-arm, and 336 bytes on unix x64.
2015-01-20py, unix: Allow to compile with -Wunused-parameter.Damien George
See issue #699.
2015-01-12py, unix, lib: Allow to compile with -Wold-style-definition.Damien George
2015-01-01extmod: Prefix py/ for includes from py core directory.Damien George
2014-12-10py: Make functions static where appropriate.Damien George
2014-12-05py: Rename mp_obj_int_get to mp_obj_int_get_truncated; fix struct.pack.Damien George
mp_obj_int_get_truncated is used as a "fast path" int accessor that doesn't check for overflow and returns the int truncated to the machine word size, ie mp_int_t. Use mp_obj_int_get_truncated to fix struct.pack when packing maximum word sized values. Addresses issues #779 and #998.
2014-11-29Use MP_DEFINE_CONST_DICT macro to define module dicts.Damien George
This is just a clean-up of the code. Generated code is exactly the same.
2014-11-29modubinascii: Add, with hexlify() implementation.Paul Sokolovsky
2014-11-22moduhashlib: Integrate sha256 implementation.Paul Sokolovsky
2014-11-22moduhashlib: Add sha256 implementation from "crypto-algorithms" project.Paul Sokolovsky
https://github.com/B-Con/crypto-algorithms revision 100f4ff
2014-11-22moduhashlib: Initial module skeleton.Paul Sokolovsky
2014-11-21windows: Update config with latest featuresstijn
- update mpconfigport.h to reflect latest unix version - fix compilation error in modure due to msvc not allowing dynamic arrays
2014-10-30moductypes: Make .sizeof() work with bytearrays.Paul Sokolovsky
2014-10-30moductypes: When dereferencing a field which is array of uint8, use bytearray.Paul Sokolovsky
Because bytearrays are much friendlier to work with, e.g. they can be printed easily.
2014-10-30moductypes: Make sure we can apply .sizeof() to all aggregate types.Paul Sokolovsky
Before, sizeof() could be applied to a structure field only if that field was itself a structure. Now it can be applied to PTR and ARRAY fields too. It's not possible to apply it to scalar fields though, because as soon as scalar field (int or float) is dereferenced, its value is converted into Python int/float value, and all original type info is lost. Moreover, we allow sizeof of type definitions too, and there int is used to represent (scalar) types. So, we have ambiguity what int may be - either dereferenced scalar structure field, or encoded scalar type. So, rather throw an error if user tries to apply sizeof() to int.
2014-10-22extmod: Add uheapq module.Damien George
2014-10-17modure: Update to re1.5 v0.6.1, fixed and extended character class support.Paul Sokolovsky
2014-10-15modure: Update to re1.5 v0.6, support for char sets/classes ([a-c]).Paul Sokolovsky
2014-10-13modzlibd: Remove, superceded by moduzlib.Paul Sokolovsky
2014-10-12moduzlib: Fix fn prototype and some code style; use it in stmhal port.Damien George
2014-10-13moduzlib: Import uzlib v1.1.Paul Sokolovsky
https://github.com/pfalcon/uzlib
2014-10-13moduzlib: New zlib-like module, based on uzlib.Paul Sokolovsky
2014-10-12modure: Make sure that re1.5 compiled in only of modure itself is enabled.Paul Sokolovsky
This is achieved by including re1.5 *.c files straight from modure.c .
2014-10-12modure: Upgrade re1.5 to 0.5.1Paul Sokolovsky
Changes include: regexp.h: Add double-include protection.
2014-10-11modure: Import needed files from re1.5 v0.5.Paul Sokolovsky
https://github.com/pfalcon/re1.5
2014-10-11modure: Initial module, using re1.5 (which is based on re1 codebase).Paul Sokolovsky
https://github.com/pfalcon/re1.5
2014-10-06py: Make mp_binary_set_val work on big endian machine.Damien George
2014-09-27Fix timer overflow code.Dave Hylands
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-21extmod, ujson: Add test and comment for loads.Damien George
2014-09-21extmod, ujson: Add \uxxxx parsing in json strings.Damien George
2014-09-21extmod, ujson: Slight reduction in code size.Damien George
2014-09-21extmod: Add loads to ujson module.Damien George
2014-09-17py: Add native json printing using existing print framework.Damien George
Also add start of ujson module with dumps implemented. Enabled in unix and stmhal ports. Test passes on both.
2014-09-07Remove skeletal modselect from extmod and just put it in stmhal.Damien George