#include <Arduino.h>
#include <hellodrum.h>
#include <Adafruit_TinyUSB.h>
#include <MIDI.h>
// USB MIDI object
Adafruit_USBD_MIDI usb_midi;
// Create a new instance of the Arduino MIDI Library,
// and attach usb_midi as the transport.
MIDI_CREATE_INSTANCE(Adafruit_USBD_MIDI, usb_midi, MIDI);
// Please name your piezo.
// The piezo named snare is connected to the GPIO25 pin
HelloDrum snare(25);
// Setting
byte SNARE[6] = {
80, // sensitivity
10, // threshold
20, // scantime
20, // masktime
38, // note
1 // curve type
};
void handleNoteOn(byte channel, byte pitch, byte velocity)
{
// Log when a note is pressed.
Serial.print("Note on: channel = ");
Serial.print(channel);
Serial.print(" pitch = ");
Serial.print(pitch);
Serial.print(" velocity = ");
Serial.println(velocity);
}
void handleNoteOff(byte channel, byte pitch, byte velocity)
{
// Log when a note is released.
Serial.print("Note off: channel = ");
Serial.print(channel);
Serial.print(" pitch = ");
Serial.print(pitch);
Serial.print(" velocity = ");
Serial.println(velocity);
}
void setup()
{
#if defined(ARDUINO_ARCH_MBED) && defined(ARDUINO_ARCH_RP2040)
// Manual begin() is required on core without built-in support for TinyUSB such as mbed rp2040
TinyUSB_Device_Init(0);
#endif
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
// Initialize MIDI, and listen to all MIDI channels
// This will also call usb_midi's begin()
MIDI.begin(10);
// Attach the handleNoteOn function to the MIDI Library. It will
// be called whenever the Bluefruit receives MIDI Note On messages.
MIDI.setHandleNoteOn(handleNoteOn);
// Do the same for MIDI Note Off messages.
MIDI.setHandleNoteOff(handleNoteOff);
Serial.begin(115200);
// wait until device mounted
while (!TinyUSBDevice.mounted())
delay(1);
snare.setCurve(SNARE[5]); // Set velocity curve
}
void loop()
{
// Sensing
snare.singlePiezo(SNARE[0], SNARE[1], SNARE[2], SNARE[3]); //(sensitivity, threshold, scantime, masktime)
// Sending MIDI signals
if (snare.hit == true)
{
MIDI.sendNoteOn(SNARE[4], snare.velocity, 10); //(note, velocity, channel)
MIDI.sendNoteOff(SNARE[4], 0, 10);
}
MIDI.read();
}
Build Log
> Executing task: platformio run --environment nanorp2040connect <
Processing nanorp2040connect (platform: raspberrypi; board: nanorp2040connect; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/raspberrypi/nanorp2040connect.html
PLATFORM: Raspberry Pi RP2040 (1.7.0) > Arduino Nano RP2040 Connect
HARDWARE: RP2040 133MHz, 264KB RAM, 2MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, jlink, raspberrypi-swd)
PACKAGES:
- framework-arduino-mbed @ 3.1.1
- tool-rp2040tools @ 1.0.2
- toolchain-gccarmnoneeabi @ 1.90201.191206 (9.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 62 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Hello Drum @ 0.7.7
|-- Adafruit TinyUSB Library @ 1.10.3
|-- MIDI Library @ 5.0.2
Building in release mode
Compiling .pio/build/nanorp2040connect/src/main.cpp.o
Generating LD script .pio/build/nanorp2040connect/cpp.linker_script.ld
Compiling .pio/build/nanorp2040connect/libb97/Hello Drum/EEPROM_ESP.cpp.o
Compiling .pio/build/nanorp2040connect/libb97/Hello Drum/hellodrum.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/Adafruit_TinyUSB_API.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/Adafruit_USBD_CDC.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/Adafruit_USBD_Device.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/hid/Adafruit_USBD_HID.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/midi/Adafruit_USBD_MIDI.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/msc/Adafruit_USBD_MSC.cpp.o
Compiling .pio/build/nanorp2040connect/lib5ef/Adafruit TinyUSB Library/arduino/ports/esp32/Adafruit_TinyUSB_esp32.cpp.o
In file included from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_time/include/pico/time.h:10,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal_pico.h:30,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal.h:54,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/tusb.h:38,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_USBD_Device.h:29,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/Adafruit_TinyUSB.h:39,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_TinyUSB_API.cpp:30:
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
66 | return timer_hw->timerawl;
| ^~~~~~~~
In file included from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_time/include/pico/time.h:10,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal_pico.h:30,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal.h:54,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/tusb.h:38,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_USBD_Device.h:29,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/hid/Adafruit_USBD_HID.h:28,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/hid/Adafruit_USBD_HID.cpp:29:
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
66 | return timer_hw->timerawl;
| ^~~~~~~~
In file included from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_time/include/pico/time.h:10,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal_pico.h:30,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal.h:54,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/tusb.h:38,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_USBD_Device.h:29,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/msc/Adafruit_USBD_MSC.h:28,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/msc/Adafruit_USBD_MSC.cpp:29:
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
66 | return timer_hw->timerawl;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
110 | uint32_t hi = timer_hw->timerawh;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
110 | uint32_t hi = timer_hw->timerawh;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
111 | return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
111 | return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
110 | uint32_t hi = timer_hw->timerawh;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
111 | return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
| ^~~~~~~~
In file included from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_time/include/pico/time.h:10,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal_pico.h:30,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal.h:54,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/tusb.h:38,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_USBD_Device.h:29,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/midi/Adafruit_USBD_MIDI.h:29,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/midi/Adafruit_USBD_MIDI.cpp:29:
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
66 | return timer_hw->timerawl;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
110 | uint32_t hi = timer_hw->timerawh;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
111 | return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
| ^~~~~~~~
In file included from .pio/libdeps/nanorp2040connect/Hello Drum/src/hellodrum.h:18,
from .pio/libdeps/nanorp2040connect/Hello Drum/src/hellodrum.cpp:13:
.pio/libdeps/nanorp2040connect/Hello Drum/src/EEPROM.h:25:10: fatal error: avr/eeprom.h: No such file or directory
25 | #include <avr/eeprom.h>
| ^~~~~~~~~~~~~~
compilation terminated.
In file included from .pio/libdeps/nanorp2040connect/Hello Drum/src/hellodrum.h:18,
from src/main.cpp:2:
.pio/libdeps/nanorp2040connect/Hello Drum/src/EEPROM.h:25:10: fatal error: avr/eeprom.h: No such file or directory
25 | #include <avr/eeprom.h>
| ^~~~~~~~~~~~~~
compilation terminated.
*** [.pio/build/nanorp2040connect/libb97/Hello Drum/hellodrum.cpp.o] Error 1
*** [.pio/build/nanorp2040connect/src/main.cpp.o] Error 1
In file included from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/platform_defs.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/pico_platform/include/pico/platform.h:12,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_base/include/pico.h:19,
from /Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/common/pico_time/include/pico/time.h:10,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal_pico.h:30,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/osal/osal.h:54,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/tusb.h:38,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_USBD_Device.h:29,
from .pio/libdeps/nanorp2040connect/Adafruit TinyUSB Library/src/arduino/Adafruit_USBD_Device.cpp:32:
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'uint32_t time_us_32()':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:66:12: note: in expansion of macro 'timer_hw'
66 | return timer_hw->timerawl;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h: In function 'bool time_reached(absolute_time_t)':
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:110:19: note: in expansion of macro 'timer_hw'
110 | uint32_t hi = timer_hw->timerawh;
| ^~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_regs/include/hardware/regs/addressmap.h:56:20: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
56 | #define TIMER_BASE 0x40054000
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2040/hardware_structs/include/hardware/structs/timer.h:33:38: note: in expansion of macro 'TIMER_BASE'
33 | #define timer_hw ((timer_hw_t *const)TIMER_BASE)
| ^~~~~~~~~~
/Users/afiedler/.platformio/packages/framework-arduino-mbed/cores/arduino/mbed/targets/TARGET_RASPBERRYPI/TARGET_RP2040/pico-sdk/rp2_common/hardware_timer/include/hardware/timer.h:111:33: note: in expansion of macro 'timer_hw'
111 | return (hi >= hi_target && (timer_hw->timerawl >= (uint32_t) target || hi != hi_target));
| ^~~~~~~~
==================================================================================================== [FAILED] Took 1.98 seconds ====================================================================================================
Der Terminalprozess "platformio 'run', '--environment', 'nanorp2040connect'" wurde mit folgendem Exitcode beendet: 1.
Das Terminal wird von Aufgaben wiederverwendet, drücken Sie zum Schließen eine beliebige Taste.
platform.io file
main.cpp file
Build Log