diff options
Diffstat (limited to 'users/mtdjr/solenoid.h')
| -rw-r--r-- | users/mtdjr/solenoid.h | 98 | 
1 files changed, 0 insertions, 98 deletions
| diff --git a/users/mtdjr/solenoid.h b/users/mtdjr/solenoid.h deleted file mode 100644 index 4ef329b4ad..0000000000 --- a/users/mtdjr/solenoid.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef SOLENOID_H -#define SOLENOID_H - -#include <timer.h> - - -#define SOLENOID_DEFAULT_DWELL 12 -#define SOLENOID_MAX_DWELL 100 -#define SOLENOID_MIN_DWELL 4 -#ifndef SOLENOID_ACTIVE -  #define SOLENOID_ACTIVE false -#endif -#ifndef SOLENOID_PIN -  #define SOLENOID_PIN F6 -#endif - - -bool solenoid_enabled = SOLENOID_ACTIVE; -bool solenoid_on = false; -bool solenoid_buzz = false; -bool solenoid_buzzing = false; -uint16_t solenoid_start = 0; -uint8_t solenoid_dwell = SOLENOID_DEFAULT_DWELL; - - -void solenoid_buzz_on(void) { -  solenoid_buzz = true; -} - -void solenoid_buzz_off(void) { -  solenoid_buzz = false; -} - -void solenoid_dwell_minus(void) { -  if (solenoid_dwell > 0) solenoid_dwell--; -} - -void solenoid_dwell_plus(void) { -  if (solenoid_dwell < SOLENOID_MAX_DWELL) solenoid_dwell++; -} - -void solenoid_toggle(void) { -  solenoid_enabled = !solenoid_enabled; -} - -void solenoid_stop(void) { -  writePinLow(SOLENOID_PIN); -  solenoid_on = false; -  solenoid_buzzing = false; -} - -void solenoid_fire(void) { -  if (!solenoid_enabled) return; - -  if (!solenoid_buzz && solenoid_on) return; -  if (solenoid_buzz && solenoid_buzzing) return; - -  solenoid_on = true; -  solenoid_buzzing = true; -  solenoid_start = timer_read(); -  writePinHigh(SOLENOID_PIN); -} - -void solenoid_check(void) { -  uint16_t elapsed = 0; - -  if (!solenoid_on) return; - -  elapsed = timer_elapsed(solenoid_start); - -  //Check if it's time to finish this solenoid click cycle -  if (elapsed > solenoid_dwell) { -    solenoid_stop(); -    return; -  } - -  //Check whether to buzz the solenoid on and off -  if (solenoid_buzz) { -    if (elapsed / SOLENOID_MIN_DWELL % 2 == 0){ -      if (!solenoid_buzzing) { -        solenoid_buzzing = true; -        writePinHigh(SOLENOID_PIN); -      } -    } -    else { -      if (solenoid_buzzing) { -        solenoid_buzzing = false; -        writePinLow(SOLENOID_PIN); -      } -    } -  } -} - -void solenoid_setup(void) { -  setPinOutput(SOLENOID_PIN); -} - -#endif | 
