Questions tagged [code-optimization]

The process of improving the efficiency of a program such that is uses less memory and/or less computational time.

Filter by
Sorted by
Tagged with
4
votes
4answers
24k views

What is better: one sprintf() or multiple strcat() and itoa()?

I was creating Arduino function which sends two int and additional chars between them and at the beginning and end of char array - then print that array to the serial port in almost real time. (For ...
1
vote
1answer
2k views

Arduino Due SPI speed reduction

I need to reduce the SPI clock speed of the Arduino Due down to about 100 kHz. Unfortunately my hardware doesn't support higher speeds. With the current maximum divider of 255, I can only reach a ...
2
votes
2answers
2k views

How do I set a constant in setup() that I can use in loop()?

I am new with coding, and I was wondering how I could run something once and define it as a constant. Here is my code: int sensorValue1 = analogRead(A0); int sensorValue2 = analogRead(A1); int g0 ...
0
votes
3answers
2k views

Arduino: how can I stop while() when bluetooth send a data?

I have learned Arduino for a month, and I want to bulid a car with 2 modes, Remote and Auto. Auto mode needs to have while() loop, so it can receive data from sensors. When I choose Auto mode via ...
0
votes
1answer
2k views

Using for loop to set pinMode

I notice problems with my output pins when I use this method of setting their pinMode: int allOutputPins[] = {3, 4, 9, 10, 5, A3, 11, 12, 7, 8, A1, A2}; for(int a = 0; a < sizeof(allOutputPins); ...
0
votes
3answers
338 views

How to store IR data needed for AC controll in less space?

I'm trying to controll an AC unit but the issue is space - right now, I store the data like this: consts PROGMEM unsigned int Signal_Heat_Fan0_Temp30[] = {233,636,17884,3032,8944,500,496,492,1496,524,...
1
vote
3answers
3k views

Are static variables in a function bad?

For my code I use a couple of static variables. But when I search the internet, they seem "evil". For example: I have a function which will be executed every loop (5ms looptime). to increase the ...
-1
votes
2answers
1k views

SD Library writing char in a file

I'm trying to write into a file using this code from the example of the library: String dataString = ""; int sensor = 0; dataString += String(sensor); dataString += ","; sensor +=1; File dataFile = ...
0
votes
3answers
86 views

Simple question about && vs ||

I want to skip all '\r' and '\n' chars and I have IF statment: char c = Serial.read(); if (c != '\r' || c != '\n') { // <- This line interesting mAnswer[mAnswerLength] = c; mAnswerLength++; ...
1
vote
2answers
12k views

How to read code from Arduino Uno to Arduino IDE? [duplicate]

we can upload a code into Arduino UNO from our computers, but how about reading code? Can we read and get C codes from compiled codes from Arduino hardwares? My second question is that will we read ...
1
vote
2answers
240 views

Light sensor acting up when used with other code

I have a light sensor that works fine and outputs the correct data to the serial monitor when I only upload the following code to the nano: const int lightSensorPin = A0; int lightSensorValue = 0; ...
1
vote
1answer
44 views

How to int variables with similar names without tons of code? [duplicate]

I'm using int with 14 LEDs to specify pins, but I don't want to use int 14 times, like this: int led1 = 2; int led2 = 3; int led3 = 4; int led4 = 5; int led5 = 6; int led6 = 7; int led7 = 8; int led8 ...
3
votes
1answer
149 views

Cleaning up code? Removing repetition?

I am using Adafruit motor shield, I am running multiple DC motors for different amounts of time, but to start at the same time - I have researched that to do this I have to monitor the elapsed time of ...
0
votes
1answer
209 views

Shortening large chunks of code

Some of the code that I have is unbearably long and drives me insane. I don't know if there were simpler ways to doing what I am doing. long turn1; long turn2; long turn3; long turn4; long turn5; ...
9
votes
1answer
877 views

Overview of compiled code size

When I compile my code, the Arduino IDE returns the binary sketch size in byte. Is there a good way to find out (approximately) what function or what part of my code takes up how much memory in ...
0
votes
2answers
3k views

Program button to switch between two values

There is a function on one of my programs I want to be switch on and off by pressing a button. The button is unbiased otherwise I would set the function to read the button's status of HIGH or LOW. So ...
1
vote
1answer
756 views

Control arduino with keybaord via computer

I'm brand new to arduino but I'm trying to figure out how to set up a WASD steering system for my robot I made. I have the physical setup all ready but I don't know the code to use that would allow ...
0
votes
1answer
87 views

Sweep with two shift registers

I am working with 8 dual color LED's and 2 shift registers. My connections are in place. But I do not understand how to work with 2 shift registers. So I am trying to make this: turn the first led on,...
0
votes
2answers
423 views

releasing memory in sub-function

I'm doing a program who get a line from the SD and shows it, this function is called getData() FULL CODE: #include <SD.h> #include <MemoryFree.h> File myFile; int stringIndex = 0; int ...
5
votes
1answer
2k views

How to enable maximum Dead Code Removal?

I am running out of code and data memory space on ATMega328P. Code size is big as I used several libraries, but, I only use a few functions of those library. Apparently, the default IDE is only ...
1
vote
3answers
298 views

What is the simplest way to “ask” the arduino which input pins are HIGH?

I am trying to build a 36-line cable tester, using the Digistump DigiX (99 i/o pins). Digital pins 0-35 are outputs, connected via the cable in question, to (in a perfect world) digital input pins 36-...
18
votes
5answers
167k views

How can I declare an array of variable size (Globally)

I'd like to make three arrays of the same length. According to the documentation, Arrays must be defined as int myArray[10]; where 10 can be substituted for a known length (another integer), or filled ...
1
vote
2answers
156 views

Questions on programming logic?

So I am learning arduino code by going through examples and playing with them, and I came across something interesting. I am not fluent in any coding language but I am fully familiarized with computer ...
6
votes
4answers
3k views

What's the most efficient implementation of map(x,0,1023,50,250)?

I recently noticed how the map() function in Arduino was bulky in both terms of flash space used and time taken to execute, largely because it deals with long and involves a division and ...

1 2
3