New test builds available for 20110821

Announcements for new builds and MPIDE enhancements
ricklon
Posts: 178
Joined: Sun May 22, 2011 6:59 am

New test builds available for 20110821

Post by ricklon » Sun Aug 21, 2011 12:52 pm

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

Linux32:
https://github.com/downloads/chipKIT32/ ... 1-test.tgz
Mac OS X:
https://github.com/downloads/chipKIT32/ ... 1-test.dmg
Windows:
https://github.com/downloads/chipKIT32/ ... 1-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- ... ate=closed

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

--Rick

GeneApperson
Posts: 239
Joined: Wed Jun 01, 2011 9:53 pm
Location: Pullman WA
Contact:

Re: New test builds available for 20110821

Post by GeneApperson » Sun Aug 21, 2011 5:05 pm

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
Posts: 41
Joined: Wed Jul 27, 2011 11:43 pm

Re: New test builds available for 20110821

Post by whoover » Sun Aug 21, 2011 8:38 pm

Thanks Rick!

jasonk
Posts: 100
Joined: Mon May 23, 2011 6:38 am
Location: Chandler, Arizona
Contact:

Re: New test builds available for 20110821

Post by jasonk » Sun Aug 21, 2011 9:05 pm

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.
Jason Kajita
Microchip Technology
Follow me on Twitter

Andy123
Posts: 45
Joined: Sun Jul 17, 2011 6:03 pm

Re: New test builds available for 20110821

Post by Andy123 » Sun Aug 21, 2011 10:38 pm

Great job.

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

GeneApperson
Posts: 239
Joined: Wed Jun 01, 2011 9:53 pm
Location: Pullman WA
Contact:

Re: New test builds available for 20110821

Post by GeneApperson » Mon Aug 22, 2011 4:59 am

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
Posts: 13
Joined: Mon Aug 08, 2011 11:12 pm

Re: New test builds available for 20110821

Post by olikraus » Tue Aug 30, 2011 5:12 pm

GeneApperson wrote: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
Posts: 239
Joined: Wed Jun 01, 2011 9:53 pm
Location: Pullman WA
Contact:

Re: New test builds available for 20110821

Post by GeneApperson » Tue Aug 30, 2011 5:36 pm

olikraus wrote:
GeneApperson wrote:It appears to only be a problem if you #include <plib.h>.
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
Posts: 13
Joined: Mon Aug 08, 2011 11:12 pm

Re: New test builds available for 20110821

Post by olikraus » Tue Aug 30, 2011 5:49 pm

GeneApperson wrote: 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:

Code: Select all

/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
Posts: 239
Joined: Wed Jun 01, 2011 9:53 pm
Location: Pullman WA
Contact:

Re: New test builds available for 20110821

Post by GeneApperson » Wed Aug 31, 2011 12:19 am

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

Gene Apperson
Digilent

Post Reply