It's not something you "send"
There is a piece of information in a CAN message frame that when a device receives the message when operating in normal and the CRC checks out, it changes the bit information on the ACK part of the message and retransmits it.
Then when the transmitting device see's the message, it see's the ACK bit has changed it knows the message was received and there was nothing wrong with it.
I don't know how many ways this can be explained, but your not setting your device to transmit a message, you need to ensure that:
1. The CAN transceiver chip you are using is capable of transmitting, which is part of the acknowledge function.
2. The chip is set in "normal" mode, and not listen mode.
Programming the mode of the CAN chip varies based on the manufacturer, but is normally handled on something along the lines of a Serial Peripheral Interface (SPI) which is used to adjust settable functions on a microcontroller. This is usually covered in the datasheet of the CAN chip used in your device. Without this function, you will run into issues integrating your gauge with any higher end Aftermarket ECU the follows CAN 2.0B standards and cares about data integrity in the CAN messaging.
Picking 2 chips at random with the function for "Normal" and "Listen only" functions on RS online, I found the information covered in the supplied datasheet.
- MCP2515 Can chip modes.jpg (280.84 KiB) Viewed 5727 times
- Infineon TLE9255W receive only mode.jpg (170.03 KiB) Viewed 5727 times