Date   

Re: announcing v1.0

John KM7O
 

I will load this up after my coffee. Working 6m FT8 now.
John


On Wed, Apr 21, 2021 at 6:33 AM Barry K7BWH <griduino@...> wrote:

Hi all, new Griduino software v1.0 is available on GitHub in the downloads folder of https://github.com/barry-ha/Griduino. You can read the change log here. So, what’s new this time?

 

Voice announcements: The device has an option to speak grid names instead of using Morse code. Now you can hear grids announced in military alphabet phonetics. The recordings are my own voice; you can replace them with more amusing phonetics if you like! Anyone have a good Pirate accent? This could be fun.

Graphical user interface, application

Description automatically generated

 

Audio files: Using speech requires downloading a folder of audio recordings and it takes a few extra steps, so read the PROGRAMMING.md instructions carefully. It involves switching the Feather M4 Express into CircuitPython mode so that Windows can access the Flash memory chip. In this mode, the extra Flash becomes an regular external USB-attached storage device, where we can drag-and-drop folders, rename and edit files, and so forth.

You only need to download the audio folder one time.

Developing the audio recording, playback, and file storage was a rabbit hole of its own. You can read the process I worked out in my other GitHub audio project at barry-ha/Audio_QSPI. My original Audacity 3 project files are stored there as well for instructional purposes.

 

Settings: A minor change was to rearrange the order of settings. I wanted to improve usability by grouping the audio options together into the first three views.

  1. Speaker: volume
  2. Audio type: morse code, spoken word, none
  3. Announcements: 4-digit, 6-digit crossings
  4. GPS: receiver, simulator, clear trail
  5. Units: English, metric
  6. Screen rotation

 

Version 1.0: Now that Griduino has gotten all the major features I originally intended, I bumped up the version number to v1.0 to celebrate the milestone. It’s not the end! I have more ideas about new features and improvements.

I’d love to hear from you about how it’s working and what you’d like to see.

 

Barry Hansen K7BWH
barry@...
Seattle, WA  CN87us


 

 


announcing v1.0

Barry K7BWH
 

Hi all, new Griduino software v1.0 is available on GitHub in the downloads folder of https://github.com/barry-ha/Griduino. You can read the change log here. So, what’s new this time?

 

Voice announcements: The device has an option to speak grid names instead of using Morse code. Now you can hear grids announced in military alphabet phonetics. The recordings are my own voice; you can replace them with more amusing phonetics if you like! Anyone have a good Pirate accent? This could be fun.

Graphical user interface, application

Description automatically generated

 

Audio files: Using speech requires downloading a folder of audio recordings and it takes a few extra steps, so read the PROGRAMMING.md instructions carefully. It involves switching the Feather M4 Express into CircuitPython mode so that Windows can access the Flash memory chip. In this mode, the extra Flash becomes an regular external USB-attached storage device, where we can drag-and-drop folders, rename and edit files, and so forth.

You only need to download the audio folder one time.

Developing the audio recording, playback, and file storage was a rabbit hole of its own. You can read the process I worked out in my other GitHub audio project at barry-ha/Audio_QSPI. My original Audacity 3 project files are stored there as well for instructional purposes.

 

Settings: A minor change was to rearrange the order of settings. I wanted to improve usability by grouping the audio options together into the first three views.

  1. Speaker: volume
  2. Audio type: morse code, spoken word, none
  3. Announcements: 4-digit, 6-digit crossings
  4. GPS: receiver, simulator, clear trail
  5. Units: English, metric
  6. Screen rotation

 

Version 1.0: Now that Griduino has gotten all the major features I originally intended, I bumped up the version number to v1.0 to celebrate the milestone. It’s not the end! I have more ideas about new features and improvements.

I’d love to hear from you about how it’s working and what you’d like to see.

 

Barry Hansen K7BWH
barry@...
Seattle, WA  CN87us


 

 


Griduino Elevation

Ed N7PHY
 

Report from the field:
During an off-road adventure last I week I realized my favorite Griduino screen is the elevation view. Though I have at least 3 devices in the vehicle which can give me GPS elevation, the Griduino view is large and bright enough for me to see without taking my eyes off the road for more than a second. The Sync button is appreciated as well. I primarily rely on the GPS reporting of elevation but every once in awhile the sky is blocked by trees and rock. 

Looking forward to testing revision 1.0!

73,
Ed N7PHY





