|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: changing main.c
Quote:
Rather than modifying main() as 3dude_2231 is asking, it might be less traumatic to check for autonomous_mode inside Process_Data_From_Master_uP(). |
|
#2
|
||||
|
||||
|
Re: changing main.c
Quote:
That makes sense as an option; but I am not sure why it would be a problem to add an if(!autonomous_mode) in main(). With what might this cause trouble? |
|
#3
|
|||||
|
|||||
|
Re: changing main.c
There is nothing illegal or wrong with modifying any of the code to suit your needs. The only requirement is that you call IFI's functions as appropriate. You may modify main.c, ifi_utils.c, ifi_startup.c
, or any other source file.Now, your skill level is more likely a hinderence. I would imagine that 99% of the people here wouldn't dare touch ifi_startup.c. (The other 1% is Kevin Watson. ) Why? It involves initializing clib, clearing memory, and a few other low-level things. Half of it is written in inline assembly. I've only perused it a few times, nevermind modifying it.As for the original question: modify main.c until you turn blue! Just be ready to post a lot of code when it doesn't work. |
|
#4
|
|||||
|
|||||
|
Re: changing main.c
On the other hand, you can learn a lot by looking through all the files. For instance, ifi_aliases.h tells me that there's a flag called disabled_mode that will tell you if the robot is disabled. Much much easier and safer than setting some random variable after you've been in autonomous mode.
Second, I have a strong suspicion that Process_Data_From_Master_uP MUST be called atleast once. I'm pretty sure the GetData(&rxdata) call is what updates ALL of the information on the processor. Including whether or not you are in autonomous mode. If you don't call it while you're disabled and waiting for autonomous mode, you'll never enter autonomous mode. I believe you can get around these restrictions, but you're going to have to be a lot more clever than anything I've seen in this thread so far. Something on the order of swapping the order of the two calls as suggested above AND setting autonomous_mode=1 in your user initialization and also making sure you stay there while you're waiting for the initial disabled period to end and the actual autonomous mode to begin. Probably plus some other clever things I'm not thinking of at midnight. The point being, if you want to play with these files, you can. But you'll have a lot more fun at it if you actually know what's going on. |
|
#5
|
|||
|
|||
|
Re: changing main.c
Quote:
The reason for calling it first is most likely that teams usually run the regular code and not autonomous. Whatever the case, a Getdata must be called with the rx_data struct so the data can be retrieved from the master processor about which mode to go into. I have not done it myself, but I am confident that you can simply change Quote:
Quote:
And you will not run user code and yet still be ok. Someone should try this if they have a spare RC around (ours got shipped today and I don't have access to old robots). Just my $0.02 |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| main.c | 6600gt | Programming | 3 | 29-08-2006 02:19 |
| Main Battery Cables | maclaren | Electrical | 14 | 26-07-2006 12:37 |
| Editing Main.c | Astronouth7303 | Programming | 22 | 20-02-2004 16:45 |
| Main Stage | archiver | 2001 | 3 | 24-06-2002 03:06 |
| main driver | Kaitlin Palmer | Off-Season Events | 0 | 09-04-2002 21:26 |