Hi, I'm preparing a performance using arduino and I made 5 different patches (.pde).
what's the best way to put them together?
if I put all the code in the same window I'll have a huge code and it'll be hard to find the specific parts.
is there a way to separete the parts in different tabs, like when i add a .h file?
how can I make it?
Yes, in the upper right of the IDE there is a create tabs button, put the guts of each sketch in each one. There can only be one void loop.
How do the different sketches get called?
I have done something like read the serial input in void loop(){ , then use switch:case to jump to the section to be run, at the end it goes to back to loop to wait for the next command.
I also named the tabs like a_tab1, b_tab2, c_tab3 so they show in order across the screen, and I think perhaps they put together that way for compiling also.
I have to look, I think the sketch gets saved with the name of the first tab.
I break my code up like this to make it easier to find stuff on big (10-12K) programs:
a_comments
b_preset
c_setup
d_loop1
e_loop2
f_other_stuff, maybe function, pitches.h, etc.
void loop(){
if (Serial.available() >0){
sketchNumber = Serial.read();
}
switch (sketchNumber){
case 0:
// do nothing here for this case
break; // ends the switch, goes out to check for serial data again
// end of tab 1
// put this at start of tab 2
case 1:
// code
sketchNumber = 0; // reset so it does not repeat
break;
// end of tab 1
// start of tab 2
case 2:
// code
sketchNumber = 0; // reset so it does not repeat
break;
// end of tab 2
start of tab 3
case 3:
// code
sketchNumber = 0; // reset so it does not repeat
break;
} // closes out switch (sketchNumber)
} // closes out void loop
// end of tab 3
I may not be understanding your problem correctly, but this sounds like the very problem that languages like C++ were created to solve.
You could take all of the program erm, "segments", and same them in separate header files, then include them in a main class and call them like functions.
You could call the functions based on time, button presses, or anything else.