aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-10-06py: Make mp_binary_set_val work on big endian machine.Damien George
2014-10-06py: Make int.to_bytes work on big endian machine.Damien George
Partly addresses issue #856.
2014-10-06py: Try to autodetect machine endianness when not defined by port.Damien George
2014-10-05tests: Add check for micropython.native and then skip relevant tests.Damien George
If micropython.native decorator doesn't compile, then we skill all native/viper tests. This patch also re-enables the ujson_loads test on NT. Addresses issue #861, and partially addresses issue #856.
2014-10-05unix: Detect and print compile error.Damien George
2014-10-05stmhal: Use mp_uint_t where appropriate.Damien George
Found these by compiling stmhal with mp_uint_t of type uint32_t instead of unsigned int. This actually makes a difference to the code, but just a curiosity.
2014-10-05py: Implement proper context save/restore for eval/exec; factor code.Damien George
This has benefits all round: code factoring for parse/compile/execute, proper context save/restore for exec, allow to sepcify globals/locals for eval, and reduced ROM usage by >100 bytes on stmhal and unix. Also, the call to mp_parse_compile_execute is tail call optimised for the import code, so it doesn't increase stack memory usage.
2014-10-05py: Make compiler return a proper exception on SyntaxError.Damien George
2014-10-05stmhal: Add config option to disable/enable CAN driver.Damien George
2014-10-05stmhal, timer: Fix timer.chanel so mode can be a keyword.Damien George
2014-10-05stmhal, timer: Improve accuracy of freq computation.Damien George
2014-10-05stmhal, timer: Set freq from float; get timer source freq.Damien George
Timers now have the following new features: - can init freq using floating point; eg tim.init(freq=0.1) - tim.source_freq() added to get freq of timer clock source - tim.freq() added to get/set freq - print(tim) now prints freq
2014-10-05tests: Make printing of floats hopefully more portable.Damien George
2014-10-05Merge pull request #891 from stinos/windows-testsDamien George
windows tests fixes
2014-10-05Exclude some tests which always fail on windowsstijn
2014-10-04Enable unicode for Windows port so unicode tests give correct uPy outputstijn
2014-10-04stmhal: Allow pyb.freq() function to change SYSCLK frequency.Damien George
Eg pyb.freq(120000000) sets the CPU to 120MHz. The frequency can be set at any point in the code, and can be changed as many times as you like. Note that any active timers will need to be reconfigured after a freq change. Valid range is 24MHz to 168MHz (but not all freqs are supported). The code maintains a 48MHz clock for the USB at all times and it's possible to change the frequency at a USB REPL and keep the REPL alive (well, most of the time it stays, sometimes it resets the USB for some reason). Note that USB does not work with pyb.freq of 24MHz.
2014-10-04stmhal: Adjust computation of SYSCLK to retain precision.Damien George
2014-10-04Merge pull request #889 from Vogtinator/masterDamien George
Implement missing ARM emitter functions for viper
2014-10-04Implement missing ARM emitter functions for viperFabian Vogt
2014-10-03py: Fix unix-cpy to compile with uint->mp_uint_t changes.Damien George
2014-10-03py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places.Damien George
This should pretty much resolve issue #50.
2014-10-03py: Use UINT_FMT instead of %d.Damien George
2014-10-03py: Convert [u]int to mp_[u]int_t where appropriate.Damien George
Addressing issue #50.
2014-10-02drivers: Add NRF24L01 driver (written in pure Python).Damien George
Comes with test script. Copy both files to pyboard and run "import nrf24l01test".
2014-10-02tests: Add simple CAN test.Damien George
2014-10-02stmhal: Add basic CAN bus support.Damien George
2014-10-02stmhal: Set is_enabled=false when creating UART object; fix doc typo.Damien George
2014-10-02stmhal: Update help text.Damien George
Remove reference to pyb.gc; add reference to pyb.millis. There are lots of functions not listed when you run help(), but it would be too much to list them all, so we list only some basic, useful ones. Addresses issue #846.
2014-10-01Enable device keyword option when running pyboard.py --tests and run-tests ↵blmorris
--pyboard
2014-10-01unix: Do a proper clean-up on sys.exit/SystemExit.Damien George
Addresses issue #859.
2014-10-01Proposed fix for USB Mass Storage.Dave Hylands
2014-09-30tools: Add network build to auto-build script.Damien George
2014-09-30stmhal: Enable patch_program in cc3k driver, with key.Damien George
2014-09-30stmhal: Fix wiznet5k init of SPI bus.Damien George
2014-09-30drivers, cc3000: Wrap exported functions in a macro for renaming.Damien George
2014-09-30drivers, wiznet5k: Wrap exported functions in a macro for renaming.Damien George
3rd party drivers should not export generic names like "close".
2014-09-30stmhal: Add network and usocket module.Damien George
As per issue #876, the network module is used to configure NICs (hardware modules) and configure routing. The usocket module is supposed to implement the normal Python socket module and selects the underlying NIC using routing logic. Right now the routing logic is brain dead: first-initialised, first-used. And the routing table is just a list of registered NICs. cc3k and wiznet5k work, but not at the same time due to C name clashes (to be fixed). Note that the usocket module has alias socket, so that one can import socket and it works as normal. But you can also override socket with your own module, using usocket at the backend.
2014-09-30stmhal: For spi_init, add argument to select if NSS pin is enabled.Damien George
Most of the time you don't use the NSS pin of the SPI bus, and so it shouldn't be enabled by default (this gave some bugs in the past).
2014-09-30py: Remove IOError since it's deprecated; use OSError instead.Damien George
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-29py: Allow x86-64 to mov r16 to rm16 with extended src reg.Damien George
Fixes bug with x86-64 viper ptr16.
2014-09-29py: Fix viper store on x86; add tests for viper ptr16.Damien George
2014-09-29py: Add casting to viper; add native mem stores to viper.Damien George
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-29tests: Add tests for viper binary operations.Damien George
2014-09-29py: Implement more binary ops for viper emitter.Damien George
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-29py: Allow viper to use ints as direct conditionals in jumps.Damien George
Allows things like: if 1: ...
2014-09-29py: Fix types, uint -> mp_uint_t.Damien George
2014-09-29py: Make macro names in assemblers consistent, and tidy up a bit.Damien George
2014-09-29py: Add store r8 and store r16 ops to asm_x86 and asm_x64.Damien George
2014-09-29py: In asmthumb, clean up unit/int types and ite ops.Damien George