initial stuff for recieving from can

This commit is contained in:
2025-07-01 18:05:32 -07:00
parent 4caceb3617
commit ba906e2a54
2 changed files with 22 additions and 3 deletions

View File

@@ -71,6 +71,8 @@ KbdPins col_pins[COLS] = {
{GPIOB, GPIO_PIN_13}
};
HIDReport REPORT = {0,0,0,0,0,0,0,0};
CAN_RxHeaderTypeDef RxHeader;
uint8_t RxData[8];
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
@@ -116,7 +118,9 @@ int main(void)
MX_CAN1_Init();
MX_USB_DEVICE_Init();
/* USER CODE BEGIN 2 */
HAL_CAN_Start(&hcan1);
HAL_CAN_ActivateNotification(&hcan1, CAN_IT_RX_FIFO0_MSG_PENDING);
HAL_Delay(50);
/* USER CODE END 2 */
/* Infinite loop */
@@ -127,7 +131,6 @@ int main(void)
/* USER CODE END WHILE */
for(int col = 0; col < COLS; col++){
HAL_GPIO_WritePin(col_pins[col].PORT, col_pins[col].PIN, GPIO_PIN_SET);
HAL_Delay(1);
for(int row = 0; row < ROWS; row++){
if(HAL_GPIO_ReadPin(row_pins[row].PORT, row_pins[row].PIN)){
addHIDReport(matrix[row][col], 1);
@@ -143,6 +146,12 @@ int main(void)
}
/* USER CODE END 3 */
}
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
{
HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RxData);
addHIDReport(RxData[0], (RxData[1] & (1 << 7)) ? 1 : 0);
}
/**
* @brief System Clock Configuration
* @retval None