Es un chip FT2232D, y el LED está conectado a BDBUS6.¿Cómo flasheo un LED, usando libftdi v0.18?
La biblioteca está menos documentada de lo que me gustaría (mejor que la propia biblioteca de FTDI, que ni siquiera funciona en núcleos modernos), el único código de ejemplo que encuentro es que usa una función obsoleta (lo intenté, parece que no funciona), y estoy absolutamente perplejo.
Cuanto más intento con esto, más difícil me parece. No estoy buscando a alguien que haga mi tarea por mí, solo necesito un empujón en la dirección correcta. Cualquier ayuda apreciada (incluso especulativa).
Actualización: He estado intentando esto, aunque ftdi_enable_bitbang() está en desuso. El siguiente código se compila, se ejecuta sin desbordamiento, pero no parpadea. Los esquemas del dispositivo en cuestión están disponibles en http://www.semtech.com/images/datasheet/sx1211ska_v1_std.pdf, página 23. BDBUS6 y BDBUS7 están conectados a los LED.
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <ftdi.h>
#define FTDI_VID 0x0403
#define FTDI_PID 0x6010
static struct ftdi_context ftdic_context;
int main(void) {
int ret;
unsigned int i;
unsigned char c = 0;
// Initialize bitbang.
// ret = ft2232_bb_init();
ftdi_usb_open(&ftdic_context, FTDI_VID, FTDI_PID);
ftdi_set_interface(&ftdic_context, INTERFACE_B);
ftdi_enable_bitbang(&ftdic_context, 0xb0);
// Trying to blink some lights.
printf("\nNow let's try to blinkenlights...\n");
for (i = 0; i < 20; i++) {
c ^= 0x80;
ftdi_write_data(&ftdic_context, &c, 1);
sleep(1);
}
return EXIT_SUCCESS;
}
posible duplicado de [Tengo problemas para encontrar el código de ejemplo para el modo mpsse (SPI) de libftdi.] (Http: // stackoverflo w.com/questions/3527464/im-having-trouble-finding-example-code-for-libftdis-mpsse-spi-mode) –
No es un duplicado, pero está relacionado con el mismo proyecto de software mío. –