TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
03 de Septiembre de 2010, 05:15:09

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
257111 Mensajes en 28437 Temas por 27916 Usuarios
Último usuario: zororyuzaki
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Lenguajes de programación para PC
| |-+  Visual Basic (Moderadores: Colores, PalitroqueZ)
| | |-+  Automatiza la Configuración de tus datos para enumerar un PIC 18Fxx5x
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 3 4 5 Marcar como favorito Imprimir
Autor Tema: Automatiza la Configuración de tus datos para enumerar un PIC 18Fxx5x  (Leído 14375 veces)
PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« : 16 de Enero de 2008, 12:17:55 »

EL ARTÍCULO COMPLETO CON EL PROGRAMA ACTUALIZADO, LO PUEDES VER EN MI PÁGINA WEB

ver articulo completo





Descripción:

Automatización de datos Enumeración USB es un programita que pemite introducir datos como Nombre, VID, PID, Fabricante, Descripción para configurar el instalador que necesita el windows cuando conectamos a la primera vez



dichos datos se muestran al momento de instalación y cuando accedemos al administrador de dispositivos.

he aquí un video que explica en detalle (bajar este codec para observarlo)

El adjunto con el Código Fuente para el quiera añadirle mejoras:



la actualización mas reciente la puedes bajar en este post:

http://www.todopic.com.ar/foros/index.php?topic=20047.msg189418#msg189418


« Última modificación: 09 de Octubre de 2009, 10:35:59 por PalitroqueZ » En línea

¡llegaron las lluuuvias!
jfh900
Moderadores
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 3328



« Respuesta #1 : 16 de Enero de 2008, 01:28:32 »

Fantástico, no sabes la cantidad de trabajo que nos quitas.

Gracias por el programa.

Un saludo
En línea

* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca

Desde España Jesús
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 12825



WWW
« Respuesta #2 : 16 de Enero de 2008, 01:30:15 »

Muchas gracias, Pedro. Es muy interesante.
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #3 : 16 de Enero de 2008, 01:33:46 »

wowwwwwww!!! Gracias Pedro!! Smile vivan los programitas para hacer la vida más fácil! jejeje pq mira que me gusta poco, cada vez que tengo que hacer un driver nuevo, ponerme a modificar los campos. Al final siempre se olvida alguno y se pierde media hora buscando el fallo de la placa! ejejeje

Gracias nuevamente! Smile

Un saludo!
En línea

pocher
Moderadores
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 2500



« Respuesta #4 : 16 de Enero de 2008, 01:58:09 »

Muchas gracias Pedro por toda la info que has dejado en el FORO sobre USB.

En esta semana si no pasa nada me meto con el USB ... subiendo peldaños poco a poco.

Aprovecho también para agradecer a J1M y a RedPic todas las explicaciones, ejemplos y enlaces relativos al USB ... con vosotros la vida es más sencilla.

Gracias.
En línea
PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #5 : 16 de Enero de 2008, 07:40:55 »

jeje las gracias se las tengo que dar a jaime ya que me guié por ahí.

Por cierto me quedé con las ganas de añadir los iconos personalizados, si logro entender como funcionan los instaladores en la WDK, entonces habrá una versión 2.








En línea

¡llegaron las lluuuvias!
PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #6 : 21 de Enero de 2008, 11:22:57 »

Añadí unas secciones al INF para darle un ícono nuevo al device y ¡¡nada!!  no lo consigo.

hice tal cual como sale en el artículo: [1] Personalized Icons for Devices on Windows XP  y si se copian las entradas en el registro, y al system (en el ejemplo lo copié junto con mchpusb.sys), después, simplemente no carga el condenao ícono.  Mad


