initial stuff for recieving from can
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user