how many sold?

Barry Hansen
 

I sold a new Griduino to a fellow in Oklahoma today and he asked an interesting question. I thought I’d share the answer:

Q: How many have you sold so far?

A: Today I shipped s/n 0032. Which means I’ve built 32 complete units starting with #1 first rats nest bread board prototype. The first six units included some PCBs with design flaws that didn’t work and were scrapped. I keep four units on my desk for testing (and to watch the 3-day barometer graph, lol) and my cohort John KM7O owns a couple units. John and I started prototyping this in November 2019 so that makes it about 17 months into this endeavor.

Anyway, I’ve had paying customers for 17 units and we have 27 subscribers to this email list.

I’ve got the trademark, the website, and I’m working on a QST article.

Good times,

73 Barry K7BWH

PS – When you power up your Griduino, cycle through the screens: one of them is a countdown to the June VHF contest. At the moment, 54 days remaining.


product reviews

Barry K7BWH
 

Hi folks, do you like Griduino? There’s a new “product review” section on eHam.net:

              https://www.eham.net/reviews/view-product?id=14966

 

I’d be grateful if you add your honest opinion on there, thanks! It’d be a big help.

 

Barry Hansen K7BWH
barry@...
Seattle, WA  CN87us


 

 

 

 


voice announcements

Barry Hansen
 

In the wild: Ed N7PHY took his Griduino up into the Cascade Mtns out past Darrington last weekend. You can see where he took a switchback for a few miles as he started going up a ridge. For a sense of scale, the grid E-W is 93 miles at this latitude and N-S is always 69.1 miles. The screen resolution is:

  • 1 pixel E-W movement = 0.52 miles
  • 1 pixel N-S movement = 0.43 miles

 

A picture containing diagram

Description automatically generated

 

Voice announcements: I’m working on spoken-word announcements for grid line crossing. This turned into quite a challenge to iron out all the steps of creating a sound bite in a compatible format, storing WAV files in QSPI Flash memory, writing code to decode WAV file headers, and playing audio via the built-in DAC. The information is available if you look long enough on the web, but it's spread among many authors or tantalizingly inapplicable. For example, there’s a highly polished Audio library by Paul Stoffrengen but it only works on the Teensy and not the Feather M4.

Having started down the audio playback rabbit hole, I ended up writing my own open-source Arduino library on GitHub and giving it to the world: barry-ha/Audio_QSPI  Of this, the most useful part just might well be a lengthy README file that documents the whole process in one place. An example program is working well for 16 KHz PCM, so now I can start integrating this feature into Griduino.

 

A picture containing text, monitor, screen, television

Description automatically generated

Stay gridly,

Barry Hansen K7BWH
Seattle, WA  CN87us


blue square and scribble lines

Barry Hansen
 

Q: “What is making the light blue squiggly lines? There’s a little square box as well. Reminds me tracking on my old school Garmin. If you think its coming from the truck, I can put ferrite on the hot lead.”

A: The squiggles are coming from your truck, but not the way you think. They are a design feature that shows your actual traveled route as a breadcrumb trail. Paper maps tend to straighten roads, making them easier to read at a glance but losing detail. Garmin screens are constantly changing scale for great detail, but lose a sense of time-to-next-target. Griduino always stays at the same display scale and always shows good detail.

As a rover, I’ve always wanted to see my driving history in a consistent scale size for a better sense of “time to grid line” and “how the heck did I get here”. And there it is. The blue square is your current position.

A settings page can clear the trail at the start of a new expedition. Or you can let an old track expire naturally; the breadcrumb trail uses a buffer with enough room for 2-3 grids worth of travel history.

Cool, eh? Enjoy!

Barry K7BWH

Seattle, WA  CN87us

 

 

 

 


Re: KB7ME Griduino

Barry K7BWH
 

Mike, great! I’m sure glad to hear it.
Oh jeez, I never even thought of an on/off switch until you mentioned it just now.
Happy roving!
Barry K7BWH

On Mar 9, 2021, at 7:43 PM, Michael Coogan <mikegc5491@gmail.com> wrote:

Hi Barry

I like it. Really like it. Took all of couple minutes to figure out parameters with the intuitive settings.

Nice and bright, love the CW id.
Powered by truck battery via cigarette plug. Added a in line on/off switch.

Did I tell you I really like it!!
Thanks
Mike KB7ME


mounting orientation

