Giter Site home page Giter Site logo

bri3d / esp32-isotp-ble-bridge Goto Github PK

View Code? Open in Web Editor NEW
31.0 5.0 28.0 39.43 MB

ESP32-IDF based BLE<->ISO-TP bridge targeting Macchina A0 hardware

License: Other

CMake 0.51% Makefile 0.34% C 97.18% Python 1.96%
esp32 ble isotp uds iso15765 automotive diagnostic macchina a0

esp32-isotp-ble-bridge's Issues

Fails to handle "large-ish" ISO-TP messages (larger than 0x2D bytes)

I've got a test set up on bench that is doing $22 F15A over BLE.

Should be getting back 62 F15A 020004110a0b00191471020004110a0b00191471020004110a0b0019147102008005011000fe000002008005011000fe000002008005011000fe0000020004110a0b00191471020004110a0b00191471020004110a0b00191471020004110a0b00191471

Obviously this is going to be extremely difficult to trace back.

D (19871) ISOTPtoBLE: Sending TWAI Message with ID 000007E0
D (19881) ISOTPtoBLE: TX Data: 03
D (19881) ISOTPtoBLE: TX Data: 22
D (19891) ISOTPtoBLE: TX Data: F1
D (19901) ISOTPtoBLE: TX Data: 5A
D (19911) ISOTPtoBLE: TX Data: AA
D (19911) ISOTPtoBLE: TX Data: AA
D (19921) ISOTPtoBLE: TX Data: AA
D (19921) ISOTPtoBLE: TX Data: AA
I (19931) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (19941) ISOTPtoBLE: RX Data: 10
D (19941) ISOTPtoBLE: RX Data: 67
D (19951) ISOTPtoBLE: RX Data: 62
D (19951) ISOTPtoBLE: RX Data: F1
D (19961) ISOTPtoBLE: RX Data: 5A
D (19961) ISOTPtoBLE: RX Data: 02
D (19961) ISOTPtoBLE: RX Data: 00
D (19971) ISOTPtoBLE: RX Data: 04
D (19971) ISOTPtoBLE: Took isotp_mutex
I (19981) ISOTPtoBLE: isotp_on_can_message(ECU)
D (19981) ISOTPtoBLE: Sending TWAI Message with ID 000007E0
D (19991) ISOTPtoBLE: TX Data: 30
D (19991) ISOTPtoBLE: TX Data: 08
D (20001) ISOTPtoBLE: TX Data: 00
D (20001) ISOTPtoBLE: TX Data: AA
D (20011) ISOTPtoBLE: TX Data: AA
D (20011) ISOTPtoBLE: TX Data: AA
D (20011) ISOTPtoBLE: TX Data: AA
D (20021) ISOTPtoBLE: TX Data: AA
I (20021) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (20031) ISOTPtoBLE: RX Data: 21
D (20041) ISOTPtoBLE: RX Data: 11
D (20051) ISOTPtoBLE: RX Data: 0A
D (20051) ISOTPtoBLE: RX Data: 0B
D (20051) ISOTPtoBLE: RX Data: 00
D (20061) ISOTPtoBLE: RX Data: 19
D (20061) ISOTPtoBLE: RX Data: 14
D (20061) ISOTPtoBLE: RX Data: 71
D (20071) ISOTPtoBLE: Took isotp_mutex
I (20071) ISOTPtoBLE: isotp_on_can_message(ECU)
I (20071) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (20091) ISOTPtoBLE: RX Data: 22
D (20101) ISOTPtoBLE: RX Data: 02
D (20101) ISOTPtoBLE: RX Data: 00
D (20111) ISOTPtoBLE: RX Data: 04
D (20111) ISOTPtoBLE: RX Data: 11
D (20121) ISOTPtoBLE: RX Data: 0A
D (20121) ISOTPtoBLE: RX Data: 0B
D (20131) ISOTPtoBLE: RX Data: 00
D (20141) ISOTPtoBLE: Took isotp_mutex
I (20141) ISOTPtoBLE: isotp_on_can_message(ECU)
I (20141) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (20161) ISOTPtoBLE: RX Data: 23
D (20161) ISOTPtoBLE: RX Data: 19
D (20161) ISOTPtoBLE: RX Data: 14
D (20171) ISOTPtoBLE: RX Data: 71
D (20181) ISOTPtoBLE: RX Data: 02
D (20181) ISOTPtoBLE: RX Data: 00
D (20191) ISOTPtoBLE: RX Data: 04
D (20191) ISOTPtoBLE: RX Data: 11
D (20201) ISOTPtoBLE: Took isotp_mutex
I (20211) ISOTPtoBLE: isotp_on_can_message(ECU)
I (20211) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (20221) ISOTPtoBLE: RX Data: 24
D (20231) ISOTPtoBLE: RX Data: 0A
D (20231) ISOTPtoBLE: RX Data: 0B
D (20241) ISOTPtoBLE: RX Data: 00
D (20251) ISOTPtoBLE: RX Data: 19
D (20251) ISOTPtoBLE: RX Data: 14
D (20261) ISOTPtoBLE: RX Data: 71
D (20261) ISOTPtoBLE: RX Data: 02
D (20271) ISOTPtoBLE: Took isotp_mutex
I (20281) ISOTPtoBLE: isotp_on_can_message(ECU)
I (20281) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (20291) ISOTPtoBLE: RX Data: 25
D (20301) ISOTPtoBLE: RX Data: 00
D (20301) ISOTPtoBLE: RX Data: 80
D (20311) ISOTPtoBLE: RX Data: 05
D (20311) ISOTPtoBLE: RX Data: 01
D (20321) ISOTPtoBLE: RX Data: 10
D (20331) ISOTPtoBLE: RX Data: 00
D (20331) ISOTPtoBLE: RX Data: FE
D (20341) ISOTPtoBLE: Took isotp_mutex
I (20341) ISOTPtoBLE: isotp_on_can_message(ECU)
I (20351) ISOTPtoBLE: Received TWAI message with identifier 000007E8 and length 00000008
D (20361) ISOTPtoBLE: RX Data: 26
D (20371) ISOTPtoBLE: RX Data: 00
D (20371) ISOTPtoBLE: RX Data: 00
D (20371) ISOTPtoBLE: RX Data: 02
D (20381) ISOTPtoBLE: RX Data: 00
D (20381) ISOTPtoBLE: RX Data: 80
D (20391) ISOTPtoBLE: RX Data: 05
D (20401) ISOTPtoBLE: RX Data: 01
D (20401) ISOTPtoBLE: Took isotp_mutex
I (20401) ISOTPtoBLE: isotp_on_can_message(ECU)

