PIC32 microcontroller on ChipKIT Uno32 - compatible with Arduino IDE?

Hi!

I am currently working with my Arduino display, which is 2.8" TFT LCD Touch Shield for Arduino, attached on the ChipKIT Uno32.

I am doing a project with these components together on Arduino IDE 1.6.6 and I want to access the PIC32 microcontroller, which is built on ChipKIT Uno32, within Arduino IDE in order to use the low level functions (such as timer, interrupts etc.)

The problem here is that I have heard from some people that the Arduino IDE is kind of like a MPIDE and I know by my own experiences that MPIDE hides the low level details (timer, interrupts etc.).

My question here is: can I access the PIC32 in Arduino IDE in order to use the low level functions that the PIC32 microcontroller on the ChipKIT Uno32 provides? I know that the Arduino IDE 1.6.6 supports ChipKIT Uno32, so I believe that the microcontroller on the ChipKIT Uno32 should also be supported somehow. But it's all about the possibility to use the timers and interrupts on the PIC32 microcontroller.

If I cannot access those low level functions provided by the PIC32 microcontroller on ChipKIT Uno32, then is there another IDE besides Arduino IDE and MPIDE's, with which I can achieve my task to use the low level functions?

If something was not clear to you, please point it out and I shall try to explain this more clearly.

Thank you in advance!

/lokomotiv

What is not clear is why you are asking questions about something that is clearly NOT an Arduino on the Arduino forum. Do you often ask Arduino questions on the ChipShit forum?

I have heard from some people that the Arduino IDE is kind of like a MPIDE and I know by my own experiences that MPIDE hides the low level details (timer, interrupts etc.).

"Kind of like"? MPIDE was a direct copy of the Arduino IDE, back around version 0022, modified to include the PIC compilers, appropriately re-written libraries, and some minor cosmetic changes. (All of which is "fine", BTW.)

Both Arduino and MPIDE "hide" the low-level-details to about the same extent. But they only "hide" those details in the sense that they provide "easier to use" functions as replacements; they don't actually PREVENT you from directly accessing them. If you want to use a low-level feature of the PIC32 on a ChipKit board, you should be able to do so using either MPIDE or the "Arduino IDE with ChipKit core."

it's all about the possibility to use the timers and interrupts on the PIC32 microcontroller.

So ... ask your specific question. Either here or on the ChipKit forums. Don't let "Grumpy Paul" scare you away...

is there another IDE besides Arduino IDE and MPIDE's, with which I can achieve my task to use the low level functions?

Microchip's "MPLAB": http://www.microchip.com/pagehandler/en-us/family/mplabx/
That will probably require that you do EVERYTHING at a low level.

BTW: I hadn't been aware that the ChipKit folks were working on an installable "core" for Arduino IDE 1.6.5+
Thanks for the heads-up. (and... It's about time! And: the ChipKit forums seem to be pretty stale WRT new SW releases.)

See if the PIC32 register names are reserved words? We do port manipulation on AVR's and we can get to our timers through the same names as on the datasheet. You should be able to do the same with a PIC32 core.

Another option to MPIDE might be UECIDE.

westfw:
“Kind of like”? MPIDE was a direct copy of the Arduino IDE, back around version 0022, modified to include the PIC compilers, appropriately re-written libraries, and some minor cosmetic changes. (All of which is “fine”, BTW.)

Both Arduino and MPIDE “hide” the low-level-details to about the same extent. But they only “hide” those details in the sense that they provide “easier to use” functions as replacements; they don’t actually PREVENT you from directly accessing them. If you want to use a low-level feature of the PIC32 on a ChipKit board, you should be able to do so using either MPIDE or the “Arduino IDE with ChipKit core.”

So … ask your specific question. Either here or on the ChipKit forums. Don’t let “Grumpy Paul” scare you away…

Microchip’s “MPLAB”: http://www.microchip.com/pagehandler/en-us/family/mplabx/
That will probably require that you do EVERYTHING at a low level.

BTW: I hadn’t been aware that the ChipKit folks were working on an installable “core” for Arduino IDE 1.6.5+
Thanks for the heads-up. (and… It’s about time! And: the ChipKit forums seem to be pretty stale WRT new SW releases.)

Hi, sorry for this late reply.

First of all, I have to say that I am only a beginner when it comes to working with Arduino/ChipKIT. I am studying hardware programming in a course, where I was supplied in the beginning with the ChipKIT Uno32 with a ChipKIT Basic I/O Shield and worked with these components in only 1-2 months with basic operations and so on…

The reason I am now working with a Arduino display shield is related to a course project. What I want to tell you is that I am only a beginner when it comes to ChipKIT and especially Arduino. I dont want to be confused with some kind of pro or something like that. So I didnt know about that MPIDE was a direct copy from Arduino IDE and I apologize for my ignorance about such details :confused:

Okay, so you say that you CAN access the low level details in the Arduino IDE, but how do I that? I have a feeling that it’s not enough just to include the command “#include <pic32.h>” or something like that (asserting that I have the ChipKIT Core installed on Arduino IDE) at the top of the code file in Arduino IDE. How exactly do I achieve this?

Thanks in advance!

/lokomotiv

so you say that you CAN access the low level details in the Arduino IDE, but how do I that? I have a feeling that it’s not enough just to include the command “#include <pic32.h>” or something like that

You just do it. The pic32 specifics are already include as part of the chipKit infrastructure. For example, I just added the TRISFCLR line below to the Blink example in MPIDE. It compiles fine…

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);
  TRISFCLR = 0xff;
}