summaryrefslogtreecommitdiff
path: root/app/src/main.c
diff options
context:
space:
mode:
authorMega Mind <68985133+megamind4089@users.noreply.github.com>2020-10-06 15:52:21 +0800
committerMega Mind <68985133+megamind4089@users.noreply.github.com>2020-10-10 08:11:46 +0800
commit4d81b10ba7047a4dbd63cfe33ac879ecf437e108 (patch)
treece5a5dcded5c41f7dc8b2ed6d3ac0088bc843e6e /app/src/main.c
parente53320a687a8b402fac3ed972a776993495a2f9a (diff)
Added driver to control the external power output
This PR adds support to control the external power output from controllers like nice!nano, nRFMicro etc I have implemented based on my understanding of Pete suggestion on this feature. Testing done: Tested by enabling and disabling the ext_power from application and verified Verified the application does not crash with boards that does not have ext_power support Note: I did not test this in nice!nano since I don't have the boards. Will get help from others once the behavior PR is up Next Steps: Create a behavior PR to control enable/disable ext_power
Diffstat (limited to 'app/src/main.c')
-rw-r--r--app/src/main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/app/src/main.c b/app/src/main.c
index dca923e..0551356 100644
--- a/app/src/main.c
+++ b/app/src/main.c
@@ -15,16 +15,25 @@ LOG_MODULE_REGISTER(zmk, CONFIG_ZMK_LOG_LEVEL);
#include <zmk/matrix.h>
#include <zmk/kscan.h>
#include <zmk/display.h>
+#include <drivers/ext_power.h>
#define ZMK_KSCAN_DEV DT_LABEL(ZMK_MATRIX_NODE_ID)
void main(void) {
+ struct device *ext_power;
LOG_INF("Welcome to ZMK!\n");
if (zmk_kscan_init(ZMK_KSCAN_DEV) != 0) {
return;
}
+ // Enable the external VCC output
+ ext_power = device_get_binding("EXT_POWER");
+ if (ext_power != NULL) {
+ const struct ext_power_api *ext_power_api = ext_power->driver_api;
+ ext_power_api->enable(ext_power);
+ }
+
#ifdef CONFIG_ZMK_DISPLAY
zmk_display_init();