suggestion if you are struggling with the STM32 board #morsecodetutor #mct


Doug W
 

It looks like several people are struggling setting up the blue pill type boards.  I have a suggestion for those of you that are losing sleep trying to get your boards working.  I should back up and state that I had no first hand knowledge of these boards prior to W8TEE mentioning in a post he was going to use them for this project.  In one of the earlier messages about this project, Jack mentioned the Maple Mini variety of the STM32 boards.  That got me looking to see why.  There was a very good reason to call out the Maple Mini specifically.  That board was developed by Leaf Labs as one of the first, if not the first, Arduino compatible boards using the STM32.  They built it to be as Arduino user friendly as possible.  Skipping ahead to why that matters, that board has onboard USB and a preloaded bootloader.  You still need to add the board to the Arduino IDE but it is as close to plug and play as there is in a STM32 board.  Unfortunately, Leaf Labs is no more but according to https://wiki.stm32duino.com/index.php?title=Maple_Mini , a good read if this is of interest to you, AliExpress seller Baite sells a good quality clone of the original.  The wiki links to a listing for 5 pieces, here is the link for one board https://www.aliexpress.com/item/leaflabs-Leaf-maple-mini-ARM-STM32-compatibility/1400667476.html  With the cheapest shipping option, in the US you're looking at about $5.  It took 15 calendar days to get to me in EN52.  I didn't time myself but from ripping open the Chinese shipping bag to having the board blink at my command seemed like hardly enough time to hard boil an egg.  If you are comfortable with this sort of thing the blue pill boards give you a ton of power at an unbelievable price.  However if this is a challenge to you, I humbly suggest you spend a few more bucks and order the Maple Mini clone.


Disclaimer
I am far from an expect on this topic.  There is a reasonable chance following my advice will lead to heartbreak and poverty.  If you do what I suggest and you burn your house down or turn your dog into a cat you should probably rethink your life choices and wonder why you took advise from a stranger online.


R M
 

Hi. Thanks for this information. I've played with one then two blue pills. Using the 3 load methods I can load but haven't seen execution. I'll keep trying but I now have some Maples on order. Thanks Ray ae5hn

On Tuesday, June 4, 2019, 9:36:39 AM CDT, Doug W <dougwilner@...> wrote:


It looks like several people are struggling setting up the blue pill type boards.  I have a suggestion for those of you that are losing sleep trying to get your boards working...


Tom, wb6b
 

Hi,

I've had good experiences with these boards. Pretty much plug and play with the STM32Cube toolchain, and the STM "official" Arduino toolchain. Have not tried them with Roger's Arduino STM32 toolchain (at the moment seemingly the most popular Arduino toolchain), but imagine they should work with the ST-Link programming mode. 

A couple of examples are:
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f303k8.html

https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f103rb.html

But I'm coming up to speed with the Blue Pill as well.

Tom, wb6b


David Nelson
 

Trying to compile mtc code and not having any luck I think I have all the libraries 
installed now but the compile goes nowhere and exits out. It does not hilite any
line of code so I have no idea what to do now. Here is what I get:
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
This is getting very tiresome. Happy for any assistance. Dave


jjpurdum
 

This comment appears at the top of my tone.cpp file:

/*
|| @author         Brett Hagman <bhagman@...>
|| @contribution   Fotis Papadopoulos <fpapadopou@...>
|| @url            http://wiring.org.co/
|| @url            http://roguerobotics.com/
||
|| @description
|| | A Software Digital Square Wave Tone Generation Library
|| |
|| | Written by Brett Hagman
|| | http://www.roguerobotics.com/
|| | bhagman@..., bhagman@...
|| |
|| | This is a Wiring Framework (Arduino) library to produce square-wave
|| | tones on an arbitrary pin.
|| |
|| | You can make multiple instances of the Tone object, to create tones on
|| | different pins.
|| |
|| | The number of tones that can be generated at the same time is limited
|| | by the number of hardware timers available on the hardware.
|| | (e.g. ATmega328 has 3 available timers, and the ATmega1280 has 6 timers)
|| |
|| | A simplified (single tone) version of this library has been included
|| | in the Wiring Framework since Wiring 0025 and in the Arduino distribution
|| | since Arduino 0018.
|| |
|| #
||
|| @license Please see the accompanying LICENSE.txt file for this project.
||
|| @name Software PWM Library
|| @type Library
|| @target Atmel AVR 8 Bit
||
|| @version 1.0.0
||
*/

