Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Confusing development process

    Scheduled Pinned Locked Moved Discussion
    micropythonversionmanagement
    24 Posts 5 Posters 3.2k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • robert-hhR Offline
      robert-hh
      last edited by robert-hh

      For me is the large number for branches, which try and fix this and that, confusing. At the same time, simple bugs like the GPIO Pin swap for SiPy or the lte.attach() bug stay unfixed in the main line, even if some of the published branches contain fixes.
      So it would be helpful if you could agree on maintaining the master branch more frequently and include all the simple fixes as soon they are ready.
      You may be focused on all these shiny new products, but please do not forget support for the existing product and code base.
      One more thing: While the stable update version is 1.18.1.r4, the master branch of the repository still sticks at 1.18.1.r1.

      I 1 Reply Last reply Reply Quote 4
      • D Offline
        danielm
        last edited by

        There is v1.20.0.rc0 in works which will probably contain recent fixes, at least it seems so according to commits:
        https://github.com/pycom/pycom-micropython-sigfox/commits/v1.20.0.rc0

        robert-hhR 1 Reply Last reply Reply Quote 0
        • robert-hhR Offline
          robert-hh @danielm
          last edited by

          @danielm I've seen it, and that caused me to write my post. Before that, there were lte-xykon, lte-attach-fix, socket-fix, nbiot-xykon. I would expect with every release a list of issues, that are fixed, a list of changes (v1.20.0.rc0 for instance uses resp. supports littlefs) and a list of open issues.
          It's not that I could not sort that out by myself, at least partially, but in a proper development environment that information must be available. The git log serves not well for that purpose.

          D 1 Reply Last reply Reply Quote 0
          • D Offline
            danielm @robert-hh
            last edited by

            @robert-hh
            I totally agree with you. Release cycles should be more controlled and better documented. I think there was a promise of periodical releases including change logs few months ago...

            Btw, did you try to build v1.20.0.rc0?

            robert-hhR 1 Reply Last reply Reply Quote 0
            • robert-hhR Offline
              robert-hh @danielm
              last edited by robert-hh

              @danielm said in Confusing developmemt process:

              Btw, did you try to build v1.20.0.rc0?

              No. Not yet. I've seen a not that it seems to require esp-idf 3.1, and before I try, I want to be sure that there is a way back. Did you try it?
              Edit: Failed at the first step, compiling the boot loader with the existing esp-idf
              Edit2: Doing git checkout idf_v3.1 in pycom-esp-idf changed the game

              1 Reply Last reply Reply Quote 0
              • D Offline
                danielm
                last edited by

                I tried but failed as well.

                I used this branch of IDF:
                https://github.com/pycom/pycom-esp-idf/tree/patch_fixing_crash_issue

                and "old" compiler:
                xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz

                robert-hhR 3 Replies Last reply Reply Quote 0
                • robert-hhR Offline
                  robert-hh @danielm
                  last edited by

                  @danielm Doing git checkout idf_v3.1 in pycom-esp-idf changed the game

                  1 Reply Last reply Reply Quote 0
                  • robert-hhR Offline
                    robert-hh @danielm
                    last edited by

                    @danielm Got a step further:

                    • mpy-cross has to be build new too
                    • compiling worked
                    • linker failed: cannot find -lmesh
                    1 Reply Last reply Reply Quote 0
                    • robert-hhR Offline
                      robert-hh @danielm
                      last edited by robert-hh

                      @danielm after just removing -lmesh form the LIBS list in Makefile, the loader starts and spits out a huge error list.

                      Use make SECURE=on [optionally SECURE_KEY ?= secure_boot_signing_key.pem] to enable Secure Boot and Flash Encryption mechanisms.
                      Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
                      BASE Variant
                      LINK build/FIPY/release/application.elf
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_get_eap_method':
                      /Users/iwahdan/esp/pycom-esp-idf/components/wpa_supplicant/src/wpa2/eap_peer/eap.c:53: multiple definition of `eap_peer_get_eap_method'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_get_eap_method+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_get_methods':
                      eap.c:(.text.eap_peer_get_methods+0x0): multiple definition of `eap_peer_get_methods'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_get_methods+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_get_type':
                      eap.c:(.text.eap_peer_get_type+0x0): multiple definition of `eap_peer_get_type'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_get_type+0x8): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_phase2_type':
                      eap.c:(.text.eap_get_phase2_type+0x0): multiple definition of `eap_get_phase2_type'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_phase2_type+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_phase2_types':
                      eap.c:(.text.eap_get_phase2_types+0x0): multiple definition of `eap_get_phase2_types'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_phase2_types+0x8): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_method_alloc':
                      eap.c:(.text.eap_peer_method_alloc+0x0): multiple definition of `eap_peer_method_alloc'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_method_alloc+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_method_free':
                      eap.c:(.text.eap_peer_method_free+0x0): multiple definition of `eap_peer_method_free'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_method_free+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_method_register':
                      eap.c:(.text.eap_peer_method_register+0x0): multiple definition of `eap_peer_method_register'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_method_register+0x8): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_unregister_methods':
                      eap.c:(.text.eap_peer_unregister_methods+0x0): multiple definition of `eap_peer_unregister_methods'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_unregister_methods+0x8): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_peer_register_methods':
                      eap.c:(.text.eap_peer_register_methods+0x0): multiple definition of `eap_peer_register_methods'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_peer_register_methods+0x10): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_sm_build_identity_resp':
                      eap.c:(.text.eap_sm_build_identity_resp+0x0): multiple definition of `eap_sm_build_identity_resp'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_sm_build_identity_resp+0x28): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_config':
                      eap.c:(.text.eap_get_config+0x0): multiple definition of `eap_get_config'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_config+0x0): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_config_identity':
                      eap.c:(.text.eap_get_config_identity+0x0): multiple definition of `eap_get_config_identity'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_config_identity+0x0): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_config_password':
                      eap.c:(.text.eap_get_config_password+0x0): multiple definition of `eap_get_config_password'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_config_password+0x0): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_config_password2':
                      eap.c:(.text.eap_get_config_password2+0x0): multiple definition of `eap_get_config_password2'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_config_password2+0x0): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_config_new_password':
                      eap.c:(.text.eap_get_config_new_password+0x0): multiple definition of `eap_get_config_new_password'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_config_new_password+0x0): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `eap_get_config_blob':
                      eap.c:(.text.eap_get_config_blob+0x0): multiple definition of `eap_get_config_blob'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.eap_get_config_blob+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_cert_key':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_cert_key+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_cert_key'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_cert_key+0x14): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_clear_cert_key':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_clear_cert_key+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_clear_cert_key'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_clear_cert_key+0x18): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_ca_cert':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_ca_cert+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_ca_cert'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_ca_cert+0x8): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_clear_ca_cert':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_clear_ca_cert+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_clear_ca_cert'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_clear_ca_cert+0x8): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_identity':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_identity+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_identity'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_identity+0x14): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_clear_identity':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_clear_identity+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_clear_identity'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_clear_identity+0xc): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_username':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_username+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_username'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_username+0x14): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_clear_username':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_clear_username+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_clear_username'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_clear_username+0xc): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_password':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_password+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_password'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_password+0x14): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_clear_password':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_clear_password+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_clear_password'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_clear_password+0xc): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_new_password':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_new_password+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_new_password'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_new_password+0x14): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_clear_new_password':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_clear_new_password+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_clear_new_password'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_clear_new_password+0xc): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_set_disable_time_check':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_set_disable_time_check+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_set_disable_time_check'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_set_disable_time_check+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `wifi_sta_get_enterprise_disable_time_check':
                      eap.c:(.text.wifi_sta_get_enterprise_disable_time_check+0x0): multiple definition of `wifi_sta_get_enterprise_disable_time_check'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.wifi_sta_get_enterprise_disable_time_check+0x4): first defined here
                      lib/libwpa_supplicant.a(eap.o): In function `esp_wifi_sta_wpa2_ent_get_disable_time_check':
                      eap.c:(.text.esp_wifi_sta_wpa2_ent_get_disable_time_check+0x0): multiple definition of `esp_wifi_sta_wpa2_ent_get_disable_time_check'
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwpa2.a(eap.o):(.text.esp_wifi_sta_wpa2_ent_get_disable_time_check+0x4): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_process_msg':
                      (.text.wps_process_msg+0x8): multiple definition of `wps_process_msg'
                      lib/libwpa_supplicant.a(wps.o):/Users/iwahdan/esp/pycom-esp-idf/components/wpa_supplicant/src/wps/wps.c:41: first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_get_msg':
                      (.text.wps_get_msg+0x8): multiple definition of `wps_get_msg'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_get_msg+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_is_selected_pbc_registrar':
                      (.text.wps_is_selected_pbc_registrar+0x20): multiple definition of `wps_is_selected_pbc_registrar'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_is_selected_pbc_registrar+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_is_selected_pin_registrar':
                      (.text.wps_is_selected_pin_registrar+0x14): multiple definition of `wps_is_selected_pin_registrar'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_is_selected_pin_registrar+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_is_addr_authorized':
                      (.text.wps_is_addr_authorized+0x28): multiple definition of `wps_is_addr_authorized'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_is_addr_authorized+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_ap_priority_compar':
                      (.text.wps_ap_priority_compar+0x18): multiple definition of `wps_ap_priority_compar'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_ap_priority_compar+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_get_uuid_e':
                      (.text.wps_get_uuid_e+0xc): multiple definition of `wps_get_uuid_e'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_get_uuid_e+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_is_20':
                      (.text.wps_is_20+0xc): multiple definition of `wps_is_20'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_is_20+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_build_assoc_req_ie':
                      (.text.wps_build_assoc_req_ie+0x20): multiple definition of `wps_build_assoc_req_ie'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_build_assoc_req_ie+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_build_assoc_resp_ie':
                      (.text.wps_build_assoc_resp_ie+0x20): multiple definition of `wps_build_assoc_resp_ie'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_build_assoc_resp_ie+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_build_probe_req_ie':
                      (.text.wps_build_probe_req_ie+0x4c): multiple definition of `wps_build_probe_req_ie'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_build_probe_req_ie+0x0): first defined here
                      /home/robert/Downloads/MicroPython/pycom-esp-idf//components/esp32/lib/libwps.a(wps.o): In function `wps_attr_text':
                      (.text.wps_attr_text+0x60): multiple definition of `wps_attr_text'
                      lib/libwpa_supplicant.a(wps.o):wps.c:(.text.wps_attr_text+0x0): first defined here
                      lib/libbt.a(bt.o):(.iram1.literal+0x1c): undefined reference to `btdm_controller_get_sleep_mode'
                      lib/libbt.a(bt.o):(.literal.esp_vhci_host_send_packet+0x0): undefined reference to `btdm_power_state_active'
                      lib/libbt.a(bt.o):(.literal.esp_vhci_host_send_packet+0x4): undefined reference to `btdm_wakeup_request'
                      lib/libbt.a(bt.o):(.literal.esp_bt_controller_init+0x28): undefined reference to `btdm_lpclk_select_src'
                      lib/libbt.a(bt.o):(.literal.esp_bt_controller_init+0x30): undefined reference to `btdm_lpclk_set_div'
                      lib/libbt.a(bt.o):(.literal.esp_bt_controller_init+0x38): undefined reference to `btdm_controller_set_sleep_mode'
                      lib/libbt.a(bt.o):(.literal.esp_bt_controller_enable+0x4): undefined reference to `btdm_controller_get_sleep_mode'
                      lib/libbt.a(bt.o):(.literal.esp_bt_controller_enable+0x8): undefined reference to `btdm_controller_enable_sleep'
                      lib/libbt.a(bt.o): In function `semphr_take_wrapper':
                      bt.c:(.iram1+0x223): undefined reference to `btdm_controller_get_sleep_mode'
                      lib/libbt.a(bt.o): In function `btdm_sleep_exit_wrapper':
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      lib/libbt.a(bt.o): In function `btdm_sleep_enter_wrapper':
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      lib/libbt.a(bt.o): In function `esp_vhci_host_send_packet':
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_power_state_active'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_wakeup_request'
                      lib/libbt.a(bt.o): In function `esp_bt_controller_init':
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_lpclk_select_src'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_lpclk_set_div'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_set_sleep_mode'
                      lib/libbt.a(bt.o): In function `esp_bt_controller_enable':
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_enable_sleep'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      lib/libbt.a(bt.o): In function `esp_bt_controller_disable':
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_enable_sleep'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_power_state_active'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_wakeup_request'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_power_state_active'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      /Users/iwahdan/esp/pycom-esp-idf/components/bt/bt.c:1018: undefined reference to `btdm_controller_get_sleep_mode'
                      build/FIPY/release/application.a(modwlan.o):(.literal.wlan_ctrl_pkt_filter+0x8): undefined reference to `esp_wifi_set_promiscuous_ctrl_filter'
                      build/FIPY/release/application.a(modwlan.o): In function `wlan_ctrl_pkt_filter':
                      /home/robert/Downloads/MicroPython/pycom-micropython-sigfox/esp32/mods/modwlan.c:2460: undefined reference to `esp_wifi_set_promiscuous_ctrl_filter'
                      /home/robert/Downloads/MicroPython/pycom-micropython-sigfox/esp32/mods/modwlan.c:2474: undefined reference to `esp_wifi_set_promiscuous_ctrl_filter'
                      lib/libesp32.a(phy_init.o):(.literal.esp_phy_rf_init$part$1+0x4): undefined reference to `wifi_osi_funcs_register'
                      lib/libesp32.a(phy_init.o): In function `esp_phy_rf_init':
                      /Users/iwahdan/esp/pycom-esp-idf/components/esp32/phy_init.c:128: undefined reference to `wifi_osi_funcs_register'
                      collect2: error: ld returned 1 exit status
                      application.mk:593: die Regel für Ziel „build/FIPY/release/application.elf“ scheiterte
                      make: *** [build/FIPY/release/application.elf] Fehler 1
                      r
                      
                      D 1 Reply Last reply Reply Quote 0
                      • D Offline
                        danielm @robert-hh
                        last edited by

                        @robert-hh
                        Yes I also got stuck at "-lmesh" error.
                        Let's wait for @iwahdan until he releases it :)

                        1 Reply Last reply Reply Quote 0
                        • I Offline
                          iwahdan @robert-hh
                          last edited by

                          Hello @robert-hh , we will be posting about a new release candidate v1.20.0.rc0 this weekend, for now I think the problem of -lmesh is because you are using IDF. master branch , for this build we are using idf_v3.1 branch.

                          About the Dev process, I agree with you, that's why we are currently updating the process to make the master branch always up to date with our private Development repo, and that will take effect once we merge this v1.20.0 as an Official release and merge it to master, for Now we are keeping the branch v1.20.0.rc0 for evaluating this release candidate.

                          Wahdan

                          robert-hhR 1 Reply Last reply Reply Quote 1
                          • robert-hhR Offline
                            robert-hh @iwahdan
                            last edited by robert-hh

                            @iwahdan Hello @iwahdan . Thanks for the swift response. If you look down the posts, you sse that I checked out the idf_v3.1 branch in the pycom-esp-idf & made a git pull for updating (and submodule update). And I removed that -lmesh from the linker list. At that point I got the linker error list and stopped trying.

                            I 1 Reply Last reply Reply Quote 0
                            • I Offline
                              iwahdan @robert-hh
                              last edited by iwahdan

                              Hi @robert-hh , sorry didn't see that you already use idf_v3.1 , however, did you update IDF submodules git submodule update after checking out idf_v3.1 branch as libmesh.a is located in components/esp32/lib

                              Wahdan

                              robert-hhR 1 Reply Last reply Reply Quote 0
                              • robert-hhR Offline
                                robert-hh @iwahdan
                                last edited by robert-hh

                                @iwahdan I was pretty sure that I did, but doing it again changed the picture, and it build now. Thanks.

                                Two other question:
                                a) v1.20.0.rc1 (like 1.19.x) has a halfway implementation of controlling the behaviour of CTRL-F. All the lower level changes are implemented, but the API call from python is not. Is that for a specific reason?
                                b) I got the replaced FiPy for band 8, but trying to use it tells be, that band 8 is not supported. And downloading the most recent sequans firmware requires an authorization. I know that I downloaded a version once, but cannot recall being asked for authorization. Found the password!

                                1 Reply Last reply Reply Quote 0
                                • I Offline
                                  iwahdan
                                  last edited by

                                  @robert-hh ,

                                  for point b) I am now updating v1.20.0.rc0 to support this band along with other bands as well, will push it today to branch.
                                  for point a) I think Exposing this option in Micropython was not part of the pull request here https://github.com/pycom/pycom-micropython-sigfox/pull/139/files , that's why I think it was missed out.

                                  Wahdan

                                  robert-hhR 2 Replies Last reply Reply Quote 0
                                  • robert-hhR Offline
                                    robert-hh @iwahdan
                                    last edited by robert-hh

                                    @iwahdan about point a) This exposing was part of the pull request, if you look into the link you gave. I know it since this PR was done by me. And it is the change to modmicropython.c, which is missing. But you might skip the change to the first file, esp32/fatfs/src/drivers/sflash_diskio.c, because that is unrelated and anyhow not needed.
                                    for point b) that's fine. Is it only the code in lte_attach(), or more?

                                    1 Reply Last reply Reply Quote 0
                                    • D Offline
                                      danielm
                                      last edited by

                                      I am not able to successfully build the release candidate. Am I using the right compiler?

                                      .../xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld: cannot find -lcore
                                      collect2: error: ld returned 1 exit status
                                      
                                      robert-hhR I 2 Replies Last reply Reply Quote 0
                                      • robert-hhR Offline
                                        robert-hh @danielm
                                        last edited by robert-hh

                                        @danielm I'm using 5.2.0 too. Did you update the submodules AFTER checking out the proper branch in the IDF?

                                        1 Reply Last reply Reply Quote 0
                                        • I Offline
                                          iwahdan @danielm
                                          last edited by

                                          @danielm libcore.a is also part of IDF /components/esp32/lib so you might need to do git submodule update after checking out idf_v3.1 branch as well

                                          Wahdan

                                          1 Reply Last reply Reply Quote 0
                                          • robert-hhR Offline
                                            robert-hh @iwahdan
                                            last edited by

                                            @iwahdan With a slight modification in lte_attach() (just adding band 8) I succeeded in attaching & connecting in band 8, T-Mobile Germany, 1nce.net. Good news!

                                            I 1 Reply Last reply Reply Quote 1

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            Pycom on Twitter

                                            Pycom