Autor Tema: Mini PDA  (Leído 20385 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sanpic

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 430
Re: Mini PDA
« Respuesta #15 en: 24 de Agosto de 2012, 13:07:46 »
 :shock:
Monumental lo que has hecho.
Felicitaciones por semejante esfuerzo y dedicación en el proyecto , y muchas gracias por compartirlo.   ((:-)) ((:-))
IF you_know = true THEN                                 
     share_it
ENDIF

Desconectado lmtreser

  • PIC16
  • ***
  • Mensajes: 129
    • Automatismos Mar del Plata
Re: Mini PDA
« Respuesta #16 en: 24 de Agosto de 2012, 14:34:21 »
Tremendo trabajo. Desde el PCB, la idea y la carcaza. Felicitaciones  ((:-))

Desconectado Darukur

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 464
    • Informacion, recursos y ejemplos para desarrollos con microcontroladores
Re: Mini PDA
« Respuesta #17 en: 24 de Agosto de 2012, 15:07:46 »
Excelente trabajo! es realmente un logro combinar todas las diferentes areas de conocimiento para lograr un producto.
Vos lo hiciste! Felicitaciones!
El que no sabe lo que busca no entiende lo que encuentra.
Mi Pagina Web:  http://www.sistemasembebidos.com.ar
Mi foro:             http://www.sistemasembebidos.com.ar/foro/

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Mini PDA
« Respuesta #18 en: 24 de Agosto de 2012, 15:36:58 »
Hola  jgpeiro te colgué el post en otro foro !. Si tenes tiempo y no te molesta podrías explicar como hiciste la interfaz entre el manejo de display y gwen por lo menos a grandes rasgos.

Saludos !

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini PDA
« Respuesta #19 en: 29 de Agosto de 2012, 13:21:57 »
Citar
Si tenes tiempo y no te molesta podrías explicar como hiciste la interfaz entre el manejo de display y gwen
Yo modifique la clase OpenGL más o menos así:
Código: C++
  1. namespace Gwen
  2. {
  3.         namespace Renderer
  4.         {
  5.                 OpenGL::OpenGL(){}
  6.                 OpenGL::~OpenGL(){}
  7.                 void OpenGL::Begin(){}
  8.                 void OpenGL::End(){}
  9.                 void OpenGL::Flush(){}
  10.  
  11.                 void OpenGL::AddVert( int x, int y, float u, float v ){
  12.                         TDB2012::Color color = TDB2012::Color( m_Color.r, m_Color.g, m_Color.b );
  13.                         lcd.drawLine( x, y, x+u, y+v, color );
  14.                 }
  15.  
  16.                 void OpenGL::DrawFilledRect( Gwen::Rect rect ){
  17.                         Translate( rect );
  18.                         TDB2012::Color color = TDB2012::Color( m_Color.r, m_Color.g, m_Color.b );
  19.                         lcd.drawRect( rect.x, rect.y, rect.w, rect.h, true, color );
  20.                 }
  21.  
  22.                 void OpenGL::SetDrawColor(Gwen::Color color){
  23.                         m_Color = color;
  24.                 }
  25.  
  26.                 void OpenGL::StartClip(){              
  27.                         Gwen::Rect rect = ClipRegion();
  28.                 }
  29.  
  30.                 void OpenGL::EndClip(){}
  31.  
  32.                 void OpenGL::DrawTexturedRect( Gwen::Texture* pTexture, Gwen::Rect rect, float u1, float v1, float u2, float v2 ){
  33.                         TDB2012::Color color = TDB2012::Color( m_Color.r, m_Color.g, m_Color.b );
  34.                         lcd.drawRect( rect.x, rect.y, rect.w, rect.h, true, color );                   
  35.                 }
  36.  
  37.                 void OpenGL::LoadTexture( Gwen::Texture* pTexture ){}
  38.                 void OpenGL::FreeTexture( Gwen::Texture* pTexture ){}
  39.  
  40.                 Gwen::Color OpenGL::PixelColour( Gwen::Texture* pTexture, unsigned int x, unsigned int y, const Gwen::Color& col_default ){
  41.                         Gwen::Color c;
  42.                         c.r = 0;        c.g = 0;        c.b = 0;        c.a = 0xFF;
  43.                         return c;
  44.                 }
  45.                
  46.                 Gwen::Point OpenGL::MeasureText( Gwen::Font* pFont, const Gwen::UnicodeString& text ){
  47.                         Gwen::Point p;
  48.                         //...
  49.                         return p;
  50.                 }
  51.                
  52.                 void OpenGL::RenderText( Gwen::Font* pFont, Gwen::Point pos, const Gwen::String& text ){
  53.                         //...
  54.                 }
  55.                
  56.         }
  57. }
  58.  

y para generar los eventos eventos del raton desde el touchscreen:
Código: C
  1. while(1){
  2.         pressedBck = pressed;
  3.         pressed = tsc.read( x,y );
  4.  
  5.         if( pressed && !pressedBck ){
  6.                 dx = x - MousePosition.x;
  7.                 dy = y - MousePosition.y;
  8.  
  9.                 MousePosition.x = x;
  10.                 MousePosition.y = y;
  11.                        
  12.                 pCanvas->InputMouseMoved( x, y, dx, dy );
  13.                 pCanvas->InputMouseButton( 0, true );
  14.                 pCanvas->RenderCanvas();
  15.                        
  16.         }else if( !pressed && pressedBck ){
  17.                 dx = x - MousePosition.x;
  18.                 dy = y - MousePosition.y;
  19.  
  20.                 MousePosition.x = x;
  21.                 MousePosition.y = y;
  22.  
  23.                 pCanvas->InputMouseMoved( x, y, dx, dy );
  24.                 pCanvas->InputMouseButton( 0, false );
  25.                 pCanvas->RenderCanvas();
  26.         }
  27.  
  28.         delayMs(10);
  29. }
  30.  

Con esto ya tenemos todo. Menos de 100 lineas que nos permiten aprovechar una librería de más de 100 archivos...

Desconectado enzo84

  • PIC10
  • *
  • Mensajes: 13
Re: Mini PDA
« Respuesta #20 en: 02 de Septiembre de 2012, 15:36:55 »
Está buenísimo! Estas en hackaday

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini PDA
« Respuesta #21 en: 02 de Septiembre de 2012, 16:13:20 »
Citar
Estas en hackaday
si, lo envie y me lo han publicado... que bien!!

Aquí comento el código en C++ para manejar los GPIO. Es una clase que permite majerar cualquier pin del micro. Configura todo lo necesario(reloj, modo, velocidad...) de una manera transparente y solo te tienes que preocupar de decidir si es entrada o salida.
La configuración de los periféricos se simplifica mucho gracias a unas cuantas tablas que contienen los valores que son distintos valores para cada pin y se accede a ellos con la enumeración del propio pin.

Para encender un led, es necesario este codigo:
Código: C++
  1. #include "Pin.hpp"
  2. int main( void ){
  3.         Pin led = Pin( PIN_MODE_OUTPUT, PIN_PORT_A, PIN_BIT_0 );
  4.         Pin button = Pin( PIN_MODE_INPUT, PIN_PORT_A, PIN_BIT_1 );
  5.         while( 1 ){
  6.                 led.write( button.read() );
  7.         }
  8.         return 0;
  9. }
  10.  

Código: C++
  1. class Pin{
  2. private:
  3.         tPinMode _mode;
  4.         tPinPort _port;
  5.         tPinBit _bit;
  6. public:
  7.         Pin();
  8.         Pin( tPinMode mode, tPinPort port, tPinBit bit );
  9.         ~Pin();
  10.         bool read();
  11.         void write(bool value);
  12.         void setPuPd( tPinPull pupd );
  13.         void AFConfig( uint8_t af );
  14. };
  15.  
  16.  
« Última modificación: 05 de Septiembre de 2012, 13:08:49 por jgpeiro06 »

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Mini PDA
« Respuesta #22 en: 03 de Septiembre de 2012, 18:55:18 »
Felicitaciones !!! y gracias por publicar la info.

Saludos !

Desconectado neodo1

  • PIC10
  • *
  • Mensajes: 1
Re: Mini PDA
« Respuesta #23 en: 04 de Septiembre de 2012, 05:21:49 »
Creo que me costaron 10 placas 34€ con gastos de envío incluidos

¿En que sitio?

Gracias.

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276

Desconectado delmaformacion

  • PIC10
  • *
  • Mensajes: 44
Re: Mini PDA
« Respuesta #25 en: 06 de Septiembre de 2012, 07:37:33 »
Tu proyecto es alucinante...

¿Que resolución gráfica tiene?

¿Se le podria conectar un monitor vga? ¿conoces alguna libreria que lo pueda hacer?

Gracias por tus respuestas y Enhorabuena por tu proyecto


Desconectado 100tifico

  • PIC10
  • *
  • Mensajes: 14
Re: Mini PDA
« Respuesta #26 en: 06 de Septiembre de 2012, 11:51:10 »
Hola mi muy estimado jgpeiro06, aprovecho para extenderte mis más amplias felicitaciones por tan creativa aplicación y por tan entuciasta labor, ya que tu reflejas el verdadero espiritu del diseñador multi tecnológico que todos los que seguimos este foro llevamos dentro, ya que este foro no es solo de PIC's ó de otros Micros...Sino de todo lo que con ellos se puede lograr a materializar.

Tambien quiero aprovechar para preguntarte sobre el donde es que podemos, ya sea descargar o conseguir información sobre las librerias FatFas que comentas y sobre todo acerca de la Gwen libreria grafica, ya que busco detalles sobre esta, y lo único que encuentro son fotos y chismes de una rubia cantante con este mismo nombre...de antemano gracias por la creatividad que te motiva para hacer tan completos trabajos..! ((:-))

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini PDA
« Respuesta #27 en: 06 de Septiembre de 2012, 16:07:01 »
Citar
¿Que resolución gráfica tiene?
¿Se le podria conectar un monitor vga? ¿conoces alguna libreria que lo pueda hacer?
La resolución es 320x240. El LCD va conectado mediante un bus llamado "16-bit 8080 interface", que es compatible con el periférico FSMC del uC. No es compatible con un monitor VGA, pero supongo que siempre se puede hacer un convertidor...


Citar
donde es que podemos, ya sea descargar o conseguir información sobre las librerias FatFas que comentas y sobre todo acerca de la Gwen libreria grafica
Las librerías Gwen están "a salvo de cantantes rubias" en google code:
http://code.google.com/p/gwen/
Las librerías FatFs se encuentran aquí:
http://elm-chan.org/fsw/ff/00index_e.html

Desconectado CompSystems

  • PIC18
  • ****
  • Mensajes: 484
    • Home Page
Re: Mini PDA
« Respuesta #28 en: 03 de Octubre de 2012, 14:08:58 »
jgpeiro06, podrías por favor hacer un intento de portar mathomatic a tu miniPDA, es posible?, el código fuente de este CAS esta escrito en lenguaje C http://www.mathomatic.org/math/screenshots.html



tal ves algún día se pueda convertir tu proyecto en una calculadora super avanzada



« Última modificación: 03 de Octubre de 2012, 14:15:28 por CompSystems »
Desde Colombia

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Mini PDA
« Respuesta #29 en: 23 de Febrero de 2013, 08:44:31 »
se han "roto" los links. Si alquien quiere ver las imagenes puede visitar mi perfil jgpeiro84 en flickr.
« Última modificación: 23 de Febrero de 2013, 08:50:59 por jgpeiro06 »


 

anything