Commit Graph

481 Commits

Author SHA1 Message Date
Glenn Ruben Bakke 611b829138 nrf5/uart: Refactoring UART module and HAL driver
Facilitating for adding second HW uart. Moving pyb_uart into
machine_uart. Adding return error codes from hal_uart functions,
if the hardware detects an error.
2017-03-10 22:21:19 +01:00
Glenn Ruben Bakke f8d1ea80ae nrf5/modules: Updating uart object to allow baudrate configuration. 2017-03-07 23:18:03 +01:00
Glenn Ruben Bakke 99f5ecdfad nrf5/bluetooth: Moving bluetooth_conf.h to port root folder to make it more exposed. 2017-03-07 23:15:59 +01:00
Glenn Ruben Bakke 3b2ca64738 nrf5/boards: Remove define of machine PWM module configuration in nrf51 targets, as the device does not have a HW PWM peripheral. 2017-03-07 18:05:38 +01:00
Glenn Ruben Bakke 5f9b070f6d nrf5: Disable machine PWM module by default if board does not define it. 2017-03-07 18:04:54 +01:00
Glenn Ruben Bakke 9689aae45b nrf5/boards: Disable all display modules in pca10028 board config. 2017-03-07 18:01:13 +01:00
Glenn Ruben Bakke 9d2a2d227c nrf5: Updated after merge with master. Updating nlr_jump_fail to call __fatal_error in order to provide a non-returning function call. 2017-03-07 17:53:10 +01:00
Glenn Ruben Bakke 5f705adae0 nrf5/boards: Adding more heap memory to the nrf51 256k/32k s110 linker script. Leaving 2k for stack. 2017-03-07 17:41:46 +01:00
Glenn Ruben Bakke 2e1335b051 nrf5/modules/machine: Adding __WFI() on machine.deepsleep() 2017-03-06 23:36:36 +01:00
Glenn Ruben Bakke 4e1b9aca79 nrf5/modules/machine: Adding __WFE() on machine.sleep() 2017-03-06 23:35:32 +01:00
Glenn Ruben Bakke 4afa41ac36 nrf5/modules/machine: Adding enable_irq() and disable_irq() method to the machine module. No implementation yet for the case where bluetooth stack is used. 2017-03-06 23:30:56 +01:00
Glenn Ruben Bakke 5acba015ef nrf5/modules/rtc: Adding support for stopping and restarting rtc (if periodic) for all the instances of RTC. 2017-03-06 23:05:03 +01:00
Glenn Ruben Bakke 7c50cd26a2 nrf5/modules: Updating RTC kwarg from type to mode to set ONESHOT or PERIODIC mode. 2017-03-06 22:59:43 +01:00
Glenn Ruben Bakke 3debb43e83 nrf5/modules: Adding support for periodic RTC callback. 2017-03-06 21:33:29 +01:00
Glenn Ruben Bakke c301cca2a4 nrf5/hal: hal_rtc update. Adding current counter value to period value before setting it in the compare register. 2017-03-06 20:52:09 +01:00
Glenn Ruben Bakke f50a56dbb5 nrf5/modules: Updating rtc module with non-const machine object list in order to allow setting callback function in constructor. 2017-03-06 20:09:04 +01:00
Glenn Ruben Bakke 87e1616488 nrf5/hal: Adding initialization of LFCLK if not already enabled in hal_rtc. 2017-03-06 20:06:47 +01:00
Glenn Ruben Bakke 7000e0a2a0 nrf5/modules: Moving irq priority settings in RTC object to rtc_init0 when initializing the hardware instances. Also modifying comments a bit. Adding simple example in comment above make_new function on how the object is intended to work. 2017-03-06 01:13:19 +01:00
Glenn Ruben Bakke 49b1607bed nrf5: Updating main.c to initialize the rtc module if enabled. 2017-03-06 00:57:33 +01:00
Glenn Ruben Bakke 1ef7c732e8 nrf5/modules: Added RTC into the machine module globals dict. 2017-03-06 00:56:58 +01:00
Glenn Ruben Bakke 7144696e17 nrf5/modules: Updating rtc module. Not working yet. Updated to align with new hal_rtc interface. Added start and stop methods. Allowing callback function set from init. This should be moved to start function, not set in main. 2017-03-06 00:56:18 +01:00
Glenn Ruben Bakke ff7541599a nrf5/hal: Updating hal RTC implementation. 2017-03-06 00:53:21 +01:00
Glenn Ruben Bakke 852aaba58b nrf5/hal: Adding hal_irq.h which defines a set of static inline functions to do nvic irq operations. 2017-03-06 00:50:00 +01:00
Glenn Ruben Bakke 9ddd62e73e nrf5/modules: Updating machine uart module to use new hal uart interface name. 2017-03-05 22:37:52 +01:00
Glenn Ruben Bakke 0489153094 nrf5/hal: Renaming uart hal function to use hal_uart prefix. 2017-03-05 22:37:07 +01:00
Glenn Ruben Bakke ee5884bfe9 nrf5/modules: Updating readfrom function in machine i2c module to use the new hal function which has been implemented. 2017-03-04 21:44:23 +01:00
Glenn Ruben Bakke 2c61b7f596 nrf5/hal: Adding untested implementation of twi read. Lacking sensors to test with :) 2017-03-04 21:42:36 +01:00
Glenn Ruben Bakke 4a631a0d47 nrf5/boards: Renaming linker script for all nrf51 and nrf52 into more logical names. Updating all boards with new names. 2017-03-04 19:13:59 +01:00
Glenn Ruben Bakke ab0d9756f1 nrf5/bluetooth: Updating header guard in bluetooth_conf.h to reflect new filename. 2017-03-04 18:05:51 +01:00
Glenn Ruben Bakke 56d106507a nrf5/bluetooth: Updating old references to 'sdk' to use the new folder name 'bluetooth' in makefiles. 2017-03-04 17:58:31 +01:00
Glenn Ruben Bakke 9e36242259 nrf5: Renaming sdk folder to bluetooth. 2017-03-04 17:54:15 +01:00
Glenn Ruben Bakke 5e89a27ba1 nrf5: Merging sdk makefiles into bluetooth_common.mk. s1xx_iot is still left out of this refactoring. 2017-03-04 17:52:20 +01:00
Glenn Ruben Bakke ec35861938 nrf5: Renaming nrf5_sdk_conf.h to bluetooth_conf.h 2017-03-04 17:19:29 +01:00
Glenn Ruben Bakke 309ae12346 nrf5: Starting process of renaming files in sdk folder to facilitate renaming of the folder and make it more logical. Transition will be from sdk to bluetooth. 2017-03-04 15:06:08 +01:00
Glenn Ruben Bakke 80c9c2e3c0 nrf5/boards: Adding support for SPI, I2C, ADC, and Temp in machine modules in micro:bit target. Also activating hal drivers for the peripherals. 2017-03-04 02:14:50 +01:00
Glenn Ruben Bakke f2a7e198d2 nrf5/sdk: Updating low frequency clock calibration from 4 seconds to 250 ms for stack enable when BLUETOOTH_LFCLK_RC is enabled. 2017-03-04 01:36:06 +01:00
Glenn Ruben Bakke ef6d583ec3 nrf5/boards: Updating nrf51822_aa_s110.ld to be more generic, leaving all RAM not used for stack, .bss and .data to the heap. 2017-03-04 01:29:05 +01:00
Glenn Ruben Bakke 1aeb74a426 nrf51: Removing stack section from startup file as it got added to the final hex file. Thanks dhylands for helping out. 2017-03-04 01:24:10 +01:00
Glenn Ruben Bakke 2af06bd3fa nrf5/boards: Adding BLUETOOTH_LFCLK_RC to CFLAGS in microbit s110 makefile. 2017-03-03 23:21:47 +01:00
Glenn Ruben Bakke e95ec1a285 nrf5/sdk: Adding support for initializing the bluetooth stack using RC oscillator instead of crystal. If BLUETOOTH_LFCLK_RC is set in CFLAGS, this variant of softdevice enable will be activated. 2017-03-03 23:20:38 +01:00
Glenn Ruben Bakke c300e3f196 nrf5: Initialize repl_display_debugging_info in pyexec.c for cortex-m0 targets. 2017-03-03 00:40:44 +01:00
Glenn Ruben Bakke 235c0edacb nrf5/sdk: Updating ringbuffer.h to use volatile variables for start and end. 2017-03-03 00:11:42 +01:00
Glenn Ruben Bakke d057a93675 nrf5/sdk: Rename cccd_enable variable to m_cccd_enable in bluetooth le UART driver. Also made the variable volatile. 2017-03-03 00:06:51 +01:00
Glenn Ruben Bakke df31508d6f nrf5/modules: Updating example in ubluepy header to use handle instead of data length upon reception of an event. 2017-03-03 00:05:09 +01:00
Glenn Ruben Bakke db3dd8bc8b nrf5/modules: Updating ubluepy peripheral to pass handle value to python event handler instead of data length. Data length can be derived from the bytearray structure. 2017-03-03 00:04:13 +01:00
Glenn Ruben Bakke 22f66e274d nrf5/sdk: Updating bluetooth le driver to handle SEC PARAM REQUEST by replying that pairing is not supported. Moving initialization of adv and tx in progress state variables to stack enable function. 2017-03-02 22:48:04 +01:00
Glenn Ruben Bakke 4efedb67b6 nrf5/modules: Enable ubluepy constants for CONNECT and DISCONNECT for other bluetooth stacks than s132. 2017-03-02 22:43:06 +01:00
Glenn Ruben Bakke e60fa9b3e1 nrf5/sdk: Fixing unaligned access issues for nrf51 (cortex-m0) in bluetooth le driver 2017-03-02 21:25:51 +01:00
Glenn Ruben Bakke 44c9888511 nrf5/sdk: Removing SDK dependant BLE UART Service implementation
The sdk_12.1.0 nrf52_ble.c implementation was dependent on SDK components.
This has been replaced with the ble_uart.c implementation using a standalone
bluetooth driver implementation without need of SDK components.

Also, sdk.mk has been updated to not use a special linker script.
2017-03-01 00:05:04 +01:00
Glenn Ruben Bakke 58cc59cfbe nrf5/sdk: Removing ble_repl_linux.py
Script does not really work very well with blocking char read and
async ble notifications printing data when terminal stdout is blocked
by readchar. Bluetooth UART profile implemented in ble_uart.c is
now working with tralamazza's nus_console nodejs script.

Ref: https://github.com/tralamazza/nus_console
2017-02-28 23:40:46 +01:00