chipKIT® Development Platform

Inspired by Arduino™

github core issue with OpenTimer

Created Wed, 22 Apr 2015 16:54:05 +0000 by GastonLagaffe


GastonLagaffe

Wed, 22 Apr 2015 16:54:05 +0000

Salut,

I use "The Github version for chipKIT" core to compile a library using OpenTimer1. This gives me the error:

In file included from C:\Data\UECIDE\libraries\LEDmatrix7219\LEDmatrix7219.cpp:37:0:
C:\Data\UECIDE\libraries\LEDmatrix7219\/hardware/pic32/HW_PIC32.h: In member function 'void LEDmatrix7219::__start_interrupt()':
C:\Data\UECIDE\libraries\LEDmatrix7219\/hardware/pic32/HW_PIC32.h:4:13: error: 'T1_ON' was not declared in this scope
C:\Data\UECIDE\libraries\LEDmatrix7219\/hardware/pic32/HW_PIC32.h:4:21: error: 'T1_PS_1_64' was not declared in this scope
C:\Data\UECIDE\libraries\LEDmatrix7219\/hardware/pic32/HW_PIC32.h:4:34: error: 'T1_SOURCE_INT' was not declared in this scope
C:\Data\UECIDE\libraries\LEDmatrix7219\/hardware/pic32/HW_PIC32.h:4:53: error: 'OpenTimer1' was not declared in this scope
... similar errors removed ...
Failed compiling libraries

When compiling with the "chipKIT" core, the code compiles and runs as expected. I use the chipkit DP32 board, UECIDE Version 0.8.7z36, Build number 565

Is this an error in the core or am I doing something stupid?

Ciao, Mathias


majenko

Wed, 22 Apr 2015 17:29:43 +0000

The "chipKIT" core is the "old" core with the "old" compiler. The github version, which is what is the default core in the newer UECIDE, and also what is in the latest test versions of MPIDE, uses the new compiler. That has some differences in its definitions.

It looks like they may be using some "plib" calls which are no longer supported in the chipKIT system. "plib" should not be used in the current system, full stop.

You will either have to re-write the library to not use the old "plib" crutch, or use a different library (there are two good ones currently - mine is at https://github.com/MajenkoLibraries/Timer - I forget where the other one is, but you can find it in a thread on here. Also, if you use the latest 0.8.8alpha of UECIDE the library repository has my library in it for simple installation).