Ejemplo n.º 1
0
static void _eth_spi_configure() {
  DBG(D_ETH, D_DEBUG, "ethspi spigen init\n");
  SPI_DEV_GEN_init(
      &_enc28j60_spi_dev,
      SPIDEV_CONFIG_CPHA_1E |
      SPIDEV_CONFIG_CPOL_LO |
      SPIDEV_CONFIG_FBIT_MSB |
      SPIDEV_CONFIG_SPEED_9M,
      _SPI_BUS(1),
      SPI_ETH_GPIO_PORT, SPI_ETH_GPIO_PIN);
  DBG(D_ETH, D_DEBUG, "ethspi spigen open\n");
  SPI_DEV_GEN_open(&_enc28j60_spi_dev);
  DBG(D_ETH, D_DEBUG, "ethspi enc28j60 init\n");
  enc28j60Init(mac_address, EIE_PKTIE | EIE_TXIE | EIE_RXERIE | EIE_TXERIE);

  DBG(D_ETH, D_DEBUG, "ethspi enc28j60 init done, chip rev %02x\n", enc28j60getrev());
  DBG(D_ETH, D_DEBUG, "ethspi mac readback: %02x:%02x:%02x:%02x:%02x:%02x\n",
      enc28j60Read(MAADR5), enc28j60Read(MAADR4), enc28j60Read(MAADR3),
      enc28j60Read(MAADR2), enc28j60Read(MAADR1), enc28j60Read(MAADR0)
      );

  SYS_hardsleep_ms(20);
  enc28j60PhyWrite(PHLCON,0x476);
  SYS_hardsleep_ms(20);

  // init eth/ip layer
  init_ip_arp_udp_tcp(mac_address, ip_address, 80);

  DBG(D_ETH, D_INFO, "ethspi setup finished, ip %i.%i.%i.%i @ mac %02x.%02x.%02x.%02x.%02x.%02x\n",
      ip_address[0], ip_address[1], ip_address[2], ip_address[3], mac_address[0], mac_address[1], mac_address[2], mac_address[3], mac_address[4], mac_address[5]);
}
Ejemplo n.º 2
0
static int f_usb_keyboard_test(void) {
  print("This will generate a lot of keypresses.\n");
  print("Please focus some window safe for garbled input.\n");
  print("Pressing keys in...\n");
  int i;
  for (i = 7; i > 0; i--) {
    print("  %i", i);
    SYS_hardsleep_ms(1000);
  }
  print("\n");
  enum kb_hid_code code = 0;
  for (code = 0; code <= 0xbc; code++) {
    const keymap *km = USB_ARC_get_keymap(code);
    if (km != NULL && km->keys != NULL) {

      char hex_num[3];
      sprint(hex_num, "%02x", code);
      usb_kb_type_char(hex_num[0]);
      usb_kb_type_char(hex_num[1]);
      usb_kb_type_char(' ');
      for (i = 0; i < strlen(km->name); i++) {
        usb_kb_type_char(km->name[i]);
      }
      usb_kb_type_char(' ');
      usb_kb_type(KB_MOD_NONE, code);
      usb_kb_type_char(' ');
      usb_kb_type(KB_MOD_NONE, KC_ENTER);
    }

  }
  usb_kb_type_char('O');
  usb_kb_type_char('K');
  usb_kb_type(KB_MOD_NONE, KC_ENTER);
  return 0;
}