Commit Graph

8682 Commits

Author SHA1 Message Date
Glenn Ruben Bakke ea95dcba4d nrf5/hal/timer: Update timer hal to use value provided in init to configure the irq_priority. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke c28e94b534 nrf5/modules/machine: Reserving timer0 instance for bluetooth if compiled in. Leaving timer1 and timer2 for application. Note that music module soft-pwm will also occupy timer1 if enabled. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke 6ddaba532a nrf5/modules/machine: Updating timer module to use new hal. Adding new parameters to the init to set period, mode and callback. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke f49f20a24e nrf5/hal/timer: Implementing hal_timer to 1us prescaler. Multiplier inside to get to millisecond resolution. Callback must be registered before starting a timer. 2017-06-02 19:21:51 +02:00
Glenn Ruben Bakke ac7fae2e0a nrf5: Makefile cleanup. Removing duplicate include and unused netutils.c used by BLE 6lowpan network which has been removed for now. 2017-06-02 19:19:55 +02:00
Glenn Ruben Bakke daf3474247 nrf5/modules/machine: Indention fix in uart module. 2017-06-02 19:18:21 +02:00
Glenn Ruben Bakke ad1076b206 nrf5/modules/machine: Removing unused code from uart module. 2017-06-02 19:18:21 +02:00
Glenn Ruben Bakke e07088ce23 nrf5/examples: Adding some notes on which pin layout that has been used in the seeed_tft.py ILI9341 driver for driving the display. 2017-05-29 23:09:53 +02:00
Glenn Ruben Bakke 94b94d7ff4 nrf5/examples: Shorten name on seeedstudio_tft_shield_v2.py to seeed_tft.py. 2017-05-29 23:09:53 +02:00
Glenn Ruben Bakke 0bce2ea74a nrf5/examples: Updating ili9341 example to use new Frambuffer object instead of legacy Framebuffer1. 2017-05-29 23:09:53 +02:00
Glenn Ruben Bakke 8b9f14244d nrf5/examples: Removing seeed.py which used a lcd mono framebuffer has been removed. 2017-05-29 22:03:18 +02:00
Matt Trentini 7dac28575d Adding a README for the nRF5 port 2017-05-29 21:37:39 +02:00
Glenn Ruben Bakke 95b01db098 nrf5/examples: Updating documentation in SDCard module example. Correcting typo and adding SD card wireing documentation for direct SPI connection. 2017-05-28 22:42:45 +02:00
Glenn Ruben Bakke 5fb937f147 nrf5/modules/pin: Adding on() and off() methods to Pin object to be forward compatible with upstream master. Legacy high() and low() methods are kept. 2017-05-28 21:11:03 +02:00
Glenn Ruben Bakke 933507e980 Merge remote-tracking branch 'upstream/master' into nrf5_no_sdk 2017-05-28 20:56:40 +02:00
Glenn Ruben Bakke f3909c49f5 nrf5/modules/spi: Remove pyb abstraction from SPI module, as there was a bug in transfer of bytes due to casting errors. The update removes the pyb_spi_obj_t wrapper going directly on the machine_hard_spi_obj_t as base for machine SPI objects. SDCard mounting is also tested. 2017-05-28 19:35:07 +02:00
Damien George e5e49bedcb qemu-arm/Makefile: Adjust object-file lists to get correct dependencies.
With this change both the "run" and "test" targets can be built with -j
passed to make.
2017-05-26 22:51:14 +10:00
Damien George 825460a093 docs: Bump version to 1.9. 2017-05-26 19:07:37 +10:00
Damien George d77862279e unix/Makefile: Don't add frozen bytecode to minimal build. 2017-05-26 18:12:30 +10:00
Paul Sokolovsky 011684bd4f zephyr/modusocket: Use DEBUG_PRINT macro name as other modules do.
Indeed, just "DEBUG" is too generic.
2017-05-26 10:20:25 +03:00
Damien George 22fdb91571 esp8266/mpconfigport.h: Remove duplicate link to lwip module.
It's already included in the core when MICROPY_PY_LWIP is defined.
2017-05-26 17:06:31 +10:00
Damien George eea584860d esp8266/modules: Mount filesystem at root when creating for first time. 2017-05-26 17:05:58 +10:00
Tom Collins e26fb3ad73 py/objstringio: Catch mp_uint_t overflow of stream position in write(). 2017-05-26 13:40:08 +10:00
Damien George ed6d2547df mpy-cross/Makefile: Guard "override undefine" by test for make feature.
make v3.81 doesn't have "undefine" so we can't use it with that version.
2017-05-26 13:16:55 +10:00
Damien George 85f7b0b468 py/mkrules.mk: Fix auto-qstr generation when "make -B" is used.
For make v3.81, using "make -B" can set $? to empty and in this case the
auto-qstr generation needs to pass all args (ie $^) to cpp.  The previous
fix for this (which was removed in 23a693ec2d)
used if statements in the shell command, which gave very long lines that
didn't work on certain systems (eg cygwin).