Barry K7BWH
 

Hi all, and welcome to a few recent subscribers.

One person asked:

Orientation: Received my Griduino today, thanks. Should I mount it with hole in case down?

A: You can mount it in landscape mode in either direction. Use whichever orientation helps keep the wires out of the way. A configuration option (settings screen 5) will rotate the screen 180 degrees if you need it. I went with a quirky interface for this feature:

Graphical user interface, application

Description automatically generated

 

Barometer: Another person asked about the scaling in the barometer’s graph. Please note the graph will auto-scale to show large changes and blow up small pressure variations so they both fill the screen vertically. So don’t expect a major storm when the pressure drops a tiny amount even though it looks large. The auto-scaling was designed so we could show something sensible while driving over a mountain range that causes large pressure swings, and still be able to show weather details while parked by your workstation at home. Opinions are welcomed.

 

Version: Latest stable release is version 0.35 on GitHub.

 

Cheers,

Barry Hansen K7BWH
barry@...
Seattle, WA  CN87us

 

 

 


Re: Errors using the IDE for Arduino

Barry Hansen
 

That’s great news, Dave, thanks.

I’ll add a few tips to the programming instructions to help the next guy avoid some potholes.

Have fun with the source code – I know I sure did.

Barry K7BWH

 

From: Griduino@groups.io <Griduino@groups.io> On Behalf Of Dave Glenn
Sent: Sunday, February 28, 2021 11:53 AM
To: Griduino@groups.io
Subject: Re: [Griduino] Errors using the IDE for Arduino

 

Success!  Thanks for all the help.. I just finished uploading to the feather and all looks good. 
Very cool product. 
Thanks again, 73 Dave N6TEB


Re: Errors using the IDE for Arduino

Dave Glenn
 

Success!  Thanks for all the help.. I just finished uploading to the feather and all looks good. 
Very cool product. 
Thanks again, 73 Dave N6TEB


Re: Errors using the IDE for Arduino

Barry Hansen
 

Ah, progress. And forward progress at that!

Dave, fetch a new copy of model_baro.h from GitHub and replace the existing file. Something happened to your local copy.

The master copy does not have ‘R’ in line 102, and in fact your line 102 corresponds to the master copy’s line 104.

The ripple effect of a syntax error on 102 causes the mismatched brace message on line 148.

Best regards,

Barry Hansen K7BWH

 

From: Griduino@groups.io <Griduino@groups.io> On Behalf Of Dave Glenn
Sent: Saturday, February 27, 2021 12:33 PM
To: Griduino@groups.io
Subject: Re: [Griduino] Errors using the IDE for Arduino

 

Hi Barry,
Getting  closer, made all the changes you suggested in email. Down to fewer errors. 
Here is the Verbose listing starting at the first error encountered. 

"C:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\arm-none-eabi-gcc\\9-2019q4/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD "-D__SKETCH_NAME__=\"\"\"Griduino.ino\"\"\"" -DF_CPU=120000000L -DARDUINO=10813 -DARDUINO_FEATHER_M4 -DARDUINO_ARCH_SAMD -D__SAMD51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -D__SAMD51__ -DUSB_VID=0x239A -DUSB_PID=0x8022 -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Adafruit LLC\"" "-DUSB_PRODUCT=\"Adafruit Feather M4\"" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DENABLE_CACHE -Os -DVARIANT_QSPI_BAUD_DEFAULT=50000000 -D__SAMD51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -D__SAMD51__ -DUSB_VID=0x239A -DUSB_PID=0x8022 -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Adafruit LLC\"" "-DUSB_PRODUCT=\"Adafruit Feather M4\"" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\CMSIS\\5.4.0/CMSIS/Core/Include/" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\CMSIS\\5.4.0/CMSIS/DSP/Include/" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\CMSIS-Atmel\\1.2.0/CMSIS/Device/ATMEL/" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\variants\\feather_m4" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_ILI9341" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\libraries\\SPI" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\libraries\\Adafruit_ZeroDMA" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_TouchScreen" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_GPS_Library\\src" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\libraries\\Wire" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\DS1804\\src" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Time-master" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_BMP3XX_Library" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_BusIO" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\SdFat_-_Adafruit_Fork\\src" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_SPIFlash\\src" "C:\\Users\\Ham\\AppData\\Local\\Temp\\arduino_build_880890\\sketch\\unit_test.cpp" -o "C:\\Users\\Ham\\AppData\\Local\\Temp\\arduino_build_880890\\sketch\\unit_test.cpp.o"

