Thunderbots Project
Loading...
Searching...
No Matches
chicker.h
1#pragma once
2
3#include <Arduino.h>
4#include <pins.h>
5
9class Chicker
10{
11 public:
15 Chicker();
20 static void kick(uint32_t kick_pulse_width);
21 static void chip(uint32_t chip_pulse_width);
26 static void autokick(uint32_t kick_pulse_width);
27 static void autochip(uint32_t chip_pulse_width);
34 static bool getBreakBeamTripped();
35
36 private:
42 static void oneShotPulse(int duration, int pin);
46 static void stopPulse();
47 static void offCooldown();
48
49 static hw_timer_t* pulse_timer;
50 static hw_timer_t* cooldown_timer;
51
52 static volatile bool on_cooldown;
53 static constexpr int COOLDOWN_MICROSECONDS = 3 * MICROSECONDS_IN_SECOND;
54};
Definition chicker.h:10
Chicker()
Definition chicker.cpp:7
static void kick(uint32_t kick_pulse_width)
Definition chicker.cpp:20
static void autokick(uint32_t kick_pulse_width)
Definition chicker.cpp:30
static bool getBreakBeamTripped()
Definition chicker.cpp:75