Skip to content

Commit c30bba0

Browse files
author
Federico Fissore
committed
Merge branch 'ide-1.5.x' into ide-1.5.x-avr-toolchain-gcc-4.8.1
2 parents 69ef946 + f0738fd commit c30bba0

File tree

9 files changed

+107
-18
lines changed

9 files changed

+107
-18
lines changed

Diff for: app/src/processing/app/debug/Compiler.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,14 @@ private PreferencesMap createBuildPreferences(String _buildPath,
197197
targetArch = targetPlatform.getId();
198198
p.put("build.arch", targetArch.toUpperCase());
199199

200-
if (!p.containsKey("compiler.path"))
200+
// Platform.txt should define its own compiler.path. For
201+
// compatibility with earlier 1.5 versions, we define a (ugly,
202+
// avr-specific) default for it, but this should be removed at some
203+
// point.
204+
if (!p.containsKey("compiler.path")) {
205+
System.err.println(_("Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer."));
201206
p.put("compiler.path", Base.getAvrBasePath());
207+
}
202208

203209
// Core folder
204210
TargetPlatform tp = corePlatform;

Diff for: app/src/processing/app/debug/TargetPlatform.java

+14
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,20 @@ public TargetPlatform(String _name, File _folder, TargetPackage parent)
110110
format(_("Error loading {0}"), platformsFile.getAbsolutePath()), e);
111111
}
112112

