ESPHome 2026.2.3
Loading...
Searching...
No Matches
uln2003.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
6
7namespace esphome::uln2003 {
8
14
15class ULN2003 : public stepper::Stepper, public Component {
16 public:
17 void set_pin_a(GPIOPin *pin_a) { pin_a_ = pin_a; }
18 void set_pin_b(GPIOPin *pin_b) { pin_b_ = pin_b; }
19 void set_pin_c(GPIOPin *pin_c) { pin_c_ = pin_c; }
20 void set_pin_d(GPIOPin *pin_d) { pin_d_ = pin_d; }
21
22 void setup() override;
23 void loop() override;
24 void dump_config() override;
25 float get_setup_priority() const override { return setup_priority::HARDWARE; }
26 void set_sleep_when_done(bool sleep_when_done) { this->sleep_when_done_ = sleep_when_done; }
27 void set_step_mode(ULN2003StepMode step_mode) { this->step_mode_ = step_mode; }
28
29 protected:
30 void write_step_(int32_t step);
31
32 bool sleep_when_done_{false};
39 int32_t current_uln_pos_{0};
40};
41
42} // namespace esphome::uln2003
Helper class to request loop() to be called as fast as possible.
Definition helpers.h:1580
void setup() override
Definition uln2003.cpp:21
float get_setup_priority() const override
Definition uln2003.h:25
ULN2003StepMode step_mode_
Definition uln2003.h:37
void loop() override
Definition uln2003.cpp:28
void set_pin_a(GPIOPin *pin_a)
Definition uln2003.h:17
void write_step_(int32_t step)
Definition uln2003.cpp:59
void set_pin_c(GPIOPin *pin_c)
Definition uln2003.h:19
void set_sleep_when_done(bool sleep_when_done)
Definition uln2003.h:26
void set_pin_b(GPIOPin *pin_b)
Definition uln2003.h:18
HighFrequencyLoopRequester high_freq_
Definition uln2003.h:38
void set_step_mode(ULN2003StepMode step_mode)
Definition uln2003.h:27
void set_pin_d(GPIOPin *pin_d)
Definition uln2003.h:20
void dump_config() override
Definition uln2003.cpp:48
const float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
Definition component.cpp:83
@ ULN2003_STEP_MODE_HALF_STEP
Definition uln2003.h:11
@ ULN2003_STEP_MODE_FULL_STEP
Definition uln2003.h:10
@ ULN2003_STEP_MODE_WAVE_DRIVE
Definition uln2003.h:12