parallaxinc / BlocklyPropClient

Client to provide access to the propeller for loading binaries and serial terminal
9 stars 8 forks source link

Unable to load program onto S2 Robot #98

Closed zfi closed 6 years ago

zfi commented 7 years ago

Programming an S2 from the BlocklyProp web site has been working correctly until recently. Now the BlocklyProp Client is reporting a failure (Error - 1) when loading the program to the S2.

To better understand what was happening with this, I intercepted an .elf file and created a bash script to run the proploader with the some command line arguments as the BPC does. The test replicate the experience reported by the end-user. The code loads successfully on the S3 but not on the S2.

The BlocklyProp program used in this test:

screen shot 2017-07-28 at 10 41 59

The test script:

#!/bin/bash
#
# test.sh
# Load elf file contents to a Propeller device
#
/Users/user/Projects/BlocklyProp/BlocklyPropClient/propeller-tools/mac/proploader -e -r -p \
 /dev/cu.usbserial-DN028F7T \
 ~/Downloads/tmpn71cqy.elf

Loading a program into an S2 robot:

server:~ user$ ./test.sh
Opening file '/var/folders/hm/12njlmqn29v49z9plyp37f7r0000gn/T/tmpn71cqy.elf'
Downloading file to port /dev/cu.usbserial-A601SWB5
ERROR: Download failed: -1

Loading the same program into an S3 robot:

server:~ user$ ./test.sh
Opening file '/var/folders/hm/12njlmqn29v49z9plyp37f7r0000gn/T/tmpn71cqy.elf'
ERROR: Unable to connect to port /dev/cu.usbserial-A601SWB5
server:~ user$ vi test.sh
server:~ user$ ./test.sh
Opening file '/Users/jewald/Downloads/tmpn71cqy.elf'
Downloading file to port /dev/cu.usbserial-DN028F7T
22544 bytes sent
Verifying RAM
Programming EEPROM
Download successful!

This is the ELF file used in the test: tmpn71cqy.elf.zip

zfi commented 7 years ago

Customer is reporting that S2 programming is successful when using a third-party USB-Serial dongle. The programming failure may be related to use of the Parallax USB to Serial (RS-232) Adapter (#28030).

PropGit commented 7 years ago

UPDATE: We have strong evidence through testing now that PropLoader (the new Propeller Loader subsystem of BlocklyProp Client) was never able to download to S2 (but works with S3 just fine). It is not know yet why this is, but older BlocklyProp Clients with Propeller-Load instead of PropLoader do indeed program the S2 fine).

PropGit commented 7 years ago

Solved the problem in PropLoader v1.33?

PropGit commented 6 years ago

BP Client v0.7.0 released today that fixes the problem. (Earlier release solved it to, I believe, but wasn't a general release).