Created Sun, 21 Aug 2011 11:52:11 +0000 by 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
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
Sun, 21 Aug 2011 19:38:00 +0000
Thanks Rick!
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.
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?
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
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
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
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
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
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 ?
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