SHOULD KEEP GOING, doesn't?

ISO15765 29BIT Can ids

I didn't notice does your firmware support 29BIT Extended can ids or 500k baud?
I wanted to test on a Honda, but i couldn't find how i could set the extended IDs or flow control filters?
Maybe I'm just blind, thats totally possible as well.

Portability

Thanks for this great project. As a future owner of a WiCAN, I wonder how much of this firmware is applicable to this board. Sorry if that's a dumb question, I'm just getting started with ESP32.

idf.py build fails

Brandons-MacBook-Air:esp32-isotp-ble-bridge brandonros 2021-08-17 20:06:09 $ idf.py build
Executing action: all (aliases: build)
Running make in directory /Users/brandonros/Desktop/esp32-isotp-ble-bridge/build
Executing "make -j 10 all"...
[  0%] Built target custom_bundle
[  0%] Built target _project_elf_src
[  0%] Built target esp32_linker_script
[  1%] Built target partition_table_bin
Consolidate compiler generated dependencies of target __idf_ulp
[  1%] Performing build step for 'bootloader'
[  1%] Built target __idf_ulp
Consolidate compiler generated dependencies of target __idf_esp_serial_slave_link
Consolidate compiler generated dependencies of target __idf_log
[  1%] Built target __idf_esp_serial_slave_link
[  1%] Built target _project_elf_src
Consolidate compiler generated dependencies of target __idf_sdmmc
[  5%] Built target __idf_log
Consolidate compiler generated dependencies of target __idf_esp_rom
[  2%] Built target __idf_sdmmc
[ 10%] Built target __idf_esp_rom
Consolidate compiler generated dependencies of target __idf_esp_https_ota
Consolidate compiler generated dependencies of target __idf_esp_common
[  2%] Built target __idf_esp_https_ota
[ 12%] Built target __idf_esp_common
Consolidate compiler generated dependencies of target __idf_xtensa
Consolidate compiler generated dependencies of target __idf_esp_http_server
[ 16%] Built target __idf_xtensa
Consolidate compiler generated dependencies of target __idf_esp_hw_support
[  3%] Built target __idf_esp_http_server
Consolidate compiler generated dependencies of target __idf_esp_http_client
[ 27%] Built target __idf_esp_hw_support
Consolidate compiler generated dependencies of target __idf_efuse
[  3%] Built target __idf_esp_http_client
[ 36%] Built target __idf_efuse
Consolidate compiler generated dependencies of target __idf_tcp_transport
Consolidate compiler generated dependencies of target __idf_bootloader_support
[  3%] Built target __idf_tcp_transport
Consolidate compiler generated dependencies of target __idf_esp-tls
[ 61%] Built target __idf_bootloader_support
[  3%] Built target __idf_esp-tls
Consolidate compiler generated dependencies of target __idf_spi_flash
Consolidate compiler generated dependencies of target __idf_nghttp
[ 63%] Built target __idf_spi_flash
Consolidate compiler generated dependencies of target __idf_micro-ecc
[ 65%] Built target __idf_micro-ecc
[  6%] Built target __idf_nghttp
Consolidate compiler generated dependencies of target __idf_app_trace
Consolidate compiler generated dependencies of target __idf_soc
[  6%] Built target __idf_app_trace
[ 90%] Built target __idf_soc
Consolidate compiler generated dependencies of target __idf_cxx
Consolidate compiler generated dependencies of target __idf_hal
[  7%] Built target __idf_cxx
[ 93%] Built target __idf_hal
Consolidate compiler generated dependencies of target __idf_newlib
Consolidate compiler generated dependencies of target __idf_main
[ 95%] Built target __idf_main
[  8%] Built target __idf_newlib
Consolidate compiler generated dependencies of target bootloader.elf
[ 98%] Built target bootloader.elf
Consolidate compiler generated dependencies of target __idf_freertos
[100%] Built target gen_project_binary
[  9%] Built target __idf_freertos
Consolidate compiler generated dependencies of target __idf_esp_timer
[ 10%] Built target __idf_esp_timer
Bootloader binary size 0x5fa0 bytes. 0x1060 bytes (17%) free.
Consolidate compiler generated dependencies of target __idf_esp_common
[100%] Built target bootloader_check_size
[ 10%] Built target __idf_esp_common
Consolidate compiler generated dependencies of target __idf_esp32
[100%] Built target app
[ 11%] Built target __idf_esp32
[ 11%] No install step for 'bootloader'
Consolidate compiler generated dependencies of target __idf_perfmon
[ 11%] Completed 'bootloader'
[ 11%] Built target __idf_perfmon
Consolidate compiler generated dependencies of target __idf_xtensa
[ 12%] Built target bootloader
[ 12%] Built target __idf_xtensa
Consolidate compiler generated dependencies of target __idf_driver
[ 15%] Built target __idf_driver
Consolidate compiler generated dependencies of target __idf_esp_ringbuf
[ 15%] Built target __idf_esp_ringbuf
Consolidate compiler generated dependencies of target __idf_esp_pm
[ 15%] Built target __idf_esp_pm
Consolidate compiler generated dependencies of target __idf_esp_hw_support
[ 17%] Built target __idf_esp_hw_support
Consolidate compiler generated dependencies of target __idf_soc
[ 19%] Built target __idf_soc
Consolidate compiler generated dependencies of target __idf_heap
[ 19%] Built target __idf_heap
Consolidate compiler generated dependencies of target __idf_log
[ 19%] Built target __idf_log
Consolidate compiler generated dependencies of target __idf_lwip
[ 28%] Built target __idf_lwip
Consolidate compiler generated dependencies of target __idf_esp_wifi
[ 29%] Built target __idf_esp_wifi
Consolidate compiler generated dependencies of target __idf_wpa_supplicant
[ 36%] Built target __idf_wpa_supplicant
Consolidate compiler generated dependencies of target __idf_esp_event
[ 37%] Built target __idf_esp_event
Consolidate compiler generated dependencies of target __idf_esp_netif
[ 38%] Built target __idf_esp_netif
Consolidate compiler generated dependencies of target __idf_tcpip_adapter
[ 39%] Built target __idf_tcpip_adapter
Consolidate compiler generated dependencies of target __idf_esp_eth
[ 40%] Built target __idf_esp_eth
Consolidate compiler generated dependencies of target __idf_vfs
[ 41%] Built target __idf_vfs
Consolidate compiler generated dependencies of target __idf_hal
[ 46%] Built target __idf_hal
Consolidate compiler generated dependencies of target __idf_esp_rom
[ 47%] Built target __idf_esp_rom
Consolidate compiler generated dependencies of target __idf_esp_system
[ 50%] Built target __idf_esp_system
Consolidate compiler generated dependencies of target __idf_esp_phy
[ 50%] Built target __idf_esp_phy
Consolidate compiler generated dependencies of target __idf_espcoredump
[ 51%] Built target __idf_espcoredump
Consolidate compiler generated dependencies of target __idf_esp_gdbstub
[ 51%] Built target __idf_esp_gdbstub
Consolidate compiler generated dependencies of target __idf_pthread
[ 51%] Built target __idf_pthread
Consolidate compiler generated dependencies of target __idf_nvs_flash
[ 52%] Built target __idf_nvs_flash
Consolidate compiler generated dependencies of target __idf_spi_flash
[ 54%] Built target __idf_spi_flash
Consolidate compiler generated dependencies of target __idf_esp_ipc
[ 54%] Built target __idf_esp_ipc
Consolidate compiler generated dependencies of target __idf_bootloader_support
[ 55%] Built target __idf_bootloader_support
Consolidate compiler generated dependencies of target __idf_app_update
[ 55%] Built target __idf_app_update
Consolidate compiler generated dependencies of target __idf_efuse
[ 56%] Built target __idf_efuse
Consolidate compiler generated dependencies of target mbedtls
[ 57%] Built target mbedtls
Consolidate compiler generated dependencies of target mbedx509
[ 58%] Built target mbedx509
Consolidate compiler generated dependencies of target mbedcrypto
[ 65%] Built target mbedcrypto
Consolidate compiler generated dependencies of target __idf_mbedtls
[ 66%] Built target __idf_mbedtls
Consolidate compiler generated dependencies of target __idf_json
Consolidate compiler generated dependencies of target __idf_protobuf-c
Consolidate compiler generated dependencies of target __idf_cbor
Consolidate compiler generated dependencies of target __idf_unity
Consolidate compiler generated dependencies of target __idf_console
Consolidate compiler generated dependencies of target __idf_esp_adc_cal
Consolidate compiler generated dependencies of target __idf_asio
Consolidate compiler generated dependencies of target __idf_esp_lcd
Consolidate compiler generated dependencies of target __idf_esp_hid
[ 67%] Built target __idf_json
[ 68%] Built target __idf_protobuf-c
Consolidate compiler generated dependencies of target __idf_coap
[ 68%] Built target __idf_unity
[ 68%] Built target __idf_esp_adc_cal
[ 69%] Built target __idf_cbor
Consolidate compiler generated dependencies of target __idf_esp_websocket_client
[ 69%] Built target __idf_console
Consolidate compiler generated dependencies of target __idf_expat
Consolidate compiler generated dependencies of target __idf_wear_levelling
[ 70%] Built target __idf_esp_hid
[ 72%] Built target __idf_esp_lcd
[ 72%] Built target __idf_asio
Consolidate compiler generated dependencies of target __idf_jsmn
[ 72%] Built target __idf_expat
[ 72%] Built target __idf_esp_websocket_client
[ 72%] Built target __idf_jsmn
Consolidate compiler generated dependencies of target __idf_spiffs
Consolidate compiler generated dependencies of target __idf_mqtt
[ 73%] Built target __idf_wear_levelling
Consolidate compiler generated dependencies of target __idf_openssl
Consolidate compiler generated dependencies of target __idf_freemodbus
Consolidate compiler generated dependencies of target __idf_cmock
Consolidate compiler generated dependencies of target __idf_mdns
Consolidate compiler generated dependencies of target __idf_protocomm
Consolidate compiler generated dependencies of target __idf_fatfs
Consolidate compiler generated dependencies of target __idf_libsodium
[ 74%] Built target __idf_mqtt
[ 75%] Built target __idf_spiffs
[ 76%] Built target __idf_openssl
[ 78%] Built target __idf_coap
[ 79%] Built target __idf_cmock
[ 79%] Built target __idf_mdns
[ 80%] Built target __idf_protocomm
[ 81%] Built target __idf_fatfs
Consolidate compiler generated dependencies of target __idf_esp_local_ctrl
Consolidate compiler generated dependencies of target __idf_wifi_provisioning
[ 82%] Built target __idf_esp_local_ctrl
[ 83%] Built target __idf_wifi_provisioning
[ 88%] Built target __idf_freemodbus
[ 99%] Built target __idf_libsodium
Consolidate compiler generated dependencies of target __idf_main
[ 99%] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/ble_server.c.obj
/Users/brandonros/Desktop/esp32-isotp-ble-bridge/main/ble_server.c:23:10: fatal error: esp_bt.h: No such file or directory
 #include "esp_bt.h"
          ^~~~~~~~~~
compilation terminated.
make[2]: *** [esp-idf/main/CMakeFiles/__idf_main.dir/ble_server.c.obj] Error 1
make[1]: *** [esp-idf/main/CMakeFiles/__idf_main.dir/all] Error 2
make: *** [all] Error 2
make failed with exit code 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.