Winlirc (IR transmitter + compilen) probs..

Pagina: 1
Acties:

  • N3vS
  • Registratie: Augustus 2001
  • Laatst online: 03-05 19:40
Ik heb een IR receiver gemaakt die perfect werkt met Winlirc.
Nu heb ik ook een zwakke IR transmitter gemaakt, maar die transmit niet dezelfde code als dat ik met mijn receiver heb opgevangen.

De onderstaande code is een voorbeeld wat in mijn config file komt te staan:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
begin remote

  name  tijmenfinal
  bits           14
  flags SPACE_ENC
  eps            25
  aeps          100

  header        300  2894
  one           300  1691
  zero          300  1092
  ptrail        300
  gap          20647
  toggle_bit      0


      begin codes
          rec1                     0x000000000000264E
          rec2                     0x000000000000264E
          zoom                     0x000000000000164D
          zoomout                  0x000000000000364D
      end codes

end remote


Nu komt er er uit mijn remote de volgende code (exclusief de virtual pulse en 1/5 van de code)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
space 504016
space 2891
space 1694
space 1099
space 1098
space 1694
space 1699
space 1096
space 1098
space 1697
space 1097
space 1099
space 1697
space 1696
space 1696
space 1097


Als ik nu mijn eigen IR transmitter gebruik krijg ik zoiets als dit binnen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
space 464416
space 2781
space 1894
space 1399
space 1398
space 1894
space 1399
space 1396
space 1898
space 1897
space 1397
space 1399
space 1897
space 1896
space 1896
space 1397


Nu zie je dat de Header net mis zit en de one en de zero ook steeds net wat mis zitten. Moet ik nu de virtual pulse (onafhankelijk bij de header/one en de zero, zo aanpassen dat de code goed wordt uitgepoept?

Verder ben ik een C++ noob, terwijl ik toch graag wat wil compilen, dus hier ook een klein vraagje over:

Volgens de readme van winlirc:

transmit.cpp is the source code for transmit.exe
It uses only windows API functions so you should be able to
compile it with any win32 C++ compiler. Just be should to include
the appropriate header file (#include <windows.h>).

To compile transmit.exe with MS VC++, create a "simple win32 application"
then use this code as the main program.


Dus weet iemand wat ik gewoon boven en onder deze .cpp moet gooien om een werkende win32 applicatie te krijgen. (ik hoef geen windows app, alleen een dos boxje, het moet gewoon uitvoeren wat ik wil).

transmit.cpp
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    LRESULT copyDataResult;
    HWND pOtherWnd = FindWindow(NULL, "WinLirc");
    if (pOtherWnd)
    {
        COPYDATASTRUCT cpd;
        cpd.dwData = 0;
        cpd.cbData = strlen(lpCmdLine);
        cpd.lpData = (void*)lpCmdLine;
        copyDataResult = SendMessage(pOtherWnd,WM_COPYDATA,(WPARAM)hInstance,(LPARAM)&cpd);
        // copyDataResult has value returned by other app
    }
    else
    {
        return 1;
    }
    return 0;
}


Als ik met Visual Studio 2003 een win32 console app aanmaak krijg ik dit:

code:
1
2
3
4
5
6
7
8
9
10
// test.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
//#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}



Kan ik nu de code uit transmitt.cpp gewoon ipv int_main tot einde zetten? Ofzoiets...

ps. Hopelijk staat dit op het juiste subforum, want IR hoort het meeste bij electronica. Naja als het fout staat verplaatst mij graag :)

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 04-04 15:52

Sprite_tm

Semi-Chinees

Nope, ik zie voor 99% code hier staan, en je vragen lijken voor het grootste gedeelte met code te maken hebben. Ik schop 'm naar P&W toe. :)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog