carlu: move from private carl9170_tx_status to public _carl9170_tx_status
[carl9170fw.git] / tools / carlu / src / test.c
index 30b3fb336432bfe5e9f6aea693b1c2102617c900..148f89a0540556d32c4549db065da251f5121246 100644 (file)
@@ -37,6 +37,7 @@
 #include "debug.h"
 #include "frame.h"
 #include "usb.h"
+#include "cmd.h"
 
 void debug_test(void)
 {
@@ -82,12 +83,9 @@ static int carlu_loopback_cmd(struct carlu *ar __unused,
                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;
 
@@ -192,3 +190,33 @@ void carlu_loopback_test(struct carlu *ar, const unsigned int total_runs,
        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);
+}