Pytrack and Pysense firmware release 0.0.2
-
Hello,
We have released a new firmware for Pytrack and Pysense. The version is 0.0.2. These are the release notes:
- Add possibility to wakeup via the Pysense/Pytrack pushbutton.
- Correct the timing of the deep sleep cycles.
- Correct the generic read/write modify function to control the PIC microcontroller.
The instructions to apply the new firmware can be found in:
https://docs.pycom.io/pycom_esp32/pycom_esp32/toolsandfeatures.html#updating-pysense-and-pytrack-firmwareNew link: https://docs.pycom.io/chapter/pytrackpysense/installation/firmware.html
We will publish the libraries to use the GPS and the sensors on the board tomorrow.
Cheers,
Daniel
-
@jmarcelino s/n is "1713000002"
@Pajarraco sorry I should have said that I already used those drivers... but strangely, I had to manually select the drivers as the device appeared as "unknown device" and windows 10 didn't ask me to choose what to do automatically
-
@titi974
There is something very weird with your Pysense.1209:2002 is the USB ID for the PIC16F1-USB-DFU-Bootloader project which sounds like what Pycom used here.
However the firmware image and indeed the boards I've seen all use 04d8:f011. I wonder if yours is a very early version or if something slipped through production. Can you post your serial number? (sticker underneath)
Maybe someone from Pycom can chime in on this, it's a head scratcher.
-
@titi974 yes, I read that you have followed every steps... Well, maybe you can try to install the drivers which @jmarcelino has provided some posts bellow and retry the procedure
-
@Pajarraco so, if you have read the entire thing, I've said that my problem is not that it's not recognised, it's that the IDs do not match...
And, on windows I get the exact same results as I've had on mac (see my first answer to understand the thing about device IDs that do not match). And yes I'm doing the procedure that you described.
I've been trying to make this work with my colleague since this morning so I think we've tried every possible way to launch it ahah and on different pcs and macs too.
-
@titi974 Wel, if you are in Windows and you press the push buttom while you plug in, and then you maintein your finger one second more, you could see when you run the first command Cannot open device (id) DFU or something like that. By the way, if you run it correctly, you can heard the sound when a device is pluged in, and 7 seconds laters the sound that something has pluged out(despite that maybe it's still pluged in)
If that doesnt work, you have to repeat the process sometimes. (plug in while pressing the buttom and running the first command)To me it didnt work the first attempts but I could obtain an output different than "dfu-util: No DFU capable USB device available"
-
Hello, I followed every steps, both on windows or mac and I can't upgrade my pysense...
So, to be clear, I'll only speak about the mac part.
I installed dfu-util with brew, so I've the latest version (0.9).
If I try to upload the firmware without specifying the device ID, I get :
"dfu-util: No DFU capable USB device available"When I use dfu-util -l to see dfu capable devices plugged in my mac, I see two devices :
"Found Runtime: [05ac:8290] ver=0146, devnum=6, cfg=1, intf=5, path="20-8", alt=0, name="UNKNOWN", serial="UNKNOWN"
Found Runtime: [1209:2002] ver=0001, devnum=14, cfg=1, intf=0, path="20-5", alt=0, name="UNKNOWN", serial="UNKNOWN""The second one is pysense since it disappears when I unplug it.
So I tried to force the device with "dfu-util --device 1209:2002 -D pysense_0.0.2.dfu" and this is what I get :
"dfu-util 0.9Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/Opening DFU capable USB device...
ID 1209:2002
Run-time device DFU version 0100
Claiming USB DFU Runtime Interface...
Determining device status: state = dfuIDLE, status = 0
dfu-util: WARNING: Runtime device already in DFU state ?!?
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 64
dfu-util: Error: File ID 04d8:f011 does not match device (1209:2002 or 1209:2002)"It seems like my pysense doesn't have the good ideas... what should I do ?
-
@livius @jmarcelino In my case I was obtaining the same error:
dfu-util(-static).exe -D pytrack_0.0.2.dfu
Cannot open DFU device 04d8:f014
No DFU capable USB device availableHowever, running the same with this option finally flashed the Pytrack!
dfu-util-static.exe --device 04d8:f014 -D pytrack_0.0.2.dfu
Hope that this can help to whom have the same problem!
Edit: I should add that before running that command I installed the driver packages which provided @jmarcelino and it didnt work after several attempts.
-
@jmarcelino said in Pytrack and Pysense firmware release 0.0.2:
Sorry should have figured you'd have done that already :-)
for us we can assume this always ;-)
-
@livius
Sorry should have figured you'd have done that already :-)Not sure what it can be, but if pressing reset works I guess it's the WiPy crashing and not the Pysense shutting it off. Sounds like that was the question Daniel had.
-
@jmarcelino said in Pytrack and Pysense firmware release 0.0.2:
Not sure how many checks the DFU stuff uses (would think it was reliable since it's a USB.org standard) but maybe try flashing it again?
I have tried before 5 times before written here
also with different cable on different USB port - no difference
and with really short cable (used for near everythin programing)
e.g. white cable below
Does the Pysense after update appear as a USB serial device using the usbser driver?
yes
-
@livius
Does the Pysense after update appear as a USB serial device using the usbser driver?
-
@livius
No problem here with the Pysense (also upgraded using Windows) and a LoPy (sorry I don't have a WiPy to test)Not sure how many checks the DFU stuff uses (would think it was reliable since it's a USB.org standard) but maybe try flashing it again?
-
@daniel
it revive by pressing reset button on Wipy2
and back hangUPDATE
pytrack is ok only pysense is affected
-
@livius after it hangs, does it revive by resetting the WiPy 2, or do you have to power cycle the pysense?
-
@daniel
for me pysense + wipy2 hangs after few secondsupgrade was ok
dfu-util-static.exe -D pysense_0.0.2.dfu dfu-util 0.8 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2014 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org Match vendor ID from file: 04d8 Match product ID from file: f011 Opening DFU capable USB device... ID 04d8:f011 Run-time device DFU version 0100 Claiming USB DFU Runtime Interface... Determining device status: state = dfuIDLE, status = 0 WARNING: Runtime device already in DFU state ?!? Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0100 Device returned transfer size 64 Copying data from PC to DFU device Download [=========================] 100% 16384 bytes Download done. state(2) = dfuIDLE, status(0) = No error condition is present Done!
wipy2 after fresh
os.mkfs('/flash')
with current firmware
1.7.2.b1
(official build)i put 6 times
os.uname()
but only first 2 i get response and then it hang totally
all interfaces go down - wifi and uart
no info on COM/response on any command and no outputrst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) ets Jun 8 2016 00:22:57 rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0x00 clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:QIO, clock div:2 load:0x3fff9010,len:12 ho 0 tail 12 room 4 load:0x3fff9020,len:388 load:0x40078000,len:11412 load:0x4009fc00,len:848 entry 0x4009fd9c MicroPython v1.8.6-650-g9bacbbd4 on 2017-06-09; WiPy with ESP32 Type "help()" for more information. >>> os.uname() (sysname='WiPy', nodename='WiPy', release='1.7.2.b1', version='v1.8.6-650-g9bacbbd4 on 2017-06-09', machine='WiPy with ESP32') >>> os.uname() (sysname='WiPy', nodename='WiPy', release='1.7.2.b1', version='v1.8.6-650-g9bacbbd4 on 2017-06-09', machine='WiPy with ESP32') >>>
i moved this wipy to expansion board and it work without any problem
-
@jmarcelino thanks for the instructions!
@daniel where can we find examples and libraries?
regards
-
@jobbyworld
If you update to dfu-util version 0.8 or later it should pick up the correct ids from the file to filter on
-
@joe2612
on macbook pro :
I advice to specify device since another device is in dfu modedfu-util -l dfu-util 0.7 Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2012 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org Found Runtime: [05ac:8289] devnum=0, cfg=1, intf=3, alt=0, name="UNDEFINED" Found Runtime: [04d8:f011] devnum=0, cfg=1, intf=0, alt=0, name="UNDEFINED"
so i advice to specify device :
dfu-util --device 04d8:f011 -D pysense_0.0.2.dfu dfu-util 0.7 Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2012 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org Filter on vendor = 0x04d8 product = 0xf011 Opening DFU capable USB device... ID 04d8:f011 Run-time device DFU version 0100 Claiming USB DFU Runtime Interface... Determining device status: state = dfuIDLE, status = 0 WARNING: Runtime device already in DFU state ?!? Found Runtime: [04d8:f011] devnum=0, cfg=1, intf=0, alt=0, name="UNDEFINED" Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0100 Device returned transfer size 64 Dfu suffix version 100 bytes_per_hash=327 Copying data from PC to DFU device Starting download: [##################################################] finished! state(2) = dfuIDLE, status(0) = No error condition is present Done! ```
-
PySense and PyTrack DFU use different USB IDs so I generated two driver packages for Windows using libusbK (I don't know how to make a single one...)
PySense: http://metavurt.net/software/drivers/PySense_DFU.zip
PyTrack: http://metavurt.net/software/drivers/PyTrack_DFU.zipAfter installing the driver you need download dfu-util for Windows from http://dfu-util.sourceforge.net/releases/dfu-util-0.8-binaries/win32-mingw32/ , I recommend the static compiled binary to avoid any library issues, you only need one executable: dfu-util-static.exe
Place the executable and the dfu firmware from Pycom together and get ready to run:
dfu-util-static.exe -D pysense_0.0.2.dfu
or
dfu-util-static.exe -D pytrack_0.0.2.dfu
depending on your firmware and boardThen connect the board with the button pressed down, release the button after one second and run the command above - remember you only have 7 seconds to do so!
The process will look like this