Migrar Librerias de Arduino a PIC.

#1
Bueno, en principio nunca he utilizado un arduino, se que es y como funciona.

El asunto esta en que compre una pantalla 2.4" TFT LCD Shield (ili9340) como esta:



la compre sin saber que era un modulo para arduino aunque me lo sospechaba, pero pense que con un poco de empeño podria echarla a andar con un PIC y me imagine que solo era cuestion de bajar la libreria de arduino, y ver su codigo, descargue el compilador de arduino (no se como exactamente le llamen si IDE o no se), descargue la libreria, pero al intentar abrir el archivo .CPP que creo es el codigo me aparece un mensaje que el Arduino solo puede abrir sus popios programas y otros ficheros terminados en .ino o .Pde...

asi que la pregunta es:

¿como puedo ver el codigo fuente de la libreria, para migrarla (a pie) a PIC en C.?
¿se puede o estan protegidas?
sopongo que si es una plataforma libre no estoy incurriendo en alguna falta. ¿ o si?
 
Última edición:
#2
y del editor de arduino no se puede ver?

digo no se nunca he usado uno y se me secara la mano el dia que use uno, pero
¿no se puede abrir en el IDE arduinero?
 
#4
Hola
Bueno, en principio nunca he utilizado un arduino, se que es y como funciona.

El asunto esta en que compre una pantalla 2.4" TFT LCD Shield (ili9340) como esta:

http://cdn2.shopium.ua/d/arduino/c/tt/e8471eda-f8eb-41df-b2cd-e9ef89fd55e8/itQWXHMAcwAA.jpg

la compre sin saber que era un modulo para arduino aunque me lo sospechaba, pero pense que con un poco de empeño podria echarla a andar con un PIC y me imagine que solo era cuestion de bajar la libreria de arduino, y ver su codigo, descargue el compilador de arduino (no se como exactamente le llamen si IDE o no se), descargue la libreria, pero al intentar abrir el archivo .CPP que creo es el codigo me aparece un mensaje que el Arduino solo puede abrir sus popios programas y otros ficheros terminados en .ino o .Pde...

asi que la pregunta es:

¿como puedo ver el codigo fuente de la libreria, para migrarla (a pie) a PIC en C.?
¿se puede o estan protegidas?
sopongo que si es una plataforma libre no estoy incurriendo en alguna falta. ¿ o si?
Mira ., yo he usado como ejemplo ., algunas librerias ., de arduino para guiarme ., en algunas cosas para los atmegas​
Yo la he abierto con un editor de texto ., por ejemplo del .imo​
Aca te subo un proyecto ., que tengo con arduino​
Fijate si lo podes habrir como yo te digo​
PD: subime la que te interesan y vemos si las habro
 

Adjuntos

Última edición:
#5
Hola abri es proyecto (sketch) y si me lo abre, el problema es que la libreria que tengo esta asi:

Dibujo.jpg

estan un archivo .cpp, un .h y un .C, al abrirlos con editor me aparece el codigo como para algun editor o IDE propio de arduino...

estaba pensando en estos momentos que si renombro el .cpp a .ino ¿funcionara?,:unsure: dejen pruebo XD
 
#6
Bueno
Hola abri es proyecto (sketch) y si me lo abre, el problema es que la libreria que tengo esta asi:

Ver el archivo adjunto 136873

estan un archivo .cpp, un .h y un .C, al abrirlos con editor me aparece el codigo como para algun editor o IDE propio de arduino...

estaba pensando en estos momentos que si renombro el .cpp a .ino ¿funcionara?,:unsure: dejen pruebo XD
Che yo te habri una ., aca te la subo como extencion .TXT​
 

Adjuntos

#7
Hay que abrir los archivos de la biblioteca con editor de textos. Wiring es "masomenoscé" así que veo viable la conversion.
No me aclaro con las librerías , con su funcionamiento interno, así que poco más te puedo ayudar.
 
#8
Cpp suelen ser las extensiones en C++ (diriamos el .C de C++).

Con lo cual, es probable que te encuentres con el uso de clases. En definitiva, se debería poder pasarlo a C, pero hay que ver que tan fácil resulta llevar el código a PIC.

De hecho por lo que ví, el archivo Ardafruit_GFX tiene definida una clase con ese mismo nombre.
 
#10
Hola abri es proyecto (sketch) y si me lo abre, el problema es que la libreria que tengo esta asi:

Ver el archivo adjunto 136873

estan un archivo .cpp, un .h y un .C, al abrirlos con editor me aparece el codigo como para algun editor o IDE propio de arduino...

estaba pensando en estos momentos que si renombro el .cpp a .ino ¿funcionara?,:unsure: dejen pruebo XD
Eso te aparece así porque el caracter de nueva línea de windows puede diferir del que usan las distribuciones de Linux (creo que win usa \r\n y Linux \n). Te recomiendo el notepad++, que es liviano como el notepad pero además te colorea sintaxis, multiples tabs, autocompletado, y te permite solucionar ese temita de codificación en Edit -> EOL Conversion o por ahí...
 
