Commit Graph

767 Commits

Author SHA1 Message Date
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
Glenn Ruben Bakke
ac677efb8b nrf5: Add default config for MICROPY_PY_BLE_NUS (0)
Disable Bluetooth UART to be used for REPL by default. Can be overridden
in nrf5_sdk_conf.h. It is defined in  mpconfigport.h as it is connected to
mphalport.c, where the config is used to determine whether default print
functions should be using HW UART or Bluetooth UART.
2017-02-28 23:33:54 +01:00
Glenn Ruben Bakke
e8761682b7 nrf5/sdk: Add ble_uart.c to source list
ble_uart.c implements UART Bluetooth service on top of the
bluetooth stack driver api calls. Can be enabled to be compiled
in by defining MICROPY_PY_BLE_NUS = 1 in nrf5_sdk_conf.h.
2017-02-28 23:30:36 +01:00
Glenn Ruben Bakke
84313b0261 nrf5/sdk: Removing include of sdk_12.1.0's build.mk
As no sources are needed from the SDK this build makefile
can be deleted.
2017-02-28 23:28:09 +01:00
Glenn Ruben Bakke
9472196ee7 nrf5: Force implementation of tx_str_cooked function if BLE NUS enabled.
If BLE UART service has been enabled, the mp_hal_stdout_tx_strn_cooked
is not defined by default anymore, and has to be implemented by the
UART driver (in this case BLE).
2017-02-28 23:18:31 +01:00
Glenn Ruben Bakke
216c97ff9a nrf5/sdk: Adding compiler guard around exchange MTU request event.
As s110 is not having this event or function call to answer on a MTU
exchange request, this is excluded for all other version than s132
for now.
2017-02-28 23:13:02 +01:00
glennrub
c1ffac9998 Merge pull request #1 from ajbaabf/nrf5_no_sdk
added support for hardware temperature sensor
2017-02-28 08:33:11 +01:00
Bander Ajba
0e723091f9 minor documentation and extra tabs removal fixes 2017-02-28 09:34:13 +03:00
Glenn Ruben Bakke
382f718cfc nrf5/sdk: Updating BLE UART implementation by swapping TX and RX uuid and characterisitic handling. Removed dummy write delay of 10 ms. 2017-02-27 23:47:47 +01:00
Glenn Ruben Bakke
b032d765ff nrf5/sdk: Backing up progress in bluetooth le driver. Adding new gap and gatts handlers. Added handling of tx complete events when using notification, responding to MTU request, and setting of default connection parameters. 2017-02-27 23:40:39 +01:00
Bander Ajba
12a6cb0fbf fixed temp module to allow for instance support 2017-02-27 21:46:53 +03:00
Bander Ajba
e52ebb095c fixed temp module to allow for instance support 2017-02-27 21:37:32 +03:00
glennrub
56cf514627 Merge pull request #2 from dhylands/fix-makefile
Fix up Makefile dependencies
2017-02-26 17:39:09 +01:00
Bander Ajba
66542c34b9 did required modification to merge the temperature sensore module 2017-02-26 11:17:07 +03:00
Bander Ajba
378c40b4da did required modification to merge the temperature sensore module 2017-02-26 11:14:17 +03:00
Dave Hylands
d3c3fa4a74 Fix up Makefile dependencies
I also didn't see any real reason for mkrules.mk to exist,
so I merged the contents into Makefile.

