Commit Graph

256 Commits

Author SHA1 Message Date
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