If your looks different, try the one above. Also, does your Wire.cpp file specifically mention the LeafLabs in its header? If not, you're using the wrong Wire library. Mine compiles without error for the same Generic board. I've attached a copy of the code just in case they are different.

Jack, W8TEE

On Tuesday, June 4, 2019, 7:51:45 PM EDT, David Nelson <kc2ipx@...> wrote:


Trying to compile mtc code and not having any luck I think I have all the libraries 
installed now but the compile goes nowhere and exits out. It does not hilite any
line of code so I have no idea what to do now. Here is what I get:
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
This is getting very tiresome. Happy for any assistance. Dave


David Nelson
 

Jack that is the same tone library. My wire lib does not say anything about leaflabs. Where did you get your wire lib? What is it called? Thank you  Dave


jjpurdum
 

That library was included with my install of the STM32 system. I have attached a copy of both Wire and WireSlave.

Jack, W8TEE

On Tuesday, June 4, 2019, 9:14:58 PM EDT, David Nelson <kc2ipx@...> wrote:


Jack that is the same tone library. My wire lib does not say anything about leaflabs. Where did you get your wire lib? What is it called? Thank you  Dave


Tom, wb6b
 
Edited

On Tue, Jun 4, 2019 at 04:51 PM, David Nelson wrote:
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
Hi David,

This may be one of those classic helpful replies I see so often on programming forums: "Well... It compiled for me".

Actually I'll try a little harder than that. 