Now you can do:
```
make BOARD=pca10028 clean
make BOARD=pca10028 flash
```
and it will work properly.
2017-02-25 16:52:46 -08:00
Glenn Ruben Bakke
dcd980381d nrf5: Updating Makefile to use correct variable for setting directory of file to freeze as mpy. 2017-02-26 01:30:33 +01:00
Glenn Ruben Bakke
65f3e16775 nrf5: Setting stack top in main.c. Thanks dhylands for pointing this out. 2017-02-26 01:29:13 +01:00
Glenn Ruben Bakke
64b23e1127 nrf5/sdk: Backing up progress in BLE UART driver. Adding ringbuffer in order to poll bytes from recieved data in REPL main loop. 2017-02-24 15:14:12 +01:00
Glenn Ruben Bakke
bfda169dfe nrf5/modules: Updating ubluepy example to print out gatts write events with data. 2017-02-24 15:08:32 +01:00
Glenn Ruben Bakke
e60a06563e nrf5/boards: Updating pca10028 bluetooth stack targets to have a MCU_SUB_VARIANT. 2017-02-24 15:03:53 +01:00
Bander Ajba
3882b0e2ff added support for hardware temperature sensor 2017-02-24 00:38:08 +03:00
Glenn Ruben Bakke
6b898d1d67 nrf5/sdk: Adding macro based ringbuffer written by Philip Thrasher. source: https://github.com/pthrasher/c-generic-ring-buffer/blob/master/ringbuffer.h. Copyright noticed copied into the file, and file reviewed by Philip. 2017-02-23 21:52:23 +01:00
Glenn Ruben Bakke
f10abda60a nrf5/sdk: Updating bluetooth le driver to extract data length and pointer from the event structure upon gatts write operation. 2017-02-22 19:54:02 +01:00
Glenn Ruben Bakke
7fee0cdde1 nrf5/modules: Expose ubluepy characteristic and peripheral types as external declaration in ublupy header. 2017-02-22 19:10:18 +01:00
Glenn Ruben Bakke
09fd2b86d1 nrf5: Updating main to initialize bluetooth le uart module right before bluetooth REPL is started. 2017-02-21 23:38:35 +01:00
Glenn Ruben Bakke
3e66898c37 nrf5/sdk: Updating bluetooth le uart implemenatation to block until cccd is written. 2017-02-21 23:37:52 +01:00
Glenn Ruben Bakke
80b2d7e4ad nrf5/sdk: Backing up ubluepy version of ble uart service for Bluetooth LE REPL. 2017-02-21 00:15:51 +01:00
Glenn Ruben Bakke
acb5c7b4ee nrf5/modules: Updating ubluepy example in header to align with bluetooth uart service characteristic's. 2017-02-20 21:28:07 +01:00
Glenn Ruben Bakke
c9bfcb5bc5 nrf5/modules: Implementing characteristic write method. Possible to use write for both write and notifications. 2017-02-20 21:27:21 +01:00
Glenn Ruben Bakke
7223950864 nrf5/sdk: Remaning bluetooth driver function ble_drv_attr_notif to *_notify. 2017-02-20 21:26:19 +01:00
Glenn Ruben Bakke
601f07cbf2 nrf5/modules: Adding props and attrs parameter to ubluepy characteristic constructor to override default values. Adding method for reading characteristic properties. Adding values to the local dict table that gives possibility to OR together a configuration of properties and attributes in the keyword argument during construction. 2017-02-20 20:28:19 +01:00
Glenn Ruben Bakke
a973dde603 nrf5/sdk: Adding parsing of characteristic properties and attributes (extra descriptions for the characteristic, for now cccd). 2017-02-20 20:24:27 +01:00
Glenn Ruben Bakke
89fc67a9f8 nrf5/modules: Adding new members to ubluepy characteristic object, props and attrs. Adding enum typedefs for various properties and attributes. 2017-02-20 20:22:23 +01:00
Glenn Ruben Bakke
7c0195da6c nrf5/modules: Syncing uart module code after upmerge with upstream master. 2017-02-19 19:06:12 +01:00
Glenn Ruben Bakke
486d05ff17 nrf5/boards: Releasing more RAM for heap use in the nrf51 s110 linker script. 2017-02-19 19:00:31 +01:00
Glenn Ruben Bakke
10e7c16351 nrf5/modules: Adding new gatts handler and registration of it during creation of a peripheral object. Also, added forwarding to python callback function (for now the same as for GAP). 2017-02-19 00:10:27 +01:00
Glenn Ruben Bakke
ac14bb4736 nrf5/modules: Adding new callback type in modubluepy for gatts events. 2017-02-19 00:09:11 +01:00
Glenn Ruben Bakke
29b283f697 nrf5/sdk: Adding support for setting gatts handler in the bluetooth le driver. 2017-02-19 00:08:05 +01:00
Glenn Ruben Bakke
45144ee8a8 nrf5/modules: Adding constant for CCCD uuid in ubluepy constants dict. 2017-02-18 23:11:12 +01:00
Glenn Ruben Bakke
4fe4c2967f nrf5: Adding ubluepy_descriptor.c into source list to compile. 2017-02-18 22:49:50 +01:00
Glenn Ruben Bakke
842b83cbd8 nrf5/modules: Adding template for ubluepy descriptor class implementation. 2017-02-18 22:49:18 +01:00
Glenn Ruben Bakke
6a374dc5a2 nrf5/modules: Adding object structure for ubluepy descriptor. 2017-02-18 22:48:48 +01:00
Glenn Ruben Bakke
98358e4400 nrf5/sdk: Adding template functions for attribute read/write/notify in bluetooth le driver. 2017-02-18 21:11:39 +01:00
Glenn Ruben Bakke
9a08ed1a08 nrf5/modules: Adding getCharacteristic method in ublupy service class. This function returns the characteristic with the given UUID if found, else None. The UUID parameter has to be of UUID class type, any other value, like strings will throw an exception. 2017-02-18 18:38:31 +01:00
Glenn Ruben Bakke
71475bb028 nrf5/modules: Updating method documentation in ubluepy peripheral and service. 2017-02-18 18:16:07 +01:00
Glenn Ruben Bakke
655d6c9bcd nrf5/modules: Adding new method, getCharacteristics(), in the ubluepy service class. The method returns the list of characteristics which has been added to the service instance. 2017-02-18 18:14:27 +01:00
Glenn Ruben Bakke
307c2d6aed nrf5/modules: Updating method documentation in ubluepy peripheral class. 2017-02-18 18:12:37 +01:00
Glenn Ruben Bakke
1da82b2aeb nrf5/modules: Updating ubluepy service. Creating empty characteristic list in constructor. Appending characteristic to the list when added. 2017-02-18 18:06:58 +01:00
Glenn Ruben Bakke
15d7353cb3 nrf5/modules: Changed return in ubluepy addService() function to return mp_const_none instead of boolean. 2017-02-18 17:59:10 +01:00
Glenn Ruben Bakke
63ed32ecaa nrf5/modules: Correcting tabbing in ubluepy periheral impl. 2017-02-18 17:57:59 +01:00
Glenn Ruben Bakke
577bf0724a nrf5/modules: Updating ubluepy peripheral. Creating empty service list in constructor. Appending services to the list when added. Added new function for retreiving the service list; getServices(). 2017-02-18 17:57:10 +01:00
Glenn Ruben Bakke
8ffd167d4b nrf5/modules: Adding new members in ubluepy peripheral and service object to keep track of child elements. Peripheral will have a list of services, and service will have a list of charactaristics. 2017-02-18 17:54:47 +01:00
Glenn Ruben Bakke
852dde6747 nrf5/modules: Removing connection handle from python gap event handler callback function. 2017-02-18 14:41:46 +01:00
Glenn Ruben Bakke
f800f22a79 nrf5/modules: Updating ubluepy example in the header file with new function call to add service to a peripheral instance. 2017-02-18 13:20:03 +01:00
Glenn Ruben Bakke
04f8891dc9 nrf5/modules: Updating peripheral class to assign periopheral parent pointer to service's thats added. Also added a hook in the bluetooth le event handler to store the connection handle value, to prevent any services or characteristics to handle this value themselves. 2017-02-18 13:17:31 +01:00
Glenn Ruben Bakke
f956947c23 nrf5/modules: Updating service object to clear pointer to parent peripheral instance. Also assinging pointer to the service when adding a new characteristic. 2017-02-18 13:15:08 +01:00
Glenn Ruben Bakke
f3d8fc830e nrf5/modules: Updating print to also include peripheral's connection handle. Setting pointer to service parent instance to NULL. 2017-02-18 13:11:39 +01:00
Glenn Ruben Bakke
f5324060cc nrf5/modules: Correcting event id numbers for connect and disconnect event in ubluepy_constants.py 2017-02-18 13:07:00 +01:00
Glenn Ruben Bakke
292c15bf1a nrf5/modules: Shuffle order of typedef in ubluepy header. Adding service pointer in characteristic object. Adding peripheral pointer to the service structure. When populated, the characteristic would get access to conn_handle and service handle through pointers. Also service would get access to peripheral instance. 2017-02-18 01:19:43 +01:00
Glenn Ruben Bakke
e0fc8b88c1 nrf5/modules: adding template functions for characteristic read and write. 2017-02-18 01:17:57 +01:00
Glenn Ruben Bakke
af2f32ed6a nrf5/modules: Adding constants class to ubluepy which will contain easy access to common bluetooth le numbers and definitions for the bluetooth stack. 2017-02-18 00:11:10 +01:00
Glenn Ruben Bakke
f0f6ad20b2 nrf5/modules: Updating example in ubluepy header with 16-bit uuid's commented out, to show usage. 2017-02-17 21:50:50 +01:00
Glenn Ruben Bakke
c81b606b01 nrf5/sdk: Adding support for adding 16-bit uuid's in advertisment packet. The services in paramter list can mix 16-bit and 128-bit. 2017-02-17 21:47:38 +01:00
Glenn Ruben Bakke
9befd776fa nrf5/sdk: Updating sdk_common.mk with new filename of bluetooth le driver. 2017-02-17 19:13:49 +01:00
Glenn Ruben Bakke
21f1d8c640 nrf5: Updating all includes of softdevice.h to ble_drv.h 2017-02-17 19:10:24 +01:00
Glenn Ruben Bakke
793cf991ad nrf5/sdk: renaming softdevice.* to ble_drv.* 2017-02-17 19:06:11 +01:00
Glenn Ruben Bakke
5f4c464f29 nrf5/sdk: Renaming bluetooth driver functions to have ble_drv* prefix. Updating modules using it. 2017-02-17 19:02:24 +01:00
Glenn Ruben Bakke
3ff245f667 nrf5/sdk: Enable ubluepy module if s110 bluetooth stack is enabled. 2017-02-17 18:11:22 +01:00
Glenn Ruben Bakke
86c900313c nrf5/sdk: Updating bluetooth driver to only set periph and central count if s132 bluetooth stack. These parameters does not exist in older stacks. 2017-02-17 18:09:23 +01:00
Glenn Ruben Bakke
bba8221aa2 nrf5/modules: Updating bluetooth driver and ubluepy to use explicit gap event handler. Adding connection handle parameter to the gap handler from ubluepy. Resetting advertisment flag if connection event is recieved, in order to allow for subsequent advertisment if disconnected again. Example in ublupy header updated. 2017-02-17 17:32:42 +01:00
Glenn Ruben Bakke
7ce31444a0 nrf5: Adding target to flash bluetooth stack when using pyocd-flashtool. 2017-02-16 23:18:07 +01:00
Glenn Ruben Bakke
2fd55feb0c nrf5/modules: Guarding callback to python event handler before issue the call in case it is not set. 2017-02-16 18:49:47 +01:00
Glenn Ruben Bakke
18365135f7 nrf5/modules: Updating ubluepy example to turn led2 on and off when receiving connected and disconnect bluetooth event. 2017-02-15 23:58:23 +01:00
Glenn Ruben Bakke
d88320b5b3 nrf5/sdk: Updating bluetooth driver to have configurable logs. 2017-02-15 23:57:23 +01:00
Glenn Ruben Bakke
832a7ffd14 nrf5/modules: updating ubluepy and bluetooth driver to support python created event handler. Added registration of callback from ubluepy against the bluetooth driver and dispatching of events to the user supplied python function. 2017-02-15 23:32:42 +01:00
Glenn Ruben Bakke
d29539a395 nrf5/modules: Splitting includes to be inside or outside of the compile guard in ubluepy. This way, all micropython specific includes will be outside, and internal will be inside. This way, there will not be any dependency towards ubluepy headers if not compiled in. 2017-02-15 19:33:11 +01:00
Glenn Ruben Bakke
db75b5535c nrf5/modules: Adding two new functions to ubluepy peripheral class to set specific handlers for notificaitons and connection related events. 2017-02-15 19:30:45 +01:00
Glenn Ruben Bakke
ec517a37f6 nrf5: Set ubluepy to disabled by default in mpconfigport.h if not configured. 2017-02-15 19:13:55 +01:00
Glenn Ruben Bakke
8d1b05563c nrf5/modules: Moving includes inside config defines to make non-ubluepy targets compile again. 2017-02-15 00:26:39 +01:00
Glenn Ruben Bakke
b493bfda64 nrf5/modules: Adding 'withDelegate' function to peripheral class. 2017-02-15 00:22:00 +01:00
Glenn Ruben Bakke
fd4e659da7 nrf5/modules: Adding ubluepy delegate type to modubluepy globals table. 2017-02-15 00:18:32 +01:00
Glenn Ruben Bakke
4f6e235c68 nrf5: Adding ubluepy_delegate.c to list of source files to compile. 2017-02-15 00:17:47 +01:00
Glenn Ruben Bakke
8b21ee762e nrf5/modules: Adding new object struct for delegate class and adding a delegate struct member to Peripheral class to bookeep callback object when event occurs. 2017-02-15 00:17:04 +01:00
Glenn Ruben Bakke
881e90f7b5 nrf5/modules: Adding template for ubluepy delegate class. 2017-02-15 00:15:48 +01:00
Glenn Ruben Bakke
66223b4285 nrf5/sdk: Fixing debug print in bluetooth driver to not use >>> prefix. Adding one more print for connection parameter update. 2017-02-14 20:18:53 +01:00
Glenn Ruben Bakke
44f701946b nrf5/sdk: Correcting advertisment packet in bluetooth driver in order to make the device connectable. 2017-02-13 17:06:13 +01:00
Glenn Ruben Bakke
a79c5ca7ab nrf5/sdk: Implementing simple event handler for bluetooth stack driver. 2017-02-13 00:18:47 +01:00
Glenn Ruben Bakke
7a43228a2d nrf5/sdk: Disable all sdk components from being included in the build while implementing ubluepy, overlap in IRQ handler symbol. 2017-02-13 00:16:45 +01:00
Glenn Ruben Bakke
c4b60e6cf8 nrf5/modules: Shortening down the device name to be advertised in the example to make it fit with a 128-bit complete UUID. 2017-02-12 23:05:32 +01:00
Glenn Ruben Bakke
e432ab4842 nrf5/modules: Bugfix in ubluepy_uuid_make_new. Used wrong buffer to register vendor specific uuid to the bluetooth stack. 2017-02-12 23:04:48 +01:00
Glenn Ruben Bakke
0a0ab8344e nrf5/sdk: Updating advertisment function in bluetooth le driver to add 128-bit complete service UUID provided in service list to the advertisment packet. 2017-02-12 23:03:55 +01:00
Glenn Ruben Bakke
2d58fc6625 nrf5/sdk: Updating advertisment funciton in bluetooth le driver to iterate through services passed in and calculate individiual uuid sizes. 2017-02-12 15:20:41 +01:00
Glenn Ruben Bakke
18aab4a6b9 nrf5/modules: Updating advertisment method in peripheral class to memset advertisment structure. Also applying service list if set to the advertisment structure. 2017-02-12 15:17:30 +01:00
Glenn Ruben Bakke
2d72fe8518 nrf5/modules: Updating ubluepy module header usage example. Correcting enum for UUID types to start index from 1. Expanding advertisment data structure to also include service list members. 2017-02-12 15:14:41 +01:00
Glenn Ruben Bakke
90523d6ae0 nrf5/sdk: Adding static boolean for keeping track of whether advertisment is in progress in the bluetooth driver. Now, advertisment can be restarted with new data any time. 2017-02-12 14:24:15 +01:00
Glenn Ruben Bakke
9d24742351 nrf5/modules: Updating ubluepy peripheral class to use mp_const_none instead of MP_OBJ_NULL for unset values in advertisment method parameter list. Adding extraction of the service list in the advertisment method. The list is not yet handled. 2017-02-12 14:23:13 +01:00
Glenn Ruben Bakke
ff9cefa6b2 nrf5/modules: Adding a few examples in the modubluepy.h to get easier copy paste when implementing. 2017-02-11 18:09:22 +01:00
Glenn Ruben Bakke
b65553e57f nrf5/sdk: Successful device name advertisment. Added flags to advertisment packet and enable device name byte copy into the advertisment data. 2017-02-11 18:02:22 +01:00
Glenn Ruben Bakke
3a68e40102 nrf5/modules: Turning ubluepy peripheral advertisment function into a keyword argument function so that it would be possible to set device name, service uuids, or manually constructed data payload. 2017-02-11 17:43:47 +01:00
Glenn Ruben Bakke
1a3ae62fd1 nrf5/sdk: Updating softdevice driver with function to set advertisment data and start advertisment. Does not apply device name yet. Work in progress. 2017-02-11 17:41:16 +01:00
Glenn Ruben Bakke
8cc0eb23d9 nrf5/modules: Adding new structure to ubluepy in order to pass advertisment data information to the bluetooth le stack. 2017-02-11 17:37:48 +01:00
Glenn Ruben Bakke
d6b12b63d0 nrf5/modules: Adding function function to add characteristics to the ubluepy service. Enable function in service's local dict table. 2017-02-11 16:04:48 +01:00
Glenn Ruben Bakke
c9aa561aad nrf5/modules: Adding function in bluetooth le driver to add characteristic to the bluetooth le stack. 2017-02-11 16:01:50 +01:00
Glenn Ruben Bakke
a43f5cdd4e nrf5/modules: Adding more members to ublue characteristic object structure. 2017-02-11 16:00:43 +01:00
Glenn Ruben Bakke
c580633598 nrf5/modules: Adding characteristic class to ubluepy globals table. 2017-02-11 14:35:00 +01:00
Glenn Ruben Bakke
c127938103 nrf5/modules: Updating ubluepy characteristic implementation. 2017-02-11 14:21:05 +01:00
Glenn Ruben Bakke
7f26704e27 nrf5/modules: Re-arranging includes in ubluepy_service.c 2017-02-11 14:20:01 +01:00
Glenn Ruben Bakke
5f19113c94 nrf5/modules: Adding ubluepy charactaristic type struct. 2017-02-11 14:19:08 +01:00
Glenn Ruben Bakke
fad456d18f nrf5/modules: Updating ubluepy with more implementation in UUID and Service. Adding function in bluetooth le driver which adds services to the bluetooth stack. Making service take UUID object and Service type (primary/secondary) as constructor parameter in Service class. 2017-02-10 21:09:03 +01:00
Glenn Ruben Bakke
3223026764 nrf5: Adding ubluepy to include path. 2017-02-10 21:03:30 +01:00
Glenn Ruben Bakke
f549c8df43 nrf5/modules: Updating ubluepy UUID class constructor with some naive parsing of 128-bit UUIDs, and pass this to the softdevice driver for registration. 2017-02-10 00:02:35 +01:00
Glenn Ruben Bakke
b93644221e nrf5/sdk: Adding new function to the softdevice handler driver to add vendor specific uuids and return an index to the entry back by reference. 2017-02-09 23:57:30 +01:00
Glenn Ruben Bakke
8a551e1354 nrf5/modules: Updating ubluepy UUID class with constructor that can construct an object based on hex value of 16-bit or string of 16-bit prefixed with '0x'. 2017-02-09 23:05:12 +01:00
Glenn Ruben Bakke
ddc31d4084 nrf5/modules: Adding Peripheral, Service and UUID class to the ubluepy module globals table. 2017-02-08 18:49:29 +01:00
Glenn Ruben Bakke
0264f68698 nrf5/modules: Extending the implementation of Peripheral class in ubluepy. 2017-02-08 18:48:35 +01:00
Glenn Ruben Bakke
9057fe550b nrf5/modules: Extending the implementation of UUID class in ubluepy. 2017-02-08 18:47:33 +01:00
Glenn Ruben Bakke
323533c3d3 nrf5/sdk: Adding configuration to enable the ubluepy peripheral class when using softdevice 132 from the SDK. 2017-02-08 18:45:49 +01:00
Glenn Ruben Bakke
35a7aa1331 nrf5: Adding ubluepy module to builtins if bluetooth stack is selected. Disable NUS profile by default. Adding source for ubluepy module into makefile to be included in build. The source is only linked if MICROPY_PY_UBLUEPY is set. 2017-02-08 00:05:37 +01:00
Glenn Ruben Bakke
0f609cd799 nrf5: Aligning code after upmerge with master. Mostly FAT FS related updates. Not tested after merge. 2017-02-07 23:30:54 +01:00
Glenn Ruben Bakke
723943abde nrf5/modules: Adding new and print function to ubluepy peripheral class. Template functions only. 2017-02-07 22:17:55 +01:00
Glenn Ruben Bakke
b6779fa95a nrf5/modules: Adding ubluepy UUID class template. 2017-02-06 20:51:24 +01:00
Glenn Ruben Bakke
ef5228ae57 nrf5/modules: Adding ubluepy characteristic class template. 2017-02-06 20:48:01 +01:00
Glenn Ruben Bakke
4cda1b37fd nrf5/modules: Adding missing #endif. Also adding to property templates to the lolcal dict. 2017-02-06 20:41:42 +01:00
Glenn Ruben Bakke
c2fb8bf9c2 nrf5/modules: Adding ubluepy service class template. 2017-02-06 20:36:36 +01:00
Glenn Ruben Bakke
3cd518af3a nrf5/modules: Updating ubluepy with class function placeholders. 2017-02-06 20:19:06 +01:00
Glenn Ruben Bakke
73d00c98a0 nrf5/modules: Renaming ble module folder to ubluepy. 2017-02-05 21:10:44 +01:00
Glenn Ruben Bakke
21c4e4633b nrf5/modules: Adding new template file for ubluepy Peripheral class. 2017-02-05 21:10:06 +01:00
Glenn Ruben Bakke
2b1ceadfab nrf5/pyb: Moving pyb module into modules/pyb. 2017-02-05 20:30:58 +01:00
Glenn Ruben Bakke
2ad9426917 nrf5/utime: Moving utime module into modules/utime. 2017-02-05 20:28:26 +01:00
Glenn Ruben Bakke
65fb0c9829 nrf5/uos: Moving uos module into modules/uos. 2017-02-05 20:25:27 +01:00
Glenn Ruben Bakke
0983f43ae1 nrf5/network: Moving network module into modules/network. Adding include path to network as its needed by the usocket module. 2017-02-05 20:19:52 +01:00
Glenn Ruben Bakke
9fcef29dfa nrf5/usocket: Moving usocket module into modules/usocket. 2017-02-05 20:15:50 +01:00
Glenn Ruben Bakke
3c71e75461 nrf5/led: Moving led module into modules/machine. 2017-02-05 20:06:24 +01:00
Glenn Ruben Bakke
42e9b0f735 nrf5/led: Moving led module into modules/machine. 2017-02-05 20:06:06 +01:00
Glenn Ruben Bakke
8601963291 nrf5/pwm: Moving pwm module into modules/machine. 2017-02-05 20:03:52 +01:00
Glenn Ruben Bakke
a7103ef551 nrf5/rtc: Moving rtc module into modules/machine. 2017-02-05 20:01:15 +01:00
Glenn Ruben Bakke
9295f2df29 nrf5/timer: Moving timer module into modules/machine. 2017-02-05 19:59:34 +01:00
Glenn Ruben Bakke
93eb533579 nrf5/pin: Moving pin module into modules/machine. 2017-02-05 19:56:24 +01:00
Glenn Ruben Bakke
616d76cb7a nrf5/adc: Moving adc module into modules/machine. 2017-02-05 16:17:12 +01:00
Glenn Ruben Bakke
eea975cd25 nrf5/i2c: Moving i2c module into modules/machine. 2017-02-05 00:05:20 +01:00
Glenn Ruben Bakke
ab1994b2b2 nrf5/spi: Moving spi module into modules/machine. 2017-02-05 00:03:49 +01:00
Glenn Ruben Bakke
cb2d040726 nrf5/uart: Moving uart module into modules/machine to start converting it into machine module and not pyb. 2017-02-05 00:00:42 +01:00
Glenn Ruben Bakke
8c404909e1 nrf5/machine: Moving modmachine into modules/machine folder. Updating Makefile. 2017-02-04 23:56:42 +01:00
Glenn Ruben Bakke
ab21a6a915 nrf5/drivers: Renaming folder to modules. 2017-02-04 23:51:11 +01:00
Glenn Ruben Bakke
e68681804e nrf5: Renaming python modules folder to freeze to give the folder its right meaning. The scripts put into this folder will be frozen. 2017-02-04 23:46:29 +01:00
Glenn Ruben Bakke
357b21ae72 nrf5/drivers: Adding template for ubluepy module. 2017-02-04 19:32:40 +01:00
Glenn Ruben Bakke
f8a71311ed nrf5/sdk: Adding compilation config whether to include BLE NUS implementation. Config found in sdk/nrf5_sdk_conf.h. NUS enabled for s132 targets by default. 2017-02-04 16:24:50 +01:00
Glenn Ruben Bakke
b6d54cbcaf nrf5: Fallback to HW UART when not Bluetooth LE UART has been enabled. 2017-02-04 16:15:49 +01:00
Glenn Ruben Bakke
e9e98e777d nrf5: Updating main.c to use MICROPY_PY_BLE_NUS as switch for regular uart initialization or bluetooth le uart initialization. 2017-02-04 16:08:42 +01:00
Glenn Ruben Bakke
918617d1eb nrf5/sdk: Adding work-in-progress script to connect to bluetooth le REPL using bluepy python module in linux. 2017-02-04 01:12:30 +01:00
Glenn Ruben Bakke
4ddc213d7f nrf5/boards: Updating board makefiles for s132 and s1xx target for pca10040 (nrf52832) by adding sub variant and device define to the makefiles. 2017-02-03 19:28:16 +01:00
Glenn Ruben Bakke
5ae960947c nrf5/examples: Updating ssd1306.py example with a comment describing proceedure on how to use the I2C variant of the driver. 2017-02-02 23:50:43 +01:00
Glenn Ruben Bakke
e8b4a97d7d nrf5/hal: Line wrapping params in hal_spi.c to make it easier to read. 2017-02-02 23:47:30 +01:00
Glenn Ruben Bakke
cd096f604e nrf5/hal: Updating hal_twi.c tx implementation to a working state. STARTTX only issued once, before looping bytes. 2017-02-02 23:45:44 +01:00
Glenn Ruben Bakke
2517ce48f8 nrf5/examples: Updating ssd1306.py driver to work with i2c master write implementation. 2017-02-02 23:43:52 +01:00
Glenn Ruben Bakke
c7162720c1 nrf5/hal: Updating hal_twi.c with tx function. Gets multiple startup bytes for each clocked byte. 2017-02-02 22:55:25 +01:00
Glenn Ruben Bakke
fed06e278b nrf5/hal: Updating hal_twi.c with tx function which partly works. Bytes are clocked out a bit out of order. 2017-02-02 20:51:43 +01:00
Glenn Ruben Bakke
0629abac53 nrf5/hal: Started implementation of hal_twi.c (non-DMA). Init function started. 2017-02-02 20:03:50 +01:00
Glenn Ruben Bakke
70d64e2892 nrf5: Removing hal_twie.c from being compiled in. 2017-02-02 19:37:29 +01:00
Glenn Ruben Bakke
5e9e48e9e3 nrf5: Renaming configuration define in board configs using i2c from MICROPY_PY_MACHINE_HW_I2C to MICROPY_PY_MACHINE_I2C as the config is overlapping with the latter. 2017-02-02 18:43:12 +01:00
Glenn Ruben Bakke
4cbdbc9a4b nrf5: Renaming configuration define in board configs using i2c from MICROPY_PY_MACHINE_HW_I2C to MICROPY_PY_MACHINE_I2C as the config is overlapping with the latter. 2017-02-02 18:41:44 +01:00
Glenn Ruben Bakke
14d4a8def8 nrf5: Making i2c configurable from board configuration in case board has to sacrifice the i2c machine module. 2017-02-02 18:33:03 +01:00
Glenn Ruben Bakke
0066f226aa nrf5/boards: Activating all display drivers in pca10056 board. 2017-02-02 18:29:51 +01:00
Glenn Ruben Bakke
44daeb7d94 nrf5/boards: Updating s110 SD linker script for micro:bit. 2017-02-02 18:08:28 +01:00
Glenn Ruben Bakke
9e6acda85c nrf5/i2c: Making use of hal twi tx function in writeto function. 2017-01-31 22:48:07 +01:00
Glenn Ruben Bakke
4b38644531 nrf5/hal: Updating twi driver with template functions. 2017-01-31 22:46:04 +01:00
Glenn Ruben Bakke
4a568ec1ed nrf5/hal: Updating TWI DMA implementation. Suspend not working on tx. Rx not implemented yet. 2017-01-31 22:36:47 +01:00
Glenn Ruben Bakke
5004a6f811 nrf5/hal: Updating twi master tx with stop parameter. 2017-01-30 23:05:27 +01:00
Glenn Ruben Bakke
ed976e07fe nrf5/hal: Adding i2c master functions for tx and rx in hal header. 2017-01-30 21:32:20 +01:00
Glenn Ruben Bakke
8ffe804c24 nrf5/hal: Adding new macros functions to mphalport.h which are used by extmod i2c machine module. 2017-01-30 00:32:19 +01:00
Glenn Ruben Bakke
61c026e51f nrf5/i2c: Adopting use of extmod/machine_i2c module as base for port's machine i2c module. 2017-01-30 00:31:00 +01:00
Glenn Ruben Bakke
bb9cd36314 nrf5/i2c: Backing up before trying out extmod i2c integration. 2017-01-29 17:53:01 +01:00
Glenn Ruben Bakke
fec5c75068 nrf5: Adding i2c class to machine module globals table. 2017-01-29 16:41:18 +01:00
Glenn Ruben Bakke
bfc67dd99c nrf5: Updating main.c to initialize the i2c machine module if selected. 2017-01-29 16:38:48 +01:00
Glenn Ruben Bakke
f529aa9e67 nrf5/i2c: Updating i2c machine module with new constructor parameters to set scl and sda pins. Also updating print funciton to debug pin number and port number for the gpio set. 2017-01-29 16:38:13 +01:00
Glenn Ruben Bakke
1421ca4adc nrf5/i2c: Updating i2c module to new new hal api, as master is initialized with its own init function. 2017-01-28 23:46:31 +01:00
Glenn Ruben Bakke
97a3fd4f3a nrf5/hal: Adding members to TWI config struct, device address and scl/sda pin. Renaming and adding function such that twi slave and master has seperate init function. Started implementation of master init function for nrf52 using DMA (hal_twie.c). 2017-01-28 23:45:30 +01:00
Glenn Ruben Bakke
9787c4af7b nrf5/i2c: Updating module to use new struct layout from hal_twi.h 2017-01-28 22:55:35 +01:00
Glenn Ruben Bakke
1c778f020f nrf5/hal: Updating TWI with frequency enums. 2017-01-28 22:54:44 +01:00
Glenn Ruben Bakke
726fe1aa27 nrf5/examples: Updating game file to use ssd1305 display driver. 2017-01-26 23:37:19 +01:00
Glenn Ruben Bakke
d37d799204 nrf5/drivers: Updating examples in comment in oled ssd1305 object to use the draw module. 2017-01-26 22:56:30 +01:00
Glenn Ruben Bakke
87e7ab8862 nrf5/hal: Fixing nrf51 SPI pin configuration to use pin member of struct. 2017-01-26 22:31:23 +01:00
Glenn Ruben Bakke
9009ad67b0 nrf5/boards: Updating boards to comply to new style of configuring pins for uart and spi. 2017-01-26 22:29:58 +01:00
Glenn Ruben Bakke
6387490e4a nrf5/boards: Updating board configuration for pca10056 (nrf52840) with new pin configuration scheme for SPI and UART. 2017-01-26 22:15:35 +01:00
Glenn Ruben Bakke
0b0cb19608 nrf5/hal: Updating hal QSPI header with define guard to filter out usage of undefined structures and names when compiling against non-52840 targets. 2017-01-26 22:10:36 +01:00
Glenn Ruben Bakke
b4d53ad560 nrf5/drivers: Updating display objects to use new SPI pin configuration in print function. 2017-01-26 22:08:39 +01:00
Glenn Ruben Bakke
0254cab228 nrf5/hal: Updating SPI DMA variant with more frequencies, and allowing rx and tx buffers to be NULL. 2017-01-26 22:01:43 +01:00
Glenn Ruben Bakke
632afd1fa8 nrf5/uart: Updating uart module to use new config hal config structure members for pins. Changing board config provided pins to use const pointers from generated pins instead of pin name. 2017-01-26 21:59:37 +01:00
Glenn Ruben Bakke
d87d0141b3 nrf5/hal: Updating uart hal to use pointers to Pin objects instead of uint pin and port number. 2017-01-26 21:58:12 +01:00
Glenn Ruben Bakke
3c6c6c6d05 nrf5/hal: Updating uart hal to use pointers to Pin objects instead of uint pin and port number. 2017-01-26 21:57:38 +01:00
Glenn Ruben Bakke
afcf07ca76 nrf5: Updating modmachine to add SPI in globals dict when MICROPY_PY_MACHINE_HW_SPI define is set. This diverge from regular MICROPY_PY_MACHINE_SPI config. Fixes missing SPI in the machine module after renaming port SPI enable define. 2017-01-26 21:31:24 +01:00
Glenn Ruben Bakke
f94836ef74 nrf5: Updating main.c to enable SPI if MICROPY_PY_MACHINE_HW_SPI is set. This diverge from regular MICROPY_PY_MACHINE_SPI config. Fixing missing init of SPI after renaming port SPI enable define. 2017-01-26 21:29:24 +01:00
Glenn Ruben Bakke
8653ac9ef8 nrf5/spi: Adding multiple instances of machine SPI depending on which chip is targeted (nrf51/nrf52832/nrf52540). Updating board config requirement to give variable name of const pointer to Pin instead of a Pin name. Adding support of giving keyword set mosi/miso/clk pin through constructor. 2017-01-26 21:27:59 +01:00
Glenn Ruben Bakke
437f3d2477 nrf5/hal: Updating SPI hal with full list of SPI interfaces as lookup tables for all devices. Updating init struct to pass Pin instance pointers instead of uint pin number and ports. 2017-01-26 21:24:31 +01:00
Glenn Ruben Bakke
197c052ca6 nrf5/drivers: Activate ssd1289 object in the display module. 2017-01-25 19:52:18 +01:00
Glenn Ruben Bakke
0fdcd2eac7 nrf5/boards: Adding ssd1289 lcd module in pca10040 (nrf52832) board. 2017-01-25 19:51:14 +01:00
Glenn Ruben Bakke
83b234f878 nrf5: Adding ssd1289 driver and python module into build. 2017-01-25 19:49:30 +01:00
Glenn Ruben Bakke
c442588b92 nrf5/drivers: Adding ssd1289 lcd tft driver and python module. 2017-01-25 19:47:25 +01:00
Glenn Ruben Bakke
5cc4890119 nrf5/hal: Fixing compile issues in quad SPI driver. 2017-01-23 00:33:27 +01:00
Glenn Ruben Bakke
fcd9ce2015 nrf5/hal: Updating Quad SPI hal driver. 2017-01-23 00:11:50 +01:00
Glenn Ruben Bakke
0662e1ccf5 nrf5/hal: Aligning assignment in hal_adc.c 2017-01-23 00:10:04 +01:00
Glenn Ruben Bakke
1bd9003338 nrf5/hal: Adding more types to quad SPI header. 2017-01-22 23:04:25 +01:00
Glenn Ruben Bakke
e40c385c6a nrf5: Syncing code after upmerge with master. 2017-01-22 22:18:44 +01:00
Glenn Ruben Bakke
e02c90dca5 nrf5/hal: Updating clock frequency enums and lookup table for quad spi. 2017-01-22 19:15:24 +01:00
Glenn Ruben Bakke
a7f3217c95 nrf5/hal: Adding QSPI base and IRQ num in c-file. 2017-01-22 18:31:42 +01:00
Glenn Ruben Bakke
2c1420b084 nrf5/hal: Adding hal template files for 32mhz Quad SPI peripheral. 2017-01-21 21:44:26 +01:00
Glenn Ruben Bakke
e52ec39120 nrf5/drivers: Optimizing update_line in ili9341 driver a bit. 2017-01-21 21:22:02 +01:00
Glenn Ruben Bakke
c1a609653f nrf5/drivers: Adding space in macro. 2017-01-20 19:31:10 +01:00
Glenn Ruben Bakke
34aeaf97c1 nrf5/drivers: Adding rgb16.h with macro to convert 5-6-5 rgb values into a 16-bit value. 2017-01-20 19:17:31 +01:00
Glenn Ruben Bakke
6124e8db76 nrf5: Adding configuration defines for SSD1289 lcd driver. 2017-01-19 22:47:23 +01:00
Glenn Ruben Bakke
0156ebd277 nrf5: Removing old framebuffer implementation. 2017-01-19 22:31:27 +01:00
Glenn Ruben Bakke
506601bef7 nrf5: Remove old framebuffer implementation from being included into the build. 2017-01-19 22:30:42 +01:00
Glenn Ruben Bakke
96c8f9c082 nrf5/drivers: Enable framebuffer and graphics module to be compiled in by default if display is selected into the compilation. 2017-01-19 22:30:11 +01:00
Glenn Ruben Bakke
adccc2fa13 nrf5/drivers: Updating epaper driver sld00200p to use new framebuffer. 2017-01-19 22:25:24 +01:00
Glenn Ruben Bakke
1f7bc76361 nrf5/drivers: Removing debug printf's from epaper display python module. 2017-01-19 20:55:00 +01:00
Glenn Ruben Bakke
225b3dfd19 nrf5/drivers: Updating python example in comment for ls0xxb7dxx display module. 2017-01-19 20:49:27 +01:00
Glenn Ruben Bakke
8e6b51a605 nrf5/boards: Enable LS0XXB7DXXX display module in pca10056 board config. 2017-01-19 20:46:58 +01:00
Glenn Ruben Bakke
5f9c556092 nrf5/drivers: Adding ls0xxb7dxx to display module. 2017-01-19 20:45:51 +01:00
Glenn Ruben Bakke
b06114dc8d nrf5: Adding ssd1305 and ls0xxb7dxxx (sharp memory display) drivers to be included in build. 2017-01-19 20:44:27 +01:00
Glenn Ruben Bakke
158edcad2c nrf5/drivers: Updating sharp memory display driver and python module to a working state. 2017-01-19 20:43:23 +01:00
Glenn Ruben Bakke
4cef9cd480 nrf5/spi: Adding posibility to configure SPI firstbit mode to LSB or MSB. Default is MSB. Updating python module and hal driver. 2017-01-19 20:04:49 +01:00
Glenn Ruben Bakke
ca34429617 nrf5/drivers: Tuning memory lcd driver a bit. Fixing small mp_printf usage bug. 2017-01-18 23:01:53 +01:00
Glenn Ruben Bakke
16489fced2 nrf5/drivers: Adding sharp memory display driver. For now hardcoded to 2.7 inch variant. 2017-01-17 23:15:30 +01:00
Glenn Ruben Bakke
174562f95b nrf5: Adding configuration define for sharp memory display series in mpconfigport.h preparing for driver to be included. 2017-01-17 00:36:48 +01:00
Glenn Ruben Bakke
00a59ed8d6 nrf5/boards: Enable ssd1305 oled display to be default for pca10028 for now. 2017-01-16 23:39:50 +01:00
Glenn Ruben Bakke
733040e647 nrf5/drivers: Adding ssd1305 oled driver. This is very similar to ssd1306, so a merge will happen soon. 2017-01-16 23:37:52 +01:00
Glenn Ruben Bakke
40ee000680 nrf5/drivers: Adding ssd1305 oled driver. This is very similar to ssd1306, so a merge will happen soon. 2017-01-16 23:34:41 +01:00
Glenn Ruben Bakke
6ab233a5ba nrf5/drivers: Updating ili9341 display object to use new framebuffer. 2017-01-15 22:47:30 +01:00
Glenn Ruben Bakke
535f44b8bf nrf5/drivers: Updating ili9341 driver to use new framebuffer, and removing the compressed param from the line update function. 2017-01-15 22:46:23 +01:00
Glenn Ruben Bakke
8603fc833f nrf5: Adding micropython mem_info() to be included in mpconfigport.h. 2017-01-15 22:42:49 +01:00
Glenn Ruben Bakke
5618be883b nrf5/drivers: Adding example in comment on how to use the ili9341 driver with nrf51/pca10028 board. 2017-01-15 20:32:24 +01:00
Glenn Ruben Bakke
0380d2e781 nrf5/examples: Adding a extra global variable to the game which breaks the game execution. 2017-01-15 19:59:09 +01:00
Glenn Ruben Bakke
b0a730d482 nrf5/examples: Adding 2048 game using OLED SSD1306 128x64 display and analog joystick. 2017-01-15 19:47:13 +01:00
Glenn Ruben Bakke
73be85dd6d nrf52/boards: Increasing the stack and heap in pca10056 (nrf52840) target from 2k/32k to 40k/128k to debug some buffer problems when running large frozen python programs. 2017-01-15 19:39:57 +01:00
Glenn Ruben Bakke
c6fc0a134c nrf51/boards: Increasing heap and stack size in the pca10028 board. 2017-01-15 19:37:53 +01:00
Glenn Ruben Bakke
7edea7848d nrf51/boards: Enable display driver and oled ssd1306 (also bringing in framebuffer and graphics module) into the pca10028 target. 2017-01-15 19:34:52 +01:00
Glenn Ruben Bakke
1bbbb9dcae nrf5: Enable display/framebuffer.c and graphic/draw.c into the build. 2017-01-15 19:32:59 +01:00
Glenn Ruben Bakke
13161d0eac nrf5/drivers: Adding defines to exclude implementation of draw.c module if not enabled. 2017-01-15 19:32:11 +01:00
Glenn Ruben Bakke
b609ce85b5 nrf5: Adding configuration defines for the graphics module (draw) and enabling this by default if using oled ssd1306 display which has a compatible python object definition. 2017-01-15 19:31:22 +01:00
Glenn Ruben Bakke
bfca15bdff nrf5/drivers: Adding draw module with circle, rectangle and text functions. Can be used by any display object which implements display callback functions. 2017-01-15 19:18:14 +01:00
Glenn Ruben Bakke
4c06455105 nrf5/drivers: Moving oled ssd1306 driver over to new framebuffer layout. Moving some of the draw algorithms into the object in order to optimize the speed on writing data from the framebuffer. 2017-01-15 19:06:48 +01:00
Glenn Ruben Bakke
2b383b4ede nrf5/hal: Removing stdio.h include in adce.c which were used for debugging. 2017-01-15 17:55:35 +01:00
Glenn Ruben Bakke
c87716d715 nrf5/boards: Adding ADC pins in pins.csv file for pca10056 (nrf52840). 2017-01-15 17:53:30 +01:00
Glenn Ruben Bakke
496de3a839 nrf52/hal: Adding adce (saadc) implementation for nrf52 to sample values on a channel. 2017-01-15 17:51:49 +01:00
Glenn Ruben Bakke
63fc32e56f nrf5/adc: Adding all 8 instances to adc python module. Valid for both nrf51 and nrf52. 2017-01-15 17:28:41 +01:00
Glenn Ruben Bakke
56b3655f7e nrf5/drivers: Adding new structures to moddisplay. Adding a display_t structure to cast all other displays into, to retrieve function pointer table of a display object type. Also adding the function table structure which needs to be filled by any display object. 2017-01-15 16:21:27 +01:00
Glenn Ruben Bakke
46caefbeeb nrf5/drivers: Adding a new framebuffer implementation to replace the mono_fb. 2017-01-15 16:15:21 +01:00
Glenn Ruben Bakke
a5bb966614 nrf5/boards: Updating pca10028 (nrf51) board config. Enable SPI machine module. Enable flow control on UART. Correcting SPI CLK, MISO and MOSI pin assignments. 2017-01-12 19:54:07 +01:00
Glenn Ruben Bakke
6c54ed9a09 nrf5/adc: Updating adc module and hal with a new interface. No need for keeping peripheral base address in structure when there is only one peripheral (nrf51). 2017-01-12 17:20:08 +01:00
Glenn Ruben Bakke
24abb69eec nrf5/rtc: Correcting RTC1 base error in rtc template. 2017-01-12 08:47:16 +01:00
Glenn Ruben Bakke
719bdcfed4 nrf5: Adding adc module to machine module. 2017-01-11 22:13:18 +01:00
Glenn Ruben Bakke
4da435376d nrf5/hal: Updating hal_adc* with more api functions. 2017-01-11 22:12:41 +01:00
Glenn Ruben Bakke
38bb518e19 nrf5/adc: Adding updated adc module. 2017-01-11 22:01:20 +01:00
Glenn Ruben Bakke
994341fc3b nrf5/boards: Enabling ADCE (SAADC) variant of adc hal to match hardware on nrf52 series. 2017-01-11 20:19:31 +01:00
Glenn Ruben Bakke
3e112c40f3 nrf5/boards: Adding ADC config to pca10028 pins.csv 2017-01-11 20:18:04 +01:00
Glenn Ruben Bakke
8349fd0bb9 nrf5/boards: Tuning linker script for nrf51822_ac to get some more heap. 2017-01-11 20:14:53 +01:00
Glenn Ruben Bakke
affe0f8e98 nrf5: Updating nrf51_af.csv to reflect pins having ADC on the chip. 2017-01-11 20:13:59 +01:00
Glenn Ruben Bakke
5d5d06ff41 nrf5/boards: Updating make-pins.py to generate ADC pin settings from board pins.csv. 2017-01-11 20:12:32 +01:00
Glenn Ruben Bakke
bcf47b465e nrf5/hal: Updating hal_adc header to use correct Type for ADC on nrf52. 2017-01-11 17:29:50 +01:00
Glenn Ruben Bakke
728f98dc07 nrf5/adc: Updating module to compile. 2017-01-11 17:29:15 +01:00
Glenn Ruben Bakke
a0b0e13785 nrf5/boards: Enable ADC machine module for pca10028, pca10040 and pca10056. 2017-01-11 17:28:38 +01:00
Glenn Ruben Bakke
e952ab16b3 nrf5: Add add ADC machine module into build. 2017-01-11 17:20:18 +01:00
Glenn Ruben Bakke
6e6f139868 nrf5: Adding new config for ADC module in mpconfigport.h. 2017-01-11 17:18:54 +01:00
Glenn Ruben Bakke
0edf96fba6 nrf5/adc: Adding ADC machine module base files. Implementation missing. 2017-01-11 17:16:32 +01:00
Glenn Ruben Bakke
002ece145e nrf5: Adding hal_adc* into build. 2017-01-11 17:04:53 +01:00
Glenn Ruben Bakke
7016ece34d nrf5/boards: Enable ADC/SAADC hal for pca10028 (nrf51), pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-11 17:04:08 +01:00
Glenn Ruben Bakke
3b0fe69366 nrf5/hal: Removing chip variant guard for hal_adc*, and let this be up to the hal conf file to not mess up at the moment. 2017-01-11 17:02:41 +01:00
Glenn Ruben Bakke
d1f5e0992b nrf5: Add i2c.c, i2c machine module, and hal_twi into build. 2017-01-11 16:54:56 +01:00
Glenn Ruben Bakke
383db817f9 nrf5/boards: Enable hardware I2C machine module for pca10028 (nrf51), pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-11 16:54:00 +01:00
Glenn Ruben Bakke
8ca63e7196 nrf5/boards: Enable TWI hal for pca10028 (nrf51), pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-11 16:52:45 +01:00
Glenn Ruben Bakke
d7eec2032e nrf5/i2c: Adding files for hardware i2c machine module and adding config param in mpconfigport to disable by default. 2017-01-11 16:49:55 +01:00
Glenn Ruben Bakke
72b7e596ee nrf5/hal: Adding template files for TWI (i2c) hal. 2017-01-11 16:46:43 +01:00
Glenn Ruben Bakke
16dbbdfe9c nrf5/hal: Adding template files for ADC hal. 2017-01-11 16:43:31 +01:00
Glenn Ruben Bakke
ea7416216c nrf5/drivers: Correcting tabbing in oled ssd1306 c-module. 2017-01-10 18:31:44 +01:00
Glenn Ruben Bakke
28e1e506f6 nrf5/boards: Enable SSD1306 spi driver for pca10040 (nrf52832) and pca10056 (nrf52840) boards. 2017-01-10 18:28:11 +01:00
Glenn Ruben Bakke
073cfc0a2e nrf5/drivers: Adding SSD1306 SPI display driver. Not complete, but can do fill screen operation atm. 2017-01-10 18:26:58 +01:00
Glenn Ruben Bakke
1d2bf26373 nrf5/drivers: Adding epaper display example script in comment for pca10056 / nrf52840 in the display module. 2017-01-09 19:45:37 +01:00
Glenn Ruben Bakke
dd7007240c nrf5/boards: Enable PWM module and epaper display module in pca10056 board config. 2017-01-09 19:44:31 +01:00
Glenn Ruben Bakke
1208970f6c nrf5/drivers: Adding some more delay on bootup to ensure display recovers after reset. 2017-01-09 19:33:01 +01:00
Glenn Ruben Bakke
22c7cf7358 nrf5/examples: Adding copy of ssd1306.py driver hardcoded with SPI and Pin assignments. 2017-01-09 17:52:42 +01:00
Glenn Ruben Bakke
2ac3b23c0e nrf5/drivers: Updating ili9341 driver to set CS high after cmd or data write. 2017-01-09 17:51:16 +01:00
Glenn Ruben Bakke
6b976c410c nrf5/drivers: Extending print function for ili9341 object to also print out gpio port of the SPI pins. 2017-01-08 22:35:46 +01:00
Glenn Ruben Bakke
4ca61a9d0e nrf5/boards: Giving a bit more heap for nrf52840 linker script. 2017-01-08 22:34:48 +01:00
Glenn Ruben Bakke
9a8bf934c6 nrf5/drivers: bugfix of the sld00200p driver. Stopping the pwm instead of restarting it. Shuffle placement of static function. 2017-01-08 21:29:13 +01:00
Glenn Ruben Bakke
859380afe8 nrf5/drivers: Correcting object print function to also include port number of the SPI pins. Correcting usage script example in comment. 2017-01-08 21:27:37 +01:00
Glenn Ruben Bakke
8a69f42f84 nrf5/drivers: Adding an initial script as comment for ili9341 on nrf52840/pca10056 in the driver module comment. 2017-01-08 21:25:42 +01:00
Glenn Ruben Bakke
06e0f5d081 nrf5/examples: Removing tabs from epaper python script usage comment, so that it is easier to copy paste. 2017-01-08 21:23:33 +01:00
Glenn Ruben Bakke
b83052f8d1 nrf5/hal: Refining if-defs to set up GPIO base pointers in mphalport.h 2017-01-08 21:20:59 +01:00
Glenn Ruben Bakke
130f407287 nrf5/devices: Removing define which clutters ported modules from nrf.h. 2017-01-08 21:20:12 +01:00
Glenn Ruben Bakke
268d988553 nrf5/boards: Enabling spi in pca10056 hal config. 2017-01-08 21:19:23 +01:00
Glenn Ruben Bakke
c8cc2aa6f9 nrf5/boards: Enabling ili9341 display drivers and to be compiled in on pca10056 target board. Updating SPI configuration with gpio port. 2017-01-08 21:18:18 +01:00
Glenn Ruben Bakke
bc22cc9ce8 nrf5/boards: Enabling display drivers/spi/pwm to be compiled in on pca10040 target board. Updating SPI configuration with gpio port. 2017-01-08 21:16:41 +01:00
Glenn Ruben Bakke
0676c9774a nrf5/hal: Correcting SPI psel port position define name to the one defined in nrf52840_bitfields.h 2017-01-08 20:31:30 +01:00
Glenn Ruben Bakke
604ae87192 nrf5/led: Hardcoding GPIO port 0 for Led module for now. 2017-01-08 16:41:48 +01:00
Glenn Ruben Bakke
3e1da27f2b nrf5/hal: Changing import of nrf52 includes in hal_uarte.c to not be explicit. Now only nrf.h is included. 2017-01-08 16:41:11 +01:00
Glenn Ruben Bakke
43a2355665 nrf5: Updating pin, spi and uart to use port configuration for gpio pins. Update pin generation script, macros for PIN generation. Updating macros for setting pin values adding new port parameter to select the correct GPIO peripheral port. 2017-01-08 16:40:18 +01:00
Glenn Ruben Bakke
014e650499 nrf5/boards: Disable SPI hal from pca10001 board. 2017-01-08 16:28:18 +01:00
Glenn Ruben Bakke
ec44f6427b nrf5/boards: Disable SPI/Timer/RTC hal from microbit board. 2017-01-08 16:27:35 +01:00
Glenn Ruben Bakke
8e71bcea07 nrf5: Exclude import of pwm.h in modmachine.c if MICROPY_PY_MACHINE_PWM is not set, as nrf51 does not yet have this module yet. 2017-01-08 16:26:03 +01:00
Glenn Ruben Bakke
b75cefd383 nrf5: Exclude import of pwm.h in main.c if MICROPY_PY_MACHINE_PWM is not set, as nrf51 does not yet have this module yet. 2017-01-08 16:25:10 +01:00
Glenn Ruben Bakke
c389872408 nrf5/drivers: Block nrf51 from compiling epaper_sld00200p for the moment. There is no soft-pwm present yet, and including pwm would just make compilation fail now. 2017-01-08 16:23:00 +01:00
Glenn Ruben Bakke
db9eef64a5 nrf5/hal: Making nrf51/2_hal.h go trough nrf.h to find bitfields and other mcu headers instead of explicit include. 2017-01-08 16:20:01 +01:00
Glenn Ruben Bakke
392e226b2c nrf5/boards: Adding more pins to nrf52840 / pca10056 target board. 2017-01-08 16:16:29 +01:00
Glenn Ruben Bakke
942942780f nrf5/pin: Adding more pins to nrf52_af.csv file for nrf52840. Port '1' will be prefixed 'B'. 2017-01-08 16:10:47 +01:00
Glenn Ruben Bakke
ef8e679d77 nrf5/pin: Adding PORT_B to Pin port enum to reflect gpio port 1 on nrf52840. 2017-01-08 16:08:47 +01:00
Glenn Ruben Bakke
6973c13608 nrf5/boards: Updating all board configs with gpio port configuration for uart/spi pins. Leds still not defined by gpio port. 2017-01-08 16:04:52 +01:00
Glenn Ruben Bakke
307f95bd03 nrf5/devices: Updating header files for nrf51 and nrf52. Adding headers for nrf52840. 2017-01-08 15:32:26 +01:00
Glenn Ruben Bakke
19d354ed05 nrf5: Updating to use new nrfjprog in makefile. Needed for nrf52840 targets. Changed from pinreset to debug reset. 2017-01-08 15:17:03 +01:00
Glenn Ruben Bakke
4f04eed4c5 nrf5/boards: Updating makefiles to use system.c files based on sub-variant of mcu. 2017-01-08 15:15:36 +01:00
Glenn Ruben Bakke
721065b307 nrf5/devices: Renaming system.c files for nrf51 and nrf52 to be more explicit on which version of chip they are referring to. 2017-01-08 13:32:13 +01:00
Glenn Ruben Bakke
9214381671 nrf5/drivers: Backing up working epaper display (sld00200p shield) driver before refactoring. 2017-01-07 00:07:17 +01:00
Glenn Ruben Bakke
a2e2f3c07e nrf5/drivers: Fixing parenthesis in ILI9341 __str__ print function. 2017-01-06 23:41:16 +01:00
Glenn Ruben Bakke
ad4149cc80 nrf5/pwm: Moving out object types to header file so that it can be resused by other modules. 2017-01-06 23:40:23 +01:00
Glenn Ruben Bakke
67683722c8 nrf5/drivers: Updating a working version of ili9341 module and driver. About 10 times faster than python implementation to update a full screen. 2017-01-06 20:18:00 +01:00