Commit Graph

267 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