Subversion Repositories FuelGauge

Rev

Rev 3 | Rev 5 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 4
Line 15... Line 15...
15
 *                        opensource.org/licenses/BSD-3-Clause
15
 *                        opensource.org/licenses/BSD-3-Clause
16
 *
16
 *
17
 ******************************************************************************
17
 ******************************************************************************
18
 */
18
 */
19
/* USER CODE END Header */
19
/* USER CODE END Header */
20
 
-
 
21
/* Includes ------------------------------------------------------------------*/
20
/* Includes ------------------------------------------------------------------*/
22
#include "main.h"
21
#include "main.h"
23
 
22
 
24
/* Private includes ----------------------------------------------------------*/
23
/* Private includes ----------------------------------------------------------*/
25
/* USER CODE BEGIN Includes */
24
/* USER CODE BEGIN Includes */
26
 
-
 
-
 
25
#include "sendLeds.h"
27
/* USER CODE END Includes */
26
/* USER CODE END Includes */
28
 
27
 
29
/* Private typedef -----------------------------------------------------------*/
28
/* Private typedef -----------------------------------------------------------*/
30
/* USER CODE BEGIN PTD */
29
/* USER CODE BEGIN PTD */
31
 
30
 
Line 230... Line 229...
230
  /* USER CODE END 2 */
229
  /* USER CODE END 2 */
231
 
230
 
232
  /* Infinite loop */
231
  /* Infinite loop */
233
  /* USER CODE BEGIN WHILE */
232
  /* USER CODE BEGIN WHILE */
234
        while (1) {
233
        while (1) {
235
 
-
 
236
                HAL_SPI_Transmit_DMA(&hspi1, SPI_Buffer, NUM_SPI_BYTES);
234
                sendLeds();
237
 
-
 
238
                HAL_Delay(10);
235
                HAL_Delay(10);
239
 
236
 
240
    /* USER CODE END WHILE */
237
    /* USER CODE END WHILE */
241
 
238
 
242
    /* USER CODE BEGIN 3 */
239
    /* USER CODE BEGIN 3 */
Line 252... Line 249...
252
{
249
{
253
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
250
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
254
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
251
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
255
  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
252
  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
256
 
253
 
257
  /** Initializes the CPU, AHB and APB busses clocks
254
  /** Initializes the RCC Oscillators according to the specified parameters
-
 
255
  * in the RCC_OscInitTypeDef structure.
258
  */
256
  */
259
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSI14;
257
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSI14;
260
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
258
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
261
  RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
259
  RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
262
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
260
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
263
  RCC_OscInitStruct.HSI14CalibrationValue = 16;
261
  RCC_OscInitStruct.HSI14CalibrationValue = 16;
264
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
262
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
265
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
263
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
266
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL8;
264
  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
267
  RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
265
  RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;
268
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
266
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
269
  {
267
  {
270
    Error_Handler();
268
    Error_Handler();
271
  }
269
  }
272
  /** Initializes the CPU, AHB and APB busses clocks
270
  /** Initializes the CPU, AHB and APB buses clocks
273
  */
271
  */
274
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
272
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
275
                              |RCC_CLOCKTYPE_PCLK1;
273
                              |RCC_CLOCKTYPE_PCLK1;
276
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
274
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
277
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
275
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
Line 362... Line 360...
362
  hspi1.Init.Direction = SPI_DIRECTION_2LINES;
360
  hspi1.Init.Direction = SPI_DIRECTION_2LINES;
363
  hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
361
  hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
364
  hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
362
  hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
365
  hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
363
  hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
366
  hspi1.Init.NSS = SPI_NSS_SOFT;
364
  hspi1.Init.NSS = SPI_NSS_SOFT;
367
  hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
365
  hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
368
  hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
366
  hspi1.Init.FirstBit = SPI_FIRSTBIT_LSB;
369
  hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
367
  hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
370
  hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
368
  hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
371
  hspi1.Init.CRCPolynomial = 7;
369
  hspi1.Init.CRCPolynomial = 7;
372
  hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
370
  hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
373
  hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
371
  hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE;
374
  if (HAL_SPI_Init(&hspi1) != HAL_OK)
372
  if (HAL_SPI_Init(&hspi1) != HAL_OK)
375
  {
373
  {
376
    Error_Handler();
374
    Error_Handler();
377
  }
375
  }
378
  /* USER CODE BEGIN SPI1_Init 2 */
376
  /* USER CODE BEGIN SPI1_Init 2 */
Line 400... Line 398...
400
 
398
 
401
  /* USER CODE END TIM1_Init 1 */
399
  /* USER CODE END TIM1_Init 1 */
402
  htim1.Instance = TIM1;
400
  htim1.Instance = TIM1;
403
  htim1.Init.Prescaler = 0;
401
  htim1.Init.Prescaler = 0;
404
  htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
402
  htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
405
  htim1.Init.Period = 0;
403
  htim1.Init.Period = 65535;
406
  htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
404
  htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
407
  htim1.Init.RepetitionCounter = 0;
405
  htim1.Init.RepetitionCounter = 0;
408
  htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
406
  htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
409
  if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
407
  if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
410
  {
408
  {
Line 584... Line 582...
584
  *         where the assert_param error has occurred.
582
  *         where the assert_param error has occurred.
585
  * @param  file: pointer to the source file name
583
  * @param  file: pointer to the source file name
586
  * @param  line: assert_param error line source number
584
  * @param  line: assert_param error line source number
587
  * @retval None
585
  * @retval None
588
  */
586
  */
589
void assert_failed(char *file, uint32_t line)
587
void assert_failed(uint8_t *file, uint32_t line)
590
{
588
{
591
  /* USER CODE BEGIN 6 */
589
  /* USER CODE BEGIN 6 */
592
  /* User can add his own implementation to report the file name and line number,
590
  /* User can add his own implementation to report the file name and line number,
593
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
591
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
594
  /* USER CODE END 6 */
592
  /* USER CODE END 6 */