mrk-its / esphome-canopen

Apache License 2.0
24 stars 5 forks source link

issue with esp-idf framework #7

Closed timota closed 1 year ago

timota commented 1 year ago

Compiler log:

Processing can-master (board: esp32dev; framework: espidf; platform: platformio/espressif32@5.3.0)
--------------------------------------------------------------------------------
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.40404.0 (4.4.4) 
 - tool-cmake @ 3.16.4 
 - tool-ninja @ 1.7.1 
 - toolchain-esp32ulp @ 2.35.0-20220830 
 - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
Reading CMake configuration...
Dependency Graph
|-- noise-c @ 0.1.4
|   |-- libsodium @ 1.10018.1
|-- canopenstack @ 0.0.0+sha.c3906fb
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/canopen/canopen.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/canopen/co_cmd.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/canopen/co_storage.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/canopen/driver_can.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/canopen/fw.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/mdns/mdns_component.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/mdns/mdns_esp32.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/mdns/mdns_esp8266.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/mdns/mdns_host.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/mdns/mdns_rp2040.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/network/util.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/ota/ota_backend_arduino_esp32.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/ota/ota_backend_arduino_esp8266.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/ota/ota_backend_arduino_rp2040.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/ota/ota_backend_esp_idf.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/ota/ota_component.o
In file included from src/esphome.h:22,
                 from src/esphome/components/canopen/co_storage.cpp:1:
src/esphome/components/canopen/fw.h:32:60: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 const CO_OBJ_TYPE FwCtrl = { FwCtrlSize, 0, 0, FwCtrlWrite };
                                                            ^
In file included from src/esphome.h:22,
                 from src/esphome/components/canopen/canopen.cpp:2:
src/esphome/components/canopen/fw.h:32:60: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 const CO_OBJ_TYPE FwCtrl = { FwCtrlSize, 0, 0, FwCtrlWrite };
                                                            ^
In file included from src/esphome.h:22,
                 from src/esphome/components/canopen/co_cmd.cpp:1:
src/esphome/components/canopen/fw.h:32:60: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 const CO_OBJ_TYPE FwCtrl = { FwCtrlSize, 0, 0, FwCtrlWrite };
                                                            ^
In file included from src/esphome.h:22,
                 from src/esphome/components/canopen/canopen.h:3,
                 from src/esphome/components/canopen/driver_can.cpp:1:
src/esphome/components/canopen/fw.h:32:60: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 const CO_OBJ_TYPE FwCtrl = { FwCtrlSize, 0, 0, FwCtrlWrite };
                                                            ^
src/esphome/components/canopen/co_storage.cpp:31:1: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 };
 ^
src/esphome/components/canopen/co_storage.cpp:59:1: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 };
 ^
src/esphome/components/canopen/co_cmd.cpp:40:1: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 };
 ^
src/esphome/components/canopen/co_cmd.cpp:77:1: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 };
 ^
src/esphome/components/canopen/canopen.cpp: In member function 'void esphome::canopen::CanopenComponent::od_add_sensor_metadata(uint32_t, float, float)':
src/esphome/components/canopen/canopen.cpp:120:19: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         (CO_DATA)*(uint32_t *)&min_value
                   ^~~~~~~~~~~~~~~~~~~~~~
src/esphome/components/canopen/canopen.cpp:126:19: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         (CO_DATA)*(uint32_t *)&max_value
                   ^~~~~~~~~~~~~~~~~~~~~~
src/esphome/components/canopen/canopen.cpp: In lambda function:
src/esphome/components/canopen/canopen.cpp:281:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
           to_wire = [=](float state) { return *(uint32_t*)&state; };
                                                ^~~~~~~~~~~~~~~~~
In file included from src/esphome/components/api/proto.h:4,
                 from src/esphome/components/api/api_pb2.h:5,
                 from src/esphome/components/api/api_connection.h:4,
                 from src/esphome.h:3,
                 from src/esphome/components/canopen/canopen.cpp:2:
src/esphome/components/canopen/canopen.cpp: In member function 'void esphome::canopen::CanopenComponent::set_operational_mode()':
src/esphome/components/canopen/canopen.cpp:532:23: error: format '%x' expects argument of type 'unsigned int', but argument 8 has type 'const CO_OBJ_TYPE_T*' [-Werror=format=]
         ESP_LOGD(TAG, "OD Index: %02x Key: %08x Data: %08x Type: %08x", index, od->Key, value, od->Type);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/esphome/core/log.h:69:36: note: in definition of macro 'ESPHOME_LOG_FORMAT'
 #define ESPHOME_LOG_FORMAT(format) format
                                    ^~~~~~
src/esphome/core/log.h:149:28: note: in expansion of macro 'esph_log_d'
 #define ESP_LOGD(tag, ...) esph_log_d(tag, __VA_ARGS__)
                            ^~~~~~~~~~
src/esphome/components/canopen/canopen.cpp:532:9: note: in expansion of macro 'ESP_LOGD'
         ESP_LOGD(TAG, "OD Index: %02x Key: %08x Data: %08x Type: %08x", index, od->Key, value, od->Type);
         ^~~~~~~~
In file included from src/esphome/components/canopen/fw.cpp:1:
src/esphome/components/canopen/fw.h:32:60: warning: missing initializer for member 'CO_OBJ_TYPE_T::Reset' [-Wmissing-field-initializers]
 const CO_OBJ_TYPE FwCtrl = { FwCtrlSize, 0, 0, FwCtrlWrite };
                                                            ^
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/restart/button/restart_button.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/sensor/automation.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/sensor/filter.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/sensor/sensor.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/sntp/sntp_component.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/socket/bsd_sockets_impl.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/socket/lwip_raw_tcp_impl.o
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/socket/socket.o
cc1plus: some warnings being treated as errors
Compiling /data/can-master/.pioenvs/can-master/src/esphome/components/switch/automation.o
*** [/data/can-master/.pioenvs/can-master/src/esphome/components/canopen/canopen.o] Error 1
========================== [FAILED] Took 6.21 seconds ==========================

Can config

canopen:
  id: can_gate
  canbus_id: can_bus
  node_id: $can_master_id
  heartbeat_interval: 500ms
#   heartbeat_clients:
#     - node_id: ${can_slave_id}
#       timeout: 1000ms
#   on_hb_consumer_event:
#     then:
#       - lambda: |
#           ESP_LOGW("canopen", "missed heartbeat from node %d", node_id);
#   # csdo:
#   #   - node_id: $can_slave_id
  entities:
    - id: ctrl_r1
      index: 1
      tpdo: 0 
      rpdo:
        - node_id: $can_slave_id
          tpdo: 0
          offset: 0
          cmd: 0
mrk-its commented 1 year ago

@timota reopen if it still doesnt work