Giter Site home page Giter Site logo

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

View Code? Open in Web Editor NEW
30.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 People

Contributors

brandonros avatar bri3d avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

esp32-isotp-ble-bridge's Issues

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

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.

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.