aboutsummaryrefslogtreecommitdiff
path: root/unittests/sf0x_test.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2014-12-20 13:54:58 +0100
committerLorenz Meier <lm@inf.ethz.ch>2014-12-20 13:54:58 +0100
commit6e0cf5002914e9045082bdfe1d3acc484a37f7fb (patch)
treedceede05053ad0fb51e641e7e26509b4d1309dee /unittests/sf0x_test.cpp
parent19d5383c56b78132e63ea30ef1625b0aaa4a0dee (diff)
downloadpx4-firmware-6e0cf5002914e9045082bdfe1d3acc484a37f7fb.tar.gz
px4-firmware-6e0cf5002914e9045082bdfe1d3acc484a37f7fb.tar.bz2
px4-firmware-6e0cf5002914e9045082bdfe1d3acc484a37f7fb.zip
Move unittests into a more perceivable directory
Diffstat (limited to 'unittests/sf0x_test.cpp')
-rw-r--r--unittests/sf0x_test.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/unittests/sf0x_test.cpp b/unittests/sf0x_test.cpp
new file mode 100644
index 000000000..82d19fcbe
--- /dev/null
+++ b/unittests/sf0x_test.cpp
@@ -0,0 +1,65 @@
+
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <systemlib/err.h>
+#include <drivers/drv_hrt.h>
+
+#include <drivers/sf0x/sf0x_parser.h>
+
+int main(int argc, char *argv[])
+{
+ warnx("SF0X test started");
+
+ int ret = 0;
+
+ const char LINE_MAX = 20;
+ char _linebuf[LINE_MAX];
+ _linebuf[0] = '\0';
+
+ const char *lines[] = {"0.01\r\n",
+ "0.02\r\n",
+ "0.03\r\n",
+ "0.04\r\n",
+ "0",
+ ".",
+ "0",
+ "5",
+ "\r",
+ "\n",
+ "0",
+ "3\r",
+ "\n"
+ "\r\n",
+ "0.06",
+ "\r\n"
+ };
+
+ enum SF0X_PARSE_STATE state = SF0X_PARSE_STATE0_UNSYNC;
+ float dist_m;
+ char _parserbuf[LINE_MAX];
+ unsigned _parsebuf_index = 0;
+
+ for (unsigned l = 0; l < sizeof(lines) / sizeof(lines[0]); l++) {
+
+ printf("\n%s", _linebuf);
+
+ int parse_ret;
+
+ for (int i = 0; i < strlen(lines[l]); i++) {
+ parse_ret = sf0x_parser(lines[l][i], _parserbuf, &_parsebuf_index, &state, &dist_m);
+
+ if (parse_ret == 0) {
+ printf("\nparsed: %f %s\n", dist_m, (parse_ret == 0) ? "OK" : "");
+ }
+ }
+
+ printf("%s", lines[l]);
+
+ }
+
+ warnx("test finished");
+
+ return ret;
+}