chipKIT® Development Platform

Inspired by Arduino™

SoftwareSerial compile errors - all ChipKit boards

Created Tue, 10 May 2016 19:39:12 +0000 by acrandal


acrandal

Tue, 10 May 2016 19:39:12 +0000

Hello,

I have a compile error with the SoftwareSerial library included in ChipKit-core 1.1.0.-18 (the latest released build for manual install at this time). I need the SoftwareSerial.h library for several external devices, but it will not compile the headers on ChipKit boards. I am able to build against the Arduino and Adafruit boards, but all of the Cerebot and ChipKit boards exhibit the same error. Any help would be appreciated.

Environment:

  • Arduino IDE 1.6.8
  • ChipKit-core 1.1.0-18 (latest release build manually installed, also exposed error in 1.1.0.-13))
  • uC32 (but tested on other Arduino, Adafruit, and ChipKit platforms)

The code to reproduce for me is very simple:

#include <SoftwareSerial.h>

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

Just including the SoftwareSerial.h library and selecting any ChipKit device gives these errors:

Arduino: 1.6.8 (Windows 8.1), Board: "chipKIT uC32" C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware [Lots of successful file builds] IC:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\cores\pic32" "-IC:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\variants\uC32" "-IC:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial" "C:\Users\Aaron\AppData\Local\Temp\buildf71554d8a69c5d822f0c8bd06bd78dc0.tmp\sketch\SoftwareSerialExample.ino.cpp" -o "C:\Users\Aaron\AppData\Local\Temp\buildf71554d8a69c5d822f0c8bd06bd78dc0.tmp\sketch\SoftwareSerialExample.ino.cpp.o" In file included from C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial\examples\SoftwareSerialExample\SoftwareSerialExample.ino:20:0: C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:68:16: error: '_IOPORT_PC' was not declared in this scope { _BV(14), _IOPORT_PC}, // CN0 - RC14 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:69:16: error: '_IOPORT_PC' was not declared in this scope { _BV(13), _IOPORT_PC}, // CN1 - RC13 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:70:16: error: '_IOPORT_PB' was not declared in this scope { _BV( 0), _IOPORT_PB}, // CN2 - RB0 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:71:16: error: '_IOPORT_PB' was not declared in this scope { _BV( 1), _IOPORT_PB}, // CN3 - RB1 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:72:16: error: '_IOPORT_PB' was not declared in this scope { _BV( 2), _IOPORT_PB}, // CN4 - RB2 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:73:16: error: '_IOPORT_PB' was not declared in this scope { _BV( 3), _IOPORT_PB}, // CN5 - RB3 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:74:16: error: '_IOPORT_PB' was not declared in this scope { _BV( 4), _IOPORT_PB}, // CN6 - RB4 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:75:16: error: '_IOPORT_PB' was not declared in this scope { _BV( 5), _IOPORT_PB}, // CN7 - RB5 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:76:16: error: '_IOPORT_PG' was not declared in this scope { _BV( 6), _IOPORT_PG}, // CN8 - RG6 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:77:16: error: '_IOPORT_PG' was not declared in this scope { _BV( 7), _IOPORT_PG}, // CN9 - RG7 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:78:16: error: '_IOPORT_PG' was not declared in this scope { _BV( 8), _IOPORT_PG}, // CN10 - RG8 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:79:16: error: '_IOPORT_PG' was not declared in this scope { _BV( 9), _IOPORT_PG}, // CN11 - RG9 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:80:16: error: '_IOPORT_PB' was not declared in this scope { _BV(15), _IOPORT_PB}, // CN12 - RB15 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:81:16: error: '_IOPORT_PD' was not declared in this scope { _BV( 4), _IOPORT_PD}, // CN13 - RD4 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:82:16: error: '_IOPORT_PD' was not declared in this scope { _BV( 5), _IOPORT_PD}, // CN14 - RD5 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:83:16: error: '_IOPORT_PD' was not declared in this scope { _BV( 6), _IOPORT_PD}, // CN15 - RD6 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:84:16: error: '_IOPORT_PD' was not declared in this scope { _BV( 7), _IOPORT_PD}, // CN16 - RD7 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:85:16: error: '_IOPORT_PF' was not declared in this scope { _BV( 4), _IOPORT_PF}, // CN17 - RF4 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:86:16: error: '_IOPORT_PF' was not declared in this scope { _BV( 5), _IOPORT_PF}, // CN18 - RF5 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:87:16: error: '_IOPORT_PD' was not declared in this scope { _BV(13), _IOPORT_PD}, // CN19 - RD13 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:88:16: error: '_IOPORT_PD' was not declared in this scope { _BV(14), _IOPORT_PD}, // CN20 - RD14 ^ C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial/SoftwareSerial.h:89:16: error: '_IOPORT_PD' was not declared in this scope { _BV(15), _IOPORT_PD}, // CN21 - RD15 ^ Using library SoftwareSerial in folder: C:\Users\Aaron\Documents\Arduino\hardware\chipkit-core\pic32\libraries\SoftwareSerial (legacy) exit status 255 Error compiling for board chipKIT uC32.

So, what's broken? I've :

[list=] [] Tested on two different PCs (windows 7 & windows 8.1) [] Tried two manually installed release versions of ChipKit-core [*] Compiled on other platforms with complete success (using their libraries) [/list]

What should be done next?


EmbeddedMan

Tue, 10 May 2016 20:54:26 +0000

Yeah, you're quite right. I'm not sure how I missed that when I did the software serial update. If you compile for a board with PPS (like Fubarino Mini, DP32, or WiFire) it will compile OK. But for any board without PPS, it will fail as you describe. My apologies - I'll add an issue to our GitHub issue tracker to fix this.

*Brian