Hello I'm working on Android App that can read data from CAN bus. The interface I'm using is ELM327. The problem is that this interface uses Bluetooth. So I cannot read all the data from CAN bus because after half of the sec the buffer is full. The the interface is v. 1.4.7. And I am using Bluetooth terminal on Android. The commands I used:
ATZ -> to reset the interface
ATH1 -> set header
ATS1 -> set spaces
ATL1 -> Linefeeds on
ATAL -> Sets long message
Then I want to set delay for lets say 1 sec
ATST FF -> Set delay to 1 sec
ATSP 6 -> I'm using CAN so this is protocol no 6
ATCM 170 -> setting mask
ATCF 176 -> set filter
ATMA -> Monitor all
And using that there is no delay.. Is there any way to 'slow down' a little bit this lets say flow control? It is very important because without delay the buffer is full in half of a sec. I will be grateful for any help! Thank you M.
Best Answer
Read the datasheet for the ELM327 to understand the maximum message rate that can be accommodated. There is no buffer (it has only the RX and single message buffer in the chip) in the ELM327, so any buffering is done by whatever MCU they used to manage configuration and BL.
You clearly (from page 12 and page 74 on) should not turn on LF or AL if you want to get the maximum throughput message rate with least buffer utilization.
One has to say, if you really want to investigate the CAN-bus (all messages at high speed) and are not simply trying to do OBD-II codes, you should get a serious CAN-bus analyzer such as the Microchip one.