Shop OBEX P1 Docs P2 Docs Learn Events
Wireless Programming of a Propeller chip (video) - Page 2 — Parallax Forums

Wireless Programming of a Propeller chip (video)

2»

Comments

  • StefanL38StefanL38 Posts: 2,292
    edited 2012-05-10 15:52
    Hi Duane,

    when I started writing the posting above. I had the two wixels communicating through terminal-software on my PC.
    Now I did the test with the propeller-chip and with this I had no success so far.

    The Pololu Wixel Shield for Arduino User's Guide just says
    on page 11
    P0_0 – the Arduino is held reset while this pin is high
    • P1_6 – Wixel TX/Arduino RX
    • P1_7 – Wixel RX/Arduino TX

    In this description there is still some room for interpretation
    What does Arduino Rx mean? Arduino is receiving or the Arduinos partner is receiving??
    Can you make it clear by telling if this connection is right:

    Propeller-Chip P30----Wixel-P1_6
    Propeller-Chip P31----Wixel-P1_7 ?

    Another checking possability:
    The Pololu User guide writes on page 6
    Red LED
    While the Wixel is in bootloader mode (i.e. the app is stopped), this LED indicates whether there is an application
    on the Wixel. If there is no application, the red LED will be on. Otherwise, it will be off. By default, the Wixel
    does not have an application on it, so this LED will be on the first time you power your Wixel.
    The P2_1 pin is connected to the red LED, so this line will go high when the red LED is on and otherwise be
    pulled low.

    Now If I have connected Propeller-Chip Pin 31 (Tx from Prop-Chip towards PC) with Wixel P1_6
    and the prop is running a test prg sending a teststring every second
    the red LED on the wixel lights up every second. If a change the sending to 4 times per second the red LEDs flashes 4 time per second
    So I conclude that wixel P1_6 is connected to the red LED or does the Arduino shield wireless app switch on wixel-P2_1 whenever wixel-P1_6 toggles?

    I have compared your picture with my wixel.
    Wixel P0_0 goes to a 0,1µF capacitor and other end of capacitor to propeller-Pin 11 (RESET)

    I'm using the wixel 3.3V output to power the prop-chip.

    If I use Br@y's terminal to toggle the DTR-line the green LED on the wixel goes shortly off - the same way as if it sends/receives serial data
    but no pin changes his voltage in dependency of the status of the DTR-line

    any suggestions what to check next?
    best regards
    Stefan
  • Martin_HMartin_H Posts: 4,051
    edited 2012-05-10 17:32
    Stefan, I got this working and in this thread guided copacetic353 to get it working. So there's a lot of detail on the posts on page 1. But briefly

    Wixel P0_0 to 0.1 uf capacitor to propeller reset
    Wixel P1_6 to propeller pin 31
    Wixel P1_7 to propeller pin 30

    Make sure you use the programming baud rate of 115200 and the Arduino version of the Wixel serial app.
  • StefanL38StefanL38 Posts: 2,292
    edited 2012-05-10 21:41
    OK I have read the whole thread but still have some questions:

    If the propeller-chip sends serial data on PIN 31 does the red LED on the wixel flash?

    Did you test programming the prop-chip when the wixel and prop are only powered through USB?
    best regards

    Stefan
  • Martin_HMartin_H Posts: 4,051
    edited 2012-05-11 06:27
    StefanL38 wrote: »
    If the propeller-chip sends serial data on PIN 31 does the red LED on the wixel flash?

    I don't remember as the Wixels have several status LED's. One green on blinks when two Wixels are paired, another gree one blinks when the computer sends data to the propeller. I don't recall if the red one blinked.
    StefanL38 wrote: »
    Did you test programming the prop-chip when the wixel and prop are only powered through USB?

    The Wixel connected to the PC is powered via USB and has no other connections. The Wixel connected to the propeller share a power supply. I powered the Wixel via the 5V rail to its 5v input because it has its own 3.3v regulator. I probably could have powered the Wixel on its 3.3v input pin.
  • T ChapT Chap Posts: 4,223
    edited 2012-05-11 06:35
    Martin, off topic but in your experience does the Wixel set up you have made lend itself to other wireless USB applications? For example, a camera with USB out to PC USB for uploading?
  • Martin_HMartin_H Posts: 4,051
    edited 2012-05-11 07:24
    T Chap wrote: »
    Martin, off topic but in your experience does the Wixel set up you have made lend itself to other wireless USB applications? For example, a camera with USB out to PC USB for uploading?

    None of the out of the box applications (http://www.pololu.com/docs/0J46/9) use the Wixel's on board USB in host mode. I don't know enough about the programming model yet to say if it can be done in software like you can on the Propeller. It would work if you had a camera with a TTL serial interface as long as you stay under the Wixel's 350 kbps bandwidth limit.

    The Wixel is interesting in that its more of a wireless application toolkit with a few samples of things you can do. So someone may add USB host mode if it is possible. There's a project right now to add wireless PicAxe programming. The PicAxe requires sending break (as does the BS2), so I plan to look into that code for converting the Wixel to wireless BS2 programming.
  • StefanL38StefanL38 Posts: 2,292
    edited 2012-05-11 08:41
    OK so I got it and want to share my experience:

    first two definitions to make things clear:

    Prop-Wixel means the wixel that has it's Wixel P0_0, Wixel-P1_6 and Wixel-P1_7 connected to the propeller-Chip

    PC-Wixel means WIxel that is onnected to the PC via USB

    only ONE Wixel (the prop-Wixel involved:
    If the Prop-Wixel is powered ONLY from an USB-cable connected to the PC (which mean the Prop-WIxel is connected to the propeller-chip AND the PC)
    And I press F7 in the propeller-tool the prop-tool tries to communicate for several seconds then stops with the error-message unable to write to COM10
    In this configuration the red LED starts flashing each time the propeller-chip is sending sonething towards PC

    Now if the Prop-wixel is additionally connected to a 5V-supply on Wixel-Pin Vin the yellow LED and the red LED on the prop-wixel stays off.
    the green LED flashes each time the prop is sending serial data towards the PC.
    The data can be received via a terminalsoftware
    Proptool can communicate with the propeller-chip (F7, F10, F11)

    Now if the USB-cable of the Prop-Wixel is disconnected and the Prop-Wixel is powered with 5V via Wixel-Pin Vin
    the yellow LED starts flashing. After the boot of the propeller-Chip the red LED on the Prop-Wixel starts flashing each time the Propeller sends serial data.


    TWO Wixels (Prop-Wixel and PC-Wixel involved:

    Now if the USB-cable of the Prop-Wixel is disconnected and the Prop-Wixel is powered with 5V via Wixel-Pin Vin
    the yellow LED starts flashing. After the boot of the propeller-Chip the red LED on the Prop-Wixel starts flashing each time the Propeller sends serial data.
    as soon as the PC-Wixel is connected to USB the two wixel find each other and start communicating. The green LED on the PC-WIxel flashes each time the Propeller send serial data
    This means the red LED on the Prop-Wixel flashes if serial data that comes from Propller to the Prop-Wixel can't be transfered to to the PC-Wixel.

    Edit addition:
    If the wireless connection between Prop-Wixel and PC-Wixel is established the red LED on the Prop-Wixel stays off the green LED on the PC-Wixel flashes.
    In this configuration the propeller-tool can communicate with the Propeller-Chip. If the wireless connection is lost after some time the red LED on the prop-Wixel starts
    flashing each time the propeller sends serial data

    Again
    Prop-Wixel ----5V
    PC-WIxel---USB works via PC-Wixel-COM-Port

    Prop-WIxel---5V AND USB
    PC-Wixel--USB works via Prop-Wixel-COM-Port

    If the Prop-WIxel is connected to 5V AND USB the yellow LED on the Prop-Wixel stays off - I guess to indicate wireless connection deactivated by connection through USB

    So I must say Polou did a real good job to make it possible to program the propeller-Chip wireless.
    @Parallax: $42 dollars for a pair of Wixels is quite a good alternative to a prop-plug for $15 considering the wireless feature on a distance of 50 feet.

    best regards

    Stefan
  • copacetic353copacetic353 Posts: 52
    edited 2012-05-11 10:21
    Martin,

    Have you ever burned out a Wixel using the methods described here? I think one of mine just died! It is no longer being recognized by my computer or by the Wixel Config Utility and will not power up when connected to my board... Weird!
  • Martin_HMartin_H Posts: 4,051
    edited 2012-05-11 10:25
    Have you ever burned out a Wixel using the methods described here? I think one of mine just died! It is no longer being recognized by my computer or by the Wixel Config Utility and will not power up when connected to my board... Weird!

    No. I'd examine the board looking for solder bridges or any abnormally hot components. It might be a defect.
  • copacetic353copacetic353 Posts: 52
    edited 2012-05-11 11:05
    Can't see anything... I guess I'll have to send an email to the people at Pololu if possible...
  • StefanL38StefanL38 Posts: 2,292
    edited 2012-05-11 15:15
    I made some more tests.
    It seems that large programs can't be transferred. I made a test prg with a huge DAT-section to test this.
    If I go beyond 4212 longs I get a write-failure.

    Stopping as much applications on my notebook as possible, and increasing the thread-priority to realtime made no difference.
    With only the propeller-tool as running app Propeller-code max 4212 longs are transferred without a writefailure.

    If I connect the PC-Wixel through a 13-port USB-Hub with 3 external harddisks an external CD-ROM, Keyboard and scanner connected the code-size must be reduced more.
    I'm using a Lenovo Thinkpad T61 2,2GHz 4GB RAM with Windows XP SP3.

    Then I tried BST http://www.fnarfbargle.com/bst.html Version 0.19.3 and with bst I was able to download code with 8157 longs into the propeller.
    Then I restarted all these tools that I'm usually using like
    - NetSetMan (IP-Configuration on one click)
    - ditto (clipboard-history)
    - AutoHotKey (automate all kinds of things define app-specific hotkeys etc.)

    no problem for BST still downloading code with maximum size.
    Guess I'm gonna switch over to BST as it has conditional compiling,
    automatic removing of unused methods
    automatic switching between Editor and serial terminal

    Brad made a good job with coding BST.

    @Chip: the propeller-tool is great. But there is still room for improving timing when transfering big prgs as Brad has shown

    best regards
    Stefan
  • Martin_HMartin_H Posts: 4,051
    edited 2012-05-12 06:25
    Stefan, thanks for that information. I had not tried a program that big yet. It is good to have a work around, but it is too bad the Propeller tool has timing issues.
  • SRLMSRLM Posts: 5,045
    edited 2012-06-07 02:40
    I just wanted to say thank you for posting this information. I am in the middle of a very large project, and the Wixels are a life saver. I can put my robot safely away from me, and wirelessly program it. And, as I have a very rapid compile cycle, the time savings of not having to plug in the USB every time is completely worth every penny that I paid.

    I've been using it with BSTC with no problems, even for larger programs. Some details that I have noticed:
    - You have to load it into EEPROM. The Wixels seem to reset the Propeller after they're done.
    - The clearer the sightline, the better. Even small obstructions can significantly impact the chances of *not* getting a program downloaded.
    - If at first you don't succeed, try again. Sometimes downloads take several attempts.
    - Be prepared from dropped bytes in the stream. I haven't encountered any corrupted bytes, but sometimes the data just doesn't get through.
    - Buy several. These things are so handy that every robot I use from now on will get one.

    I'm running on Linux with BSTC at 115200 baud.
  • Martin_HMartin_H Posts: 4,051
    edited 2012-06-08 06:13
    You're welcome. I see another thread where someone is asking about bluetooth wireless programming, so I am going to refer him to this.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-07-03 07:11
    Martin,

    I'm using the Wixels a lot lately. It's really nice to be able to free the Prop from a USB cable.

    I also use the Wixels for debugging. I just make sure and use 115,200 baud, and it works great.

    Thanks again for providing this information.
  • Dimitri_CDimitri_C Posts: 2
    edited 2012-09-17 20:44
    Hi all,

    I'm new to programming and I would prefer the easy programming of a Basic Stamp microcontroller. Do you think this setup with the Wixles could work also to load a program on any Basic Stamp Module?

    Thanks,

    -DC
  • Martin_HMartin_H Posts: 4,051
    edited 2012-09-17 21:20
    @DC, I spoke with the Pololu staff about doing that, and it won't be quite as easy to do it with the BS2. The problem is that the Wixel driver isn't compatible with the Stamp IDE. I've thought of a work around and ran it by Pololu and they think it might work, but I haven't tried it yet as it is slightly convoluted. The idea is to use my prop plug to go from usb to serial and then connect it to the serial input pins of the Wixel. This uses the Parallax driver instead of the Pololu one. On the stamp side you need to use a Blue wolf RS232 to ttl adapter so the Wixel can interact with the stamp.

    @Duane, you're welcome.
  • Dimitri_CDimitri_C Posts: 2
    edited 2012-09-18 15:47
    Thanks Martin_H. If it is just a matter of converting to TTL, then TTL to RS232, I think it is worth a try. I've been desperately trying with a RN-42 Bluetooth module to load a program for a long time. Never succeeded in getting the correct DTR signal from the RN-42.

    This setup could be a good way around. Will consider buying a pair of Wixels...

    -DC
  • Martin_HMartin_H Posts: 4,051
    edited 2013-07-30 06:49
    I'm bumping this thread to report a test I've been meaning to do for a while now.

    I used SimpleIDE with a large Spin program to wirelessly load a Propeller chip via a Wixel. It worked like a champ! So besides BST, Simple IDE is also viable.
  • acidaacida Posts: 2
    edited 2014-05-06 07:19
    So, I have a longish SPIN program (5805 longs), and I have been unable to program via the Wixel. I found this thread, and decided to try bst and simpleIDE. Still no luck. BST goes through the whole download and then fails at verifying RAM with a catastrophic communications error. (This happens after programming when attempting RAM verify.) I am able to load small programs from BST via Wixel. Then I tried installing SimpleIDE. I can donwload and run my SPIN code via a USB cable, but when I attempt to use the Wixel at all - I get a "no propeller chip on com***" message. (I have verified it is looking at the right com port.

    Any suggestions? Thanks in advance.
  • StefanL38StefanL38 Posts: 2,292
    edited 2014-05-06 07:29
    Hi acida,

    in an earlier posting Martin_H mentioned
    "Make sure you use the programming baud rate of 115200 and the Arduino version of the Wixel serial app."

    it's been a long time since I used the wixel. Did you check fo this?

    @Parallax: The programm download-mechanism has design-aspekts to make it possible to download data without a chrystal
    on the other side the propeller-tool is picky about timing and the propeller-side seems to be picky too.
    could somebody at parallax (or the forum?) analyse what's happening through the bitbanging that causes the fail?
    or do we have to install a work-around in square to have somekind of a special loader that receives the data safely to the upper 32K of a 64K EEPROM and then copying it to the lower?

    best regards
    Stefan
  • acidaacida Posts: 2
    edited 2014-05-06 07:35
    Yep, 115200 baud rate. I am using the wireless-serial-v1.3-shield.wxl - I believe this is the Arduino version. Thanks for the speedy reply.
  • Martin_HMartin_H Posts: 4,051
    edited 2014-05-06 08:57
    I know the stock Propeller IDE has problems with long Spin programs. I used to use BST to work around this, but switched to SimpleIDE after it came out.

    Note: Make sure both Wixels are configured the same. I've goofed a few times and had them set to different baud rates and that caused problems.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2014-05-06 14:37
    Rayman wrote: »
    If you figured out how to program it wirelessly using the Prop tool, that's really something. I don't think I've seen anybody do that yet...

    My own plan is to try to use a Bluetooth module that brings out DTR. Don't know if that will work yet though..

    Late into this thread, but I have used the Adafruit Bluetooth Module to wirelessly program the Propeller from SimpleIDE. Propeller Tool works if the program takes up less than half of memory. For some reason it fails if the program is larger than half. SimpleIDE works no matter what.
  • WurlitzerWurlitzer Posts: 237
    edited 2015-01-26 10:39
    Late into this thread, but I have used the Adafruit Bluetooth Module to wirelessly program the Propeller from SimpleIDE. Propeller Tool works if the program takes up less than half of memory. For some reason it fails if the program is larger than half. SimpleIDE works no matter what.

    Any update as to what may be causing this with the Propeller Tool? It would seem to be a problem which needs a solution at best or an explanation at minimum.
  • ozpropdevozpropdev Posts: 2,792
    edited 2015-01-26 21:39
    Late into this thread, but I have used the Adafruit Bluetooth Module to wirelessly program the Propeller from SimpleIDE. Propeller Tool works if the program takes up less than half of memory. For some reason it fails if the program is larger than half. SimpleIDE works no matter what.

    I have the same problem with Propeller Tool programming via CP210x USB bridges. Small programs load fine, and large programs (> half hub ram) always fail.
    The same large programs load fine via prop-plugs. I have been looking at this issue for some time now with no obvious answers yet.
    I tried switching to PropellerIDE to see if it reacts differently, but alas I can't load anyting at all. That issue is currently being fixed.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2015-01-27 10:43
    Well, I'm not the author of either application, but when I first brought this up with Jeff Martin (who wrote the Propeller Tool software) he said that the Propeller Tool packs up the entire binary image and sends it to the Windows API for transmission whereas SimpleIDE uses a different loader which does not. It seems to be that difference that allows the Adafruit Bluetooth Module to be able to successfully program the Propeller in my testing.
Sign In or Register to comment.