Sorry if I was not very clear in the previous post.
I am not sure if you are now asking why must I change this or maybe how to change it. So I will try to answer both ways…
The idea of my previous post is it may be possible there is a problem in the current program, or maybe it is making assumptions that are not correct for your robot. So the idea is to try to gather additional information to allow yourself or others to have a better idea on how to fix the problem. This is what I meant to debug it.
So the idea is to find in your current program, which was probably generated by powerpod? where you are outputing the command to the SSC-32. The area may look something like:
serout SER_POUT, SER_MODE,"#",RRHH,RRHH2,"P",DEC HipH_Pulse(0),"#",RRHV,RRHV2,"P",DEC HipV_Pulse(0), |
"#",RRK,RRK2,"P",DEC Knee_Pulse(0),"#",FRHH,FRHH2,"P",DEC HipH_Pulse(2), |
"#",FRHV,FRHV2,"P",DEC HipV_Pulse(2),"#",FRK,FRK2,"P",DEC Knee_Pulse(2), |
"#",MLHH,MLHH2,"P",DEC HipH_Pulse(4),"#",MLHV,MLHV2,"P",DEC 3000 - HipV_Pulse(4), |
"#",MLK,MLK2,"P",DEC 3000 - Knee_Pulse(4),"#",MRHH,MRHH2,"P",DEC HipH_Pulse(1), |
"#",MRHV,MRHV2,"P",DEC HipV_Pulse(1),"#",MRK,MRK2,"P",DEC Knee_Pulse(1), |
"#",RLHH,RLHH2,"P",DEC HipH_Pulse(5),"#",RLHV,RLHV2,"P",DEC 3000 - HipV_Pulse(5), |
"#",RLK,RLK2,"P",DEC 3000 - Knee_Pulse(5),"#",FLHH,FLHH2,"P",DEC HipH_Pulse(3), |
"#",FLHV,FLHV2,"P",DEC 3000 - HipV_Pulse(3),"#",FLK,FLK2,"P",DEC 3000 - Knee_Pulse(3), |
"#",DeckP,DeckP2,"P",DEC Deck_Pulse,"#",DeckTilt,DeckTilt2,"P",DEC DeckTilt_Pulse, |
"#",LGripOC,LGripOC2,"P",DEC LittleGripOCPulse,"#",LGripLR,LGripLR2,"P",DEC LittleGripLRPulse,"T180",13]
Your code may look different as mine was done awhile ago and then it was converted to run on an Atom Pro instead of the standard atom. It was later again edited to make it work on both the round and inline hex…
Look for the serout command that is outputing the Deck_pulse. Now the idea is for you edit the program and add in an additional Serout command to S_OUT, to display this value. Then you will need to compile and download this updated program and run it, with the serial cable still attached to the BB2 (Atom). You can use several different terminal windows, but the easiest is to use the one that is part of your Atom IDE (the program you compile with). Click on one of the terminal windows at the bottom of the window, select the appropriate COMM port (the one you download with). Choose the baud rate of 9600 and do a connect.
Now run your robot and go to the left and go to the right and note the values output in the terminal window. The value will probably be near 1500 when it is pointing forward. One direction it should go from 1500 up to 2400 and going the other direction go from 1500 down to around 600.
If the values don’t go like this then there may be a program problem. If it goes fine and lets say the value goes from 700 down to near 600 and the servo all of a sudden jumps the opposite direction, then maybe there is a problem elsewhere (SSC-32 or servo…).
With this type of information, the problem can be issolated and fixed or avoided. Example if it works fine going down to 700 but not 600, you could simply update the minumum value (DECK_PULSEMIN)…
I hope that helps.
Kurt