Monday, November 18, 2013

6 AM rant about arduino


Hello friends,

I would like to convene an FTIAAP, aka Fix Things I Hate About Arduino Party.

Mostly, I think a lot of people use AnalogRead() and would like the Arduino IDE to just graph the variable already. It's a value from 0 to 1023. I want to monitor it while it scrolls by at lightning speed. No, I don't want to fire up Mathematica/MATLAB/Processing/Matplotlib (no not even python sorry) and write 10 lines of janky serial processing code. Arduino already has a serial monitor! I want it to be like

┌───────┐

│SWEET  │

│GRAPH  │

│THING  │

┌───────┐
│ Serial│

│Monitor│

└───────┘


*not to scale

Yea. Like that. I'll take just having updating boxes for each AnalogRead value, even, no graphs needed.

┌─────────┐

│Val1:1   │

│Val2: 123│

│Val3: 11 │

┌───
──────┐
│ Serial  │

│ Monitor │

─────────┘

I imagine that jankily it will start out like

X = analogRead(4);

Y = analogRead(5);

Serial.graphsandponies(X);

Serial.graphsandponies(Y);

// Do not run graphsandponies() at faster than 1/10ms or everyone will hate you, including yourself if you are using windows


No more of this crap:

 Serial.print("x1 "); Serial.print(loX); Serial.print(" x2 "); Serial.print(hiX); Serial.print(", y "); Serial.println(constY);

Like wtf no.

Barebones, finish in it a night code improvements. That's what I want to happen.

Oh, okay, so now I got started on things that bug me about the Arduino IDE.

On Linux, want to comment things out? Ctrl-/! Oh wait, all that does is f* up your code. But if you Ctrl-Z twice it will do what you wanted! WTF?

[begin]   

    pinMode(ELPin3, OUTPUT);

    pinMode(ELPin4, OUTPUT);

[after Ctrl-/]

/

[crap Ctrl-Z]

[agh where did my code go? Ctrl-Z]

//        pinMode(ELPin3, OUTPUT);

//        pinMode(ELPin4, OUTPUT);


WTF?

Okay, and then let's say you, like a true Arduino user, are copy-pastaing off the internet.

 Serial.print("Hello!");           //print out hello string

Heck yes. Who wants to actually type out code? Copy pasta!

 Serial.print("Hello!");
Ah, I think I need another one.

 Serial.print("Hello!");

    Serial.print("Hello!");

Another one!

 Serial.print("Hello!");

    Serial.print("Hello!");

     Serial.print("Hello!");

Why? Also seen in the classic "let me triple-click the line to copy it all"

       LED_ON = true;
"hit enter and paste it"

       LED_ON = true;

               LED_ON = true;

Why? Also seen in the "let's copy more than one line"

       LED_ON = true;
Okay! Hit enter and paste!

       LED_ON = true;

               pinMode(ELPin3, OUTPUT);

       pinMode(ELPin4, OUTPUT);

       LED_ON = true;

I hate everything.

If enough people are seriously interested I will try to bribe some real Arduino developer to come babysit us through getting familiarized with the codebase.

https://github.com/arduino/Arduino/tree/ide-1.5.x
todo post to: https://github.com/arduino/Arduino/issues?labels=Improvements&page=1&state=closed

~~
I'm going to email this out to friends when I figure out scheduling details and how motivated I am.

Mostly posting this because really what if my last post is making people uncomfortable? Can't let that happen. Better bump it off into oblivion...

No comments:

Post a Comment