#11
¿Sirve para la ili9340? si es así me has ahorrado un montón de tiempo.



ya renombre el archivo .CPP a .INO y si lo carga, asi que esa es una posible solucion al problema. (ayer no pude hacerlo porque se me fue la luz XD)
 
Última edición:
#12
no me acuerdo que controladores eran estos TFT, pero te paso lo que tengo acopiado y fijate si algo te sirve ;) ; Tendria que fijarme en el otro disco duro, se que tengo mas en ccs :unsure:
 

Adjuntos

#13
¿se pueden manejar clases en C?

por que CPP ¿donde estan las clases?

digo esta escribida la libreria del XY cosa en .cpp y hace llamadas a clases fulanas.

¿puedo hacer las clases en simple C?
o se tiene que hacer diferentes artimañas para convertir las clases en objeto o en estructura
 
#14
¿se pueden manejar clases en C?

por que CPP ¿donde estan las clases?

digo esta escribida la libreria del XY cosa en .cpp y hace llamadas a clases fulanas.

¿puedo hacer las clases en simple C?
o se tiene que hacer diferentes artimañas para convertir las clases en objeto o en estructura
como dicen el comal le dice a la olla XD... porque no se nada de arduino... pero creo que no son clases, simplemente eligieron esa extension para diferenciarla de los archivos principales que son .ino , si estoy mal alguien me corregira.

p.d. no se dice escribida se dice escrita, yo tambien tengo faltas graves de ortografia y no me molesta si me las hacen saber, espero no te molestes.
 
Última edición:
#15
Voy a chillar :cry:

es una enrredadera de registros, datos y funciones en arduino.

creo que no me sirven los documentos que amablemente me pasaron, los commandos de mi pantalla son totalmente diferentes.

digan lo que digan BASIC es una maravilla en mi opinion, asi que mejor me lo hago en basic y tomo como referencia los comandos y secuencias de inicializacion de la ficha tecnica.

Gracias por sus aportes si me sirvieron para dar el primer paso. no resta mas que ligar la informacion y comenzar a jugar.
 
#16
¿se pueden manejar clases en C?
No, C es un lenguaje estructurado que no está orientado a objetos.

por que CPP ¿donde estan las clases?
Como puse arriba, CPP es el tipo de archivo de C++.

La clase la tiene definida como Ardafruit_GFX, cuando en el CPP figura:

Ardafruit_GFX:: ... función...

Ese "Ardafruit_GFX::" hace referencia a que la función (o método) pertenece a la clase Ardafruit_GFX.

Tendrá que analizar si no hay una variable definida en la clase que sea usada en forma global por las funciones que pertenecen a esa clase.

¿puedo hacer las clases en simple C?
Clases no, pero su "reemplazo" en C, sería algo así como definir una función en un archivo .c que no sea externa y usar variables globales (feo... feo) en ese archivo .c (que tampoco sean externas).

o se tiene que hacer diferentes artimañas para convertir las clases en objeto o en estructura
Una estructura es un bloque de memoria que definís vos (el bloque obviamente es compacto), una clase es algo completamente distinto.
 
#17
Hola amigaso papirrin​
Aca te subo en en .RAR ., el proyecto para ese display​
Fijate que ese proyecto de ejemplo ., usa otras librerias mas que no estan alli​
y es como dice cosme ., vendrian siendo como una .C​
Si te hacen falta otras librerias avisa y las buscamos​
:apreton:
 

Adjuntos

Última edición:
#18
Hola, esas estan mejor que las que baje yo, la libreria que baje porque abarca mas funciones que tiene la pantalla y es para varias pantallas de la misma familia.

con esa me voy a basar para hacerlo en C, me regreso el alma al cuerpo ya estaba un poco desanimado...

muchasss gracias amigo.
 
#19
Hola
Hola, esas estan mejor que las que baje yo, la libreria que baje porque abarca mas funciones que tiene la pantalla y es para varias pantallas de la misma familia.

con esa me voy a basar para hacerlo en C, me regreso el alma al cuerpo ya estaba un poco desanimado...

muchasss gracias amigo.
Bueno ., aca te pongo info de por donde anduve​
http://www.ramtex.dk/gclcd/glcd0129...-o1YA1q5ZAqNue4SoYAI4jQjiF-c30AfAcaAlbW8P8HAQ
Por aca tenes mas datos​
http://www.adafruit.com/products/1480
Y por aca ., comunidad con varios proyectos con eso​
https://community.particle.io/t/adafruit-ili9340-library-ported/4010
Si nesesitas algo mas avisa​
:apreton:
 
#20
Hola amigaso papirrin​
Aca te subo en en .RAR ., el proyecto para ese display​
Fijate que ese proyecto de ejemplo ., usa otras librerias mas que no estan alli​
y es como dice cosme ., vendrian siendo como una .C​
Si te hacen falta otras librerias avisa y las buscamos​
:apreton:
Loquis, sto es CCS ? PIC? o para tus micros raros esos que soles manejar?
no baje nada aun por que tengo señal EDGE :rolleyes:
 

Temas similares

Arriba