Código
GeSHi (c):
  1. ; Installation file for mchpusb driver
  2. ; Copyright (C) 2004 by Microchip Technology, Inc.
  3. ; All rights reserved
  4.  
  5. [Version]
  6. Signature=$CHICAGO$
  7. Class=%ClassName%
  8. ClassGuid={4D36E9AE-E325-11CE-BFC1-08002BE10318}
  9. Provider=%ONEYSOFT%
  10. CatalogFile=mchpusb.cat
  11. DriverVer=11/19/2004
  12.  
  13. [Manufacturer]
  14. %MFGNAME%=DeviceList
  15.  
  16. [DestinationDirs]
  17. DefaultDestDir=10,System32\Drivers
  18.  
  19. [SourceDisksFiles]
  20. mchpusb.sys=1
  21. wdmstub.sys=1
  22. perro.ico=1
  23.  
  24. [SourceDisksNames]
  25. 1=%INSTDISK%,,,
  26.  
  27. [DeviceList]
  28. %DESCRIPTION%=DriverInstall,USB\VID_08A8&PID_A811
  29.  
  30. [ClassInstall32]
  31. Addreg=PicUSBClassReg
  32.  
  33. [PicUSBClassReg]
  34. HKR,,,0,%ClassDesc%
  35. HKR,,Class,,%ClassName%
  36.  
  37. [DDInstall.NT.HW]
  38. AddReg=IconInformation
  39.  
  40. [IconInformation]
  41. HKR,,Icons,0x10000,"perro.ico"
  42.  
  43. ;------------------------------------------------------------------------------
  44. ;  Windows 2000/XP Sections
  45. ;------------------------------------------------------------------------------
  46.  
  47. [DriverInstall.ntx86]
  48. CopyFiles=DriverCopyFiles
  49.  
  50. [DriverCopyFiles]
  51. mchpusb.sys,,,2
  52. perro.ico,,,2
  53.  
  54. [DriverInstall.ntx86.Services]
  55. AddService=MCHPUSB,2,DriverService
  56.  
  57. [DriverService]
  58. ServiceType=1
  59. StartType=3
  60. ErrorControl=1
  61. ServiceBinary=%10%\system32\drivers\mchpusb.sys
  62. AddReg=TraceFlags
  63.  
  64. ;------------------------------------------------------------------------------
  65. ;  Windows 98/Me Sections
  66. ;------------------------------------------------------------------------------
  67.  
  68. [DriverInstall]
  69. AddReg=DriverAddReg
  70. CopyFiles=DriverCopyFiles,StubCopyFiles
  71. DriverVer=01/01/2003 ; TODO replace with real info
  72.  
  73. [DriverAddReg]
  74. HKR,,DevLoader,,*ntkern
  75. HKR,,NTMPDriver,,"wdmstub.sys,mchpusb.sys"
  76.  
  77. [StubCopyFiles]
  78. wdmstub.sys,,,2
  79.  
  80. ;------------------------------------------------------------------------------
  81. ;  String Definitions
  82. ;------------------------------------------------------------------------------
  83.  
  84. [Strings]
  85. ONEYSOFT="Walter Oney Software"
  86. MFGNAME="Microchip Technology, Inc."
  87. INSTDISK="Microchip Technology, Inc. Installation Disc"
  88. DESCRIPTION="PIC18F4550 Family Device"
  89. ClassName="PicUSB Sample Device"
  90. ClassDesc="PicUSB Device"
  91.  
  92.  

por lo menos averigué que al definir una ClassGuid individual se crea un grupo de device aparte en administrador de dispositivos.

Definitivamente ese artículo [1] está muuuy corto y no da mayores explicaciones  Evil or Very Mad





En línea

¡llegaron las lluuuvias!
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #7 : 21 de Enero de 2008, 11:29:31 »

Pedro creo recordar que cuando empecé a pelearme con el tema de los iconos también pasé por ese tutorial, lo dejé por imposible... lo que acabo de leer y que en su tiempo no hice, es el tema de las características que debe cumplir el icono, mira lee este apartado: "Creating Icons Based on Windows XP Design Guidelines". Si no para empezar, con un editor de 'resources' extrae el icono por ejemplo a la calculadora o el paint e intenta utilizarlo como icono, si ese icono se inserta, entonces el problema solo estará en crear un icono apto.... sino se puede tampoco con eso..... siempre quedará la famosa DLL....... :p

saludines!!
En línea

PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #8 : 21 de Enero de 2008, 11:37:29 »

voy hacer un segundo intento en base a lo que me dices.

Lo de las dll ya la vi, según entiendo hay que crear una dll nueva cada vez que se cambia el ícono, por cierto compilé el fuente de tu classinstall y la ddk crea unos archivos .obj y .lib

¿es necesario el visual C para crear la .dll?



En línea

¡llegaron las lluuuvias!
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #9 : 21 de Enero de 2008, 11:42:27 »

Efectivamente, en el caso de que desees cambiar el icono, necesitas volver a compilar los archivos fuente para generar la dll. Respecto a los archivos generados, yo solo le doy uso a la .dll en cuestión, los demás se pueden eliminar tranquilamente.

No es necesario el VisualC, tan solo la DDK de marras! lleva su propio entorno de compilación. Además no es posible hacerlo con el Visual, o al menos que yo sepa Wink

saludinesss
En línea

PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #10 : 25 de Enero de 2008, 02:11:32 »

Segundo intento fallido  llorica

Ese win no le gusta nada que tenga que ver con iconos directos, probé las formas usando el Autoplay, accesando a las ramas device group y el device class, incluso en Device Parameters tal como lo explica la ayuda del DDK.

después hice unas pruebas locas y cree una clave en la misma rama del classguid :

Icon[REG_SZ]="-1"

¡¡y me aceptó el ícono!!  Shocked

naa. pero no me sirve porque es del sistema (pertenece al driver del video)

mi intención es que el usuario pueda escoger libremente el ícono de su elección sin instalaciones , ni complicaciones. Totalmente portable.

