Phoenix Code: Phoenix_Input_Serial

Hello,
I have a quadruped robot controlled by a SSC-32 and BotBoarduino as shown in this diagram.

I have the Phoenix libraries loaded onto the robot and it can be controlled with a PS2 controller— just not with the wiring shown above; I had the PS2 receiver hooked up at one point.

I, however, wanted to control the robot via Serial using the Phoenix file titled Phoenix_Input_Serial. So I comment out the #include <Phoenix_Input_PS2.h> and added #include <Phoenix_Input_Serial.h>. From there, I uploaded the program and opened up Arduino IDE’s Serial Monitor. I found a list of commands here and tried sending some of them to the robot via a USB cable.

Sending commands equivalent to the ones described above to the BotBotboardunio produced no response. However, after playing around with sending commands, the robot suddenly jerked into motion and beeped. It turns out that after sending a large number of commands rapidly the robot will turn on. It, however, doesn’t matter what data you send, as long as you send it rapidly.

Do you have any insight regarding this system and the Phoenix_Input_Serial.h program? How can I send data via Serial to the BotBoardunio and have it move as if it being controlled by the PS2 and what data would I need to send? Finally, why is it starting up and moving when I send it data rapidly?

Let me know if any additional information.

Thanks in advance.
Best,
Christopher

Just following up on my previous post.
Please let me know if you have any ideas regarding my system and the problems I am encountering.

Christopher

Hey Christopher,

The best person to answer this question would most likely be kurte (he worked on this code quite a bit). You may want to send him a private message, maybe he still monitor’s his account.
You may also want to have a look at kurte’s GitHub repo for the phoenix code for clues, ideas, etc.

Basically, the Lynxmotion kits are all meant to be used with either the SSC-32/SSC-32U connected directly to apps in FlowBotics Studio or in tandem with the BotBoarduino and a PS2 controller.
Therefore, we’ve never really played around with the other input modes available since we had no use for them.

Most likely you are missing a (or many) #define somewhere (maybe commented) to indicate to use the serial input instead of the PS2.

Sincerely,

Sorry, I don’t typically monitor this forum much anymore nor have I touched this part of the phoenix code for a very long time. For the most part have not touched the serial code for 6 years, other than 3 years ago made some part conditional…

Quick look at the code. If the code does not received any input characters in 200ms (1/5 second), it assumes it lost the serial input and turns the robot off.

As mentioned in the notes, this program used the format of the old powerpod program, which was one of the earliest programs out for old Lynxmotion hexapods… I think there are some downloads still up at:
lynxmotion.com/p-566-free-do … erpod.aspx

As how to output HEX data, Typically you have a program on your PC or SBC or … whatever is on the other end, generate the data and send the data in the correct format. Hard to give any advice on how to do this as that depends on what machine, what computer language…

Alternately you could change the source file (Phoenix_Input_Serial.h)to take whatever format you want. That is you could create some simple ASCII command set, that then calls off to the appropriate stuff underneath.

Again sorry not sure what else I could tell you. as again I have not touched this in a very long time.