Base on STM32G431CBT6, CA-IS2062A
Using the virtual serial, the command is as follows:
O[CR]- Opens the CAN channelC[CR]- Close the CAN channelS0[CR]- Set the nominal bit rate to 10kS1[CR]- Set the nominal bit rate to 20kS2[CR]- Set the nominal bit rate to 50kS3[CR]- Set the nominal bit rate to 100kS4[CR]- Set the nominal bit rate to 125k (default)S5[CR]- Set the nominal bit rate to 250kS6[CR]- Set the nominal bit rate to 500kS7[CR]- Set the nominal bit rate to 800kS8[CR]- Set the nominal bit rate to 1MS9[CR]- Set the nominal bit rate to 83.3kSA[CR]- Set the nominal bit rate to 75kSB[CR]- Set the nominal bit rate to 62.5kSC[CR]- Set the nominal bit rate to 33.3kSD[CR]- Set the nominal bit rate to 5kSxxyy[CR]- Custom nominal bit rate (60/2=30Mhz CAN clock) [xx=seg1(hex,0x02~0xff), yy=seg2(hex,0x02~0x80)]Sddxxyy[CR]- Custom nominal bit rate ([60/div]Mhz CAN clock) [dd=div(hex,0x01~0xff), xx=seg1(hex,0x02~0xff), yy=seg2(hex,0x02~0x80)]Y1[CR]- Set the CANFD data segment bit rate to 1MY2[CR]- Set CANFD data segment bit rate to 2M (default)Y3[CR]- Set the CANFD data segment bit rate to 3MY4[CR]- Set the CANFD data segment bit rate to 4MY5[CR]- Set the CANFD data segment bit rate to 5MYxxyy[CR]- Custom CANFD data segment bit rate (60Mhz CAN clock) [xx=seg1(hex,0x01~0x20), yy=seg2(hex,0x01~0x10)]Yddxxyy[CR]- Custom CANFD data segment bit rate ([60/div]Mhz CAN clock) [dd=div(hex,0x01~0x20), xx=seg1(hex,0x01~0x20), yy=seg2(hex,0x01~0x10)]M0[CR]- Set to normal mode, need close can channel (default)M1[CR]- Set to silent mode, need close can channelA0[CR]- Turn off automatic retransmission, need close can channel (default)A1[CR]- Enable automatic retransmission, need close can channel (not recommended, may crash)tIIILDD...[CR]- Transfer data frame (standard ID) [ID, length, data]TIIIIIIIILDD...[CR]- Transfer data frame (extended ID) [ID, length, data]rIIIL[CR]- Transfer remote frame (standard ID) [ID, length]RIIIIIIIIL[CR]- Transfer remote frame (extended ID) [ID, length]dIIILDD...[CR]- Transmit CANFD standard frames (without BRS enabled) [ID, length, data]DIIIIIIIILDD...[CR]- Transmit CANFD extended frames (without BRS enabled) [ID, length, data]bIIILDD...[CR]- Transmit CANFD standard frames (BRS enabled) [ID, length, data]BIIIIIIIILDD...[CR]- Transmit CANFD extended frames (BRS enabled) [ID, length, data]0x80 + t, uint8_t length , uint16_t ID, uint8_t DLC, uint8_t *D...- Transfer data frame (standard ID) [length, ID, DLC, Data] Enhance mode, length=ID+DLC+Data0x80 + T, uint8_t length , uint32_t ID, uint8_t DLC, uint8_t *D...- Transfer data frame (extended ID) [length, ID, DLC, Data] Enhance mode, length=ID+DLC+Data0x80 + r, uint8_t length , uint16_t ID, uint8_t DLC- Transfer remote frame (standard ID) [length, ID, DLC] Enhance mode, length=ID+DLC0x80 + R, uint8_t length , uint16_t ID, uint8_t DLC- Transfer remote frame (extended ID) [length, ID, DLC] Enhance mode, length=ID+DLC0x80 + d, uint8_t length , uint16_t ID, uint8_t DLC, uint8_t *D...- Transmit CANFD standard frames (without BRS enabled) [length, ID, DLC, Data] Enhance mode, length=ID+DLC+Data0x80 + D, uint8_t length , uint32_t ID, uint8_t DLC, uint8_t *D...- Transmit CANFD extended frames (without BRS enabled) [length, ID, DLC, Data] Enhance mode, length=ID+DLC+Data0x80 + b, uint8_t length , uint16_t ID, uint8_t DLC, uint8_t *D...- Transmit CANFD standard frames (BRS enabled) [length, ID, DLC, Data] Enhance mode, length=ID+DLC+Data0x80 + B, uint8_t length , uint32_t ID, uint8_t DLC, uint8_t *D...- Transmit CANFD extended frames (BRS enabled) [length, ID, DLC, Data] Enhance mode, length=ID+DLC+DataV[CR]- Reads the firmware versionE[CR]- Read the failure stateX[CR]- Enter firmware upgrade modeH0[CR]- Turn off SLCAN Enhance mode, need close can channel (default)H1[CR]- Turn on SLCAN Enhance mode, need close can channelfIIIMMM[CR]- Set standard ID filter, need close can channel [ID, mask] (default: 0,0)FIIIIIIIIMMMMMMMM[CR]- Set extended ID filter, need close can channel [ID, mask] (default: 0,0)
[CR] : 0x0D (hex), \r (ascii)
A status statement is returned after the command is sent
- [CR]: transmission successful
- 0x07: transmission failed
Note
The CANFD message length is as follows (in ascii, eg: A) (uint8_t DLC is hex, eg: 0x0A):
0-8: Same as standard CAN9: length = 12A: length = 16B: length = 20C: length = 24D: length = 32E: length = 48F: length = 64
cangaroo is located in Tools/cangaroo
The documentation for calculating custom Bitrate Settings is located in Doc/CAN Bitrate Calculate_波特率计算.xlsx