En línea

¡llegaron las lluuuvias!
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #11 : 25 de Enero de 2008, 02:20:20 »

Ya Pedro, en su día también lo descarte por imposible, y efectivamente lo único que conseguía era colocarlo mediante el "-1", pero como bien dices son los del sistema. Supongo que en este intento has hecho lo que te dije, usease, coger un icono de windows que ya tenga algún programa para ir sobre seguro... Suerte con ello!! Wink
En línea

PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #12 : 25 de Enero de 2008, 02:27:35 »

... Supongo que en este intento has hecho lo que te dije, usease, coger un icono de windows que ya tenga algún programa para ir sobre seguro... Suerte con ello!! Wink

sip probé eso también, y además extrayendo un ícono de una dll del sistema:

..\shell32.dll,5

voy hacer un tercer intento.



Jaime, una preguntonta, ¿en la DDK como compilas la picusbci.dll?

me fuí al command que genera la ddk ( en mi caso free para winxp) y solamente genera .exp y .obj después salta un error diciendo que no pudo crear la .lib
En línea

¡llegaron las lluuuvias!
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #13 : 25 de Enero de 2008, 02:41:05 »

que error te da? debe haber algo mal en el código de la DLL, pq si te genera esos archivos esq estás compilando bien. Por cierto, hay que cuidar que el nombre no tenga más de 8 caracteres, eso me volvió loco!

saludos!
En línea

Cryn
Colaborador
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
Bolivia Bolivia

Mensajes: 3914


ahora con C18 C30 C32


« Respuesta #14 : 26 de Enero de 2008, 01:10:08 »

muy buen trabajo Pali!!

el programa esta de las mil maravillas! Mr. Green

muchas gracias rebotando rebotando
En línea

El peor día, cuando te fuiste.
Cuando estabas a nuestro lado, los mejores
PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #15 : 28 de Enero de 2008, 06:06:45 »

Hola

J1M ¡¡LOGRÉ INSERTAR UN ÍCONO EN EL ADMIN. DISPOSITIVOS!!   rebotando rebotando rebotando

en picusb.inf, la línea:

HKR,,Installer32,,"picusbci.dll,PicUSBClassInstaller"

lo que hace es crear una clave:

Installer32[REG_SZ]="picusbci.dll,PicUSBClassInstaller"

en el regedit cambié el string por:

Installer32[REG_SZ]="mi_icono.ico"

(debes copiar mi_icono.ico en system32)

al insertar el device, inmediatamente toma el ícono Smile

ahora probaré modificando en el inf a ver si me la acepta.


PD: gracias Cryn
En línea

¡llegaron las lluuuvias!
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #16 : 30 de Enero de 2008, 07:48:40 »

Hola Pedro,

Si, el panel de control accede al registro para 'tomar o saber donde tomar' el icono. La clave esa que modificas es creada por la DLL... o bueno, mejor dicho, mediante el .INF, el problema a priori es el mismo. Quizá una forma de solventarlo y de una vez por todas librarnos de la DLL sería incluir algo en el .inf ó crear un .reg que añada esa misma información al registro y sea tomado en cuenta por el panel de control.

Has probado a utilizar un icono por defecto, es decir, utilizar el driver 'sin modificar' de microchip y modificar posteriormente el registro??? en ese caso, se cambia también el icono??? Si respondes afirmativamente a las dos. El problema de la DLL se resuelve instalando el .inf 'sin modificar' y ejecutando un .reg que modifique la clave del registro correspondiente al icono 'por defecto' para poner un .ico propio.


saludos!
En línea

PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #17 : 31 de Enero de 2008, 06:29:23 »

Has probado a utilizar un icono por defecto, es decir, utilizar el driver 'sin modificar' de microchip y modificar posteriormente el registro??? en ese caso, se cambia también el icono??? Si respondes afirmativamente a las dos. El problema de la DLL se resuelve instalando el .inf 'sin modificar' y ejecutando un .reg que modifique la clave del registro correspondiente al icono 'por defecto' para poner un .ico propio.


saludos!

sip. de hecho asi es que funciona, instalo normalmente (creando una clase aparte) y luego me voy al regedit y hago el cambio.

Hola Pedro,

Si, el panel de control accede al registro para 'tomar o saber donde tomar' el icono. La clave esa que modificas es creada por la DLL... o bueno, mejor dicho, mediante el .INF, el problema a priori es el mismo. Quizá una forma de solventarlo y de una vez por todas librarnos de la DLL sería incluir algo en el .inf ó crear un .reg que añada esa misma información al registro y sea tomado en cuenta por el panel de control.


nop del todo (funciona a medias). Estuve probando metiendo la línea:

HKR,,Installer32,,"mi_icono.ico"

y me lanza un error y no culmina la la instalación, aunque se puede apreciar el ícono insertado en la ventana del error.

