Commit Graph

743 Commits

Author SHA1 Message Date
Glenn Ruben Bakke
db0f4963b7 nrf5/modules/machine: Update timer init to set default IRQ priority before initializing Timer instance. 2017-06-02 19:21:51 +02:00
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
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
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
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
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
Glenn Ruben Bakke
003f43b5c9 nrf5/hal/irq: Adding include of nrf_nvic.h if s132 bluetooth stack is used to resolve IRQ function wrappers on newer bluetooth stacks. 2017-05-18 23:20:25 +02:00
Glenn Ruben Bakke
1192981d24 nrf5/drivers/ticker: Removing unused code. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
0fa70ec988 nrf5/examples: Adding music example. Only working if bluetooth stack is not enabled. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
1ff44dd5b8 nrf5/boards/microbit: Disable music and softPWM as there are some issues with the ticker. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d06c6f4587 nrf5: Adding -fstack-usage flag to gcc CFLAGS to be able to trace stack usage on modules. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
c921bbd9ac nrf5/drivers/ticker: Removing LowPriority callback from nrf51 as there is only one SoftwareIRQ free if bluetooth stack is enabled. Also setting new IRQ priority on SlowTicker to 3 instead of 2, to interleave with bluetooth stack if needed. Updating all NVIC calls to use hal_irq.h defined static inlines instead of direct access. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
981b3e61dd nrf5/hal/irq: Adding IRQ wrappers if Bluetooth Stack is present. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d1a4b19dc5 nrf5: Facilitate option to configure away the modble if needed. Enabled if MICROPY_PY_BLE config is enabled in bluetooth_conf.h. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
147d03feff nrf5/boards/microbit: Enable music module by default. However, timer and rtc module has to be disabled. Bluetooth support broken. Optimization needed. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
952c14c4bf nrf5/modules/machine: Quickfix. Update timer object to not allow instanciation of Timer(0) if SOFT_PWM is enabled by board. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
6f72e73137 nrf5/hal/timer: Quickfix. Disable IRQ handler if SOFT_PWM is configured to be enabled. Ticker driver has in current driver a seperate IRQ handler for this timer instance. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
086d79fbad nrf5/drivers/ticker: Add compile config guard in ticker.c to only include the driver if SOFT_PWM is configured in by board. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
234c9f3688 nrf5/drivers/softpwm: Renaming pwm_init to softpwm_init to not collide on symbol name with pwm_init in nrf52 machine PWM object. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
2584684e06 nrf5: Add modmusic QSTR definition of notes to qstrdefsport.h. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
c6b36ad4ca nrf5: Update Makefile to include ticker.c and renamed softpwm. Updating also include paths to include modules/music and drivers/. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
52be9eec9d nrf5: Adding include of modmusic.h in main.c. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
4c5c83567e nrf5: Call microbit_music_init0() if enabled in main.c. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
6330fd4f31 nrf5/modules/music: Expose public init function for music module. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
d412241143 nrf5/modules/music: Update modmusic to use updated includes. Add extern ticks. Add function which implements initialization of pwm and ticker, register ticker callback, and start the pwm and ticker. This corresponds to microbit port main.cpp init. 2017-05-18 23:11:41 +02:00
Glenn Ruben Bakke
a0ad7ce0b4 nrf5/drivers/softpwm: Enable use of ticker in softpwm driver. 2017-05-18 23:11:41 +02:00