113+
// Allow overriding values in platform.txt. This allows changing
114+
// platform.txt (e.g. to use a system-wide toolchain), without
115+
// having to modify platform.txt (which, when running from git,
116+
// prevents files being marked as changed).
117+
File localPlatformsFile = new File(folder, "platform.local.txt");
118+
try {
119+
if (localPlatformsFile.exists() && localPlatformsFile.canRead()) {
120+
preferences.load(localPlatformsFile);
121+
}
122+
} catch (IOException e) {
123+
throw new TargetPlatformException(
124+
format(_("Error loading {0}"), localPlatformsFile.getAbsolutePath()), e);
125+
}
126+
113127
File progFile = new File(folder, "programmers.txt");
114128
try {
115129
if (progFile.exists() && progFile.canRead()) {

Diff for: build/shared/examples/08.Strings/StringStartsWithEndsWith/StringStartsWithEndsWith.ino

-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ void loop() {
4747
}
4848
else {
4949
Serial.println(". This reading is not divisible by ten");
50-
5150
}
5251

5352
// do nothing while true:

Diff for: hardware/arduino/avr/platform.txt

+19-9
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ version=1.5.6
1212
# ---------------------
1313

1414
# Default "compiler.path" is correct, change only if you want to overidde the initial value
15-
#compiler.path={ide.path}/tools/avr/bin/..
15+
compiler.path={runtime.ide.path}/hardware/tools/avr/bin/
1616
compiler.c.cmd=avr-gcc
1717
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD
1818
compiler.c.elf.flags=-Os -Wl,--gc-sections
@@ -28,32 +28,42 @@ compiler.elf2hex.flags=-O ihex -R .eeprom
2828
compiler.elf2hex.cmd=avr-objcopy
2929
compiler.ldflags=
3030
compiler.size.cmd=avr-size
31-
# this can be overriden in boards.txt
31+
32+
# This can be overriden in boards.txt
3233
build.extra_flags=
3334

35+
# These can be overridden in platform.local.txt
36+
compiler.c.extra_flags=
37+
compiler.c.elf.extra_flags=
38+
compiler.S.extra_flags=
39+
compiler.cpp.extra_flags=
40+
compiler.ar.extra_flags=
41+
compiler.objcopy.eep.extra_flags=
42+
compiler.elf2hex.extra_flags=
43+
3444
# AVR compile patterns
3545
# --------------------
3646

3747
## Compile c files
38-
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
48+
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
3949

4050
## Compile c++ files
41-
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
51+
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
4252

4353
## Compile S files
44-
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
54+
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
4555

4656
## Create archives
47-
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"
57+
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
4858

4959
## Combine gc-sections, archives, and objects
50-
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm
60+
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm
5161

5262
## Create eeprom
53-
recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep"
63+
recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep"
5464

5565
## Create hex
56-
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
66+
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
5767

5868
## Compute size
5969
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"

Diff for: hardware/arduino/sam/cores/arduino/USARTClass.cpp

+7-2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ USARTClass::USARTClass( Usart* pUsart, IRQn_Type dwIrq, uint32_t dwId, RingBuffe
3535
// Public Methods //////////////////////////////////////////////////////////////
3636

3737
void USARTClass::begin( const uint32_t dwBaudRate )
38+
{
39+
begin( dwBaudRate, SERIAL_8N1 );
40+
}
41+
42+
void USARTClass::begin( const uint32_t dwBaudRate, const uint32_t config )
3843
{
3944
// Configure PMC
4045
pmc_enable_periph_clk( _dwId ) ;
@@ -46,8 +51,8 @@ void USARTClass::begin( const uint32_t dwBaudRate )
4651
_pUsart->US_CR = US_CR_RSTRX | US_CR_RSTTX | US_CR_RXDIS | US_CR_TXDIS ;
4752

4853
// Configure mode
49-
_pUsart->US_MR = US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_NO |
50-
US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL;
54+
_pUsart->US_MR = config;
55+
5156

5257
// Configure baudrate, asynchronous no oversampling
5358
_pUsart->US_BRGR = (SystemCoreClock / dwBaudRate) / 16 ;

Diff for: hardware/arduino/sam/cores/arduino/USARTClass.h

+32
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,37 @@
2525
// Includes Atmel CMSIS
2626
#include <chip.h>
2727

28+
// Define config for Serial.begin(baud, config);
29+
#define SERIAL_5N1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_5_BIT | US_MR_PAR_NO | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
30+
#define SERIAL_6N1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_6_BIT | US_MR_PAR_NO | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
31+
#define SERIAL_7N1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_7_BIT | US_MR_PAR_NO | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
32+
#define SERIAL_8N1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_NO | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
33+
34+
#define SERIAL_5N2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_5_BIT | US_MR_PAR_NO | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
35+
#define SERIAL_6N2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_6_BIT | US_MR_PAR_NO | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
36+
#define SERIAL_7N2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_7_BIT | US_MR_PAR_NO | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
37+
#define SERIAL_8N2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_NO | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
38+
39+
#define SERIAL_5E1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_5_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
40+
#define SERIAL_6E1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_6_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
41+
#define SERIAL_7E1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_7_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
42+
#define SERIAL_8E1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
43+
44+
#define SERIAL_5E2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_5_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
45+
#define SERIAL_6E2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_6_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
46+
#define SERIAL_7E2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_7_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
47+
#define SERIAL_8E2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_EVEN | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
48+
49+
#define SERIAL_5O1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_5_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
50+
#define SERIAL_6O1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_6_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
51+
#define SERIAL_7O1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_7_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
52+
#define SERIAL_8O1 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_1_BIT | US_MR_CHMODE_NORMAL)
53+
54+
#define SERIAL_5O2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_5_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
55+
#define SERIAL_6O2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_6_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
56+
#define SERIAL_7O2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_7_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
57+
#define SERIAL_8O2 (US_MR_USART_MODE_NORMAL | US_MR_USCLKS_MCK | US_MR_CHRL_8_BIT | US_MR_PAR_ODD | US_MR_NBSTOP_2_BIT | US_MR_CHMODE_NORMAL)
58+
2859
class USARTClass : public HardwareSerial
2960
{
3061
protected:
@@ -39,6 +70,7 @@ class USARTClass : public HardwareSerial
3970
USARTClass( Usart* pUsart, IRQn_Type dwIrq, uint32_t dwId, RingBuffer* pRx_buffer ) ;
4071

4172
void begin( const uint32_t dwBaudRate ) ;
73+
void begin( const uint32_t dwBaudRate , const uint32_t config ) ;
4274
void end( void ) ;
4375
int available( void ) ;
4476
int peek( void ) ;

Diff for: hardware/arduino/sam/platform.txt

+13-5
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,17 @@ compiler.elf2hex.cmd=arm-none-eabi-objcopy
2727
compiler.ldflags=
2828
compiler.size.cmd=arm-none-eabi-size
2929
compiler.define=-DARDUINO=
30+
3031
# this can be overriden in boards.txt
3132
build.extra_flags=
3233

34+
# These can be overridden in platform.local.txt
35+
compiler.c.extra_flags=
36+
compiler.c.elf.extra_flags=
37+
compiler.cpp.extra_flags=
38+
compiler.ar.extra_flags=
39+
compiler.elf2hex.extra_flags=
40+
3341

3442
compiler.libsam.c.flags="-I{build.system.path}/libsam" "-I{build.system.path}/CMSIS/CMSIS/Include/" "-I{build.system.path}/CMSIS/Device/ATMEL/"
3543

@@ -46,22 +54,22 @@ build.usb_manufacturer="Unknown"
4654
# ---------------------
4755

4856
## Compile c files
49-
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
57+
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
5058

5159
## Compile c++ files
52-
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
60+
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
5361

5462
## Create archives
55-
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"
63+
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
5664

5765
## Combine gc-sections, archives, and objects
58-
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group
66+
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mcpu={build.mcu} "-T{build.variant.path}/{build.ldscript}" "-Wl,-Map,{build.path}/{build.project_name}.map" {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" "-L{build.path}" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group "{build.path}/syscalls_sam3.c.o" {object_files} "{build.variant.path}/{build.variant_system_lib}" "{build.path}/{archive_file}" -Wl,--end-group
5967

6068
## Create eeprom
6169
recipe.objcopy.eep.pattern=
6270

6371
## Create hex
64-
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin"
72+
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.bin"
6573

6674
## Compute size
6775
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"

Diff for: libraries/Esplora/keywords.txt

+3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ writeBlue KEYWORD2
2828
readRed KEYWORD2
2929
readGreen KEYWORD2
3030
readBlue KEYWORD2
31+
readTinkerkitInput KEYWORD2
32+
readTinkerkitInputA KEYWORD2
33+
readTinkerkitInputB KEYWORD2
3134
tone KEYWORD2
3235
noTone KEYWORD2
3336

Diff for: libraries/Esplora/src/Esplora.h

+12
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const byte CH_SLIDER = 4;
4040
const byte CH_LIGHT = 5;
4141
const byte CH_TEMPERATURE = 6;
4242
const byte CH_MIC = 7;
43+
const byte CH_TINKERKIT_A = 8;
44+
const byte CH_TINKERKIT_B = 9;
4345
const byte CH_JOYSTICK_SW = 10;
4446
const byte CH_JOYSTICK_X = 11;
4547
const byte CH_JOYSTICK_Y = 12;
@@ -156,6 +158,16 @@ class _Esplora {
156158
void tone(unsigned int freq);
157159
void tone(unsigned int freq, unsigned long duration);
158160
void noTone();
161+
162+
inline unsigned int readTinkerkitInput(byte whichInput) {
163+
return readChannel(whichInput + CH_TINKERKIT_A);
164+
}
165+
inline unsigned int readTinkerkitInputA() {
166+
return readChannel(CH_TINKERKIT_A);
167+
}
168+
inline unsigned int readTinkerkitInputB() {
169+
return readChannel(CH_TINKERKIT_B);
170+
}
159171
};
160172

161173

0 commit comments

Comments
 (0)