chipKIT® Development Platform

Inspired by Arduino™

New test builds available for 20110821

Created Sun, 21 Aug 2011 11:52:11 +0000 by ricklon


ricklon

Sun, 21 Aug 2011 11:52:11 +0000

New builds available for 20110821 https://github.com/chipKIT32/chipKIT-builds/downloads

Linux32: https://github.com/downloads/chipKIT32/chipKIT-builds/mpide-0022-linux32-20110821-test.tgz Mac OS X: https://github.com/downloads/chipKIT32/chipKIT-builds/mpide-0022-macosx-20110821-test.dmg Windows: https://github.com/downloads/chipKIT32/chipKIT-builds/mpide-0022-windows-20110821-test.zip

Features added: Sketch path is included in compile includes. This enables USB, and Ethernet code from Digilent and Microchip to work. All but 5 sketches compile properly. (Now that they compile time to verify on the hardware) SoftPWMServo library added (Issue #105) prevents it from appearing in the Library menu, it is in the import menu, and can be opened manually.

Issues Resolved: SPI fixes Wire Fixes Print.h Fixes Serial.peek() implemented attachInterrupt, detachInterrupt added

Complete list of resolved issues here: https://github.com/chipKIT32/chipKIT32-MAX/issues?direction=desc&sort=created&state=closed

Need help verify if there are any case problems in the includes for the Linux32 distribution.

--Rick


GeneApperson

Sun, 21 Aug 2011 16:05:49 +0000

Let's all thank Rick for all of his work in getting this out. He was up very late last night resolving a number of issues doing this build, and then had to get up early to fly to Phoenix.

This should be a solid release and a big improvement over what we had out last month.

Gene Apperson Digilent


whoover

Sun, 21 Aug 2011 19:38:00 +0000

Thanks Rick!


jasonk

Sun, 21 Aug 2011 20:05:17 +0000

Wow, Rick has been busy! Looks like this release will be a big improvement. See you guys at MASTERs this week. I'm looking forward to sitting in on the chipKIT class.


Andy123

Sun, 21 Aug 2011 21:38:19 +0000

Great job.

It looks like #define BYTE 0 still in Print.h - any plans to correct it?


GeneApperson

Mon, 22 Aug 2011 03:59:31 +0000

Unfortunately, I don't think that we can change that without breaking compatibility. I believe that BYTE is used by Print as a format specifier. Removing it would break many sketches that use Print. It appears to only be a problem if you #include <plib.h>.

SPI.h was including plib.h to get some types (BYTE and WORD). I went through and changed all of the references to BYTE and WORD to unit8_t and uint16_t and removed the include of plib.h to fix the compile problems with SPI.

I think it's not going to be possible to make print and plib play nicely together.

Gene Apperson Digilent


olikraus

Tue, 30 Aug 2011 16:12:08 +0000

It appears to only be a problem if you #include <plib.h>.

Currently I try to port the dogm128 library from google code to the chipKIT environment.

To me it seems that plib.h is always included automatically, because it is included by WProgram.h which is added as an include when the PDE file of the Arduino IDE is converted to a .cpp file. This means: All sketches and libs which use Print.h or have a derived class from Print.h will immediately fail.

I agree that some sketches will fail, if BYTE is redefined to something else in /hardware/pic32/cores/pic32/Print.h because these sketches might use BYTE as a format specifier. However at the moment all sketches which include Pint.h will fail, independent of the use of the BYTE format specifier.

The dogm128 library is a derived class from the print class. My suggestion is to redefine the BYTE format specifier.

Oliver


GeneApperson

Tue, 30 Aug 2011 16:36:16 +0000

To me it seems that plib.h is always included automatically, because it is included by WProgram.h which is added as an include when the PDE file of the Arduino IDE is converted to a .cpp file. This means: All sketches and libs which use Print.h or have a derived class from Print.h will immediately fail. Oliver

I think that you must be working with an earlier release of the MPIDE. I just checked the code in the 20110822 release. In this version WProgram.h does not include plib.h.

Gene Apperson Digilent


olikraus

Tue, 30 Aug 2011 16:49:41 +0000

I think that you must be working with an earlier release of the MPIDE. I just checked the code in the 20110822 release. In this version WProgram.h does not include plib.h. Gene Apperson Digilent

I have used a fresh installation of mpide-0022-linux32-20110822.tgz:

/home/kraus/prg/chipkit/mpide-0022-linux32-20110822/hardware/pic32/compiler/pic32-tools/bin/../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/include/peripheral/i2c.h:50:0,
                 from /home/kraus/prg/chipkit/mpide-0022-linux32-20110822/hardware/pic32/compiler/pic32-tools/bin/../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/include/plib.h:50,
                 from /home/kraus/prg/chipkit/mpide-0022-linux32-20110822/hardware/pic32/cores/pic32/HardwareSerial.h:40,
                 from /home/kraus/prg/chipkit/mpide-0022-linux32-20110822/hardware/pic32/cores/pic32/WProgram.h:22,
                 from SpaceTrash.cpp:67:

This means, WProgram.h includes HardwareSerial.h which includes plib.h. So at least SpaceTrash, one of my examples, does not compile, because the interface class of the dogm128 library has been derived from the print class.

Oliver


GeneApperson

Tue, 30 Aug 2011 23:19:12 +0000

You're correct. My mistake. HardwareSerial.h is including plib.h. This needs to be fixed. I'll work on it.

Gene Apperson Digilent


inex

Thu, 01 Sep 2011 17:05:12 +0000

Dear Gene, I downlaod 20110822 version and try about AttachInterrupt. Unfortunately, also cannot work. No any response.

Do you sure about release the AttachInterrupt function in latest version of MPIDE ?


GeneApperson

Thu, 01 Sep 2011 18:09:05 +0000

Yes, I've just tested it with the 20110822 release and I believe that it is working. Can you please provide information on how you are using it so that I can figure out what is going on.

Thanks, Gene Apperson Digilent