Commit Graph

667 Commits

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