Favicon Svethardware.cz  Svět hardware   Fórum Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Strana 1 z 2 12 PosledníPoslední
Zobrazené výsledky: 1 až 15 z 27

Téma: Tisk pres IrDA

  1. #1
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    Snazim se rozchodit tisk z aplikace pres IrDA (konkretne na HP DJ 450), ale nedari se. Zkousel jsem napred Smart Device Print Engine for Compact Framework, ale tisknout se mi nedari - jenom blikne LEDka u IrDA tiskarny a nic se nevytiskne.

    Zkousel jsem i primo posilat data na Ir port pres P/Invoke a pak i pres OpenNetCF SerialPort, ale vysledek stejnej - maximalne dostanu exception "write file failed 1359", coz je podle winapi dokumentace "The security account database contains an internal inconsistency.", takze to mi moc nerekne Tiskarna podporuje PCL3, takze jsem zkousel posilat pred tiskem na port reset apod prikazy a po tisku page feed, ale opet vysledek = e1359...

    Jeste mam problem s tim, ze nevim, jestli zapisuju na spravnej port - IrDA mam na COM3 a 4 - na COM3 je oznacenej jako "IRComm", COM4 jako native. Predchozi chyby dostavam, kdyz zapisuju na COM3 - pokud pracuju s COM4, tak k zadne exception sice nedojde, ale tiskarna ani neblikne

    Nezkousel nekdo primou komunikaci s IrDA portem nebo primo tisk? Pres PrintBoy apod utilitky mi tiskarna pres infra tiskne bez problemu, ale potrebuju rozchodit IR komunikaci primo z moji aplikace...
    Odpovídat lze po přihlášení

  2. #2
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    jeste pro doplneni - ted jsem jeste vyzkousel System.Net.Sockets.IrDAClient - tiskarnu mi najde (DiscoverDevices), ale pri pokusu o connect dostanu exception "no connection could be made...target machine actively refused it"...
    Odpovídat lze po přihlášení



  3. #3
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    9,300

    Nebude spise problem v te tiskarne?
    Odpovídat lze po přihlášení

  4. #4
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    uz to tak vypada - asi je potreba do HP/PCL tiskaren poslat napred nejaky inicializacni retezec... na jine tiskarne (seiko) mi tisk stejnym zpusobem funguje bez problemu.

    takze asi abych preformuloval puvodni dotaz - povedlo se nekomu zprovoznit tisk pres IrDA na HP/PCL tiskarne?
    Odpovídat lze po přihlášení

  5. #5
    Starousedlík SMob
    Registrace
    Jun 2004
    Příspěvků
    9,300

    Jeste jeden workaround...

    HP nabizi Mobile Printing balik (tak nejak se to jmenuje) pro PDA... Pokud ten dokaze na te tiskarne vytisknout, tak bych si nejak logoval, co to tam posila a podle toho se ridil...
    Odpovídat lze po přihlášení

  6. #6
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    Ten HP Mobile Printing package jsem nasel tady ve freeware (HP ho prestalo vyvijet, konci support a uz neni ani ke stazeni na jejich strankach) a pres nej tiskarna tiskne...
    Uz mne napadlo nejak odchytavat, co pres to infra presne posila, ale nejak mne nenapada zpusob, jak to udelat. Druhe PPC nemam, abych si moh udelat jednoduchou aplikaci, ktera by poslouchala na IrDA, na PC taky infra nemam... Nevite o nejakem PPC nebo klidne i desktop sw, ktery by umel monitorovat provoz na ir-portu?
    Odpovídat lze po přihlášení

  7. #7
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    Tak uz se mi podarilo odchytit, co presne posila moje aplikace a HP Mobile Printing aplikace a problem je asi v tom, ze se snazim komunikovat pres IrCOMM port (COM3), zatimco HP aplikace komunikuje pres nativni IR port (COM4) jinym protokolem... nektere tiskarny zrejme IrCOMM neumi

    na zacatku komunikace moje aplikace posila:
    ...IrDA:IrCOMMIrDA:TinyTP:LsapSel...

    zatimco HP posila:
    ...IrLPTIrDA:IrLMP:LsapSel...

    problem ale je, ze na tom nativnim portu se mi poradne nedari komunikovat - musim napred vypnout prijem infra na PPC (connections->beam->receive all incoming beams), aby mi aplikace nehazela chybu "create file failed: 55" a kdyz prijem ir vypnu, tak se pak sice PPC tvari ze vsechno projde bez chyby, ale tiskarna ani neblikne

    idealni by teda asi bylo sehnat nekde to HP Mobile Printing SDK pro compact framework, ale nikde to nemuzu najit a u HP to uz stahli :/
    Odpovídat lze po přihlášení



  8. #8
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    uff... takze po 2 dnech googlovani a zkouseni vseho mozneho jsem nakonec uspel

    Podle luxusni M$-IrDA stranky Microsoft Windows Winsock IrDA programming jsem si napsal v eVC DLL, ktere mi umozni prepnout Socket do IrLPT modu a tisk pak funguje bez problemu. Podle vseho to vypada, ze v CF zapomneli na moznost prepnuti Socketu do tohohle modu. Pres prime P/Invoke winsock.dll (setsockopt(Socket.Handle,...)) se mi to bohuzel nepodarilo, ale pres tu eVC DLL to nastesti funguje bez problemu.
    Odpovídat lze po přihlášení

  9. #9
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Uz se vam podarilo vsechny problemy vyresit? Pokud ano, zajimalo by me, jak jste si poradil s tou unmanaged knihovnou. Ja jen, jestli mam neco zkouset, protoze budu mit konecne pres Vanoce cas, anebo jste si se vsim poradil (reaguji na soukrome zpravy)
    Odpovídat lze po přihlášení

  10. #10
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    Bohuzel, zatim jsem skoncil u toho P/Invokovani unmanaged knihovny, ktera mi pres winsock.dll zajistuje odesilani dat socketem pres infra. Z managed kodu se mi bohuzel nepodarilo prepnout socket do IrLPT modu (ze standardniho IrCOMM). Pokousel jsem se volat primo funkci setsockopt z winsock.dll, ale vysledek byl vzdycky -1 = chyba. Jako parametr z managed kodu jsem pouzival Socke.Handle...

    zitra sem jeste hodim zdrojak, jak presne jsem se o to pokousel...
    Odpovídat lze po přihlášení

  11. #11
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    tak ten muj pokusny kod:
    Kód:
    		[DllImport("winsock.dll", EntryPoint="setsockopt")]
    		public static extern int setsockopt(int s, int level, int optname, byte[] optval, int optlen);
    		[DllImport("winsock.dll", EntryPoint="WSAGetLastError")]
    		public static extern int WSAGetLastError();
    
    
    		private void button2_Click(object sender, System.EventArgs e)
    		{
      int SOL_IRLMP = 0x00FF;
      int IRLMP_IRLPT_MODE = 0x00000015;
      Socket s = new Socket(AddressFamily.Irda, SocketType.Stream, ProtocolType.IP);
      int ret = setsockopt((int)s.Handle, SOL_IRLMP, IRLMP_IRLPT_MODE, new byte[]{1}, 1);
      if (ret != 0)
      {
        int err = WSAGetLastError();
      }
    		}
    ret -> -1 a WSAGetLastError mi vyhodi MissingMethodException presto, ze by tahle metoda podle msdn ve winsock byt mela...
    Odpovídat lze po přihlášení

  12. #12
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    Myslim, ze ta vyjimka se tyka nalezeni funkce WSAGetLastError.

    Zkuste primo GetLastError


    [DllImport("winsock.dll", SetLastError=true]
    public static extern int setsockopt(int s, int level, int optname, byte[] optval, int optlen);


    a kod chyby ziskate volanim

    Marshal.GetLastWin32Error()
    Odpovídat lze po přihlášení



  13. #13
    Občasný diskutér
    Registrace
    Jun 2005
    Příspěvků
    61

    jasne, mate pravdu - MissingMethodEx je kvuli nenalezeni WSAGetLastError ve winsock (asi jsem to napsal v predchozim prispevku nesrozumitelne)...

    Zkousel jsem i DllImport("winsock.dll", EntryPoint="GetLastError"), ale vysledek stejny - MissingMethodException. Marshall.GetLastWin32Error() vraci 0.
    Odpovídat lze po přihlášení

  14. #14
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    A mate opravdu nastaven SetLastError na true?
    Odpovídat lze po přihlášení

  15. #15
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    A GetLastError je samozrejme v coredll.dll
    Odpovídat lze po přihlášení

Strana 1 z 2 12 PosledníPoslední

Podobná témata

  1. Strategie pres IRda
    Od kony_ce4you v sekci Hry pro Pocket PC
    Reakcí: 12
    Poslední příspěvek: 10-09-2007, 17:59
  2. tisk pres IR
    Od Barbados v sekci Acer
    Reakcí: 3
    Poslední příspěvek: 01-11-2005, 13:20
  3. MDA a tisk pres IRDA nebo jinak ...
    Od sevens v sekci Zbývající PPC
    Reakcí: 8
    Poslední příspěvek: 02-10-2005, 20:43