diff options
author | Cody McGinnis <brainwart@gmail.com> | 2020-08-28 16:21:31 -0400 |
---|---|---|
committer | Cody McGinnis <brainwart@gmail.com> | 2020-08-28 16:21:31 -0400 |
commit | f02fa01e9a9af1a1637a387f3e8044a791b47ced (patch) | |
tree | 8100b774cdcaa5dce866573c470d0f76703d476e /app/src | |
parent | 6cd46b95045a71570af7923f85449f223d976bdf (diff) |
fix(test): change the layout
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/kscan_mock.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/app/src/kscan_mock.c b/app/src/kscan_mock.c index b0ba90b..1bd8a74 100644 --- a/app/src/kscan_mock.c +++ b/app/src/kscan_mock.c @@ -6,13 +6,14 @@ #define DT_DRV_COMPAT zmk_kscan_mock +#include <stdlib.h> #include <device.h> #include <drivers/kscan.h> #include <logging/log.h> LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); -#include <zmk/kscan-mock.h> +#include <dt-bindings/zmk/kscan-mock.h> struct kscan_mock_data { @@ -50,6 +51,7 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) struct kscan_mock_config_##n \ { \ u32_t events[DT_INST_PROP_LEN(n, events)]; \ + bool exit_after; \ }; \ static void kscan_mock_schedule_next_event_##n(struct device *dev) \ { \ @@ -60,6 +62,9 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) u32_t ev = cfg->events[data->event_index]; \ LOG_DBG("delaying next keypress: %d", ZMK_MOCK_MSEC(ev)); \ k_delayed_work_submit(&data->work, K_MSEC(ZMK_MOCK_MSEC(ev))); \ + } else if (cfg->exit_after) { \ + LOG_DBG("Exiting"); \ + exit(0); \ } \ } \ static void kscan_mock_work_handler_##n(struct k_work *work) \ @@ -93,11 +98,12 @@ static int kscan_mock_configure(struct device *dev, kscan_callback_t callback) }; \ static struct kscan_mock_data kscan_mock_data_##n; \ static const struct kscan_mock_config_##n kscan_mock_config_##n = { \ - .events = DT_INST_PROP(n, events)}; \ + .events = DT_INST_PROP(n, events), \ + .exit_after = DT_INST_PROP(n, exit_after) }; \ DEVICE_AND_API_INIT(kscan_mock_##n, DT_INST_LABEL(n), kscan_mock_init_##n, \ &kscan_mock_data_##n, \ &kscan_mock_config_##n, \ APPLICATION, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT, \ &mock_driver_api_##n); -DT_INST_FOREACH_STATUS_OKAY(MOCK_INST_INIT)
\ No newline at end of file +DT_INST_FOREACH_STATUS_OKAY(MOCK_INST_INIT) |