Sorry, I didn't read this very well. What are you trying to do? The Pimoroni Hat is a board for the RaspberryPi. What does it have to do with the ESP8266 which is what we're talking about here. In any case, there is a command line option in proploader to select the GPIO used for reset for serial downloads on a RaspberryPi. There is currently no board configuration option but it could be added.
My apologies; fingers engaged before brain in gear. GPIO12 you refer to is the GPIO on the 8266 - I get it now. Pi talks to ESP8266 which then programs Prop, correct?
Of course, set IP to the IP address of your ESP. And change 15 to the GPIO you want to use.
Does this work with the TX and RX pins also?
I seem to be having trouble using the DI and DO pins, when I put an o-scope on those pins, I am getting static (as in high frequency noise) ,, And when I connect my prop to the DI and DO pins, the esp drops its wifi connection immediately.
Of course, set IP to the IP address of your ESP. And change 15 to the GPIO you want to use.
Does this work with the TX and RX pins also?
I seem to be having trouble using the DI and DO pins, when I put an o-scope on those pins, I am getting static (as in high frequency noise) ,, And when I connect my prop to the DI and DO pins, the esp drops its wifi connection immediately.
I figured id try some other pins.
It only works with DI and DO. You might have to enable the internal pullup on the RX pin. You can do it like this:
I'll try to do the pullup.
As soon as I pull the wire to P31 on the prop (DI on the esp) the error output from the esp serial port immediately stops, and the esp reconnects to my network.
I think you connect to the SD_xx pins which interferes with the flash chip.
It seems you are right when I scope it out.
Red is DI and Blue is D0.
Thats some seriously high frequency analog noise, coming from the di/do and it seems to be slightly mirrored. 20us is the scope timing.
I think the ESP blasts out some high baud rate stuff when it boots. I don't think there is anything you can do about that.
I am seeing this constantly, even after boot up, i can communicate with the Parallax Wi-Fi Module Configuration page while the esp is also constantly putting this noise on the DI/DO lines.
I have two of these red dev esp boards, and they both do the same exact thing. I know they work because they connect to my wifi and i can access the Parallax Wi-Fi Module Configuration page.
I think the ESP blasts out some high baud rate stuff when it boots. I don't think there is anything you can do about that.
I am seeing this constantly, even after boot up, i can communicate with the Parallax Wi-Fi Module Configuration page while the esp is also constantly putting this noise on the DI/DO lines.
I have two of these red dev esp boards, and they both do the same exact thing. I know they work because they connect to my wifi and i can access the Parallax Wi-Fi Module Configuration page.
You enabled the RX pull-up? I'm sorry but I haven't seen this behavior.
It seems the pull up settings have no difference in the DI and DO lines when the following code is run.
I don't see the wire on the scope going high in between the noise.
You enabled the RX pull-up? I'm sorry but I haven't seen this behavior.
It seems the pull up settings have no difference in the DI and DO lines when the following code is run.
I don't see the wire on the scope going high in between the noise.
What gets printed out on the DBG pin? The firmware prints lots of progress messages.
Seriously? I get no output from the DBG pin(assuming you mean the esp's TX and RX pins (the ones used to program the esp firmware). But the Parallax Wi-Fi Module Configuration page works.
If I am supposed to be getting constant output from the DBG pin, then something is wrong here.
The 2nd step is to pack the static files the webserver will serve and flash that. Reset the module into bootloader mode again and enter make htmlflash.
It says enter make htmlflash, but that doesn't work for me.
Should this step be removed from the readme file?
My flash seems to go fine with just 'make flash'
The Parallax Wi-Fi Module Configuration webpage and sta-ap wifi connections work fine after doing just 'make flash'
What gets printed out on the DBG pin? The firmware prints lots of progress messages.
Seriously? I get no output from the DBG pin(assuming you mean the esp's TX and RX pins (the ones used to program the esp firmware). But the Parallax Wi-Fi Module Configuration page works.
If I am supposed to be getting constant output from the DBG pin constantly, then something is wrong here.
The DBG pin is GPIO2. Try connecting a PropPlug to it and tell me what you see.
Then I loaded the Parallax Wi-Fi Module Configuration webpage in my browser, and the DBG port spit this.
Conn req from 192.168.0.102:56122, using pool slot 0
URL = /
Is url index 0
Is url index 1
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.102:56124, using pool slot 0
URL = /wx/setting?name=module-name
GET args = name=module-name
Is url index 0
Is url index 21
GET 'module-name' --> 'wx-xxxxxx'
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.102:56125, using pool slot 0
URL = /wx/setting?name=version
GET args = name=version
Is url index 0
Is url index 21
GET 'version' --> 'v1.0.0-15 (2016-11-01 12:48:51 g0e22344)'
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Then i issued this command in my pi.
proploader -W but the dbg port didn't spit anything.
Conn req from 192.168.0.135:43600, using pool slot 0
URL = /wx/setting?name=version
GET args = name=version
Is url index 0
Is url index 21
GET 'version' --> 'v1.0.0-15 (2016-11-01 12:48:51 g0e22344)'
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.135:43602, using pool slot 0
URL = /wx/setting?name=baud-rate&value=115200
GET args = name=baud-rate&value=115200
Is url index 0
Is url index 21
SET 'baud-rate' to '115200'UART: 115200 baud, 1 stop bit
--> OK
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.135:43604, using pool slot 0
URL = /propeller/load?baud-rate=115200&response-size=8&response-timeout=1000
GET args = baud-rate=115200&response-size=8&response-timeout=1000
Mallocced buffer for 392 + 1 bytes of post data.
Is url index 0
Is url index 17
load: size 392, baud-rate 115200, final-baud-rate 115200, reset-pin 12
responseSize 8, responseTimeout 1000
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Then I issued this in my PI
pi@PiDev:~/PropLoader $ curl -XPOST $IP/wx/setting?name=rx-pullup\&value=1
pi@PiDev:~/PropLoader $ curl -XPOST $IP/wx/save-settings
And the dbg port spit this
Conn req from 192.168.0.135:43606, using pool slot 0
URL = /wx/setting?name=rx-pullup&value=1
GET args = name=rx-pullup&value=1
Is url index 0
Is url index 21
SET 'rx-pullup' to '1' --> OK
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.135:43608, using pool slot 0
URL = /wx/save-settings
Is url index 0
Is url index 22
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
I then tried again to upload my blink.spin file with the rx pull up.
Conn req from 192.168.0.135:43614, using pool slot 0
URL = /wx/setting?name=version
GET args = name=version
Is url index 0
Is url index 21
GET 'version' --> 'v1.0.0-15 (2016-11-01 12:48:51 g0e22344)'
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.135:43616, using pool slot 0
URL = /wx/setting?name=baud-rate&value=115200
GET args = name=baud-rate&value=115200
Is url index 0
Is url index 21
SET 'baud-rate' to '115200' --> OK
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
Conn req from 192.168.0.135:43618, using pool slot 0
URL = /propeller/load?baud-rate=115200&response-size=8&response-timeout=1000
GET args = baud-rate=115200&response-size=8&response-timeout=1000
Mallocced buffer for 392 + 1 bytes of post data.
Is url index 0
Is url index 17
load: size 392, baud-rate 115200, final-baud-rate 115200, reset-pin 12
responseSize 8, responseTimeout 1000
Pool slot 0 is done. Closing.
Pool slot 0: socket closed.
ummm... I think your problem is that you can't load .spin files. You can only load .binary files. You'll have to use OpenSpin or Propeller Tool to compile the Spin code into a .binary file before trying to load it.
ummm... I think your problem is that you can't load .spin files. You can only load .binary files. You'll have to use OpenSpin or Propeller Tool to compile the Spin code into a .binary file before trying to load it.
None of this is working, during all of this testing and trying different things, the DI and DO lines on the ESP are constantly showing bad noise, and when I give a program command.
The DI and DO lines DO NOT show 115200 baud rate data at all. They just keep showing bad high frequency noise.
The DI and DO lines should not be doing this kind of noise if you are using the di and do for loading the propeller code, they should be showing nice and square pulses..
but im still getting this no matter what i try here.
I am going to wire up my other esp module, that is from a different manufacturer. (totally different dev pcb)
I don't know what is happening. As I've said, I've never seen that behavior. I have used a module that Parallax is making as well as one I bought off the internet. In fact, I think I've tried two I got off the internet. These two:
Sorry, I'm signing off for the night. I'll check this thread in the morning. Good luck!
Thanks for the help.
YETI had solved the problem in a PM with me.
The issue is that you CANNOT connect to the DI and DO lines on the ESP. I assumed you meant the SD_D0 and the SD_D1 wires that the esp uses to load from its flash chip.
After trying what yeti suggested, connecting the propeller chip to the ONLY UART the esp has, (aka gpio1 and gpio3, the prop loads the test blink program.
I DID need to compile the blink.spin into blink.binary to get it to load also.
pi@PiTest:~/PropLoader $ openspin blink.spin -b
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.80 Compiled on Oct 30 2016 20:08:38
Compiling...
blink.spin
Done.
Program size is 136 bytes
pi@PiTest:~/PropLoader $ proploader blink.binary
Loading 'blink.binary'
Loading second-stage loader
Loading image.
Verifying RAM
Sending readyToLaunch packet
Sending launchNow packet
To show the correct wiring, I will post the correct wiring screenshot now.
PROPer wiring. A.k.a. DO NOT connect to the D1 and D0 lines (the ones the flash chip is using)
Connect to the RX and TX lines on the esp.
The same lines you use to program the esp, are the ones you use to connect to your prop chip.
Sorry, I'm signing off for the night. I'll check this thread in the morning. Good luck!
Thanks for the help.
YETI had solved the problem in a PM with me.
The issue is that you CANNOT connect to the DI and DO lines on the ESP. I assumed you meant the SD_D0 and the SD_D1 wires that the esp uses to load from its flash chip.
After trying what yeti suggested, connecting the propeller chip to the ONLY UART the esp has, (aka gpio1 and gpio3, the prop loads the test blink program.
I DID need to compile the blink.spin into blink.binary to get it to load also.
pi@PiTest:~/PropLoader $ openspin blink.spin -b
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2016 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.80 Compiled on Oct 30 2016 20:08:38
Compiling...
blink.spin
Done.
Program size is 136 bytes
pi@PiTest:~/PropLoader $ proploader blink.binary
Loading 'blink.binary'
Loading second-stage loader
Loading image.
Verifying RAM
Sending readyToLaunch packet
Sending launchNow packet
To show the correct wiring, I will post the correct wiring screenshot now.
I'm glad you got it working. Yes, you have to connect to GPIO1 and GPIO3. That is the main UART on the ESP. There is another UART but it is for output only and it is connected to GPIO2. That's what I've been calling DBG. Sorry if that wasn't clear.
Comments
You read my mind, I was parsing the various code for exactly this info..... thank you.
Does this work with the TX and RX pins also?
I seem to be having trouble using the DI and DO pins, when I put an o-scope on those pins, I am getting static (as in high frequency noise) ,, And when I connect my prop to the DI and DO pins, the esp drops its wifi connection immediately.
I figured id try some other pins.
I'll try to do the pullup.
As soon as I pull the wire to P31 on the prop (DI on the esp) the error output from the esp serial port immediately stops, and the esp reconnects to my network.
I have a proptool connected to RX-GPIO1 and TX-GPIO3 on the esp for debug display also.
My propeller chip's P31 is connected to DI, and the P30 is connected to D0, the props reset is connected to GPIO12 on the esp.
It seems you are right when I scope it out.
Red is DI and Blue is D0.
Thats some seriously high frequency analog noise, coming from the di/do and it seems to be slightly mirrored. 20us is the scope timing.
I am seeing this constantly, even after boot up, i can communicate with the Parallax Wi-Fi Module Configuration page while the esp is also constantly putting this noise on the DI/DO lines.
I have two of these red dev esp boards, and they both do the same exact thing. I know they work because they connect to my wifi and i can access the Parallax Wi-Fi Module Configuration page.
Even when I completely disconnect my prop from the esp, the DI and DO lines are still very noisy, constantly.
It seems the pull up settings have no difference in the DI and DO lines when the following code is run.
I don't see the wire on the scope going high in between the noise.
Seriously? I get no output from the DBG pin(assuming you mean the esp's TX and RX pins (the ones used to program the esp firmware). But the Parallax Wi-Fi Module Configuration page works.
If I am supposed to be getting constant output from the DBG pin, then something is wrong here.
I noticed in the instructions here at the bottom, https://github.com/parallaxinc/Parallax-ESP/blob/master/README.md
It says enter make htmlflash, but that doesn't work for me.
Should this step be removed from the readme file?
My flash seems to go fine with just 'make flash'
The Parallax Wi-Fi Module Configuration webpage and sta-ap wifi connections work fine after doing just 'make flash'
Oh well look at that, thats nice to know. Lots of info here.
Then I loaded the Parallax Wi-Fi Module Configuration webpage in my browser, and the DBG port spit this.
Then i issued this command in my pi.
proploader -W but the dbg port didn't spit anything.
So then i issued this command in my pi.
And the dbg port spit this:
Then I issued this in my PI
pi@PiDev:~/PropLoader $ curl -XPOST $IP/wx/setting?name=rx-pullup\&value=1
pi@PiDev:~/PropLoader $ curl -XPOST $IP/wx/save-settings
And the dbg port spit this
I then tried again to upload my blink.spin file with the rx pull up.
The dbg pin shows this:
WTF? lol
Well, at least the reset line shows as working.
Now I will try a binary file.
The DI and DO lines DO NOT show 115200 baud rate data at all. They just keep showing bad high frequency noise.
The DI and DO lines should not be doing this kind of noise if you are using the di and do for loading the propeller code, they should be showing nice and square pulses..
but im still getting this no matter what i try here.
I am going to wire up my other esp module, that is from a different manufacturer. (totally different dev pcb)
https://www.itead.cc/wiki/Wee_Serial_WIFI_Module
https://www.amazon.com/HiLetgo-ESP8266-ESP-01-Wireless-Transceiver/dp/B00NF0FCW8
I have to admit that I haven't tried the ESP-01 in quite some time but it did work when I originally used it.
Thanks for the help.
YETI had solved the problem in a PM with me.
The issue is that you CANNOT connect to the DI and DO lines on the ESP. I assumed you meant the SD_D0 and the SD_D1 wires that the esp uses to load from its flash chip.
After trying what yeti suggested, connecting the propeller chip to the ONLY UART the esp has, (aka gpio1 and gpio3, the prop loads the test blink program.
I DID need to compile the blink.spin into blink.binary to get it to load also.
To show the correct wiring, I will post the correct wiring screenshot now.
Connect to the RX and TX lines on the esp.
The same lines you use to program the esp, are the ones you use to connect to your prop chip.
And post it in the prop forums, very soon.
Thank you david, and yeti!
Can i connect to the ParallaxESP to view the data coming from the propeller chip I just programmed?
(kinda like a debug to the parallax serial terminal)
I figure its a telnet port connection?