prog_char does not name a type

I'm trying to reprogram an OpenBCI 8-bit board.  As soon as I try to compile the OpeNBCI_8bit_SD program, I get the following errors from the Arduino IDE:

SDcard.ino:58:1: error: 'prog_char' does not name a type
SDcard.ino:59:1: error: 'prog_char' does not name a type
SDcard.ino:60:1: error: 'prog_char' does not name a type
SDcard.ino:61:1: error: 'prog_char' does not name a type
SDcard.ino:62:1: error: 'prog_char' does not name a type
SDcard.ino:64:1: error: 'prog_char' does not name a type
SDcard.ino:65:1: error: 'prog_char' does not name a type

Followed by a bunch more errors having to do with the variables that were trying to be created at the line numbers shown above.  The problem is clearly that my version of the IDE (V1.5.7) doesn't know what type "prog_char" is.

Poking around a bit, it is clear that this is a legitimate type for OpenBCI to be invoking (see this official Arduino help page: http://arduino.cc/en/Reference/PROGMEM).  So, perhaps it's a problem with IDE V1.5.7 versus the latest V1.5.8.  I'm downloading V1.5.8 now, but my connection is slow, so I kept digging while I wait.

On this older page (http://forum.arduino.cc/index.php?topic=168716.0) I found that a fix is to add:

#define __PROG_TYPES_COMPAT__

In the file SDCard.ino, just before the line:

#include <avr/pgmspace.h>

When I tried compiling again, it gave me an error that all of my lines with "prog_char" needed to be const.  OK, so I added const before each prog_char.   Then it compiled fine.  So, if for some reason you're stuck with the Arduino IDE V1.5.7, this might be a work-around for you.

I'm gonna see if V1.5.8 solves this issue without these annoyances.

Chip

Comments

  • I just tried Arduino V1.5.8.  Same error.  I just posted the issue on GitHub:


    Chip
  • edited January 2015
    It turns out that my first post above isn't quite accurate.  With V1.5.8, I had to put the line "#define __PROG_TYPES_COMPAT__" not in SDCard.ino...that doesn't seem to work now...instead, I had to put it in the OpeNBCI_8bit_SD.ino file.  It needs to be the first line of real code.
  • biomurphbiomurph Brooklyn, NY
    Chip, did you try with the 1.0.6? 
  • biomurphbiomurph Brooklyn, NY
    We did all of our firmware flashing to the Arduino UNO Compatible chip using IDE version 1.0.x

  • I have not tried V1.0.X.  Since the OpenBCI docs for the dongle say to use one of the Arduino BETA IDE's (ie, V1.5.x), V1.5.8 is the only version on my computer now.
  • biomurphbiomurph Brooklyn, NY
    I've tested on the three BETA versions of Arduino IDE that I have, and it crashes at the same point.

    It will compile OK and recognize the prog_char without issue.

    Please download the 1.0.6 version of Arduino, and let me know if that fixes it
  • biomurphbiomurph Brooklyn, NY
    I'm now working with Arduino 3, and there is an error when compiling with the variable type prog_char.
    I switched the prog_char variables to const char, and that seems to fix things. Updating github now.
    the Arduino site has this page
    which explains it all.
Sign In or Register to comment.