VS1053 port for for MKR1000?

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
jazzij
 
Posts: 3
Joined: Wed Jan 15, 2014 7:58 pm

VS1053 port for for MKR1000?

Post by jazzij »

Hello all,
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.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: VS1053 port for for MKR1000?

Post by adafruit_support_rick »

That library hasn't been ported to the MKR. Looks like it will be kind of complicated. I can put it on the to-do list. No ETA.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: VS1053 port for for MKR1000?

Post by adafruit_support_rick »

Don't have an MKR yet, but I ported it t the M0. Should work on the MKR, I think?
Library version 1.0.1

User avatar
jazzij
 
Posts: 3
Joined: Wed Jan 15, 2014 7:58 pm

Re: VS1053 port for for MKR1000?

Post by jazzij »

That fixed it! Works like a charm. Thanks for the nice handiwork, Rick :)

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: VS1053 port for for MKR1000?

Post by adafruit_support_rick »

cool

User avatar
fatman1
 
Posts: 12
Joined: Fri Aug 03, 2018 3:33 am

Re: VS1053 port for for MKR1000?

Post by fatman1 »

Hi, in my arduino IDE the library version of VS1053 1.0.1 is not available, can you please tell me where I can get it from?

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”