djinn_usbpd.c (781B)
1 // Copyright 2018-2022 Nick Brassel (@tzarc) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 #include "djinn.h" 4 5 const char* usbpd_str(usbpd_allowance_t allowance) { 6 switch (allowance) { 7 default: 8 case USBPD_500MA: 9 return "500mA"; 10 case USBPD_1500MA: 11 return "1500mA"; 12 case USBPD_3000MA: 13 return "3000mA"; 14 } 15 } 16 17 void usbpd_update(void) { 18 static uint32_t last_read = 0; 19 if (timer_elapsed32(last_read) > 250) { 20 usbpd_allowance_t allowance = usbpd_get_allowance(); 21 if (kb_state.current_setting != allowance) { 22 dprintf("Transitioning UCPD1 %s -> %s\n", usbpd_str(kb_state.current_setting), usbpd_str(allowance)); 23 kb_state.current_setting = allowance; 24 } 25 } 26 }