www.dedoshop.com
Risultati da 1 a 7 di 7
Like Tree4Likes
  • 3 Post By Stryp
  • 1 Post By lapht

Discussione: Libxenon: giochiamo con l'FTDI!

  1. #1
    Stryp
    Guest

    Libxenon: giochiamo con l'FTDI!

    Tuxuser, admin di Lbixenon.org pare si stia divertendo con l'FTDI usato dal team squirt per poter controllare l'Xbox in remoto ... e non solo!

    Codice:
    /*  bitbang_cbus.c
    
        Example to use CBUS bitbang mode of newer chipsets.
        You must enable CBUS bitbang mode in the EEPROM first.
    
        Thanks to Steve Brown <sbrown@ewol.com> for the
        the information how to do it.
    
        This program is distributed under the GPL, version 2
    
    
    ##############################################################################
    
    /!\	IMPORTANT: FTDI needs to be run in 3,3V selfpowered-Mode	/!\
    	
    	Enable I/O Mode for CB0/CB1 in FTDI's EEPROM with FT_PROG
    
    
    	Connecting Xbox360:
    
    	Xbox		Connection		FTDI
    
    	J2B1.1 		-----------		TXD
    	J2B1.2  	----------- 		RXD
    
    	J2B1.5  	--100 Ohm-- 		CB0 
    	J2B1.11		--100 Ohm-- 		CB1	
    	GND   		-----------		GND
    
    /!\	USE THE HARDWARE AND THIS TOOL ON YOUR OWN RISK			/!\
    
    ##############################################################################
    	
    */
    
    
    
    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <ftdi.h>
    
    #define CB0Hi 0xF1
    #define CB1Hi 0xF2
    #define CB2Hi 0xF4
    #define CB3Hi 0xF8
    
    #define CBxLo 0xF0
    #define CBxHi 0xFF
    
    struct ftdi_context ftdic;
    int delay = 120000;
    
    int shutdown(void)
    {	
    	printf("Shutting down...\n");
    	ftdi_set_bitmode(&ftdic, CBxLo, BITMODE_CBUS);
    	return 0;
    }
    
    int poweron(void)
    {
    	printf("Powering on...\n");
    	ftdi_set_bitmode(&ftdic, CBxLo, BITMODE_CBUS);
    	usleep(delay);
    	ftdi_set_bitmode(&ftdic, CB1Hi, BITMODE_CBUS);
    	return 0;
    }
    
    int eject(void)
    {
    	printf("I am not workin for now...\n");
    	ftdi_set_bitmode(&ftdic, CBxLo, BITMODE_CBUS);
    	return 0;
    }
    
    int main(void)
    {
        int f;
        unsigned char input[10];
    
        if (ftdi_init(&ftdic) < 0)
        {
            fprintf(stderr, "ftdi_init failed\n");
            return EXIT_FAILURE;
        }
    
        f = ftdi_usb_open(&ftdic, 0x0403, 0x6001);
        if (f < 0 && f != -5)
        {
            fprintf(stderr, "unable to open ftdi device: %d (%s)\n", f, ftdi_get_error_string(&ftdic));
            exit(-1);
        }
        printf("* Xbox360 FTDI RemoteControl *\n------------------------------\n\n");
        printf("Connected to FTDI successfully!\n");
        printf("Valid commands are: (p)oweron, (s)hutdown, (e)ject and (q)uit!\n");
        while (1)
        {
            fgets(input, sizeof(input) - 1, stdin);
            if (input[0] == 'q') break;
            switch (input[0])
    	{
    		case 'p':
    		     f = poweron();
    		     sleep(1);
    		     ftdi_disable_bitbang(&ftdic);
    		     break;
    		case 's':
    		     f = shutdown();
    		     sleep(1);
    		     ftdi_disable_bitbang(&ftdic);
    		     break;
    		case 'e':
    		     f = eject();
    		     ftdi_disable_bitbang(&ftdic);
    		     break;
    	}
    
            if (f < 0)
            {
                fprintf(stderr, "set_bitmode failed, error %d (%s)\n", f, ftdi_get_error_string(&ftdic));
                exit(-1);
            }
        }
    
        ftdi_usb_close(&ftdic);
        ftdi_deinit(&ftdic);
    }
    Molto interessante la cosa

    Fonte: [url=http://libxenon.org/index.php?topic=132.0]LibXenon.org - Index[/url]
    Ultima modifica di Stryp; 09-08-12 alle 17: 49
    lapht, ilario and nexus like this.

  2. #2
    Vip Member L'avatar di lapht
    Data Registrazione
    Oct 2011
    Localitā
    Como
    Messaggi
    1,208
    Peccato che per ora si possa solo accendere, spegnere e far uscire il carrello, quasi quasi lo provo..
    Stryp likes this.

  3. #3
    Stryp
    Guest
    come inizio non č male ...
    se provi facci sapere ...

  4. #4
    Vip Member L'avatar di lapht
    Data Registrazione
    Oct 2011
    Localitā
    Como
    Messaggi
    1,208
    Solo che devo acquistare un FTDI xD

  5. #5
    Stryp
    Guest
    Io giā lo ho .. ma fā 40° in laboratorio XD

  6. #6
    Vip Member L'avatar di lapht
    Data Registrazione
    Oct 2011
    Localitā
    Como
    Messaggi
    1,208
    ahah nel caso sai indicarmi doven acquistarlo e a quanto?
    (se non lo compro posso editare il codice aggiungendo funzioni e tu puoi fare da beta tester )

    EDIT:
    Stavo dando un occhio alle 3 funzioni:
    Codice:
    int shutdown(void)
    {	
    	printf("Shutting down...\n");
    	ftdi_set_bitmode(&ftdic, CBxLo, BITMODE_CBUS);
    	return 0;
    }
    
    int poweron(void)
    {
    	printf("Powering on...\n");
    	ftdi_set_bitmode(&ftdic, CBxLo, BITMODE_CBUS);
    	usleep(delay);
    	ftdi_set_bitmode(&ftdic, CB1Hi, BITMODE_CBUS);
    	return 0;
    }
    
    int eject(void)
    {
    	printf("I am not workin for now...\n");
    	ftdi_set_bitmode(&ftdic, CBxLo, BITMODE_CBUS);
    	return 0;
    }
    e ho notato una cosa.. perchč il comando eject e power off sono uguali? Richiama la stessa funzione passandogli lo stesso valore..
    Ultima modifica di lapht; 09-08-12 alle 18: 26

  7. #7
    Stryp
    Guest
    NON APRIRE


    Io ho quello proprio della Squirt, se lo vuoi prendere dimmi che te lo fo prendere a meno
    sentiamoci in PM e facciamo qualcosa vā .. cosi ammazziamo la noia XD
    Ultima modifica di Stryp; 09-08-12 alle 18: 28

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  

realizzazione siti internet ed e-commerce mugello