First code tested on the actual pinetime hardware
This commit is contained in:
		
							parent
							
								
									2ea27e0cda
								
							
						
					
					
						commit
						66182d15bc
					
				| @ -1,4 +1,4 @@ | |||||||
| # nrf52-baseproject | # PineTime | ||||||
| This is a CMake project that configure everything needed to build applications for the NRF52 MCU. It configures the toolchain (arm-none-eabi) and the NRF52 SDK. | This is a CMake project that configure everything needed to build applications for the NRF52 MCU. It configures the toolchain (arm-none-eabi) and the NRF52 SDK. | ||||||
| 
 | 
 | ||||||
| The CMake files are taken from https://github.com/Polidea/cmake-nRF5x | The CMake files are taken from https://github.com/Polidea/cmake-nRF5x | ||||||
|  | |||||||
| @ -208,6 +208,8 @@ macro(nRF5x_setup) | |||||||
|             "${NRF5_SDK_PATH}/components/libraries/usbd/class/hid/mouse" |             "${NRF5_SDK_PATH}/components/libraries/usbd/class/hid/mouse" | ||||||
|             "${NRF5_SDK_PATH}/components/libraries/usbd/class/msc" |             "${NRF5_SDK_PATH}/components/libraries/usbd/class/msc" | ||||||
|             "${NRF5_SDK_PATH}/components/libraries/util" |             "${NRF5_SDK_PATH}/components/libraries/util" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|     # librarires sources |     # librarires sources | ||||||
| @ -255,6 +257,21 @@ macro(nRF5x_setup) | |||||||
|             "${NRF5_SDK_PATH}/external/fprintf/nrf_fprintf_format.c" |             "${NRF5_SDK_PATH}/external/fprintf/nrf_fprintf_format.c" | ||||||
|             ) |             ) | ||||||
| 
 | 
 | ||||||
