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

    Getting started with PyGos and Pylife

    Scheduled Pinned Locked Moved PyGo
    13 Posts 4 Posters 192 Views 6 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 @Pete Allen 0
      last edited by

      @Pete-Allen-0 Another error when booting while the pylife app is open. Here is the boot sequence (including a secret key):

      Pylife start
      3 Set interrupt: Double Tap, 
      b'\x124\xc0\xde\x1a\xb5\x124\xc0\xde\x1a\xb5\xca\x1a\x11\x0f'
      RTC: (1970, 1, 1, 0, 0, 8, 31087, None)
      Coex register schm btdm cb faild
      BLE name: PyGo 15253
      Client connected
      Pycom MicroPython 1.20.4.r4 [v1.11-258cda230-dirty] on 2022-06-13; PyGo2 with ESP32
      Pybytes Version: 1.6.1
      Pymesh Version: 1.4.0
      Type "help()" for more information.
      >>> {}
      power up pygo2
      wait
      Traceback (most recent call last):
        File "_ble_rpc.py", line 260, in resolve
        File "_ble_rpc.py", line 527, in get_device_info
      KeyError: l
      Traceback (most recent call last):
        File "_ble_rpc.py", line 236, in feed
        File "_ble_rpc.py", line 236, in <listcomp>
        File "_ble_rpc.py", line 245, in resolve
      TypeError: 'int' object isn't iterable
      power up pygo2
      wait
      Traceback (most recent call last):
        File "_ble_rpc.py", line 260, in resolve
        File "_ble_rpc.py", line 527, in get_device_info
      KeyError: l
      

      P.S.: Needless to say: no response to tap, single or double.

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

        @robert-hh After sitting on the desk fpr a few hours, the PyGo2 is now in a kind of lock state. At the serial interface, it just prints:

        Performing i2c_hw_fsm_reset !I2C_SUPPORT_HW_FSM_RST
        This is i2c_master_clear_bus...
        
        

        No connection to PyLife,

        Edit: It seemed to be the state of empty battery. After some time of charging it started to boot.

        H 1 Reply Last reply Reply Quote 0
        • H Offline
          hjoe Pybytes Beta @robert-hh
          last edited by

          @robert-hh How to you connect to your PyGos?

          Still waiting for the gradle but nothing besides silence from pycom

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

            @hjoe With a cradle. I got my PyGo with the second shipping batch, after Pycom decided to ship cradles as well.

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

              @Pete-Allen-0 Hello Peter, I donot know whether you can answer my question, but you might know someone at Pycom who can.

              By just poking around, I have set a PyGo2 into a kind of zombie state, in which is tries to boot, fails in executing one of teh boot scripts (e.g. _boot.py or _main.py) and falls back into REPL, just to boot again after about a minute. I assume it's a watchdog timer which causes it to boot. upgrade() is not possible, safeboot() also does not stop the WDT. The behavior seems to be related to the keys and values stored in the NVRAM, which are somehow corrupted.

              Can you tell me the set of NVRAM keys and values that are required for proper operation?

              L 1 Reply Last reply Reply Quote 0
              • L Offline
                livius @robert-hh
                last edited by

                @robert-hh
                During this 1 minute at REPL can you write any commands?
                If yes create wdt with different time. And then maybe you can anasyse something and find solution.
                e.g. you can clear NVRAM totally and maybe boot will write its default values (if such behaviour exists).
                But if it is realy during _boot.py or _main.py then probably only new firmware will really help.

                think about people first, then computers

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

                  @livius Thankl you for the response. Oh yes, in that minute I can write commands, and I used that already to clear the NVS. That changes the reason why boot fails. The problem now is, that update fails as well.
                  Setting the WDT timeout to a long value might help. If still boot.py or main.py are executed for update(), then update() might run(). But in the first phase before I erased NVRAM, update was still possible, but did not change the picture.
                  This PyGo story started bad and is now going worse.

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

                    @robert-hh Actually, the reboot occurs every 30 seconds, and setting the WDT does not change the game.

                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      hjoe Pybytes Beta
                      last edited by

                      I got a gradle some days ago. I can connect to it using picocom. What I see is that the PyGo1 is rebooting and after some time waits for client connection

                      UPDATE WiFi AP Started. Waiting client...
                      

                      But the update never finishes

                          WiFi Client connected!
                          Waiting HTTP UPDATE requests...
                          I (56668) esp_netif_lwip: DHCP server assigned IP to a station, IP is: 192.168.4.2
                          I (57928) [PyGo-Firmware Updater]: Found header => FW-Header-1: ota-init
                          I (57928) [PyGo-Firmware Updater]: Performing OTA-INIT
                          I (59108) [PyGo-Firmware Updater]: Found header => FW-Header-1: ota-update
                          I (59108) [PyGo-Firmware Updater]: Performing OTA-UPDATE
                          I (60238) [PyGo-Firmware Updater]: Receiving firmware image ...
                          I (60238) [PyGo-Firmware Updater]: Remaining 00227A50 
                          I (157778) wifi:station: de:72:61:b1:31:53 leave, AID = 1, bss_flags is 134243, bss:0x3f801718
                          I (157778) wifi:new:<11,0>, old:<11,2>, ap:<11,2>, sta:<255,255>, prof:11
                          I (157778) [PyGo-Firmware Updater]: Station is disconnected...
                          I (157788) [PyGo-Firmware Updater]: operation_mode=5
                          I (157788) [PyGo-Firmware Updater]: Update in progress but disconnected, reset...
                      

                      What can I do?

                      H 1 Reply Last reply Reply Quote 0
                      • H Offline
                        hjoe Pybytes Beta @hjoe
                        last edited by

                        Ok tried it via the AP, had to use the Laptop with Wifi, now, see what happens

                        I (2285978) [PyGo-Firmware Updater]: Receiving firmware image ...
                        I (2285978) [PyGo-Firmware Updater]: Remaining 00227A50 
                        I (2350078) [PyGo-Firmware Updater]: Binary Firmware image file received!
                        I (2350078) [PyGo-Firmware Updater]: Length 2259536 bytes
                        I (2374468) [PyGo-Firmware Updater]: Found header => FW-Header-1: ota-finish
                        I (2374468) [PyGo-Firmware Updater]: Performing OTA-FINISH
                        I (2418928) [PyGo-Firmware Updater]: Found header => FW-Header-1: ota-verify
                        I (2418928) [PyGo-Firmware Updater]: Performing OTA-VERIFY
                        E (2418958) esp_image: image at 0x110000 has invalid magic byte
                        W (2418958) esp_image: image at 0x110000 has invalid SPI mode 68
                        

                        This looksl ike the firmware image firmware_pygo1_1.20.4.r4-pylife.bin does not fit, or what?

                        1 Reply Last reply Reply Quote 0

                        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 / 1
                        • First post
                          Last post

                        Pycom on Twitter

                        Pycom