Compile error Undefined Reference to library ParitySerial.h

I am trying to send some data using 8O1 over RS485. As the standard serial and softwareserial libraries do not appear to support odd parity, I have used the ParitySerial library here

The .h and .cpp files are in My Documents/Arduino/libraries/ParitySerial
When I go to manage libraries in the IDE, the ParitySerial library is showing as installed. I also see the .d and .o files in the temporary build directory.

Here is the compile error I am getting -any help is appreciated!

Arduino: 1.6.6 (Windows 7), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

sketch\rs485.ino.cpp.o: In function `__static_initialization_and_destruction_0’:

\server\documents\m\My Documents\Arduino\HAI\rs485/rs485.ino:20: undefined reference to `ParitySerial::ParitySerial(unsigned char, unsigned char, bool)’

\server\documents\m\My Documents\Arduino\HAI\rs485/rs485.ino:20: undefined reference to `ParitySerial::~ParitySerial()’

sketch\rs485.ino.cpp.o: In function `setup’:

\server\documents\m\My Documents\Arduino\HAI\rs485/rs485.ino:36: undefined reference to `ParitySerial::begin(long, bool)’

\server\documents\m\My Documents\Arduino\HAI\rs485/rs485.ino:36: undefined reference to `ParitySerial::write(unsigned char)’

\server\documents\m\My Documents\Arduino\HAI\rs485/rs485.ino:43: undefined reference to `ParitySerial::write(unsigned char)’

collect2.exe: error: ld returned 1 exit status

Using library ParitySerial in folder: \server\documents\m\My Documents\Arduino\libraries\ParitySerial (legacy)
Using library RS485 in folder: D:\Program Files (x86)\Arduino\libraries\RS485 (legacy)
exit status 1
Error compiling.

The code is here:

/-----( Import needed libraries )-----/
#include <ParitySerial.h>
#include <RS485_protocol.h>

//pin 18 DE -need to set high
//pin 1 DI

/-----( Declare Constants and Pin Numbers )-----/
#define SSerialRX 0 //Serial Receive pin -not used here
#define SSerialTX 1 //Serial Transmit pin
#define SSerialTxControl 3 //RS485 Direction control // not used here
#define RS485Transmit HIGH
#define RS485Receive LOW
#define Pin13LED 13
#define DEpin 18

/-----( Declare objects )-----/
ParitySerial RS485Serial(SSerialRX, SSerialTX); // RX, TX

/-----( Declare Variables )-----/
byte dataframeup[13]={0x7f,0xf2,0xfa,0x01,0x00,0x00,0x49,0x55,0xfa,0xfb,0xfe,0x05,0xfd}; //note that this has already been checksummed and inverted
byte dataframedown[13]={0x7f,0xf2,0xfa,0x01,0x00,0x00,0x49,0x55,0xfa,0xfb,0xfe,0x05,0xfc}; //note that this has already been checksummed and inverted

void setup() /****** SETUP: RUNS ONCE ******/

pinMode(Pin13LED, OUTPUT);
pinMode(SSerialTxControl, OUTPUT);
pinMode(DEpin, OUTPUT);
// digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver

// Start the software serial port, to another device
RS485Serial.begin(4800,true); // set the data rate & odd parity

//digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit - not needed here
for(int i=0;i<13;i++)
RS485Serial.write(dataframedown*); // Send byte stream to Remote device*

  • }*
  • delay (30000);*
  • //digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit *
  • for(int i=0;i<13;i++)*
  • {*
    _ RS485Serial.write(dataframeup*); // Send byte stream to Remote device*_
    * }*

* //digitalWrite(SSerialTxControl, RS485Receive); // Disable RS485 Transmit *
}//–(end setup )—
void loop() /****** LOOP: RUNS CONSTANTLY ******/
* digitalWrite(Pin13LED, HIGH); // Show activity*
* delay(10);*
* digitalWrite(Pin13LED, LOW); // Show activity *

}//–(end main loop )—
/-----( Declare User-written Functions )-----/
//( THE END )**

... and that's why we use code tags.

When you're modifying your post to add them , please also amend the title; it's incorrect and inaccurate.