The fix in this patch is to use an $if(...) expression, which will evaluate
to $? (only newer prerequisites) if it's non empty, otherwise it will use
$^ (all prerequisites).
2017-05-26 13:12:42 +10:00
Glenn Ruben Bakke cb9ed6bb55 nrf5/drivers/bluetooth: Enable ubluepy central by default if running nrf52/s132 bluetooth stack. Maturity of the module is pretty OK now. 2017-05-25 22:20:17 +02:00
Glenn Ruben Bakke 44673de114 nrf5/boards/feather52: Updating pins.csv for the feather52 board. 2017-05-25 22:16:46 +02:00
Glenn Ruben Bakke cb7a0aefa0 nrf5/boards/feather52: Updating LED pull to low. 2017-05-25 22:16:46 +02:00
Glenn Ruben Bakke 88b4ebc715 nrf5/boards/feather52: Update SPI pinout. 2017-05-25 22:16:46 +02:00
Damien George 8b13cd7e19 tests/basics: Add more tests for unwind jumps from within a try-finally.
These tests excercise cases that are fixed by the previous two commits.
2017-05-25 20:48:16 +10:00
Damien George 8f064e469d py/emitbc: Fix bug with BC emitter computing Python stack size.
Previous to this patch the mp_emit_bc_adjust_stack_size function would
adjust the current stack size but would not increase the maximum stack size
if the current size went above it.  This meant that certain Python code
(eg a try-finally block with no statements inside it) would not have enough
Python stack allocated to it.

This patch fixes the problem by always checking if the current stack size
goes above the maximum, and adjusting the latter if it does.
2017-05-25 20:42:30 +10:00
Damien George 04d05db27e py/vm: Fix bug with unwind jump popping the iterator from a for loop.
This patch fixes a regression introduced by
088740ecc4
2017-05-25 20:39:08 +10:00
Damien George 68e71eacb8 py/vm: Fix bug with stackless mode and unwinding of exceptions.
This patch fixes a regression introduced by
71a3d6ec3b

Previous to this patch the n_state variable was referring to that computed
at the very start of the mp_execute_bytecode function.  This patch fixes it
so that n_state is recomputed when the code_state changes.
2017-05-25 20:35:57 +10:00
Glenn Ruben Bakke aba5fcbf0f nrf5/main: Move initializaton of modmusic to the module itself. Upon init of the module, the hardware, pwm and ticker will be started. Could be moved back to main if pwm or ticker should be shared among more modules and have to be initialized more global. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke d9813910da nrf5/modules/machine/timer: If timer is used in combination with SOFT_PWM (implicitly use of ticker.c) guard the Timer1 instance from being instantiated trough python timer module. Also disable implementation of the HAL IRQ handler which is for now explicitly implemented in ticker.c for Timer1. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke aa9ad6be01 nrf5/modules/music: Update ticker and modmusic to share global ticks counter as a volatile variable. Use Timer1 hardware peripheral instead of instance 0. Timer0 is not free if used in combination with a bluetooth stack. Update IRQ priority to levels that are compatible in use with a bluetooth stack for both nrf51 and nrf52. Apply nrf51 PAN fixes for Timer1 instead of original Timer0. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke ed93392d87 nrf5/drivers/bluetooth: Updating bluetooth driver to initialize nrf_nvic_state_t struct during declaration of the global variable instead of explicit memset. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke 2f40c61c3e nrf5/hal/irq: Adding wrappers for handling nvic calls when Bluetooth LE stack is enabled. 2017-05-25 00:25:14 +02:00
Glenn Ruben Bakke c7cc57eaa0 nrf5/modules/machine: Updating IRQ levels in SPI with IRQ priorities compatible with Bluetooth stacks. 2017-05-25 00:24:50 +02:00
Paul Sokolovsky 982e676902 zephyr/modusocket: getaddrinfo: Raise OSError on resolution timeout, etc. 2017-05-24 19:55:14 +03:00
Glenn Ruben Bakke e87dcd8940 nrf5/device: Remove old startup files in asm, which has now been replaced with c-implementation. 2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke d580fa4088 nrf5: Update Makefile to add c-implementation of startup scripts instead of the .s files. 2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke d7145339aa nrf5/device: Adding startup files in .c to replace current asm versions. 2017-05-21 23:10:45 +02:00
Glenn Ruben Bakke d877e0e533 nrf5/examples: Tuning Bluetooth LE example controller python script after testing out the example live. Motor speed of 100 was not enought to lift the airplane. Also turning was hard without setting higher angle values. The new values are just guessed values. However, the flying experience was good. 2017-05-21 18:14:08 +02:00
Paul Sokolovsky 1c9ee49756 drivers: Replace deprecated Pin.high()/low() methods with .__call__(1/0). 2017-05-21 17:44:58 +03:00
Paul Sokolovsky bcf31a3908 esp8266, stmhal, zephyr: Rename machine.Pin high/low methods to on/off.
For consistent Pin/Signal class hierarchy. With it, Signal is a proper
(while still ducktyped) subclass of a Pin, and any (direct) usage of Pin
can be replace with Signal.

As stmhal's class is reused both as machine.Pin and legacy pyb.Pin,
high/low methods actually retained there.
2017-05-21 17:44:58 +03:00
Paul Sokolovsky 299c0a3925 CODECONVENTIONS: Typo fix. 2017-05-21 15:58:03 +03:00
Paul Sokolovsky 3ebd67fc09 library/machine.Pin: Remove .id() method and .board class attr.
Both aren't part of generic Hardware API: It's impossible to implement
.id() method in a generic case (e.g., when Pin is instantiated by the
underlying OS/RTOS). .board attribute is an obvious space hog which
instead can be implemented on Python level if needed.
2017-05-21 15:50:16 +03:00
Paul Sokolovsky 19e065294d cc3200/mods/pybpin: Remove toggle() method.
It's not part of MicroPython HW API and can be easily implemented on Python
level in case of need.

Saved 56 bytes of binary.
2017-05-21 15:39:27 +03:00
Damien George 338f0849d9 py/mkenv.mk: Use $(TOP) instead of ".." to reference tools, mpy-cross. 2017-05-19 15:53:55 +10:00