ESPHome 2025.5.0
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 {
8namespace uln2003 {
9
15
16class ULN2003 : public stepper::Stepper, public Component {
17 public:
18 void set_pin_a(GPIOPin *pin_a) { pin_a_ = pin_a; }
19 void set_pin_b(GPIOPin *pin_b) { pin_b_ = pin_b; }
20 void set_pin_c(GPIOPin *pin_c) { pin_c_ = pin_c; }
21 void set_pin_d(GPIOPin *pin_d) { pin_d_ = pin_d; }
22
23 void setup() override;
24 void loop() override;
25 void dump_config() override;
26 float get_setup_priority() const override { return setup_priority::HARDWARE; }
27 void set_sleep_when_done(bool sleep_when_done) { this->sleep_when_done_ = sleep_when_done; }
28 void set_step_mode(ULN2003StepMode step_mode) { this->step_mode_ = step_mode; }
29
30 protected:
31 void write_step_(int32_t step);
32
33 bool sleep_when_done_{false};
40 int32_t current_uln_pos_{0};
41};
42
43} // namespace uln2003
44} // namespace esphome
Helper class to request loop() to be called as fast as possible.
Definition helpers.h:630
void setup() override
Definition uln2003.cpp:9
float get_setup_priority() const override
Definition uln2003.h:26
ULN2003StepMode step_mode_
Definition uln2003.h:38
void loop() override
Definition uln2003.cpp:16
void set_pin_a(GPIOPin *pin_a)
Definition uln2003.h:18
void write_step_(int32_t step)
Definition uln2003.cpp:60
void set_pin_c(GPIOPin *pin_c)
Definition uln2003.h:20
void set_sleep_when_done(bool sleep_when_done)
Definition uln2003.h:27
void set_pin_b(GPIOPin *pin_b)
Definition uln2003.h:19
HighFrequencyLoopRequester high_freq_
Definition uln2003.h:39
void set_step_mode(ULN2003StepMode step_mode)
Definition uln2003.h:28
void set_pin_d(GPIOPin *pin_d)
Definition uln2003.h:21
void dump_config() override
Definition uln2003.cpp:36
const float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
Definition component.cpp:18
@ ULN2003_STEP_MODE_HALF_STEP
Definition uln2003.h:12
@ ULN2003_STEP_MODE_FULL_STEP
Definition uln2003.h:11
@ ULN2003_STEP_MODE_WAVE_DRIVE
Definition uln2003.h:13
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7