New firmware release 1.10.0.b1 (External 4MByte RAM support)
-
@ssmith said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
do you have reproductive test case?prvProcessReceivedCommands
@daniel interesting which path in
xTimerGenericCommandreturn this failed response -
@livius I haven't tried to narrow it down yet. This occurs while trying to load our whole application. Has something changed with the timers?
-
@ssmith said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
prvProcessReceivedCommands
The stack size of the timer task changed. This is probably the culprit (stack overflow).
-
@hay4to we have fixed the machine.reset() hang.
-
Hi everyone,
Thanks for the quick feedback. We are working through all the issues you have reported and a new update will be out within 48hrs.
Cheers,
Daniel -
@daniel said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
@ssmith said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
prvProcessReceivedCommands
The stack size of the timer task changed. This is probably the culprit (stack overflow).
Is there a way to monitor the stack size and also available memory for loading modules? We have been fighting out of memory issues for months. I know we can move things to frozen bytecode but things are still changing so we can't really do that yet.
-
@ssmith said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
Is there a way to monitor the stack size
import machine machine.info() --------------------------------------------- System memory info (in bytes) --------------------------------------------- MPTask stack water mark: 5520 ServersTask stack water mark: 988 LoRaTask stack water mark: 1720 TimerTask stack water mark: 976 IdleTask stack water mark: 268 System free heap: 64744 ---------------------------------------------Returns the high water mark of the stack associated with xTask. That is,
the minimum free stack space there has been (in words, so on a 32 bit machine a value of 1 means 4 bytes) since the task started. The smaller the returned number the closer the task has come to overflowing its stack.Hope this helps.
-
@xykon That's perfect. Thanks!
-
@crumble Have you been able to fix this?
Probably related. I just updated two plain LoPy units to the 1.10.0.b1 and lost the ability to use the REPL for input. Looks like some timings are wrong. I am able to send an occasional ctrl-c if I'm lucky - as it is still running the old main.py, which is odd in it self after the flash.
-
Ok. Managed to get the system up and running again by putting P24 low and erasing the flash using the esptool and start clean. I now have the REPL input back on the LoPy.
So if you haven't already
pip3 install esptool esptool.py --port /dev/ttyUSB2 --baud 230400 --chip esp32 erase_flashnow you can use the UI flasher for 1.10.0.b1
-
@daniel said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
@affoltep can you be more specific? The new firmware has the same amount of MicroPython heap available as before (67K). What is the error that you are seeing in your app?
Cheers,
DanielI was wrong. It doesn't seem to be a memory issue, but a deepsleep shield for LoPy issue. As soon I want to use the deepsleep shield an error message occurs. Unfortunately I can not send you the message, because I flashed back to the old version before doing a print.
But here is the code I used to check:
import deepsleep ds = deepsleep.DeepSleep() # get the wake reason and the value of the pins during wake up wake_s = ds.get_wake_status() print(wake_s) if wake_s['wake'] == deepsleep.PIN_WAKE: print("Pin wake up") elif wake_s['wake'] == deepsleep.TIMER_WAKE: print("Timer wake up") else: # deepsleep.POWER_ON_WAKE: print("Power ON reset") #Initiate deep sleep shield ds = deepsleep.DeepSleep() ds.enable_auto_poweroff() ds.disable_pullups(['P17', 'P18']) ds.disable_wake_on_raise(['P17', 'P18']) ds.disable_wake_on_fall('P18') ds.enable_wake_on_fall('P17') ds.go_to_sleep(20) # go to sleep for 60 seconds -
Last remark. Since 1.10.0.b1 a boot.py fragment on the UART was preventing the REPL input as it seems when using the serial connection. I commented the following part:
# uart = UART(0, 115200) # os.dupterm(uart)and I was able to use the REPL again on the 1.10.0.b1 firmware
-
I found an issue with this version on sipy. I was simply not able to send a message to sigfox.
-
@smeedy I think you meant P2 here or G23 on the breakout. This is exactly what I needed and solved my problem. As a note to others after erasing the flash I had to remove and re-apply power before running the UI flasher.
-
@marmarti said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
I'm also not able to send any sigfox messages with this version. Where can I get older firmware to revert to a working version? -
@pauls said in New firmware release 1.10.0.b1 (External 4MByte RAM support):
Where can I get older firmware to revert to a working version?
I posted links to the previous firmware in this thread, along with a link to the downgrade instructions.
-
I'd like to suggest that PyCom develop a Beta program for firmware releases. Developers could test out the code and supply feedback before it is pushed to the update server. With the current scheme, anyone who updates the firmware with the update tool gets the latest firmware without a choice. Whatever is pushed by the update tool should be a fully working and tested version.
-
@ssmith I'm actually looking into this at the moment.
-
@daniel Do you know when we can expect to see the updated docs on how to use ADC.voltage() and .calibration()?
-
@ksid We're currently doing some additional testing on this... we should be able to put this into the documentation in the next few days.
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