Created Tue, 10 May 2016 19:39:12 +0000 by 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:
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?
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