Joined
Last Online
Recent Posts
posted in General Discussion read more

Derek, don't be such a tease. Haha

How did you get that set up?

posted in Firmware read more

I was trying out autobaud today, and the first time I ran it (LS can), it returned 125 baud rate (which is correct). After trying to send a frame (and probably messing something up while sending a frame) I got some errors. I tried autobaud again, and it set the speed to 1000. I'm not sure what other info to include, but I thought I'd raise the issue in case other people run into the same thing.

I'd be happy if someone can point out that it is user error. ;)

posted in Howto read more

I believe the latest version of the software has auto baud detection. Also, error "B" is actually the hex value for one of the MCP2515 registries (buffer maybe - I forget off the top of my head). I think the latest code on GitHub has both auto baud detection and some more descriptive error definition so updating might solve some of your errors.

posted in General Discussion read more

Has anyone tried wireshark and using either USBPcap or setting up a pipe? I'm not sure if the current output from the CBT is in the right format (in HEX or ASCI), but it seems like one of those might work.

posted in Howto read more

I'm not sure what 030303 does off the top of my head. I think the command you want is:
030101 - turn on logging for bus 1 (no filters).
030100 - turn off logging for bus 1

011001 - status of bus 1.

posted in Hardware and Wiring read more

Jamesatfish, would you be willing to post your scripts or plagiarism tools? If you have something that works it would help the rest of us out.

Thanks!

posted in Howto read more

I'm not sure why you want the whole output in Hex, but I think CoolTerm may be able to do it for you. There is a Hexadecimal option for capturing data in Options > Receive > Capture format [Hexadecimal].

However, it looks like there is an alternative if you are OK with JSON format by removing the comments before this line of code in SerialCommands.h.

#define JSON_OUT

Once you do that, it give you a JSON format like this:

{"packet": {"status":"1","channel":"Bus 1","length":"8","id":"50","timestamp":"247444","payload":["1","0","F","1","AA","55","AA","55"]}}
{"packet": {"status":"1","channel":"Bus 1","length":"8","id":"50","timestamp":"247456","payload":["1","0","F","1","AA","55","AA","55"]}}
{"packet": {"status":"1","channel":"Bus 1","length":"8","id":"39E","timestamp":"247470","payload":["0","0","0","7F","0","10","0","0"]}}
{"packet": {"status":"1","channel":"Bus 1","length":"8","id":"50","timestamp":"247474","payload":["1","0","F","1","AA","55","AA","55"]}}
{"packet": {"status":"1","channel":"Bus 1","length":"8","id":"50","timestamp":"247486","payload":["1","0","F","1","AA","55","AA","55"]}}
{"packet": {"status":"1","channel":"Bus 1","length":"8","id":"508","timestamp":"247490","payload":["0","AA","55","AA","55","AA","55","AA"]}}

[I'm not sure if this changes how the BT output works. It looks like the else statement of the #ifdef JSON_OUT does some BT stuff. Maybe someone can help explain this.]

posted in Howto read more

Yes, Mazdaspeed3.

From what I've seen, it should be 125 (LS) and 500 (HS). It could be that my problem with the OBD2 cable is that it only connects CAN1 (HS), which is set to 125 (LS) in the Setting.H file. I tried changing the values there, but it didn't work.

posted in Howto read more

Yeah, there seems to be something wrong with receiving messages via the OBD2 cable. If what I have above is correct, then the code I added to the CANBusTriple_Mazda\SerialComman.h will be more descriptive than "8". The part that I added is probably valid for the non-mazda example as well, but I didn't look into it.

There are a few posts from Derek about auto baud detection getting implemented this week. I'm hoping that's sooner rather than later, and solves the OBD2 cable problem.

I think changing the baud in CoolTerm is only changing the baud rate between the laptop and the CBT, not between the car and the CBT (which appears to be the problem).

posted in Howto read more

Ok, I may have an answer, but would like some correction from someone with more knowledge to make sure this is right.

Looking at <a href="https://github.com/CANBus-Triple/CANBus-Triple/blob/master/avr/libraries/CANBus/src/CANBus.h">CANBus.h</a>, it looks like the EFLG is error register value 2D of the MCP2515.

Based on <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/21801e.pdf">some documentation</a> (page 47), it looks like the value "B" or "0B" translated into the 8 bit values (00001011) means that these errors occurred:

bit 3
RXEP: Receive Error-Passive Flag bit

  • Set when REC is equal to or greater than 128
  • Reset when REC is less than 128
    bit 1
    RXWAR: Receive Error Warning Flag bit
  • Set when REC is equal to or greater than 96
  • Reset when REC is less than 96
    bit 0
    EWARN: Error Warning Flag bit
  • Set when TEC or REC is equal to or greater than 96 (TXWAR or RXWAR = 1)
  • Reset when both REC and TEC are less than 96

So, if the error code is "0" that means no errors at all.

Those error codes are still not quite understandable to me. Would it be possible to make the error code more understandable, and maybe look something more like this <a href="http://developer.mbed.org/users/tecnosys/code/mcp2515/raw-diff/57418caaee25/mcp2515.cpp">[source]</a>:

  • if (eflg & MCP_EFLG_RX1OVR)
  •    printf("Receive Buffer 1 Overflow\r\n");
    
  • if (eflg & MCP_EFLG_RX0OVR)
  •    printf("Receive Buffer 0 Overflow\n\r");
    
  • if (eflg & MCP_EFLG_TXBO)
  •    printf("Bus-Off\n\r");
    
  • if (eflg & MCP_EFLG_TXEP)
  •    printf("Receive Error Passive\n\r");
    
  • if (eflg & MCP_EFLG_TXWAR)
  •    printf("Transmit Error Warning\n\r");
    
  • if (eflg & MCP_EFLG_RXWAR)
  •    printf("Receive Error Warning\r\n");
    
  • if (eflg & MCP_EFLG_EWARN )
  •    printf("Receive Error Warning\n\r");

Looks like your connection to CANBus Triple was lost, please wait while we try to reconnect.