Commit Graph

472 Commits

Author SHA1 Message Date
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
Glenn Ruben Bakke
f92e581e13 nrf5: Started to split up lcd_mono_fb such that it can be used as a c-library and python module with the same implementaton. 2017-01-06 20:06:09 +01:00
Glenn Ruben Bakke
795df06283 nrf5/hal: Adding include of stdbool.h in hal_spi.h as it is used by the header. 2017-01-06 19:59:58 +01:00
Glenn Ruben Bakke
62c3f9c1e3 nrf5/drivers: Adding preliminary file for ili9341 lcd driver. 2017-01-05 21:57:59 +01:00
Glenn Ruben Bakke
042e3653cf nrf5/hal: Adding support for NULL pointer to be set if no rx buffer is of interest in SPI rx_tx function. 2017-01-05 21:56:17 +01:00
Glenn Ruben Bakke
a8dc8cb236 nrf5: Adding ili9341 class and driver files in Makefile to be included in build. 2017-01-05 20:16:24 +01:00
Glenn Ruben Bakke
a62573ad41 nrf5/drivers: Adding template files for upcomming ili9341 driver. 2017-01-05 20:15:23 +01:00
Glenn Ruben Bakke
5079cb0a25 nrf5/drivers: Adding lcd ili9341 object implementation to make a new instance. print implemented for debugging pins assigned to the display driver. No interaction yet with the hal driver. 2017-01-05 20:13:51 +01:00
Glenn Ruben Bakke
28539221ce nrf5/drivers: Adding ILI9341 class to the display global dict. 2017-01-05 20:01:23 +01:00
Glenn Ruben Bakke
56d187b942 nrf5/boards: Changing tft lcd display name from SLD10261P to ILI9341 in pca10040 board configuration. 2017-01-05 19:59:25 +01:00
Glenn Ruben Bakke
e7c535b0cb nrf5: Moving out mp_obj_framebuf_t to the header file to get access to it from other modules. Exposing helper function to make new framebuffer object from c-code. 2017-01-05 19:58:12 +01:00
Glenn Ruben Bakke
4c24d39122 nrf5: Trimming down display configurations in mpconfigport.h 2017-01-05 19:56:09 +01:00
Glenn Ruben Bakke
f9ffcfdb7d nrf5/spi: Moving *_spi_obj_t out of implementation file to header. Setting hal init structure in the object structure instead of making a temp struct to configure hal. This would enable lookup of the spi settings later. 2017-01-05 19:50:20 +01:00
Glenn Ruben Bakke
b85b3b4e24 nrf5: Removing epaper, lcd and oled modules from Makefile source list as the display modules has been moved to display root folder. 2017-01-05 10:35:39 +01:00
Glenn Ruben Bakke
aaadec99e0 nrf5/drivers: Removing one level of module hierarchy in display drivers. Removed epaper, lcd and oled modules, making import of classes happen directly from display module. 2017-01-05 00:49:21 +01:00
Glenn Ruben Bakke
6cddad02a8 nrf5/drivers: Creating python object implementation (locals) to be used for epaper sld00200p. 2017-01-04 21:10:06 +01:00
Glenn Ruben Bakke
4c0bb63e2b nrf5: Moving color defines in lcd_mono_fb from .c to .h so that it can be reused by other modules. 2017-01-04 21:06:51 +01:00
Glenn Ruben Bakke
6a077806c6 nrf5: Enable MICROPY_FINALISER and REPL_AUTO_INDENT. 2017-01-04 20:11:41 +01:00
Glenn Ruben Bakke
31a54e063a nrf5/drivers: Adding requirement for nrf52 target on the epaper sld00200p for now. There is no ported PWM module for nrf51 target yet. Hence, soft PWM for nrf51 needs to be added. 2017-01-04 20:05:01 +01:00
Glenn Ruben Bakke
cc3364db7f nrf5: Adding suffix to _obj on epaper_sld00200p module. 2017-01-04 20:00:10 +01:00
Glenn Ruben Bakke
643bf19466 nrf5: Correcting define name for epaper sld00200p, missing 0. 2017-01-04 19:59:12 +01:00
Glenn Ruben Bakke
d2f5f1fe60 nrf5/drivers: Enable EPAPER_SLD00200P in epaper module globals table. 2017-01-04 19:57:58 +01:00
Glenn Ruben Bakke
6300c6045a nrf5/drivers: Adding missing file for epaper module / driver. 2017-01-04 19:56:53 +01:00
Glenn Ruben Bakke
5875013670 nrf5/modules: Moving python scripts to examples folder to free up some flash space on constrained targets as modules folder is used as frozen files folder. 2017-01-04 17:27:02 +01:00
Glenn Ruben Bakke
25947a1b00 nrf5/boards: Enable display module to be built in. Also adding one epaper display and one tft lcd to test display module when porting the corresponding drivers to micropython. 2017-01-04 17:22:58 +01:00
Glenn Ruben Bakke
87f250deec nrf5/drivers: Removing external decleration of display module in header. 2017-01-04 17:20:51 +01:00
Glenn Ruben Bakke
2b92438d94 nrf5/drivers: Renaming display module to mp_module prefix as it is going to be inbuilt. ifdef'ing all submodules based on type of display configured through mpconfigport.h 2017-01-04 17:20:00 +01:00
Glenn Ruben Bakke
6b492cd8c4 nrf5/drivers: Adding ifdef sourrounding the implementation of module. Configurable with mpconfigport.h. 2017-01-04 17:18:47 +01:00
Glenn Ruben Bakke
bace74fba4 nrf5: Adding display module to port builtins. 2017-01-04 17:14:44 +01:00
Glenn Ruben Bakke
f97eded57e nrf5/drivers: Adding driver files to makefile. Implicitly adding display module. 2017-01-04 17:13:19 +01:00
Glenn Ruben Bakke
bae425ca05 nrf5/drivers: Adding template for c-implementation of lcd, epaper and oled drivers as a display module. 2017-01-03 22:16:00 +01:00
Glenn Ruben Bakke
5265d70329 nrf5/modules: Updating to correct name of display in epaper driver. 2017-01-03 21:32:17 +01:00
Glenn Ruben Bakke
ef234503ef nrf5/modules: Adding python epaper display driver. Currently colors have been reversed. 2017-01-03 21:25:06 +01:00
Glenn Ruben Bakke
c34127e754 nrf5/hal: Fixing bug in mp_hal_pin_read in mphalport.h which tried to read an OUT register. Corrected to read the IN register. 2017-01-03 21:17:37 +01:00
Glenn Ruben Bakke
7b6bdc4c2b nrf5: Adding sleep_us to modutime.c and exposing mp_hal_delay_us in hal/hal_time.h 2017-01-03 21:15:53 +01:00
Glenn Ruben Bakke
70198b07a5 nrf5/lcd: Updating framebuffer with double buffer for epaper displays. Moving statics into instance struct. Adding new function to refresh using old buffer, such that epaper can get a cleaner image after update. 2017-01-03 21:12:49 +01:00
Glenn Ruben Bakke
11fc46ca6f nrf5/boards: Adding initial microbit build files and board configurations. 2017-01-03 17:02:49 +01:00
Glenn Ruben Bakke
31569dc952 nrf5: Makefile option to set FLASHER when doing flash target. If defined in board .mk file, this will be used, else nrfjprog will be used by default (segger). This opens up for using pyocd flashtool and still run 'make flash'. 2017-01-03 17:00:06 +01:00
Glenn Ruben Bakke
4b6a12a251 nrf5/boards: Updating pca10028 board config to not define RTS/CTS pins when HWFC is set to 0. 2017-01-03 16:57:05 +01:00
Glenn Ruben Bakke
994b1689e3 nrf5/uart: Making compile time exclusion of RTS/CTS if not defined to use flow control by board configuration. 2017-01-03 16:54:33 +01:00
Glenn Ruben Bakke
04751defa0 nrf5/spi: Removing automatic chip select (NSS) in hal_spi.c. Also removing configuration of this pin as it is confusing to pass it if not used. User of SPI has to set the NSS/CS itself. 2017-01-02 12:51:56 +01:00
Glenn Ruben Bakke
bcb0c9d8cb nrf5/modules: Updating PWM test python script to cope with new api. 2016-12-31 17:21:38 +01:00
Glenn Ruben Bakke
1bc50dbeb5 nrf5/hal: Fixing some issues in PWM stop function. Doing a proper stop and disable the peripheral. 2016-12-31 17:20:54 +01:00
Glenn Ruben Bakke
3d120ac103 nrf5/pwm: Implementing start and stop call to hal on init and deinit as hal_init does not longer start the PWM automatically. 2016-12-31 17:07:30 +01:00
Glenn Ruben Bakke
5e322ea078 nrf5/hal: Exposing two new PWM hal functions start() and stop(). 2016-12-31 17:06:07 +01:00
Glenn Ruben Bakke
c5d77f0e7e nrf5/hal: Moving enablement of PWM task from init to a start function. Also activating code in stop function to stop the PWM. 2016-12-31 17:05:32 +01:00
Glenn Ruben Bakke
38607ee445 nrf5/modules: Adding licence text on seeedstudio tft shield python modules. 2016-12-31 14:02:05 +01:00
Glenn Ruben Bakke
520105aaa7 nrf52/boards: Tuning linker script for nrf52832 when using iot softdevice. Need more heap for LCD framebuffer. 2016-12-29 17:08:16 +01:00
Glenn Ruben Bakke
64d2827233 nrf5/lcd: Adding lcd_mono_fb.c to source list in the makefile. Adding define in implementation to de-select the file from being included. Adding module to PORT BUILTIN in mpconfigport.h 2016-12-29 17:03:15 +01:00
Glenn Ruben Bakke
a7832a203f nrf52/sdk: Correcting path to iot softdevice if SDK is enabled. 2016-12-29 16:48:47 +01:00
Glenn Ruben Bakke
387725ce60 nrf5: Adding help text for CTRL-D (soft reset) and and CTRL-E (paste mode) in help.c 2016-12-29 16:12:54 +01:00
Glenn Ruben Bakke
342ffadc59 nrf5: Adding handling of CTRL+D to reset chip in main.c. Call to NVIC System Reset is issued. 2016-12-29 16:11:59 +01:00
Glenn Ruben Bakke
82746d4549 nrf5/lcd: Correcting indention (tabs with space) in framebuffer module source and header. 2016-12-29 15:54:47 +01:00
Glenn Ruben Bakke
c8ff22ced0 nrf5/lcd: Changing framebuffer to use petme128 8x8 font. This is vertical font. Code modified to flip and mirror the font when rendering a character. Adding copy of the font from stmhal. 2016-12-29 15:35:24 +01:00
Glenn Ruben Bakke
af116d1d80 nrf5/modules: Adding new driver for seeedstudio tft shield v2, using new framebuffer module which handles faster update on single lines, callback driven write on each line which is touched in the framebuffer. 2016-12-29 14:39:41 +01:00
Glenn Ruben Bakke
0626371378 nrf5/lcd: Adding header file for lcd_mono_fb. 2016-12-29 14:31:56 +01:00
Glenn Ruben Bakke
6179abd6f7 nrf5/lcd: Updating brackets in framebuffer module. 2016-12-29 14:30:24 +01:00
Glenn Ruben Bakke
85c9db4bcd nrf5/lcd: Renaming variable name from m_ to p_ 2016-12-29 14:26:26 +01:00
Glenn Ruben Bakke
d14a72795c nrf5/lcd: Cleaning up a bit in lcd framebuffer. 2016-12-29 14:25:30 +01:00
Glenn Ruben Bakke
88e45f85c3 nrf5/lcd: Adding work in progress monochrome lcd framebuffer driver which only updates modified (dirty) display lines. 2016-12-29 13:03:47 +01:00
Glenn Ruben Bakke
02203389c2 nrf5/modules: Updating pulse test to set output direction on the LED pin used in the test. 2016-12-29 08:53:38 +01:00
Glenn Ruben Bakke
cfbe91a709 nrf5/modules: Updating seeedstudio tft lcd driver to render using already existing framebuffer implementation. 2016-12-29 08:52:32 +01:00
Glenn Ruben Bakke
5f4cf7b908 nrf5/boards: Bouncing up heap to 32k on pca10040 to allow for application to allocate 9600bytes+ framebuffer when using LCD screen (240x320). 2016-12-29 08:49:20 +01:00
Glenn Ruben Bakke
d2969048ff nrf5/modules: Adding a function to get access to the SD card flash drive on the seeedstudio tft shield. 2016-12-27 16:05:49 +01:00
Glenn Ruben Bakke
cceea0a504 nrf5/modules: Adding new python script to initialize and clear the display on Seeedstudio 2.8 TFT Touch Shield v2. 2016-12-27 15:47:55 +01:00
Glenn Ruben Bakke
db994e2ec0 nrf5/modules: Updating documentation on sdcard.py copy to use new params in the example description 2016-12-27 15:44:39 +01:00
Glenn Ruben Bakke
9197739cf4 nrf5/modules: Updating mountsd, SD card test script with new params. 2016-12-27 15:42:35 +01:00
Glenn Ruben Bakke
d6300a2e82 nrf5/pin: Merging input and output pin configuration to one comon function. Adding implementation in Pin class to be able to configure mode and pull. Updating drivers which uses gpio pin configuration to use new function parameters. 2016-12-27 15:40:20 +01:00
Glenn Ruben Bakke
4fee95c468 nrf5: Adding rtc.c which implements the machine rtc module to be included in build. 2016-12-26 16:53:24 +01:00
Glenn Ruben Bakke
46ddf2ed70 nrf5/boards: Enable MICROPY_PY_MACHINE_RTC in pca10028 (nrf51) and pca10040 (nrf52) targets. 2016-12-26 16:50:59 +01:00
Glenn Ruben Bakke
c2d2958205 nrf5/hal: Adding empty init function in hal_rtc.c 2016-12-26 16:49:27 +01:00
Glenn Ruben Bakke
22c62fb53f nrf5/hal: Adding structures and init function prototype to hal_rtc.h. 2016-12-26 16:48:56 +01:00
Glenn Ruben Bakke
d78d717733 nrf5: Setting MICROPY_PY_MACHINE_RTC to disabled by default (during development) in mpconfigport.h. This can be overriden by board config. 2016-12-26 16:47:56 +01:00
Glenn Ruben Bakke
bab030d793 nrf5/rtc: Adding skeleton for machine rtc module for nrf51/52. 2016-12-26 16:46:23 +01:00
Glenn Ruben Bakke
d79588ddf4 nrf5: Adding timer.c which implements the machine timer module to be included in build. 2016-12-26 16:20:36 +01:00
Glenn Ruben Bakke
a3cc6abba6 nrf5: Setting MICROPY_PY_MACHINE_TIMER to disabled by default (during development) in mpconfigport.h. This can be overriden by board config. 2016-12-26 16:19:48 +01:00
Glenn Ruben Bakke
8e7f9d7c38 nrf5/boards: Enable MICROPY_PY_MACHINE_TIMER in pca10028 (nrf51) and pca10040 (nrf52) targets. 2016-12-26 16:18:16 +01:00
Glenn Ruben Bakke
e4365fcac4 nrf5: Adding initialization of timer module if enabled by MICROPY_PY_MACHINE_TIMER. 2016-12-26 16:15:26 +01:00
Glenn Ruben Bakke
9c828c7630 nrf5/timer: Adding initializaton of id field for Timer_HandleTypeDef's. Adding simple print function. Adding make_new function. Enabling the functions in machine_timer_type. 2016-12-26 16:13:09 +01:00
Glenn Ruben Bakke
53fdcf91d7 nrf5/hal: Adding empty init function in hal_timer.c 2016-12-26 16:08:59 +01:00
Glenn Ruben Bakke
9b084fc376 nrf5/hal: Adding structures and init function prototype to hal_timer.h. 2016-12-26 16:08:22 +01:00
Glenn Ruben Bakke
8cce985765 nrf5/timer: Adding skeleton for machine timer module for nrf51/52. 2016-12-26 14:03:50 +01:00
Glenn Ruben Bakke
5c327f2f2f nrf/boards: Adding RTC and TIMER hal to be linked in when implemented. Enable one board for nrf51 and one for nrf52 for ease of debugging when implementing the hal. 2016-12-25 18:15:32 +01:00
Glenn Ruben Bakke
1e79ccf305 nrf5: Adding rtc and timer hal to Makefile. 2016-12-25 18:12:51 +01:00
Glenn Ruben Bakke
1264122e76 nrf5/hal: Adding skeleton files for rtc and timer driver. 2016-12-25 18:10:31 +01:00
Glenn Ruben Bakke
c1c78404b6 nrf5/modules: Updating pulse example to work with Pin object instead of hard coded pin number. 2016-12-24 01:16:23 +01:00
Glenn Ruben Bakke
d759123886 nrf5/pwm: Switching from hardcoded pin number to Pin object type as input to the new() function. Also changing the parameter from kw to arg. 2016-12-24 01:15:37 +01:00
Glenn Ruben Bakke
3191a31ce8 nrf5/modules: updating test python file with correct PWM frequency type. 2016-12-24 00:30:35 +01:00
Glenn Ruben Bakke
2db3f0deb7 nrf5/modules: Adding a python test file with function to dim a specific led (17). 2016-12-20 23:21:17 +01:00
Glenn Ruben Bakke
0999226103 nrf5/pwm: Updating pwm module with freq function which re-initilises the PWM instance such that new frequency will be applied. 2016-12-20 23:15:26 +01:00
Glenn Ruben Bakke
db1faf85f7 nrf5/pwm: Initializing pwm instances in main.c if enabled by MICROPY_PY_MACHINE_PWM. 2016-12-19 17:10:48 +01:00
Glenn Ruben Bakke
faa1b77844 nrf5/pwm: Adding api to initialize pwm instances. 2016-12-19 17:09:46 +01:00
Glenn Ruben Bakke
b4dc9254ac nrf5: Updating mpconfigport.h to set a default for PWM machine module to be enabled by default, if not disabled in a board config. Refactoring order in the file. 2016-12-17 01:29:12 +01:00
Glenn Ruben Bakke
b350dc5198 nrf52: Set names to be used on PWM0-2 in board config. For nrf52840, the PWM3 is excluded as repo does not have latest headers to reflect this yet. Bump up to be done soon. 2016-12-17 01:27:58 +01:00
Glenn Ruben Bakke
dd9812e1e9 nrf52: Enable PWM HAL for both pca10040 (nrf52832) and pca10056 (nrf52840). 2016-12-17 01:21:32 +01:00
Glenn Ruben Bakke
275bf46831 nrf51: Disable MICROPY_PY_MACHINE_PWM for now in all nrf51 target boards as sw impl. is not yet included in the repo. 2016-12-17 01:19:44 +01:00
Glenn Ruben Bakke
18f528eceb nrf5: Only enable hal_pwm.c if nrf52 target as nrf51 must have a sw implementation. 2016-12-17 01:16:38 +01:00
Glenn Ruben Bakke
3bf2ca05f1 nrf5/pwm: Adding pwm to modmachine.c 2016-12-17 01:14:50 +01:00
Glenn Ruben Bakke
abd945fde1 nrf5/hal: Updating PWM header file with init function prototype. Also added PWM_HandleTypeDef structure that can be used in the pwm python module. 2016-12-17 01:05:43 +01:00
Glenn Ruben Bakke
7bfe001d22 nrf5/pwm: Updating PWM dict table to have freq and duty function. Also added creation of default objects based on PWM name set in board config. Adding ifdef surrounding the import of hal_pwm.h as this module might be used by software implmentation of PWM later. 2016-12-17 01:03:39 +01:00
Glenn Ruben Bakke
a081bf2f91 nrf5/pwm: Removing include of hal_pwm.h as pwm.c might not use a hal, but sw implementation. 2016-12-17 00:39:24 +01:00
Glenn Ruben Bakke
eaece2734b nrf5: Updating makefile to compile in pwm.c and hal_pwm.c 2016-12-16 19:56:12 +01:00
Glenn Ruben Bakke
36a232182a nrf5/boards: Adding config flag for HAL_PWM in pca10040 and pca10056. 2016-12-16 19:56:00 +01:00
Glenn Ruben Bakke
930112753a nrf5: Adding pwm work in progress machine PWM module. 2016-12-16 19:55:32 +01:00
Glenn Ruben Bakke
82f7fe88b0 nrf5/hal: Starting implementation of PWM hal to be used by PWM python module later. 2016-12-16 19:17:42 +01:00
Glenn Ruben Bakke
90730787f3 nrf5: Adding initial board files for pca10056. The files are not complete (only 32 pins are added for now). UART REPL, leds, and Pins (up to 31) are functional. 2016-12-13 21:38:39 +01:00
Glenn Ruben Bakke
bc1aa84cac nrf5: Updating comment in linker script for nrf52832 and nrf52840 to distinguish between the two nrf52 variants. 2016-12-13 21:35:15 +01:00
Glenn Ruben Bakke
faa460ae88 nrf5: Adding new linker script for nrf52840. 2016-12-13 21:32:40 +01:00
Glenn Ruben Bakke
1a1f9b0c9d nrf5: updating flash size comment in nrf52832 linker script. 2016-12-13 21:31:39 +01:00
Glenn Ruben Bakke
d7dc0b789d nrf5: Updating port with new content. SPI, SDcard (trough sdcard.py), Pin, and machine module. Also adding some basic modules depending on SDK and bluetooth stack from nordic semiconductor. NUS is module copied from original port by tralamazza, and new basic module for 6lowpan over BLE which can be used by modnetwork and modusocket. Basic BLE module to enable bluetooth stack and start a eddystone advertisment is kept, and still works without SDK, even if in the SDK folder (its placed there as it needs bluetooth stack from an SDK). 2016-12-13 20:27:26 +01:00
Glenn Ruben Bakke
227998f9cd Renaming softdevice folder to sdk. 2016-12-13 20:14:48 +01:00
Glenn Ruben Bakke
ea75d9919f Removing unused 'NRF_SOFTDEVICE' compile variable from all board .mk softdevice targets. 2016-11-17 00:33:37 +01:00
Glenn Ruben Bakke
60686a3b75 Fixing main Makefile CFLAGS concatination error when setting softdevice param 2016-11-17 00:29:16 +01:00
Daniel Tralamazza
839d04f768 ignore default build folders 2016-11-16 23:40:38 +01:00
Daniel Tralamazza
3e31d31f3e move softdevice (SD) specific code from the main Makefile to their respective board/SD makefiles 2016-11-16 23:40:38 +01:00
Glenn Ruben Bakke
ae99d95c1a Updating Makefile by removing unwanted LDFLAG setting cpu to cortex-m0 in all cases. 2016-11-16 22:51:53 +01:00
Glenn Ruben Bakke
0ab5ef426b Updating modble.c method doc of address_print() to reflect the actual function name. 2016-11-16 21:45:34 +01:00
Glenn Ruben Bakke
70956ea969 Base support for nrf51 and nrf52 base without depending on SDK. SoftDevice usage optional. 2016-11-16 21:38:25 +01:00