summaryrefslogtreecommitdiff
path: root/fw/fe310/phone/test.c
diff options
context:
space:
mode:
Diffstat (limited to 'fw/fe310/phone/test.c')
-rw-r--r--fw/fe310/phone/test.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/fw/fe310/phone/test.c b/fw/fe310/phone/test.c
new file mode 100644
index 0000000..df3871e
--- /dev/null
+++ b/fw/fe310/phone/test.c
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <eos.h>
+
+#include <soc/i2c.h>
+#include <dev/bq25895.h>
+#include <eve/eve.h>
+#include <eve/eve_kbd.h>
+#include <eve/eve_font.h>
+
+#include <eve/screen/window.h>
+#include <eve/screen/page.h>
+#include <eve/screen/form.h>
+
+#include "app/app.h"
+#include "app/status.h"
+
+#include "test.h"
+
+static int reg_read(uint8_t reg, uint8_t *data) {
+ return eos_i2c_read8(BQ25895_ADDR, reg, data, 1);
+}
+
+static int reg_write(uint8_t reg, uint8_t data) {
+ return eos_i2c_write8(BQ25895_ADDR, reg, &data, 1);
+}
+
+int test_uievt(EVEPage *page, uint16_t evt, void *param) {
+ int ret = 0;
+
+ switch (evt) {
+ case EVE_UIEVT_GEST_TOUCH: {
+ uint8_t data = 0;
+ int rv, i;
+
+ printf("PAGE TOUCH\n");
+ printf("BQ25895:\n");
+ for (i=0; i<0x15; i++) {
+ rv = reg_read(i, &data);
+ if (!rv) printf("REG%02x: %02x\n", i, data);
+ }
+ break;
+ }
+
+ default: {
+ ret = eve_form_uievt(page, evt, param);
+ break;
+ }
+ }
+
+ return ret;
+}
+
+int test_app(EVEWindow *window, EVEViewStack *stack) {
+ EVEFormSpec spec[] = {
+ APP_SPACERW(1,1),
+ };
+ EVEPage *page = eve_form_create(window, stack, spec, APP_SPEC_SIZE(spec), test_uievt, test_close);
+ if (page == NULL) return EVE_ERR_NOMEM;
+ app_status_set_msg("TEST!");
+
+ return EVE_OK;
+}
+
+void test_close(EVEPage *page) {
+ eve_form_destroy(page);
+}