Subcategories

  • General firmware discussion

    154 Topics
    685 Posts
    A
    The Pass to IP Layer .... string is generated into lwip library. I've added that string into the ethernet.c file that is part of the lwip library. I've built the wifi/scan project and then substituted the lwip.a file into the pycom-micropython project. The code used to generate that strings is something like this LWIP_DEBUGF(ETHARP_DEBUG, ("Pass to IP Layer \n")); Of course i've changed the ETHARP_DEBUG value from LWIP_DBG_OFF to LWIP_DBG_ON into lwipopts.h header file in order to enable the ETHARP DEBUG. The TCP - _send_receive ... string is generated at level application. I'm using a TCP Modbus external python library. I've added the following code into the library print('TCP - _send_receive - Receive %s' % response) The application (and the modbus tcp library of course) is frozen into the final build and then uploaded through pycom firmware update tool. TCP Modbus messages are managed from a manager that runs as a python thread. The log output is got from USB interface.
  • Firmware wishlist & desired features

    52 Topics
    236 Posts
    J
    @Gijs I think it's a concern of many users that Pycom is spreading resources thin by working on too many new products which never see the light of day while not following up enough on the existing products. Let's just consider this list of Pycom vapourware: PyGo 1/2 + PyLife : first announced 25/09/2018 (soon to be 3 years ago). PyNode range: announced 25/06/2020 PyNode Touch: announced 06/07/2020 Expansion board V4: announced 14/10/2020 M.2 format boards: announced 17/11/2020 ESP32-S3-based boards: announced 01/02/2021 PyNode+ range: announced 08/02/2021 I know time-to-market can be essential in this industry but this is getting a bit out of hand...
  • Anything related to firmware issues & bugs

    267 Topics
    2k Posts
    G
    I am having the same problem. Is there a solution?
  • Tensorflow Lite MicroPython support - I cannot use Pycom modules?

    22
    0 Votes
    22 Posts
    99 Views
    A
    @robert-hh I decided to not use esp32 cam as it can only operate at voltage above 4V, which is not useful for my setup. I have a question related to ESP32-WROVER-IE(16MB) chip. On which expansion board I should attach it and flash? This chip offers 16MB Flash and 8MB SPIRAM, somehing that I need for my project, but still no available boards on which this chip is attached.
  • Tensorflow Lite MicroPython support?

    15
    0 Votes
    15 Posts
    68 Views
    A
    @robert-hh Yes, indeed! I uploaded the new firmware and now everything works as expected. Thanks a lot for help and advices that you gave me!
  • LTE issues on FW 1.20.2.rc10 with double precision

    5
    1 Votes
    5 Posts
    108 Views
    C
    @quentinmsl said in LTE issues on FW 1.20.2.rc10 with double precision: @Christian-Storm see : https://forum.pycom.io/topic/7328/pycom-firmwares-double-precision-float Hey @quentinmsl , I think I found an UART reading bug on FW 2.5. I opened an issue on GitHub. BR
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    8 Views
    No one has replied
  • /lib/ folder in /frozen/base

    10
    0 Votes
    10 Posts
    86 Views
    techykermitT
    I'm more involved with the techincal parts so I can fill in on some technical details for @Don-iot. We have seen this behavior with a batch using 2 out of 10 boards. What happens is the following: A building script downloads and compiles firmware for the devices. (SecureFirmware method is used, final image size is 2022224 bytes) The firmware gets flashed onto devices. On (in our tests) 8/10 units: The firmware gets flashed correctly and the device starts with no strange errors on first boot On (in our tests) 2/10 units: The firmware gets flashed, but the device fails to read and write to files (we get ENOENT errors). It also fails to import modules (module name not found errors) that other devices can import just fine. If you re-run the same script, with the exact same code being flashed enough times (in one case 4 flashes, in another case 8), a device that doesn't work (see 4.) boots up just fine with no errors at all. This makes us think this is a PyCom problem, since the hardware side and setup has been consistent (Don wrote more about it above). The flashing tool nor building tool reports no errors.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    3 Views
    No one has replied
  • Strange Micropython Code Execution With Custom (But Unused) C-Code

    6
    0 Votes
    6 Posts
    68 Views
    J
    Most interestingly, it is always like that: the device runs for some time (in the realm of several hours), and after that, the described errors repeatedly appear in shorter cycles than the time span til the first appearance of the error. I think we were able to track the origin of the error down, at least in this specific environment (ESP32, Pycom 1.20.2.r6, custom Python code, also combination of custom Python and C code): All binaries compilled with xtensa 1.22.0-80 show this strange behaviour. All binaries compiled with xtensa 1.22.0-98 DO NOT show this strange behaviour (same device, same VM, also on other devices with different VM, underlying source code version with which tests were performed also differed a lot) So for now, this seems to be solved by simply use a more recent compiler. It would be very interesting why this is (seemingly) compiler-dependent? @pycom it could be worth to update the download link to the xtensa compiler. I will also open a Github issue, because since 23 days no Pycom member seemed to like to help here in the forum. It still leaves some bitter taste though, because how can we be sure that it never accours again with the newer compiler, only at some later point in time? Test duration was only around 5 - 6 days.
  • Pymesh crashes Lopy

    20
    0 Votes
    20 Posts
    914 Views
    J
    hello @catalin, I I have followed the procedures to download the latest firmware through Pybytes and I am using pymesh microphyton API, the problem I have is that with the following code the system chashes or not connect whit the other nodes, I do not know if it is a firmware problem or what it is due to, I will appreciate your help. from network import LoRa from mesh import LoraMesh import ubinascii import socket import utime from LoraWan import lorawan import cayenneLPP import config import machine from machine import SD pycom.rgbled(0x0000ff) #blue time.sleep(0.2) pycom.rgbled(0x000000) sd = SD() os.mount(sd, '/sd') f= open('/sd/reenvio.csv', 'a+') r= open('/sd/reenvio.csv', 'r') os.listdir('/sd') while True: print('##################### Conectando MESH ##################') lora = LoRa(mode=LoRa.LORA, region=LoRa.US915, frequency = 904300000, bandwidth=LoRa.BW_125KHZ, sf=7) masterkey = ubinascii.unhexlify("12345678") pymesh = lora.Mesh(key=masterkey) pymesh.border_router("2001:dead:beef:caff::/64", 0) time.sleep(5) print("IPv6 unicast addresses: %s"%pymesh.ipaddr()) print("4") pycom.rgbled(0xff00) #GREEN time.sleep(0.3) pycom.rgbled(0x000000) #IP=mesh.ipaddr() #ipBR=str(IP[0]) #creando sockets: s_EID = socket.socket(socket.AF_LORA, socket.SOCK_RAW) s_EID.bind(config.puertoEID) s_BR = socket.socket(socket.AF_LORA, socket.SOCK_RAW) s_BR.bind(config.puertoBR) s_mesh=[] s_mesh.append(s_EID) s_mesh.append(s_BR) data= "hola" id=0 ip=0 cont=0 #escuchando mesh while cont<config.acumulador: time.sleep(4) paquete= Loramesh.receive_pack(s_mesh) if paquete!=None: data=paquete[0] ip=paquete[1] port=paquete[2] print("-----------PAQUETE:%d-------"%cont) print ('datos recividos: %s'% (data)) pycom.rgbled(0xff00) #verde time.sleep(0.2) pycom.rgbled(0xff00) #verde time.sleep(0.2) pycom.rgbled(0x000000) time.sleep(2) f.write('{},{},{}\n'.format(data,port,utime.localtime())) cont+=1
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    12 Views
    No one has replied
  • AttributeError: module 'sqnsupgrade' has no attribute 'run'

    3
    0 Votes
    3 Posts
    33 Views
    B
    Attribute errors in Python are generally raised when you try to access or call an attribute that a particular object type doesn't possess. It's simply because there is no attribute with the name you called, for that Object. This means that you got the error when the "module" does not contain the method you are calling. But it is evident that the method is there, which leads to believe that may be the method was added by you in the source code after you had already imported the file (module). Or, some times packages get deprecated and they rename some functions. If that is true, then you may want to exit and reimport the module once again to be able to access the new method . You can do it in another way to reimport the module with changes without having to exit the interpreter is to do the following: reload(myModule) If you are using python 3.2 or 3.3 you should: import imp imp.reload(myModule) If running Python 3.4 and up, do import importlib, then do: import importlib importlib.reload(myModule) The importlib.reload() method reload a previously imported module. The argument must be a module object, so it must have been successfully imported before .
  • Pymesh Application crashing in loop

    1
    0 Votes
    1 Posts
    15 Views
    No one has replied
  • 0 Votes
    2 Posts
    32 Views
    I
    @Ian-Lewis as of c. Nov 8th 2021, this issue has been fixed by Pycom. I.e. pycom-fwtool will successfully install the current version of lopy4 firmware (pygate, pybytes) 1.20.2.r6.
  • LIS2HH12 embedded temperature sensor

    enhancement
    5
    2 Votes
    5 Posts
    2k Views
    A
    Hey, I sit here an i trye to read the temparature with the LIS2HH12 but it dosent works. What did you do that the LIS2HH12 give the Temperaturen out? I Hope so you see this post. Best wishes
  • firmware upgrading of sipy not working

    sipy
    1
    0 Votes
    1 Posts
    18 Views
    No one has replied
  • Pycom Firmwares double precision float

    esp32 other
    1
    1 Votes
    1 Posts
    46 Views
    No one has replied
  • Problems with LoRaWAN ADR

    1
    0 Votes
    1 Posts
    22 Views
    No one has replied
  • Other files than Python files in Secure Firmware Build - is it possible?

    3
    0 Votes
    3 Posts
    32 Views
    techykermitT
    @Gijs Thanks for the input, that sounds like an idea that can work.
  • SecureBoot and Encryption - Firmware OTA help

    2
    0 Votes
    2 Posts
    32 Views
    S
    Solved the problem. Boot partitions with the new firmware are different 0x10000 and 0x210000 and the bin.enc files produced are bin.enc and bin.enc_0x210000. Would be good if the docs page could be updated. Also for OTA (Device) (https://docs.pycom.io/updatefirmware/ota/) Method B works for unencrypted flash images with the file name appimage.bin. Would it be useful to update this FTP method to look for two image files names appimage.enc.bin and appimage.enc_0x210000 with the assumption that when these files are found in /flash/sys the board is running with secureBoot and Encryption enabled and updates the firmware accordingly?
  • SecureBoot and Encryption Issues - Unable to set efuses

    6
    0 Votes
    6 Posts
    50 Views
    S
    @peterp many thanks, this has solved the problem with both options working. Would it be possible to update the docs (https://docs.pycom.io/advance/encryption/) with this update?
  • which firmware update for expansionboard v2.1A?

    2
    0 Votes
    2 Posts
    29 Views
    robert-hhR
    @Beniamino-Sarno The old expansion boards do not need a firmware update. They are not programmable and simply work.

Pycom on Twitter