#include <LPC17xx.h>
#include <lpcTIM.h>
#include <spi_drv.h>
+#include <pxmc.h>
#include <ul_log.h>
#include <ul_logreg.h>
return 0;
}
+int cmd_do_testtumblefw(cmd_io_t *cmd_io, const struct cmd_des *des, char *param[])
+{
+ char *ps = param[1];
+ long pwm_d;
+ long pwm_q;
+ uint32_t ptofs;
+ uint32_t irc;
+ uint32_t ptirc;
+ uint32_t ptreci;
+ uint64_t ull;
+ pxmc_state_t *mcs = pxmc_main_list.pxml_arr[0];
+
+ fpga_tumbl_dmem[0] = 0;
+
+ si_skspace(&ps);
+ if (si_long(&ps, &pwm_d, 0) < 0)
+ return -CMDERR_BADPAR;
+
+ si_skspace(&ps);
+ if (si_ulong(&ps, &pwm_q, 0) < 0)
+ return -CMDERR_BADPAR;
+
+ irc = fpga_irc[0]->count;
+ ptofs = (int16_t)(mcs->pxms_ptofs - irc) + irc;
+
+ ptirc = mcs->pxms_ptirc;
+ ull = (1ULL << 32) * mcs->pxms_ptper;
+ ptreci = (ull + ptirc / 2) / ptirc;
+
+ fpga_tumbl_dmem[0] = 0;
+ fpga_tumbl_dmem[1] = pwm_d;
+ fpga_tumbl_dmem[2] = pwm_q;
+
+ fpga_tumbl_dmem[6] = ptirc;
+ fpga_tumbl_dmem[7] = ptreci;
+ fpga_tumbl_dmem[8] = ptofs;
+
+ fpga_tumbl_dmem[0] = 1;
+
+ printf("spd %ld\n",mcs->pxms_as);
+
+ return 0;
+}
+
+
cmd_des_t const cmd_des_test_memusage = {0, 0,
"memusage", "report memory usage", cmd_do_test_memusage,
{
cmd_do_testfncapprox, {(void *)0}
};
+cmd_des_t const cmd_des_testtumblefw = {0, 0,
+ "testtumblefw", "test Tumble coprocesor firmware",
+ cmd_do_testtumblefw, {(void *)0}
+ };
+
cmd_des_t const *const cmd_appl_tests[] =
{
&cmd_des_test_memusage,
&cmd_des_testlxpwrrx,
&cmd_des_testlxpwrstat,
&cmd_des_testfncapprox,
+ &cmd_des_testtumblefw,
NULL
};