Skip to content

Commit 275a47d

Browse files
committed
save some bytes by replacing int with uint8_t in Prints, digitalRead() and analogWrite()
1 parent 06e9981 commit 275a47d

File tree

5 files changed

+32
-32
lines changed

5 files changed

+32
-32
lines changed

hardware/arduino/avr/cores/arduino/Arduino.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,10 @@ int atexit(void (*func)()) __attribute__((weak));
124124

125125
void pinMode(uint8_t, uint8_t);
126126
void digitalWrite(uint8_t, uint8_t);
127-
int digitalRead(uint8_t);
128-
int analogRead(uint8_t);
127+
uint8_t digitalRead(uint8_t);
128+
uint16_t analogRead(uint8_t);
129129
void analogReference(uint8_t mode);
130-
void analogWrite(uint8_t, int);
130+
void analogWrite(uint8_t, uint8_t);
131131

132132
unsigned long millis(void);
133133
unsigned long micros(void);

hardware/arduino/avr/cores/arduino/Print.cpp

+14-14
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,22 @@ size_t Print::print(char c)
6969
return write(c);
7070
}
7171

72-
size_t Print::print(unsigned char b, int base)
72+
size_t Print::print(unsigned char b, uint8_t base)
7373
{
7474
return print((unsigned long) b, base);
7575
}
7676

77-
size_t Print::print(int n, int base)
77+
size_t Print::print(int n, uint8_t base)
7878
{
7979
return print((long) n, base);
8080
}
8181

82-
size_t Print::print(unsigned int n, int base)
82+
size_t Print::print(unsigned int n, uint8_t base)
8383
{
8484
return print((unsigned long) n, base);
8585
}
8686

87-
size_t Print::print(long n, int base)
87+
size_t Print::print(long n, uint8_t base)
8888
{
8989
if (base == 0) {
9090
return write(n);
@@ -100,13 +100,13 @@ size_t Print::print(long n, int base)
100100
}
101101
}
102102

103-
size_t Print::print(unsigned long n, int base)
103+
size_t Print::print(unsigned long n, uint8_t base)
104104
{
105105
if (base == 0) return write(n);
106106
else return printNumber(n, base);
107107
}
108108

109-
size_t Print::print(double n, int digits)
109+
size_t Print::print(double n, uint8_t digits)
110110
{
111111
return printFloat(n, digits);
112112
}
@@ -149,42 +149,42 @@ size_t Print::println(char c)
149149
return n;
150150
}
151151

152-
size_t Print::println(unsigned char b, int base)
152+
size_t Print::println(unsigned char b, uint8_t base)
153153
{
154154
size_t n = print(b, base);
155155
n += println();
156156
return n;
157157
}
158158

159-
size_t Print::println(int num, int base)
159+
size_t Print::println(int num, uint8_t base)
160160
{
161161
size_t n = print(num, base);
162162
n += println();
163163
return n;
164164
}
165165

166-
size_t Print::println(unsigned int num, int base)
166+
size_t Print::println(unsigned int num, uint8_t base)
167167
{
168168
size_t n = print(num, base);
169169
n += println();
170170
return n;
171171
}
172172

173-
size_t Print::println(long num, int base)
173+
size_t Print::println(long num, uint8_t base)
174174
{
175175
size_t n = print(num, base);
176176
n += println();
177177
return n;
178178
}
179179

180-
size_t Print::println(unsigned long num, int base)
180+
size_t Print::println(unsigned long num, uint8_t base)
181181
{
182182
size_t n = print(num, base);
183183
n += println();
184184
return n;
185185
}
186186

187-
size_t Print::println(double num, int digits)
187+
size_t Print::println(double num, uint8_t digits)
188188
{
189189
size_t n = print(num, digits);
190190
n += println();
@@ -237,7 +237,7 @@ size_t Print::printFloat(double number, uint8_t digits)
237237

238238
// Round correctly so that print(1.999, 2) prints as "2.00"
239239
double rounding = 0.5;
240-
for (uint8_t i=0; i<digits; ++i)
240+
for (uint8_t i = 0; i < digits; ++i)
241241
rounding /= 10.0;
242242

243243
number += rounding;
@@ -249,7 +249,7 @@ size_t Print::printFloat(double number, uint8_t digits)
249249

250250
// Print the decimal point, but only if there are digits beyond
251251
if (digits > 0) {
252-
n += print(".");
252+
n += print('.');
253253
}
254254

255255
// Extract digits from the remainder one at a time

hardware/arduino/avr/cores/arduino/Print.h

+12-12
Original file line numberDiff line numberDiff line change
@@ -59,24 +59,24 @@ class Print
5959
size_t print(const String &);
6060
size_t print(const char[]);
6161
size_t print(char);
62-
size_t print(unsigned char, int = DEC);
63-
size_t print(int, int = DEC);
64-
size_t print(unsigned int, int = DEC);
65-
size_t print(long, int = DEC);
66-
size_t print(unsigned long, int = DEC);
67-
size_t print(double, int = 2);
62+
size_t print(unsigned char, uint8_t = DEC);
63+
size_t print(int, uint8_t = DEC);
64+
size_t print(unsigned int, uint8_t = DEC);
65+
size_t print(long, uint8_t = DEC);
66+
size_t print(unsigned long, uint8_t = DEC);
67+
size_t print(double, uint8_t = 2);
6868
size_t print(const Printable&);
6969

7070
size_t println(const __FlashStringHelper *);
7171
size_t println(const String &s);
7272
size_t println(const char[]);
7373
size_t println(char);
74-
size_t println(unsigned char, int = DEC);
75-
size_t println(int, int = DEC);
76-
size_t println(unsigned int, int = DEC);
77-
size_t println(long, int = DEC);
78-
size_t println(unsigned long, int = DEC);
79-
size_t println(double, int = 2);
74+
size_t println(unsigned char, uint8_t = DEC);
75+
size_t println(int, uint8_t = DEC);
76+
size_t println(unsigned int, uint8_t = DEC);
77+
size_t println(long, uint8_t = DEC);
78+
size_t println(unsigned long, uint8_t = DEC);
79+
size_t println(double, uint8_t = 2);
8080
size_t println(const Printable&);
8181
size_t println(void);
8282
};

hardware/arduino/avr/cores/arduino/wiring_analog.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ void analogReference(uint8_t mode)
3535
analog_reference = mode;
3636
}
3737

38-
int analogRead(uint8_t pin)
38+
uint16_t analogRead(uint8_t pin)
3939
{
4040
uint8_t low, high;
4141

@@ -97,7 +97,7 @@ int analogRead(uint8_t pin)
9797
// hardware support. These are defined in the appropriate
9898
// pins_*.c file. For the rest of the pins, we default
9999
// to digital output.
100-
void analogWrite(uint8_t pin, int val)
100+
void analogWrite(uint8_t pin, uint8_t val)
101101
{
102102
// We need to make sure the PWM output is enabled for those pins
103103
// that support it, as we turn it off when digitally reading or

hardware/arduino/avr/cores/arduino/wiring_digital.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ void digitalWrite(uint8_t pin, uint8_t val)
162162
SREG = oldSREG;
163163
}
164164

165-
int digitalRead(uint8_t pin)
165+
uint8_t digitalRead(uint8_t pin)
166166
{
167167
uint8_t timer = digitalPinToTimer(pin);
168168
uint8_t bit = digitalPinToBitMask(pin);

0 commit comments

Comments
 (0)