I compiled Jack's Morse Code Tutor with Roger's Arduino toolchain. (Yes, I caved in and became a complete wimp and installed the toolchain that works with Jack's code, rather than fighting the brave fight to force it to work with another toolchain). (I still may do that as a learning exercise at another time).

First, when I compile the code I get the same message about the Wire/WireSlave libraries, so that may not be an issue.

I did a global search for all the Tone.cpp files I have on my computer. I have one in the /Arduino/hardware/Arduino_STM32/ toolchain directory and another in an /Arduino/hardware/heltec/ESP8266/ toolchain directory. Best I can tell the ESP8266 version is not entering into the picture.

This is the version it looks like is in Roger's package: 
https://github.com/rogerclarkmelbourne/Arduino_STM32/blob/master/STM32F1/cores/maple/tone.cpp

The one thing I noticed in your log file is: "/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error". It looks like you have a "Tone.cpp" file installed there also. I'm not sure, but is is possible that the Arduino toolchain gives preference (via a search path mechanism) to libraries in the generic /Arduino/libraries/ directory?

Maybe uninstalling (or simply removing) the generic (AVR 8 bit) library would be worth a try. 

Hopefully this helps.

Tom, wb6b


TA1LSX
 
Edited

Doug,
I have ordered a few from Wavgat store (experienced on this kind of boards) https://www.aliexpress.com/item/32525208361.html

Your link part number is STM32F103CBT6 and mine is STM32F103C8T6 which is cheaper and has a crystal on it.

Just one letter is different, but which one is legit?


Doug W
 

On Wed, Jun 5, 2019 at 02:42 AM, Snowist wrote:
Doug,
I have ordered a few from Wavgat store (experienced on this kind of boards) https://www.aliexpress.com/item/32525208361.html

Your link part number is STM32F103CBT6 and mine is STM32F103C8T6 which is cheaper and has a crystal on it.

Just one letter is different, but which one is legit?
I think you missed the point of my message.  The board you link to looks to me to be another blue pill board not a Maple Mini clone like the ones I suggested.  It may not be the best choice for someone struggling with getting started.  It does not have a bootloader pre-installed and while I do not know if it matters for this specific project, the board you linked to like many of the cheaper ones, only has 64k of flash versus 128k on the Maple Mini.  You may have found something that will meet your needs, I do not know.  My message was directed at people unfamiliar with this hardware who are getting frustrated trying to figure out something new.  My intention was that by buying the Maple Mini clone they could hopefully get past the part that is keeping them from moving forward.  I am not an expert with this hardware.  I am learning and figuring this out as I go which I am finding very enjoyable.  All I am trying to do is share something I figured out that may be helpful to someone a step or two behind me on the path.


K9HZ
 

Both are legit.  The “CBT6” has more memory than the “C8T6” version… no other differences.  See:  https://www.st.com/en/microcontrollers-microprocessors/stm32f103.html

 

 

Dr. William J. Schmidt - K9HZ J68HZ 8P6HK ZF2HZ PJ4/K9HZ VP5/K9HZ PJ2/K9HZ

 

Owner - Operator

Big Signal Ranch – K9ZC

Staunton, Illinois

 

Owner – Operator

Villa Grand Piton – J68HZ

Soufriere, St. Lucia W.I.

Rent it: www.VillaGrandPiton.com

Like us on Facebook! facebook icon

 

Moderator – North American QRO Group at Groups.IO.

 

email:  bill@...

 

 

From: SoftwareControlledHamRadio@groups.io [mailto:SoftwareControlledHamRadio@groups.io] On Behalf Of Doug W
Sent: Wednesday, June 5, 2019 9:05 AM
To: SoftwareControlledHamRadio@groups.io
Subject: Re: [SoftwareControlledHamRadio] suggestion if you are struggling with the STM32 board #morsecodetutor #mct

 

On Wed, Jun 5, 2019 at 02:42 AM, Snowist wrote:

Doug,
I have ordered a few from Wavgat store (experienced on this kind of boards) https://www.aliexpress.com/item/32525208361.html

Your link part number is STM32F103CBT6 and mine is STM32F103C8T6 which is cheaper and has a crystal on it.

Just one letter is different, but which one is legit?

I think you missed the point of my message.  The board you link to looks to me to be another blue pill board not a Maple Mini clone like the ones I suggested.  It may not be the best choice for someone struggling with getting started.  It does not have a bootloader pre-installed and while I do not know if it matters for this specific project, the board you linked to like many of the cheaper ones, only has 64k of flash versus 128k on the Maple Mini.  You may have found something that will meet your needs, I do not know.  My message was directed at people unfamiliar with this hardware who are getting frustrated trying to figure out something new.  My intention was that by buying the Maple Mini clone they could hopefully get past the part that is keeping them from moving forward.  I am not an expert with this hardware.  I am learning and figuring this out as I go which I am finding very enjoyable.  All I am trying to do is share something I figured out that may be helpful to someone a step or two behind me on the path.


Virus-free. www.avg.com


David Nelson
 

Sorry about the delay in sending this but my internet has been down.

Jack pretty sure I now have the right libs. Try to compile this is what I get:
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Arduino/libraries/Wirexx
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Do not know about the ISR error. I can find it in in the tone.cpp but I have no idea what is
the problem. I must be missing something but I do not know what it is. I am doing this on linux mint 19 if that makes a difference. Thanks  Dave



jjpurdum
 

First, what op system are you running and do you know the maker of your board? Second, what happens if you make this:

#define WIRING

the first line in the MorseTutor.h header file.

Jack, W8TEE

On Wednesday, June 5, 2019, 1:20:53 PM EDT, David Nelson <kc2ipx@...> wrote:


Sorry about the delay in sending this but my internet has been down.

Jack pretty sure I now have the right libs. Try to compile this is what I get:
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Arduino/libraries/Wirexx
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Do not know about the ISR error. I can find it in in the tone.cpp but I have no idea what is
the problem. I must be missing something but I do not know what it is. I am doing this on linux mint 19 if that makes a difference. Thanks  Dave



David Nelson
 

Jack when I add #define WIRING to morsetutor.h I get exactly the same errors. My os is linux mint 19. The board is standard blue pill from ebay. No idea who made it. Works fine 
with blink sketch.
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Arduino/libraries/Wirexx
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


jjpurdum
 

David:

Adding the #define would have been a bad hack anyway! I do not have a Linux system, so that's a problem. It clearly seems to be an issue with the Tone and/or Wire libraries. Perhaps someone else running Linux has some ideas??

Jack, W8TEE

On Wednesday, June 5, 2019, 4:18:19 PM EDT, David Nelson <kc2ipx@...> wrote:


Jack when I add #define WIRING to morsetutor.h I get exactly the same errors. My os is linux mint 19. The board is standard blue pill from ebay. No idea who made it. Works fine 
with blink sketch.
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Arduino/libraries/Wirexx
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


N7PH
 

I am rather new to programming and I am seeing references to "toolchain" in some posts lately.
What is a 'toolchain' and how is it used? We newbie programmers would like to know... maybe.

PJ, N7PH


eyelessmisfit <eyelessmisfit@...>
 

It's an old timey way to do programming. Without an IDE, you need to write a program, (c,c++, fortran?), and use a developers compiler and library linker to 'make', an executable. to load to your memory chip.
May need to read the instructions!
73's
Ron W0QVJ

-------- Original message --------
From: N7PH <hickspj467@...>
Date: 6/5/19 3:21 PM (GMT-07:00)
To: SoftwareControlledHamRadio@groups.io
Subject: Re: [SoftwareControlledHamRadio] suggestion if you are struggling with the STM32 board #morsecodetutor #mct

I am rather new to programming and I am seeing references to "toolchain" in some posts lately.
What is a 'toolchain' and how is it used? We newbie programmers would like to know... maybe.

PJ, N7PH


Art N4EZZ
 

I am running Ubuntu 18.04 Arduino IDE 1.8.8, getting errors but not the
same errors.

In file included from /tmp/arduino_build_833407/sketch/Config.cpp:2:0:
/tmp/arduino_build_833407/sketch/Config.cpp: In function 'void
SetKeyerSpeed()':
MorseTutor.h:55:26: error: 'PB15' was not declared in this scope
#define ENCODERSWITCH1 PB15 //Encoder1

Have not discovered the magic combination. Pretty sure it is trying to
use the wrong library somewhere but unsure of where just yet. Since I
don't have a STM32 board in hand I'll just keep plugging along till I
figure it out.

Art N4EZZ <n4ezz@...>
GnuPG key ID 0x6712DD0E
=============================
The whole of science is nothing more than a refinement of
everyday thinking.
Albert Einstein Physics and Reality (1936)

On 6/5/19 2:44 PM, jjpurdum via Groups.Io wrote:
David:
Adding the #define would have been a bad hack anyway! I do not have a Linux system, so that's a problem. It clearly seems to be an issue with the Tone and/or Wire libraries. Perhaps someone else running Linux has some ideas??
Jack, W8TEE

On Wednesday, June 5, 2019, 4:18:19 PM EDT, David Nelson <kc2ipx@...> wrote:

Jack when I add #define WIRING to morsetutor.h I get exactly the same errors. My os is linux mint 19. The board is standard blue pill from ebay. No idea who made it. Works fine with blink sketch.Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Arduino/libraries/Wirexx
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.






William Kimber
 

Hi,


If it claims that tone is for AVR rather than STM32 two possible causes I see.


For some reason unknown the tone library in the STM32 directory has been replaced with the AVR version.  Try  downloading again, maybe rename the original file first so you can see if there is a difference.


The compiler is still looking in wrong place/order.  Try renaming the AVR and any other versions there might be except the STM32 version.


Cheers,

Will

ZL1TAO

On 6/06/19 8:44 AM, jjpurdum via Groups.Io wrote:
David:

Adding the #define would have been a bad hack anyway! I do not have a Linux system, so that's a problem. It clearly seems to be an issue with the Tone and/or Wire libraries. Perhaps someone else running Linux has some ideas??

Jack, W8TEE

On Wednesday, June 5, 2019, 4:18:19 PM EDT, David Nelson <kc2ipx@...> wrote:


Jack when I add #define WIRING to morsetutor.h I get exactly the same errors. My os is linux mint 19. The board is standard blue pill from ebay. No idea who made it. Works fine 
with blink sketch.
Arduino: 1.8.9 (Linux), Board: "Generic STM32F103C series, STM32F103C8 (20k RAM. 64k Flash), STLink, 72Mhz (Normal), Smallest (default)"

WARNING: library Tone claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (STM32F1) architecture(s).
/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error: expected constructor, destructor, or type conversion before '(' token
 ISR(TIMER0_COMPA_vect)
    ^
Multiple libraries were found for "Wire.h"
 Used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /home/david/Arduino/libraries/Wirexx
 Not used: /home/david/Documents/arduino/arduino-1.8.9/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
exit status 1
Error compiling for board Generic STM32F103C series.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


Tom, wb6b
 

On Wed, Jun 5, 2019 at 03:28 PM, William Kimber wrote:
The compiler is still looking in wrong place/order.  Try renaming the AVR and any other versions there might be except the STM32 version.
Yes, See my previous message:

---- Cut ----
The one thing I noticed in your log file is: "/home/david/Arduino/libraries/Tone/Tone.cpp:126:4: error". It looks like you have a "Tone.cpp" file installed there also. I'm not sure, but is is possible that the Arduino toolchain gives preference (via a search path mechanism) to libraries in the generic /Arduino/libraries/ directory?

Maybe uninstalling (or simply removing) the generic (AVR 8 bit) library would be worth a try. 
---- Cut ----

The one at: 
/home/david/Arduino/libraries/Tone/Tone.cpp

Tom, wb6b