I am trying to use the VS1053 Breakout board (Adafruit VS1053 (VS1053 Codec + MicroSD Breakout - MP3/WAV/MIDI/OGG Play + Record - v4) with the MKR1000. However when compiling the "simple audio player" example code included in the library, I get compilation errors (see below). They seem similar to errors that people have gotten when using newer boards, so I am wondering if there is a fix available for the MKR1000.
Has anyone else experienced these errors? Is it possible to fix them?
Thanks in advance.
The errors:
Code: Select all
Arduino: 1.6.10 (Mac OS X), Board: "Arduino/Genuino MKR1000"
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In member function 'void Adafruit_VS1053_FilePlayer::feedBuffer()':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:235:14: error: 'SREG' was not declared in this scope
sregsave = SREG;
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:236:7: error: 'cli' was not declared in this scope
cli();
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In constructor 'Adafruit_VS1053::Adafruit_VS1053(int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t)':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:297:14: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
clkportreg = portOutputRegister(digitalPinToPort(_clk));
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:299:15: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
misoportreg = portInputRegister(digitalPinToPort(_miso));
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:301:15: error: cannot convert 'volatile uint32_t* {aka volatile long unsigned int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in assignment
mosiportreg = portOutputRegister(digitalPinToPort(_mosi));
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In member function 'void Adafruit_VS1053::setVolume(uint8_t, uint8_t)':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:431:7: error: 'cli' was not declared in this scope
cli();
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:433:7: error: 'sei' was not declared in this scope
sei();
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In member function 'uint16_t Adafruit_VS1053::decodeTime()':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:437:7: error: 'cli' was not declared in this scope
cli();
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:439:7: error: 'sei' was not declared in this scope
sei();
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In member function 'void Adafruit_VS1053::GPIO_pinMode(uint8_t, uint8_t)':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:567:18: error: '_BV' was not declared in this scope
ddr &= ~_BV(i);
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:569:17: error: '_BV' was not declared in this scope
ddr |= _BV(i);
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In member function 'void Adafruit_VS1053::GPIO_digitalWrite(uint8_t, uint8_t)':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:588:19: error: '_BV' was not declared in this scope
pins &= ~_BV(i);
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:590:18: error: '_BV' was not declared in this scope
pins |= _BV(i);
^
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp: In member function 'boolean Adafruit_VS1053::GPIO_digitalRead(uint8_t)':
~/Documents/Arduino/libraries/Adafruit_VS1053_Library/Adafruit_VS1053.cpp:606:18: error: '_BV' was not declared in this scope
if (val & _BV(i)) return true;
^
Using library SPI at version 1.0 in folder: ~/Library/Arduino15/packages/arduino/hardware/samd/1.6.6/libraries/SPI
Using library Adafruit_VS1053_Library at version 1.0.0 in folder: ~/Documents/Arduino/libraries/Adafruit_VS1053_Library
Using library SD at version 1.0.8 in folder: /Applications/Arduino.app/Contents/Java/libraries/SD
exit status 1
Error compiling for board Arduino/Genuino MKR1000.