Commit Graph

8524 Commits

Author SHA1 Message Date
Glenn Ruben Bakke
3420843774 nrf5/modules/ubluepy: Remove duplication GAP event handler registration in peripheral.connect(). 2017-05-13 16:17:03 +02:00
glennrub
4584ef4ace Support address types (#18)
* nrf5/modules/ubluepy: Adding new enumeration of address types.

* nrf5/modules/ubluepy: Adding constants that can be used from micropython for public and random static address types.

* nrf5/modules/ubluepy: Adding support for optionally setting address type in Peripheral.connect(). Public address is used as default. Address types can be retrieved from 'constants'. Either constants.ADDR_TYPE_PUBLIC or constants.ADDR_TYPE_RANDOM_STATIC.

* nrf5/modules/ubluepy: Register central GAP event handler before issuing connect to a peripheral. Has to be done before connect() function as a connected event will be propergated upon successfull connection. The handler will set the connection handle which gets connect function out of the busy loop waiting for connection to succeed.

* nrf5/modules/ubluepy: Removing duplicate setting of GAP event handler in connect().
2017-05-13 16:12:14 +02:00
Glenn Ruben Bakke
0865fbd92d nrf5/modules/ubluepy: Register central GAP event handler before issuing connect to a peripheral. Has to be done before connect() function as a connected event will be propergated upon successfull connection. The handler will set the connection handle which gets connect function out of the busy loop waiting for connection to succeed. 2017-05-13 15:06:58 +02:00
Glenn Ruben Bakke
18e73d4214 nrf5/modules/ubluepy: Fixing compilation bug of wrong variable name when registering gattc event handler in ublupy peripheral connect function (central mode). 2017-05-12 20:11:30 +02:00
Glenn Ruben Bakke
96b203b729 nrf5/bluetooth: Updating makefiles with updated paths to bluetooth le components after moving files. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
3d503cf7a8 nrf5/bluetooth: Moving stack download script to drivers/bluetooth folder. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
bdaa714f85 nrf5/bluetooth: Move bluetooth driver files to drivers/bluetooth. Move bluetooth stack download script to root folder. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
e69e47bc24 nrf5/bluetooth: Guarding implementation against being linked in by surrounding it with BLUETOOTH_SD flag. Flag is only set if SD=<sdname> parameter is provided during make. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
4676e5900b nrf5/bluetooth: Moving makefile include folder and source files of bluetooth driver, ble uart and ble module to main Makefile. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
d61dcf18fb nrf5/bluetooth: Moving help_sd.h and modble.c to modules/ble. 2017-05-11 19:13:20 +02:00
Glenn Ruben Bakke
b245011259 nrf5/modules/machine: bugfix after changing to MP_ROM_PTR in machine module local dict. 2017-05-11 00:08:44 +02:00
Glenn Ruben Bakke
54656044f7 nrf5: Syncing code with upstream master and converting all module and method tables to use MP_ROM macros. Also adding explicit casting of local dicts to (mp_obj_dict_t*). 2017-05-09 22:54:58 +02:00
Glenn Ruben Bakke
00d96f5695 nrf5/modules/timer: Fixing bug in timer_find(). Function allowed to locate index out of range and started to look up in config pointer (index == size of array). 2017-05-08 23:32:42 +02:00
Glenn Ruben Bakke
1063a44ec6 nrf5/modules/timer: Remove test which is covered by timer_find() function in the line below. 2017-05-08 23:31:14 +02:00
Glenn Ruben Bakke
2cf9e3e625 nrf5/modules/timer: Adding locals dict table and adding start/stop template functions. Also adding constants for oneshot and periodic to locals dict. 2017-05-08 23:24:15 +02:00
Glenn Ruben Bakke
9e6cca66b4 nrf5/modules/timer: Adding timer module to modmachine. 2017-05-08 23:09:15 +02:00
Glenn Ruben Bakke
891bd61bf7 Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-05-08 22:21:56 +02:00
Glenn Ruben Bakke
bf79699810 nrf5/boards: Adding micro:bit default music pin definition. Also adding config flag for enabling pwm machine module. 2017-05-08 22:16:59 +02:00
Glenn Ruben Bakke
130a00fdeb nrf5/hal/timer: Adding start/stop template functions to hal_timer.h/.c 2017-05-08 22:10:02 +02:00
Glenn Ruben Bakke
64f91e01ac nrf5/Makefile: Adding drivers/pwm.c and modules/music files to the source file list. 2017-05-08 22:06:25 +02:00
Glenn Ruben Bakke
d3509517f5 nrf5/modules/music: Adding config guard in musictunes.c and adding import of mphal.h. 2017-05-08 22:05:23 +02:00
Glenn Ruben Bakke
a84ed760b5 nrf5/modules/music: Including mphal.h before config guard in modmusic.c. Also changed name on config guard to MICROPY_PY_MUSIC. Missing PWM functions during linkage will show up if PWM module has not not configured. 2017-05-08 22:03:33 +02:00
Glenn Ruben Bakke
24e902aa8f nrf5/drivers/pwm: Including mphal.h before config guard in pwm.c. 2017-05-08 22:01:47 +02:00
Glenn Ruben Bakke
cf1c6939ea nrf5: Updating mpconfigport.h to include music module as builtin. Adding new configuration for enabling music module. Activating MODULE_BUILTIN_INIT in order to run music module init function on import. 2017-05-08 22:01:05 +02:00
Glenn Ruben Bakke
c3ccef800d nrf5/modules/music: Backing up progress in music module. 2017-05-08 21:22:53 +02:00
Glenn Ruben Bakke
8d06dd3281 nrf5/drivers/pwm: Updating soft PWM driver to only be included if SOFT_PWM config is set. 2017-05-08 21:21:57 +02:00
Glenn Ruben Bakke
a4513f0159 nrf5/hal/gpio: Add function to clear output register using a pin mask. 2017-05-08 21:20:08 +02:00
Glenn Ruben Bakke
94efa02084 nrf5: Adding new configuration called MICROPY_PY_MACHINE_SOFT_PWM to mpconfigport.h. This config will enable software defined PWM using timer instead of using dedicated PWM hardware. Aimed to be used in nrf51 targets. 2017-05-08 21:14:34 +02:00
Glenn Ruben Bakke
ad6a1d9136 nrf5/boards: Removing PWM config set to 0 from pca10001 board. Config will later be re-introduced as SOFT_PWM variant. 2017-05-08 21:11:21 +02:00
Glenn Ruben Bakke
10cbc83cf0 nrf5/pwm: Updating config name of PWM to hardware PWM to prepare for introduction of soft variant. 2017-05-08 21:10:18 +02:00
Paul Sokolovsky
4a4490ffcc py/modio: resource_stream: Implement "package" param handling. 2017-05-06 18:42:35 +03:00
Paul Sokolovsky
c1e0eb7afe unix/main: Don't allow to specify too small heap size.
This will lead to crash like:

FATAL: uncaught NLR 80a5420

On x86_32, the minimum heap size is smaller, but not 2 times, so just
use value which works for x86_64.
2017-05-06 11:43:37 +03:00
Damien George
0986675451 stmhal: Convert all module and method tables to use MP_ROM macros. 2017-05-06 17:03:40 +10:00
Damien George
084824f866 tests: Move super-as-local test from cpydiff to basic tests.
It's now possible to use the name "super" as a local variable.
2017-05-06 11:01:57 +10:00
Damien George
dce7dd4259 tests/micropython: Add test for int.from_bytes with many zero bytes. 2017-05-06 10:29:09 +10:00
Damien George
58bb73e010 py/objint: In int.from_bytes, only create big-int if really needed.
This patch ensures that int.from_bytes only creates a big-int if necessary,
by checking the value for a small-int overflow as it's being parsed.
2017-05-06 10:29:09 +10:00
Tom Collins
288ea06e7c lib/utils/pyexec: Update event-driven REPL to match non-event REPL.
Don't print dupe ">>> " prompt when starting event-driven REPL.  Clear
incomplete line in transition from raw to friendly REPL.
2017-05-05 22:15:47 +10:00
Damien George
e62235f8c7 esp8266: Change default settings to mount flash at root dir. 2017-05-05 20:15:10 +10:00
Damien George
1b3e372418 tests/extmod: Add some more VFS tests. 2017-05-05 20:15:10 +10:00
Damien George
6c8b57a902 tests/extmod: Add more tests for VFS FAT. 2017-05-05 20:15:10 +10:00
Damien George
c9a3a68a49 extmod/vfs: Allow a VFS to be mounted at the root dir.
This patch allows mounting of VFS objects right at the root directory, eg
os.mount(vfs, '/').  It still allows VFS's to be mounted at a path within
the root, eg os.mount(vfs, '/flash'), and such mount points will override
any paths within a VFS that is mounted at the root.
2017-05-05 20:15:10 +10:00
Paul Sokolovsky
d4c070415a tools/upip: Upgrade to 1.2.
Memory optimizations and error handling improvements.
2017-05-05 13:12:19 +03:00
Glenn Ruben Bakke
311ae77dc0 nrf5/modules/music: Backing up progress in modmusic. 2017-05-04 00:18:05 +02:00
Paul Sokolovsky
12ea06567c tests/cpydiff/core_function_unpacking: Fill in workaround. 2017-05-04 00:48:48 +03:00
Paul Sokolovsky
92657c671f tests/cpydiff/core_import_split_ns_pkgs: Test for split namespace packages. 2017-05-03 17:16:19 +03:00
Paul Sokolovsky
3923f96dc6 tests/cpydiff/core_import_path: Test showing difference in package.__path__. 2017-05-03 12:22:53 +03:00
stijn
ab4a8618cf msvc: Workaround parser bug in older MSBuild versions
Versions prior to v14.0 have a bug in parsing item functions when used
within a condition: https://github.com/Microsoft/msbuild/issues/368.
Since commit [db9c2e3] this results in an error when building MicroPython
with for example VS2013.
Fix this by creating an intermediate property.
2017-05-03 10:41:53 +10:00
stijn
5b57ae985f mpy-cross: Fix compiler detection for including windows/fmode.c
fmode.c should only be included for builds targetting 'pure' windows, i.e.
msvc or mingw builds but not when using msys or cygwin's gcc (see #2298).
Just checking if the OS is windows and UNAME doesn't have msys stil leaves
the gate open for builds with cygwin's gcc since UNAME there is e.g.
CYGWIN_NT-6.1-WOW.
Fix this by checking for 'mingw' explicitly in the compiler version; both
gcc and clang have the -dumpmachine flag so the check should be ok for
all platforms.
2017-05-03 10:37:51 +10:00
Paul Sokolovsky
7d4ba9d257 tests/io/resource_stream: Add test for uio.resource_stream(). 2017-05-03 01:47:14 +03:00
Paul Sokolovsky
d7da2dba07 py/modio: Implement uio.resource_stream(package, resource_path).
The with semantics of this function is close to
pkg_resources.resource_stream() function from setuptools, which
is the canonical way to access non-source files belonging to a package
(resources), regardless of what medium the package uses (e.g. individual
source files vs zip archive). In the case of MicroPython, this function
allows to access resources which are frozen into the executable, besides
accessing resources in the file system.

This is initial stage of the implementation, which actually doesn't
implement "package" part of the semantics, just accesses frozen resources
from "root", or filesystem resource - from current dir.
2017-05-03 01:47:08 +03:00