voy a probar si puedo hacer la instalación normal y luego modificar esa línea en el registro, asi como tu dices, hay unas "llamadas" o directivas dentro del ADDREG que permiten actualizar ó modificar  una línea creada, probaré con esas.

ya falta poco para que le ganemos Jaime  Mr. Green



En línea

¡llegaron las lluuuvias!
PalitroqueZ
Moderador Local
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #18 : 01 de Febrero de 2008, 01:29:06 »

Buenas noticias. Creo que lo conseguí, les echo el cuento:

probé usando la entrada EnumPropPages32que según la ayuda del DDK, funciona similar a installer32

quedó así;

HKR,,EnumPropPages32,,"perro7.ico,0"

y felizmente el win no se quejó, se lo tragó con gusto, eso si, el ícono debe copiarse a ...\system32 entonces modificando una cuantas lineas en inf quedó asi:



; Installation file for mchpusb driver
; Copyright (C) 2004 by Microchip Technology, Inc.
; All rights reserved

[Version]
Signature=$CHICAGO$
Class=%ClassName%
ClassGuid={4D36E9AE-E325-11CE-BFC1-08002BE10318}
Provider=%ONEYSOFT%
CatalogFile=mchpusb.cat
DriverVer=11/19/2004

[Manufacturer]
%MFGNAME%=DeviceList

[DestinationDirs]
DefaultDestDir=10,System32\Drivers
icono_device=11 ; system32

[SourceDisksFiles]
mchpusb.sys=1
wdmstub.sys=1
perro7.ico=1

[SourceDisksNames]
1=%INSTDISK%,,,

[DeviceList]
%DESCRIPTION%=DriverInstall,USB\VID_08A8&PID_A811

[ClassInstall32]
Addreg=mchpusbClassReg

[mchpusbClassReg]
HKR,,,0,%ClassDesc%
HKR,,Class,,%ClassName%
HKR,,EnumPropPages32,,"perro7.ico,0"

;------------------------------------------------------------------------------
;  Windows 2000/XP Sections
;------------------------------------------------------------------------------

[DriverInstall.ntx86]
CopyFiles=DriverCopyFiles,icono_device

[DriverCopyFiles]
mchpusb.sys,,,2

[icono_device]
perro7.ico,,,2


[DriverInstall.ntx86.Services]
AddService=MCHPUSB,2,DriverService

[DriverService]
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%10%\system32\drivers\mchpusb.sys
AddReg=TraceFlags

;------------------------------------------------------------------------------
;  Windows 98/Me Sections
;------------------------------------------------------------------------------

[DriverInstall]
AddReg=DriverAddReg
CopyFiles=DriverCopyFiles,StubCopyFiles,icono_device
DriverVer=01/01/2003      ; TODO replace with real info

[DriverAddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,"wdmstub.sys,mchpusb.sys"

[StubCopyFiles]
wdmstub.sys,,,2

;------------------------------------------------------------------------------
;  String Definitions
;------------------------------------------------------------------------------

[Strings]
ONEYSOFT="Walter Oney Software"
MFGNAME="Microchip Technology, Inc."
INSTDISK="Microchip Technology, Inc. Installation Disc"
DESCRIPTION="PIC18F4550 Family Device"
ClassName="PicUSB Sample Device"
ClassDesc="PicUSB Device"



unas imagenes:





en el regedit debe verse asi en la rama principal del classguid




un video aficionado (si no lo puedes ver, bajar el codec)

notas:
- probado con un 18F4550 REAL montado en protoboard.

- si el driver está instalado (otro VID_PID de la misma clase) el ícono aparece a lo largo de la instalación

- ahora sigo haciendo unos ensayos para estar seguro y retoco el programa.



bajar el adjunto con la simulación en ISIS.

Si es tan amable alguien de probar este ejemplo en el windows vista y reporte por acá si le funcionó, please sería de mucha ayuda Smile

« Última modificación: 12 de Marzo de 2009, 04:43:09 por PalitroqueZ » En línea

¡llegaron las lluuuvias!
J1M
Moderadores
PIC24H
*****
Conectado Conectado

Sexo: Masculino
España España

Mensajes: 1859



WWW
« Respuesta #19 : 01 de Febrero de 2008, 02:33:04 »

jjejejej OLE AHI!!! si está claro, quien la sigue la consigue....... adios al incordio de la DDK!! bravooooo!!!! SmileSmileSmile A ver si vuelvo a poner en orden mi caos de PC dspués de la muerte súbita de 2HDs y pongo el Vista64 otra vez y compruebo como va este lujo!!

Enhorabuena y gracias por compartirlo! Smile
En línea

TODOPIC
   

 En línea
Páginas: [1] 2 3 4 5 Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 válido! CSS válido!
Página creada en 0.152 segundos con 23 consultas.