Load limit duty cycle w/ lockout
authorJoseph Coffland <joseph@cauldrondevelopment.com>
Fri, 16 Feb 2018 04:30:49 +0000 (20:30 -0800)
committerJoseph Coffland <joseph@cauldrondevelopment.com>
Fri, 16 Feb 2018 04:30:49 +0000 (20:30 -0800)
src/pwr/main.c

index df02d167bfbdf759cacd13029234d40067ff602d..ea4d6790b8a061f623b93a2b8697203a6fd2be24 100644 (file)
@@ -180,7 +180,7 @@ static void measure_nominal_voltage() {
 static void check_load(load_t *load) {
   bool overtemp = CURRENT_OVERTEMP * 100 < regs[load->reg];
   if (overtemp && !load->lockout) {
-    load->lockout = 32;
+    load->lockout = 16;
     if (load->limit < LOAD_LIMIT_TICKS) load->limit++;
   }
 
@@ -189,7 +189,7 @@ static void check_load(load_t *load) {
 
 
 void limit_load(load_t *load) {
-  if (load->count < load->limit) {
+  if (load->count < load->limit || load->lockout) {
     IO_PORT_CLR(load->pin); // Lo
     IO_DDR_SET(load->pin);  // Output