In file included from C:\Users\Ham\AppData\Local\Temp\arduino_build_880890\sketch\view_altimeter.h:36,

                 from C:\Users\Ham\Documents\Arduino\Griduino\Griduino.ino:83:

C:\Users\Ham\AppData\Local\Temp\arduino_build_880890\sketch\model_baro.h: In member function 'int BarometerModel::begin()':

model_baro.h:102:1: error: 'R' was not declared in this scope

  102 | R      if (baro->begin_SPI(bmp_cs)) {

      | ^

model_baro.h:148:9: error: 'else' without a previous 'if'

  148 |       } else {

      |         ^~~~

Using library Adafruit_ILI9341 at version 1.5.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_ILI9341 

Using library Adafruit_GFX_Library at version 1.10.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_GFX_Library 

Using library SPI at version 1.0 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\SPI 

Using library Adafruit_ZeroDMA at version 1.0.4 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\Adafruit_ZeroDMA 

Using library Adafruit_TouchScreen at version 1.1.1 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_TouchScreen 

Using library Adafruit_GPS_Library at version 1.5.4 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_GPS_Library 

Using library Wire at version 1.0 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\Wire 

Using library Adafruit_NeoPixel at version 1.7.0 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_NeoPixel 

Using library DS1804 at version 0.1.1 in folder: C:\Users\Ham\Documents\Arduino\libraries\DS1804 

Using library Time-master at version 1.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Time-master 

Using library Adafruit_BMP3XX_Library at version 2.0.2 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_BMP3XX_Library 

Using library Adafruit_BusIO at version 1.7.2 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_BusIO 

Using library SdFat_-_Adafruit_Fork at version 1.2.3 in folder: C:\Users\Ham\Documents\Arduino\libraries\SdFat_-_Adafruit_Fork 

Using library Adafruit_SPIFlash at version 3.4.0 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash 

exit status 1

'R' was not declared in this scope

 

 


Re: Errors using the IDE for Arduino

Dave Glenn
 

Hi Barry,
Getting  closer, made all the changes you suggested in email. Down to fewer errors. 
Here is the Verbose listing starting at the first error encountered. 

"C:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\arm-none-eabi-gcc\\9-2019q4/bin/arm-none-eabi-g++" -mcpu=cortex-m4 -mthumb -c -g -Os -w -std=gnu++11 -ffunction-sections -fdata-sections -fno-threadsafe-statics -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -MMD "-D__SKETCH_NAME__=\"\"\"Griduino.ino\"\"\"" -DF_CPU=120000000L -DARDUINO=10813 -DARDUINO_FEATHER_M4 -DARDUINO_ARCH_SAMD -D__SAMD51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -D__SAMD51__ -DUSB_VID=0x239A -DUSB_PID=0x8022 -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Adafruit LLC\"" "-DUSB_PRODUCT=\"Adafruit Feather M4\"" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -DENABLE_CACHE -Os -DVARIANT_QSPI_BAUD_DEFAULT=50000000 -D__SAMD51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -D__SAMD51__ -DUSB_VID=0x239A -DUSB_PID=0x8022 -DUSBCON -DUSB_CONFIG_POWER=100 "-DUSB_MANUFACTURER=\"Adafruit LLC\"" "-DUSB_PRODUCT=\"Adafruit Feather M4\"" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino/TinyUSB/Adafruit_TinyUSB_ArduinoCore/tinyusb/src" -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\CMSIS\\5.4.0/CMSIS/Core/Include/" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\tools\\CMSIS\\5.4.0/CMSIS/DSP/Include/" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\CMSIS-Atmel\\1.2.0/CMSIS/Device/ATMEL/" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\cores\\arduino" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\variants\\feather_m4" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_ILI9341" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_GFX_Library" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\libraries\\SPI" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\libraries\\Adafruit_ZeroDMA" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_TouchScreen" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_GPS_Library\\src" "-IC:\\Users\\Ham\\AppData\\Local\\Arduino15\\packages\\adafruit\\hardware\\samd\\1.6.5\\libraries\\Wire" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_NeoPixel" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\DS1804\\src" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Time-master" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_BMP3XX_Library" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_BusIO" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\SdFat_-_Adafruit_Fork\\src" "-IC:\\Users\\Ham\\Documents\\Arduino\\libraries\\Adafruit_SPIFlash\\src" "C:\\Users\\Ham\\AppData\\Local\\Temp\\arduino_build_880890\\sketch\\unit_test.cpp" -o "C:\\Users\\Ham\\AppData\\Local\\Temp\\arduino_build_880890\\sketch\\unit_test.cpp.o"
In file included from C:\Users\Ham\AppData\Local\Temp\arduino_build_880890\sketch\view_altimeter.h:36,
                 from C:\Users\Ham\Documents\Arduino\Griduino\Griduino.ino:83:
C:\Users\Ham\AppData\Local\Temp\arduino_build_880890\sketch\model_baro.h: In member function 'int BarometerModel::begin()':
model_baro.h:102:1: error: 'R' was not declared in this scope
  102 | R      if (baro->begin_SPI(bmp_cs)) {
      | ^
model_baro.h:148:9: error: 'else' without a previous 'if'
  148 |       } else {
      |         ^~~~
Using library Adafruit_ILI9341 at version 1.5.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_ILI9341 
Using library Adafruit_GFX_Library at version 1.10.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_GFX_Library 
Using library SPI at version 1.0 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\SPI 
Using library Adafruit_ZeroDMA at version 1.0.4 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\Adafruit_ZeroDMA 
Using library Adafruit_TouchScreen at version 1.1.1 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_TouchScreen 
Using library Adafruit_GPS_Library at version 1.5.4 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_GPS_Library 
Using library Wire at version 1.0 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\Wire 
Using library Adafruit_NeoPixel at version 1.7.0 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_NeoPixel 
Using library DS1804 at version 0.1.1 in folder: C:\Users\Ham\Documents\Arduino\libraries\DS1804 
Using library Time-master at version 1.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Time-master 
Using library Adafruit_BMP3XX_Library at version 2.0.2 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_BMP3XX_Library 
Using library Adafruit_BusIO at version 1.7.2 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_BusIO 
Using library SdFat_-_Adafruit_Fork at version 1.2.3 in folder: C:\Users\Ham\Documents\Arduino\libraries\SdFat_-_Adafruit_Fork 
Using library Adafruit_SPIFlash at version 3.4.0 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash 
exit status 1
'R' was not declared in this scope
 
 


Re: complier errors

Barry K7BWH
 

It’s not a problem that some libraries come from the AppData folder. It’s actually by Arduino platform design; it arises from the complicated real-world problem of supporting a long list of different CPU cores and platforms. These tend to go into \Users\username\AppData via the Boards Manager, while contributed libraries normally go into \Documents\Arduino\libraries via the Library Manager. I don’t understand it deeply – I’ll defer to your favorite search engine for more background. I’ve been able to make it work for Griduino on the Feather M4 Express and I’m happy to work with you as long as you want. I want to use what we learn here to update my online docs to help the next person avoid similar problems.

Dave, for your situation:

1. The compiler stumbled into the wrong SdFat library. (See highlight below at the end of the verbose compiler listing.) It found multiple libraries for “SDFat.h” and ended up using the wrong one instead of the proper SdFat_-_Adafruit_Fork:

          Multiple libraries were found for "SdFat.h"
          Used: C:\Users\Ham\Documents\Arduino\libraries\SdFat ß delete this folder
          Not used: C:\Users\Ham\Documents\Arduino\libraries\SdFat_-_Adafruit_Fork ß keep this folder

Gosh, this sure clutters up the compiler output. Delete the library from \Documents\Arduino\libraries using Windows File Manager. Strangely, the Arduino IDE lets us add and update libraries but doesn’t help us delete them.

2. For error messages regarding the digital volume control, DS1804, please verify its library code came from https://github.com/tom-dudman/DS1804 This is not available in the built-in Library Manager as its author didn’t make it so. Then rename the folder so I can be more confident the compiler finds the right stuff:

          From: C:\Users\Ham\Documents\Arduino\libraries\DS1804-master (legacy)
          To: C:\Users\Ham\Documents\Arduino\libraries\DS1804

3. Please update the barometric sensor, Adafruit_BMP3XX_Library, from your v1.1.0 to the latest version 2.0.2 via the IDE Library Manager.

We’ll probably need another trip around the block to fix more error messages so let’s fix these first and see what happens. Send me another ‘verbose’ compiler error log again on the next try.

Although another fellow reported a raft of compiler errors his situation is not related to yours.

Thanks! Onward and hopefully upward!

Barry K7BWH

 

From: Dave Glenn <davidglenn1@...>
Sent: Friday, February 26, 2021 8:46 AM
To: griduino@...
Subject: complier errors

 

Thanks for all your help with this. It appears some of the libraries are coming from the app data folder. I remember window likes to take things and put copies there. 

Anyway, Here is verbose  error log. 

 

Dave N6TEB


Arduino: 1.8.13 (Windows 10), Board: "Adafruit Feather M4 Express (SAMD51), Enabled, 120 MHz (standard), Small (-Os) (standard), 50 MHz (standard), Arduino, On"

<… big gigantic snip …>

In file included from C:\Users\Ham\Documents\Arduino\Griduino\Griduino.ino:76:
C:\Users\Ham\Documents\Arduino\libraries\DS1804-master/DS1804.h:85:10: note: candidate: 'uint32_t map(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)'
   85 | uint32_t map(uint32_t x, uint32_t in_min, uint32_t in_max, uint32_t out_min, uint32_t out_max);
      |          ^~~

C:\Users\Ham\Documents\Arduino\Griduino\Griduino.ino: In function 'void setup()':
Griduino:848:3: error: 'volume' was not declared in this scope
  848 |   volume.unlock();                    // unlock digipot (in case someone else, like an example pgm, has locked it)
      |   ^~~~~~

Multiple libraries were found for "SdFat.h"
 Used: C:\Users\Ham\Documents\Arduino\libraries\SdFat
 Not used: C:\Users\Ham\Documents\Arduino\libraries\SdFat_-_Adafruit_Fork

Using library Adafruit_ILI9341 at version 1.5.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_ILI9341
Using library Adafruit_GFX_Library at version 1.10.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_GFX_Library
Using library SPI at version 1.0 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\SPI
Using library Adafruit_ZeroDMA at version 1.0.4 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\Adafruit_ZeroDMA
Using library Adafruit_TouchScreen at version 1.1.1 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_TouchScreen
Using library Adafruit_GPS_Library at version 1.5.4 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_GPS_Library
Using library Wire at version 1.0 in folder: C:\Users\Ham\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.6.5\libraries\Wire
Using library Adafruit_NeoPixel at version 1.7.0 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_NeoPixel
Using library DS1804-master in folder: C:\Users\Ham\Documents\Arduino\libraries\DS1804-master (legacy)
Using library Time-master at version 1.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Time-master
Using library Adafruit_BMP3XX_Library at version 1.1.0 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_BMP3XX_Library
Using library SdFat at version 2.0.4 in folder: C:\Users\Ham\Documents\Arduino\libraries\SdFat
Using library Adafruit_SPIFlash at version 3.3.6 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash
Using library Adafruit_BusIO at version 1.7.2 in folder: C:\Users\Ham\Documents\Arduino\libraries\Adafruit_BusIO

exit status 1

'DS1804' does not name a type; did you mean 'DS1804_H'?


Re: Errors using the IDE for Arduino

Barry Hansen
 

Thanks Dave. I got your message with the verbose compiler dump and I’ll look into it today. I didn’t see any obvious fixes jump out at me right away.

Another user reported compile errors, but I don’t know yet if they’re the same or different. He was previously able to build just fine.

Cheers, Barry

 

From: Griduino@groups.io <Griduino@groups.io> On Behalf Of Dave Glenn
Sent: Friday, February 26, 2021 1:31 PM
To: Griduino@groups.io
Subject: Re: [Griduino] Errors using the IDE for Arduino

 

I sent an email with the verbose messages. Let me know what you think. 
Dave


Re: Errors using the IDE for Arduino

Dave Glenn
 

I sent an email with the verbose messages. Let me know what you think. 
Dave


Re: Dual Altimeter update

Barry Hansen
 

Ed, thanks for the update!

The details behind your “-17,000 feet” reading don’t really matter, but if you’re interested in the back story and gory technical details, read on.

Everyone upgrading to v0.35 will see a bogus altitude the first time.

The reason is that the altimeter stores its sea level pressure setting in NVR (nonvolatile ram). The previous software version stored a floating point number of hPa (hectoPascals = millbars), typically around 1017 hPa. The new version 0.35 stores the setting in Pascals, typically around 101700 Pa. The number is exactly 100 times larger and is stored in the same place in NVR. So when the new program reads the old value, it sees a very low pressure as if it’s almost in outer space. If “sea level” is in outer space, then the barometer reading has much higher pressure than “sea level” which represents a much lower altitude. In your case, -17,000 feet.

Implementation of the Sync button has been troublesome. I enjoyed many self-inflicted wounds in my feet while building this feature. Ultimately, I settled on looping through small adjustments to sea level pressure until the altitude (computed by BMP388 library) matches the expected number. As it turns out, writing software to adjust it in the wrong direction was one of the more deadly holes in my foot. After that, the loop acquired a breakout clause to ensure it terminates before the sun goes cold. Ed, that’s why you had to press the Sync button several times to bring it into calibration.

By the way, on this Feather M4 Express, we have lots of NVR. The Uno/Duo/Mega boards offered only a small chunk of on-chip NVR storage. The Feather M4 carries a 2 MB flash chip on which we use a real file system supported by SdFat. Each component in Griduino will read/write its own file to manage its settings. There is room for a long breadcrumb trail plus barometer history and more stuff with lots of space left over. If this ever runs out of space, or if we need to transfer files back and forth, we also have a MicroSD card slot under the TFT display.

There you have it. Now if only I could go roving on top of mountains again. I wish I could drive it over Snoqualmie Pass but they forecast several more feet of snow this weekend on top of the existing 127” and avalanche danger.

Barry Hansen K7BWH
barry@...
mobile 425-503-5548
Seattle, WA  CN87us


From: Griduino@groups.io <Griduino@groups.io> On Behalf Of Ed N7PHY
Sent: Friday, February 26, 2021 10:29 AM
To: Griduino@groups.io Integration <griduino@groups.io>
Subject: Re: [Griduino] Dual Altimeter update

 

Just loaded version 0.35 using the .uf2 file. No issues for me and everything looks good. On reboot my Barometer elevation was something like -17000 feet so good opportunity to try the Sync feature. It took about 6 presses of the Sync button to get the barometer in line, each press getting me closer and closer. 

 

I just purposely mis-calibrated the barometer to give me a 150' elevation difference and one press of the sync button brought it right back in line with GPS.

 

And only 105 days until the June VHF contest. Everything working fine.

 

Thank you Barry!

 

Ed N7PHY

 

On 2/25/2021 4:25:37 PM, Barry K7BWH <griduino@...> wrote:

The last and final bug (ha!) has been ironed out of the Dual Altimeter feature.

We recommend installing the latest pre-compiled binary file, version 0.35, from www.GitHub.com/barry-ha/Griduino from the downloads folder. For instructions, visit PROGRAMMING.md from the docs folder, section “2. How to Install the Griduino Program.”

A picture containing text, monitor, screen, electronics

Description automatically generated

You might notice a new small “sync” button along the right-hand side. Press this to automatically adjust the sea-level pressure so the two readings will match. Although the GPS can be off, it’s usually with 30-50 feet of the correct altitude, so the “sync” button makes it easy to get them close. Then use the +/- buttons to dial in a known pressure or altitude. It shows the sea-level pressure in both metric and English units (same pressure, different units) in case your source of weather reports uses one or the other.

Finally, “Welcome!” to a few new subscribers. It’s great to have you here.

 

Barry Hansen K7BWH
griduino@...
Seattle, WA  CN87us

Icon

Description automatically generated

 

 

 


Re: Dual Altimeter update

Ed N7PHY
 

Just loaded version 0.35 using the .uf2 file. No issues for me and everything looks good. On reboot my Barometer elevation was something like -17000 feet so good opportunity to try the Sync feature. It took about 6 presses of the Sync button to get the barometer in line, each press getting me closer and closer. 

I just purposely mis-calibrated the barometer to give me a 150' elevation difference and one press of the sync button brought it right back in line with GPS.

And only 105 days until the June VHF contest. Everything working fine.

Thank you Barry!

Ed N7PHY


On 2/25/2021 4:25:37 PM, Barry K7BWH <griduino@...> wrote:

The last and final bug (ha!) has been ironed out of the Dual Altimeter feature.

We recommend installing the latest pre-compiled binary file, version 0.35, from www.GitHub.com/barry-ha/Griduino from the downloads folder. For instructions, visit PROGRAMMING.md from the docs folder, section “2. How to Install the Griduino Program.”

A picture containing text, monitor, screen, electronics

Description automatically generated

You might notice a new small “sync” button along the right-hand side. Press this to automatically adjust the sea-level pressure so the two readings will match. Although the GPS can be off, it’s usually with 30-50 feet of the correct altitude, so the “sync” button makes it easy to get them close. Then use the +/- buttons to dial in a known pressure or altitude. It shows the sea-level pressure in both metric and English units (same pressure, different units) in case your source of weather reports uses one or the other.

Finally, “Welcome!” to a few new subscribers. It’s great to have you here.

 

Barry Hansen K7BWH

griduino@...

Seattle, WA  CN87us

Icon

Description automatically generated

 

 

 

 


Re: Errors using the IDE for Arduino

Barry K7BWH
 

Hi Dave,

Thanks for the update. It sure looks like the Arduino IDE is pulling in the wrong library of something from somewhere.

To figure this out, can you recompile with ‘verbose’ option?

This option is in File > Preferences:

 


Then when you compile, the console output will tell us exactly where it loads each #include file.

Copy/paste it in to an email to me – griduino at gmail.com – you can mail it directly instead of through the forum, if you want.

This is a good puzzle.

Barry Hansen K7BWH

 

From: Griduino@groups.io <Griduino@groups.io> On Behalf Of Dave Glenn
Sent: Thursday, February 25, 2021 5:44 PM
To: Griduino@groups.io
Subject: Re: [Griduino] Errors using the IDE for Arduino

 

I checked the versions of those 3 libraries and found that spiFlash was version 3.4 so I changed it to 3.3.6 but no change. The other 2 are the correct versions. 
I do see I have another sdFat but I chose the one that says adafruitfork
see image below, Also here is the first few lines of errors. look to be the same. 

In file included from sketch\save_restore.cpp:29:

C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:38:2: error: #error ENABLE_EXTENDED_TRANSFER_CLASS must be set to 1 in SdFat SdFatConfig.h

   38 | #error ENABLE_EXTENDED_TRANSFER_CLASS must be set to 1 in SdFat SdFatConfig.h

      |  ^~~~~

C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:42:2: error: #error FAT12_SUPPORT must be set to 1 in SdFat SdFatConfig.h

   42 | #error FAT12_SUPPORT must be set to 1 in SdFat SdFatConfig.h

      |  ^~~~~

C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:50:49: error: expected class-name before ',' token

   50 | class Adafruit_SPIFlash : public BaseBlockDriver, public Adafruit_SPIFlashBase {

      |                                                 ^

In file included from sketch\Griduino.ino.cpp:1:

C:\Users\Ham\Documents\Arduino\libraries\DS1804-master/DS1804.h:86:29: error: expected ')' before 'x'

   86 | uint32_t constrain(uint32_t x, uint32_t a, uint32_t b);

      |                             ^


Re: Errors using the IDE for Arduino

Dave Glenn
 

I checked the versions of those 3 libraries and found that spiFlash was version 3.4 so I changed it to 3.3.6 but no change. The other 2 are the correct versions. 
I do see I have another sdFat but I chose the one that says adafruitfork
see image below, Also here is the first few lines of errors. look to be the same. 

In file included from sketch\save_restore.cpp:29:
C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:38:2: error: #error ENABLE_EXTENDED_TRANSFER_CLASS must be set to 1 in SdFat SdFatConfig.h
   38 | #error ENABLE_EXTENDED_TRANSFER_CLASS must be set to 1 in SdFat SdFatConfig.h
      |  ^~~~~
C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:42:2: error: #error FAT12_SUPPORT must be set to 1 in SdFat SdFatConfig.h
   42 | #error FAT12_SUPPORT must be set to 1 in SdFat SdFatConfig.h
      |  ^~~~~
C:\Users\Ham\Documents\Arduino\libraries\Adafruit_SPIFlash\src/Adafruit_SPIFlash.h:50:49: error: expected class-name before ',' token
   50 | class Adafruit_SPIFlash : public BaseBlockDriver, public Adafruit_SPIFlashBase {
      |                                                 ^
In file included from sketch\Griduino.ino.cpp:1:
C:\Users\Ham\Documents\Arduino\libraries\DS1804-master/DS1804.h:86:29: error: expected ')' before 'x'
   86 | uint32_t constrain(uint32_t x, uint32_t a, uint32_t b);
      |                             ^

1 - 20 of 87