add SST25VF016B Flash testing function

This commit is contained in:
2025-03-09 16:11:45 +02:00
parent 13db07642e
commit 8112ed27e8
13 changed files with 6950 additions and 37 deletions
+52 -7
View File
@@ -28,6 +28,7 @@
#include "PCA9685.h"
#include "24AA02E48.h"
#include "CS43L22.h"
#include "SST25VF016B.h"
/* USER CODE END Includes */
@@ -54,6 +55,8 @@ ADC_HandleTypeDef hadc1;
I2C_HandleTypeDef hi2c1;
SPI_HandleTypeDef hspi1;
/* USER CODE BEGIN PV */
void ((*executors[])(void)) = {
@@ -61,7 +64,8 @@ void ((*executors[])(void)) = {
DNI_show_fahrenheit,
PCA9685_run_test,
EEPROM_24AA02E48_run_test,
CS43L22_run_test
CS43L22_run_test,
SST25VF016B_run_test
};
void ((*cleanup_functions[])(void)) = {
@@ -69,10 +73,11 @@ void ((*cleanup_functions[])(void)) = {
NULL,
PCA9685_cleanup,
NULL,
CS43L22_cleanup
CS43L22_cleanup,
NULL
};
int delay_between_runs[] = {250, 250, -1, -1, -1};
int delay_between_runs[] = {250, 250, -1, -1, -1, -1};
size_t current_executor_id = 0;
@@ -85,6 +90,7 @@ void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_ADC1_Init(void);
static void MX_I2C1_Init(void);
static void MX_SPI1_Init(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
@@ -95,7 +101,7 @@ static void MX_I2C1_Init(void);
void switch_to_next_test(void)
{
current_executor_id += 1;
current_executor_id %= 5;
current_executor_id %= 6;
}
void buttons_switch_to_interrupt(void)
@@ -251,6 +257,7 @@ int main(void)
MX_GPIO_Init();
MX_ADC1_Init();
MX_I2C1_Init();
MX_SPI1_Init();
/* USER CODE BEGIN 2 */
buttons_interrupt_enabled = 0;
@@ -423,6 +430,44 @@ static void MX_I2C1_Init(void)
}
/**
* @brief SPI1 Initialization Function
* @param None
* @retval None
*/
static void MX_SPI1_Init(void)
{
/* USER CODE BEGIN SPI1_Init 0 */
/* USER CODE END SPI1_Init 0 */
/* USER CODE BEGIN SPI1_Init 1 */
/* USER CODE END SPI1_Init 1 */
/* SPI1 parameter configuration*/
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 10;
if (HAL_SPI_Init(&hspi1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI1_Init 2 */
/* USER CODE END SPI1_Init 2 */
}
/**
* @brief GPIO Initialization Function
* @param None
@@ -447,7 +492,7 @@ static void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15
|GPIO_PIN_4, GPIO_PIN_RESET);
|GPIO_PIN_4|GPIO_PIN_7, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET);
@@ -468,9 +513,9 @@ static void MX_GPIO_Init(void)
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pins : PD12 PD13 PD14 PD15
PD4 */
PD4 PD7 */
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15
|GPIO_PIN_4;
|GPIO_PIN_4|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;