Shop OBEX P1 Docs P2 Docs Learn Events
Quad Rover/ Propeller help requested - Page 4 — Parallax Forums

Quad Rover/ Propeller help requested

124»

Comments

  • PublisonPublison Posts: 12,366
    edited 2021-10-11 10:19

    @The_Master said:
    Publison,

    It's way off topic, but I was looking at the pic of the "propeller control board." Does Parallax use a thinner pin for something a servo interfaces to? On that pic it looked like a regular thick IDE pin. Do you guys find the servo connection a tight fit?

    They are standard connectors. The angle of the photo makes them look thin.

  • @dgately said:

    @"Mark Kibler" said:

    We tried to ran your plshigh.binary program using the FlexProp program we downloaded and the text window said "Could not find a P2. Press enter to continue." plshigh.eeprom loaded to the Propeller board but it was cryptic on how to make it Run using FlexProp


    In flexprop, you need to specify "P1 defaults" in order to compile & load to a P1...

    Aha! That might explain it. We’ll give that a try. Thanks.

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-11 13:37

    @tritonium said:
    By changing the code by deleting the number of '@' symbols will completely break the software and strange things will definitely happen.

    When I try to run the program as written with the three @@@ symbols it won’t run.

    When I put all three @@@ symbols inside parentheses ( ) it still won’t run.

    When I put the line code inside parentheses with only one @, it runs and the readout scrolls, “8 is a test”, “9 is a test”, “10 is a test”, “11 is a test.”

    If you know your radio works when connected to servos, but not with our software there, is something very odd going on.

    The radio and receiver work with stand-alone servos. Agreed, there is a glitch somewhere. That’s what we’re trying to figure out. Thanks for your help Dave.

    Dave

  • Hi

    When I try to run the program as written with the three @@@ symbols it won’t run.

    When I put all three @@@ symbols inside parentheses ( ) it still won’t run.

    When I put the line code inside parentheses with only one @, it runs and the readout scrolls, “8 is a test”, “9 is a test”, “10 is a test”, “11 is a test.”

    thats right and I replied

    What to do.
    You could try downloading and installing PropellerIDE or I could supply a binary file.
    In fact that is what I have done. This is just the raw code so does not require compiling.

    That binary works for publison and does not require you to do anything other than load it to ram and run it.
    To do that in propeller tool-
    put the binary file in the same folder as the spin files
    click file
    open
    navigate to the file- if you don't see any .binary files then change the "files of type" to "All files (.)"
    click the file
    then open
    then click on load ram
    then got to "run"
    select parallax serial terminal
    set that up to your com port and 9600
    and then you 'should' see the output from the program.

    Phew- had to work that out- never used it before- PropellerIDE was much easier.

    I have to say that problem solving this kind of thing if you are not an experienced programmer is taking on a lot.

    Still- onwards and upwards (whatever that means!)

    Dave

  • @"Mark Kibler" said:

    @tritonium said:
    By changing the code by deleting the number of '@' symbols will completely break the software and strange things will definitely happen.

    When I try to run the program as written with the three @@@ symbols it won’t run.

    When I put all three @@@ symbols inside parentheses ( ) it still won’t run.

    When I put the line code inside parentheses with only one @, it runs and the readout scrolls, “8 is a test”, “9 is a test”, “10 is a test”, “11 is a test.”

    If you know your radio works when connected to servos, but not with our software there, is something very odd going on.

    The radio and receiver work with stand-alone servos. Agreed, there is a glitch somewhere. That’s what we’re trying to figure out. Thanks for your help Dave.

    Dave

    What program did you use to compile plshigh.spin? It has to be compiled with Flexprop 5.9.3 The P1 mode must be invoked as Dennis indicated.

  • Tracy AllenTracy Allen Posts: 6,664
    edited 2021-10-11 15:55

    I'm gratified to hear that those youngsters, and Christopher especially, went on to accomplish things. But I don't take much credit. It was you, as in the movie October Sky, who was the driving force, staying one step ahead as you are doing now. I do remember well, there was that long, protracted thread, as your ARLISS team build the rocket and figured out how to measure CO2 etc., and how to cram it all into the the rocket body. I learned a lot too. A little about lithium solid electrolyte CO2 sensors, but mostly about how extraordinarily hard it is to teach at that level, like herding cats!

    I can't be much help with your current project. I'm sort of a stick in the mud. No quad rover experience, and I still use older software for programming the BASIC Stamp and Propeller 1 systems that I have in the (sometimes muddy) field. Focussing more on sensors these days.

  • tritoniumtritonium Posts: 543
    edited 2021-10-11 16:45

    Hi

    What program did you use to compile plshigh.spin? It has to be compiled with Flexprop 5.9.3 The P1 mode must be invoked as Dennis indicated.

    propellerIDE also works- it uses BSTC I believe.

    edit- the nice thing about Flexprop is it pops up a terminal automatically.

    Dave

  • @"Tracy Allen" said:
    I'm gratified to hear that those youngsters, and Christopher especially, went on to accomplish things. But I don't take much credit. It was you, as in the movie October Sky, who was the driving force, staying one step ahead as you are doing now. I do remember well, there was that long, protracted thread, as your ARLISS team build the rocket and figured out how to measure CO2 etc., and how to cram it all into the the rocket body. I learned a lot too. A little about lithium solid electrolyte CO2 sensors, but mostly about how extraordinarily hard it is to teach at that level, like herding cats!

    I can't be much help with your current project. I'm sort of a stick in the mud. No quad rover experience, and I still use older software for programming the BASIC Stamp and Propeller 1 systems that I have in the (sometimes muddy) field. Focussing more on sensors these days.

    OT Funny, I just watched October Sky two nights ago. Sent a second copy to my son how built rockets with me, and his son is interested.

  • @tritonium said:
    Hi

    What program did you use to compile plshigh.spin? It has to be compiled with Flexprop 5.9.3 The P1 mode must be invoked as Dennis indicated.

    propellerIDE also works- it uses BSTC I believe.

    edit- the nice thing about Flexprop is it pops up a terminal automatically.

    Dave

    I have not have luck with Flexprop terminal. PST works fine.

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-11 18:46

    @tritonium said:

    put the binary file in the same folder as the spin files
    click file
    open
    navigate to the file- if you don't see any .binary files then change the "files of type" to "All files (.)"
    click the file
    then open
    then click on load ram
    then got to "run"
    select parallax serial terminal
    set that up to your com port and 9600
    and then you 'should' see the output from the program.

    Dave

    Dave,

    Thanks for the step-by-step directions on how to load and run plshigh.binary. It works! Thank you!

    We couldn't figure out how to make it "Run" by clicking 'Run' on Propeller when we opened up .binary. But we figured out that you have to: 1) close the binary window after loading the program into RAM, then 2) Click RUN in Propeller, then 3) Click the Serial terminal screen to see the outputs.

    It's interesting that the outputs when running plshigh.binary and plshigh.spin without three @@@ and with line code inside parentheses ( ) are virtually the same. One difference is that "This is a test" appears at the start of running plshigh.binary but these words don't appear when running plshigh.spin.

    Two other differences are: 1) the last words that appear after the number in each output line when running .binary are "us". When running .spin (modified), the letter 'a' appears after each number followed by the word 'test' appears. See attached screen shot of both outputs

    None of the numbers in the rows after "8 is a test", "9 is a test", etc. change when the RC transmitter joy sticks are moved when running either program-- plshigh.binary OR plshigh.spin (with modified line commands).

    See attached screen shot and there are comments written on the screen shot.

    Standing by at Mission Control, waiting for your insights. ;-)

  • @Publison said:

    What program did you use to compile plshigh.spin? It has to be compiled with Flexprop 5.9.3 The P1 mode must be invoked as Dennis indicated.

    Somewhere we missed the part that said plshigh.spin had to be compiled in FlexProp and then run in Prop 1 mode. Sorry.

    We did that and here's what we saw (attached screen shot.) We could see the red light pulsing/ flashing on the Propeller board (indicating an output?) But we saw nothing on the black output screen. We looked for a Serial Terminal screen button but didn't see one in FlexProp.

    Also, even though we compiled plshigh.SPIN, the output (on the screen shot) shows plshigh.BINARY was being run.

  • PublisonPublison Posts: 12,366
    edited 2021-10-11 19:17

    I had problems with the Flexprop terminal screen,(black screen) also. It would not update. I closed that and opened PST from the standard Spin tool, (F12), and was able to view output. Adjust port and baud rate.

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-11 19:46

    @Publison said:
    I had problems with the Flexprop terminal screen,(black screen) also. It would not update. I closed that and opened PST from the standard Spin tool, (F12), and was able to view output. Adjust port and baud rate.

    We saw no option in FlexProp to decrease the baud rate to 9600.

    We closed the black screen as you suggested and opened the PST through Propeller.
    Outputs/ numbers appeared and they are the same as in the screen shot above when we ran plshigh.binary.

    The commonality when running the different programs seems to be that all the outputs and values are the same:

    “8 is a test. 1100 us” or
    “8 is a test. 1100a test”

    See screen shots above. None of the values change when we move the RC transmitter joysticks.

  • Do you have paired transmitter and receiver so can you connect a servo directly to the receiver and move it with the joysticks?

  • Hi

    The output in post 101 in propeller tool from plshigh.binary is correct. Hooray!!
    When the program starts it waits for a few seconds to allow you to switch to the terminal then
    the text "this is a test" only prints 4 times then repeats the measured pulses forever. So if there is a delay switching the terminal on then some lines will be lost- doesn't matter.
    The us after the number is the units of measurement (microseconds) so expect to get between 1000 to 2000; 1500 is the centre position.
    Changing the '@@@' changed the behaviour of the program- I'm surprised it ran at all let alone merely jumbling up the text.

    That seems to prove your hardware is good, but as for why the programs you started with don't work is still a mistery.
    I don't do spin code so can't help with looking at those I'm afraid. In fact I do all my coding these days in one form of 'BASIC' or another as they do all I want and are easy to pick up. Thankfully Bean and Eric have provided prop users with excellent tools. Beans PropBasic (which also supports asm), is for P1 only and does not provide a text editor so I use Genie. Erics FlexBasic comes with an editor and terminal and supports P1 and P2 and supports Spin, C, asm, and Basic.

    Dave

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-11 21:14

    @msrobots said:
    Do you have paired transmitter and receiver so can you connect a servo directly to the receiver and move it with the joysticks?

    Yes, the transmitter and receiver are paired/ synchronized. We attached a stand-alone model airplane servo to the receiver and it functions just fine on all four channels. Thanks for the suggestion!

  • @"Mark Kibler" said:

    @Publison said:
    I had problems with the Flexprop terminal screen,(black screen) also. It would not update. I closed that and opened PST from the standard Spin tool, (F12), and was able to view output. Adjust port and baud rate.

    We saw no option in FlexProp to decrease the baud rate to 9600.

    We closed the black screen as you suggested and opened the PST through Propeller.
    Outputs/ numbers appeared and they are the same as in the screen shot above when we ran plshigh.binary.

    The commonality when running the different programs seems to be that all the outputs and values are the same:

    “8 is a test. 1100 us” or
    “8 is a test. 1100a test”

    See screen shots above. None of the values change when we move the RC transmitter joysticks.

    The baud rate is set in PST which you have correctly set to 9600. When I ran the program, The values changed with transmitter input. I'm running out of ideas.

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-12 18:19

    @Publison said:

    The baud rate is set in PST which you have correctly set to 9600. When I ran the program, The values changed with transmitter input. I'm running out of ideas.

    Back to the drawing board it seems.

  • @Publison said:

    @"Mark Kibler" said:

    …and we’re open to any suggestions anyone has at this point. Thank you.

  • @"Mark Kibler" said:

    @Publison said:

    @"Mark Kibler" said:

    …and we’re open to any suggestions anyone has at this point. Thank you.

    In hospital without my hardware, will be a couple of days.

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-15 00:26

    🙏

  • Mark KiblerMark Kibler Posts: 546
    edited 2021-10-15 03:22

    Anyone: Where you would go from here to get the Quad River running? That is, to get a program working that runs the servos with a radio control transmitter. The programs we have don’t seem to be doing it. We’re stumped. We’re rookies.

  • Hi

    Ok. In post 101 above you showed two screen shots, one of the output from plshigh.spin and the other from plshigh.binary.
    The one form plshigh.binary was exactly right, the other was corrupt because of the changes made to the code. The spin file I sent you used the '@@@' code and is not compatible with the propeller tool compiler and there is no way I know to make it work. However propellerIDE handles it perfectly and so does flexprop so there are alternatives.
    So that binary proves your transmitter / receiver / control board are working.
    Post 106 explains the printout.
    pin 8 = 1100 us
    pin 9 = 1762 us
    pin 10 = 1476 us
    pin 11 = 1535 us
    This is the pulse width measured on each pin in microseconds (us)- it is exactly what you would expect.
    moving the sticks should affect the values.
    Why the original parallax code does not work is a mystery- only a spin expert can tell us.
    Since re-writing the entire software is an unreasonable ask of anyone- the thing to do is see if there is a spin expert prepared to put in the time and effort to diagnose the parallax software. Its probably a simple thing since the software has been used by others in the past.

    Dave

  • Jim,

    It was nice talking with you by phone on Sunday. Thanks for calling. We discussed contacting Ken or Andy to see if we can get replacement controller board for the Quad Rover. Replacing it would be one way to rule out a non-functional controller board. But as I said when we spoke, I suspect the problem lies in:

    1) The hard wired connections to the controller board from the RC receiver, or
    2) Input/ connection from the computer to the controller board, or
    3) The program itself.

    We are open to suggestions from anyone at this point. We remain stumped.

    Mark

Sign In or Register to comment.