|  |     # LCD/GFX | ||||||
|  |     include_directories( | ||||||
|  |       "${NRF5_SDK_PATH}/external/thedotfactory_fonts" | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     list(APPEND SDK_SOURCE_FILES | ||||||
|  |       "${NRF5_SDK_PATH}/components/libraries/gfx/nrf_gfx.c" | ||||||
|  |       "${NRF5_SDK_PATH}/integration/nrfx/legacy/nrf_drv_spi.c" | ||||||
|  | #      "${NRF5_SDK_PATH}/modules/nrfx/drivers/src/nrfx_spi.c" | ||||||
|  |       "${NRF5_SDK_PATH}/modules/nrfx/drivers/src/nrfx_spim.c" | ||||||
|  |       "${NRF5_SDK_PATH}/modules/nrfx/drivers/src/prs/nrfx_prs.c" | ||||||
|  | 
 | ||||||
|  |       "${NRF5_SDK_PATH}/components/drivers_ext/st7735/st7735.c" | ||||||
|  |       ) | ||||||
|  | 
 | ||||||
|     #BLE S132 |     #BLE S132 | ||||||
|     include_directories( |     include_directories( | ||||||
|       "${NRF5_SDK_PATH}/components/ble/common" |       "${NRF5_SDK_PATH}/components/ble/common" | ||||||
|  | |||||||
| @ -17,7 +17,9 @@ void BlinkApp::Process(void *instance) { | |||||||
|   NRF_LOG_INFO("BlinkApp task started!"); |   NRF_LOG_INFO("BlinkApp task started!"); | ||||||
|   while (1) { |   while (1) { | ||||||
|     NRF_LOG_INFO("BlinkApp task running!"); |     NRF_LOG_INFO("BlinkApp task running!"); | ||||||
|     bsp_board_led_invert(0); | //    nrf_gpio_pin_toggle(22);
 | ||||||
|  | //    nrf_gpio_pin_toggle(23);
 | ||||||
|  | //    nrf_gpio_pin_toggle(14);
 | ||||||
|     vTaskDelay(1000); |     vTaskDelay(1000); | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								src/drivers/st7789.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/drivers/st7789.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | //
 | ||||||
|  | // Created by jf on 12/2/19.
 | ||||||
|  | //
 | ||||||
|  | 
 | ||||||
|  | #include "st7789.h" | ||||||
							
								
								
									
										14
									
								
								src/drivers/st7789.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/drivers/st7789.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | //
 | ||||||
|  | // Created by jf on 12/2/19.
 | ||||||
|  | //
 | ||||||
|  | 
 | ||||||
|  | #ifndef PINETIME_ST7789_H | ||||||
|  | #define PINETIME_ST7789_H | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class st7789 { | ||||||
|  | 
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #endif //PINETIME_ST7789_H
 | ||||||
							
								
								
									
										26
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								src/main.cpp
									
									
									
									
									
								
							| @ -7,6 +7,8 @@ | |||||||
| #include <legacy/nrf_drv_clock.h> | #include <legacy/nrf_drv_clock.h> | ||||||
| #include <libraries/timer/app_timer.h> | #include <libraries/timer/app_timer.h> | ||||||
| #include <libraries/gpiote/app_gpiote.h> | #include <libraries/gpiote/app_gpiote.h> | ||||||
|  | #include <libraries/gfx/nrf_lcd.h> | ||||||
|  | #include "nrf_gfx.h" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #if NRF_LOG_ENABLED | #if NRF_LOG_ENABLED | ||||||
| @ -43,6 +45,25 @@ static void bsp_event_handler(bsp_event_t event) | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | extern const nrf_lcd_t nrf_lcd_st7735; | ||||||
|  | static nrf_lcd_t const * p_lcd = &nrf_lcd_st7735; | ||||||
|  | static void gfx_initialization(void) | ||||||
|  | { | ||||||
|  |   nrf_gpio_cfg_output(14); | ||||||
|  |   nrf_gpio_cfg_output(22); | ||||||
|  |   nrf_gpio_cfg_output(23); | ||||||
|  |   nrf_gpio_pin_clear(14); | ||||||
|  |   nrf_gpio_pin_set(22); | ||||||
|  |   nrf_gpio_pin_set(23); | ||||||
|  | 
 | ||||||
|  |   APP_ERROR_CHECK(nrf_gfx_init(p_lcd)); | ||||||
|  |   nrf_gfx_rect_t rect; | ||||||
|  |   rect.height = 10; | ||||||
|  |   rect.width = 10; | ||||||
|  |   rect.x = 10; | ||||||
|  |   rect.y = 10; | ||||||
|  |   nrf_gfx_rect_draw(p_lcd, &rect, 2, 0xffffffff, true); | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| void SystemTask(void *) { | void SystemTask(void *) { | ||||||
|   APP_GPIOTE_INIT(2); |   APP_GPIOTE_INIT(2); | ||||||
| @ -51,6 +72,9 @@ void SystemTask(void *) { | |||||||
|   bsp_board_init(BSP_INIT_LEDS|BSP_INIT_BUTTONS); |   bsp_board_init(BSP_INIT_LEDS|BSP_INIT_BUTTONS); | ||||||
|   bsp_init(BSP_INIT_LEDS | BSP_INIT_BUTTONS, bsp_event_handler); |   bsp_init(BSP_INIT_LEDS | BSP_INIT_BUTTONS, bsp_event_handler); | ||||||
| 
 | 
 | ||||||
|  |   gfx_initialization(); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   blinkApp.Start(); |   blinkApp.Start(); | ||||||
| 
 | 
 | ||||||
|   while (1) { |   while (1) { | ||||||
| @ -58,6 +82,8 @@ void SystemTask(void *) { | |||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| int main(void) { | int main(void) { | ||||||
|   logger.Init(); |   logger.Init(); | ||||||
|   nrf_drv_clock_init(); |   nrf_drv_clock_init(); | ||||||
|  | |||||||
							
								
								
									
										122
									
								
								src/sdk_config.h
									
									
									
									
									
								
							
							
						
						
									
										122
									
								
								src/sdk_config.h
									
									
									
									
									
								
							| @ -4384,13 +4384,13 @@ | |||||||
| // <e> NRFX_SPIM_ENABLED - nrfx_spim - SPIM peripheral driver
 | // <e> NRFX_SPIM_ENABLED - nrfx_spim - SPIM peripheral driver
 | ||||||
| //==========================================================
 | //==========================================================
 | ||||||
| #ifndef NRFX_SPIM_ENABLED | #ifndef NRFX_SPIM_ENABLED | ||||||
| #define NRFX_SPIM_ENABLED 0 | #define NRFX_SPIM_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| // <q> NRFX_SPIM0_ENABLED  - Enable SPIM0 instance
 | // <q> NRFX_SPIM0_ENABLED  - Enable SPIM0 instance
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| #ifndef NRFX_SPIM0_ENABLED | #ifndef NRFX_SPIM0_ENABLED | ||||||
| #define NRFX_SPIM0_ENABLED 0 | #define NRFX_SPIM0_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // <q> NRFX_SPIM1_ENABLED  - Enable SPIM1 instance
 | // <q> NRFX_SPIM1_ENABLED  - Enable SPIM1 instance
 | ||||||
| @ -4435,7 +4435,7 @@ | |||||||
| // <e> NRFX_SPIM_CONFIG_LOG_ENABLED - Enables logging in the module.
 | // <e> NRFX_SPIM_CONFIG_LOG_ENABLED - Enables logging in the module.
 | ||||||
| //==========================================================
 | //==========================================================
 | ||||||
| #ifndef NRFX_SPIM_CONFIG_LOG_ENABLED | #ifndef NRFX_SPIM_CONFIG_LOG_ENABLED | ||||||
| #define NRFX_SPIM_CONFIG_LOG_ENABLED 0 | #define NRFX_SPIM_CONFIG_LOG_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| // <o> NRFX_SPIM_CONFIG_LOG_LEVEL  - Default Severity level
 | // <o> NRFX_SPIM_CONFIG_LOG_LEVEL  - Default Severity level
 | ||||||
|   |   | ||||||
| @ -4575,7 +4575,7 @@ | |||||||
|   |   | ||||||
| // <0=> Default 
 | // <0=> Default 
 | ||||||
| // <1=> Black 
 | // <1=> Black 
 | ||||||
| // <2=> Red 
 | // <2=> Red <
 | ||||||
| // <3=> Green 
 | // <3=> Green 
 | ||||||
| // <4=> Yellow 
 | // <4=> Yellow 
 | ||||||
| // <5=> Blue 
 | // <5=> Blue 
 | ||||||
| @ -6456,7 +6456,7 @@ | |||||||
| // <e> SPI_ENABLED - nrf_drv_spi - SPI/SPIM peripheral driver - legacy layer
 | // <e> SPI_ENABLED - nrf_drv_spi - SPI/SPIM peripheral driver - legacy layer
 | ||||||
| //==========================================================
 | //==========================================================
 | ||||||
| #ifndef SPI_ENABLED | #ifndef SPI_ENABLED | ||||||
| #define SPI_ENABLED 0 | #define SPI_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| // <o> SPI_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
 | // <o> SPI_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
 | ||||||
|   |   | ||||||
| @ -6488,7 +6488,7 @@ | |||||||
| // <e> SPI0_ENABLED - Enable SPI0 instance
 | // <e> SPI0_ENABLED - Enable SPI0 instance
 | ||||||
| //==========================================================
 | //==========================================================
 | ||||||
| #ifndef SPI0_ENABLED | #ifndef SPI0_ENABLED | ||||||
| #define SPI0_ENABLED 0 | #define SPI0_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| // <q> SPI0_USE_EASY_DMA  - Use EasyDMA
 | // <q> SPI0_USE_EASY_DMA  - Use EasyDMA
 | ||||||
|   |   | ||||||
| @ -8142,7 +8142,11 @@ | |||||||
|   |   | ||||||
| 
 | 
 | ||||||
| #ifndef NRF_GFX_ENABLED | #ifndef NRF_GFX_ENABLED | ||||||
| #define NRF_GFX_ENABLED 0 | #define NRF_GFX_ENABLED 1 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_ENABLED | ||||||
|  | #define ST7735_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| // <q> NRF_MEMOBJ_ENABLED  - nrf_memobj - Linked memory allocator module
 | // <q> NRF_MEMOBJ_ENABLED  - nrf_memobj - Linked memory allocator module
 | ||||||
| @ -9617,7 +9621,7 @@ | |||||||
| // <e> SPI_CONFIG_LOG_ENABLED - Enables logging in the module.
 | // <e> SPI_CONFIG_LOG_ENABLED - Enables logging in the module.
 | ||||||
| //==========================================================
 | //==========================================================
 | ||||||
| #ifndef SPI_CONFIG_LOG_ENABLED | #ifndef SPI_CONFIG_LOG_ENABLED | ||||||
| #define SPI_CONFIG_LOG_ENABLED 0 | #define SPI_CONFIG_LOG_ENABLED 1 | ||||||
| #endif | #endif | ||||||
| // <o> SPI_CONFIG_LOG_LEVEL  - Default Severity level
 | // <o> SPI_CONFIG_LOG_LEVEL  - Default Severity level
 | ||||||
|   |   | ||||||
| @ -12933,6 +12937,106 @@ | |||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_SCK_PIN - Pin number  <0-47>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_SCK_PIN | ||||||
|  | #define ST7735_SCK_PIN 2 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_MISO_PIN - Pin number  <0-47>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_MISO_PIN | ||||||
|  | #define ST7735_MISO_PIN 4 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_MOSI_PIN - Pin number  <0-47>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_MOSI_PIN | ||||||
|  | #define ST7735_MOSI_PIN 3 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_SS_PIN - Pin number  <0-47>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_SS_PIN | ||||||
|  | #define ST7735_SS_PIN 25 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_IRQ_PRIORITY  - Interrupt priority
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // <i> Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice
 | ||||||
|  | // <0=> 0 (highest)
 | ||||||
|  | // <1=> 1
 | ||||||
|  | // <2=> 2
 | ||||||
|  | // <3=> 3
 | ||||||
|  | // <4=> 4
 | ||||||
|  | // <5=> 5
 | ||||||
|  | // <6=> 6
 | ||||||
|  | // <7=> 7
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_IRQ_PRIORITY | ||||||
|  | #define ST7735_IRQ_PRIORITY 3 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // </h>
 | ||||||
|  | //==========================================================
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_SPI_INSTANCE
 | ||||||
|  | 
 | ||||||
|  | // <0=> 0
 | ||||||
|  | // <1=> 1
 | ||||||
|  | // <2=> 2
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_SPI_INSTANCE | ||||||
|  | #define ST7735_SPI_INSTANCE 0 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_SPI_MODE | ||||||
|  | #define ST7735_SPI_MODE 3 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_SPI_FREQUENCY | ||||||
|  | #define ST7735_SPI_FREQUENCY 8000000 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_TAB_COLOR  - Color of the tab attached to the screen.
 | ||||||
|  | 
 | ||||||
|  | // <0=> INITR_GREENTAB
 | ||||||
|  | // <1=> INITR_REDTAB
 | ||||||
|  | // <2=> INITR_BLACKTAB
 | ||||||
|  | // <3=> INITR_144GREENTAB
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_TAB_COLOR | ||||||
|  | #define ST7735_TAB_COLOR 2 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_DC_PIN - Pin number  <0-47>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_DC_PIN | ||||||
|  | #define ST7735_DC_PIN 18 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_HEIGHT - ST7735 height  <0-162>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_HEIGHT | ||||||
|  | #define ST7735_HEIGHT 160 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
|  | // <o> ST7735_WIDTH - ST7735 width  <0-132>
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #ifndef ST7735_WIDTH | ||||||
|  | #define ST7735_WIDTH 128 | ||||||
|  | #endif | ||||||
|  | 
 | ||||||
| // <<< end of configuration section >>>
 | // <<< end of configuration section >>>
 | ||||||
| #endif //SDK_CONFIG_H
 | #endif //SDK_CONFIG_H
 | ||||||
| 
 |  | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 JF
						JF