Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PIC32 Pinguino DIY
29-12-2013, 01:07 PM, (This post was last modified: 29-12-2013, 01:10 PM by fcapozzi.)
#1
PIC32 Pinguino DIY
Hi all, i built this tiny board http://wiki.pinguino.cc/index.php/PIC32_Pinguino_DIY
and it works with some examples in the ide.

I wonder if the Pinguino IDE implements only a subset of the all functions available in the datasheet of the pix32mx250f128b or if any function is accessible through the IDE.
In other word can i develop any application as if i am in the MPLAB-X or there are some rules to take into account ? I also found the pic32 function are not well documented in the IDE.

Fabio.
Reply
29-12-2013, 03:14 PM,
#2
RE: PIC32 Pinguino DIY
(29-12-2013, 01:07 PM)fcapozzi Wrote: Hi all, i built this tiny board http://wiki.pinguino.cc/index.php/PIC32_Pinguino_DIY
and it works with some examples in the ide.

I wonder if the Pinguino IDE implements only a subset of the all functions available in the datasheet of the pix32mx250f128b or if any function is accessible through the IDE.
In other word can i develop any application as if i am in the MPLAB-X or there are some rules to take into account ? I also found the pic32 function are not well documented in the IDE.

Fabio.

You can build whatever you wish, only you will have to build it ground up for anything not within Pinguino IDE fuctions. When you choose the board, Microchip processor header is automaticaly assigned, so you can manipulate all PIC32 registers from the datasheet. Also, you will not see hundreds of MPLABX macros because they are Microchip property so you will have to do all by yourself (and learn a lot on the way)Smile
Dreaming in Code...
Reply
31-12-2013, 01:12 AM, (This post was last modified: 31-12-2013, 01:42 AM by fcapozzi.)
#3
RE: PIC32 Pinguino DIY
Tnx for answer. Ok for starting ground up. However i guess i might to have some information about the IDE preset.
As an example i was experimenting with the CTMU Unit and i wrote a tiny example just to see if the module was working following the guidelines in che Section 37 of the PIC32 Family Reference Manual. Since the IDE gave me the CDC.printf function i would like to read in real time the ADC measured value through a minicom terminal. But i found that the CDC RS232 emulation was messed up and the "dmesg" linux command reported that the USB device was having problem.
Sure the setup of the pic registers used for CTMU and ADC activation had a side effect on the RS232 emulation routine.
An other question ...the legally valid instuction CTMUCONbits.ON = 1 gave me problems so i had to use the #pragma config statement. Some registers are recognised some other are missing.
Tnx for help. Enjoy

(Post-Editing note)
After i wrote the message i did some experiments and i fixed the problem.
the istruction AD1CON1bits.ON = 1; was not recognised and gave a compiled error and i put the #pragma config AD1CON1bit.ON = 1 insted.
The ADC wont start so i understood that the pragma directive has been ignored.
So i changed this istruction with AD1CON1 |= 0x00008000;
the same istruction with explicit 1 and the adc waiting loop finally completed so the CDC function prints ok.

SO .. be adviced that some #pragma config directive is not used.



(29-12-2013, 03:14 PM)agolac Wrote: You can build whatever you wish, only you will have to build it ground up for anything not within Pinguino IDE fuctions. When you choose the board, Microchip processor header is automaticaly assigned, so you can manipulate all PIC32 registers from the datasheet. Also, you will not see hundreds of MPLABX macros because they are Microchip property so you will have to do all by yourself (and learn a lot on the way)Smile
Reply
31-12-2013, 06:32 PM, (This post was last modified: 31-12-2013, 07:14 PM by agolac.)
#4
RE: PIC32 Pinguino DIY
(31-12-2013, 01:12 AM)fcapozzi Wrote: Tnx for answer. Ok for starting ground up. However i guess i might to have some information about the IDE preset.
As an example i was experimenting with the CTMU Unit and i wrote a tiny example just to see if the module was working following the guidelines in che Section 37 of the PIC32 Family Reference Manual. Since the IDE gave me the CDC.printf function i would like to read in real time the ADC measured value through a minicom terminal. But i found that the CDC RS232 emulation was messed up and the "dmesg" linux command reported that the USB device was having problem.
Sure the setup of the pic registers used for CTMU and ADC activation had a side effect on the RS232 emulation routine.
An other question ...the legally valid instuction CTMUCONbits.ON = 1 gave me problems so i had to use the #pragma config statement. Some registers are recognised some other are missing.
Tnx for help. Enjoy

(Post-Editing note)
After i wrote the message i did some experiments and i fixed the problem.
the istruction AD1CON1bits.ON = 1; was not recognised and gave a compiled error and i put the #pragma config AD1CON1bit.ON = 1 insted.
The ADC wont start so i understood that the pragma directive has been ignored.
So i changed this istruction with AD1CON1 |= 0x00008000;
the same istruction with explicit 1 and the adc waiting loop finally completed so the CDC function prints ok.

SO .. be adviced that some #pragma config directive is not used.

Actually this is a "bug". IDE substitutes ON for 1 as defined in /p32/include/core/const.h

To turn on ADC you can also use AD1CON1bits.ADON = 1; as noted in processor header file
Everything that is in processor header file MUST work unless there is some bug like this.
Dreaming in Code...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)