Rev 2 | Rev 6 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2 | Rev 5 | ||
|---|---|---|---|
| Line 21... | Line 21... | ||
| 21 | #include "main.h" |
21 | #include "main.h" |
| 22 | 22 | ||
| 23 | /* Private includes ----------------------------------------------------------*/ |
23 | /* Private includes ----------------------------------------------------------*/ |
| 24 | /* USER CODE BEGIN Includes */ |
24 | /* USER CODE BEGIN Includes */ |
| 25 | #include "libSerial/serial.h" |
25 | #include "libSerial/serial.h" |
| - | 26 | #include "libSSD1306/SSD1306.h" |
|
| 26 | #include "nmea.h" |
27 | #include "nmea.h" |
| 27 | /* USER CODE END Includes */ |
28 | /* USER CODE END Includes */ |
| 28 | 29 | ||
| 29 | /* Private typedef -----------------------------------------------------------*/ |
30 | /* Private typedef -----------------------------------------------------------*/ |
| 30 | /* USER CODE BEGIN PTD */ |
31 | /* USER CODE BEGIN PTD */ |
| Line 106... | Line 107... | ||
| 106 | /* setup the USART control blocks */ |
107 | /* setup the USART control blocks */ |
| 107 | init_usart_ctl(&uc1, huart1.Instance); |
108 | init_usart_ctl(&uc1, huart1.Instance); |
| 108 | 109 | ||
| 109 | EnableSerialRxInterrupt (&uc1); |
110 | EnableSerialRxInterrupt (&uc1); |
| 110 | 111 | ||
| - | 112 | ||
| - | 113 | ssd1306_begin(0,0); |
|
| - | 114 | ||
| - | 115 | clearDisplay(); |
|
| - | 116 | ||
| - | 117 | drawLine(0,0,127,64,1); |
|
| - | 118 | ||
| - | 119 | display(); |
|
| - | 120 | ||
| - | 121 | HAL_Delay(1000); |
|
| - | 122 | int cnt = 0; |
|
| 111 | /* USER CODE END 2 */ |
123 | /* USER CODE END 2 */ |
| 112 | 124 | ||
| 113 | /* Infinite loop */ |
125 | /* Infinite loop */ |
| 114 | /* USER CODE BEGIN WHILE */ |
126 | /* USER CODE BEGIN WHILE */ |
| 115 | while (1) |
127 | while (1) |
| 116 | { |
128 | { |
| - | 129 | if(cnt==0) |
|
| - | 130 | clearDisplay(); |
|
| - | 131 | drawLine(0,cnt,127,cnt,1); |
|
| - | 132 | display(); |
|
| 117 | 133 | cnt++; |
|
| - | 134 | cnt%=64; |
|
| 118 | Location loc; |
135 | Location loc; |
| 119 | uint8_t stat = updateLocation(&loc); |
136 | uint8_t stat = updateLocation(&loc); |
| 120 | 137 | ||
| - | 138 | HAL_Delay(10); |
|
| - | 139 | ||
| - | 140 | ||
| 121 | 141 | ||
| 122 | /* USER CODE END WHILE */ |
142 | /* USER CODE END WHILE */ |
| 123 | 143 | ||
| 124 | /* USER CODE BEGIN 3 */ |
144 | /* USER CODE BEGIN 3 */ |
| 125 | } |
145 | } |
| Line 219... | Line 239... | ||
| 219 | /* SPI1 parameter configuration*/ |
239 | /* SPI1 parameter configuration*/ |
| 220 | hspi1.Instance = SPI1; |
240 | hspi1.Instance = SPI1; |
| 221 | hspi1.Init.Mode = SPI_MODE_MASTER; |
241 | hspi1.Init.Mode = SPI_MODE_MASTER; |
| 222 | hspi1.Init.Direction = SPI_DIRECTION_1LINE; |
242 | hspi1.Init.Direction = SPI_DIRECTION_1LINE; |
| 223 | hspi1.Init.DataSize = SPI_DATASIZE_8BIT; |
243 | hspi1.Init.DataSize = SPI_DATASIZE_8BIT; |
| 224 | hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; |
244 | hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; |
| 225 | hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; |
245 | hspi1.Init.CLKPhase = SPI_PHASE_2EDGE; |
| 226 | hspi1.Init.NSS = SPI_NSS_SOFT; |
246 | hspi1.Init.NSS = SPI_NSS_SOFT; |
| 227 | hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; |
247 | hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; |
| 228 | hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; |
248 | hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; |
| 229 | hspi1.Init.TIMode = SPI_TIMODE_DISABLE; |
249 | hspi1.Init.TIMode = SPI_TIMODE_DISABLE; |
| 230 | hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; |
250 | hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; |
| Line 329... | Line 349... | ||
| 329 | static void MX_GPIO_Init(void) |
349 | static void MX_GPIO_Init(void) |
| 330 | { |
350 | { |
| 331 | GPIO_InitTypeDef GPIO_InitStruct = {0}; |
351 | GPIO_InitTypeDef GPIO_InitStruct = {0}; |
| 332 | 352 | ||
| 333 | /* GPIO Ports Clock Enable */ |
353 | /* GPIO Ports Clock Enable */ |
| - | 354 | __HAL_RCC_GPIOC_CLK_ENABLE(); |
|
| 334 | __HAL_RCC_GPIOD_CLK_ENABLE(); |
355 | __HAL_RCC_GPIOD_CLK_ENABLE(); |
| 335 | __HAL_RCC_GPIOA_CLK_ENABLE(); |
356 | __HAL_RCC_GPIOA_CLK_ENABLE(); |
| 336 | __HAL_RCC_GPIOC_CLK_ENABLE(); |
- | |
| 337 | __HAL_RCC_GPIOB_CLK_ENABLE(); |
357 | __HAL_RCC_GPIOB_CLK_ENABLE(); |
| 338 | 358 | ||
| 339 | /*Configure GPIO pin Output Level */ |
359 | /*Configure GPIO pin Output Level */ |
| 340 | HAL_GPIO_WritePin(GPIOA, SPI_NSS1_Pin|SPI_CD_Pin, GPIO_PIN_RESET); |
360 | HAL_GPIO_WritePin(GPIOC, SPI_CD_Pin|SPI_RESET_Pin, GPIO_PIN_RESET); |
| 341 | 361 | ||
| 342 | /*Configure GPIO pin Output Level */ |
362 | /*Configure GPIO pin Output Level */ |
| 343 | HAL_GPIO_WritePin(SPI_RESET_GPIO_Port, SPI_RESET_Pin, GPIO_PIN_RESET); |
363 | HAL_GPIO_WritePin(SPI_NSS1_GPIO_Port, SPI_NSS1_Pin, GPIO_PIN_RESET); |
| 344 | 364 | ||
| 345 | /*Configure GPIO pins : SPI_NSS1_Pin SPI_CD_Pin */ |
365 | /*Configure GPIO pins : SPI_CD_Pin SPI_RESET_Pin */ |
| 346 | GPIO_InitStruct.Pin = SPI_NSS1_Pin|SPI_CD_Pin; |
366 | GPIO_InitStruct.Pin = SPI_CD_Pin|SPI_RESET_Pin; |
| 347 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
367 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
| 348 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
368 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 349 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
369 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| 350 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
370 | HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
| 351 | 371 | ||
| 352 | /*Configure GPIO pin : SPI_RESET_Pin */ |
372 | /*Configure GPIO pin : SPI_NSS1_Pin */ |
| 353 | GPIO_InitStruct.Pin = SPI_RESET_Pin; |
373 | GPIO_InitStruct.Pin = SPI_NSS1_Pin; |
| 354 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
374 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
| 355 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
375 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
| 356 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
376 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| 357 | HAL_GPIO_Init(SPI_RESET_GPIO_Port, &GPIO_InitStruct); |
377 | HAL_GPIO_Init(SPI_NSS1_GPIO_Port, &GPIO_InitStruct); |
| 358 | 378 | ||
| 359 | } |
379 | } |
| 360 | 380 | ||
| 361 | /* USER CODE BEGIN 4 */ |
381 | /* USER CODE BEGIN 4 */ |
| 362 | 382 | ||