/*
- * carl9170user - userspace testing utility for ar9170 devices
+ * carlu - userspace testing utility for ar9170 devices
*
* Various tests
*
- * Copyright 2009, 2010 Christian Lamparter <chunkeey@googlemail.com>
+ * Copyright 2009-2011 Christian Lamparter <chunkeey@googlemail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include "debug.h"
#include "frame.h"
#include "usb.h"
+#include "cmd.h"
void debug_test(void)
{
dbg("received tx feedback (%d).\n", n);
for (i = 0; i < n; i++) {
- dbg("cookie:%x success:%d rix:%d tries:%d queue:%d\n",
- cmd->tx_status[i].cookie,
- cmd->tx_status[i].success,
- cmd->tx_status[i].rix,
- cmd->tx_status[i].tries,
- cmd->tx_status[i].queue);
+ dbg("cookie:%x info:%x\n",
+ cmd->_tx_status[i].cookie,
+ cmd->_tx_status[i].info);
}
return -1;
ar->cmd_cb = NULL;
ar->tx_cb = NULL;
}
+
+int carlu_gpio_test(struct carlu *ar)
+{
+ uint32_t gpio;
+
+#define CHK(cmd) \
+ do { \
+ int __err; \
+ if ((__err = cmd)) \
+ return __err; \
+ } while (0)
+
+ CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio));
+ info("GPIO state:%x\n", gpio);
+
+ /* turn both LEDs on */
+ CHK(carlu_cmd_write_mem(ar, AR9170_GPIO_REG_PORT_DATA,
+ AR9170_GPIO_PORT_LED_0 | AR9170_GPIO_PORT_LED_1));
+
+ SDL_Delay(700);
+
+ CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio));
+ info("GPIO state:%x\n", gpio);
+
+ /* turn LEDs off everything */
+ CHK(carlu_cmd_write_mem(ar, AR9170_GPIO_REG_PORT_DATA, 0));
+
+ CHK(carlu_cmd_read_mem(ar, AR9170_GPIO_REG_PORT_DATA, &gpio));
+ info("GPIO state:%x\n", gpio);
+}
+
+int carlu_random_test(struct carlu *ar)
+{
+ uint32_t buf[4096];
+ int err, i;
+
+ err = carlu_cmd_mem_watch(ar, AR9170_RAND_REG_NUM, sizeof(buf), buf);
+ if (err)
+ return err;
+
+ for (i = 0; i < ARRAY_SIZE(buf); i++)
+ info("%.2x %.2x ", buf[i] & 0xff, buf[i] >> 8);
+
+ info("\n");
+}