CAN-Demo/App/Src/test.cpp
2023-12-03 09:16:05 +01:00

50 lines
1.2 KiB
C++

/*
* test.cpp
*
* Created on: Oct 24, 2023
* Author: carlw
*/
//#include <sta/bus/can/controller.hpp>
#include <sta/devices/stm32/can.hpp>
//extern STM32CanController(CAN_HandleTypeDef * handle);
extern "C" void testCan(CAN_HandleTypeDef * handle){
sta::STM32CanController canController(handle);
//canController.start();
CAN_TxHeaderTypeDef txHeader;
txHeader.DLC = 8;
txHeader.IDE = CAN_ID_STD;
txHeader.RTR = CAN_RTR_DATA;
txHeader.StdId = 0x030;
txHeader.ExtId = 0x02;
txHeader.TransmitGlobalTime = DISABLE;
HAL_CAN_Start(handle);
// Create a CanTxHeader for your message
/*sta::CanTxHeader txHeader;
txHeader.id.format = sta::CanIdFormat::STD; // Set to EXT for extended ID
txHeader.id.sid = 0x123; // Set the standard ID or extended ID
txHeader.payloadLength = 8; // Set the payload length (max 8 bytes)*/
// Create your message payload
uint8_t payload[8] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};
bool okay;
uint32_t canMailbox; //CAN Bus Mail box variable
// Send the CAN message
while (true){
//okay = canController.sendFrame(txHeader, payload);
HAL_CAN_AddTxMessage(handle,&txHeader,payload,&canMailbox);
HAL_Delay(1000);
}
}