chipKIT® Development Platform

Inspired by Arduino™

New test builds available for 20110907

Created Thu, 08 Sep 2011 04:10:54 +0000 by ricklon


Thu, 08 Sep 2011 04:10:54 +0000

Test Build 20110907is now upload to the ChipKit Build Project site

Official location:

Linux32 Mac OS X Windows

New support: Added support MicroElectronics Multimedia board

Note: plib.h should not be included into library headers, can be included into .cpp, or .c. Many of the fixes are cleanup related to that.

Changes: Issue #117 plib.h removed from Sd2Card.h, and plib.h, and p32xxxx.h add to Sd2Card.cpp Issue #116 quick fix lower case utility folder. Issue #115 fixed plib.h dependicies Issue #114 fixed plib.h issues Issue #108 references to old code removed. Issue #104 examples from libraries are now updated upon board selection. Issue #113 SPI Modes being set incorrectly in SPI library Issue #111 pliib.h, p32xxxx.h fixes Issue #112, changed assigment to compare in finISR Issue #109 clear interrupt, Issue #110 remove float operation Issue #72, tone now working, Genes changes applied


Thu, 08 Sep 2011 22:02:48 +0000

I don't see corrected speed issue with Arduino Ethernet shield 10Mhz clock is way too fast and unstable for W5100 controller to get 2.5MHz change:

in \hardware\pic32\libraries\Ethernet\utility\w5100.cpp SPI.setClockDivider(SPI_CLOCK_DIV32); // 2.5MHz SPI clock


Thu, 08 Sep 2011 23:21:57 +0000

I was hoping to see MsTimer2() and Servo() as reported (and resolved) issues!

Alan KM6VV


Sun, 11 Sep 2011 00:33:26 +0000

Are those issues filed at ?

If they are I'll bump them up the priority list. If not let's get them there. I can add the issue just as you described it. Did you want more info added to the issue before I submit?



Sun, 11 Sep 2011 12:44:23 +0000

Rick, I added issue #123


Sun, 11 Sep 2011 21:37:56 +0000

Please submit MsTimer2() and Servo().


Alan KM6VV


Tue, 13 Sep 2011 23:10:55 +0000

Please submit MsTimer2() and Servo().


I'm not familar with what these issues are. If you can give me some more detail on them, I will log the issues and work on them. I may be able to get this done before the next release is prepared.

Gene Apperson Digilent


Wed, 14 Sep 2011 17:53:57 +0000

I compile with these header files:

#include <Servo.h>
#include <MsTimer2.h>
#include "ASB13_MM_A.h"


MsTimer2::set(1, ItsAlive); // 1ms period


this time I tried it, I got:

ASB13_MM_A.cpp:93:22: fatal error: MsTimer2.h: No such file or directory compilation terminated.

Although the MsTimer2.h is in the "libraries" directory. Not what I remember from before. And interestingly, no complaint on Servo.h, which is just before it in libraries.

If I comment out TsTimer2(), I get further on to a raft of Servo errors:

E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp: In function 'void handle_interrupts(timer16_Sequence_t, volatile __uint16_t*, volatile __uint16_t*)': E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:95:30: warning: large integer implicitly truncated to unsigned type E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp: At global scope: E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:105:8: error: expected constructor, destructor, or type conversion before '(' token E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp: In function 'void initISR(timer16_Sequence_t)': E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:153:5: error: 'TCCR1A' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:154:5: error: 'TCCR1B' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:154:18: error: 'CS11' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:154:22: error: '_BV' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:155:5: error: 'TCNT1' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:161:5: error: 'TIFR1' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:161:18: error: 'OCF1A' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:162:5: error: 'TIMSK1' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:162:20: error: 'OCIE1A' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp: In member function 'void Servo::writeMicroseconds(int)': E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:313:23: error: 'SREG' was not declared in this scope E:\ARobot\Robot Class\Arduino\mpide-0022-chipkit-win-20110521\hardware\pic32\libraries\Servo\Servo.cpp:314:9: error: 'cli' was not declared in this scope

What IS the proper way to set up files if using both Arduino UNO tool path and UNO32?


Alan KM6VV


Wed, 14 Sep 2011 19:52:45 +0000

These error messages for Servo are being generated from files in a folder. The compiler is complaining about AVR register names. It looks like you aren't using the new test build.

MsTimer2 is not one of the standard libraries, it is one of the contributed libraries. It isn't included in either the standard Arduino distribution or the MPIDE distribution. It is unlikely that it will work until it has been ported to the PIC32.



Wed, 14 Sep 2011 21:20:34 +0000

Hi Gene,

I was trying an old library. I re-loaded mpide-0022-windows-20110907-test, and with MsTimer2() commented out, it compiles!

I copied an MsTimer2 directory into mpide-0022-windows-20110907-test\libraries, but (and I ran into this before) the compiler doesn't see the MsTimer2 directory. Import library doesn't see the directory either, even after exiting and reloading mpide. It does see all the fresh library files. Funny, I was able to add new libraries to the Arduino libraries.

But wait, as a test, I renamed the new Servo directory ServoX (to kill it) and with #include MsTimer2.h commented out, it once again compiles! Where is the compiler getting Servo.h?

This is one library I might just tackle. I've set up interrupts on the PIC18F4620 for this same function, maybe it won't be too hard.




Sat, 17 Sep 2011 12:37:38 +0000

The [install dir]/libraries folder is where the AVR Arduino libraries are. The standard distribution libraries for chipKIT boards are in [install dir]/hardware/pic32/libraries. Third party/contributed libraries go in [sketch folder]/libraries.

If you try porting MsTimer2 and have questions, let me know. If you send me a private message, I'll be sure to see it.



Sat, 17 Sep 2011 14:27:34 +0000

This build 20110907 fails to compile Chipkit Network Shield Ethernet libraries All 3 examples failed

Build 20110822 compiles and works just fine


Tue, 20 Sep 2011 21:49:35 +0000

I'm looking to see what may have changed that impacted that compile. Thanks for reporting that.


Thu, 13 Oct 2011 17:08:09 +0000



Thu, 13 Oct 2011 17:12:20 +0000

This build 20110907 fails to compile Chipkit Network Shield Ethernet libraries All 3 examples failed Build 20110822 compiles and works just fine

Andy, download the new libriaries from the Digilent WebSite, we fixed this for MPIDE 907. MPIDE 907 took out plib.h out of WProgams.h which included GenTypeDefs.h which is required by the Ethernet libary and that is why the old libraries will not build on MPIDE 907.

Hey, if you have the ability, see if this builds on Linux. I don't have Linux, but I went through and updated all of the includes to be case sensitive. I'll own breaking Linux builds, I just didn't know better.

I think this is the direct link:


Thu, 13 Oct 2011 17:21:56 +0000

Oh, Andy,

I also updated the Ethernet init code and took out all of the junk you pointed out. So you should not have to modify the init code anymore.


Sun, 04 Dec 2011 06:08:49 +0000

My project involves using OneWire ver. 2.1 and the DallasTemperature Library to read ds18x20s.

The new PJRC OneWire 2.1 purports to be compliant with ChipKit.

I tried to run Multiple.pde code under OneWire2.1, which failed to compile under 20110907.

When I reverted to the 'official' release 20110822, the code ran fine.

I understand that the 0907 is 'test'.

I am ecstatic that the UNO32 will now operate my project, even under 0822. Kudo's to ChipKit and PJRC.