Merge pull request #1079 from kwagyeman/kwabena/spi_callbacks

Use SPI Callbacks
This commit is contained in:
Ibrahim Abd Elkader 2021-01-03 00:26:05 +02:00 committed by GitHub
commit 27d477d2f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 8 additions and 23 deletions

View File

@ -182,7 +182,7 @@
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 1U /* SPI register callback disabled */
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */

View File

@ -182,7 +182,7 @@
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 1U /* SPI register callback disabled */
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */

View File

@ -211,7 +211,7 @@
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 1U /* SPI register callback disabled */
#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U /* SWPMI register callback disabled */
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */

View File

@ -99,6 +99,8 @@ static void spi_config_deinit()
///////////////////////////////////////////////////////////////////////
}
void spi_lcd_callback(SPI_HandleTypeDef *hspi);
static void spi_config_init(int w, int h, int refresh_rate, bool triple_buffer, bool bgr)
{
OMV_SPI_LCD_CONTROLLER->spi->Init.Mode = SPI_MODE_MASTER;
@ -108,6 +110,7 @@ static void spi_config_init(int w, int h, int refresh_rate, bool triple_buffer,
OMV_SPI_LCD_CONTROLLER->spi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
spi_set_params(OMV_SPI_LCD_CONTROLLER, 0xffffffff, w * h * refresh_rate * 16, 0, 0, 8, 0);
spi_init(OMV_SPI_LCD_CONTROLLER, true);
HAL_SPI_RegisterCallback(OMV_SPI_LCD_CONTROLLER->spi, HAL_SPI_TX_COMPLETE_CB_ID, spi_lcd_callback);
// Do not put in HAL_SPI_MspInit as other modules share the SPI2 bus.
@ -195,7 +198,7 @@ static void spi_config_init(int w, int h, int refresh_rate, bool triple_buffer,
static bool spi_tx_cb_state_on[FRAMEBUFFER_COUNT] = {};
void spi_lcd_callback()
void spi_lcd_callback(SPI_HandleTypeDef *hspi)
{
if (lcd_type == LCD_SHIELD) {
static uint16_t *spi_tx_cb_state_memory_write_addr = NULL;
@ -295,7 +298,7 @@ static void spi_lcd_kick()
}
spi_tx_cb_state = SPI_TX_CB_MEMORY_WRITE_CMD;
spi_lcd_callback();
spi_lcd_callback(OMV_SPI_LCD_CONTROLLER->spi);
}
}

View File

@ -520,21 +520,3 @@ void HAL_MspDeInit(void)
{
}
#if defined(OMV_SPI_LCD_CONTROLLER)
extern void spi_lcd_callback();
#endif
__attribute__((weak)) void spi_lcd_callback()
{
// Necessary for UVC compile...
}
void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
{
#if defined(OMV_SPI_LCD_CONTROLLER)
if (hspi->Instance == OMV_SPI_LCD_CONTROLLER_INSTANCE) {
spi_lcd_callback();
}
#endif
}